From 7cc42a95266e9994610eea0dc56128c390035f00 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 14 Apr 2024 14:19:59 +0200 Subject: [PATCH 01/76] Decomp `ItemManager::LoadFanfareItem` --- asm/ov00/Item/ItemManager.s | 208 +------------------------------ asm/ov05.inc | 2 +- asm/ov05.s | 4 +- asm/ov14/ov14_0213b778.inc | 2 +- asm/ov14/ov14_0213b778.s | 2 +- asm/ov15.inc | 2 +- asm/ov15.s | 4 +- include/Item/ItemManager.hpp | 4 + src/00_Core/Item/ItemManager.cpp | 63 ++++++++++ 9 files changed, 81 insertions(+), 210 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index e3e15022..5c7cd03e 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,202 +3,6 @@ .text - .global _ZN11ItemManager15LoadFanfareItemEj - thumb_func_start _ZN11ItemManager15LoadFanfareItemEj -_ZN11ItemManager15LoadFanfareItemEj: ; 0x020adb30 - push {r4, r5, lr} - sub sp, #0x10c - add r5, r0, #0 - mov r0, #0x46 - lsl r0, r0, #2 - str r1, [r5, r0] - cmp r1, #0x2b - beq _020adb54 - cmp r1, #0x25 - beq _020adb54 - cmp r1, #0x79 - blt _020adb4c - cmp r1, #0x7c - ble _020adb54 -_020adb4c: - cmp r1, #0x7e - beq _020adb54 - cmp r1, #0x85 - bne _020adb5c -_020adb54: - ldr r0, _020adc8c ; =data_027e1058 - ldr r0, [r0] - ldr r1, [r0] - b _020adc7c -_020adb5c: - cmp r1, #0x30 - blt _020adb76 - cmp r1, #0x37 - bgt _020adb76 - ldr r0, _020adc90 ; =data_027e105c - sub r1, #0x30 - ldr r0, [r0] - mov r2, #1 - mov r3, #0 - bl LoadTreasureItemFanfare - add r1, r0, #0 - b _020adc7c -_020adb76: - cmp r1, #0x7d - bne _020adb82 - ldr r0, _020adc90 ; =data_027e105c - ldr r0, [r0] - ldr r1, [r0] - b _020adc7c -_020adb82: - add r3, sp, #0x8c - mov r2, #0x80 - mov r0, #0 -_020adb88: - strb r0, [r3] - add r3, r3, #1 - sub r2, r2, #1 - bne _020adb88 - add r3, sp, #0xc - mov r2, #0x80 - mov r0, #0 -_020adb96: - strb r0, [r3] - add r3, r3, #1 - sub r2, r2, #1 - bne _020adb96 - mov r4, #0 - cmp r1, #0x28 - bne _020adbb4 - add r0, r5, #0 - add r0, #0xb4 - ldrh r0, [r0] - cmp r0, #1 - blt _020adbb4 - ldr r0, _020adc94 ; =data_ov00_020e5df8 - ldr r4, [r0, #4] - b _020adc22 -_020adbb4: - cmp r1, #0x29 - bne _020adbc8 - add r0, r5, #0 - add r0, #0xb6 - ldrh r0, [r0] - cmp r0, #1 - blt _020adbc8 - ldr r0, _020adc94 ; =data_ov00_020e5df8 - ldr r4, [r0, #8] - b _020adc22 -_020adbc8: - cmp r1, #0x2a - bne _020adbdc - add r0, r5, #0 - add r0, #0xb8 - ldrh r0, [r0] - cmp r0, #1 - blt _020adbdc - ldr r0, _020adc94 ; =data_ov00_020e5df8 - ldr r4, [r0, #0xc] - b _020adc22 -_020adbdc: - cmp r1, #0x3e - bne _020adbe6 - ldr r0, _020adc98 ; =data_ov00_020e5c78 - ldr r4, [r0, #0x2c] - b _020adc22 -_020adbe6: - cmp r1, #0x46 - bge _020adbf2 - ldr r0, _020adc9c ; =data_ov00_020e5c9c - lsl r1, r1, #2 - ldr r4, [r0, r1] - b _020adc22 -_020adbf2: - cmp r1, #0x71 - blt _020adc04 - cmp r1, #0x79 - bge _020adc04 - sub r1, #0x71 - ldr r0, _020adca0 ; =data_ov00_020e5db4 - lsl r1, r1, #2 - ldr r4, [r0, r1] - b _020adc22 -_020adc04: - cmp r1, #0x7f - blt _020adc16 - cmp r1, #0x88 - bge _020adc16 - sub r1, #0x7f - ldr r0, _020adca4 ; =data_ov00_020e5dd4 - lsl r1, r1, #2 - ldr r4, [r0, r1] - b _020adc22 -_020adc16: - cmp r1, #0x4b - blt _020adc22 - cmp r1, #0x6a - bgt _020adc22 - ldr r0, _020adc94 ; =data_ov00_020e5df8 - ldr r4, [r0] -_020adc22: - cmp r4, #0 - bne _020adc2a - ldr r0, _020adc98 ; =data_ov00_020e5c78 - ldr r4, [r0, #0x20] -_020adc2a: - ldr r1, _020adc94 ; =data_ov00_020e5df8 - add r0, sp, #0x8c - ldr r1, [r1, #0x10] - blx strcat - add r0, sp, #0x8c - add r1, r4, #0 - blx strcat - ldr r1, _020adc94 ; =data_ov00_020e5df8 - add r0, sp, #0x8c - ldr r1, [r1, #0x14] - blx strcat - ldr r1, _020adc94 ; =data_ov00_020e5df8 - add r0, sp, #0xc - ldr r1, [r1, #0x10] - blx strcat - add r0, sp, #0xc - add r1, r4, #0 - blx strcat - ldr r1, _020adc94 ; =data_ov00_020e5df8 - add r0, sp, #0xc - ldr r1, [r1, #0x18] - blx strcat - mov r3, #0 - str r3, [sp] - str r3, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - mov r0, #0x12 - lsl r0, r0, #4 - ldr r0, [r5, r0] - add r1, sp, #0x8c - add r2, sp, #0xc - bl func_ov00_02079ffc - add r1, r0, #0 -_020adc7c: - mov r0, #0x45 - lsl r0, r0, #2 - ldr r0, [r5, r0] - ldr r2, [r0] - ldr r2, [r2, #0xc] - blx r2 - add sp, #0x10c - pop {r4, r5, pc} - .align 2, 0 - thumb_func_end _ZN11ItemManager15LoadFanfareItemEj -_020adc8c: .word data_027e1058 -_020adc90: .word data_027e105c -_020adc94: .word data_ov00_020e5df8 -_020adc98: .word data_ov00_020e5c78 -_020adc9c: .word data_ov00_020e5c9c -_020adca0: .word data_ov00_020e5db4 -_020adca4: .word data_ov00_020e5dd4 - .global _ZNK11ItemManager19GetFanfareItemScaleEP5Vec3p thumb_func_start _ZNK11ItemManager19GetFanfareItemScaleEP5Vec3p _ZNK11ItemManager19GetFanfareItemScaleEP5Vec3p: ; 0x020adca8 @@ -1717,8 +1521,8 @@ data_ov00_020e5c70: ; 0x020e5c70 data_ov00_020e5c74: ; 0x020e5c74 .ascii "anc" .byte 0x00 - .global data_ov00_020e5c78 -data_ov00_020e5c78: ; 0x020e5c78 + .global sUnknownItemModelNames +sUnknownItemModelNames: ; 0x020e5c78 .word data_ov00_020e5c74 .global data_ov00_020e5c7c data_ov00_020e5c7c: ; 0x020e5c7c @@ -1744,8 +1548,8 @@ data_ov00_020e5c94: ; 0x020e5c94 .global data_ov00_020e5c98 data_ov00_020e5c98: ; 0x020e5c98 .word data_ov00_020e5e14 - .global data_ov00_020e5c9c -data_ov00_020e5c9c: ; 0x020e5c9c + .global sItemModelNames +sItemModelNames: ; 0x020e5c9c .word data_ov00_020e5e18 .global data_ov00_020e5ca0 data_ov00_020e5ca0: ; 0x020e5ca0 @@ -2005,8 +1809,8 @@ data_ov00_020e5df0: ; 0x020e5df0 .global data_ov00_020e5df4 data_ov00_020e5df4: ; 0x020e5df4 .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5df8 -data_ov00_020e5df8: ; 0x020e5df8 + .global sSpecialItemModelNames +sSpecialItemModelNames: ; 0x020e5df8 .word data_ov00_020e6030 .global data_ov00_020e5dfc data_ov00_020e5dfc: ; 0x020e5dfc diff --git a/asm/ov05.inc b/asm/ov05.inc index c361214b..e7f377dc 100644 --- a/asm/ov05.inc +++ b/asm/ov05.inc @@ -2,7 +2,7 @@ .extern Divide .extern _ZN10PlayerBase18func_ov00_020a7c00Ei .extern _ZN11ItemManager12GetItemModelEj -.extern _ZN11ItemManager15LoadFanfareItemEj +.extern _ZN11ItemManager15LoadFanfareItemEi .extern _ZN11ItemManager18func_ov00_020ae648Ejjj .extern _ZN11ItemManager8GiveItemEjjj .extern _ZN13LinkStateBase10GetStateIdEv diff --git a/asm/ov05.s b/asm/ov05.s index ed87b038..1d63faa5 100644 --- a/asm/ov05.s +++ b/asm/ov05.s @@ -9726,7 +9726,7 @@ _02108c34: ldr r0, _02108cf0 ; =gItemManager ldr r1, [r4, #0x74] ldr r0, [r0] - blx _ZN11ItemManager15LoadFanfareItemEj + blx _ZN11ItemManager15LoadFanfareItemEi ldr r0, [r4, #0x74] mov r2, #1 cmp r0, #0x81 @@ -9884,7 +9884,7 @@ _02108e44: ldr r0, _02108e88 ; =gItemManager mov r1, r4 ldr r0, [r0] - blx _ZN11ItemManager15LoadFanfareItemEj + blx _ZN11ItemManager15LoadFanfareItemEi ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov05_02108e08 diff --git a/asm/ov14/ov14_0213b778.inc b/asm/ov14/ov14_0213b778.inc index a3e8d9a2..64a80265 100644 --- a/asm/ov14/ov14_0213b778.inc +++ b/asm/ov14/ov14_0213b778.inc @@ -7,7 +7,7 @@ .extern _ZN11ItemManager12GetEquipItemEi .extern _ZN11ItemManager12GetItemModelEj .extern _ZN11ItemManager13TickEquipItemEv -.extern _ZN11ItemManager15LoadFanfareItemEj +.extern _ZN11ItemManager15LoadFanfareItemEi .extern _ZN11ItemManager15SetEquippedItemEi .extern _ZN11ItemManager17EquipPreviousItemEv .extern _ZN11ItemManager18EquipItem_vfunc_38Ei diff --git a/asm/ov14/ov14_0213b778.s b/asm/ov14/ov14_0213b778.s index da491079..32105660 100644 --- a/asm/ov14/ov14_0213b778.s +++ b/asm/ov14/ov14_0213b778.s @@ -26983,7 +26983,7 @@ _0215074c: ldr r0, _02150764 ; =gItemManager add r1, r4, #0 ldr r0, [r0] - bl _ZN11ItemManager15LoadFanfareItemEj + bl _ZN11ItemManager15LoadFanfareItemEi add r0, r5, #0 mov r1, #0 bl func_ov14_02150848 diff --git a/asm/ov15.inc b/asm/ov15.inc index da3958ec..5930030c 100644 --- a/asm/ov15.inc +++ b/asm/ov15.inc @@ -11,7 +11,7 @@ .extern _ZN10PlayerBase9AddHealthEs .extern _ZN11ItemManager10GiveRupeesEjj .extern _ZN11ItemManager10SetUnk_09eEjt -.extern _ZN11ItemManager15LoadFanfareItemEj +.extern _ZN11ItemManager15LoadFanfareItemEi .extern _ZN11ItemManager18func_ov00_020ad528Ev .extern _ZN11ItemManager18func_ov00_020ae648Ejjj .extern _ZN11ItemManager19SetTreasureSalvagedEj diff --git a/asm/ov15.s b/asm/ov15.s index 9acb5ed9..d0c984e5 100644 --- a/asm/ov15.s +++ b/asm/ov15.s @@ -44543,7 +44543,7 @@ _02145334: ldr r0, _0214581c ; =gItemManager mov r1, r5 ldr r0, [r0] - blx _ZN11ItemManager15LoadFanfareItemEj + blx _ZN11ItemManager15LoadFanfareItemEi mov r0, r6 mov r1, #1 bl func_ov15_0216e168 @@ -88262,7 +88262,7 @@ _0216a93c: ldr r0, _0216a95c ; =gItemManager mov r1, r4 ldr r0, [r0] - blx _ZN11ItemManager15LoadFanfareItemEj + blx _ZN11ItemManager15LoadFanfareItemEi mov r0, r5 bl func_ov15_0216a968 add sp, sp, #4 diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 44defa6f..06009148 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -1,5 +1,9 @@ #pragma once +extern "C" { + #include +} + #include "global.h" #include "types.h" #include "lib/math.h" diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 614f9a50..5cf6d02b 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -380,3 +380,66 @@ THUMB void ItemManager::RemoveItem(ItemFlag item) { (*mAmmo)[item] = 0; } } + +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* LoadTreasureItemFanfare(ItemModel**, s32 treasureType, bool, bool); +extern const char *sUnknownItemModelNames[]; +extern const char *data_ov00_020e5dd4[]; +extern const char *data_ov00_020e5db4[]; +extern const char *sItemModelNames[]; +extern const char *sSpecialItemModelNames[]; +THUMB void ItemManager::LoadFanfareItem(ItemId id) { + mFanfareItem = id; + + ItemModel *model; + if ( + id == ItemId_Unk_43 || + id == ItemId_Cannon || + (id >= ItemId_GOLDEN_SHIP_START && id <= ItemId_GOLDEN_SHIP_END) || + id == ItemId_Unk_126 || + id == ItemId_Unk_133 + ) { + model = *data_027e1058; + } else if ( + id >= ItemId_TREASURE_START && + id <= ItemId_TREASURE_END + ) { + model = LoadTreasureItemFanfare(data_027e105c, id - ItemId_TREASURE_START, true, false); + } else if (id == ItemId_Unk_125) { + model = *data_027e105c; + } else { + char modelName[0x80] = {}; + char textureName[0x80] = {}; + const char *itemName = NULL; + if (id == ItemId_Quiver && (s32) mQuiverSize >= 1) { + itemName = sSpecialItemModelNames[1]; + } else if (id == ItemId_BigBombBag && (s32) mBombBagSize >= 1) { + itemName = sSpecialItemModelNames[2]; + } else if (id == ItemId_BigBombchuBag && (s32) mBombchuBagSize >= 1) { + itemName = sSpecialItemModelNames[3]; + } else if (id == ItemId_HerosNewClothes) { + itemName = sUnknownItemModelNames[11]; + } else if (id < ItemId_Unk_70) { + itemName = sItemModelNames[id]; + } else if (id >= ItemId_SwordsmanScroll && id < ItemId_GoldenChimney) { + itemName = data_ov00_020e5db4[id - ItemId_SwordsmanScroll]; + } else if (id >= ItemId_CycloneSlate && id < ItemId_Unk_136) { + itemName = data_ov00_020e5dd4[id - ItemId_CycloneSlate]; + } else if (id >= ItemId_TREASURE_CHART_START && id <= ItemId_TREASURE_CHART_END) { + itemName = sSpecialItemModelNames[0]; + } + if (!itemName) { + itemName = sUnknownItemModelNames[8]; + } + strcat(modelName, sSpecialItemModelNames[4]); + strcat(modelName, itemName); + strcat(modelName, sSpecialItemModelNames[5]); + strcat(textureName, sSpecialItemModelNames[4]); + strcat(textureName, itemName); + strcat(textureName, sSpecialItemModelNames[6]); + model = func_ov00_02079ffc(mFanfareItemModel, modelName, textureName, 0, 0, 0, true); + } + mUnk_114->vfunc_0c(model); +} From 905175763e1b6cd70137ed996dae4964ec5c0324 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 14 Apr 2024 14:27:04 +0200 Subject: [PATCH 02/76] Decomp `ItemManager::GetFanfareItemScale` --- asm/ov00/Item/ItemManager.s | 35 -------------------------------- src/00_Core/Item/ItemManager.cpp | 15 ++++++++++++++ 2 files changed, 15 insertions(+), 35 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index 5c7cd03e..e3f7b78e 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,41 +3,6 @@ .text - .global _ZNK11ItemManager19GetFanfareItemScaleEP5Vec3p - thumb_func_start _ZNK11ItemManager19GetFanfareItemScaleEP5Vec3p -_ZNK11ItemManager19GetFanfareItemScaleEP5Vec3p: ; 0x020adca8 - mov r2, #0x46 - lsl r2, r2, #2 - ldr r0, [r0, r2] - cmp r0, #0x1b - bgt _020adcc4 - cmp r0, #0x1a - blt _020adcbe - beq _020adcc8 - cmp r0, #0x1b - beq _020adcc8 - b _020adcd4 -_020adcbe: - cmp r0, #9 - beq _020adcc8 - b _020adcd4 -_020adcc4: - cmp r0, #0x82 - bne _020adcd4 -_020adcc8: - ldr r0, _020adcd8 ; =0x00001666 - str r0, [r1] - str r0, [r1, #4] - str r0, [r1, #8] - mov r0, #1 - bx lr -_020adcd4: - mov r0, #0 - bx lr - .align 2, 0 - thumb_func_end _ZNK11ItemManager19GetFanfareItemScaleEP5Vec3p -_020adcd8: .word 0x00001666 - .global _ZN11ItemManager8GiveItemEjjj thumb_func_start _ZN11ItemManager8GiveItemEjjj _ZN11ItemManager8GiveItemEjjj: ; 0x020adcdc diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 5cf6d02b..14f47b4c 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -443,3 +443,18 @@ THUMB void ItemManager::LoadFanfareItem(ItemId id) { } mUnk_114->vfunc_0c(model); } + +THUMB bool ItemManager::GetFanfareItemScale(Vec3p *scale) const { + switch (mFanfareItem) { + case ItemId_BigGreenRupee: + case ItemId_BigRedRupee: + case ItemId_GoldRupee: + case ItemId_Rupoor50: + scale->x = FLOAT_TO_Q20(1.4); + scale->y = FLOAT_TO_Q20(1.4); + scale->z = FLOAT_TO_Q20(1.4); + return true; + } + return false; +} + From c323a0cda821e141ad21fd3ffb3c7ff59b3dd9ee Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 14 Apr 2024 14:39:15 +0200 Subject: [PATCH 03/76] Update `ItemManager::GiveItem` params --- asm/ov00/Item/ItemManager.s | 8 ++++---- asm/ov05.inc | 2 +- asm/ov05.s | 2 +- asm/ov14/ov14_0213b778.inc | 2 +- asm/ov14/ov14_0213b778.s | 4 ++-- asm/ov15.inc | 2 +- asm/ov15.s | 6 +++--- asm/ov40.inc | 2 +- asm/ov40.s | 2 +- include/Item/ItemManager.hpp | 2 +- 10 files changed, 16 insertions(+), 16 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index e3f7b78e..803579fa 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,9 +3,9 @@ .text - .global _ZN11ItemManager8GiveItemEjjj - thumb_func_start _ZN11ItemManager8GiveItemEjjj -_ZN11ItemManager8GiveItemEjjj: ; 0x020adcdc + .global _ZN11ItemManager8GiveItemEi + thumb_func_start _ZN11ItemManager8GiveItemEi +_ZN11ItemManager8GiveItemEi: ; 0x020adcdc push {r3, r4, r5, lr} cmp r1, #0x76 bgt _020addd2 @@ -182,7 +182,7 @@ _020addfc: _020addfe: cmp r1, #0x7b bne _020ade04 - thumb_func_end _ZN11ItemManager8GiveItemEjjj + thumb_func_end _ZN11ItemManager8GiveItemEi _020ade02: b _020ae198 _020ade04: diff --git a/asm/ov05.inc b/asm/ov05.inc index e7f377dc..df97c841 100644 --- a/asm/ov05.inc +++ b/asm/ov05.inc @@ -4,7 +4,7 @@ .extern _ZN11ItemManager12GetItemModelEj .extern _ZN11ItemManager15LoadFanfareItemEi .extern _ZN11ItemManager18func_ov00_020ae648Ejjj -.extern _ZN11ItemManager8GiveItemEjjj +.extern _ZN11ItemManager8GiveItemEi .extern _ZN13LinkStateBase10GetStateIdEv .extern _ZN13LinkStateBase12ApplyImpulseEii .extern _ZN13LinkStateBase12GetEquipItemEi diff --git a/asm/ov05.s b/asm/ov05.s index 1d63faa5..1d898984 100644 --- a/asm/ov05.s +++ b/asm/ov05.s @@ -10646,7 +10646,7 @@ _0210989c: ldr r0, _021099cc ; =gItemManager ldr r1, [r5, #0x74] ldr r0, [r0] - blx _ZN11ItemManager8GiveItemEjjj + blx _ZN11ItemManager8GiveItemEi _021098bc: mov r0, r4 blx _ZN4Item18func_ov00_020ad020Ei diff --git a/asm/ov14/ov14_0213b778.inc b/asm/ov14/ov14_0213b778.inc index 64a80265..0565f21b 100644 --- a/asm/ov14/ov14_0213b778.inc +++ b/asm/ov14/ov14_0213b778.inc @@ -12,7 +12,7 @@ .extern _ZN11ItemManager17EquipPreviousItemEv .extern _ZN11ItemManager18EquipItem_vfunc_38Ei .extern _ZN11ItemManager18func_ov00_020ae648Ejjj -.extern _ZN11ItemManager8GiveItemEjjj +.extern _ZN11ItemManager8GiveItemEi .extern _ZN11ItemManager9SetPotionEjj .extern _ZN13PlayerControl20UpdateUsingEquipItemEv .extern _ZN15LinkStateDamage18func_ov00_020aca94Ev diff --git a/asm/ov14/ov14_0213b778.s b/asm/ov14/ov14_0213b778.s index 32105660..91f87779 100644 --- a/asm/ov14/ov14_0213b778.s +++ b/asm/ov14/ov14_0213b778.s @@ -26937,7 +26937,7 @@ _021506e6: ldr r0, _02150764 ; =gItemManager add r1, r4, #0 ldr r0, [r0] - bl _ZN11ItemManager8GiveItemEjjj + bl _ZN11ItemManager8GiveItemEi ldr r2, _02150760 ; =data_027e1058 add r0, r5, #0 ldr r2, [r2] @@ -26978,7 +26978,7 @@ _02150742: ldr r0, _02150764 ; =gItemManager add r1, r4, #0 ldr r0, [r0] - bl _ZN11ItemManager8GiveItemEjjj + bl _ZN11ItemManager8GiveItemEi _0215074c: ldr r0, _02150764 ; =gItemManager add r1, r4, #0 diff --git a/asm/ov15.inc b/asm/ov15.inc index 5930030c..371aff6f 100644 --- a/asm/ov15.inc +++ b/asm/ov15.inc @@ -15,7 +15,7 @@ .extern _ZN11ItemManager18func_ov00_020ad528Ev .extern _ZN11ItemManager18func_ov00_020ae648Ejjj .extern _ZN11ItemManager19SetTreasureSalvagedEj -.extern _ZN11ItemManager8GiveItemEjjj +.extern _ZN11ItemManager8GiveItemEi .extern _ZN13PlayerControl11IsTappedNowEv .extern _ZN13PlayerControl13IsNotTouchingEv .extern _ZN13PlayerControl13StopFollowingEv diff --git a/asm/ov15.s b/asm/ov15.s index d0c984e5..a8c1b910 100644 --- a/asm/ov15.s +++ b/asm/ov15.s @@ -44538,7 +44538,7 @@ _0214531c: ldr r0, _0214581c ; =gItemManager mov r1, r5 ldr r0, [r0] - blx _ZN11ItemManager8GiveItemEjjj + blx _ZN11ItemManager8GiveItemEi _02145334: ldr r0, _0214581c ; =gItemManager mov r1, r5 @@ -44602,7 +44602,7 @@ _021453f8: ldr r0, _0214581c ; =gItemManager mov r1, #0x26 ldr r0, [r0] - blx _ZN11ItemManager8GiveItemEjjj + blx _ZN11ItemManager8GiveItemEi _0214541c: bl func_ov15_021465e8 _02145420: @@ -88238,7 +88238,7 @@ _0216a8e8: ldr r0, _0216a95c ; =gItemManager mov r1, r4 ldr r0, [r0] - blx _ZN11ItemManager8GiveItemEjjj + blx _ZN11ItemManager8GiveItemEi _0216a8f8: bl func_ov15_02146578 mov r1, r0 diff --git a/asm/ov40.inc b/asm/ov40.inc index 7e721f91..c208e405 100644 --- a/asm/ov40.inc +++ b/asm/ov40.inc @@ -2,7 +2,7 @@ .extern Divide .extern FastDivide .extern _ZN11ItemManager7AddItemEi -.extern _ZN11ItemManager8GiveItemEjjj +.extern _ZN11ItemManager8GiveItemEi .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager7HasItemEi diff --git a/asm/ov40.s b/asm/ov40.s index 31b61711..85ef8742 100644 --- a/asm/ov40.s +++ b/asm/ov40.s @@ -4428,7 +4428,7 @@ _0217f5a4: mov r1, r1, lsl #0x8 ldr r0, [r0] mov r1, r1, lsr #0x10 - blx _ZN11ItemManager8GiveItemEjjj + blx _ZN11ItemManager8GiveItemEi add sp, sp, #8 ldmia sp!, {r3, pc} _0217f5c4: diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 06009148..2f7b5084 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -300,7 +300,7 @@ public: bool HasItem(ItemFlag item) const; void AddItem(ItemFlag item); void RemoveItem(ItemFlag item); - void GiveItem(ItemId id, unk32 param2, unk32 param3); + void GiveItem(ItemId id); void GiveEquipItem(ItemFlag item, u16 ammo); // Rupees From 897bf1d049a149f7dfb2d2fa79be5aff58012c1e Mon Sep 17 00:00:00 2001 From: Aetias Date: Wed, 17 Apr 2024 23:07:01 +0200 Subject: [PATCH 04/76] Add `HealthManager` --- asm/dtcm.s | 4 ++-- asm/ov00/Item/ItemManager.inc | 2 +- asm/ov00/Item/ItemManager.s | 4 ++-- asm/ov00/ov00_020b1498.inc | 2 +- asm/ov00/ov00_020b1498.s | 4 ++-- asm/ov00/ov00_020c3e54.inc | 2 +- asm/ov00/ov00_020c3e54.s | 4 ++-- asm/ov02.inc | 2 +- asm/ov02.s | 12 ++++++------ asm/ov04.inc | 2 +- asm/ov04.s | 18 +++++++++--------- asm/ov05.inc | 2 +- asm/ov05.s | 10 +++++----- asm/ov09.inc | 2 +- asm/ov09.s | 4 ++-- asm/ov14/ov14_0213b778.inc | 2 +- asm/ov14/ov14_0213b778.s | 16 ++++++++-------- asm/ov15.inc | 2 +- asm/ov15.s | 16 ++++++++-------- asm/ov26.inc | 2 +- asm/ov26.s | 12 ++++++------ asm/ov33.inc | 2 +- asm/ov33.s | 10 +++++----- include/Player/HealthManager.hpp | 22 ++++++++++++++++++++++ 24 files changed, 90 insertions(+), 68 deletions(-) create mode 100644 include/Player/HealthManager.hpp diff --git a/asm/dtcm.s b/asm/dtcm.s index b3664d47..535cef39 100644 --- a/asm/dtcm.s +++ b/asm/dtcm.s @@ -4001,8 +4001,8 @@ gItemManager: .global data_027e0fb8 data_027e0fb8: .space 0x4 - .global data_027e0fbc -data_027e0fbc: + .global gHealthManager +gHealthManager: .space 0x4 .global data_027e0fc0 data_027e0fc0: diff --git a/asm/ov00/Item/ItemManager.inc b/asm/ov00/Item/ItemManager.inc index 871cc044..435edbdc 100644 --- a/asm/ov00/Item/ItemManager.inc +++ b/asm/ov00/Item/ItemManager.inc @@ -5,7 +5,7 @@ .extern data_027e0e60 .extern gAdventureFlags .extern data_027e0f78 -.extern data_027e0fbc +.extern gHealthManager .extern data_027e103c .extern data_027e1058 .extern data_027e105c diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index 79979c92..373211dd 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -505,7 +505,7 @@ _020ae04e: ldr r0, [r0] mov r2, #1 blx _ZN14AdventureFlags3SetEjb - ldr r0, _020ae248 ; =data_027e0fbc + ldr r0, _020ae248 ; =gHealthManager mov r1, #5 ldr r0, [r0] strh r1, [r0, #8] @@ -756,7 +756,7 @@ _020ae222: b _020ae258 nop _020ae244: .word gAdventureFlags -_020ae248: .word data_027e0fbc +_020ae248: .word gHealthManager _020ae24c: .word 0x00000126 _020ae250: .word 0x00000127 _020ae254: .word 0x00000129 diff --git a/asm/ov00/ov00_020b1498.inc b/asm/ov00/ov00_020b1498.inc index 61be72a6..ef562e77 100644 --- a/asm/ov00/ov00_020b1498.inc +++ b/asm/ov00/ov00_020b1498.inc @@ -156,7 +156,7 @@ .extern data_027e0fa0 .extern data_027e0fac .extern data_027e0fb8 -.extern data_027e0fbc +.extern gHealthManager .extern data_027e0fc4 .extern data_027e0fc8 .extern data_027e0fcc diff --git a/asm/ov00/ov00_020b1498.s b/asm/ov00/ov00_020b1498.s index 9669613a..76f4c215 100644 --- a/asm/ov00/ov00_020b1498.s +++ b/asm/ov00/ov00_020b1498.s @@ -12594,13 +12594,13 @@ func_ov00_020bb44c: ; 0x020bb44c ldrb r0, [r0, #0x12] cmp r0, #0 movne r0, #0xc - ldreq r0, _020bb468 ; =data_027e0fbc + ldreq r0, _020bb468 ; =gHealthManager ldreq r0, [r0] ldreqsh r0, [r0] bx lr .align 2, 0 arm_func_end func_ov00_020bb44c -_020bb468: .word data_027e0fbc +_020bb468: .word gHealthManager .global func_ov00_020bb46c arm_func_start func_ov00_020bb46c diff --git a/asm/ov00/ov00_020c3e54.inc b/asm/ov00/ov00_020c3e54.inc index c0b17b5b..e0d02a22 100644 --- a/asm/ov00/ov00_020c3e54.inc +++ b/asm/ov00/ov00_020c3e54.inc @@ -116,7 +116,7 @@ .extern data_027e0f94 .extern data_027e0fac .extern data_027e0fb8 -.extern data_027e0fbc +.extern gHealthManager .extern data_027e0fc8 .extern data_027e0fd4 .extern data_027e0fe0 diff --git a/asm/ov00/ov00_020c3e54.s b/asm/ov00/ov00_020c3e54.s index 27eb8587..16394bfb 100644 --- a/asm/ov00/ov00_020c3e54.s +++ b/asm/ov00/ov00_020c3e54.s @@ -18659,7 +18659,7 @@ _020d274c: mov r1, #0x3c bl func_01ff9b4c sub r0, r4, r0 - ldr r2, _020d27e8 ; =data_027e0fbc + ldr r2, _020d27e8 ; =gHealthManager ldr r1, _020d27ec ; =0x00007fff mov r0, r0, lsl #0x10 and r1, r1, r0, lsr #16 @@ -18688,7 +18688,7 @@ _020d27d8: .word gItemManager _020d27dc: .word data_027e0f64 _020d27e0: .word data_ov00_020df294 _020d27e4: .word data_027e103c -_020d27e8: .word data_027e0fbc +_020d27e8: .word gHealthManager _020d27ec: .word 0x00007fff .global func_ov00_020d27f0 diff --git a/asm/ov02.inc b/asm/ov02.inc index 2083940b..b6a56f55 100644 --- a/asm/ov02.inc +++ b/asm/ov02.inc @@ -32,7 +32,7 @@ .extern data_027e0e60 .extern data_027e0f88 .extern data_027e0f8c -.extern data_027e0fbc +.extern gHealthManager .extern data_027e1044 .extern data_027e1050 .extern data_027e1058 diff --git a/asm/ov02.s b/asm/ov02.s index 61da8964..8bc04bbd 100644 --- a/asm/ov02.s +++ b/asm/ov02.s @@ -1497,7 +1497,7 @@ _020f01e4: mov r1, #9 str r6, [sp] bl func_0203493c - ldr r0, _020f0730 ; =data_027e0fbc + ldr r0, _020f0730 ; =gHealthManager ldr r0, [r0] ldrb r0, [r0, #0xe] cmp r0, #0 @@ -1508,7 +1508,7 @@ _020f01e4: mov r1, #0xa str r6, [sp] bl func_0203493c - ldr r0, _020f0730 ; =data_027e0fbc + ldr r0, _020f0730 ; =gHealthManager mov r1, #0x3c ldr r0, [r0] ldrh r6, [r0, #0xc] @@ -1842,7 +1842,7 @@ _020f0720: .word gItemManager _020f0724: .word gAdventureFlags _020f0728: .word 0x91a2b3c5 _020f072c: .word 0x88888889 -_020f0730: .word data_027e0fbc +_020f0730: .word gHealthManager .global func_ov02_020f0734 arm_func_start func_ov02_020f0734 @@ -5052,10 +5052,10 @@ func_ov02_020f2e84: ; 0x020f2e84 bl func_ov00_020d77e4 mov r0, #1 blx func_ov09_0211bf3c - ldr r0, _020f2f18 ; =data_027e0fbc + ldr r0, _020f2f18 ; =gHealthManager ldr r0, [r0] blx func_ov00_020b8060 - ldr r0, _020f2f18 ; =data_027e0fbc + ldr r0, _020f2f18 ; =gHealthManager ldr r1, [r0] ldrsh r0, [r1, #4] strh r0, [r1, #6] @@ -5065,7 +5065,7 @@ func_ov02_020f2e84: ; 0x020f2e84 _020f2f0c: .word gItemManager _020f2f10: .word data_ov02_020f6c80 _020f2f14: .word data_ov00_020eec9c -_020f2f18: .word data_027e0fbc +_020f2f18: .word gHealthManager .global func_ov02_020f2f1c arm_func_start func_ov02_020f2f1c diff --git a/asm/ov04.inc b/asm/ov04.inc index 382c0d2f..ccd509fc 100644 --- a/asm/ov04.inc +++ b/asm/ov04.inc @@ -76,7 +76,7 @@ .extern data_027e0f94 .extern data_027e0fac .extern data_027e0fb8 -.extern data_027e0fbc +.extern gHealthManager .extern data_027e0fc0 .extern data_027e0fc4 .extern data_027e0fc8 diff --git a/asm/ov04.s b/asm/ov04.s index 6de374bf..abbec17a 100644 --- a/asm/ov04.s +++ b/asm/ov04.s @@ -7771,7 +7771,7 @@ _0210482c: _02104840: bl func_ov04_02105a64 bl func_ov04_021084e8 - ldr r0, _021049b0 ; =data_027e0fbc + ldr r0, _021049b0 ; =gHealthManager ldr r1, [sp, #8] ldr r0, [r0] bl func_ov04_02107f48 @@ -7918,7 +7918,7 @@ _021049a0: .word data_ov12_02137c64 _021049a4: .word data_027e077c _021049a8: .word 0x04000304 _021049ac: .word 0xffff7fff -_021049b0: .word data_027e0fbc +_021049b0: .word gHealthManager _021049b4: .word data_ov00_020e9360 _021049b8: .word data_027e0e5c _021049bc: .word data_027e0d04 @@ -8001,7 +8001,7 @@ _02104a3c: ldr r0, _02104afc ; =data_ov00_020e9370 bl func_ov04_0210694c bl func_ov00_02079df0 - ldr r0, _02104b00 ; =data_027e0fbc + ldr r0, _02104b00 ; =gHealthManager ldr r0, [r0] bl func_ov04_02108008 bl func_ov04_02105a8c @@ -8029,7 +8029,7 @@ _02104af0: .word data_027e0c68 _02104af4: .word data_027e103c _02104af8: .word data_02068e64 _02104afc: .word data_ov00_020e9370 -_02104b00: .word data_027e0fbc +_02104b00: .word gHealthManager _02104b04: .word data_027e0cbc .global func_ov04_02104b08 @@ -14886,19 +14886,19 @@ func_ov04_02107e54: ; 0x02107e54 beq _02107e6a bl func_ov04_02107e9c _02107e6a: - ldr r1, _02107e74 ; =data_027e0fbc + ldr r1, _02107e74 ; =gHealthManager str r0, [r1] pop {r3, pc} .align 2, 0 thumb_func_end func_ov04_02107e54 _02107e70: .word data_027e0ce0 -_02107e74: .word data_027e0fbc +_02107e74: .word gHealthManager .global func_ov04_02107e78 thumb_func_start func_ov04_02107e78 func_ov04_02107e78: ; 0x02107e78 push {r4, lr} - ldr r0, _02107e98 ; =data_027e0fbc + ldr r0, _02107e98 ; =gHealthManager ldr r4, [r0] cmp r4, #0 beq _02107e8e @@ -14907,13 +14907,13 @@ func_ov04_02107e78: ; 0x02107e78 add r0, r4, #0 blx _ZN9SysObjectdlEPv _02107e8e: - ldr r0, _02107e98 ; =data_027e0fbc + ldr r0, _02107e98 ; =gHealthManager mov r1, #0 str r1, [r0] pop {r4, pc} nop thumb_func_end func_ov04_02107e78 -_02107e98: .word data_027e0fbc +_02107e98: .word gHealthManager .global func_ov04_02107e9c thumb_func_start func_ov04_02107e9c diff --git a/asm/ov05.inc b/asm/ov05.inc index 5a522eaf..8abfb05c 100644 --- a/asm/ov05.inc +++ b/asm/ov05.inc @@ -173,7 +173,7 @@ .extern data_027e0fac .extern data_027e0fb0 .extern data_027e0fb8 -.extern data_027e0fbc +.extern gHealthManager .extern data_027e0fc0 .extern data_027e0fc8 .extern data_027e0fcc diff --git a/asm/ov05.s b/asm/ov05.s index 79585aa7..41bcb2e9 100644 --- a/asm/ov05.s +++ b/asm/ov05.s @@ -9487,7 +9487,7 @@ func_ov05_021088c8: ; 0x021088c8 bl func_020385d0 cmp r0, #0 beq _0210899c - ldr r1, _021089a8 ; =data_027e0fbc + ldr r1, _021089a8 ; =gHealthManager ldr r4, _021089ac ; =0x88888889 ldr r1, [r1] mov ip, #0x3c @@ -9534,7 +9534,7 @@ _0210899c: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov05_021088c8 -_021089a8: .word data_027e0fbc +_021089a8: .word gHealthManager _021089ac: .word 0x88888889 _021089b0: .word 0x66666667 _021089b4: .word 0x00007fff @@ -10610,11 +10610,11 @@ _02109828: bl _ZN13LinkStateBase18func_ov00_020a8360Ei b _021098bc _02109834: - ldr r0, _021099bc ; =data_027e0fbc + ldr r0, _021099bc ; =gHealthManager mov r1, #4 ldr r0, [r0] blx func_ov00_020b804c - ldr r1, _021099bc ; =data_027e0fbc + ldr r1, _021099bc ; =gHealthManager mov r0, r5 ldr r1, [r1] ldrsh r1, [r1] @@ -10719,7 +10719,7 @@ _021099a4: .align 2, 0 arm_func_end func_ov05_021097b0 _021099b8: .word 0x464f5243 -_021099bc: .word data_027e0fbc +_021099bc: .word gHealthManager _021099c0: .word data_027e103c _021099c4: .word 0x424b4559 _021099c8: .word 0x43525953 diff --git a/asm/ov09.inc b/asm/ov09.inc index f5cf8eab..7742fd4b 100644 --- a/asm/ov09.inc +++ b/asm/ov09.inc @@ -45,7 +45,7 @@ .extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f90 -.extern data_027e0fbc +.extern gHealthManager .extern data_027e0fe4 .extern data_027e0ffc .extern data_027e103c diff --git a/asm/ov09.s b/asm/ov09.s index cbe29d25..a0391a4a 100644 --- a/asm/ov09.s +++ b/asm/ov09.s @@ -3580,7 +3580,7 @@ _0211483a: strb r0, [r1] add r0, sp, #0x48 bl func_ov00_0207a38c - ldr r0, _02114988 ; =data_027e0fbc + ldr r0, _02114988 ; =gHealthManager add r1, sp, #0x48 ldr r0, [r0] bl func_ov00_020b7ffc @@ -3706,7 +3706,7 @@ _02114960: thumb_func_end func_ov09_02114810 _02114980: .word data_027e0dbc _02114984: .word data_ov00_020e9ec0 -_02114988: .word data_027e0fbc +_02114988: .word gHealthManager _0211498c: .word data_ov00_020e9e18 _02114990: .word data_ov09_0211f5b4 _02114994: .word data_ov00_020e9f08 diff --git a/asm/ov14/ov14_0213b778.inc b/asm/ov14/ov14_0213b778.inc index e4c9490d..7cef6c17 100644 --- a/asm/ov14/ov14_0213b778.inc +++ b/asm/ov14/ov14_0213b778.inc @@ -120,7 +120,7 @@ .extern data_027e0f94 .extern data_027e0fa0 .extern data_027e0fb8 -.extern data_027e0fbc +.extern gHealthManager .extern data_027e0fc0 .extern data_027e0fc4 .extern data_027e0fc8 diff --git a/asm/ov14/ov14_0213b778.s b/asm/ov14/ov14_0213b778.s index c481fdf4..4c02e2c6 100644 --- a/asm/ov14/ov14_0213b778.s +++ b/asm/ov14/ov14_0213b778.s @@ -4744,7 +4744,7 @@ func_ov14_0213ef2c: ; 0x0213ef2c add r0, r4, #0 add r0, #0x80 strb r1, [r0] - ldr r0, _0213ef5c ; =data_027e0fbc + ldr r0, _0213ef5c ; =gHealthManager ldr r1, [r0] mov r0, #2 ldrsh r0, [r1, r0] @@ -4754,7 +4754,7 @@ func_ov14_0213ef2c: ; 0x0213ef2c nop thumb_func_end func_ov14_0213ef2c _0213ef58: .word data_ov14_02159084 -_0213ef5c: .word data_027e0fbc +_0213ef5c: .word gHealthManager .global func_ov14_0213ef60 thumb_func_start func_ov14_0213ef60 @@ -4768,7 +4768,7 @@ func_ov14_0213ef60: ; 0x0213ef60 bl func_0202e7fc mov r0, #0xa ldrsh r1, [r4, r0] - ldr r0, _0213ef90 ; =data_027e0fbc + ldr r0, _0213ef90 ; =gHealthManager ldr r0, [r0] strh r1, [r0, #2] add r0, r4, #0 @@ -4780,7 +4780,7 @@ func_ov14_0213ef60: ; 0x0213ef60 _0213ef84: .word data_ov14_02159084 _0213ef88: .word data_ov14_0215b248 _0213ef8c: .word data_027e077c -_0213ef90: .word data_027e0fbc +_0213ef90: .word gHealthManager .global func_ov14_0213ef94 thumb_func_start func_ov14_0213ef94 @@ -4794,7 +4794,7 @@ func_ov14_0213ef94: ; 0x0213ef94 bl func_0202e7fc mov r0, #0xa ldrsh r1, [r4, r0] - ldr r0, _0213efcc ; =data_027e0fbc + ldr r0, _0213efcc ; =gHealthManager ldr r0, [r0] strh r1, [r0, #2] add r0, r4, #0 @@ -4808,7 +4808,7 @@ func_ov14_0213ef94: ; 0x0213ef94 _0213efc0: .word data_ov14_02159084 _0213efc4: .word data_ov14_0215b248 _0213efc8: .word data_027e077c -_0213efcc: .word data_027e0fbc +_0213efcc: .word gHealthManager .global func_ov14_0213efd0 thumb_func_start func_ov14_0213efd0 @@ -5365,14 +5365,14 @@ func_ov14_0213f5dc: ; 0x0213f5dc stmdb sp!, {r4, lr} mov r4, r0 bl _ZN10PlayerBase9AddHealthEs - ldr r0, _0213f5fc ; =data_027e0fbc + ldr r0, _0213f5fc ; =gHealthManager ldrsh r1, [r4, #0xa] ldr r0, [r0] strh r1, [r0, #2] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0213f5dc -_0213f5fc: .word data_027e0fbc +_0213f5fc: .word gHealthManager .global func_ov14_0213f600 arm_func_start func_ov14_0213f600 diff --git a/asm/ov15.inc b/asm/ov15.inc index f1e1f510..5e6636d2 100644 --- a/asm/ov15.inc +++ b/asm/ov15.inc @@ -150,7 +150,7 @@ .extern data_027e0fac .extern data_027e0fb0 .extern data_027e0fb8 -.extern data_027e0fbc +.extern gHealthManager .extern data_027e0fc4 .extern data_027e0fe0 .extern data_027e0fe4 diff --git a/asm/ov15.s b/asm/ov15.s index 23f11727..c34a942a 100644 --- a/asm/ov15.s +++ b/asm/ov15.s @@ -30916,7 +30916,7 @@ _021398f0: str r0, [r4, #0xa4] str r0, [r4, #0xa8] str r0, [r4, #0xac] - ldr ip, _02139a70 ; =data_027e0fbc + ldr ip, _02139a70 ; =gHealthManager add r3, r4, #0x300 ldr r2, [ip] add r1, r4, #0x60 @@ -30958,7 +30958,7 @@ _02139a60: .word func_ov15_02139a80 _02139a64: .word func_ov15_02139a94 _02139a68: .word func_020350ac _02139a6c: .word func_02035064 -_02139a70: .word data_027e0fbc +_02139a70: .word gHealthManager _02139a74: .word data_027e10a4 _02139a78: .word data_027e0d38 _02139a7c: .word data_027e0ce0 @@ -30994,7 +30994,7 @@ func_ov15_02139ab4: ; 0x02139ab4 ldr r1, _02139cb8 ; =data_ov15_0218aaac mov r4, r0 str r1, [r4] - ldr r1, _02139cbc ; =data_027e0fbc + ldr r1, _02139cbc ; =gHealthManager ldrsh r3, [r4, #0xa] ldr r2, [r1] add r0, r4, #0x300 @@ -31123,7 +31123,7 @@ _02139af4: .align 2, 0 arm_func_end func_ov15_02139ab4 _02139cb8: .word data_ov15_0218aaac -_02139cbc: .word data_027e0fbc +_02139cbc: .word gHealthManager _02139cc0: .word data_027e10a4 _02139cc4: .word func_020350ac _02139cc8: .word func_ov15_02139a80 @@ -31136,7 +31136,7 @@ func_ov15_02139cd0: ; 0x02139cd0 ldr r1, _02139edc ; =data_ov15_0218aaac mov r4, r0 str r1, [r4] - ldr r1, _02139ee0 ; =data_027e0fbc + ldr r1, _02139ee0 ; =gHealthManager ldrsh r3, [r4, #0xa] ldr r2, [r1] add r0, r4, #0x300 @@ -31267,7 +31267,7 @@ _02139d10: .align 2, 0 arm_func_end func_ov15_02139cd0 _02139edc: .word data_ov15_0218aaac -_02139ee0: .word data_027e0fbc +_02139ee0: .word gHealthManager _02139ee4: .word data_027e10a4 _02139ee8: .word func_020350ac _02139eec: .word func_ov15_02139a80 @@ -31827,13 +31827,13 @@ func_ov15_0213a5e8: ; 0x0213a5e8 .global func_ov15_0213a604 arm_func_start func_ov15_0213a604 func_ov15_0213a604: ; 0x0213a604 - ldr r0, _0213a614 ; =data_027e0fbc + ldr r0, _0213a614 ; =gHealthManager ldr r0, [r0] ldrsh r0, [r0, #4] bx lr .align 2, 0 arm_func_end func_ov15_0213a604 -_0213a614: .word data_027e0fbc +_0213a614: .word gHealthManager .global func_ov15_0213a618 arm_func_start func_ov15_0213a618 diff --git a/asm/ov26.inc b/asm/ov26.inc index 48fbba7f..47e749b8 100644 --- a/asm/ov26.inc +++ b/asm/ov26.inc @@ -92,7 +92,7 @@ .extern data_027e0f94 .extern data_027e0fa0 .extern data_027e0fac -.extern data_027e0fbc +.extern gHealthManager .extern data_027e0fc8 .extern data_027e0fd4 .extern data_027e0fe0 diff --git a/asm/ov26.s b/asm/ov26.s index 1fda29e7..9b4a55e2 100644 --- a/asm/ov26.s +++ b/asm/ov26.s @@ -1707,7 +1707,7 @@ func_ov26_0216e8b8: ; 0x0216e8b8 ldrb r0, [r0] cmp r0, #0 beq _0216e98e - ldr r0, _0216e9c0 ; =data_027e0fbc + ldr r0, _0216e9c0 ; =gHealthManager ldr r0, [r0] ldrh r1, [r0, #0xa] mov r0, #2 @@ -1762,7 +1762,7 @@ _0216e9b0: thumb_func_end func_ov26_0216e8b8 _0216e9b8: .word gItemManager _0216e9bc: .word data_027e0d38 -_0216e9c0: .word data_027e0fbc +_0216e9c0: .word gHealthManager .global func_ov26_0216e9c4 thumb_func_start func_ov26_0216e9c4 @@ -2101,7 +2101,7 @@ _0216edf8: mov r1, #0x3c add r0, r0, #0x3b bl func_01ff9b4c - ldr r1, _0216ee38 ; =data_027e0fbc + ldr r1, _0216ee38 ; =gHealthManager mov r2, #1 ldr r3, [r1] mov r0, r0, lsl #0x10 @@ -2115,7 +2115,7 @@ _0216edf8: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov26_0216edb4 -_0216ee38: .word data_027e0fbc +_0216ee38: .word gHealthManager .global func_ov26_0216ee3c arm_func_start func_ov26_0216ee3c @@ -8769,7 +8769,7 @@ _02174196: ldrb r1, [r1] cmp r1, #0 beq _02174204 - ldr r1, _02174250 ; =data_027e0fbc + ldr r1, _02174250 ; =gHealthManager ldr r1, [r1] ldrh r2, [r1, #0xa] mov r1, #2 @@ -8867,7 +8867,7 @@ _0217424e: pop {r3, pc} .align 2, 0 thumb_func_end func_ov26_02174170 -_02174250: .word data_027e0fbc +_02174250: .word gHealthManager _02174254: .word gItemManager .global func_ov26_02174258 diff --git a/asm/ov33.inc b/asm/ov33.inc index cff44040..e21c1f6a 100644 --- a/asm/ov33.inc +++ b/asm/ov33.inc @@ -16,7 +16,7 @@ .extern data_027e0f94 .extern data_027e0fa0 .extern data_027e0fac -.extern data_027e0fbc +.extern gHealthManager .extern data_027e0fc8 .extern data_027e0fe0 .extern data_027e0fe4 diff --git a/asm/ov33.s b/asm/ov33.s index 98d30ba5..401c3b38 100644 --- a/asm/ov33.s +++ b/asm/ov33.s @@ -1755,7 +1755,7 @@ _0217d3b0: mov r0, #1 ldmia sp!, {r4, pc} _0217d3d0: - ldr r0, _0217d3f4 ; =data_027e0fbc + ldr r0, _0217d3f4 ; =gHealthManager mov r2, #5 ldr r1, [r0] mov r0, #1 @@ -1767,7 +1767,7 @@ _0217d3e8: .align 2, 0 arm_func_end func_ov33_0217d394 _0217d3f0: .word data_027e0e28 -_0217d3f4: .word data_027e0fbc +_0217d3f4: .word gHealthManager .global func_ov33_0217d3f8 arm_func_start func_ov33_0217d3f8 @@ -1780,7 +1780,7 @@ func_ov33_0217d3f8: ; 0x0217d3f8 beq _0217d444 cmp r1, #0x1f bne _0217d484 - ldr r1, _0217d48c ; =data_027e0fbc + ldr r1, _0217d48c ; =gHealthManager ldr r1, [r1] ldrsh r1, [r1, #8] mov r1, r1, lsl #0x18 @@ -1793,7 +1793,7 @@ _0217d43c: mov r0, r4 ldmia sp!, {r4, pc} _0217d444: - ldr r0, _0217d48c ; =data_027e0fbc + ldr r0, _0217d48c ; =gHealthManager ldr r0, [r0] ldrsh r0, [r0, #4] sub r1, r0, #0x10 @@ -1815,7 +1815,7 @@ _0217d484: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov33_0217d3f8 -_0217d48c: .word data_027e0fbc +_0217d48c: .word gHealthManager .global func_ov33_0217d490 arm_func_start func_ov33_0217d490 diff --git a/include/Player/HealthManager.hpp b/include/Player/HealthManager.hpp new file mode 100644 index 00000000..5ebb7181 --- /dev/null +++ b/include/Player/HealthManager.hpp @@ -0,0 +1,22 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "System/SysNew.hpp" + +class HealthManager : public SysObject { +public: + /* 00 */ u16 mMaxHealth; + /* 02 */ u16 mHealth; + /* 04 */ s16 mMaxShipHealth; + /* 06 */ s16 mShipHealth; + /* 08 */ u16 mSalvageArmHealth; + /* 0a */ s16 mFlags; + /* 0c */ unk16 mUnk_0c; + /* 0e */ unk8 mUnk_0e; + /* 0f */ unk8 mUnk_0f; + /* 10 */ +}; + +extern HealthManager *gHealthManager; From 35528451dec9fb0fed1bdec528e6604e2d162ec2 Mon Sep 17 00:00:00 2001 From: Aetias Date: Thu, 18 Apr 2024 17:15:33 +0200 Subject: [PATCH 05/76] Add item/adventure flags + item IDs --- include/Item/Item.hpp | 124 ++++++++++++++++++++++---------- include/Item/ItemManager.hpp | 4 +- include/Save/AdventureFlags.hpp | 29 +++++++- 3 files changed, 116 insertions(+), 41 deletions(-) diff --git a/include/Item/Item.hpp b/include/Item/Item.hpp index a2b02076..68e05cda 100644 --- a/include/Item/Item.hpp +++ b/include/Item/Item.hpp @@ -5,77 +5,121 @@ typedef s32 ItemFlag; enum ItemFlag_ { ItemFlag_None = -1, - ItemFlag_OshusSword = 0, - ItemFlag_WoodenShield = 1, - ItemFlag_Boomerang = 2, - ItemFlag_Shovel = 3, - ItemFlag_BombBag = 4, - ItemFlag_Bow = 5, - ItemFlag_GrapplingHook = 6, - ItemFlag_BombchuBag = 7, - ItemFlag_Hammer = 8, - ItemFlag_PotionA = 9, - ItemFlag_PotionB = 10, + /* 0x00 */ ItemFlag_OshusSword = 0, + /* 0x01 */ ItemFlag_WoodenShield = 1, + /* 0x02 */ ItemFlag_Boomerang = 2, + /* 0x03 */ ItemFlag_Shovel = 3, + /* 0x04 */ ItemFlag_BombBag = 4, + /* 0x05 */ ItemFlag_Bow = 5, + /* 0x06 */ ItemFlag_GrapplingHook = 6, + /* 0x07 */ ItemFlag_BombchuBag = 7, + /* 0x08 */ ItemFlag_Hammer = 8, + /* 0x09 */ ItemFlag_PotionA = 9, + /* 0x0a */ ItemFlag_PotionB = 10, ItemFlag_EQUIP_START = ItemFlag_OshusSword, ItemFlag_EQUIP_END = ItemFlag_PotionB + 1, ItemFlag_EQUIP_COUNT = ItemFlag_EQUIP_END - ItemFlag_EQUIP_START, - ItemFlag_SpiritOfCourage = 20, - ItemFlag_SpiritOfPower = 21, - ItemFlag_SpiritOfWisdom = 22, - ItemFlag_CourageLv1 = 23, - ItemFlag_PowerLv1 = 24, - ItemFlag_WisdomLv1 = 25, + /* 0x14 */ ItemFlag_SpiritOfCourage = 20, + /* 0x15 */ ItemFlag_SpiritOfPower = 21, + /* 0x16 */ ItemFlag_SpiritOfWisdom = 22, + /* 0x17 */ ItemFlag_CourageLv1 = 23, + /* 0x18 */ ItemFlag_PowerLv1 = 24, + /* 0x19 */ ItemFlag_WisdomLv1 = 25, ItemFlag_FAIRY_LV1 = ItemFlag_CourageLv1, - ItemFlag_CourageLv2 = 26, - ItemFlag_PowerLv2 = 27, - ItemFlag_WisdomLv2 = 28, + /* 0x1a */ ItemFlag_CourageLv2 = 26, + /* 0x1b */ ItemFlag_PowerLv2 = 27, + /* 0x1c */ ItemFlag_WisdomLv2 = 28, ItemFlag_FAIRY_LV2 = ItemFlag_CourageLv2, - ItemFlag_Hourglass = 32, - ItemFlag_SeaChartSW = 33, - ItemFlag_SeaChartNW = 34, - ItemFlag_SeaChartSE = 35, - ItemFlag_SeaChartNE = 36, - ItemFlag_PhantomSword = 37, - ItemFlag_SunKey = 38, + /* 0x20 */ ItemFlag_Hourglass = 32, + /* 0x21 */ ItemFlag_SeaChartSW = 33, + /* 0x22 */ ItemFlag_SeaChartNW = 34, + /* 0x23 */ ItemFlag_SeaChartSE = 35, + /* 0x24 */ ItemFlag_SeaChartNE = 36, + /* 0x25 */ ItemFlag_PhantomSword = 37, + /* 0x26 */ ItemFlag_SunKey = 38, + /* 0x27 */ ItemFlag_Unk_39 = 39, + /* 0x28 */ ItemFlag_FishingRod = 40, + /* 0x29 */ ItemFlag_Cannon = 41, + /* 0x2a */ ItemFlag_KingsKey = 42, + /* 0x2b */ ItemFlag_GhostKey = 43, + /* 0x2c */ ItemFlag_SalvageArm = 44, - ItemFlag_KingsKey = 42, - ItemFlag_GhostKey = 43, + /* 0x2d */ ItemFlag_SwordsmansScroll = 45, + /* 0x2e */ ItemFlag_CycloneSlate = 46, + /* 0x2f */ ItemFlag_Unk_47 = 47, - ItemFlag_SwordsmansScroll = 45, + /* 0x60 */ ItemFlag_TreasureChart1 = 96, + /* 0x61 */ ItemFlag_TreasureChart2 = 97, + /* 0x62 */ ItemFlag_TreasureChart3 = 98, + /* 0x63 */ ItemFlag_TreasureChart4 = 99, + /* 0x64 */ ItemFlag_TreasureChart5 = 100, + /* 0x65 */ ItemFlag_TreasureChart6 = 101, + /* 0x66 */ ItemFlag_TreasureChart7 = 102, + /* 0x67 */ ItemFlag_TreasureChart8 = 103, + /* 0x68 */ ItemFlag_TreasureChart9 = 104, + /* 0x69 */ ItemFlag_TreasureChart10 = 105, + /* 0x6a */ ItemFlag_TreasureChart11 = 106, + /* 0x6b */ ItemFlag_TreasureChart12 = 107, + /* 0x6c */ ItemFlag_TreasureChart13 = 108, + /* 0x6d */ ItemFlag_TreasureChart14 = 109, + /* 0x6e */ ItemFlag_TreasureChart15 = 110, + /* 0x6f */ ItemFlag_TreasureChart16 = 111, + /* 0x70 */ ItemFlag_TreasureChart17 = 112, + /* 0x71 */ ItemFlag_TreasureChart18 = 113, + /* 0x72 */ ItemFlag_TreasureChart19 = 114, + /* 0x73 */ ItemFlag_TreasureChart20 = 115, + /* 0x74 */ ItemFlag_TreasureChart21 = 116, + /* 0x75 */ ItemFlag_TreasureChart22 = 117, + /* 0x76 */ ItemFlag_TreasureChart23 = 118, + /* 0x77 */ ItemFlag_TreasureChart24 = 119, + /* 0x78 */ ItemFlag_TreasureChart25 = 120, + /* 0x79 */ ItemFlag_TreasureChart26 = 121, + /* 0x7a */ ItemFlag_TreasureChart27 = 122, + /* 0x7b */ ItemFlag_TreasureChart28 = 123, + /* 0x7c */ ItemFlag_TreasureChart29 = 124, + /* 0x7d */ ItemFlag_TreasureChart30 = 125, + /* 0x7e */ ItemFlag_TreasureChart31 = 126, + /* 0x7f */ ItemFlag_TreasureChart32 = 127, + ItemFlag_TREASURE_CHART_START = ItemFlag_TreasureChart1, - ItemFlag_COUNT = 128, + ItemFlag_COUNT = 128, }; typedef s32 ItemId; enum ItemId_ { + /* 0x00 */ ItemId_Unk_0 = 0, /* 0x01 */ ItemId_SmallKey = 1, /* 0x02 */ ItemId_GreenRupee = 2, /* 0x03 */ ItemId_OshusSword = 3, /* 0x04 */ ItemId_WoodenShield = 4, - + /* 0x05 */ ItemId_Unk_5 = 5, + /* 0x06 */ ItemId_Unk_6 = 6, /* 0x07 */ ItemId_BombBag = 7, /* 0x08 */ ItemId_Bow = 8, /* 0x09 */ ItemId_BigGreenRupee = 9, /* 0x0a */ ItemId_HeartContainer = 10, - + /* 0x0b */ ItemId_Unk_11 = 11, /* 0x0c */ ItemId_Boomerang = 12, /* 0x0d */ ItemId_Scoop = 13, /* 0x0e */ ItemId_BombchuBag = 14, /* 0x0f */ ItemId_BossKey = 15, - + /* 0x10 */ ItemId_Unk_16 = 16, + /* 0x11 */ ItemId_Unk_17 = 17, /* 0x12 */ ItemId_PhantomHourglass = 18, /* 0x13 */ ItemId_SWSeaChart = 19, /* 0x14 */ ItemId_NWSeaChart = 20, /* 0x15 */ ItemId_SESeaChart = 21, /* 0x16 */ ItemId_NESeaChart = 22, - + /* 0x17 */ ItemId_Unk_23 = 23, /* 0x18 */ ItemId_BlueRupee = 24, /* 0x19 */ ItemId_RedRupee = 25, /* 0x1a */ ItemId_BigRedRupee = 26, /* 0x1b */ ItemId_GoldRupee = 27, - + /* 0x1c */ ItemId_Unk_28 = 28, + /* 0x1d */ ItemId_Unk_29 = 29, + /* 0x1e */ ItemId_Unk_30 = 30, /* 0x1f */ ItemId_Hammer = 31, /* 0x20 */ ItemId_Rope = 32, /* 0x21 */ ItemId_SquareCrystal = 33, @@ -84,7 +128,7 @@ enum ItemId_ { /* 0x24 */ ItemId_FishingRod = 36, /* 0x25 */ ItemId_Cannon = 37, /* 0x26 */ ItemId_SunKey = 38, - + /* 0x27 */ ItemId_Unk_39 = 39, /* 0x28 */ ItemId_Quiver = 40, /* 0x29 */ ItemId_BigBombBag = 41, /* 0x2a */ ItemId_BigBombchuBag = 42, @@ -177,12 +221,14 @@ enum ItemId_ { /* 0x7d */ ItemId_Unk_125 = 125, /* 0x7e */ ItemId_Unk_126 = 126, /* 0x7f */ ItemId_CycloneSlate = 127, - + /* 0x80 */ ItemId_Unk_128 = 128, /* 0x81 */ ItemId_Rupoor10 = 129, /* 0x82 */ ItemId_Rupoor50 = 130, + /* 0x84 */ ItemId_Unk_132 = 132, /* 0x85 */ ItemId_Unk_133 = 133, - + /* 0x86 */ ItemId_Unk_134 = 134, + /* 0x87 */ ItemId_Unk_135 = 135, /* 0x88 */ ItemId_Unk_136 = 136, }; diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 2f7b5084..99bf3edc 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -9,8 +9,10 @@ extern "C" { #include "lib/math.h" #include "Actor/ActorNavi.hpp" +#include "Save/AdventureFlags.hpp" #include "Item/Item.hpp" #include "Player/EquipItem.hpp" +#include "Player/HealthManager.hpp" #include "System/SysNew.hpp" #include "System/OverlayManager.hpp" #include "Render/ModelRender.hpp" @@ -83,7 +85,7 @@ typedef u8 Potion; enum Potion_ { Potion_None, Potion_Red, - Potion_Blue, + Potion_Purple, Potion_Yellow, Potion_COUNT, }; diff --git a/include/Save/AdventureFlags.hpp b/include/Save/AdventureFlags.hpp index 411d3a55..5282b09c 100644 --- a/include/Save/AdventureFlags.hpp +++ b/include/Save/AdventureFlags.hpp @@ -9,7 +9,33 @@ typedef u32 AdventureFlag; enum AdventureFlag_ { - AdventureFlag_COUNT = 391, + /* 0x09 */ AdventureFlag_SWSeaChart = 9, + /* 0x0a */ AdventureFlag_NWSeaChart = 10, + /* 0x0b */ AdventureFlag_SESeaChart = 11, + /* 0x0c */ AdventureFlag_NESeaChart = 12, + + /* 0x13 */ AdventureFlag_Hourglass = 19, + + /* 0x16 */ AdventureFlag_SunKey = 22, + /* 0x17 */ AdventureFlag_Unk_23 = 23, + + /* 0x2b */ AdventureFlag_FishingRod = 43, + + /* 0x30 */ AdventureFlag_Cannon = 48, + + /* 0x7d */ AdventureFlag_Azurine = 126, + /* 0x7e */ AdventureFlag_Crimsonine = 126, + /* 0x7f */ AdventureFlag_Aquanine = 127, + /* 0x80 */ AdventureFlag_Unk_128 = 128, + + /* 0x8c */ AdventureFlag_SalvageArm = 140, + + /* 0x126 */ AdventureFlag_ReceivedGoldenChimney = 294, + /* 0x127 */ AdventureFlag_ReceivedGoldenHandrail = 295, + /* 0x128 */ AdventureFlag_ReceivedGoldenCannon = 296, + /* 0x129 */ AdventureFlag_ReceivedGoldenHull = 297, + + /* 0x187 */ AdventureFlag_COUNT = 391, }; struct FlagsUnk2 { @@ -46,6 +72,7 @@ struct FlagsUnk { }; class AdventureFlags : public SysObject { +public: /* 00 */ unk32 mFlags[16]; /* 40 */ CutsceneHandler *mCutsceneHandler; /* 44 */ void *mUnk_44; From ce73f7f7656aeb9dc290e473ac6d4aea57f5021b Mon Sep 17 00:00:00 2001 From: Aetias Date: Thu, 18 Apr 2024 19:37:21 +0200 Subject: [PATCH 06/76] Decomp `ItemManager::GiveItem` --- asm/main.inc | 2 +- asm/main.s | 2 +- asm/ov00/Item/ItemManager.inc | 4 +- asm/ov00/Item/ItemManager.s | 797 +------------------------------ asm/ov00/ov00_020b1498.inc | 2 +- asm/ov00/ov00_020b1498.s | 2 +- asm/ov05.inc | 2 +- asm/ov05.s | 2 +- asm/ov09.inc | 2 +- asm/ov09.s | 20 +- asm/ov14/Actor/ActorRupee.inc | 2 +- asm/ov14/Actor/ActorRupee.s | 2 +- asm/ov14/ov14_0213b778.inc | 2 +- asm/ov14/ov14_0213b778.s | 2 +- asm/ov15.inc | 4 +- asm/ov15.s | 8 +- asm/ov28.inc | 2 +- asm/ov28.s | 2 +- asm/ov31.inc | 4 +- asm/ov31.s | 4 +- asm/ov45.inc | 2 +- asm/ov45.s | 2 +- asm/ov46.inc | 2 +- asm/ov46.s | 2 +- asm/ov49.inc | 2 +- asm/ov49.s | 2 +- asm/ov52.inc | 2 +- asm/ov52.s | 2 +- asm/ov55.inc | 2 +- asm/ov55.s | 2 +- include/Item/Item.hpp | 2 +- include/Item/ItemManager.hpp | 2 +- include/Save/AdventureFlags.hpp | 2 +- src/00_Core/Item/ItemManager.cpp | 279 +++++++++++ 34 files changed, 339 insertions(+), 833 deletions(-) diff --git a/asm/main.inc b/asm/main.inc index 1071f33c..f0597b61 100644 --- a/asm/main.inc +++ b/asm/main.inc @@ -1,6 +1,6 @@ #pragma once .extern Divide -.extern _ZN11ItemManager10GiveRupeesEjj +.extern _ZN11ItemManager10GiveRupeesEsi .extern _ZN11ItemManager7AddItemEi .extern _ZN11ItemManager8GiveKeysEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j diff --git a/asm/main.s b/asm/main.s index 8ccc1852..2e63355d 100644 --- a/asm/main.s +++ b/asm/main.s @@ -76814,7 +76814,7 @@ _0203826c: ldr r1, [r4, #4] ldr r0, [r0] mov r2, #1 - bl _ZN11ItemManager10GiveRupeesEjj + bl _ZN11ItemManager10GiveRupeesEsi add sp, sp, #0x18 mov r0, #2 ldmia sp!, {r3, r4, r5, pc} diff --git a/asm/ov00/Item/ItemManager.inc b/asm/ov00/Item/ItemManager.inc index 435edbdc..f344faea 100644 --- a/asm/ov00/Item/ItemManager.inc +++ b/asm/ov00/Item/ItemManager.inc @@ -21,6 +21,6 @@ .extern func_ov00_020cf374 .extern func_ov00_020d73bc .extern func_ov05_02104004 -.extern func_ov09_0211c700 -.extern func_ov09_0211ca20 +.extern EquipLinebeckCannon +.extern GiveShipPart .extern gItemManager diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index 373211dd..c8778259 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,782 +3,9 @@ .text - .global _ZN11ItemManager8GiveItemEi - thumb_func_start _ZN11ItemManager8GiveItemEi -_ZN11ItemManager8GiveItemEi: ; 0x020adcdc - push {r3, r4, r5, lr} - cmp r1, #0x76 - bgt _020addd2 - blt _020adce6 - b _020ae128 -_020adce6: - cmp r1, #0x6f - bgt _020adda0 - blt _020adcee - b _020ae0ec -_020adcee: - cmp r1, #0x6c - bgt _020add8e - blt _020adcf6 - b _020ae0bc -_020adcf6: - cmp r1, #0x3d - bgt _020add86 - cmp r1, #0 - blt _020add8c - add r2, r1, r1 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_020add0a: ; jump table - .short _020ae222 - _020add0a - 2 ; case 0 - .short _020ade36 - _020add0a - 2 ; case 1 - .short _020ade3e - _020add0a - 2 ; case 2 - .short _020ade7c - _020add0a - 2 ; case 3 - .short _020ade98 - _020add0a - 2 ; case 4 - .short _020ae222 - _020add0a - 2 ; case 5 - .short _020ae1fe - _020add0a - 2 ; case 6 - .short _020adeb4 - _020add0a - 2 ; case 7 - .short _020adec8 - _020add0a - 2 ; case 8 - .short _020ade5c - _020add0a - 2 ; case 9 - .short _020ae1fe - _020add0a - 2 ; case 10 - .short _020ae1fe - _020add0a - 2 ; case 11 - .short _020aded2 - _020add0a - 2 ; case 12 - .short _020adedc - _020add0a - 2 ; case 13 - .short _020adebe - _020add0a - 2 ; case 14 - .short _020ae1fe - _020add0a - 2 ; case 15 - .short _020ae222 - _020add0a - 2 ; case 16 - .short _020ae1fe - _020add0a - 2 ; case 17 - .short _020adefa - _020add0a - 2 ; case 18 - .short _020adf12 - _020add0a - 2 ; case 19 - .short _020adf2c - _020add0a - 2 ; case 20 - .short _020adf46 - _020add0a - 2 ; case 21 - .short _020adf60 - _020add0a - 2 ; case 22 - .short _020ae1fe - _020add0a - 2 ; case 23 - .short _020ade48 - _020add0a - 2 ; case 24 - .short _020ade52 - _020add0a - 2 ; case 25 - .short _020ade66 - _020add0a - 2 ; case 26 - .short _020ade70 - _020add0a - 2 ; case 27 - .short _020ae1fe - _020add0a - 2 ; case 28 - .short _020ae1fe - _020add0a - 2 ; case 29 - .short _020ae1fe - _020add0a - 2 ; case 30 - .short _020adee6 - _020add0a - 2 ; case 31 - .short _020adef0 - _020add0a - 2 ; case 32 - .short _020ae1fe - _020add0a - 2 ; case 33 - .short _020ae1fe - _020add0a - 2 ; case 34 - .short _020ae1fe - _020add0a - 2 ; case 35 - .short _020adf7a - _020add0a - 2 ; case 36 - .short _020adf96 - _020add0a - 2 ; case 37 - .short _020adfbe - _020add0a - 2 ; case 38 - .short _020adfd8 - _020add0a - 2 ; case 39 - .short _020adff2 - _020add0a - 2 ; case 40 - .short _020adff8 - _020add0a - 2 ; case 41 - .short _020adffe - _020add0a - 2 ; case 42 - .short _020ae1fe - _020add0a - 2 ; case 43 - .short _020ae004 - _020add0a - 2 ; case 44 - .short _020ae024 - _020add0a - 2 ; case 45 - .short _020ae032 - _020add0a - 2 ; case 46 - .short _020ae040 - _020add0a - 2 ; case 47 - .short _020ae1fe - _020add0a - 2 ; case 48 - .short _020ae1fe - _020add0a - 2 ; case 49 - .short _020ae1fe - _020add0a - 2 ; case 50 - .short _020ae1fe - _020add0a - 2 ; case 51 - .short _020ae1fe - _020add0a - 2 ; case 52 - .short _020ae1fe - _020add0a - 2 ; case 53 - .short _020ae1fe - _020add0a - 2 ; case 54 - .short _020ae1fe - _020add0a - 2 ; case 55 - .short _020ae014 - _020add0a - 2 ; case 56 - .short _020ae1fe - _020add0a - 2 ; case 57 - .short _020ae1fe - _020add0a - 2 ; case 58 - .short _020ae1fe - _020add0a - 2 ; case 59 - .short _020ae1fe - _020add0a - 2 ; case 60 - .short _020ae04e - _020add0a - 2 ; case 61 -_020add86: - cmp r1, #0x6b - bne _020add8c - b _020ae0ac -_020add8c: - b _020ae1fe -_020add8e: - cmp r1, #0x6d - bgt _020add98 - bne _020add96 - b _020ae0cc -_020add96: - b _020ae1fe -_020add98: - cmp r1, #0x6e - bne _020add9e - b _020ae0dc -_020add9e: - b _020ae1fe -_020adda0: - cmp r1, #0x72 - bgt _020addba - blt _020adda8 - b _020ae082 -_020adda8: - cmp r1, #0x70 - bgt _020addb2 - bne _020addb0 - b _020ae0fc -_020addb0: - b _020ae1fe -_020addb2: - cmp r1, #0x71 - bne _020addb8 - b _020ae072 -_020addb8: - b _020ae1fe -_020addba: - cmp r1, #0x74 - bgt _020addca - blt _020addc2 - b _020ae09e -_020addc2: - cmp r1, #0x73 - bne _020addc8 - b _020ae090 -_020addc8: - b _020ae1fe -_020addca: - cmp r1, #0x75 - bne _020addd0 - b _020ae10c -_020addd0: - b _020ae1fe -_020addd2: - cmp r1, #0x7c - bgt _020ade06 - blt _020addda - b _020ae1b0 -_020addda: - cmp r1, #0x79 - bgt _020addf4 - blt _020adde2 - b _020ae16c -_020adde2: - cmp r1, #0x77 - bgt _020addec - bne _020addea - b _020ae144 -_020addea: - b _020ae1fe -_020addec: - cmp r1, #0x78 - bne _020addf2 - b _020ae160 -_020addf2: - b _020ae1fe -_020addf4: - cmp r1, #0x7a - bgt _020addfe - bne _020addfc - b _020ae182 -_020addfc: - b _020ae1fe -_020addfe: - cmp r1, #0x7b - bne _020ade04 - thumb_func_end _ZN11ItemManager8GiveItemEi -_020ade02: - b _020ae198 -_020ade04: - b _020ae1fe -_020ade06: - cmp r1, #0x81 - bgt _020ade20 - blt _020ade0e - b _020ae1e6 -_020ade0e: - cmp r1, #0x7f - bgt _020ade18 - bne _020ade16 - b _020ae1c6 -_020ade16: - b _020ae1fe -_020ade18: - cmp r1, #0x80 - bne _020ade1e - b _020ae1d6 -_020ade1e: - b _020ae1fe -_020ade20: - cmp r1, #0x83 - bgt _020ade2e - bge _020ade32 - cmp r1, #0x82 - bne _020ade2c - b _020ae1f2 -_020ade2c: - b _020ae1fe -_020ade2e: - cmp r1, #0x84 - bne _020ade34 -_020ade32: - b _020ae222 -_020ade34: - b _020ae1fe -_020ade36: - mov r1, #1 - bl _ZN11ItemManager8GiveKeysEj - b _020ae222 -_020ade3e: - mov r1, #1 - add r2, r1, #0 - blx _ZN11ItemManager10GiveRupeesEjj - b _020ae222 -_020ade48: - mov r1, #5 - mov r2, #1 - blx _ZN11ItemManager10GiveRupeesEjj - b _020ae222 -_020ade52: - mov r1, #0x14 - mov r2, #1 - blx _ZN11ItemManager10GiveRupeesEjj - b _020ae222 -_020ade5c: - mov r1, #0x64 - mov r2, #1 - blx _ZN11ItemManager10GiveRupeesEjj - b _020ae222 -_020ade66: - mov r1, #0xc8 - mov r2, #1 - blx _ZN11ItemManager10GiveRupeesEjj - b _020ae222 -_020ade70: - mov r1, #0x4b - lsl r1, r1, #2 - mov r2, #1 - blx _ZN11ItemManager10GiveRupeesEjj - b _020ae222 -_020ade7c: - mov r2, #0x4a - lsl r2, r2, #2 - ldr r3, [r0, r2] - mov r1, #1 - orr r1, r3 - str r1, [r0, r2] - mov r1, #0 - blx _ZN11ItemManager12GetEquipItemEi - ldr r2, [r0] - mov r1, #1 - ldr r2, [r2, #0x20] - blx r2 - b _020ae222 -_020ade98: - mov r2, #0x4a - lsl r2, r2, #2 - ldr r3, [r0, r2] - mov r1, #2 - orr r1, r3 - str r1, [r0, r2] - mov r1, #1 - blx _ZN11ItemManager12GetEquipItemEi - ldr r2, [r0] - mov r1, #1 - ldr r2, [r2, #0x20] - blx r2 - b _020ae222 -_020adeb4: - mov r1, #4 - mov r2, #0xa - bl _ZN11ItemManager13GiveEquipItemEij - b _020ae222 -_020adebe: - mov r1, #7 - mov r2, #0xa - bl _ZN11ItemManager13GiveEquipItemEij - b _020ae222 -_020adec8: - mov r1, #5 - mov r2, #0x14 - bl _ZN11ItemManager13GiveEquipItemEij - b _020ae222 -_020aded2: - mov r1, #2 - mov r2, #1 - bl _ZN11ItemManager13GiveEquipItemEij - b _020ae222 -_020adedc: - mov r1, #3 - mov r2, #1 - bl _ZN11ItemManager13GiveEquipItemEij - b _020ae222 -_020adee6: - mov r1, #8 - mov r2, #1 - bl _ZN11ItemManager13GiveEquipItemEij - b _020ae222 -_020adef0: - mov r1, #6 - mov r2, #1 - bl _ZN11ItemManager13GiveEquipItemEij - b _020ae222 -_020adefa: - mov r1, #0x4b - lsl r1, r1, #2 - ldr r3, [r0, r1] - mov r2, #1 - orr r3, r2 - str r3, [r0, r1] - ldr r0, _020ae244 ; =gAdventureFlags - mov r1, #0x13 - ldr r0, [r0] - blx _ZN14AdventureFlags3SetEjb - b _020ae222 -_020adf12: - mov r2, #0x4b - lsl r2, r2, #2 - ldr r3, [r0, r2] - mov r1, #2 - orr r1, r3 - str r1, [r0, r2] - ldr r0, _020ae244 ; =gAdventureFlags - mov r1, #9 - ldr r0, [r0] - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb - b _020ae222 -_020adf2c: - mov r2, #0x4b - lsl r2, r2, #2 - ldr r3, [r0, r2] - mov r1, #4 - orr r1, r3 - str r1, [r0, r2] - ldr r0, _020ae244 ; =gAdventureFlags - mov r1, #0xa - ldr r0, [r0] - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb - b _020ae222 -_020adf46: - mov r2, #0x4b - lsl r2, r2, #2 - ldr r3, [r0, r2] - mov r1, #8 - orr r1, r3 - str r1, [r0, r2] - ldr r0, _020ae244 ; =gAdventureFlags - mov r1, #0xb - ldr r0, [r0] - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb - b _020ae222 -_020adf60: - mov r2, #0x4b - lsl r2, r2, #2 - ldr r3, [r0, r2] - mov r1, #0x10 - orr r1, r3 - str r1, [r0, r2] - ldr r0, _020ae244 ; =gAdventureFlags - mov r1, #0xc - ldr r0, [r0] - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb - b _020ae222 -_020adf7a: - mov r2, #0x4b - lsl r2, r2, #2 - add r1, r2, #0 - ldr r3, [r0, r2] - sub r1, #0x2c - orr r1, r3 - str r1, [r0, r2] - ldr r0, _020ae244 ; =gAdventureFlags - mov r1, #0x2b - ldr r0, [r0] - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb - b _020ae222 -_020adf96: - mov r2, #0x4b - lsl r2, r2, #2 - add r1, r2, #0 - ldr r3, [r0, r2] - add r1, #0xd4 - orr r1, r3 - str r1, [r0, r2] - ldr r0, _020ae244 ; =gAdventureFlags - mov r1, #0x30 - ldr r0, [r0] - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb - mov r0, #3 - mov r1, #0 - bl func_ov09_0211ca20 - bl func_ov09_0211c700 - b _020ae222 -_020adfbe: - mov r2, #0x4b - lsl r2, r2, #2 - ldr r3, [r0, r2] - mov r1, #0x40 - orr r1, r3 - str r1, [r0, r2] - ldr r0, _020ae244 ; =gAdventureFlags - mov r1, #0x16 - ldr r0, [r0] - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb - b _020ae222 -_020adfd8: - mov r2, #0x4b - lsl r2, r2, #2 - ldr r3, [r0, r2] - mov r1, #0x80 - orr r1, r3 - str r1, [r0, r2] - ldr r0, _020ae244 ; =gAdventureFlags - mov r1, #0x17 - ldr r0, [r0] - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb - b _020ae222 -_020adff2: - bl _ZN11ItemManager13UpgradeQuiverEv - b _020ae222 -_020adff8: - bl _ZN11ItemManager14UpgradeBombBagEv - b _020ae222 -_020adffe: - bl _ZN11ItemManager17UpgradeBombchuBagEv - b _020ae222 -_020ae004: - mov r2, #0x4b - lsl r2, r2, #2 - mov r1, #1 - ldr r3, [r0, r2] - lsl r1, r1, #0xa - orr r1, r3 - str r1, [r0, r2] - b _020ae222 -_020ae014: - mov r2, #0x4b - lsl r2, r2, #2 - mov r1, #2 - ldr r3, [r0, r2] - lsl r1, r1, #0xa - orr r1, r3 - str r1, [r0, r2] - b _020ae222 -_020ae024: - add r1, r0, #0 - add r1, #0x25 - ldrb r1, [r1] - add r0, #0x25 - add r1, r1, #1 - strb r1, [r0] - b _020ae222 -_020ae032: - add r1, r0, #0 - add r1, #0x26 - ldrb r1, [r1] - add r0, #0x26 - add r1, r1, #1 - strb r1, [r0] - b _020ae222 -_020ae040: - add r1, r0, #0 - add r1, #0x24 - ldrb r1, [r1] - add r0, #0x24 - add r1, r1, #1 - strb r1, [r0] - b _020ae222 -_020ae04e: - mov r2, #0x4b - lsl r2, r2, #2 - mov r1, #1 - ldr r3, [r0, r2] - lsl r1, r1, #0xc - orr r1, r3 - str r1, [r0, r2] - ldr r0, _020ae244 ; =gAdventureFlags - mov r1, #0x8c - ldr r0, [r0] - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb - ldr r0, _020ae248 ; =gHealthManager - mov r1, #5 - ldr r0, [r0] - strh r1, [r0, #8] - b _020ae222 -_020ae072: - mov r2, #0x4b - lsl r2, r2, #2 - mov r1, #2 - ldr r3, [r0, r2] - lsl r1, r1, #0xc - orr r1, r3 - str r1, [r0, r2] - b _020ae222 -_020ae082: - ldr r0, _020ae244 ; =gAdventureFlags - mov r1, #0x7e - ldr r0, [r0] - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb - b _020ae222 -_020ae090: - ldr r0, _020ae244 ; =gAdventureFlags - mov r1, #0x7d - ldr r0, [r0] - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb - b _020ae222 -_020ae09e: - ldr r0, _020ae244 ; =gAdventureFlags - mov r1, #0x7f - ldr r0, [r0] - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb - b _020ae222 -_020ae0ac: - mov r2, #0x4a - lsl r2, r2, #2 - mov r1, #1 - ldr r3, [r0, r2] - lsl r1, r1, #0x18 - orr r1, r3 - str r1, [r0, r2] - b _020ae222 -_020ae0bc: - mov r2, #0x4a - lsl r2, r2, #2 - mov r1, #2 - ldr r3, [r0, r2] - lsl r1, r1, #0x18 - orr r1, r3 - str r1, [r0, r2] - b _020ae222 -_020ae0cc: - mov r2, #0x4a - lsl r2, r2, #2 - mov r1, #2 - ldr r3, [r0, r2] - lsl r1, r1, #0x16 - orr r1, r3 - str r1, [r0, r2] - b _020ae222 -_020ae0dc: - mov r2, #0x4a - lsl r2, r2, #2 - mov r1, #2 - ldr r3, [r0, r2] - lsl r1, r1, #0x1a - orr r1, r3 - str r1, [r0, r2] - b _020ae222 -_020ae0ec: - mov r2, #0x4a - lsl r2, r2, #2 - mov r1, #1 - ldr r3, [r0, r2] - lsl r1, r1, #0x1c - orr r1, r3 - str r1, [r0, r2] - b _020ae222 -_020ae0fc: - mov r2, #0x4a - lsl r2, r2, #2 - mov r1, #1 - ldr r3, [r0, r2] - lsl r1, r1, #0x1a - orr r1, r3 - str r1, [r0, r2] - b _020ae222 -_020ae10c: - mov r1, #0 -_020ae10e: - add r2, r0, r1 - add r2, #0xbc - ldrb r2, [r2] - cmp r2, #0 - bne _020ae120 - mov r2, #1 - blx _ZN11ItemManager9SetPotionEjj - b _020ae222 -_020ae120: - add r1, r1, #1 - cmp r1, #2 - blt _020ae10e - b _020ae222 -_020ae128: - mov r1, #0 -_020ae12a: - add r2, r0, r1 - add r2, #0xbc - ldrb r2, [r2] - cmp r2, #0 - bne _020ae13c - mov r2, #2 - blx _ZN11ItemManager9SetPotionEjj - b _020ae222 -_020ae13c: - add r1, r1, #1 - cmp r1, #2 - blt _020ae12a - b _020ae222 -_020ae144: - mov r1, #0 -_020ae146: - add r2, r0, r1 - add r2, #0xbc - ldrb r2, [r2] - cmp r2, #0 - bne _020ae158 - mov r2, #3 - blx _ZN11ItemManager9SetPotionEjj - b _020ae222 -_020ae158: - add r1, r1, #1 - cmp r1, #2 - blt _020ae146 - b _020ae222 -_020ae160: - mov r1, #0xe1 - ldr r2, [r0, #0xc] - lsl r1, r1, #4 - add r1, r2, r1 - str r1, [r0, #0xc] - b _020ae222 -_020ae16c: - ldr r0, _020ae244 ; =gAdventureFlags - ldr r1, _020ae24c ; =0x00000126 - ldr r0, [r0] - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb - mov r0, #6 - mov r1, #8 - bl func_ov09_0211ca20 - b _020ae222 -_020ae182: - ldr r0, _020ae244 ; =gAdventureFlags - ldr r1, _020ae250 ; =0x00000127 - ldr r0, [r0] - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb - mov r0, #4 - mov r1, #8 - bl func_ov09_0211ca20 - b _020ae222 -_020ae198: - ldr r0, _020ae244 ; =gAdventureFlags - mov r1, #0x4a - ldr r0, [r0] - lsl r1, r1, #2 - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb - mov r0, #3 - mov r1, #8 - bl func_ov09_0211ca20 - b _020ae222 -_020ae1b0: - ldr r0, _020ae244 ; =gAdventureFlags - ldr r1, _020ae254 ; =0x00000129 - ldr r0, [r0] - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb - mov r0, #2 - mov r1, #8 - bl func_ov09_0211ca20 - b _020ae222 -_020ae1c6: - mov r2, #0x4b - lsl r2, r2, #2 - mov r1, #1 - ldr r3, [r0, r2] - lsl r1, r1, #0xe - orr r1, r3 - str r1, [r0, r2] - b _020ae222 -_020ae1d6: - mov r2, #0x4b - lsl r2, r2, #2 - mov r1, #2 - ldr r3, [r0, r2] - lsl r1, r1, #0xe - orr r1, r3 - str r1, [r0, r2] - b _020ae222 -_020ae1e6: - mov r1, #9 - mvn r1, r1 - mov r2, #1 - blx _ZN11ItemManager10GiveRupeesEjj - b _020ae222 -_020ae1f2: - mov r1, #0x31 - mvn r1, r1 - mov r2, #1 - blx _ZN11ItemManager10GiveRupeesEjj - b _020ae222 -_020ae1fe: - cmp r1, #0x4b - blt _020ae222 - cmp r1, #0x6a - bgt _020ae222 - mov r2, #0x4a - lsl r2, r2, #2 - add r1, #0x15 - add r3, r0, r2 - lsr r0, r1, #5 - mov r4, #0x1f - lsl r2, r0, #2 - mov r5, #1 - and r1, r4 - add r4, r5, #0 - ldr r0, [r3, r2] - lsl r4, r1 - orr r0, r4 - str r0, [r3, r2] -_020ae222: - ldr r0, _020ae244 ; =gAdventureFlags - mov r1, #0x7d - ldr r0, [r0] - blx _ZN14AdventureFlags3GetEj - cmp r0, #0 - beq _020ae270 - ldr r0, _020ae244 ; =gAdventureFlags - mov r1, #0x7e - ldr r0, [r0] - blx _ZN14AdventureFlags3GetEj - cmp r0, #0 - beq _020ae270 - ldr r0, _020ae244 ; =gAdventureFlags - b _020ae258 - nop -_020ae244: .word gAdventureFlags -_020ae248: .word gHealthManager -_020ae24c: .word 0x00000126 -_020ae250: .word 0x00000127 -_020ae254: .word 0x00000129 -_020ae258: - mov r1, #0x7f - ldr r0, [r0] - blx _ZN14AdventureFlags3GetEj - cmp r0, #0 - beq _020ae270 - ldr r0, _020ae274 ; =gAdventureFlags - mov r1, #0x80 - ldr r0, [r0] - mov r2, #1 - blx _ZN14AdventureFlags3SetEjb -_020ae270: - pop {r3, r4, r5, pc} - nop -_020ae274: .word gAdventureFlags - - .global _ZN11ItemManager13GiveEquipItemEij - thumb_func_start _ZN11ItemManager13GiveEquipItemEij -_ZN11ItemManager13GiveEquipItemEij: ; 0x020ae278 + .global _ZN11ItemManager13GiveEquipItemEit + thumb_func_start _ZN11ItemManager13GiveEquipItemEit +_ZN11ItemManager13GiveEquipItemEit: ; 0x020ae278 push {r3, r4, r5, r6, r7, lr} add r6, r1, #0 str r2, [sp] @@ -815,7 +42,7 @@ _ZN11ItemManager13GiveEquipItemEij: ; 0x020ae278 _020ae2bc: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 - thumb_func_end _ZN11ItemManager13GiveEquipItemEij + thumb_func_end _ZN11ItemManager13GiveEquipItemEit .global _ZN11ItemManager13UnequipPotionEv thumb_func_start _ZN11ItemManager13UnequipPotionEv @@ -842,9 +69,9 @@ _ZNK11ItemManager12GetMaxRupeesEv: ; 0x020ae2d4 arm_func_end _ZNK11ItemManager12GetMaxRupeesEv _020ae2dc: .word 0x0000270f - .global _ZN11ItemManager10GiveRupeesEjj - arm_func_start _ZN11ItemManager10GiveRupeesEjj -_ZN11ItemManager10GiveRupeesEjj: ; 0x020ae2e0 + .global _ZN11ItemManager10GiveRupeesEsi + arm_func_start _ZN11ItemManager10GiveRupeesEsi +_ZN11ItemManager10GiveRupeesEsi: ; 0x020ae2e0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldrh r3, [r6, #0x22] @@ -876,7 +103,7 @@ _020ae344: strh r4, [r6, #0x22] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 - arm_func_end _ZN11ItemManager10GiveRupeesEjj + arm_func_end _ZN11ItemManager10GiveRupeesEsi _020ae34c: .word data_027e103c .global _ZNK11ItemManager18func_ov00_020ae350Ev @@ -1115,9 +342,9 @@ _ZN11ItemManager18func_ov00_020ae4dcEj: ; 0x020ae4dc bx lr arm_func_end _ZN11ItemManager18func_ov00_020ae4dcEj - .global _ZN11ItemManager9SetPotionEjj - arm_func_start _ZN11ItemManager9SetPotionEjj -_ZN11ItemManager9SetPotionEjj: ; 0x020ae50c + .global _ZN11ItemManager9SetPotionEjh + arm_func_start _ZN11ItemManager9SetPotionEjh +_ZN11ItemManager9SetPotionEjh: ; 0x020ae50c add r3, r0, r1 strb r2, [r3, #0xbc] cmp r2, #0 @@ -1141,7 +368,7 @@ _020ae544: orr r0, r2, r1, lsl r0 str r0, [ip, r3, lsl #2] bx lr - arm_func_end _ZN11ItemManager9SetPotionEjj + arm_func_end _ZN11ItemManager9SetPotionEjh .global _ZNK11ItemManager9HasPotionEj arm_func_start _ZNK11ItemManager9HasPotionEj diff --git a/asm/ov00/ov00_020b1498.inc b/asm/ov00/ov00_020b1498.inc index ef562e77..5a8e25be 100644 --- a/asm/ov00/ov00_020b1498.inc +++ b/asm/ov00/ov00_020b1498.inc @@ -8,7 +8,7 @@ .extern _ZN10PlayerBase8TeleportEP5Vec3psibb .extern _ZN10PlayerBase8vfunc_04Ev .extern _ZN10PlayerBase9AddHealthEs -.extern _ZN11ItemManager10GiveRupeesEjj +.extern _ZN11ItemManager10GiveRupeesEsi .extern _ZN11ItemManager12GetEquipItemEi .extern _ZN11ItemManager12GetItemModelEj .extern _ZN11ItemManager13UnequipPotionEv diff --git a/asm/ov00/ov00_020b1498.s b/asm/ov00/ov00_020b1498.s index 76f4c215..96402f64 100644 --- a/asm/ov00/ov00_020b1498.s +++ b/asm/ov00/ov00_020b1498.s @@ -15332,7 +15332,7 @@ func_ov00_020bd510: ; 0x020bd510 ldmltia sp!, {r3, r4, r5, pc} rsb r1, r2, #0 mov r2, #0 - bl _ZN11ItemManager10GiveRupeesEjj + bl _ZN11ItemManager10GiveRupeesEsi mvn lr, #0 mov r3, #0 str r3, [sp, #0xc] diff --git a/asm/ov05.inc b/asm/ov05.inc index 8abfb05c..09634718 100644 --- a/asm/ov05.inc +++ b/asm/ov05.inc @@ -510,7 +510,7 @@ .extern func_ov09_02118cd4 .extern func_ov09_0211c724 .extern func_ov09_0211c808 -.extern func_ov09_0211ca20 +.extern GiveShipPart .extern func_ov09_0211cac0 .extern func_ov12_02134208 .extern func_ov14_02127df4 diff --git a/asm/ov05.s b/asm/ov05.s index 41bcb2e9..44a5dda3 100644 --- a/asm/ov05.s +++ b/asm/ov05.s @@ -9681,7 +9681,7 @@ _02108b9c: str r0, [r4, #0x74] ldr r0, [sp, #4] ldr r1, [sp] - blx func_ov09_0211ca20 + blx GiveShipPart b _02108be8 _02108bb4: ldr r0, _02108cf0 ; =gItemManager diff --git a/asm/ov09.inc b/asm/ov09.inc index 7742fd4b..9461dc15 100644 --- a/asm/ov09.inc +++ b/asm/ov09.inc @@ -1,6 +1,6 @@ #pragma once .extern Divide -.extern _ZN11ItemManager10GiveRupeesEjj +.extern _ZN11ItemManager10GiveRupeesEsi .extern _ZN11ItemManager13EquipShipPartEjj .extern _ZN11ItemManager16SetShipPartCountEjjc .extern _ZN11ItemManager16SetTreasureCountEjc diff --git a/asm/ov09.s b/asm/ov09.s index a0391a4a..99fd5dfe 100644 --- a/asm/ov09.s +++ b/asm/ov09.s @@ -16992,9 +16992,9 @@ _0211c6f2: thumb_func_end func_ov09_0211c6b4 _0211c6fc: .word gItemManager - .global func_ov09_0211c700 - thumb_func_start func_ov09_0211c700 -func_ov09_0211c700: ; 0x0211c700 + .global EquipLinebeckCannon + thumb_func_start EquipLinebeckCannon +EquipLinebeckCannon: ; 0x0211c700 push {r3, lr} ldr r0, _0211c720 ; =gItemManager mov r1, #3 @@ -17010,7 +17010,7 @@ func_ov09_0211c700: ; 0x0211c700 _0211c71c: pop {r3, pc} nop - thumb_func_end func_ov09_0211c700 + thumb_func_end EquipLinebeckCannon _0211c720: .word gItemManager .global func_ov09_0211c724 @@ -17414,7 +17414,7 @@ func_ov09_0211c9a8: ; 0x0211c9a8 add r1, r0, #0 add r0, r6, #0 mov r2, #1 - blx _ZN11ItemManager10GiveRupeesEjj + blx _ZN11ItemManager10GiveRupeesEsi ldr r0, _0211c9e4 ; =gItemManager add r1, r5, #0 ldr r6, [r0] @@ -17445,7 +17445,7 @@ func_ov09_0211c9e8: ; 0x0211c9e8 add r1, r0, #0 add r0, r4, #0 mov r2, #1 - blx _ZN11ItemManager10GiveRupeesEjj + blx _ZN11ItemManager10GiveRupeesEsi ldr r0, _0211ca1c ; =gItemManager add r1, r5, #0 ldr r4, [r0] @@ -17463,9 +17463,9 @@ func_ov09_0211c9e8: ; 0x0211c9e8 thumb_func_end func_ov09_0211c9e8 _0211ca1c: .word gItemManager - .global func_ov09_0211ca20 - thumb_func_start func_ov09_0211ca20 -func_ov09_0211ca20: ; 0x0211ca20 + .global GiveShipPart + thumb_func_start GiveShipPart +GiveShipPart: ; 0x0211ca20 push {r3, r4, r5, r6, lr} sub sp, #4 add r5, r0, #0 @@ -17538,7 +17538,7 @@ _0211ca94: add sp, #4 pop {r3, r4, r5, r6, pc} .align 2, 0 - thumb_func_end func_ov09_0211ca20 + thumb_func_end GiveShipPart _0211caa8: .word gItemManager _0211caac: .word data_ov09_0211f294 _0211cab0: .word data_ov09_0211f298 diff --git a/asm/ov14/Actor/ActorRupee.inc b/asm/ov14/Actor/ActorRupee.inc index b72e0342..48b79951 100644 --- a/asm/ov14/Actor/ActorRupee.inc +++ b/asm/ov14/Actor/ActorRupee.inc @@ -1,5 +1,5 @@ #pragma once -.extern _ZN11ItemManager10GiveRupeesEjj +.extern _ZN11ItemManager10GiveRupeesEsi .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv diff --git a/asm/ov14/Actor/ActorRupee.s b/asm/ov14/Actor/ActorRupee.s index e386fed3..95ba28fd 100644 --- a/asm/ov14/Actor/ActorRupee.s +++ b/asm/ov14/Actor/ActorRupee.s @@ -371,7 +371,7 @@ _0213b2f8: mov r1, r0 mov r0, r6 mov r2, #0 - bl _ZN11ItemManager10GiveRupeesEjj + bl _ZN11ItemManager10GiveRupeesEsi ldr r0, [r5, #0x158] mvn r1, #0 cmp r0, #0 diff --git a/asm/ov14/ov14_0213b778.inc b/asm/ov14/ov14_0213b778.inc index 7cef6c17..bc8d8d64 100644 --- a/asm/ov14/ov14_0213b778.inc +++ b/asm/ov14/ov14_0213b778.inc @@ -13,7 +13,7 @@ .extern _ZN11ItemManager18EquipItem_vfunc_38Ei .extern _ZN11ItemManager18func_ov00_020ae648Ejjj .extern _ZN11ItemManager8GiveItemEi -.extern _ZN11ItemManager9SetPotionEjj +.extern _ZN11ItemManager9SetPotionEjh .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j diff --git a/asm/ov14/ov14_0213b778.s b/asm/ov14/ov14_0213b778.s index 4c02e2c6..aced9e81 100644 --- a/asm/ov14/ov14_0213b778.s +++ b/asm/ov14/ov14_0213b778.s @@ -5280,7 +5280,7 @@ _0213f516: ldr r0, _0213f598 ; =gItemManager mov r2, #0 ldr r0, [r0] - blx _ZN11ItemManager9SetPotionEjj + blx _ZN11ItemManager9SetPotionEjh b _0213f534 _0213f52c: add r1, r1, #1 diff --git a/asm/ov15.inc b/asm/ov15.inc index 5e6636d2..4ad1b0ee 100644 --- a/asm/ov15.inc +++ b/asm/ov15.inc @@ -9,7 +9,7 @@ .extern _ZN10PlayerBase8TeleportEP5Vec3psibb .extern _ZN10PlayerBase8vfunc_04Ev .extern _ZN10PlayerBase9AddHealthEs -.extern _ZN11ItemManager10GiveRupeesEjj +.extern _ZN11ItemManager10GiveRupeesEsi .extern _ZN11ItemManager10SetUnk_09eEjt .extern _ZN11ItemManager15LoadFanfareItemEi .extern _ZN11ItemManager18func_ov00_020ad528Ev @@ -892,7 +892,7 @@ .extern func_ov09_0211c6b4 .extern func_ov09_0211c724 .extern func_ov09_0211c808 -.extern func_ov09_0211ca20 +.extern GiveShipPart .extern func_ov09_0211cac0 .extern func_ov09_0211cc74 .extern func_ov09_0211cc98 diff --git a/asm/ov15.s b/asm/ov15.s index c34a942a..b822c5e1 100644 --- a/asm/ov15.s +++ b/asm/ov15.s @@ -44522,7 +44522,7 @@ _021452d4: bl func_ov15_0214651c mov r1, r0 mov r0, r4 - blx func_ov09_0211ca20 + blx GiveShipPart b _02145334 _02145300: cmp r5, #0x30 @@ -54185,7 +54185,7 @@ func_ov15_0214d358: ; 0x0214d358 mov r1, r0 mov r0, r5 mov r2, #0 - bl _ZN11ItemManager10GiveRupeesEjj + bl _ZN11ItemManager10GiveRupeesEsi ldr r1, [r4, #0x158] ldr r0, _0214d3dc ; =data_ov00_020eec9c add r1, r1, #0xfa @@ -88224,7 +88224,7 @@ _0216a8a8: bl func_ov15_0214651c mov r1, r0 mov r0, r6 - blx func_ov09_0211ca20 + blx GiveShipPart b _0216a8f8 _0216a8cc: cmp r4, #0x30 @@ -99853,7 +99853,7 @@ func_ov15_02174794: ; 0x02174794 mov r1, r0 mov r0, r5 mov r2, #0 - bl _ZN11ItemManager10GiveRupeesEjj + bl _ZN11ItemManager10GiveRupeesEsi ldr r1, [r4, #0x2c] ldr r0, _02174878 ; =data_ov00_020eec9c add r1, r1, #0xfa diff --git a/asm/ov28.inc b/asm/ov28.inc index b0b44d2c..722c3bc9 100644 --- a/asm/ov28.inc +++ b/asm/ov28.inc @@ -323,7 +323,7 @@ .extern func_ov09_0211c45c .extern func_ov09_0211c724 .extern func_ov09_0211c808 -.extern func_ov09_0211ca20 +.extern GiveShipPart .extern func_ov09_0211cac0 .extern func_ov14_02120ac4 .extern func_ov14_021231d4 diff --git a/asm/ov28.s b/asm/ov28.s index 9a874ae3..8511428d 100644 --- a/asm/ov28.s +++ b/asm/ov28.s @@ -2701,7 +2701,7 @@ _0216faf8: blx func_ov09_0211c724 ldr r0, [sp, #4] ldr r1, [sp] - blx func_ov09_0211ca20 + blx GiveShipPart _0216fb20: mov r0, r4 add sp, sp, #0xc diff --git a/asm/ov31.inc b/asm/ov31.inc index e4542e00..98ece2ad 100644 --- a/asm/ov31.inc +++ b/asm/ov31.inc @@ -1,7 +1,7 @@ #pragma once .extern Divide .extern LoadTreasureItemFanfare -.extern _ZN11ItemManager10GiveRupeesEjj +.extern _ZN11ItemManager10GiveRupeesEsi .extern _ZN11ItemManager8GiveAmmoEit .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN5Actor10SetUnk_11bEv @@ -183,7 +183,7 @@ .extern func_ov09_0211c1a8 .extern func_ov09_0211c980 .extern func_ov09_0211c9a0 -.extern func_ov09_0211ca20 +.extern GiveShipPart .extern func_ov09_0211cac0 .extern func_ov09_0211cca4 .extern func_ov09_0211ccb4 diff --git a/asm/ov31.s b/asm/ov31.s index e903ca8a..6476fc0d 100644 --- a/asm/ov31.s +++ b/asm/ov31.s @@ -1049,7 +1049,7 @@ _0217cae4: ldr r0, [r0] rsb r1, r1, #0 mov r2, #1 - bl _ZN11ItemManager10GiveRupeesEjj + bl _ZN11ItemManager10GiveRupeesEsi bl func_ov31_0217cf1c ldr r0, [r0, #0x470] cmp r0, #0 @@ -5443,7 +5443,7 @@ func_ov31_0217ff08: ; 0x0217ff08 bl func_ov31_02180260 mov r1, r0 mov r0, r4 - blx func_ov09_0211ca20 + blx GiveShipPart bl func_ov31_0217bdb8 bl func_ov31_0217bd80 cmp r0, #0 diff --git a/asm/ov45.inc b/asm/ov45.inc index b1e99fbf..1c341534 100644 --- a/asm/ov45.inc +++ b/asm/ov45.inc @@ -239,7 +239,7 @@ .extern func_ov09_0211c9a0 .extern func_ov09_0211c9a8 .extern func_ov09_0211c9e8 -.extern func_ov09_0211ca20 +.extern GiveShipPart .extern func_ov09_0211cac0 .extern func_ov09_0211cb3c .extern func_ov09_0211cb5c diff --git a/asm/ov45.s b/asm/ov45.s index c8a7a2f8..ba36a1ca 100644 --- a/asm/ov45.s +++ b/asm/ov45.s @@ -1976,7 +1976,7 @@ func_ov45_0218ad80: ; 0x0218ad80 add r0, ip, r0, asr #1 sub r1, lr, r1 mov r4, #0x2b - blx func_ov09_0211ca20 + blx GiveShipPart b _0218ae0c _0218ae00: sub r0, lr, #0x48 diff --git a/asm/ov46.inc b/asm/ov46.inc index f6d86327..11a612e6 100644 --- a/asm/ov46.inc +++ b/asm/ov46.inc @@ -1,6 +1,6 @@ #pragma once .extern Approach_thunk -.extern _ZN11ItemManager10GiveRupeesEjj +.extern _ZN11ItemManager10GiveRupeesEsi .extern _ZN11ItemManager16SetTreasureCountEjc .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p diff --git a/asm/ov46.s b/asm/ov46.s index 71b99700..871c0867 100644 --- a/asm/ov46.s +++ b/asm/ov46.s @@ -3035,7 +3035,7 @@ _02192754: strb r2, [r5, #0x48b] ldr r0, [r0] mov r2, #1 - bl _ZN11ItemManager10GiveRupeesEjj + bl _ZN11ItemManager10GiveRupeesEsi ldrb r2, [r5, #0x48a] ldr r0, _021927d0 ; =gItemManager sub r1, r4, #1 diff --git a/asm/ov49.inc b/asm/ov49.inc index 3f8d442c..6af8dfd1 100644 --- a/asm/ov49.inc +++ b/asm/ov49.inc @@ -2,7 +2,7 @@ .extern Divide .extern _ZN10ActorRupee18func_ov14_0213b5f4EjiP5Vec3pb .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder -.extern _ZN11ItemManager10GiveRupeesEjj +.extern _ZN11ItemManager10GiveRupeesEsi .extern _ZN11ItemManager10RemoveItemEi .extern _ZN11ItemManager12GetItemModelEj .extern _ZN5Actor10SetUnk_11bEv diff --git a/asm/ov49.s b/asm/ov49.s index b0b5a182..f300a945 100644 --- a/asm/ov49.s +++ b/asm/ov49.s @@ -894,7 +894,7 @@ _02196068: mov r0, r5 rsb r1, r1, #0 mov r2, #0 - bl _ZN11ItemManager10GiveRupeesEjj + bl _ZN11ItemManager10GiveRupeesEsi ldrb r1, [r4, #0x5c9] ldr r0, _021960f0 ; =gItemManager add r1, r1, #1 diff --git a/asm/ov52.inc b/asm/ov52.inc index f64f3a75..b9995467 100644 --- a/asm/ov52.inc +++ b/asm/ov52.inc @@ -169,7 +169,7 @@ .extern func_ov05_021082e4 .extern func_ov09_0211c724 .extern func_ov09_0211c808 -.extern func_ov09_0211ca20 +.extern GiveShipPart .extern func_ov09_0211cac0 .extern func_ov14_021448f4 .extern func_ov14_02144a90 diff --git a/asm/ov52.s b/asm/ov52.s index 6591a1ee..6205c120 100644 --- a/asm/ov52.s +++ b/asm/ov52.s @@ -1159,7 +1159,7 @@ _021963c4: blx func_ov09_0211c724 ldr r0, [sp, #4] ldr r1, [sp] - blx func_ov09_0211ca20 + blx GiveShipPart _021963ec: mov r0, r4 add sp, sp, #0xc diff --git a/asm/ov55.inc b/asm/ov55.inc index 355c21b1..e5849d2e 100644 --- a/asm/ov55.inc +++ b/asm/ov55.inc @@ -1,7 +1,7 @@ #pragma once .extern _ZN11ItemManager12GetItemModelEj .extern _ZN11ItemManager17EquipPreviousItemEv -.extern _ZN11ItemManager9SetPotionEjj +.extern _ZN11ItemManager9SetPotionEjh .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13LinkStateBase12GetGrabActorEv .extern _ZN13LinkStateBase12GetPlayerPosEv diff --git a/asm/ov55.s b/asm/ov55.s index f4b8ebdc..9a5e51f0 100644 --- a/asm/ov55.s +++ b/asm/ov55.s @@ -432,7 +432,7 @@ _02199244: ldr r1, [r4, #0xc] ldr r0, [r0] mov r2, #0 - bl _ZN11ItemManager9SetPotionEjj + bl _ZN11ItemManager9SetPotionEjh ldr r0, _0219926c ; =gItemManager ldr r0, [r0] bl _ZN11ItemManager17EquipPreviousItemEv diff --git a/include/Item/Item.hpp b/include/Item/Item.hpp index 68e05cda..7a6a0416 100644 --- a/include/Item/Item.hpp +++ b/include/Item/Item.hpp @@ -224,7 +224,7 @@ enum ItemId_ { /* 0x80 */ ItemId_Unk_128 = 128, /* 0x81 */ ItemId_Rupoor10 = 129, /* 0x82 */ ItemId_Rupoor50 = 130, - + /* 0x83 */ ItemId_Unk_131 = 131, /* 0x84 */ ItemId_Unk_132 = 132, /* 0x85 */ ItemId_Unk_133 = 133, /* 0x86 */ ItemId_Unk_134 = 134, diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 99bf3edc..0caf7c97 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -307,7 +307,7 @@ public: // Rupees u32 GetMaxRupees() const; - void GiveRupees(u16 amount, unk32 param2); + void GiveRupees(s16 amount, unk32 param2); // Potion void SetPotion(u32 index, Potion potion); diff --git a/include/Save/AdventureFlags.hpp b/include/Save/AdventureFlags.hpp index 5282b09c..bfe511f9 100644 --- a/include/Save/AdventureFlags.hpp +++ b/include/Save/AdventureFlags.hpp @@ -23,7 +23,7 @@ enum AdventureFlag_ { /* 0x30 */ AdventureFlag_Cannon = 48, - /* 0x7d */ AdventureFlag_Azurine = 126, + /* 0x7d */ AdventureFlag_Azurine = 125, /* 0x7e */ AdventureFlag_Crimsonine = 126, /* 0x7f */ AdventureFlag_Aquanine = 127, /* 0x80 */ AdventureFlag_Unk_128 = 128, diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 14f47b4c..00e74217 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -458,3 +458,282 @@ THUMB bool ItemManager::GetFanfareItemScale(Vec3p *scale) const { return false; } +extern "C" void GiveShipPart(ShipPart part, ShipType type); +extern "C" void EquipLinebeckCannon(); +THUMB void ItemManager::GiveItem(ItemId id) { + switch (id) { + case ItemId_SmallKey: { + this->GiveKeys(1); + } break; + + case ItemId_GreenRupee: { + this->GiveRupees(1, true); + } break; + + case ItemId_BlueRupee: { + this->GiveRupees(5, true); + } break; + + case ItemId_RedRupee: { + this->GiveRupees(20, true); + } break; + + case ItemId_BigGreenRupee: { + this->GiveRupees(100, true); + } break; + + case ItemId_BigRedRupee: { + this->GiveRupees(200, true); + } break; + + case ItemId_GoldRupee: { + this->GiveRupees(300, true); + } break; + + case ItemId_OshusSword: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_OshusSword); + this->GetEquipItem(ItemFlag_OshusSword)->GiveAmmo(1); + } break; + + case ItemId_WoodenShield: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_WoodenShield); + this->GetEquipItem(ItemFlag_WoodenShield)->GiveAmmo(1); + } break; + + case ItemId_BombBag: { + this->GiveEquipItem(ItemFlag_BombBag, 10); + } break; + + case ItemId_BombchuBag: { + this->GiveEquipItem(ItemFlag_BombchuBag, 10); + } break; + + case ItemId_Bow: { + this->GiveEquipItem(ItemFlag_Bow, 20); + } break; + + case ItemId_Boomerang: { + this->GiveEquipItem(ItemFlag_Boomerang, 1); + } break; + + case ItemId_Scoop: { + this->GiveEquipItem(ItemFlag_Shovel, 1); + } break; + + case ItemId_Hammer: { + this->GiveEquipItem(ItemFlag_Hammer, 1); + } break; + + case ItemId_Rope: { + this->GiveEquipItem(ItemFlag_GrapplingHook, 1); + } break; + + case ItemId_PhantomHourglass: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_Hourglass); + gAdventureFlags->Set(AdventureFlag_Hourglass, true); + } break; + + case ItemId_SWSeaChart: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_SeaChartSW); + gAdventureFlags->Set(AdventureFlag_SWSeaChart, true); + } break; + + case ItemId_NWSeaChart: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_SeaChartNW); + gAdventureFlags->Set(AdventureFlag_NWSeaChart, true); + } break; + + case ItemId_SESeaChart: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_SeaChartSE); + gAdventureFlags->Set(AdventureFlag_SESeaChart, true); + } break; + + case ItemId_NESeaChart: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_SeaChartNE); + gAdventureFlags->Set(AdventureFlag_NESeaChart, true); + } break; + + case ItemId_FishingRod: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_FishingRod); + gAdventureFlags->Set(AdventureFlag_FishingRod, true); + } break; + + case ItemId_Cannon: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_Cannon); + gAdventureFlags->Set(AdventureFlag_Cannon, true); + GiveShipPart(ShipPart_Cannon, ShipType_Linebeck); + EquipLinebeckCannon(); + } break; + + case ItemId_SunKey: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_SunKey); + gAdventureFlags->Set(AdventureFlag_SunKey, true); + } break; + + case ItemId_Unk_39: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_Unk_39); + gAdventureFlags->Set(AdventureFlag_Unk_23, true); + } break; + + case ItemId_Quiver: { + this->UpgradeQuiver(); + } break; + + case ItemId_BigBombBag: { + this->UpgradeBombBag(); + } break; + + case ItemId_BigBombchuBag: { + this->UpgradeBombchuBag(); + } break; + + case ItemId_KingsKey: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_KingsKey); + } break; + + case ItemId_GhostKey: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_GhostKey); + } break; + + case ItemId_PowerGem: { + this->mNumGems[Gem_Power] += 1; + } break; + + case ItemId_WisdomGem: { + this->mNumGems[Gem_Wisdom] += 1; + } break; + + case ItemId_CourageGem: { + this->mNumGems[Gem_Courage] += 1; + } break; + + case ItemId_SalvageArm: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_SalvageArm); + gAdventureFlags->Set(AdventureFlag_SalvageArm, true); + gHealthManager->mSalvageArmHealth = 5; + } break; + + case ItemId_SwordsmanScroll: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_SwordsmansScroll); + } break; + + case ItemId_Crimsonine: { + gAdventureFlags->Set(AdventureFlag_Crimsonine, true); + } break; + + case ItemId_Azurine: { + gAdventureFlags->Set(AdventureFlag_Azurine, true); + } break; + + case ItemId_Aquanine: { + gAdventureFlags->Set(AdventureFlag_Aquanine, true); + } break; + + case ItemId_SpiritOfPowerUpgradeLvl1: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_PowerLv1); + } break; + + case ItemId_SpiritOfWisdomUpgradeLvl1: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_WisdomLv1); + } break; + + case ItemId_SpiritOfCourageUpgradeLvl1: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_CourageLv1); + } break; + + case ItemId_SpiritOfPowerUpgradeLvl2: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_PowerLv2); + } break; + + case ItemId_SpiritOfWisdomUpgradeLvl2: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_WisdomLv2); + } break; + + case ItemId_SpiritOfCourageUpgradeLvl2: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_CourageLv2); + } break; + + case ItemId_RedPotion: { + for (s32 i = 0; i < 2; ++i) { + if (this->mPotions[i] != Potion_None) continue; + this->SetPotion(i, Potion_Red); + break; + } + } break; + + case ItemId_PurplePotion: { + for (s32 i = 0; i < 2; ++i) { + if (this->mPotions[i] != Potion_None) continue; + this->SetPotion(i, Potion_Purple); + break; + } + } break; + + case ItemId_YellowPotion: { + for (s32 i = 0; i < 2; ++i) { + if (this->mPotions[i] != Potion_None) continue; + this->SetPotion(i, Potion_Yellow); + break; + } + } break; + + case ItemId_SandOfHours: { + this->mHourglassSandFrames += 3600; + } break; + + case ItemId_GoldenChimney: { + gAdventureFlags->Set(AdventureFlag_ReceivedGoldenChimney, true); + GiveShipPart(ShipPart_Chimney, ShipType_Golden); + } break; + + case ItemId_GoldenHandrail: { + gAdventureFlags->Set(AdventureFlag_ReceivedGoldenHandrail, true); + GiveShipPart(ShipPart_Handrail, ShipType_Golden); + } break; + + case ItemId_GoldenCannon: { + gAdventureFlags->Set(AdventureFlag_ReceivedGoldenCannon, true); + GiveShipPart(ShipPart_Cannon, ShipType_Golden); + } break; + + case ItemId_GoldenHull: { + gAdventureFlags->Set(AdventureFlag_ReceivedGoldenHull, true); + GiveShipPart(ShipPart_Hull, ShipType_Golden); + } break; + + case ItemId_CycloneSlate: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_CycloneSlate); + } break; + + case ItemId_Unk_128: { + SET_FLAG(this->mItemFlags.flags, ItemFlag_Unk_47); + } break; + + case ItemId_Rupoor10: { + this->GiveRupees(-10, true); + } break; + + case ItemId_Rupoor50: { + this->GiveRupees(-50, true); + } break; + + case ItemId_Unk_0: break; + case ItemId_Unk_5: break; + case ItemId_Unk_16: break; + case ItemId_Unk_131: break; + case ItemId_Unk_132: break; + + default: { + if (ItemId_TREASURE_CHART_START <= id && id <= ItemId_TREASURE_CHART_END) { + SET_FLAG(this->mItemFlags.flags, id + ItemFlag_TREASURE_CHART_START - ItemId_TreasureChart1); + } + } break; + } + if ( + gAdventureFlags->Get(AdventureFlag_Azurine) && + gAdventureFlags->Get(AdventureFlag_Crimsonine) && + gAdventureFlags->Get(AdventureFlag_Aquanine) + ) { + gAdventureFlags->Set(AdventureFlag_Unk_128, true); + } +} From 711cfc7da247d49511e49beba40972baccc0b300 Mon Sep 17 00:00:00 2001 From: Aetias Date: Thu, 18 Apr 2024 19:46:32 +0200 Subject: [PATCH 07/76] Decomp `ItemManager::GiveEquipItem` --- asm/ov00/Item/ItemManager.s | 41 ------------------ src/00_Core/Item/ItemManager.cpp | 72 ++++++++++++++++++-------------- 2 files changed, 41 insertions(+), 72 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index c8778259..b530a3a7 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,47 +3,6 @@ .text - .global _ZN11ItemManager13GiveEquipItemEit - thumb_func_start _ZN11ItemManager13GiveEquipItemEit -_ZN11ItemManager13GiveEquipItemEit: ; 0x020ae278 - push {r3, r4, r5, r6, r7, lr} - add r6, r1, #0 - str r2, [sp] - lsl r2, r6, #0x10 - lsr r5, r2, #0x10 - mov r2, #0x4a - lsr r3, r5, #5 - add r4, r0, #0 - lsl r2, r2, #2 - add r2, r4, r2 - lsl r7, r3, #2 - ldr r3, [r2, r7] - mov ip, r3 - mov r3, #0x1f - and r5, r3 - mov r3, #1 - lsl r3, r5 - mov r5, ip - orr r3, r5 - str r3, [r2, r7] - blx _ZN11ItemManager12GetEquipItemEi - ldr r2, [r0] - ldr r1, [sp] - ldr r2, [r2, #0x20] - blx r2 - mov r0, #0 - ldr r1, [r4] - mvn r0, r0 - cmp r1, r0 - bne _020ae2bc - str r6, [r4] - mov r0, #1 - strh r0, [r4, #0x20] -_020ae2bc: - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 - thumb_func_end _ZN11ItemManager13GiveEquipItemEit - .global _ZN11ItemManager13UnequipPotionEv thumb_func_start _ZN11ItemManager13UnequipPotionEv _ZN11ItemManager13UnequipPotionEv: ; 0x020ae2c0 diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 00e74217..93a6f25a 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -491,12 +491,12 @@ THUMB void ItemManager::GiveItem(ItemId id) { } break; case ItemId_OshusSword: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_OshusSword); + SET_FLAG(mItemFlags.flags, ItemFlag_OshusSword); this->GetEquipItem(ItemFlag_OshusSword)->GiveAmmo(1); } break; case ItemId_WoodenShield: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_WoodenShield); + SET_FLAG(mItemFlags.flags, ItemFlag_WoodenShield); this->GetEquipItem(ItemFlag_WoodenShield)->GiveAmmo(1); } break; @@ -529,49 +529,49 @@ THUMB void ItemManager::GiveItem(ItemId id) { } break; case ItemId_PhantomHourglass: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_Hourglass); + SET_FLAG(mItemFlags.flags, ItemFlag_Hourglass); gAdventureFlags->Set(AdventureFlag_Hourglass, true); } break; case ItemId_SWSeaChart: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_SeaChartSW); + SET_FLAG(mItemFlags.flags, ItemFlag_SeaChartSW); gAdventureFlags->Set(AdventureFlag_SWSeaChart, true); } break; case ItemId_NWSeaChart: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_SeaChartNW); + SET_FLAG(mItemFlags.flags, ItemFlag_SeaChartNW); gAdventureFlags->Set(AdventureFlag_NWSeaChart, true); } break; case ItemId_SESeaChart: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_SeaChartSE); + SET_FLAG(mItemFlags.flags, ItemFlag_SeaChartSE); gAdventureFlags->Set(AdventureFlag_SESeaChart, true); } break; case ItemId_NESeaChart: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_SeaChartNE); + SET_FLAG(mItemFlags.flags, ItemFlag_SeaChartNE); gAdventureFlags->Set(AdventureFlag_NESeaChart, true); } break; case ItemId_FishingRod: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_FishingRod); + SET_FLAG(mItemFlags.flags, ItemFlag_FishingRod); gAdventureFlags->Set(AdventureFlag_FishingRod, true); } break; case ItemId_Cannon: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_Cannon); + SET_FLAG(mItemFlags.flags, ItemFlag_Cannon); gAdventureFlags->Set(AdventureFlag_Cannon, true); GiveShipPart(ShipPart_Cannon, ShipType_Linebeck); EquipLinebeckCannon(); } break; case ItemId_SunKey: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_SunKey); + SET_FLAG(mItemFlags.flags, ItemFlag_SunKey); gAdventureFlags->Set(AdventureFlag_SunKey, true); } break; case ItemId_Unk_39: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_Unk_39); + SET_FLAG(mItemFlags.flags, ItemFlag_Unk_39); gAdventureFlags->Set(AdventureFlag_Unk_23, true); } break; @@ -588,33 +588,33 @@ THUMB void ItemManager::GiveItem(ItemId id) { } break; case ItemId_KingsKey: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_KingsKey); + SET_FLAG(mItemFlags.flags, ItemFlag_KingsKey); } break; case ItemId_GhostKey: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_GhostKey); + SET_FLAG(mItemFlags.flags, ItemFlag_GhostKey); } break; case ItemId_PowerGem: { - this->mNumGems[Gem_Power] += 1; + mNumGems[Gem_Power] += 1; } break; case ItemId_WisdomGem: { - this->mNumGems[Gem_Wisdom] += 1; + mNumGems[Gem_Wisdom] += 1; } break; case ItemId_CourageGem: { - this->mNumGems[Gem_Courage] += 1; + mNumGems[Gem_Courage] += 1; } break; case ItemId_SalvageArm: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_SalvageArm); + SET_FLAG(mItemFlags.flags, ItemFlag_SalvageArm); gAdventureFlags->Set(AdventureFlag_SalvageArm, true); gHealthManager->mSalvageArmHealth = 5; } break; case ItemId_SwordsmanScroll: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_SwordsmansScroll); + SET_FLAG(mItemFlags.flags, ItemFlag_SwordsmansScroll); } break; case ItemId_Crimsonine: { @@ -630,32 +630,32 @@ THUMB void ItemManager::GiveItem(ItemId id) { } break; case ItemId_SpiritOfPowerUpgradeLvl1: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_PowerLv1); + SET_FLAG(mItemFlags.flags, ItemFlag_PowerLv1); } break; case ItemId_SpiritOfWisdomUpgradeLvl1: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_WisdomLv1); + SET_FLAG(mItemFlags.flags, ItemFlag_WisdomLv1); } break; case ItemId_SpiritOfCourageUpgradeLvl1: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_CourageLv1); + SET_FLAG(mItemFlags.flags, ItemFlag_CourageLv1); } break; case ItemId_SpiritOfPowerUpgradeLvl2: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_PowerLv2); + SET_FLAG(mItemFlags.flags, ItemFlag_PowerLv2); } break; case ItemId_SpiritOfWisdomUpgradeLvl2: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_WisdomLv2); + SET_FLAG(mItemFlags.flags, ItemFlag_WisdomLv2); } break; case ItemId_SpiritOfCourageUpgradeLvl2: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_CourageLv2); + SET_FLAG(mItemFlags.flags, ItemFlag_CourageLv2); } break; case ItemId_RedPotion: { for (s32 i = 0; i < 2; ++i) { - if (this->mPotions[i] != Potion_None) continue; + if (mPotions[i] != Potion_None) continue; this->SetPotion(i, Potion_Red); break; } @@ -663,7 +663,7 @@ THUMB void ItemManager::GiveItem(ItemId id) { case ItemId_PurplePotion: { for (s32 i = 0; i < 2; ++i) { - if (this->mPotions[i] != Potion_None) continue; + if (mPotions[i] != Potion_None) continue; this->SetPotion(i, Potion_Purple); break; } @@ -671,14 +671,14 @@ THUMB void ItemManager::GiveItem(ItemId id) { case ItemId_YellowPotion: { for (s32 i = 0; i < 2; ++i) { - if (this->mPotions[i] != Potion_None) continue; + if (mPotions[i] != Potion_None) continue; this->SetPotion(i, Potion_Yellow); break; } } break; case ItemId_SandOfHours: { - this->mHourglassSandFrames += 3600; + mHourglassSandFrames += 3600; } break; case ItemId_GoldenChimney: { @@ -702,11 +702,11 @@ THUMB void ItemManager::GiveItem(ItemId id) { } break; case ItemId_CycloneSlate: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_CycloneSlate); + SET_FLAG(mItemFlags.flags, ItemFlag_CycloneSlate); } break; case ItemId_Unk_128: { - SET_FLAG(this->mItemFlags.flags, ItemFlag_Unk_47); + SET_FLAG(mItemFlags.flags, ItemFlag_Unk_47); } break; case ItemId_Rupoor10: { @@ -725,7 +725,7 @@ THUMB void ItemManager::GiveItem(ItemId id) { default: { if (ItemId_TREASURE_CHART_START <= id && id <= ItemId_TREASURE_CHART_END) { - SET_FLAG(this->mItemFlags.flags, id + ItemFlag_TREASURE_CHART_START - ItemId_TreasureChart1); + SET_FLAG(mItemFlags.flags, id + ItemFlag_TREASURE_CHART_START - ItemId_TREASURE_CHART_START); } } break; } @@ -737,3 +737,13 @@ THUMB void ItemManager::GiveItem(ItemId id) { gAdventureFlags->Set(AdventureFlag_Unk_128, true); } } + +THUMB void ItemManager::GiveEquipItem(ItemFlag item, u16 ammo) { + u16 flag = item; + SET_FLAG(mItemFlags.flags, flag); + this->GetEquipItem(item)->GiveAmmo(ammo); + if (mEquippedItem == ItemFlag_None) { + this->mEquippedItem = item; + this->mEquipLoadTimer = 1; + } +} From b60ce0d48d9a39ce4cc5b51ef1af4b4736a2feff Mon Sep 17 00:00:00 2001 From: Aetias Date: Thu, 18 Apr 2024 19:54:58 +0200 Subject: [PATCH 08/76] Decomp `ItemManager::UnequipPotion` --- asm/ov00/Item/ItemManager.s | 18 +----------------- src/00_Core/Item/ItemManager.cpp | 9 +++++++++ 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index b530a3a7..6edb34ce 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,22 +3,6 @@ .text - .global _ZN11ItemManager13UnequipPotionEv - thumb_func_start _ZN11ItemManager13UnequipPotionEv -_ZN11ItemManager13UnequipPotionEv: ; 0x020ae2c0 - push {r3, lr} - ldr r1, [r0] - cmp r1, #9 - beq _020ae2cc - cmp r1, #0xa - bne _020ae2d0 -_020ae2cc: - blx _ZN11ItemManager17EquipPreviousItemEv -_020ae2d0: - pop {r3, pc} - .align 2, 0 - thumb_func_end _ZN11ItemManager13UnequipPotionEv - .global _ZNK11ItemManager12GetMaxRupeesEv arm_func_start _ZNK11ItemManager12GetMaxRupeesEv _ZNK11ItemManager12GetMaxRupeesEv: ; 0x020ae2d4 @@ -132,7 +116,7 @@ _ZN11ItemManager17EquipPreviousItemEv: ; 0x020ae3c0 bx ip .align 2, 0 arm_func_end _ZN11ItemManager17EquipPreviousItemEv -_020ae3cc: .word _ZN11ItemManager15SetEquippedItemEi - 1 +_020ae3cc: .word _ZN11ItemManager15SetEquippedItemEi .global _ZN11ItemManager13ForceEquipItemEi thumb_func_start _ZN11ItemManager13ForceEquipItemEi diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 93a6f25a..6228e437 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -747,3 +747,12 @@ THUMB void ItemManager::GiveEquipItem(ItemFlag item, u16 ammo) { this->mEquipLoadTimer = 1; } } + +THUMB void ItemManager::UnequipPotion() { + switch (mEquippedItem) { + case ItemFlag_PotionA: + case ItemFlag_PotionB: { + this->EquipPreviousItem(); + } break; + } +} From 153024933a8d0b0e48371bd9ce3cf1d717ed507d Mon Sep 17 00:00:00 2001 From: Aetias Date: Thu, 18 Apr 2024 19:57:01 +0200 Subject: [PATCH 09/76] Update externs --- asm/main.inc | 8 +- asm/ov00/Player/LinkStateInteract.inc | 8 +- asm/ov00/ov00_020980f4.inc | 6 +- asm/ov00/ov00_020c3e54.inc | 20 ++--- asm/ov03.inc | 12 +-- asm/ov06.inc | 2 +- asm/ov09.inc | 14 +-- asm/ov12.inc | 10 +-- asm/ov13.inc | 4 +- asm/ov14/ov14_0213b778.inc | 26 +++--- asm/ov15.inc | 26 +++--- asm/ov22.inc | 12 +-- asm/ov27.inc | 12 +-- asm/ov31.inc | 6 +- asm/ov33.inc | 118 ++++++++++++------------- asm/ov35.inc | 14 +-- asm/ov46.inc | 4 +- asm/ov47.inc | 118 ++++++++++++------------- asm/ov48.inc | 122 +++++++++++++------------- asm/ov49.inc | 8 +- asm/ov51.inc | 112 +++++++++++------------ asm/ov53.inc | 8 +- asm/ov58.inc | 2 +- 23 files changed, 336 insertions(+), 336 deletions(-) diff --git a/asm/main.inc b/asm/main.inc index f0597b61..7ccf79ea 100644 --- a/asm/main.inc +++ b/asm/main.inc @@ -8,6 +8,10 @@ .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN12TouchControl18func_ov00_0207af38Etb .extern _ZN12TouchControlC2Ev +.extern _ZN14AdventureFlags18func_ov00_02097738Ev +.extern _ZN14AdventureFlags3GetEj +.extern _ZN14AdventureFlags3SetEjb +.extern _ZN14AdventureFlags6ExistsEv .extern _ZN17LinkStateInteract18func_ov00_020ab6c8Ev .extern _ZNK11ItemManager7HasItemEi .extern data_027e0000 @@ -318,10 +322,6 @@ .extern func_ov00_0208b180 .extern func_ov00_0208cae8 .extern func_ov00_0208caf8 -.extern _ZN14AdventureFlags6ExistsEv -.extern _ZN14AdventureFlags18func_ov00_02097738Ev -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags3SetEjb .extern func_ov00_0209d728 .extern func_ov00_0209d90c .extern func_ov00_020a5e9c diff --git a/asm/ov00/Player/LinkStateInteract.inc b/asm/ov00/Player/LinkStateInteract.inc index 8df9190c..c35564bc 100644 --- a/asm/ov00/Player/LinkStateInteract.inc +++ b/asm/ov00/Player/LinkStateInteract.inc @@ -1,6 +1,7 @@ #pragma once .extern Divide .extern _ZN10PlayerBase13GetEquipSwordEv +.extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13LinkStateBase10GetStateIdEv .extern _ZN13LinkStateBase12GetGrabActorEv .extern _ZN13LinkStateBase12GetPlayerPosEv @@ -35,6 +36,9 @@ .extern _ZN13PlayerControl18func_ov00_020b05e8EP5Vec3p .extern _ZN13PlayerControl18func_ov00_020b0ad0EP5Actor .extern _ZN13PlayerControl9SetUnk_80Ev +.extern _ZN5Actor10SetUnk_11cEc +.extern _ZN5Actor4KillEv +.extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZNK11ItemManager16GetEquippedFairyEv .extern _ZNK11ItemManager8GetFairyEi .extern data_02050f54 @@ -56,10 +60,6 @@ .extern func_020350b4 .extern func_020351b8 .extern func_ov00_020ba458 -.extern _ZN5Actor10SetUnk_11cEc -.extern _ZN5Actor9GetHitboxEP8Cylinder -.extern _ZN5Actor4KillEv -.extern _ZN12ActorManager8GetActorEP8ActorRef .extern func_ov00_020d7a84 .extern func_ov00_020d7b20 .extern func_ov04_0210ab88 diff --git a/asm/ov00/ov00_020980f4.inc b/asm/ov00/ov00_020980f4.inc index 479bb174..088a4fd7 100644 --- a/asm/ov00/ov00_020980f4.inc +++ b/asm/ov00/ov00_020980f4.inc @@ -7,6 +7,9 @@ .extern _ZN11ItemManager21LoadDungeonItemModelsEv .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef +.extern _ZN14AdventureFlags3GetEj +.extern _ZN14AdventureFlags3SetEjb +.extern _ZN14AdventureFlags6ExistsEv .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12CollidesWithEPKS_ @@ -312,9 +315,6 @@ .extern func_ov00_02090f24 .extern func_ov00_02090f74 .extern func_ov00_0209320c -.extern _ZN14AdventureFlags6ExistsEv -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags3SetEjb .extern func_ov00_020a956c .extern func_ov00_020a95ec .extern func_ov00_020a960c diff --git a/asm/ov00/ov00_020c3e54.inc b/asm/ov00/ov00_020c3e54.inc index e0d02a22..f14de2b1 100644 --- a/asm/ov00/ov00_020c3e54.inc +++ b/asm/ov00/ov00_020c3e54.inc @@ -8,6 +8,15 @@ .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager8GetActorEP8ActorRef +.extern _ZN14AdventureFlags18func_Ov00_02097810Ei +.extern _ZN14AdventureFlags18func_ov00_02097738Ev +.extern _ZN14AdventureFlags18func_ov00_02097968Ei +.extern _ZN14AdventureFlags18func_ov00_02097b9cEv +.extern _ZN14AdventureFlags18func_ov00_02097bacEv +.extern _ZN14AdventureFlags18func_ov00_02097bbcEv +.extern _ZN14AdventureFlags18func_ov00_02097bccEi +.extern _ZN14AdventureFlags18func_ov00_02097bccEv +.extern _ZN14AdventureFlags3GetEj .extern _ZN17LinkStateInteract18func_ov00_020abba0EP8ActorRef .extern _ZN17LinkStateInteract18func_ov00_020abbdcEP8ActorRef .extern _ZN17LinkStateInteract18func_ov00_020abc18EP8ActorRef @@ -116,7 +125,6 @@ .extern data_027e0f94 .extern data_027e0fac .extern data_027e0fb8 -.extern gHealthManager .extern data_027e0fc8 .extern data_027e0fd4 .extern data_027e0fe0 @@ -523,15 +531,6 @@ .extern func_ov00_02089b00 .extern func_ov00_02093a1c .extern func_ov00_020965c0 -.extern _ZN14AdventureFlags18func_ov00_02097738Ev -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags18func_Ov00_02097810Ei -.extern _ZN14AdventureFlags18func_ov00_02097968Ei -.extern _ZN14AdventureFlags18func_ov00_02097b9cEv -.extern _ZN14AdventureFlags18func_ov00_02097bacEv -.extern _ZN14AdventureFlags18func_ov00_02097bbcEv -.extern _ZN14AdventureFlags18func_ov00_02097bccEv -.extern _ZN14AdventureFlags18func_ov00_02097bccEi .extern func_ov00_020985c0 .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 @@ -669,6 +668,7 @@ .extern func_ov26_021767ec .extern func_ov29_0216d918 .extern gAdventureFlags +.extern gHealthManager .extern gItemManager .extern gOverlayManager .extern strcat diff --git a/asm/ov03.inc b/asm/ov03.inc index 5d78598b..cb507b7d 100644 --- a/asm/ov03.inc +++ b/asm/ov03.inc @@ -3,6 +3,12 @@ .extern FastDivide .extern _ZN11ItemManager12GetEquipItemEi .extern _ZN11ItemManager18func_ov00_020ad790Ei +.extern _ZN14AdventureFlags18func_Ov00_02097810Ei +.extern _ZN14AdventureFlags18func_ov00_02097738Ev +.extern _ZN14AdventureFlags18func_ov00_02097b9cEv +.extern _ZN14AdventureFlags18func_ov00_02097bbcEv +.extern _ZN14AdventureFlags18func_ov00_02097bccEv +.extern _ZN14AdventureFlags3GetEj .extern _ZN14OverlayManager15LoadIfNotLoadedEjj .extern _ZN14OverlayManager6UnloadEj .extern _ZN5Actor10SetUnk_11bEv @@ -307,12 +313,6 @@ .extern func_ov00_0208c38c .extern func_ov00_0208c39c .extern func_ov00_0208ca00 -.extern _ZN14AdventureFlags18func_ov00_02097738Ev -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags18func_Ov00_02097810Ei -.extern _ZN14AdventureFlags18func_ov00_02097b9cEv -.extern _ZN14AdventureFlags18func_ov00_02097bbcEv -.extern _ZN14AdventureFlags18func_ov00_02097bccEv .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 .extern func_ov00_0209d748 diff --git a/asm/ov06.inc b/asm/ov06.inc index 1738f036..a0a773c4 100644 --- a/asm/ov06.inc +++ b/asm/ov06.inc @@ -1,5 +1,6 @@ #pragma once .extern Divide +.extern _ZN10ActorRupee5gTypeE .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern data_02068e7c @@ -93,7 +94,6 @@ .extern data_ov14_0215b1a0 .extern data_ov14_0215b1c0 .extern data_ov14_0215b1e0 -.extern _ZN10ActorRupee5gTypeE .extern data_ov14_0215b220 .extern data_ov14_0215b240 .extern data_ov14_0215b258 diff --git a/asm/ov09.inc b/asm/ov09.inc index 9461dc15..c328a07a 100644 --- a/asm/ov09.inc +++ b/asm/ov09.inc @@ -5,6 +5,12 @@ .extern _ZN11ItemManager16SetShipPartCountEjjc .extern _ZN11ItemManager16SetTreasureCountEjc .extern _ZN12ActorManager14Actor_vfunc_28Ev +.extern _ZN14AdventureFlags15Get_FlagsUnk_00EiP9FlagsUnk2 +.extern _ZN14AdventureFlags15Get_FlagsUnk_4aEi +.extern _ZN14AdventureFlags18func_ov00_02097738Ev +.extern _ZN14AdventureFlags18func_ov00_02097eccEv +.extern _ZN14AdventureFlags3GetEj +.extern _ZN14AdventureFlags6CopyToEPi .extern _ZN14OverlayManager15LoadIfNotLoadedEjj .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj @@ -45,7 +51,6 @@ .extern data_027e0e60 .extern data_027e0f64 .extern data_027e0f90 -.extern gHealthManager .extern data_027e0fe4 .extern data_027e0ffc .extern data_027e103c @@ -233,12 +238,6 @@ .extern func_ov00_02083ee0 .extern func_ov00_020848b8 .extern func_ov00_02087d34 -.extern _ZN14AdventureFlags6CopyToEPi -.extern _ZN14AdventureFlags18func_ov00_02097738Ev -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags15Get_FlagsUnk_4aEi -.extern _ZN14AdventureFlags15Get_FlagsUnk_00EiP9FlagsUnk2 -.extern _ZN14AdventureFlags18func_ov00_02097eccEv .extern func_ov00_020a5e9c .extern func_ov00_020a61ac .extern func_ov00_020a956c @@ -451,6 +450,7 @@ .extern func_ov18_02160a74 .extern func_ov29_0216dcf4 .extern gAdventureFlags +.extern gHealthManager .extern gItemManager .extern gOverlayManager .extern strcat diff --git a/asm/ov12.inc b/asm/ov12.inc index 39f534c6..e2b5ae58 100644 --- a/asm/ov12.inc +++ b/asm/ov12.inc @@ -14,6 +14,11 @@ .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13LinkStateBase19PlayerBase_vfunc_38EP5Vec3p .extern _ZN13LinkStateBase23PlayerLinkBase_vfunc_74Ev +.extern _ZN14AdventureFlags18func_Ov00_02097810Ei +.extern _ZN14AdventureFlags18func_ov00_02097738Ev +.extern _ZN14AdventureFlags18func_ov00_02097750Ev +.extern _ZN14AdventureFlags18func_ov00_02097bbcEv +.extern _ZN14AdventureFlags18func_ov00_02097bccEv .extern _ZN14OverlayManager15LoadIfNotLoadedEjj .extern _ZN17LinkStateInteract20SetGrabActorVelocityEP5Vec3p .extern _ZN5Actor10GetAngleToEP5Vec3p @@ -432,11 +437,6 @@ .extern func_ov00_02090e10 .extern func_ov00_02090f64 .extern func_ov00_02094824 -.extern _ZN14AdventureFlags18func_ov00_02097738Ev -.extern _ZN14AdventureFlags18func_ov00_02097750Ev -.extern _ZN14AdventureFlags18func_Ov00_02097810Ei -.extern _ZN14AdventureFlags18func_ov00_02097bbcEv -.extern _ZN14AdventureFlags18func_ov00_02097bccEv .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 .extern func_ov00_020a61ac diff --git a/asm/ov13.inc b/asm/ov13.inc index 39fa11ec..fafee3a6 100644 --- a/asm/ov13.inc +++ b/asm/ov13.inc @@ -70,8 +70,6 @@ .extern func_020400f4 .extern func_02040100 .extern func_02040464 -.extern strcpy -.extern strcat .extern func_0204f614 .extern func_0204f754 .extern func_ov00_0207a294 @@ -113,3 +111,5 @@ .extern func_ov01_020f802c .extern func_ov01_020f8434 .extern func_ov01_020f8500 +.extern strcat +.extern strcpy diff --git a/asm/ov14/ov14_0213b778.inc b/asm/ov14/ov14_0213b778.inc index bc8d8d64..04be01dd 100644 --- a/asm/ov14/ov14_0213b778.inc +++ b/asm/ov14/ov14_0213b778.inc @@ -21,6 +21,18 @@ .extern _ZN12ActorManager18func_ov00_020c3bb0EiPi .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13PlayerControl20UpdateUsingEquipItemEv +.extern _ZN14AdventureFlags15Get_FlagsUnk_30Ei +.extern _ZN14AdventureFlags18func_Ov00_02097810Ei +.extern _ZN14AdventureFlags18func_ov00_02097738Ev +.extern _ZN14AdventureFlags18func_ov00_02097750Ev +.extern _ZN14AdventureFlags18func_ov00_02097968Ei +.extern _ZN14AdventureFlags18func_ov00_02097b9cEv +.extern _ZN14AdventureFlags18func_ov00_02097bacEv +.extern _ZN14AdventureFlags18func_ov00_02097bbcEv +.extern _ZN14AdventureFlags18func_ov00_02097bccEv +.extern _ZN14AdventureFlags18func_ov00_02097ff4Ebb +.extern _ZN14AdventureFlags18func_ov00_02098058Ev +.extern _ZN14AdventureFlags3GetEj .extern _ZN15LinkStateDamage18func_ov00_020aca94Ev .extern _ZN4Item18func_ov00_020ad020Ei .extern _ZN5Actor10GetUnk_08cEP8Cylinder @@ -120,7 +132,6 @@ .extern data_027e0f94 .extern data_027e0fa0 .extern data_027e0fb8 -.extern gHealthManager .extern data_027e0fc0 .extern data_027e0fc4 .extern data_027e0fc8 @@ -407,18 +418,6 @@ .extern func_ov00_02093a4c .extern func_ov00_02094824 .extern func_ov00_02094884 -.extern _ZN14AdventureFlags18func_ov00_02097738Ev -.extern _ZN14AdventureFlags18func_ov00_02097750Ev -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags18func_Ov00_02097810Ei -.extern _ZN14AdventureFlags18func_ov00_02097968Ei -.extern _ZN14AdventureFlags18func_ov00_02097b9cEv -.extern _ZN14AdventureFlags18func_ov00_02097bacEv -.extern _ZN14AdventureFlags18func_ov00_02097bbcEv -.extern _ZN14AdventureFlags18func_ov00_02097bccEv -.extern _ZN14AdventureFlags15Get_FlagsUnk_30Ei -.extern _ZN14AdventureFlags18func_ov00_02097ff4Ebb -.extern _ZN14AdventureFlags18func_ov00_02098058Ev .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 .extern func_ov00_020a5e9c @@ -851,6 +850,7 @@ .extern func_ov59_02198fc8 .extern func_ov59_02198fcc .extern gAdventureFlags +.extern gHealthManager .extern gItemManager .extern gOverlayManager .extern gPlayerAnimHandler diff --git a/asm/ov15.inc b/asm/ov15.inc index 4ad1b0ee..bf9fcdaa 100644 --- a/asm/ov15.inc +++ b/asm/ov15.inc @@ -1,6 +1,7 @@ #pragma once .extern Approach_thunk .extern Divide +.extern GiveShipPart .extern _ZN10PlayerBase10GetEquipIdEv .extern _ZN10PlayerBase18TeleportToEntranceEib .extern _ZN10PlayerBase18func_ov00_020a7c00Ei @@ -28,6 +29,17 @@ .extern _ZN13PlayerControl18func_ov00_020af2d4Ejb .extern _ZN13PlayerControl18func_ov00_020af538Ev .extern _ZN13PlayerControl9UpdateAimEv +.extern _ZN14AdventureFlags18func_Ov00_02097810Ei +.extern _ZN14AdventureFlags18func_ov00_02097738Ev +.extern _ZN14AdventureFlags18func_ov00_02097750Ev +.extern _ZN14AdventureFlags18func_ov00_02097968Ei +.extern _ZN14AdventureFlags18func_ov00_02097b9cEv +.extern _ZN14AdventureFlags18func_ov00_02097bacEv +.extern _ZN14AdventureFlags18func_ov00_02097bccEv +.extern _ZN14AdventureFlags18func_ov00_02098058Ev +.extern _ZN14AdventureFlags18func_ov00_020980bcEi +.extern _ZN14AdventureFlags3GetEj +.extern _ZN14AdventureFlags3SetEjb .extern _ZN4Item18func_ov00_020ad020Ei .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv @@ -150,7 +162,6 @@ .extern data_027e0fac .extern data_027e0fb0 .extern data_027e0fb8 -.extern gHealthManager .extern data_027e0fc4 .extern data_027e0fe0 .extern data_027e0fe4 @@ -540,17 +551,6 @@ .extern func_ov00_0209549c .extern func_ov00_02095720 .extern func_ov00_02095764 -.extern _ZN14AdventureFlags18func_ov00_02097738Ev -.extern _ZN14AdventureFlags18func_ov00_02097750Ev -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags3SetEjb -.extern _ZN14AdventureFlags18func_Ov00_02097810Ei -.extern _ZN14AdventureFlags18func_ov00_02097968Ei -.extern _ZN14AdventureFlags18func_ov00_02097b9cEv -.extern _ZN14AdventureFlags18func_ov00_02097bacEv -.extern _ZN14AdventureFlags18func_ov00_02097bccEv -.extern _ZN14AdventureFlags18func_ov00_02098058Ev -.extern _ZN14AdventureFlags18func_ov00_020980bcEi .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 .extern func_ov00_0209c1e4 @@ -892,7 +892,6 @@ .extern func_ov09_0211c6b4 .extern func_ov09_0211c724 .extern func_ov09_0211c808 -.extern GiveShipPart .extern func_ov09_0211cac0 .extern func_ov09_0211cc74 .extern func_ov09_0211cc98 @@ -908,6 +907,7 @@ .extern func_ov09_0211d668 .extern func_ov09_0211d794 .extern gAdventureFlags +.extern gHealthManager .extern gItemManager .extern strcat .extern strncpy diff --git a/asm/ov22.inc b/asm/ov22.inc index 2c895402..1e59a058 100644 --- a/asm/ov22.inc +++ b/asm/ov22.inc @@ -11,6 +11,12 @@ .extern _ZN13LinkStateBase14GetPlayerAngleEv .extern _ZN13LinkStateBase15ChangeLinkStateEi .extern _ZN13LinkStateBase18func_ov00_020a8954EbPi +.extern _ZN14AdventureFlags18func_Ov00_02097810Ei +.extern _ZN14AdventureFlags18func_ov00_02097b9cEv +.extern _ZN14AdventureFlags18func_ov00_02097bacEv +.extern _ZN14AdventureFlags18func_ov00_02098058Ev +.extern _ZN14AdventureFlags20Get_FlagsUnk_30_FlagEi +.extern _ZN14AdventureFlags3GetEj .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p @@ -239,12 +245,6 @@ .extern func_ov00_02093af0 .extern func_ov00_02094824 .extern func_ov00_02094884 -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags18func_Ov00_02097810Ei -.extern _ZN14AdventureFlags18func_ov00_02097b9cEv -.extern _ZN14AdventureFlags18func_ov00_02097bacEv -.extern _ZN14AdventureFlags20Get_FlagsUnk_30_FlagEi -.extern _ZN14AdventureFlags18func_ov00_02098058Ev .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 .extern func_ov00_020a6110 diff --git a/asm/ov27.inc b/asm/ov27.inc index e0630bb2..ae7c718a 100644 --- a/asm/ov27.inc +++ b/asm/ov27.inc @@ -4,6 +4,12 @@ .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13PlayerControl14IsTouchingFastEv +.extern _ZN14AdventureFlags18func_Ov00_02097810Ei +.extern _ZN14AdventureFlags18func_ov00_02097738Ev +.extern _ZN14AdventureFlags18func_ov00_02097b9cEv +.extern _ZN14AdventureFlags18func_ov00_02097bccEv +.extern _ZN14AdventureFlags3GetEj +.extern _ZN14AdventureFlags3SetEjb .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc @@ -206,12 +212,6 @@ .extern func_ov00_02093a5c .extern func_ov00_02093af0 .extern func_ov00_02094824 -.extern _ZN14AdventureFlags18func_ov00_02097738Ev -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags3SetEjb -.extern _ZN14AdventureFlags18func_Ov00_02097810Ei -.extern _ZN14AdventureFlags18func_ov00_02097b9cEv -.extern _ZN14AdventureFlags18func_ov00_02097bccEv .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 .extern func_ov00_020a61ac diff --git a/asm/ov31.inc b/asm/ov31.inc index 98ece2ad..b5ef43d6 100644 --- a/asm/ov31.inc +++ b/asm/ov31.inc @@ -1,9 +1,12 @@ #pragma once .extern Divide +.extern GiveShipPart .extern LoadTreasureItemFanfare .extern _ZN11ItemManager10GiveRupeesEsi .extern _ZN11ItemManager8GiveAmmoEit .extern _ZN12ActorManager8GetActorEP8ActorRef +.extern _ZN14AdventureFlags3GetEj +.extern _ZN14AdventureFlags3SetEjb .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p @@ -158,8 +161,6 @@ .extern func_ov00_020875f8 .extern func_ov00_020888e8 .extern func_ov00_0208b180 -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags3SetEjb .extern func_ov00_020a9588 .extern func_ov00_020bc500 .extern func_ov00_020bcdec @@ -183,7 +184,6 @@ .extern func_ov09_0211c1a8 .extern func_ov09_0211c980 .extern func_ov09_0211c9a0 -.extern GiveShipPart .extern func_ov09_0211cac0 .extern func_ov09_0211cca4 .extern func_ov09_0211ccb4 diff --git a/asm/ov33.inc b/asm/ov33.inc index e21c1f6a..d27e97e5 100644 --- a/asm/ov33.inc +++ b/asm/ov33.inc @@ -1,5 +1,63 @@ #pragma once .extern Divide +.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j +.extern _ZN12ActorManager8GetActorEP8ActorRef +.extern _ZN5Actor10GetAngleToEP5Vec3p +.extern _ZN5Actor10SetUnk_11bEv +.extern _ZN5Actor11SetVelocityEP5Vec3p +.extern _ZN5Actor12ApplyGravityEv +.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12GetOffsetPosEP5Vec3p +.extern _ZN5Actor12SetTransformEP9Transform +.extern _ZN5Actor12XzDistanceToEP5Vec3p +.extern _ZN5Actor14GetAngleToLinkEv +.extern _ZN5Actor15IsHitboxTouchedEb +.extern _ZN5Actor15TrySetTransformEP9Transform +.extern _ZN5Actor16CollidesWithLinkEv +.extern _ZN5Actor16XzDistanceToLinkEv +.extern _ZN5Actor18func_ov00_020c195cEv +.extern _ZN5Actor18func_ov00_020c1cf8Ev +.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p +.extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ +.extern _ZN5Actor18func_ov00_020c2e7cEv +.extern _ZN5Actor18func_ov00_020c2ed4Ev +.extern _ZN5Actor18func_ov00_020c313cEj +.extern _ZN5Actor20IncreaseActiveFramesEv +.extern _ZN5Actor4KillEv +.extern _ZN5Actor6GetPosEv +.extern _ZN5Actor8vfunc_0cEv +.extern _ZN5Actor8vfunc_10Ej +.extern _ZN5Actor8vfunc_18Ej +.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_24Ev +.extern _ZN5Actor8vfunc_28Ev +.extern _ZN5Actor8vfunc_2cEv +.extern _ZN5Actor8vfunc_30Ev +.extern _ZN5Actor8vfunc_38Ev +.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_4cEPi +.extern _ZN5Actor8vfunc_54Ev +.extern _ZN5Actor8vfunc_60Ev +.extern _ZN5Actor8vfunc_64Ev +.extern _ZN5Actor8vfunc_68Ev +.extern _ZN5Actor8vfunc_6cEv +.extern _ZN5Actor8vfunc_70Ev +.extern _ZN5Actor8vfunc_74Ev +.extern _ZN5Actor8vfunc_78Ev +.extern _ZN5Actor8vfunc_7cEv +.extern _ZN5Actor8vfunc_80Ev +.extern _ZN5Actor8vfunc_84Ev +.extern _ZN5Actor8vfunc_88Ev +.extern _ZN5Actor8vfunc_8cEv +.extern _ZN5Actor8vfunc_90Ev +.extern _ZN5Actor8vfunc_94Ev +.extern _ZN5Actor8vfunc_98Ev +.extern _ZN5Actor8vfunc_9cEv +.extern _ZN5Actor8vfunc_a8Ev +.extern _ZN5Actor8vfunc_acEv +.extern _ZN5Actor8vfunc_b0Ev +.extern _ZN5ActorC2Ev +.extern _ZN5ActorD2Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern data_02050f54 @@ -16,7 +74,6 @@ .extern data_027e0f94 .extern data_027e0fa0 .extern data_027e0fac -.extern gHealthManager .extern data_027e0fc8 .extern data_027e0fe0 .extern data_027e0fe4 @@ -79,65 +136,7 @@ .extern func_ov00_020c0cc8 .extern func_ov00_020c0e24 .extern func_ov00_020c1500 -.extern _ZN5ActorC2Ev -.extern _ZN5ActorD2Ev -.extern _ZN5Actor8vfunc_0cEv -.extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_24Ev -.extern _ZN5Actor8vfunc_28Ev -.extern _ZN5Actor12GetOffsetPosEP5Vec3p -.extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_2cEv -.extern _ZN5Actor8vfunc_30Ev -.extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt -.extern _ZN5Actor10SetUnk_11bEv -.extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor8vfunc_60Ev -.extern _ZN5Actor8vfunc_64Ev -.extern _ZN5Actor8vfunc_68Ev -.extern _ZN5Actor8vfunc_6cEv -.extern _ZN5Actor8vfunc_70Ev -.extern _ZN5Actor8vfunc_74Ev -.extern _ZN5Actor8vfunc_7cEv -.extern _ZN5Actor8vfunc_78Ev -.extern _ZN5Actor8vfunc_80Ev -.extern _ZN5Actor8vfunc_84Ev -.extern _ZN5Actor8vfunc_88Ev -.extern _ZN5Actor8vfunc_8cEv -.extern _ZN5Actor8vfunc_90Ev -.extern _ZN5Actor8vfunc_94Ev -.extern _ZN5Actor8vfunc_98Ev -.extern _ZN5Actor8vfunc_9cEv -.extern _ZN5Actor18func_ov00_020c195cEv -.extern _ZN5Actor15TrySetTransformEP9Transform -.extern _ZN5Actor12SetTransformEP9Transform -.extern _ZN5Actor8vfunc_a8Ev -.extern _ZN5Actor8vfunc_48Ei -.extern _ZN5Actor8vfunc_4cEPi -.extern _ZN5Actor18func_ov00_020c1cf8Ev -.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p -.extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ -.extern _ZN5Actor12CollidesWithEPKS_ -.extern _ZN5Actor16CollidesWithLinkEv -.extern _ZN5Actor12XzDistanceToEP5Vec3p -.extern _ZN5Actor16XzDistanceToLinkEv -.extern _ZN5Actor10GetAngleToEP5Vec3p -.extern _ZN5Actor14GetAngleToLinkEv -.extern _ZN5Actor20IncreaseActiveFramesEv -.extern _ZN5Actor18func_ov00_020c2e7cEv -.extern _ZN5Actor18func_ov00_020c2ed4Ev -.extern _ZN5Actor15IsHitboxTouchedEb -.extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor6GetPosEv -.extern _ZN5Actor8vfunc_54Ev -.extern _ZN5Actor18func_ov00_020c313cEj -.extern _ZN5Actor4KillEv -.extern _ZN5Actor8vfunc_acEv -.extern _ZN5Actor8vfunc_b0Ev .extern func_ov00_020c3348 -.extern _ZN12ActorManager8GetActorEP8ActorRef -.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern func_ov00_020c4048 .extern func_ov00_020c566c .extern func_ov00_020c5c98 @@ -249,4 +248,5 @@ .extern func_ov14_02145f0c .extern func_ov18_02160a54 .extern func_ov18_02160a64 +.extern gHealthManager .extern strncpy diff --git a/asm/ov35.inc b/asm/ov35.inc index ec194367..6ec47331 100644 --- a/asm/ov35.inc +++ b/asm/ov35.inc @@ -7,6 +7,13 @@ .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13PlayerControl14CheckTouchFastEj .extern _ZN13PlayerControl14IsTouchingFastEv +.extern _ZN14AdventureFlags18func_Ov00_02097810Ei +.extern _ZN14AdventureFlags18func_ov00_02097968Ei +.extern _ZN14AdventureFlags18func_ov00_02097b9cEv +.extern _ZN14AdventureFlags18func_ov00_02097bccEv +.extern _ZN14AdventureFlags18func_ov00_02097ff4Ebb +.extern _ZN14AdventureFlags3GetEj +.extern _ZN14AdventureFlags3SetEjb .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p @@ -170,13 +177,6 @@ .extern func_ov00_02089318 .extern func_ov00_0208b158 .extern func_ov00_0208e7a4 -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags3SetEjb -.extern _ZN14AdventureFlags18func_Ov00_02097810Ei -.extern _ZN14AdventureFlags18func_ov00_02097968Ei -.extern _ZN14AdventureFlags18func_ov00_02097b9cEv -.extern _ZN14AdventureFlags18func_ov00_02097bccEv -.extern _ZN14AdventureFlags18func_ov00_02097ff4Ebb .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 .extern func_ov00_020a6110 diff --git a/asm/ov46.inc b/asm/ov46.inc index 11a612e6..b0c00b00 100644 --- a/asm/ov46.inc +++ b/asm/ov46.inc @@ -5,6 +5,8 @@ .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p .extern _ZN12ActorManager8GetActorEP8ActorRef +.extern _ZN14AdventureFlags3GetEj +.extern _ZN14AdventureFlags3SetEjb .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv @@ -127,8 +129,6 @@ .extern func_ov00_02093a5c .extern func_ov00_02093af0 .extern func_ov00_02094824 -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags3SetEjb .extern func_ov00_020a5e9c .extern func_ov00_020a9588 .extern func_ov00_020a95a4 diff --git a/asm/ov47.inc b/asm/ov47.inc index cc56e2e1..1259f9ca 100644 --- a/asm/ov47.inc +++ b/asm/ov47.inc @@ -1,5 +1,64 @@ #pragma once .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder +.extern _ZN5Actor10SetUnk_11bEv +.extern _ZN5Actor11SetVelocityEP5Vec3p +.extern _ZN5Actor12ApplyGravityEv +.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12GetOffsetPosEP5Vec3p +.extern _ZN5Actor12KillInBoundsEv +.extern _ZN5Actor12SetTransformEP9Transform +.extern _ZN5Actor12XzDistanceToEP5Vec3p +.extern _ZN5Actor15IsHitboxTouchedEb +.extern _ZN5Actor15TrySetTransformEP9Transform +.extern _ZN5Actor16CollidesWithLinkEv +.extern _ZN5Actor16XzDistanceToLinkEv +.extern _ZN5Actor18CollidesWithShieldEP8Cylinder +.extern _ZN5Actor18func_Ov00_020c1bfcEi +.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1cf8Ev +.extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p +.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p +.extern _ZN5Actor18func_ov00_020c313cEj +.extern _ZN5Actor18func_ov00_020c3200Ei +.extern _ZN5Actor20IncreaseActiveFramesEv +.extern _ZN5Actor4KillEv +.extern _ZN5Actor6GetPosEv +.extern _ZN5Actor8vfunc_08Ev +.extern _ZN5Actor8vfunc_0cEv +.extern _ZN5Actor8vfunc_10Ej +.extern _ZN5Actor8vfunc_18Ej +.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_20Ei +.extern _ZN5Actor8vfunc_24Ev +.extern _ZN5Actor8vfunc_28Ev +.extern _ZN5Actor8vfunc_2cEv +.extern _ZN5Actor8vfunc_30Ev +.extern _ZN5Actor8vfunc_38Ev +.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_4cEPi +.extern _ZN5Actor8vfunc_54Ev +.extern _ZN5Actor8vfunc_60Ev +.extern _ZN5Actor8vfunc_64Ev +.extern _ZN5Actor8vfunc_68Ev +.extern _ZN5Actor8vfunc_6cEv +.extern _ZN5Actor8vfunc_70Ev +.extern _ZN5Actor8vfunc_74Ev +.extern _ZN5Actor8vfunc_78Ev +.extern _ZN5Actor8vfunc_7cEv +.extern _ZN5Actor8vfunc_80Ev +.extern _ZN5Actor8vfunc_84Ev +.extern _ZN5Actor8vfunc_88Ev +.extern _ZN5Actor8vfunc_8cEv +.extern _ZN5Actor8vfunc_90Ev +.extern _ZN5Actor8vfunc_94Ev +.extern _ZN5Actor8vfunc_98Ev +.extern _ZN5Actor8vfunc_9cEv +.extern _ZN5Actor8vfunc_a8Ev +.extern _ZN5Actor8vfunc_acEv +.extern _ZN5Actor8vfunc_b0Ev +.extern _ZN5Actor9GetHitboxEP8Cylinder +.extern _ZN5ActorC2Ev +.extern _ZN5ActorD2Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager19GetActiveFairyLevelEi @@ -86,65 +145,6 @@ .extern func_ov00_020c070c .extern func_ov00_020c0c08 .extern func_ov00_020c1500 -.extern _ZN5ActorC2Ev -.extern _ZN5ActorD2Ev -.extern _ZN5Actor8vfunc_08Ev -.extern _ZN5Actor8vfunc_0cEv -.extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_24Ev -.extern _ZN5Actor8vfunc_28Ev -.extern _ZN5Actor12GetOffsetPosEP5Vec3p -.extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_2cEv -.extern _ZN5Actor8vfunc_30Ev -.extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt -.extern _ZN5Actor8vfunc_20Ei -.extern _ZN5Actor10SetUnk_11bEv -.extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor8vfunc_60Ev -.extern _ZN5Actor8vfunc_64Ev -.extern _ZN5Actor8vfunc_68Ev -.extern _ZN5Actor8vfunc_6cEv -.extern _ZN5Actor8vfunc_70Ev -.extern _ZN5Actor8vfunc_74Ev -.extern _ZN5Actor8vfunc_7cEv -.extern _ZN5Actor8vfunc_78Ev -.extern _ZN5Actor8vfunc_80Ev -.extern _ZN5Actor8vfunc_84Ev -.extern _ZN5Actor8vfunc_88Ev -.extern _ZN5Actor8vfunc_8cEv -.extern _ZN5Actor8vfunc_90Ev -.extern _ZN5Actor8vfunc_94Ev -.extern _ZN5Actor8vfunc_98Ev -.extern _ZN5Actor8vfunc_9cEv -.extern _ZN5Actor15TrySetTransformEP9Transform -.extern _ZN5Actor12SetTransformEP9Transform -.extern _ZN5Actor8vfunc_a8Ev -.extern _ZN5Actor18func_Ov00_020c1bfcEi -.extern _ZN5Actor18func_ov00_020c1c20Eiii -.extern _ZN5Actor8vfunc_48Ei -.extern _ZN5Actor8vfunc_4cEPi -.extern _ZN5Actor18func_ov00_020c1cf8Ev -.extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p -.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p -.extern _ZN5Actor18CollidesWithShieldEP8Cylinder -.extern _ZN5Actor12CollidesWithEPKS_ -.extern _ZN5Actor16CollidesWithLinkEv -.extern _ZN5Actor12XzDistanceToEP5Vec3p -.extern _ZN5Actor16XzDistanceToLinkEv -.extern _ZN5Actor9GetHitboxEP8Cylinder -.extern _ZN5Actor20IncreaseActiveFramesEv -.extern _ZN5Actor15IsHitboxTouchedEb -.extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor6GetPosEv -.extern _ZN5Actor8vfunc_54Ev -.extern _ZN5Actor18func_ov00_020c313cEj -.extern _ZN5Actor4KillEv -.extern _ZN5Actor12KillInBoundsEv -.extern _ZN5Actor8vfunc_acEv -.extern _ZN5Actor18func_ov00_020c3200Ei -.extern _ZN5Actor8vfunc_b0Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov48.inc b/asm/ov48.inc index 33d76cea..faff0d84 100644 --- a/asm/ov48.inc +++ b/asm/ov48.inc @@ -3,9 +3,70 @@ .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN10PlayerBase18func_ov00_020a7c60EP5Vec3pS1_i .extern _ZN10PlayerBase6LookAtEP5Vec3p +.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager8GetActorEP8ActorRef +.extern _ZN5Actor10SetUnk_11bEv +.extern _ZN5Actor11SetVelocityEP5Vec3p +.extern _ZN5Actor12ApplyGravityEv +.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12GetOffsetPosEP5Vec3p +.extern _ZN5Actor12SetTransformEP9Transform +.extern _ZN5Actor12XzDistanceToEP5Vec3p +.extern _ZN5Actor14GetAngleToLinkEv +.extern _ZN5Actor15IsHitboxTouchedEb +.extern _ZN5Actor15TrySetTransformEP9Transform +.extern _ZN5Actor16CollidesWithLinkEv +.extern _ZN5Actor16XzDistanceToLinkEv +.extern _ZN5Actor18CollidesWithShieldEP8Cylinder +.extern _ZN5Actor18func_ov00_020c1cf8Ev +.extern _ZN5Actor18func_ov00_020c1d58Ev +.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii +.extern _ZN5Actor18func_ov00_020c1fc8Ej +.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c313cEj +.extern _ZN5Actor18func_ov00_020c3200Ei +.extern _ZN5Actor20IncreaseActiveFramesEv +.extern _ZN5Actor4KillEv +.extern _ZN5Actor6GetPosEv +.extern _ZN5Actor8vfunc_08Ev +.extern _ZN5Actor8vfunc_0cEv +.extern _ZN5Actor8vfunc_10Ej +.extern _ZN5Actor8vfunc_18Ej +.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_20Ei +.extern _ZN5Actor8vfunc_24Ev +.extern _ZN5Actor8vfunc_28Ev +.extern _ZN5Actor8vfunc_2cEv +.extern _ZN5Actor8vfunc_30Ev +.extern _ZN5Actor8vfunc_38Ev +.extern _ZN5Actor8vfunc_4cEPi +.extern _ZN5Actor8vfunc_54Ev +.extern _ZN5Actor8vfunc_60Ev +.extern _ZN5Actor8vfunc_64Ev +.extern _ZN5Actor8vfunc_68Ev +.extern _ZN5Actor8vfunc_6cEv +.extern _ZN5Actor8vfunc_70Ev +.extern _ZN5Actor8vfunc_74Ev +.extern _ZN5Actor8vfunc_78Ev +.extern _ZN5Actor8vfunc_7cEv +.extern _ZN5Actor8vfunc_80Ev +.extern _ZN5Actor8vfunc_84Ev +.extern _ZN5Actor8vfunc_88Ev +.extern _ZN5Actor8vfunc_8cEv +.extern _ZN5Actor8vfunc_90Ev +.extern _ZN5Actor8vfunc_94Ev +.extern _ZN5Actor8vfunc_98Ev +.extern _ZN5Actor8vfunc_9cEv +.extern _ZN5Actor8vfunc_a8Ev +.extern _ZN5Actor8vfunc_acEv +.extern _ZN5Actor8vfunc_b0Ev +.extern _ZN5Actor9GetHitboxEP8Cylinder +.extern _ZN5ActorC2Ev +.extern _ZN5ActorD2Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager19GetActiveFairyLevelEi +.extern _ZTV11FilterActor .extern data_02050f54 .extern data_027e0764 .extern data_027e0d38 @@ -20,7 +81,6 @@ .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ffc -.extern _ZTV11FilterActor .extern data_ov00_020e892c .extern func_01ff81f8 .extern func_01ff8214 @@ -87,67 +147,7 @@ .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 .extern func_ov00_020c1500 -.extern _ZN5ActorC2Ev -.extern _ZN5ActorD2Ev -.extern _ZN5Actor8vfunc_08Ev -.extern _ZN5Actor8vfunc_0cEv -.extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_24Ev -.extern _ZN5Actor8vfunc_28Ev -.extern _ZN5Actor12GetOffsetPosEP5Vec3p -.extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_2cEv -.extern _ZN5Actor8vfunc_30Ev -.extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt -.extern _ZN5Actor8vfunc_20Ei -.extern _ZN5Actor10SetUnk_11bEv -.extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor8vfunc_60Ev -.extern _ZN5Actor8vfunc_64Ev -.extern _ZN5Actor8vfunc_68Ev -.extern _ZN5Actor8vfunc_6cEv -.extern _ZN5Actor8vfunc_70Ev -.extern _ZN5Actor8vfunc_74Ev -.extern _ZN5Actor8vfunc_7cEv -.extern _ZN5Actor8vfunc_78Ev -.extern _ZN5Actor8vfunc_80Ev -.extern _ZN5Actor8vfunc_84Ev -.extern _ZN5Actor8vfunc_88Ev -.extern _ZN5Actor8vfunc_8cEv -.extern _ZN5Actor8vfunc_90Ev -.extern _ZN5Actor8vfunc_94Ev -.extern _ZN5Actor8vfunc_98Ev -.extern _ZN5Actor8vfunc_9cEv -.extern _ZN5Actor15TrySetTransformEP9Transform -.extern _ZN5Actor12SetTransformEP9Transform -.extern _ZN5Actor8vfunc_a8Ev -.extern _ZN5Actor8vfunc_4cEPi -.extern _ZN5Actor18func_ov00_020c1cf8Ev -.extern _ZN5Actor18func_ov00_020c1d58Ev -.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii -.extern _ZN5Actor18func_ov00_020c1fc8Ej -.extern _ZN5Actor18CollidesWithShieldEP8Cylinder -.extern _ZN5Actor18func_ov00_020c243cEiPi -.extern _ZN5Actor12CollidesWithEPKS_ -.extern _ZN5Actor16CollidesWithLinkEv -.extern _ZN5Actor12XzDistanceToEP5Vec3p -.extern _ZN5Actor16XzDistanceToLinkEv -.extern _ZN5Actor14GetAngleToLinkEv -.extern _ZN5Actor9GetHitboxEP8Cylinder -.extern _ZN5Actor20IncreaseActiveFramesEv -.extern _ZN5Actor15IsHitboxTouchedEb -.extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor6GetPosEv -.extern _ZN5Actor8vfunc_54Ev -.extern _ZN5Actor18func_ov00_020c313cEj -.extern _ZN5Actor4KillEv -.extern _ZN5Actor8vfunc_acEv -.extern _ZN5Actor18func_ov00_020c3200Ei -.extern _ZN5Actor8vfunc_b0Ev .extern func_ov00_020c3348 -.extern _ZN12ActorManager8GetActorEP8ActorRef -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern func_ov00_020c4048 .extern func_ov00_020c4588 .extern func_ov00_020c5c98 diff --git a/asm/ov49.inc b/asm/ov49.inc index 6af8dfd1..922fc319 100644 --- a/asm/ov49.inc +++ b/asm/ov49.inc @@ -5,6 +5,10 @@ .extern _ZN11ItemManager10GiveRupeesEsi .extern _ZN11ItemManager10RemoveItemEi .extern _ZN11ItemManager12GetItemModelEj +.extern _ZN14AdventureFlags18func_Ov00_02097810Ei +.extern _ZN14AdventureFlags18func_ov00_02097b9cEv +.extern _ZN14AdventureFlags18func_ov00_02098058Ev +.extern _ZN14AdventureFlags3GetEj .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv @@ -121,10 +125,6 @@ .extern func_ov00_02083fb0 .extern func_ov00_02088000 .extern func_ov00_02094824 -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags18func_Ov00_02097810Ei -.extern _ZN14AdventureFlags18func_ov00_02097b9cEv -.extern _ZN14AdventureFlags18func_ov00_02098058Ev .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 .extern func_ov00_020a61ac diff --git a/asm/ov51.inc b/asm/ov51.inc index bdd8df74..a96a5c51 100644 --- a/asm/ov51.inc +++ b/asm/ov51.inc @@ -1,5 +1,61 @@ #pragma once .extern _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi +.extern _ZN12ActorManager8GetActorEP8ActorRef +.extern _ZN5Actor10SetUnk_11bEv +.extern _ZN5Actor11SetVelocityEP5Vec3p +.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12GetOffsetPosEP5Vec3p +.extern _ZN5Actor12SetTransformEP9Transform +.extern _ZN5Actor15IsHitboxTouchedEb +.extern _ZN5Actor15TrySetTransformEP9Transform +.extern _ZN5Actor16CollidesWithLinkEv +.extern _ZN5Actor16XzDistanceToLinkEv +.extern _ZN5Actor18func_Ov00_020c1bfcEi +.extern _ZN5Actor18func_ov00_020c1cf8Ev +.extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p +.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p +.extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii +.extern _ZN5Actor18func_ov00_020c1fc8Ej +.extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ +.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c313cEj +.extern _ZN5Actor18func_ov00_020c3200Ei +.extern _ZN5Actor20IncreaseActiveFramesEv +.extern _ZN5Actor4KillEv +.extern _ZN5Actor6GetPosEv +.extern _ZN5Actor8vfunc_0cEv +.extern _ZN5Actor8vfunc_10Ej +.extern _ZN5Actor8vfunc_18Ej +.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_24Ev +.extern _ZN5Actor8vfunc_28Ev +.extern _ZN5Actor8vfunc_2cEv +.extern _ZN5Actor8vfunc_30Ev +.extern _ZN5Actor8vfunc_38Ev +.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_4cEPi +.extern _ZN5Actor8vfunc_54Ev +.extern _ZN5Actor8vfunc_60Ev +.extern _ZN5Actor8vfunc_64Ev +.extern _ZN5Actor8vfunc_68Ev +.extern _ZN5Actor8vfunc_6cEv +.extern _ZN5Actor8vfunc_70Ev +.extern _ZN5Actor8vfunc_74Ev +.extern _ZN5Actor8vfunc_78Ev +.extern _ZN5Actor8vfunc_7cEv +.extern _ZN5Actor8vfunc_80Ev +.extern _ZN5Actor8vfunc_84Ev +.extern _ZN5Actor8vfunc_88Ev +.extern _ZN5Actor8vfunc_8cEv +.extern _ZN5Actor8vfunc_90Ev +.extern _ZN5Actor8vfunc_94Ev +.extern _ZN5Actor8vfunc_98Ev +.extern _ZN5Actor8vfunc_9cEv +.extern _ZN5Actor8vfunc_a8Ev +.extern _ZN5Actor8vfunc_acEv +.extern _ZN5Actor8vfunc_b0Ev +.extern _ZN5ActorC2Ev +.extern _ZN5ActorD2Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern data_02050f54 @@ -73,63 +129,7 @@ .extern func_ov00_020c0cc8 .extern func_ov00_020c0e04 .extern func_ov00_020c1500 -.extern _ZN5ActorC2Ev -.extern _ZN5ActorD2Ev -.extern _ZN5Actor8vfunc_0cEv -.extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_24Ev -.extern _ZN5Actor8vfunc_28Ev -.extern _ZN5Actor12GetOffsetPosEP5Vec3p -.extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_2cEv -.extern _ZN5Actor8vfunc_30Ev -.extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt -.extern _ZN5Actor10SetUnk_11bEv -.extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor8vfunc_60Ev -.extern _ZN5Actor8vfunc_64Ev -.extern _ZN5Actor8vfunc_68Ev -.extern _ZN5Actor8vfunc_6cEv -.extern _ZN5Actor8vfunc_70Ev -.extern _ZN5Actor8vfunc_74Ev -.extern _ZN5Actor8vfunc_7cEv -.extern _ZN5Actor8vfunc_78Ev -.extern _ZN5Actor8vfunc_80Ev -.extern _ZN5Actor8vfunc_84Ev -.extern _ZN5Actor8vfunc_88Ev -.extern _ZN5Actor8vfunc_8cEv -.extern _ZN5Actor8vfunc_90Ev -.extern _ZN5Actor8vfunc_94Ev -.extern _ZN5Actor8vfunc_98Ev -.extern _ZN5Actor8vfunc_9cEv -.extern _ZN5Actor15TrySetTransformEP9Transform -.extern _ZN5Actor12SetTransformEP9Transform -.extern _ZN5Actor8vfunc_a8Ev -.extern _ZN5Actor18func_Ov00_020c1bfcEi -.extern _ZN5Actor8vfunc_48Ei -.extern _ZN5Actor8vfunc_4cEPi -.extern _ZN5Actor18func_ov00_020c1cf8Ev -.extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p -.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p -.extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii -.extern _ZN5Actor18func_ov00_020c1fc8Ej -.extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ -.extern _ZN5Actor18func_ov00_020c243cEiPi -.extern _ZN5Actor12CollidesWithEPKS_ -.extern _ZN5Actor16CollidesWithLinkEv -.extern _ZN5Actor16XzDistanceToLinkEv -.extern _ZN5Actor20IncreaseActiveFramesEv -.extern _ZN5Actor15IsHitboxTouchedEb -.extern _ZN5Actor6GetPosEv -.extern _ZN5Actor8vfunc_54Ev -.extern _ZN5Actor18func_ov00_020c313cEj -.extern _ZN5Actor4KillEv -.extern _ZN5Actor8vfunc_acEv -.extern _ZN5Actor18func_ov00_020c3200Ei -.extern _ZN5Actor8vfunc_b0Ev .extern func_ov00_020c3348 -.extern _ZN12ActorManager8GetActorEP8ActorRef .extern func_ov00_020c4048 .extern func_ov00_020c4588 .extern func_ov00_020c57fc diff --git a/asm/ov53.inc b/asm/ov53.inc index eb80d325..300774f2 100644 --- a/asm/ov53.inc +++ b/asm/ov53.inc @@ -1,5 +1,7 @@ #pragma once .extern _ZN11ItemManager12GetItemModelEj +.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13LinkStateBase14GetPlayerAngleEv .extern _ZN13LinkStateBase18func_ov00_020a81fcEv .extern _ZN13LinkStateBase18func_ov00_020a89bcEii @@ -11,6 +13,8 @@ .extern _ZN13PlayerControl18func_ov00_020b0f88EP5Vec3piS1_ .extern _ZN13PlayerControl20UpdateUsingEquipItemEv .extern _ZN13PlayerControl6SetAimEv +.extern _ZN5Actor9GetHitboxEP8Cylinder +.extern _ZN5ActorC2Ev .extern _ZN9SysObjectdlEPv .extern data_02050f54 .extern data_027e0d0c @@ -57,11 +61,7 @@ .extern func_ov00_020bed7c .extern func_ov00_020bedcc .extern func_ov00_020c1500 -.extern _ZN5ActorC2Ev -.extern _ZN5Actor9GetHitboxEP8Cylinder .extern func_ov00_020c3348 -.extern _ZN12ActorManager8GetActorEP8ActorRef -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern func_ov00_020c4048 .extern func_ov00_020ceacc .extern func_ov00_020d61b0 diff --git a/asm/ov58.inc b/asm/ov58.inc index 3bfc3abe..9b6f17b2 100644 --- a/asm/ov58.inc +++ b/asm/ov58.inc @@ -2,6 +2,7 @@ .extern Divide .extern _ZN11ItemManager12GetEquipItemEi .extern _ZN11ItemManager12GetItemModelEj +.extern _ZN12ActorManager13FindActorByIdEj .extern _ZN13LinkStateBase14GetPlayerAngleEv .extern _ZN13LinkStateBase15ChangeLinkStateEi .extern _ZN13LinkStateBase15GetGrabActorRefEv @@ -107,7 +108,6 @@ .extern func_ov00_020c0e5c .extern func_ov00_020c1500 .extern func_ov00_020c3348 -.extern _ZN12ActorManager13FindActorByIdEj .extern func_ov00_020c4048 .extern func_ov00_020cf01c .extern func_ov00_020d00c4 From 02762ad4722b391c4f165e4c5a65578c5b1c337d Mon Sep 17 00:00:00 2001 From: Aetias Date: Thu, 18 Apr 2024 19:57:21 +0200 Subject: [PATCH 10/76] Decomp `ItemManager::GetMaxRupees` --- asm/ov00/Item/ItemManager.inc | 12 +----------- asm/ov00/Item/ItemManager.s | 9 --------- src/00_Core/Item/ItemManager.cpp | 4 ++++ 3 files changed, 5 insertions(+), 20 deletions(-) diff --git a/asm/ov00/Item/ItemManager.inc b/asm/ov00/Item/ItemManager.inc index f344faea..8ff3f982 100644 --- a/asm/ov00/Item/ItemManager.inc +++ b/asm/ov00/Item/ItemManager.inc @@ -1,26 +1,16 @@ #pragma once -.extern LoadTreasureItemFanfare .extern _ZN11ItemManager12GetEquipItemEi .extern _ZNK11ItemManager10GetMaxAmmoEi +.extern _ZNK11ItemManager12GetMaxRupeesEv .extern data_027e0e60 -.extern gAdventureFlags .extern data_027e0f78 -.extern gHealthManager .extern data_027e103c -.extern data_027e1058 -.extern data_027e105c .extern data_ov00_020eec68 .extern func_020196bc .extern func_020196fc -.extern strcat -.extern func_ov00_02079ffc .extern func_ov00_02084b08 .extern func_ov00_02084b14 -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags3SetEjb .extern func_ov00_020cf374 .extern func_ov00_020d73bc .extern func_ov05_02104004 -.extern EquipLinebeckCannon -.extern GiveShipPart .extern gItemManager diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index 6edb34ce..24774096 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,15 +3,6 @@ .text - .global _ZNK11ItemManager12GetMaxRupeesEv - arm_func_start _ZNK11ItemManager12GetMaxRupeesEv -_ZNK11ItemManager12GetMaxRupeesEv: ; 0x020ae2d4 - ldr r0, _020ae2dc ; =0x0000270f - bx lr - .align 2, 0 - arm_func_end _ZNK11ItemManager12GetMaxRupeesEv -_020ae2dc: .word 0x0000270f - .global _ZN11ItemManager10GiveRupeesEsi arm_func_start _ZN11ItemManager10GiveRupeesEsi _ZN11ItemManager10GiveRupeesEsi: ; 0x020ae2e0 diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 6228e437..b1d04f10 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -756,3 +756,7 @@ THUMB void ItemManager::UnequipPotion() { } break; } } + +ARM u32 ItemManager::GetMaxRupees() const { + return 9999; +} From 6f5483638ef2b70f53334e8987c6a57d24b93a51 Mon Sep 17 00:00:00 2001 From: Aetias Date: Thu, 18 Apr 2024 20:16:18 +0200 Subject: [PATCH 11/76] Decomp `ItemManager::GiveRupees` --- asm/main.inc | 2 +- asm/main.s | 2 +- asm/ov00/Item/ItemManager.s | 37 -------------------------------- asm/ov00/ov00_020b1498.inc | 2 +- asm/ov00/ov00_020b1498.s | 2 +- asm/ov09.inc | 2 +- asm/ov09.s | 4 ++-- asm/ov14/Actor/ActorRupee.inc | 2 +- asm/ov14/Actor/ActorRupee.s | 2 +- asm/ov15.inc | 2 +- asm/ov15.s | 4 ++-- asm/ov31.inc | 2 +- asm/ov31.s | 2 +- asm/ov46.inc | 2 +- asm/ov46.s | 2 +- asm/ov49.inc | 2 +- asm/ov49.s | 2 +- include/Item/ItemManager.hpp | 4 ++-- src/00_Core/Item/ItemManager.cpp | 24 ++++++++++++++++++++- 19 files changed, 43 insertions(+), 58 deletions(-) diff --git a/asm/main.inc b/asm/main.inc index 7ccf79ea..53b27038 100644 --- a/asm/main.inc +++ b/asm/main.inc @@ -1,6 +1,6 @@ #pragma once .extern Divide -.extern _ZN11ItemManager10GiveRupeesEsi +.extern _ZN11ItemManager10GiveRupeesEsb .extern _ZN11ItemManager7AddItemEi .extern _ZN11ItemManager8GiveKeysEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j diff --git a/asm/main.s b/asm/main.s index 2e63355d..ab826c78 100644 --- a/asm/main.s +++ b/asm/main.s @@ -76814,7 +76814,7 @@ _0203826c: ldr r1, [r4, #4] ldr r0, [r0] mov r2, #1 - bl _ZN11ItemManager10GiveRupeesEsi + bl _ZN11ItemManager10GiveRupeesEsb add sp, sp, #0x18 mov r0, #2 ldmia sp!, {r3, r4, r5, pc} diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index 24774096..7ea818af 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,43 +3,6 @@ .text - .global _ZN11ItemManager10GiveRupeesEsi - arm_func_start _ZN11ItemManager10GiveRupeesEsi -_ZN11ItemManager10GiveRupeesEsi: ; 0x020ae2e0 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - ldrh r3, [r6, #0x22] - mov r5, r2 - add r4, r3, r1 - bl _ZNK11ItemManager12GetMaxRupeesEv - cmp r4, r0 - ble _020ae310 - mov r0, r6 - bl _ZNK11ItemManager12GetMaxRupeesEv - mov r4, r0 - b _020ae318 -_020ae310: - cmp r4, #0 - movlt r4, #0 -_020ae318: - ldr r0, _020ae34c ; =data_027e103c - mov r1, #1 - ldr r0, [r0] - bl func_ov00_020cf374 - cmp r5, #0 - ldrneh r0, [r6, #0x22] - cmpne r0, r4 - beq _020ae344 - ldr r0, _020ae34c ; =data_027e103c - ldr r0, [r0] - bl func_ov05_02104004 -_020ae344: - strh r4, [r6, #0x22] - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end _ZN11ItemManager10GiveRupeesEsi -_020ae34c: .word data_027e103c - .global _ZNK11ItemManager18func_ov00_020ae350Ev arm_func_start _ZNK11ItemManager18func_ov00_020ae350Ev _ZNK11ItemManager18func_ov00_020ae350Ev: ; 0x020ae350 diff --git a/asm/ov00/ov00_020b1498.inc b/asm/ov00/ov00_020b1498.inc index 5a8e25be..c4c34bbc 100644 --- a/asm/ov00/ov00_020b1498.inc +++ b/asm/ov00/ov00_020b1498.inc @@ -8,7 +8,7 @@ .extern _ZN10PlayerBase8TeleportEP5Vec3psibb .extern _ZN10PlayerBase8vfunc_04Ev .extern _ZN10PlayerBase9AddHealthEs -.extern _ZN11ItemManager10GiveRupeesEsi +.extern _ZN11ItemManager10GiveRupeesEsb .extern _ZN11ItemManager12GetEquipItemEi .extern _ZN11ItemManager12GetItemModelEj .extern _ZN11ItemManager13UnequipPotionEv diff --git a/asm/ov00/ov00_020b1498.s b/asm/ov00/ov00_020b1498.s index 96402f64..c2ca0cf3 100644 --- a/asm/ov00/ov00_020b1498.s +++ b/asm/ov00/ov00_020b1498.s @@ -15332,7 +15332,7 @@ func_ov00_020bd510: ; 0x020bd510 ldmltia sp!, {r3, r4, r5, pc} rsb r1, r2, #0 mov r2, #0 - bl _ZN11ItemManager10GiveRupeesEsi + bl _ZN11ItemManager10GiveRupeesEsb mvn lr, #0 mov r3, #0 str r3, [sp, #0xc] diff --git a/asm/ov09.inc b/asm/ov09.inc index c328a07a..3590f2cd 100644 --- a/asm/ov09.inc +++ b/asm/ov09.inc @@ -1,6 +1,6 @@ #pragma once .extern Divide -.extern _ZN11ItemManager10GiveRupeesEsi +.extern _ZN11ItemManager10GiveRupeesEsb .extern _ZN11ItemManager13EquipShipPartEjj .extern _ZN11ItemManager16SetShipPartCountEjjc .extern _ZN11ItemManager16SetTreasureCountEjc diff --git a/asm/ov09.s b/asm/ov09.s index 99fd5dfe..380d301a 100644 --- a/asm/ov09.s +++ b/asm/ov09.s @@ -17414,7 +17414,7 @@ func_ov09_0211c9a8: ; 0x0211c9a8 add r1, r0, #0 add r0, r6, #0 mov r2, #1 - blx _ZN11ItemManager10GiveRupeesEsi + blx _ZN11ItemManager10GiveRupeesEsb ldr r0, _0211c9e4 ; =gItemManager add r1, r5, #0 ldr r6, [r0] @@ -17445,7 +17445,7 @@ func_ov09_0211c9e8: ; 0x0211c9e8 add r1, r0, #0 add r0, r4, #0 mov r2, #1 - blx _ZN11ItemManager10GiveRupeesEsi + blx _ZN11ItemManager10GiveRupeesEsb ldr r0, _0211ca1c ; =gItemManager add r1, r5, #0 ldr r4, [r0] diff --git a/asm/ov14/Actor/ActorRupee.inc b/asm/ov14/Actor/ActorRupee.inc index 48b79951..8ceba352 100644 --- a/asm/ov14/Actor/ActorRupee.inc +++ b/asm/ov14/Actor/ActorRupee.inc @@ -1,5 +1,5 @@ #pragma once -.extern _ZN11ItemManager10GiveRupeesEsi +.extern _ZN11ItemManager10GiveRupeesEsb .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv diff --git a/asm/ov14/Actor/ActorRupee.s b/asm/ov14/Actor/ActorRupee.s index 95ba28fd..3efc7afa 100644 --- a/asm/ov14/Actor/ActorRupee.s +++ b/asm/ov14/Actor/ActorRupee.s @@ -371,7 +371,7 @@ _0213b2f8: mov r1, r0 mov r0, r6 mov r2, #0 - bl _ZN11ItemManager10GiveRupeesEsi + bl _ZN11ItemManager10GiveRupeesEsb ldr r0, [r5, #0x158] mvn r1, #0 cmp r0, #0 diff --git a/asm/ov15.inc b/asm/ov15.inc index bf9fcdaa..b3ac7ea5 100644 --- a/asm/ov15.inc +++ b/asm/ov15.inc @@ -10,7 +10,7 @@ .extern _ZN10PlayerBase8TeleportEP5Vec3psibb .extern _ZN10PlayerBase8vfunc_04Ev .extern _ZN10PlayerBase9AddHealthEs -.extern _ZN11ItemManager10GiveRupeesEsi +.extern _ZN11ItemManager10GiveRupeesEsb .extern _ZN11ItemManager10SetUnk_09eEjt .extern _ZN11ItemManager15LoadFanfareItemEi .extern _ZN11ItemManager18func_ov00_020ad528Ev diff --git a/asm/ov15.s b/asm/ov15.s index b822c5e1..b0a7f814 100644 --- a/asm/ov15.s +++ b/asm/ov15.s @@ -54185,7 +54185,7 @@ func_ov15_0214d358: ; 0x0214d358 mov r1, r0 mov r0, r5 mov r2, #0 - bl _ZN11ItemManager10GiveRupeesEsi + bl _ZN11ItemManager10GiveRupeesEsb ldr r1, [r4, #0x158] ldr r0, _0214d3dc ; =data_ov00_020eec9c add r1, r1, #0xfa @@ -99853,7 +99853,7 @@ func_ov15_02174794: ; 0x02174794 mov r1, r0 mov r0, r5 mov r2, #0 - bl _ZN11ItemManager10GiveRupeesEsi + bl _ZN11ItemManager10GiveRupeesEsb ldr r1, [r4, #0x2c] ldr r0, _02174878 ; =data_ov00_020eec9c add r1, r1, #0xfa diff --git a/asm/ov31.inc b/asm/ov31.inc index b5ef43d6..1bce5af5 100644 --- a/asm/ov31.inc +++ b/asm/ov31.inc @@ -2,7 +2,7 @@ .extern Divide .extern GiveShipPart .extern LoadTreasureItemFanfare -.extern _ZN11ItemManager10GiveRupeesEsi +.extern _ZN11ItemManager10GiveRupeesEsb .extern _ZN11ItemManager8GiveAmmoEit .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN14AdventureFlags3GetEj diff --git a/asm/ov31.s b/asm/ov31.s index 6476fc0d..3d41ae97 100644 --- a/asm/ov31.s +++ b/asm/ov31.s @@ -1049,7 +1049,7 @@ _0217cae4: ldr r0, [r0] rsb r1, r1, #0 mov r2, #1 - bl _ZN11ItemManager10GiveRupeesEsi + bl _ZN11ItemManager10GiveRupeesEsb bl func_ov31_0217cf1c ldr r0, [r0, #0x470] cmp r0, #0 diff --git a/asm/ov46.inc b/asm/ov46.inc index b0c00b00..dc855f3e 100644 --- a/asm/ov46.inc +++ b/asm/ov46.inc @@ -1,6 +1,6 @@ #pragma once .extern Approach_thunk -.extern _ZN11ItemManager10GiveRupeesEsi +.extern _ZN11ItemManager10GiveRupeesEsb .extern _ZN11ItemManager16SetTreasureCountEjc .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p diff --git a/asm/ov46.s b/asm/ov46.s index 871c0867..241d00eb 100644 --- a/asm/ov46.s +++ b/asm/ov46.s @@ -3035,7 +3035,7 @@ _02192754: strb r2, [r5, #0x48b] ldr r0, [r0] mov r2, #1 - bl _ZN11ItemManager10GiveRupeesEsi + bl _ZN11ItemManager10GiveRupeesEsb ldrb r2, [r5, #0x48a] ldr r0, _021927d0 ; =gItemManager sub r1, r4, #1 diff --git a/asm/ov49.inc b/asm/ov49.inc index 922fc319..2df09dd4 100644 --- a/asm/ov49.inc +++ b/asm/ov49.inc @@ -2,7 +2,7 @@ .extern Divide .extern _ZN10ActorRupee18func_ov14_0213b5f4EjiP5Vec3pb .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder -.extern _ZN11ItemManager10GiveRupeesEsi +.extern _ZN11ItemManager10GiveRupeesEsb .extern _ZN11ItemManager10RemoveItemEi .extern _ZN11ItemManager12GetItemModelEj .extern _ZN14AdventureFlags18func_Ov00_02097810Ei diff --git a/asm/ov49.s b/asm/ov49.s index f300a945..3aa9dcab 100644 --- a/asm/ov49.s +++ b/asm/ov49.s @@ -894,7 +894,7 @@ _02196068: mov r0, r5 rsb r1, r1, #0 mov r2, #0 - bl _ZN11ItemManager10GiveRupeesEsi + bl _ZN11ItemManager10GiveRupeesEsb ldrb r1, [r4, #0x5c9] ldr r0, _021960f0 ; =gItemManager add r1, r1, #1 diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 0caf7c97..90e331ab 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -306,8 +306,8 @@ public: void GiveEquipItem(ItemFlag item, u16 ammo); // Rupees - u32 GetMaxRupees() const; - void GiveRupees(s16 amount, unk32 param2); + s32 GetMaxRupees() const; + void GiveRupees(s16 amount, bool param2); // Potion void SetPotion(u32 index, Potion potion); diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index b1d04f10..a8f6c5a2 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -757,6 +757,28 @@ THUMB void ItemManager::UnequipPotion() { } } -ARM u32 ItemManager::GetMaxRupees() const { +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(s16 amount, bool param2) { + s32 newRupees = mNumRupees + amount; + if (newRupees > this->GetMaxRupees()) { + newRupees = this->GetMaxRupees(); + } else if (newRupees < 0) { + newRupees = 0; + } + + s32 currRupees = func_ov00_020cf374(data_027e103c, true); + if (param2) { + currRupees = mNumRupees; + if (currRupees != newRupees) { + func_ov05_02104004(data_027e103c); + } + } + mNumRupees = newRupees; +} From 9a7bc06baa5dadd2632b550e3cf92a1aa13530a5 Mon Sep 17 00:00:00 2001 From: Aetias Date: Fri, 19 Apr 2024 16:36:22 +0200 Subject: [PATCH 12/76] Decomp `ItemManager::func_ov00_020ae350` --- asm/ov00/Item/ItemManager.s | 14 +------------- include/Item/ItemManager.hpp | 2 +- src/00_Core/Item/ItemManager.cpp | 6 +++++- 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index 7ea818af..449141e9 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,18 +3,6 @@ .text - .global _ZNK11ItemManager18func_ov00_020ae350Ev - arm_func_start _ZNK11ItemManager18func_ov00_020ae350Ev -_ZNK11ItemManager18func_ov00_020ae350Ev: ; 0x020ae350 - ldr r0, _020ae360 ; =data_027e0e60 - ldr ip, _020ae364 ; =func_ov00_02084b14 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end _ZNK11ItemManager18func_ov00_020ae350Ev -_020ae360: .word data_027e0e60 -_020ae364: .word func_ov00_02084b14 - .global _ZN11ItemManager8GiveKeysEj thumb_func_start _ZN11ItemManager8GiveKeysEj _ZN11ItemManager8GiveKeysEj: ; 0x020ae368 @@ -70,7 +58,7 @@ _ZN11ItemManager17EquipPreviousItemEv: ; 0x020ae3c0 bx ip .align 2, 0 arm_func_end _ZN11ItemManager17EquipPreviousItemEv -_020ae3cc: .word _ZN11ItemManager15SetEquippedItemEi +_020ae3cc: .word _ZN11ItemManager15SetEquippedItemEi - 1 .global _ZN11ItemManager13ForceEquipItemEi thumb_func_start _ZN11ItemManager13ForceEquipItemEi diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 90e331ab..806672c3 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -317,7 +317,7 @@ public: void UnequipPotion(); // Unknown - void func_ov00_020ae350() const; + unk32 func_ov00_020ae350() const; void GiveKeys(u32 amount); void func_ov00_020ae4dc(unk32 param1); // sets mUnk_0ba void func_ov00_020ae648(unk32 param1, unk32 param2, unk32 param3); diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index a8f6c5a2..fad8d3dd 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -761,7 +761,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); @@ -782,3 +781,8 @@ ARM void ItemManager::GiveRupees(s16 amount, bool param2) { } mNumRupees = newRupees; } + +extern "C" unk32 func_ov00_02084b14(void *param1); +ARM unk32 ItemManager::func_ov00_020ae350() const { + return func_ov00_02084b14(data_027e0e60); +} From 806b46854fea8704e1c4746071b6c0cff975c130 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 21 Apr 2024 08:25:26 +0200 Subject: [PATCH 13/76] Add `MapManager.cpp` --- include/Map/MapManager.hpp | 232 +++++++++++++++++++++++++++++++++ src/00_Core/Map/MapManager.cpp | 204 +++++++++++++++++++++++++++++ 2 files changed, 436 insertions(+) create mode 100644 include/Map/MapManager.hpp create mode 100644 src/00_Core/Map/MapManager.cpp diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp new file mode 100644 index 00000000..897f28c1 --- /dev/null +++ b/include/Map/MapManager.hpp @@ -0,0 +1,232 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "System/SysNew.hpp" + +struct MapManager_Unk1 { + /* 0 */ unk32 mUnk_0; + /* 4 */ unk32 mUnk_4; + /* 8 */ + + ~MapManager_Unk1(); +}; + +struct MapManager_Unk2 { + /* 0 */ unk32 mUnk_0; + /* 4 */ unk32 mUnk_4; + /* 8 */ + + ~MapManager_Unk2(); +}; + +class MapDataBase : public SysObject { +public: + /* 00 */ virtual ~MapData(); + + MapData(); + MapData(uint param1, uint param2); +}; + +class MapManager : public SysObject { +public: + void func_ov00_020820ec(unk32 *param_2); + void func_ov00_020820fc(s32 param_2, unk32 param_3, unk32 param_4); + unk8 func_ov00_0208210c(unk32 param_2, unk32 param_3); + unk8 func_ov00_0208230c(unk32 param_2); + unk8 func_ov00_02082348(unk32 param_2); + void func_ov00_020823a4(unk32 param_2); + unk8 func_ov00_020823b4(); + bool func_ov00_020823c4(unk32 *param_2, s32 param_3); + s32 func_ov00_020823d4(s32 param_2); + s32 func_ov00_020823e4(s32 param_2); + unk8 MapData_vfunc_b4(); + unk8 MapData_vfunc_9c(); + s32 func_ov00_02082424(); + unk8 func_ov00_02082454(unk32 param_2, unk32 param_3); + unk8 func_ov00_02082494(unk32 param_2); + unk8 func_ov00_020824cc(unk32 param_2); + unk8 func_ov00_02082504(); + unk8 * func_ov00_02082538(); + void func_ov00_02082594(); + void func_ov00_020825ac(); + s32 GetCourseFilePath(char *courseName, char *buf); + unk8 func_ov00_020825e4(unk32 param_2, unk32 param_3); + unk8 func_ov00_02082614(unk32 param_2, unk32 param_3); + unk8 MapData_vfunc_b0(); + void func_ov00_02082650(s32 param_2, s32 param_3, unk32 param_4); + void func_ov00_02082660(s32 param_2, s32 param_3); + void func_ov00_02082670(unk32 param_2, s32 param_3); + void func_ov00_02082680(unk32 param_2, unk32 param_3); + unk8 func_ov00_020826a0(unk32 param_2, unk32 param_3, unk32 param_4); + unk8 CreateMap(unk32 mapType, unk32 param_3, unk32 param_4); + unk8 DestroyMap(); + unk8 MapData_vfunc_44(); + static unk8 func_ov00_02082808(); + unk8 MapData_vfunc_7c(); + unk8 MapData_vfunc_84(); + bool func_ov00_020828f8(s32 *param_2); + unk8 GetCourseData_Unk_b0(); + s32 func_ov00_02082914(unk32 param_2); + unk8 func_ov00_02082acc(); + unk32 * func_ov00_02082adc(); + unk8 func_ov00_02082af4(); + bool func_ov00_02082b3c(s32 param_2); + unk8 func_ov00_02082d08(); + unk8 GetCourseData_Unk_1c(); + unk8 GetCourseData_Unk_1d(); + unk8 func_ov00_02082d40(); + u32 func_ov00_02082d74(unk32 param_2); + static unk8 func_ov00_02082d84(); + bool func_ov00_02082e1c(s32 *param_2, s32 *param_3); + static unk8 func_ov00_0208306c(); + void func_ov00_0208315c(s32 *param_2, s32 *param_3); + void func_ov00_02083244(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5); + void func_ov00_02083298(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5); + unk8 GetCourseData_Unk_25c(); + bool func_ov00_02083318(unk32 param_2); + static unk8 func_ov00_02083328(); + unk8 GetCourseData_Unk_86(); + unk8 GetCourseData_Unk_87(); + unk8 Get_MapData_Unk28(); + unk8 Get_MapData_Unk2a(); + static unk8 func_ov00_02083374(); + static unk8 func_ov00_02083384(); + unk8 GetCourseMinX(); + unk8 GetCourseMinZ(); + unk8 GetCourseMaxX(); + unk8 GetCourseMaxZ(); + unk8 func_ov00_020833c4(); + unk8 func_ov00_020833d0(); + unk8 func_ov00_020833dc(); + unk8 func_ov00_020833e8(); + unk8 Get_MapData_Unk_d0(); + unk8 Get_MapData_Unk_d8(); + unk8 GetMapData_Unk_dc(Vec3p *param_2); + unk8 GetMapData_Unk_e8(Vec3p *param_2); + unk8 GetMapData_Unk_d0(Vec3p *param_2); + unk8 func_ov00_0208346c(AABB *param_2); + unk8 func_ov00_020834bc(Vec3p *param_2, unk32 param_3, unk32 param_4); + unk8 func_ov00_02083524(Vec3p *param_2, unk32 param_3, unk32 param_4); + static void func_ov00_02083560(unk32 param_1, MapManager *param_2, u32 param_3); + unk8 func_ov00_02083570(unk32 param_2, unk32 param_3); + unk32 func_ov00_02083588(); + unk32 func_ov00_020835a4(); + unk32 func_ov00_020835b4(); + unk8 func_ov00_020835c4(unk32 param_2, unk32 param_3); + bool func_ov00_020835e4(s32 param_2, unk32 *param_3, unk32 *param_4); + unk32 func_ov00_020835f4(s32 param_2); + void func_ov00_02083604(s32 param_2); + unk8 func_ov00_02083614(s32 param_2); + bool GetEntrancePos(Vec3p *param_2, unk32 entranceId); + bool func_ov00_02083664(Vec3p *param_2, unk32 entranceId); + s32 func_ov00_020836bc(u32 param_2, unk32 *param_3); + u32 func_ov00_020836cc(u32 param_2, AABB *param_3, u32 param_4); + unk8 func_ov00_020836dc(unk32 param_2, unk32 param_3); + bool func_ov00_02083770(u32 param_2, unk32 param_3); + bool func_ov00_02083780(unk32 param_2); + bool func_ov00_02083790(unk32 param_2); + unk8 func_ov00_02083840(unk32 param_2); + bool func_ov00_020838c8(s32 param_2); + bool func_ov00_020838d8(s32 param_2); + bool func_ov00_020838e8(u32 param_2, unk32 *param_3); + char func_ov00_020838f8(unk32 *param_2); + bool func_ov00_02083908(char param_2, unk32 *param_3); + void func_ov00_02083918(s32 param_2, s32 *param_3); + void func_ov00_02083928(unk8 *param_2, s32 param_3); + unk32 func_ov00_02083938(s32 param_2); + unk8 Set_MapData_Unk_16(unk8 value, unk32 index); + void func_ov00_02083958(s32 param_2); + void func_ov00_02083968(u32 param_2, unk8 *param_3); + bool func_ov00_02083978(unk32 param_2, Vec3p *param_3); + bool func_ov00_020839b4(s32 param_2); + 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 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(); + static unk8 func_ov00_02083bd4(); + 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); + 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(); + static unk8 func_ov00_02083e70(); + unk8 MapData_vfunc_68(); + void func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3); + void func_ov00_02083f44(Vec3p *param_2); + unk8 MapData_vfunc_6c(); + unk8 MapData_vfunc_70(); + static unk8 func_ov00_02083fb0(unk32 param_1, MapManager *param_2, unk32 param_3); + void func_ov00_02084024(unk32 param_2, AABB *param_3); + unk8 MapData_vfunc_54(); + unk8 func_ov00_020840a0(unk8 param_2, unk8 param_3, unk32 param_4); + unk8 MapData_vfunc_78(); + static unk8 func_ov00_020840dc(); + static unk8 func_ov00_02084100(unk32 param_1, MapManager *param_2); + unk8 GetMapData_Unk_48(); + unk8 GetMapData_Unk_4c(); + unk32 func_ov00_0208412c(); + void func_ov00_0208413c(unk32 param_2); + unk8 MapData_vfunc_58(); + static unk8 func_ov00_02084164(); + unk8 GetMapData_Unk_0a(); + unk8 GetMapData_Unk_0b(); + unk8 MapData_vfunc_a4(); + unk8 func_ov00_0208433c(Vec3p *param_2, unk32 param_3); + static unk8 func_ov00_0208439c(); + void func_ov00_020843ec(s32 *param_2); + unk8 GetMapData_Unk_38(); + unk8 func_ov00_020846a4(); + static unk8 func_ov00_02084700(); + unk8 func_ov00_02084740(); + unk8 func_ov00_020847e0(); + unk8 func_ov00_020847f0(); + bool func_ov00_02084838(); + bool func_ov00_020848b8(); + void func_ov00_02084924(u32 param_2); + static unk8 func_ov00_02084934(); + unk8 GetMapData_Unk_06(); + unk8 GetMapData_Unk_07(); + unk8 func_ov00_0208499c(); + unk8 func_ov00_020849c0(); + unk8 func_ov00_020849dc(); + static bool func_ov00_020849f8(unk32 param_1); + unk8 func_ov00_02084a50(); + void SpawnNPC(Vec3p *param_2, unk32 param_3, unk32 param_4); + bool func_ov00_02084ac4(u32 actorId); + unk8 SetNumKeys(unk32 keys); + unk8 GetNumKeys(); + unk8 SetCourseData_Unk_25c(unk8 param_2); + unk8 GetCourseData_Unk_25d(); + unk8 func_ov00_02084b38(unk32 param_2, unk32 param_3, unk32 param_4); + bool func_ov00_02084be0(unk32 param_2, unk32 param_3); + void func_ov00_02084c5c(unk32 param_2, unk32 param_3); + bool func_ov00_02084c6c(unk32 param_2); + unk8 func_ov00_02084c7c(unk32 param_2); + unk8 func_ov00_02084c94(unk32 param_2); + unk8 func_ov00_02084cb0(unk32 param_2); + unk8 func_ov00_02084cc8(unk32 param_2); + unk8 func_ov00_02084ce4(unk32 param_2); + unk8 func_ov00_02084cfc(unk32 param_2); + unk8 GetMapData_Unk_09(); + 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); + static unk8 func_ov00_0208527c(); + static unk8 func_ov00_020853fc(); + static unk8 func_ov00_02085594(); + 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); + unk8 func_ov00_02085c60(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + unk8 func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4); + bool func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, u16 param_6, Vec3p *param_7, Vec3p *param_8); + bool func_ov00_02086a84(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, s32 param_6, unk32 param_7, Vec3p *param_8, Vec3p *param_9); +}; diff --git a/src/00_Core/Map/MapManager.cpp b/src/00_Core/Map/MapManager.cpp new file mode 100644 index 00000000..f6074d85 --- /dev/null +++ b/src/00_Core/Map/MapManager.cpp @@ -0,0 +1,204 @@ +#include "Map/MapManager.hpp" + +#ifdef STUBS + +void MapManager::func_ov00_020820ec(unk32 *param_2) {} +void MapManager::func_ov00_020820fc(s32 param_2, unk32 param_3, unk32 param_4) {} +unk8 MapManager::func_ov00_0208210c(unk32 param_2, unk32 param_3) {} +unk8 MapManager::func_ov00_0208230c(unk32 param_2) {} +unk8 MapManager::func_ov00_02082348(unk32 param_2) {} +void MapManager::func_ov00_020823a4(unk32 param_2) {} +unk8 MapManager::func_ov00_020823b4() {} +bool MapManager::func_ov00_020823c4(unk32 *param_2, s32 param_3) {} +s32 MapManager::func_ov00_020823d4(s32 param_2) {} +s32 MapManager::func_ov00_020823e4(s32 param_2) {} +unk8 MapManager::MapData_vfunc_b4() {} +unk8 MapManager::MapData_vfunc_9c() {} +s32 MapManager::func_ov00_02082424() {} +unk8 MapManager::func_ov00_02082454(unk32 param_2, unk32 param_3) {} +unk8 MapManager::func_ov00_02082494(unk32 param_2) {} +unk8 MapManager::func_ov00_020824cc(unk32 param_2) {} +unk8 MapManager::func_ov00_02082504() {} +unk8 * MapManager::func_ov00_02082538() {} +void MapManager::func_ov00_02082594() {} +void MapManager::func_ov00_020825ac() {} +s32 MapManager::GetCourseFilePath(char *courseName, char *buf) {} +unk8 MapManager::func_ov00_020825e4(unk32 param_2, unk32 param_3) {} +unk8 MapManager::func_ov00_02082614(unk32 param_2, unk32 param_3) {} +unk8 MapManager::MapData_vfunc_b0() {} +void MapManager::func_ov00_02082650(s32 param_2, s32 param_3, unk32 param_4) {} +void MapManager::func_ov00_02082660(s32 param_2, s32 param_3) {} +void MapManager::func_ov00_02082670(unk32 param_2, s32 param_3) {} +void MapManager::func_ov00_02082680(unk32 param_2, unk32 param_3) {} +unk8 MapManager::func_ov00_020826a0(unk32 param_2, unk32 param_3, unk32 param_4) {} +unk8 MapManager::CreateMap(unk32 mapType, unk32 param_3, unk32 param_4) {} +unk8 MapManager::DestroyMap() {} +unk8 MapManager::MapData_vfunc_44() {} +static unk8 MapManager::func_ov00_02082808() {} +unk8 MapManager::MapData_vfunc_7c() {} +unk8 MapManager::MapData_vfunc_84() {} +bool MapManager::func_ov00_020828f8(s32 *param_2) {} +unk8 MapManager::GetCourseData_Unk_b0() {} +s32 MapManager::func_ov00_02082914(unk32 param_2) {} +unk8 MapManager::func_ov00_02082acc() {} +unk32 * MapManager::func_ov00_02082adc() {} +unk8 MapManager::func_ov00_02082af4() {} +bool MapManager::func_ov00_02082b3c(s32 param_2) {} +unk8 MapManager::func_ov00_02082d08() {} +unk8 MapManager::GetCourseData_Unk_1c() {} +unk8 MapManager::GetCourseData_Unk_1d() {} +unk8 MapManager::func_ov00_02082d40() {} +u32 MapManager::func_ov00_02082d74(unk32 param_2) {} +static unk8 MapManager::func_ov00_02082d84() {} +bool MapManager::func_ov00_02082e1c(s32 *param_2, s32 *param_3) {} +static unk8 MapManager::func_ov00_0208306c() {} +void MapManager::func_ov00_0208315c(s32 *param_2, s32 *param_3) {} +void MapManager::func_ov00_02083244(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5) {} +void MapManager::func_ov00_02083298(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5) {} +unk8 MapManager::GetCourseData_Unk_25c() {} +bool MapManager::func_ov00_02083318(unk32 param_2) {} +static unk8 MapManager::func_ov00_02083328() {} +unk8 MapManager::GetCourseData_Unk_86() {} +unk8 MapManager::GetCourseData_Unk_87() {} +unk8 MapManager::Get_MapData_Unk28() {} +unk8 MapManager::Get_MapData_Unk2a() {} +static unk8 MapManager::func_ov00_02083374() {} +static unk8 MapManager::func_ov00_02083384() {} +unk8 MapManager::GetCourseMinX() {} +unk8 MapManager::GetCourseMinZ() {} +unk8 MapManager::GetCourseMaxX() {} +unk8 MapManager::GetCourseMaxZ() {} +unk8 MapManager::func_ov00_020833c4() {} +unk8 MapManager::func_ov00_020833d0() {} +unk8 MapManager::func_ov00_020833dc() {} +unk8 MapManager::func_ov00_020833e8() {} +unk8 MapManager::Get_MapData_Unk_d0() {} +unk8 MapManager::Get_MapData_Unk_d8() {} +unk8 MapManager::GetMapData_Unk_dc(Vec3p *param_2) {} +unk8 MapManager::GetMapData_Unk_e8(Vec3p *param_2) {} +unk8 MapManager::GetMapData_Unk_d0(Vec3p *param_2) {} +unk8 MapManager::func_ov00_0208346c(AABB *param_2) {} +unk8 MapManager::func_ov00_020834bc(Vec3p *param_2, unk32 param_3, unk32 param_4) {} +unk8 MapManager::func_ov00_02083524(Vec3p *param_2, unk32 param_3, unk32 param_4) {} +static void MapManager::func_ov00_02083560(unk32 param_1, MapManager *param_2, u32 param_3) {} +unk8 MapManager::func_ov00_02083570(unk32 param_2, unk32 param_3) {} +unk32 MapManager::func_ov00_02083588() {} +unk32 MapManager::func_ov00_020835a4() {} +unk32 MapManager::func_ov00_020835b4() {} +unk8 MapManager::func_ov00_020835c4(unk32 param_2, unk32 param_3) {} +bool MapManager::func_ov00_020835e4(s32 param_2, unk32 *param_3, unk32 *param_4) {} +unk32 MapManager::func_ov00_020835f4(s32 param_2) {} +void MapManager::func_ov00_02083604(s32 param_2) {} +unk8 MapManager::func_ov00_02083614(s32 param_2) {} +bool MapManager::GetEntrancePos(Vec3p *param_2, unk32 entranceId) {} +bool MapManager::func_ov00_02083664(Vec3p *param_2, unk32 entranceId) {} +s32 MapManager::func_ov00_020836bc(u32 param_2, unk32 *param_3) {} +u32 MapManager::func_ov00_020836cc(u32 param_2, AABB *param_3, u32 param_4) {} +unk8 MapManager::func_ov00_020836dc(unk32 param_2, unk32 param_3) {} +bool MapManager::func_ov00_02083770(u32 param_2, unk32 param_3) {} +bool MapManager::func_ov00_02083780(unk32 param_2) {} +bool MapManager::func_ov00_02083790(unk32 param_2) {} +unk8 MapManager::func_ov00_02083840(unk32 param_2) {} +bool MapManager::func_ov00_020838c8(s32 param_2) {} +bool MapManager::func_ov00_020838d8(s32 param_2) {} +bool MapManager::func_ov00_020838e8(u32 param_2, unk32 *param_3) {} +char MapManager::func_ov00_020838f8(unk32 *param_2) {} +bool MapManager::func_ov00_02083908(char param_2, unk32 *param_3) {} +void MapManager::func_ov00_02083918(s32 param_2, s32 *param_3) {} +void MapManager::func_ov00_02083928(unk8 *param_2, s32 param_3) {} +unk32 MapManager::func_ov00_02083938(s32 param_2) {} +unk8 MapManager::Set_MapData_Unk_16(unk8 value, unk32 index) {} +void MapManager::func_ov00_02083958(s32 param_2) {} +void MapManager::func_ov00_02083968(u32 param_2, unk8 *param_3) {} +bool MapManager::func_ov00_02083978(unk32 param_2, Vec3p *param_3) {} +bool MapManager::func_ov00_020839b4(s32 param_2) {} +bool MapManager::func_ov00_020839c4(s32 param_2) {} +static unk8 MapManager::func_ov00_020839d4() {} +static unk8 MapManager::func_ov00_020839f8() {} +static void MapManager::func_ov00_02083a1c(unk32 param_1, MapManager *param_2, Vec3p *param_3) {} +static unk8 MapManager::func_ov00_02083a54(unk32 param_1, MapManager *param_2, unk32 param_3, unk32 param_4, unk32 param_5) {} +static unk8 MapManager::func_ov00_02083b84() {} +static unk8 MapManager::func_ov00_02083bac() {} +static unk8 MapManager::func_ov00_02083bd4() {} +static 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) {} +static 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() {} +static unk8 MapManager::func_ov00_02083e70() {} +unk8 MapManager::MapData_vfunc_68() {} +void MapManager::func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3) {} +void MapManager::func_ov00_02083f44(Vec3p *param_2) {} +unk8 MapManager::MapData_vfunc_6c() {} +unk8 MapManager::MapData_vfunc_70() {} +static unk8 MapManager::func_ov00_02083fb0(unk32 param_1, MapManager *param_2, unk32 param_3) {} +void MapManager::func_ov00_02084024(unk32 param_2, AABB *param_3) {} +unk8 MapManager::MapData_vfunc_54() {} +unk8 MapManager::func_ov00_020840a0(unk8 param_2, unk8 param_3, unk32 param_4) {} +unk8 MapManager::MapData_vfunc_78() {} +static unk8 MapManager::func_ov00_020840dc() {} +static unk8 MapManager::func_ov00_02084100(unk32 param_1, MapManager *param_2) {} +unk8 MapManager::GetMapData_Unk_48() {} +unk8 MapManager::GetMapData_Unk_4c() {} +unk32 MapManager::func_ov00_0208412c() {} +void MapManager::func_ov00_0208413c(unk32 param_2) {} +unk8 MapManager::MapData_vfunc_58() {} +static unk8 MapManager::func_ov00_02084164() {} +unk8 MapManager::GetMapData_Unk_0a() {} +unk8 MapManager::GetMapData_Unk_0b() {} +unk8 MapManager::MapData_vfunc_a4() {} +unk8 MapManager::func_ov00_0208433c(Vec3p *param_2, unk32 param_3) {} +static unk8 MapManager::func_ov00_0208439c() {} +void MapManager::func_ov00_020843ec(s32 *param_2) {} +unk8 MapManager::GetMapData_Unk_38() {} +unk8 MapManager::func_ov00_020846a4() {} +static unk8 MapManager::func_ov00_02084700() {} +unk8 MapManager::func_ov00_02084740() {} +unk8 MapManager::func_ov00_020847e0() {} +unk8 MapManager::func_ov00_020847f0() {} +bool MapManager::func_ov00_02084838() {} +bool MapManager::func_ov00_020848b8() {} +void MapManager::func_ov00_02084924(u32 param_2) {} +static unk8 MapManager::func_ov00_02084934() {} +unk8 MapManager::GetMapData_Unk_06() {} +unk8 MapManager::GetMapData_Unk_07() {} +unk8 MapManager::func_ov00_0208499c() {} +unk8 MapManager::func_ov00_020849c0() {} +unk8 MapManager::func_ov00_020849dc() {} +static bool MapManager::func_ov00_020849f8(unk32 param_1) {} +unk8 MapManager::func_ov00_02084a50() {} +void MapManager::SpawnNPC(Vec3p *param_2, unk32 param_3, unk32 param_4) {} +bool MapManager::func_ov00_02084ac4(u32 actorId) {} +unk8 MapManager::SetNumKeys(unk32 keys) {} +unk8 MapManager::GetNumKeys() {} +unk8 MapManager::SetCourseData_Unk_25c(unk8 param_2) {} +unk8 MapManager::GetCourseData_Unk_25d() {} +unk8 MapManager::func_ov00_02084b38(unk32 param_2, unk32 param_3, unk32 param_4) {} +bool MapManager::func_ov00_02084be0(unk32 param_2, unk32 param_3) {} +void MapManager::func_ov00_02084c5c(unk32 param_2, unk32 param_3) {} +bool MapManager::func_ov00_02084c6c(unk32 param_2) {} +unk8 MapManager::func_ov00_02084c7c(unk32 param_2) {} +unk8 MapManager::func_ov00_02084c94(unk32 param_2) {} +unk8 MapManager::func_ov00_02084cb0(unk32 param_2) {} +unk8 MapManager::func_ov00_02084cc8(unk32 param_2) {} +unk8 MapManager::func_ov00_02084ce4(unk32 param_2) {} +unk8 MapManager::func_ov00_02084cfc(unk32 param_2) {} +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) {} +static unk8 MapManager::func_ov00_0208527c() {} +static unk8 MapManager::func_ov00_020853fc() {} +static unk8 MapManager::func_ov00_02085594() {} +static void MapManager::func_ov00_0208583c(unk32 param_1, Vec3p *param_2, unk32 param_3) {} +static unk8 MapManager::func_ov00_020858b0() {} +s32 MapManager::func_ov00_02085a34(unk32 param_2, unk32 param_3) {} +unk8 MapManager::func_ov00_02085c60(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5) {} +unk8 MapManager::func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4) {} +bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, u16 param_6, Vec3p *param_7, Vec3p *param_8) {} +bool MapManager::func_ov00_02086a84(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, s32 param_6, unk32 param_7, Vec3p *param_8, Vec3p *param_9) {} + +#endif From 61de0cef49c8b41c5caff85818af5cccb995365e Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 21 Apr 2024 12:28:25 +0200 Subject: [PATCH 14/76] Mangle `MapManager` --- asm/itcm.inc | 18 +- asm/itcm.s | 50 +- asm/main/main_02000000.inc | 8 +- asm/main/main_02000000.s | 8 +- asm/ov00/Actor/Actor.inc | 14 +- asm/ov00/Actor/Actor.s | 14 +- asm/ov00/Actor/ActorManager.inc | 2 +- asm/ov00/Actor/ActorManager.s | 4 +- asm/ov00/Item/ItemManager.inc | 12 +- asm/ov00/Item/ItemManager.s | 8 +- .../Item/ItemManager_func_ov00_020ad790.inc | 2 +- asm/ov00/Player/LinkStateFollow.inc | 6 +- asm/ov00/Player/LinkStateFollow.s | 8 +- asm/ov00/Player/PlayerBase.inc | 6 +- asm/ov00/Player/PlayerBase.s | 6 +- asm/ov00/Player/PlayerControl.inc | 20 +- asm/ov00/Player/PlayerControl.s | 18 +- asm/ov00/Save/AdventureFlags.inc | 2 +- asm/ov00/Save/AdventureFlags.s | 2 +- asm/ov00/ov00_020773c0.inc | 16 +- asm/ov00/ov00_020773c0.s | 34 +- asm/ov00/ov00_0207af9c.s | 2000 ++++++++--------- asm/ov00/ov00_020980f4.inc | 34 +- asm/ov00/ov00_020980f4.s | 56 +- asm/ov00/ov00_020b1498.inc | 50 +- asm/ov00/ov00_020b1498.s | 116 +- asm/ov00/ov00_020c3e54.inc | 40 +- asm/ov00/ov00_020c3e54.s | 80 +- asm/ov02.inc | 2 +- asm/ov02.s | 2 +- asm/ov03.inc | 36 +- asm/ov03.s | 56 +- asm/ov04.inc | 46 +- asm/ov04.s | 68 +- asm/ov05.inc | 46 +- asm/ov05.s | 118 +- asm/ov09.inc | 16 +- asm/ov09.s | 16 +- asm/ov12.inc | 36 +- asm/ov12.s | 108 +- asm/ov14/Actor/ActorRupee.inc | 8 +- asm/ov14/Actor/ActorRupee.s | 2 +- asm/ov14/ov14_0211f640.inc | 76 +- asm/ov14/ov14_0211f640.s | 274 +-- asm/ov14/ov14_0213b778.inc | 72 +- asm/ov14/ov14_0213b778.s | 184 +- asm/ov15.inc | 70 +- asm/ov15.s | 448 ++-- asm/ov17.inc | 66 +- asm/ov17.s | 212 +- asm/ov18.inc | 56 +- asm/ov18.s | 98 +- asm/ov19.inc | 16 +- asm/ov19.s | 24 +- asm/ov20.inc | 16 +- asm/ov20.s | 34 +- asm/ov21.inc | 10 +- asm/ov21.s | 18 +- asm/ov22.inc | 38 +- asm/ov22.s | 62 +- asm/ov23.inc | 44 +- asm/ov23.s | 98 +- asm/ov24.inc | 24 +- asm/ov24.s | 44 +- asm/ov25.inc | 22 +- asm/ov25.s | 28 +- asm/ov26.inc | 32 +- asm/ov26.s | 82 +- asm/ov27.inc | 10 +- asm/ov27.s | 42 +- asm/ov28.inc | 20 +- asm/ov28.s | 46 +- asm/ov29.inc | 18 +- asm/ov29.s | 34 +- asm/ov30.inc | 16 +- asm/ov30.s | 70 +- asm/ov31.inc | 2 +- asm/ov31.s | 2 +- asm/ov32.inc | 10 +- asm/ov32.s | 28 +- asm/ov33.inc | 4 +- asm/ov33.s | 10 +- asm/ov34.inc | 10 +- asm/ov34.s | 20 +- asm/ov35.inc | 4 +- asm/ov35.s | 6 +- asm/ov36.inc | 22 +- asm/ov36.s | 42 +- asm/ov37.inc | 6 +- asm/ov37.s | 32 +- asm/ov38.inc | 4 +- asm/ov38.s | 18 +- asm/ov39.inc | 6 +- asm/ov39.s | 12 +- asm/ov40.inc | 12 +- asm/ov40.s | 48 +- asm/ov41.inc | 10 +- asm/ov41.s | 12 +- asm/ov42.inc | 2 +- asm/ov42.s | 4 +- asm/ov43.inc | 4 +- asm/ov43.s | 8 +- asm/ov44.inc | 4 +- asm/ov44.s | 4 +- asm/ov46.inc | 6 +- asm/ov46.s | 12 +- asm/ov47.inc | 12 +- asm/ov47.s | 14 +- asm/ov49.inc | 10 +- asm/ov49.s | 12 +- asm/ov50.inc | 8 +- asm/ov50.s | 16 +- asm/ov51.inc | 6 +- asm/ov51.s | 6 +- asm/ov52.inc | 8 +- asm/ov52.s | 20 +- asm/ov53.inc | 4 +- asm/ov53.s | 4 +- asm/ov54.inc | 12 +- asm/ov54.s | 14 +- asm/ov55.inc | 2 +- asm/ov55.s | 4 +- asm/ov57.inc | 2 +- asm/ov57.s | 6 +- asm/ov58.inc | 22 +- asm/ov58.s | 90 +- asm/ov59.inc | 6 +- asm/ov59.s | 8 +- include/Map/MapManager.hpp | 9 +- src/00_Core/Map/MapManager.cpp | 60 +- 130 files changed, 3160 insertions(+), 3157 deletions(-) diff --git a/asm/itcm.inc b/asm/itcm.inc index 77612b92..f282df4a 100644 --- a/asm/itcm.inc +++ b/asm/itcm.inc @@ -52,15 +52,15 @@ .extern func_ov00_0207e968 .extern func_ov00_0207e96c .extern func_ov00_02081ef4 -.extern func_ov00_0208335c -.extern func_ov00_02083368 -.extern func_ov00_020839d4 -.extern func_ov00_020839f8 -.extern func_ov00_02083ee0 -.extern func_ov00_02083ef8 -.extern func_ov00_020840c4 -.extern func_ov00_02086284 -.extern func_ov00_02086a84 +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ +.extern _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ .extern func_ov00_0208e4f8 .extern func_ov00_0208ed74 .extern func_ov00_0208ee00 diff --git a/asm/itcm.s b/asm/itcm.s index cb895711..bc5b45df 100644 --- a/asm/itcm.s +++ b/asm/itcm.s @@ -5041,11 +5041,11 @@ func_01ffc118: ; 0x01ffc118 beq _01ffc530 ldr r1, [sp, #0x260] ldr r0, [sp, #0x14] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev str r0, [sp, #0x4c] ldr r0, [sp, #0x14] ldr r1, [sp, #0x268] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev add r1, r8, #0x800 str r0, [sp, #0x48] mov r0, r1, asr #0xc @@ -5055,10 +5055,10 @@ func_01ffc118: ; 0x01ffc118 sub r0, r0, r1, asr #12 str r0, [sp, #0x44] ldr r0, [sp, #0x14] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #0x38] ldr r0, [sp, #0x14] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv str r0, [sp, #0x34] ldr r1, [sp, #0x44] ldr r0, [sp, #0x40] @@ -5106,7 +5106,7 @@ _01ffc24c: strb r0, [sp, #0x69] ldr r0, [sp, #0x14] strb r2, [sp, #0x68] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _01ffc508 ldr r1, [r5, #4] @@ -5240,7 +5240,7 @@ _01ffc398: str r0, [sp, #0xc] ldr r0, [sp, #0x14] mov r2, ip - bl func_ov00_02086284 + bl _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ cmp r0, #0 mov r0, #1 beq _01ffc4dc @@ -5434,7 +5434,7 @@ _01ffc73c: str r0, [sp, #0xc] ldr r0, [sp, #0x14] mov r2, r6 - bl func_ov00_02086284 + bl _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ cmp r0, #0 mov r1, r5, lsl #0x1 beq _01ffc840 @@ -6172,22 +6172,22 @@ func_01ffd1e0: ; 0x01ffd1e0 bl func_ov00_0208ee00 ldr r0, [sp, #0x14] ldr r1, [sp, #0x298] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev sub r0, r0, #1 str r0, [sp, #0x3c] ldr r0, [sp, #0x14] ldr r1, [sp, #0x2a0] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev sub r0, r0, #1 str r0, [sp, #0x28] ldr r0, [sp, #0x14] ldr r1, [sp, #0x2a4] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev add r0, r0, #1 str r0, [sp, #0x38] ldr r0, [sp, #0x14] ldr r1, [sp, #0x2ac] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev add r0, r0, #1 str r0, [sp, #0x34] mov r0, #0 @@ -6207,10 +6207,10 @@ func_01ffd1e0: ; 0x01ffd1e0 add r2, sp, #0x2b0 bl func_01ff9bf8 ldr r0, [sp, #0x14] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #0x30] ldr r0, [sp, #0x14] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv str r0, [sp, #0x2c] ldr r1, [sp, #0x28] ldr r0, [sp, #0x34] @@ -6252,7 +6252,7 @@ _01ffd398: strb r0, [sp, #0x5d] ldr r0, [sp, #0x14] strb r4, [sp, #0x5c] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _01ffd650 ldr r1, [r5, #4] @@ -6386,7 +6386,7 @@ _01ffd4e4: add r2, sp, #0x26c str r2, [sp, #0x10] mov r2, ip - bl func_ov00_02086a84 + bl _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ cmp r0, #0 mov r0, #1 beq _01ffd624 @@ -6571,7 +6571,7 @@ _01ffd858: add r1, sp, #0x230 str r1, [sp, #0x10] mov r1, r4 - bl func_ov00_02086a84 + bl _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ cmp r0, #0 mov r1, r5, lsl #0x1 beq _01ffd964 @@ -7092,7 +7092,7 @@ _01ffdfa8: mov r1, r7 mov r2, r9 str r4, [sp, #0x31c] - bl func_ov00_02083ef8 + bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ ldr r1, [sp, #0x1d4] add r0, r0, r8 cmp r1, r0 @@ -7222,25 +7222,25 @@ func_01ffe1cc: ; 0x01ffe1cc bl func_ov00_0208ee00 ldr r0, [sp, #0xc] ldr r1, [sp, #0x48] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev str r0, [sp, #0x24] ldr r0, [sp, #0xc] ldr r1, [sp, #0x50] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev mov r6, r0 ldr r0, [sp, #0xc] ldr r1, [sp, #0x54] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev mov r4, r0 ldr r0, [sp, #0xc] ldr r1, [sp, #0x5c] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev str r0, [sp, #0x20] ldr r0, [sp, #0xc] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #0x1c] ldr r0, [sp, #0xc] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv str r0, [sp, #0x18] ldr r0, [sp, #0x20] cmp r6, r0 @@ -7274,7 +7274,7 @@ _01ffe314: strb r0, [sp, #0x31] ldr r0, [sp, #0xc] strb r5, [sp, #0x30] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r7, r0 beq _01ffe43c ldr r1, [r0] @@ -9193,7 +9193,7 @@ func_01fffd04: ; 0x01fffd04 str r1, [sp, #0x30] moveq r2, #0 add r1, sp, #0x2c - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r3, [r6, #0x4c] ldr r1, [sp, #0x54] ldr r2, [sp, #0x5c] diff --git a/asm/main/main_02000000.inc b/asm/main/main_02000000.inc index f55a7b3b..60b5442b 100644 --- a/asm/main/main_02000000.inc +++ b/asm/main/main_02000000.inc @@ -375,10 +375,10 @@ .extern func_ov00_0207bcb4 .extern func_ov00_0207be84 .extern func_ov00_0207c0f0 -.extern func_ov00_02082614 -.extern func_ov00_020838e8 -.extern func_ov00_02084740 -.extern func_ov00_02086044 +.extern _ZN10MapManager18func_ov00_02082614Eii +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02084740Ev +.extern _ZN10MapManager18func_ov00_02086044Eiii .extern func_ov00_02087d98 .extern func_ov00_02089068 .extern func_ov00_0208b180 diff --git a/asm/main/main_02000000.s b/asm/main/main_02000000.s index 52244b07..e9f932fc 100644 --- a/asm/main/main_02000000.s +++ b/asm/main/main_02000000.s @@ -58489,7 +58489,7 @@ func_0202bf58: ; 0x0202bf58 ldr ip, [r1, #8] add r1, sp, #0xc str ip, [sp, #8] - bl func_ov00_02086044 + bl _ZN10MapManager18func_ov00_02086044Eiii add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 @@ -76862,7 +76862,7 @@ _020382e8: ldr r0, [r0] ldr r1, [r4, #4] add r2, sp, #0 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _02038368 ldr r0, _020385a0 ; =data_027e0d38 @@ -76955,7 +76955,7 @@ _02038444: _0203846c: ldr r0, _0203859c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084740 + bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 ldr r2, [r4, #4] ldr r0, _020385ac ; =data_ov00_020eec68 @@ -80340,7 +80340,7 @@ _0203acc0: add r1, sp, #8 ldr r0, [r0] and r2, r2, #0xff - bl func_ov00_02082614 + bl _ZN10MapManager18func_ov00_02082614Eii ldr r0, _0203ae94 ; =data_027e103c add r1, sp, #8 ldr r0, [r0] diff --git a/asm/ov00/Actor/Actor.inc b/asm/ov00/Actor/Actor.inc index 869800e4..e490c88b 100644 --- a/asm/ov00/Actor/Actor.inc +++ b/asm/ov00/Actor/Actor.inc @@ -1,4 +1,9 @@ #pragma once +.extern _ZN10MapManager18func_ov00_02083570Eii +.extern _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii +.extern _ZN10MapManager18func_ov00_02084c5cEii .extern _ZN10PlayerBase18EquipItem_vfunc_2cEv .extern _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder @@ -10,6 +15,7 @@ .extern _ZN12ActorManager18func_ov00_020c39acEjPjb .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13PlayerControl13StopFollowingEv +.extern _ZN14AdventureFlags18func_ov00_02097738Ev .extern _ZN9SysObjectdlEPv .extern _ZNK11ItemManager19GetActiveFairyLevelEi .extern data_02050f54 @@ -20,7 +26,6 @@ .extern data_027e0d0c .extern data_027e0d3c .extern data_027e0e60 -.extern gAdventureFlags .extern data_027e0f90 .extern data_027e0f94 .extern data_027e0fac @@ -47,13 +52,7 @@ .extern func_ov00_0207a188 .extern func_ov00_0207a1c8 .extern func_ov00_0207b89c -.extern func_ov00_02083570 -.extern func_ov00_02083ef8 -.extern func_ov00_02084b38 -.extern func_ov00_02084be0 -.extern func_ov00_02084c5c .extern func_ov00_02087ef0 -.extern _ZN14AdventureFlags18func_ov00_02097738Ev .extern func_ov00_020bc46c .extern func_ov00_020bc7f8 .extern func_ov00_020bc854 @@ -73,4 +72,5 @@ .extern func_ov14_0213dadc .extern func_ov14_0213ddd4 .extern func_ov14_0213defc +.extern gAdventureFlags .extern gItemManager diff --git a/asm/ov00/Actor/Actor.s b/asm/ov00/Actor/Actor.s index 5250f84a..0f7fa178 100644 --- a/asm/ov00/Actor/Actor.s +++ b/asm/ov00/Actor/Actor.s @@ -205,7 +205,7 @@ _020c1784: .word func_ov00_02087ef0 arm_func_start _ZN5Actor18func_ov00_020c1788Ev _ZN5Actor18func_ov00_020c1788Ev: ; 0x020c1788 ldr r3, _020c17a0 ; =data_027e0e60 - ldr ip, _020c17a4 ; =func_ov00_02083570 + ldr ip, _020c17a4 ; =_ZN10MapManager18func_ov00_02083570Eii ldrb r1, [r0, #0x10] ldrb r2, [r0, #0x11] ldr r0, [r3] @@ -213,7 +213,7 @@ _ZN5Actor18func_ov00_020c1788Ev: ; 0x020c1788 .align 2, 0 arm_func_end _ZN5Actor18func_ov00_020c1788Ev _020c17a0: .word data_027e0e60 -_020c17a4: .word func_ov00_02083570 +_020c17a4: .word _ZN10MapManager18func_ov00_02083570Eii .global _ZN5Actor8vfunc_2cEv arm_func_start _ZN5Actor8vfunc_2cEv @@ -682,14 +682,14 @@ _ZN5Actor18func_Ov00_020c1bfcEi: ; 0x020c1bfc add r2, r0, r1 ldr r0, _020c1c18 ; =data_027e0e60 ldrb r1, [r2, #0x2a] - ldr ip, _020c1c1c ; =func_ov00_02084be0 + ldr ip, _020c1c1c ; =_ZN10MapManager18func_ov00_02084be0Eii ldrb r2, [r2, #0x28] ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN5Actor18func_Ov00_020c1bfcEi _020c1c18: .word data_027e0e60 -_020c1c1c: .word func_ov00_02084be0 +_020c1c1c: .word _ZN10MapManager18func_ov00_02084be0Eii .global _ZN5Actor18func_ov00_020c1c20Eiii arm_func_start _ZN5Actor18func_ov00_020c1c20Eiii @@ -701,7 +701,7 @@ _ZN5Actor18func_ov00_020c1c20Eiii: ; 0x020c1c20 ldrb r1, [ip, #0x2a] ldrb r2, [ip, #0x28] ldr r0, [r0] - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldmia sp!, {r3, pc} .align 2, 0 arm_func_end _ZN5Actor18func_ov00_020c1c20Eiii @@ -2323,7 +2323,7 @@ _ZN5Actor18func_ov00_020c3094Ev: ; 0x020c3094 ldr ip, [r5, #0x5c] mov r3, r4 str ip, [sp, #8] - bl func_ov00_02083ef8 + bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ ldr r1, [r5, #0x4c] cmp r1, r0 movle r4, #1 @@ -2385,7 +2385,7 @@ _ZN5Actor18func_ov00_020c3158Ev: ; 0x020c3158 ldr r0, _020c317c ; =data_027e0e60 mov r2, #1 ldr r0, [r0] - bl func_ov00_02084c5c + bl _ZN10MapManager18func_ov00_02084c5cEii ldmia sp!, {r3, pc} .align 2, 0 arm_func_end _ZN5Actor18func_ov00_020c3158Ev diff --git a/asm/ov00/Actor/ActorManager.inc b/asm/ov00/Actor/ActorManager.inc index f6b3c7c3..3feda380 100644 --- a/asm/ov00/Actor/ActorManager.inc +++ b/asm/ov00/Actor/ActorManager.inc @@ -1,4 +1,5 @@ #pragma once +.extern _ZN10MapManager18func_ov00_020836ccEjP4AABBj .extern _ZN5Actor10SetUnk_129Eb .extern _ZN5Actor14DistanceToLinkEv .extern _ZN5Actor14StopLinkFollowEv @@ -8,7 +9,6 @@ .extern data_027e0e60 .extern data_027e103c .extern func_01ff9ec0 -.extern func_ov00_020836cc .extern func_ov00_0208e72c .extern func_ov00_0208e7a4 .extern func_ov00_0208f318 diff --git a/asm/ov00/Actor/ActorManager.s b/asm/ov00/Actor/ActorManager.s index bf9a3318..cff6edf7 100644 --- a/asm/ov00/Actor/ActorManager.s +++ b/asm/ov00/Actor/ActorManager.s @@ -620,7 +620,7 @@ _ZN12ActorManager18func_ov00_020c3bb0EiPi: ; 0x020c3bb0 add r2, sp, #0x14 ldr r0, [r0] mov r3, #8 - bl func_ov00_020836cc + bl _ZN10MapManager18func_ov00_020836ccEjP4AABBj mov r5, r0 cmp r5, #0 addle sp, sp, #0xd4 @@ -708,7 +708,7 @@ _ZN12ActorManager18func_ov00_020c3ce8Eii: ; 0x020c3ce8 mov r10, r2 add r2, sp, #0xc mov r3, #8 - bl func_ov00_020836cc + bl _ZN10MapManager18func_ov00_020836ccEjP4AABBj mov r5, r0 cmp r5, #0 addle sp, sp, #0xcc diff --git a/asm/ov00/Item/ItemManager.inc b/asm/ov00/Item/ItemManager.inc index 871cc044..8288875e 100644 --- a/asm/ov00/Item/ItemManager.inc +++ b/asm/ov00/Item/ItemManager.inc @@ -1,9 +1,12 @@ #pragma once .extern LoadTreasureItemFanfare +.extern _ZN10MapManager10GetNumKeysEv +.extern _ZN10MapManager10SetNumKeysEi .extern _ZN11ItemManager12GetEquipItemEi +.extern _ZN14AdventureFlags3GetEj +.extern _ZN14AdventureFlags3SetEjb .extern _ZNK11ItemManager10GetMaxAmmoEi .extern data_027e0e60 -.extern gAdventureFlags .extern data_027e0f78 .extern data_027e0fbc .extern data_027e103c @@ -12,15 +15,12 @@ .extern data_ov00_020eec68 .extern func_020196bc .extern func_020196fc -.extern strcat .extern func_ov00_02079ffc -.extern func_ov00_02084b08 -.extern func_ov00_02084b14 -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags3SetEjb .extern func_ov00_020cf374 .extern func_ov00_020d73bc .extern func_ov05_02104004 .extern func_ov09_0211c700 .extern func_ov09_0211ca20 +.extern gAdventureFlags .extern gItemManager +.extern strcat diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index ccf8fb70..ba83e597 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -1114,13 +1114,13 @@ _020ae34c: .word data_027e103c arm_func_start _ZNK11ItemManager18func_ov00_020ae350Ev _ZNK11ItemManager18func_ov00_020ae350Ev: ; 0x020ae350 ldr r0, _020ae360 ; =data_027e0e60 - ldr ip, _020ae364 ; =func_ov00_02084b14 + ldr ip, _020ae364 ; =_ZN10MapManager10GetNumKeysEv ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZNK11ItemManager18func_ov00_020ae350Ev _020ae360: .word data_027e0e60 -_020ae364: .word func_ov00_02084b14 +_020ae364: .word _ZN10MapManager10GetNumKeysEv .global _ZN11ItemManager8GiveKeysEj thumb_func_start _ZN11ItemManager8GiveKeysEj @@ -1129,7 +1129,7 @@ _ZN11ItemManager8GiveKeysEj: ; 0x020ae368 ldr r0, _020ae38c ; =data_027e0e60 add r4, r1, #0 ldr r0, [r0] - blx func_ov00_02084b14 + blx _ZN10MapManager10GetNumKeysEv add r1, r4, r0 cmp r1, #8 blt _020ae37c @@ -1141,7 +1141,7 @@ _020ae37c: _020ae382: ldr r0, _020ae38c ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02084b08 + blx _ZN10MapManager10SetNumKeysEi pop {r4, pc} .align 2, 0 thumb_func_end _ZN11ItemManager8GiveKeysEj diff --git a/asm/ov00/Item/ItemManager_func_ov00_020ad790.inc b/asm/ov00/Item/ItemManager_func_ov00_020ad790.inc index 52adae5a..fe397d2b 100644 --- a/asm/ov00/Item/ItemManager_func_ov00_020ad790.inc +++ b/asm/ov00/Item/ItemManager_func_ov00_020ad790.inc @@ -32,7 +32,7 @@ _020ad800: lda r0, data_027e0e60 ldr r4, [r6, #8] ldr r0, [r0] - bl func_ov00_020849f8 + bl _ZN10MapManager18func_ov00_020849f8Ei cmp r0, #0 moveq r2, #1 ldr r1, [r6] diff --git a/asm/ov00/Player/LinkStateFollow.inc b/asm/ov00/Player/LinkStateFollow.inc index e6df7599..7844a71f 100644 --- a/asm/ov00/Player/LinkStateFollow.inc +++ b/asm/ov00/Player/LinkStateFollow.inc @@ -1,4 +1,7 @@ #pragma once +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi .extern _ZN10PlayerBase13GetEquipSwordEv .extern _ZN13LinkStateBase12GetPlayerPosEv .extern _ZN13LinkStateBase12GetPlayerVelEv @@ -14,9 +17,6 @@ .extern func_01fffcd8 .extern func_0202b308 .extern func_0202d95c -.extern func_ov00_02083a1c -.extern func_ov00_02083c7c -.extern func_ov00_020840c4 .extern func_ov04_0210ad94 .extern func_ov04_0210adb0 .extern func_ov04_0210adf8 diff --git a/asm/ov00/Player/LinkStateFollow.s b/asm/ov00/Player/LinkStateFollow.s index 9fbf9a80..d9a6bf8f 100644 --- a/asm/ov00/Player/LinkStateFollow.s +++ b/asm/ov00/Player/LinkStateFollow.s @@ -33,7 +33,7 @@ _ZN15LinkStateFollow16MoveTowardTargetEv: ; 0x020a8f80 ldr r2, _020a9020 ; =data_027e0e60 add r1, r0, #0xc4 ldr r0, [r2] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} @@ -87,10 +87,10 @@ _020a904c: ldr r4, [r1] add r2, r5, #0x24 mov r1, r4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r4 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r0] @@ -213,7 +213,7 @@ _ZN15LinkStateFollow18func_ov00_020a9180EP5Vec3p: ; 0x020a9180 strb r1, [r3, #1] ldr r2, [r3] mov r1, r4 - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _020a91f0: diff --git a/asm/ov00/Player/PlayerBase.inc b/asm/ov00/Player/PlayerBase.inc index c96e5130..b8790e5c 100644 --- a/asm/ov00/Player/PlayerBase.inc +++ b/asm/ov00/Player/PlayerBase.inc @@ -20,9 +20,9 @@ .extern func_01ffec34 .extern func_01fffcec .extern func_ov00_0207c5d4 -.extern func_ov00_02082af4 -.extern func_ov00_02083624 -.extern func_ov00_02083ee0 +.extern _ZN10MapManager18func_ov00_02082af4Ev +.extern _ZN10MapManager14GetEntrancePosEP5Vec3pi +.extern _ZN10MapManager16MapData_vfunc_68Ev .extern func_ov00_0208ae94 .extern func_ov00_0208f030 .extern _ZN14AdventureFlags18func_ov00_02097700Ev diff --git a/asm/ov00/Player/PlayerBase.s b/asm/ov00/Player/PlayerBase.s index e2be8543..f8977340 100644 --- a/asm/ov00/Player/PlayerBase.s +++ b/asm/ov00/Player/PlayerBase.s @@ -296,7 +296,7 @@ _ZN10PlayerBase8TeleportEP5Vec3psibb: ; 0x020a7df4 mov r2, r4 strb lr, [sp, #0x16] str ip, [sp, #0x18] - bl func_ov00_02083624 + bl _ZN10MapManager14GetEntrancePosEP5Vec3pi str r6, [sp] mov r0, #0 str r0, [sp, #4] @@ -341,7 +341,7 @@ _ZN10PlayerBase18TeleportToEntranceEib: ; 0x020a7e70 str r3, [sp, #4] ldr r3, [r5, #8] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr ip, [r5, #4] ldr r2, _020a7f6c ; =data_027e0fac cmp ip, r0 @@ -368,7 +368,7 @@ _ZN10PlayerBase18TeleportToEntranceEib: ; 0x020a7e70 beq _020a7f40 ldr r0, _020a7f68 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082af4 + bl _ZN10MapManager18func_ov00_02082af4Ev ldr r0, _020a7f80 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097700Ev diff --git a/asm/ov00/Player/PlayerControl.inc b/asm/ov00/Player/PlayerControl.inc index 457a4bf4..5fdbb0fb 100644 --- a/asm/ov00/Player/PlayerControl.inc +++ b/asm/ov00/Player/PlayerControl.inc @@ -1,8 +1,17 @@ #pragma once +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02085108EPi +.extern _ZN10MapManager18func_ov00_02085594Ev .extern _ZN11ItemManager12GetEquipItemEi .extern _ZN11ItemManager18func_ov00_020ad790Ei .extern _ZN12ActorManager18func_ov00_020c3484EP8ActorRefP5Actori .extern _ZN12ActorManager8GetActorEP8ActorRef +.extern _ZN14AdventureFlags18func_ov00_02097738Ev +.extern _ZN14AdventureFlags18func_ov00_02097750Ev .extern _ZN5Actor16XzDistanceToLinkEv .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZNK11ItemManager15GetEquippedItemEv @@ -19,7 +28,6 @@ .extern data_027e0e2c .extern data_027e0e60 .extern data_027e0f64 -.extern gAdventureFlags .extern data_027e0f90 .extern data_027e0f94 .extern data_027e0fac @@ -44,16 +52,7 @@ .extern func_0202b2e8 .extern func_0202d95c .extern func_ov00_02078b40 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083c7c -.extern func_ov00_020840c4 -.extern func_ov00_02085108 -.extern func_ov00_02085594 .extern func_ov00_0208b180 -.extern _ZN14AdventureFlags18func_ov00_02097738Ev -.extern _ZN14AdventureFlags18func_ov00_02097750Ev .extern func_ov00_020a5e9c .extern func_ov00_020b78a0 .extern func_ov00_020b7924 @@ -76,4 +75,5 @@ .extern func_ov15_0213dcb0 .extern func_ov15_0213dcb8 .extern func_ov24_02178348 +.extern gAdventureFlags .extern gItemManager diff --git a/asm/ov00/Player/PlayerControl.s b/asm/ov00/Player/PlayerControl.s index 49fc6958..1ac075f6 100644 --- a/asm/ov00/Player/PlayerControl.s +++ b/asm/ov00/Player/PlayerControl.s @@ -646,7 +646,7 @@ _020af620: ldr r0, _020af6d8 ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02085108 + bl _ZN10MapManager18func_ov00_02085108EPi cmp r0, #3 cmpne r0, #7 moveq r0, #1 @@ -725,7 +725,7 @@ _020af72c: add r0, sp, #0 ldr r1, [r1] mov r2, r6 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r0, [sp] mov r2, #1 mov r1, #0 @@ -886,7 +886,7 @@ _020af97c: ldr r0, _020afad0 ; =data_027e0e60 add r1, sp, #8 ldr r0, [r0] - bl func_ov00_02085108 + bl _ZN10MapManager18func_ov00_02085108EPi ldr r2, _020afad4 ; =data_027e0f94 mov r1, r0 ldr r0, [r2, #4] @@ -1002,7 +1002,7 @@ _ZN13PlayerControl18func_ov00_020afad8EP5Vec3p: ; 0x020afad8 ldr r0, _020afb68 ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02085594 + bl _ZN10MapManager18func_ov00_02085594Ev cmp r0, #0 movne r0, #1 add sp, sp, #0xc @@ -1139,7 +1139,7 @@ _020afcf4: ldr r0, _020afe84 ; =data_027e0e60 add r1, r9, #0x9c ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev str r0, [r9, #0xa0] cmp r0, #0 beq _020afd88 @@ -1184,7 +1184,7 @@ _020afd88: strb r3, [r5] strb r2, [r5, #1] ldr r2, [r5] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r5, #2 mov r6, #3 _020afdc4: @@ -1868,11 +1868,11 @@ _020b06e0: add r0, sp, #0 ldr r1, [r1] add r2, sp, #4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, _020b0774 ; =data_027e0e60 ldrb r1, [sp] ldr r0, [r0] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei ldr r1, [sp, #4] ldr r2, _020b0774 ; =data_027e0e60 sub r0, r0, r1 @@ -1881,7 +1881,7 @@ _020b06e0: ldrb r1, [sp, #1] ldr r0, [r2] str r3, [sp, #4] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei ldr r2, [sp, #0xc] mov r1, r4 sub r0, r0, r2 diff --git a/asm/ov00/Save/AdventureFlags.inc b/asm/ov00/Save/AdventureFlags.inc index 00feb695..60618808 100644 --- a/asm/ov00/Save/AdventureFlags.inc +++ b/asm/ov00/Save/AdventureFlags.inc @@ -8,7 +8,7 @@ .extern func_ov00_0207b2f0 .extern func_ov00_0207b334 .extern func_ov00_0207ba94 -.extern func_ov00_020838f8 +.extern _ZN10MapManager18func_ov00_020838f8EPi .extern func_ov00_020980f4 .extern func_ov00_020980f8 .extern func_ov00_020980fc diff --git a/asm/ov00/Save/AdventureFlags.s b/asm/ov00/Save/AdventureFlags.s index 06cb74e9..9555e442 100644 --- a/asm/ov00/Save/AdventureFlags.s +++ b/asm/ov00/Save/AdventureFlags.s @@ -328,7 +328,7 @@ _ZN14AdventureFlags18func_ov00_02097968Ei: ; 0x02097968 ldr r0, _02097a40 ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] - bl func_ov00_020838f8 + bl _ZN10MapManager18func_ov00_020838f8EPi strb r0, [sp, #0x26] ldr r0, [r5, #0x44] add r1, sp, #0x18 diff --git a/asm/ov00/ov00_020773c0.inc b/asm/ov00/ov00_020773c0.inc index 36224a79..cc2cf301 100644 --- a/asm/ov00/ov00_020773c0.inc +++ b/asm/ov00/ov00_020773c0.inc @@ -130,14 +130,14 @@ .extern __register_global_object .extern func_ov00_0207bc48 .extern func_ov00_0207c170 -.extern func_ov00_02082e1c -.extern func_ov00_0208306c -.extern func_ov00_02083394 -.extern func_ov00_020833a0 -.extern func_ov00_020833ac -.extern func_ov00_020833b8 -.extern func_ov00_02083588 -.extern func_ov00_020849c0 +.extern _ZN10MapManager18func_ov00_02082e1cEPiS0_ +.extern _ZN10MapManager18func_ov00_0208306cEv +.extern _ZN10MapManager13GetCourseMinXEv +.extern _ZN10MapManager13GetCourseMinZEv +.extern _ZN10MapManager13GetCourseMaxXEv +.extern _ZN10MapManager13GetCourseMaxZEv +.extern _ZN10MapManager18func_ov00_02083588Ev +.extern _ZN10MapManager18func_ov00_020849c0Ev .extern func_ov00_02088074 .extern _ZN14AdventureFlags15Get_FlagsUnk_48Ei .extern func_ov00_0209d738 diff --git a/asm/ov00/ov00_020773c0.s b/asm/ov00/ov00_020773c0.s index 92ed8ad2..4f4c32d4 100644 --- a/asm/ov00/ov00_020773c0.s +++ b/asm/ov00/ov00_020773c0.s @@ -3878,7 +3878,7 @@ func_ov00_02078f80: ; 0x02078f80 ldr r1, _02078fa8 ; =data_027e0e60 mov r4, r0 ldr r0, [r1] - bl func_ov00_02083588 + bl _ZN10MapManager18func_ov00_02083588Ev ldr r1, [r4, #0x44] cmp r1, r0 movne r0, #1 @@ -4045,16 +4045,16 @@ func_ov00_0207914c: ; 0x0207914c mov r0, r7 mov r9, r2 mov r8, r3 - bl func_ov00_02083394 + bl _ZN10MapManager13GetCourseMinXEv mov r6, r0 mov r0, r7 - bl func_ov00_020833a0 + bl _ZN10MapManager13GetCourseMinZEv mov r5, r0 mov r0, r7 - bl func_ov00_020833ac + bl _ZN10MapManager13GetCourseMaxXEv mov r4, r0 mov r0, r7 - bl func_ov00_020833b8 + bl _ZN10MapManager13GetCourseMaxZEv ldr r1, [r10, #8] sub r0, r0, r5 sub r1, r1, r5 @@ -4104,16 +4104,16 @@ func_ov00_0207920c: ; 0x0207920c mov r0, r7 mov r9, r2 mov r8, r3 - bl func_ov00_02083394 + bl _ZN10MapManager13GetCourseMinXEv mov r6, r0 mov r0, r7 - bl func_ov00_020833a0 + bl _ZN10MapManager13GetCourseMinZEv mov r5, r0 mov r0, r7 - bl func_ov00_020833ac + bl _ZN10MapManager13GetCourseMaxXEv mov r4, r0 mov r0, r7 - bl func_ov00_020833b8 + bl _ZN10MapManager13GetCourseMaxZEv sub r3, r4, r6 ldr r1, [r10, #8] sub r0, r0, r5 @@ -4164,19 +4164,19 @@ _020792f4: ldr r0, _020793b4 ; =data_027e0e60 ldr r6, [r0] mov r0, r6 - bl func_ov00_02083394 + bl _ZN10MapManager13GetCourseMinXEv mov r5, r0 mov r0, r6 - bl func_ov00_020833a0 + bl _ZN10MapManager13GetCourseMinZEv mov r4, r0 mov r0, r6 - bl func_ov00_020833ac + bl _ZN10MapManager13GetCourseMaxXEv sub r2, r0, r5 mov r0, r6 mov r1, r2, asr #0x7 add r1, r2, r1, lsr #24 mov r6, r1, asr #0x8 - bl func_ov00_020833b8 + bl _ZN10MapManager13GetCourseMaxZEv sub r0, r0, r4 mov r1, #0xc0 bl func_01ff9b4c @@ -4344,13 +4344,13 @@ _02079564: mov r1, r5 ldr r0, [r0] mov r2, r4 - bl func_ov00_02082e1c + bl _ZN10MapManager18func_ov00_02082e1cEPiS0_ cmp r0, #0 movne r0, #0 bne _02079614 ldr r0, _0207967c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 beq _020795f8 ldrb r0, [sp, #0x38] @@ -4361,7 +4361,7 @@ _02079564: mov r1, r5 ldr r0, [r0] mov r2, r4 - bl func_ov00_0208306c + bl _ZN10MapManager18func_ov00_0208306cEv ldr r1, [r4] mov r0, #0xc0000 mov r1, r1, lsl #0xc @@ -4514,7 +4514,7 @@ func_ov00_0207977c: ; 0x0207977c mov r1, r5 ldr r0, [r0] mov r2, r4 - bl func_ov00_02082e1c + bl _ZN10MapManager18func_ov00_02082e1cEPiS0_ cmp r0, #0 beq _0207984c mov r0, r8 diff --git a/asm/ov00/ov00_0207af9c.s b/asm/ov00/ov00_0207af9c.s index ce2fb4ef..1809f9f8 100644 --- a/asm/ov00/ov00_0207af9c.s +++ b/asm/ov00/ov00_0207af9c.s @@ -809,7 +809,7 @@ _0207b62c: str r0, [r5, #0x44] ldr r0, _0207b808 ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02082d08 + blx _ZN10MapManager18func_ov00_02082d08Ev add r1, r5, #0 add r1, #0x56 strb r0, [r1] @@ -956,13 +956,13 @@ _0207b740: beq _0207b7f0 ldr r0, _0207b808 ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02083328 + blx _ZN10MapManager18func_ov00_02083328Ev cmp r0, #0 beq _0207b7f0 ldr r0, _0207b808 ; =data_027e0e60 ldrb r1, [r4, #0x12] ldr r0, [r0] - blx func_ov00_02083318 + blx _ZN10MapManager18func_ov00_02083318Ei cmp r0, #0 bne _0207b7f0 ldr r0, [r5] @@ -5080,7 +5080,7 @@ func_ov00_0207e4b8: ; 0x0207e4b8 mov r4, r2 add r0, sp, #8 mov r2, r9 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r0, r8 ldr r2, [r0] add r1, sp, #8 @@ -5423,7 +5423,7 @@ func_ov00_0207e970: ; 0x0207e970 add r0, sp, #0xc mov r2, r9 mov r7, r3 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r0, r8 ldr r2, [r0] add r1, sp, #0xc @@ -5739,7 +5739,7 @@ func_ov00_0207ee14: ; 0x0207ee14 ldr r1, [r0] add r0, sp, #8 mov r2, r9 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r0, #0x20 str r0, [sp] mov r1, #0 @@ -5868,7 +5868,7 @@ func_ov00_0207eff4: ; 0x0207eff4 ldr r1, [r0] add r0, sp, #8 mov r2, r8 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r4, sp, #0xc ldmia r8, {r0, r1, r2} stmia r4, {r0, r1, r2} @@ -5951,7 +5951,7 @@ func_ov00_0207f104: ; 0x0207f104 mov r4, r2 add r0, sp, #0 mov r2, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r0, r6 ldr r2, [r0] add r1, sp, #0 @@ -6018,7 +6018,7 @@ func_ov00_0207f1f4: ; 0x0207f1f4 mov r8, r2 add r0, sp, #8 mov r2, r9 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r4, sp, #0x24 ldmia r9, {r0, r1, r2} stmia r4, {r0, r1, r2} @@ -9891,29 +9891,29 @@ func_ov00_020820d0: ; 0x020820d0 ldmia sp!, {r4, pc} arm_func_end func_ov00_020820d0 - .global func_ov00_020820ec - arm_func_start func_ov00_020820ec -func_ov00_020820ec: ; 0x020820ec + .global _ZN10MapManager18func_ov00_020820ecEPi + arm_func_start _ZN10MapManager18func_ov00_020820ecEPi +_ZN10MapManager18func_ov00_020820ecEPi: ; 0x020820ec ldr ip, _020820f8 ; =func_ov00_0207ca00 ldr r0, [r0] bx ip .align 2, 0 - arm_func_end func_ov00_020820ec + arm_func_end _ZN10MapManager18func_ov00_020820ecEPi _020820f8: .word func_ov00_0207ca00 - .global func_ov00_020820fc - arm_func_start func_ov00_020820fc -func_ov00_020820fc: ; 0x020820fc + .global _ZN10MapManager18func_ov00_020820fcEiii + arm_func_start _ZN10MapManager18func_ov00_020820fcEiii +_ZN10MapManager18func_ov00_020820fcEiii: ; 0x020820fc ldr ip, _02082108 ; =func_ov00_0207ca28 ldr r0, [r0] bx ip .align 2, 0 - arm_func_end func_ov00_020820fc + arm_func_end _ZN10MapManager18func_ov00_020820fcEiii _02082108: .word func_ov00_0207ca28 - .global func_ov00_0208210c - arm_func_start func_ov00_0208210c -func_ov00_0208210c: ; 0x0208210c + .global _ZN10MapManager18func_ov00_0208210cEii + arm_func_start _ZN10MapManager18func_ov00_0208210cEii +_ZN10MapManager18func_ov00_0208210cEii: ; 0x0208210c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x30 mov lr, #0 @@ -9941,7 +9941,7 @@ func_ov00_0208210c: ; 0x0208210c b _02082190 _02082170: add r1, sp, #0x18 - bl func_ov00_02082348 + bl _ZN10MapManager18func_ov00_02082348Ei add r0, sp, #0x18 bl func_ov00_020a5e9c str r0, [r4] @@ -10042,14 +10042,14 @@ _02082190: add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 - arm_func_end func_ov00_0208210c + arm_func_end _ZN10MapManager18func_ov00_0208210cEii _02082300: .word data_027e0d38 _02082304: .word data_027e0f70 _02082308: .word data_027e0f7c - .global func_ov00_0208230c - arm_func_start func_ov00_0208230c -func_ov00_0208230c: ; 0x0208230c + .global _ZN10MapManager18func_ov00_0208230cEi + arm_func_start _ZN10MapManager18func_ov00_0208230cEi +_ZN10MapManager18func_ov00_0208230cEi: ; 0x0208230c stmdb sp!, {r3, lr} ldr r3, [r0] mov r2, #0xa @@ -10065,11 +10065,11 @@ func_ov00_0208230c: ; 0x0208230c ldrb r0, [r0, #0xc] strb r0, [r1, #0x13] ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208230c + arm_func_end _ZN10MapManager18func_ov00_0208230cEi - .global func_ov00_02082348 - arm_func_start func_ov00_02082348 -func_ov00_02082348: ; 0x02082348 + .global _ZN10MapManager18func_ov00_02082348Ei + arm_func_start _ZN10MapManager18func_ov00_02082348Ei +_ZN10MapManager18func_ov00_02082348Ei: ; 0x02082348 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov ip, #0 @@ -10087,89 +10087,89 @@ func_ov00_02082348: ; 0x02082348 strb ip, [sp, #0x13] strb ip, [sp, #0x14] strb ip, [sp, #0x15] - bl func_ov00_0208230c + bl _ZN10MapManager18func_ov00_0208230cEi add r0, sp, #0 mov r1, r4 blx func_ov00_02078bf0 add sp, sp, #0x18 ldmia sp!, {r4, pc} - arm_func_end func_ov00_02082348 + arm_func_end _ZN10MapManager18func_ov00_02082348Ei - .global func_ov00_020823a4 - arm_func_start func_ov00_020823a4 -func_ov00_020823a4: ; 0x020823a4 + .global _ZN10MapManager18func_ov00_020823a4Ei + arm_func_start _ZN10MapManager18func_ov00_020823a4Ei +_ZN10MapManager18func_ov00_020823a4Ei: ; 0x020823a4 ldr ip, _020823b0 ; =func_ov00_0207de68 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_020823a4 + arm_func_end _ZN10MapManager18func_ov00_020823a4Ei _020823b0: .word func_ov00_0207de68 - .global func_ov00_020823b4 - arm_func_start func_ov00_020823b4 -func_ov00_020823b4: ; 0x020823b4 + .global _ZN10MapManager18func_ov00_020823b4Ev + arm_func_start _ZN10MapManager18func_ov00_020823b4Ev +_ZN10MapManager18func_ov00_020823b4Ev: ; 0x020823b4 ldr ip, _020823c0 ; =func_ov00_0207de88 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_020823b4 + arm_func_end _ZN10MapManager18func_ov00_020823b4Ev _020823c0: .word func_ov00_0207de88 - .global func_ov00_020823c4 - arm_func_start func_ov00_020823c4 -func_ov00_020823c4: ; 0x020823c4 + .global _ZN10MapManager18func_ov00_020823c4EPii + arm_func_start _ZN10MapManager18func_ov00_020823c4EPii +_ZN10MapManager18func_ov00_020823c4EPii: ; 0x020823c4 ldr ip, _020823d0 ; =func_ov00_0207e08c ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_020823c4 + arm_func_end _ZN10MapManager18func_ov00_020823c4EPii _020823d0: .word func_ov00_0207e08c - .global func_ov00_020823d4 - arm_func_start func_ov00_020823d4 -func_ov00_020823d4: ; 0x020823d4 + .global _ZN10MapManager18func_ov00_020823d4Ei + arm_func_start _ZN10MapManager18func_ov00_020823d4Ei +_ZN10MapManager18func_ov00_020823d4Ei: ; 0x020823d4 ldr ip, _020823e0 ; =func_ov00_0207e0f0 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_020823d4 + arm_func_end _ZN10MapManager18func_ov00_020823d4Ei _020823e0: .word func_ov00_0207e0f0 - .global func_ov00_020823e4 - arm_func_start func_ov00_020823e4 -func_ov00_020823e4: ; 0x020823e4 + .global _ZN10MapManager18func_ov00_020823e4Ei + arm_func_start _ZN10MapManager18func_ov00_020823e4Ei +_ZN10MapManager18func_ov00_020823e4Ei: ; 0x020823e4 ldr ip, _020823f0 ; =func_ov00_0207e28c ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_020823e4 + arm_func_end _ZN10MapManager18func_ov00_020823e4Ei _020823f0: .word func_ov00_0207e28c - .global func_ov00_020823f4 - arm_func_start func_ov00_020823f4 -func_ov00_020823f4: ; 0x020823f4 + .global _ZN10MapManager16MapData_vfunc_b4Ev + arm_func_start _ZN10MapManager16MapData_vfunc_b4Ev +_ZN10MapManager16MapData_vfunc_b4Ev: ; 0x020823f4 stmdb sp!, {r3, lr} ldr r0, [r0, #4] ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 ldmia sp!, {r3, pc} - arm_func_end func_ov00_020823f4 + arm_func_end _ZN10MapManager16MapData_vfunc_b4Ev - .global func_ov00_0208240c - arm_func_start func_ov00_0208240c -func_ov00_0208240c: ; 0x0208240c + .global _ZN10MapManager16MapData_vfunc_9cEv + arm_func_start _ZN10MapManager16MapData_vfunc_9cEv +_ZN10MapManager16MapData_vfunc_9cEv: ; 0x0208240c stmdb sp!, {r3, lr} ldr r0, [r0, #4] ldr r1, [r0] ldr r1, [r1, #0x9c] blx r1 ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208240c + arm_func_end _ZN10MapManager16MapData_vfunc_9cEv - .global func_ov00_02082424 - arm_func_start func_ov00_02082424 -func_ov00_02082424: ; 0x02082424 + .global _ZN10MapManager18func_ov00_02082424Ev + arm_func_start _ZN10MapManager18func_ov00_02082424Ev +_ZN10MapManager18func_ov00_02082424Ev: ; 0x02082424 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #4] @@ -10182,11 +10182,11 @@ func_ov00_02082424: ; 0x02082424 ldr r0, [r4, #4] bl func_ov15_02129c14 ldmia sp!, {r4, pc} - arm_func_end func_ov00_02082424 + arm_func_end _ZN10MapManager18func_ov00_02082424Ev - .global func_ov00_02082454 - arm_func_start func_ov00_02082454 -func_ov00_02082454: ; 0x02082454 + .global _ZN10MapManager18func_ov00_02082454Eii + arm_func_start _ZN10MapManager18func_ov00_02082454Eii +_ZN10MapManager18func_ov00_02082454Eii: ; 0x02082454 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r0, [r6, #4] @@ -10203,11 +10203,11 @@ func_ov00_02082454: ; 0x02082454 mov r2, r4 bl func_ov15_02129c24 ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02082454 + arm_func_end _ZN10MapManager18func_ov00_02082454Eii - .global func_ov00_02082494 - arm_func_start func_ov00_02082494 -func_ov00_02082494: ; 0x02082494 + .global _ZN10MapManager18func_ov00_02082494Ei + arm_func_start _ZN10MapManager18func_ov00_02082494Ei +_ZN10MapManager18func_ov00_02082494Ei: ; 0x02082494 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #4] @@ -10222,11 +10222,11 @@ func_ov00_02082494: ; 0x02082494 mov r1, r4 bl func_ov15_02129c34 ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02082494 + arm_func_end _ZN10MapManager18func_ov00_02082494Ei - .global func_ov00_020824cc - arm_func_start func_ov00_020824cc -func_ov00_020824cc: ; 0x020824cc + .global _ZN10MapManager18func_ov00_020824ccEi + arm_func_start _ZN10MapManager18func_ov00_020824ccEi +_ZN10MapManager18func_ov00_020824ccEi: ; 0x020824cc stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #4] @@ -10241,11 +10241,11 @@ func_ov00_020824cc: ; 0x020824cc mov r1, r4 bl func_ov15_02129c44 ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_020824cc + arm_func_end _ZN10MapManager18func_ov00_020824ccEi - .global func_ov00_02082504 - arm_func_start func_ov00_02082504 -func_ov00_02082504: ; 0x02082504 + .global _ZN10MapManager18func_ov00_02082504Ev + arm_func_start _ZN10MapManager18func_ov00_02082504Ev +_ZN10MapManager18func_ov00_02082504Ev: ; 0x02082504 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #4] @@ -10259,11 +10259,11 @@ func_ov00_02082504: ; 0x02082504 add r0, r0, #0x100 ldrsh r0, [r0, #0xac] ldmia sp!, {r4, pc} - arm_func_end func_ov00_02082504 + arm_func_end _ZN10MapManager18func_ov00_02082504Ev - .global func_ov00_02082538 - arm_func_start func_ov00_02082538 -func_ov00_02082538: ; 0x02082538 + .global _ZN10MapManager18func_ov00_02082538Ev + arm_func_start _ZN10MapManager18func_ov00_02082538Ev +_ZN10MapManager18func_ov00_02082538Ev: ; 0x02082538 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 @@ -10287,36 +10287,36 @@ func_ov00_02082538: ; 0x02082538 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 - arm_func_end func_ov00_02082538 + arm_func_end _ZN10MapManager18func_ov00_02082538Ev _02082590: .word data_027e0f94 - .global func_ov00_02082594 - arm_func_start func_ov00_02082594 -func_ov00_02082594: ; 0x02082594 + .global _ZN10MapManager18func_ov00_02082594Ev + arm_func_start _ZN10MapManager18func_ov00_02082594Ev +_ZN10MapManager18func_ov00_02082594Ev: ; 0x02082594 ldr r0, _020825a4 ; =data_027e0f68 ldr ip, _020825a8 ; =func_ov00_0208d620 ldr r0, [r0] bx ip .align 2, 0 - arm_func_end func_ov00_02082594 + arm_func_end _ZN10MapManager18func_ov00_02082594Ev _020825a4: .word data_027e0f68 _020825a8: .word func_ov00_0208d620 - .global func_ov00_020825ac - arm_func_start func_ov00_020825ac -func_ov00_020825ac: ; 0x020825ac + .global _ZN10MapManager18func_ov00_020825acEv + arm_func_start _ZN10MapManager18func_ov00_020825acEv +_ZN10MapManager18func_ov00_020825acEv: ; 0x020825ac ldr r0, _020825bc ; =data_027e0f68 ldr ip, _020825c0 ; =func_ov00_0208d680 ldr r0, [r0] bx ip .align 2, 0 - arm_func_end func_ov00_020825ac + arm_func_end _ZN10MapManager18func_ov00_020825acEv _020825bc: .word data_027e0f68 _020825c0: .word func_ov00_0208d680 - .global func_ov00_020825c4 - arm_func_start func_ov00_020825c4 -func_ov00_020825c4: ; 0x020825c4 + .global _ZN10MapManager17GetCourseFilePathEPcS0_ + arm_func_start _ZN10MapManager17GetCourseFilePathEPcS0_ +_ZN10MapManager17GetCourseFilePathEPcS0_: ; 0x020825c4 ldr ip, _020825dc ; =func_0200c8d0 mov r3, r1 mov r0, r2 @@ -10324,13 +10324,13 @@ func_ov00_020825c4: ; 0x020825c4 mov r2, r3 bx ip .align 2, 0 - arm_func_end func_ov00_020825c4 + arm_func_end _ZN10MapManager17GetCourseFilePathEPcS0_ _020825dc: .word func_0200c8d0 _020825e0: .word data_ov00_020e2528 - .global func_ov00_020825e4 - arm_func_start func_ov00_020825e4 -func_ov00_020825e4: ; 0x020825e4 + .global _ZN10MapManager18func_ov00_020825e4Eii + arm_func_start _ZN10MapManager18func_ov00_020825e4Eii +_ZN10MapManager18func_ov00_020825e4Eii: ; 0x020825e4 stmdb sp!, {r3, r4, r5, lr} ldr r3, _02082610 ; =data_027e0f7c mov r5, r0 @@ -10340,15 +10340,15 @@ func_ov00_020825e4: ; 0x020825e4 mov r1, r0 mov r0, r5 mov r2, r4 - bl func_ov00_020825c4 + bl _ZN10MapManager17GetCourseFilePathEPcS0_ ldmia sp!, {r3, r4, r5, pc} .align 2, 0 - arm_func_end func_ov00_020825e4 + arm_func_end _ZN10MapManager18func_ov00_020825e4Eii _02082610: .word data_027e0f7c - .global func_ov00_02082614 - arm_func_start func_ov00_02082614 -func_ov00_02082614: ; 0x02082614 + .global _ZN10MapManager18func_ov00_02082614Eii + arm_func_start _ZN10MapManager18func_ov00_02082614Eii +_ZN10MapManager18func_ov00_02082614Eii: ; 0x02082614 stmdb sp!, {r3, lr} mov r3, #4 str r3, [sp] @@ -10358,52 +10358,52 @@ func_ov00_02082614: ; 0x02082614 mov r2, #0 bl func_ov00_0207ce20 ldmia sp!, {r3, pc} - arm_func_end func_ov00_02082614 + arm_func_end _ZN10MapManager18func_ov00_02082614Eii - .global func_ov00_02082638 - arm_func_start func_ov00_02082638 -func_ov00_02082638: ; 0x02082638 + .global _ZN10MapManager16MapData_vfunc_b0Ev + arm_func_start _ZN10MapManager16MapData_vfunc_b0Ev +_ZN10MapManager16MapData_vfunc_b0Ev: ; 0x02082638 stmdb sp!, {r3, lr} ldr r0, [r0, #4] ldr r3, [r0] ldr r3, [r3, #0xb0] blx r3 ldmia sp!, {r3, pc} - arm_func_end func_ov00_02082638 + arm_func_end _ZN10MapManager16MapData_vfunc_b0Ev - .global func_ov00_02082650 - arm_func_start func_ov00_02082650 -func_ov00_02082650: ; 0x02082650 + .global _ZN10MapManager18func_ov00_02082650Eiii + arm_func_start _ZN10MapManager18func_ov00_02082650Eiii +_ZN10MapManager18func_ov00_02082650Eiii: ; 0x02082650 ldr ip, _0208265c ; =func_ov00_0208005c ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_02082650 + arm_func_end _ZN10MapManager18func_ov00_02082650Eiii _0208265c: .word func_ov00_0208005c - .global func_ov00_02082660 - arm_func_start func_ov00_02082660 -func_ov00_02082660: ; 0x02082660 + .global _ZN10MapManager18func_ov00_02082660Eii + arm_func_start _ZN10MapManager18func_ov00_02082660Eii +_ZN10MapManager18func_ov00_02082660Eii: ; 0x02082660 ldr ip, _0208266c ; =func_ov00_0208007c ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_02082660 + arm_func_end _ZN10MapManager18func_ov00_02082660Eii _0208266c: .word func_ov00_0208007c - .global func_ov00_02082670 - arm_func_start func_ov00_02082670 -func_ov00_02082670: ; 0x02082670 + .global _ZN10MapManager18func_ov00_02082670Eii + arm_func_start _ZN10MapManager18func_ov00_02082670Eii +_ZN10MapManager18func_ov00_02082670Eii: ; 0x02082670 ldr ip, _0208267c ; =func_ov00_0208006c ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_02082670 + arm_func_end _ZN10MapManager18func_ov00_02082670Eii _0208267c: .word func_ov00_0208006c - .global func_ov00_02082680 - arm_func_start func_ov00_02082680 -func_ov00_02082680: ; 0x02082680 + .global _ZN10MapManager18func_ov00_02082680Eii + arm_func_start _ZN10MapManager18func_ov00_02082680Eii +_ZN10MapManager18func_ov00_02082680Eii: ; 0x02082680 stmdb sp!, {r3, lr} ldr r0, [r0, #4] mov r3, r2 @@ -10412,11 +10412,11 @@ func_ov00_02082680: ; 0x02082680 ldr ip, [ip, #0x98] blx ip ldmia sp!, {r3, pc} - arm_func_end func_ov00_02082680 + arm_func_end _ZN10MapManager18func_ov00_02082680Eii - .global func_ov00_020826a0 - arm_func_start func_ov00_020826a0 -func_ov00_020826a0: ; 0x020826a0 + .global _ZN10MapManager18func_ov00_020826a0Eiii + arm_func_start _ZN10MapManager18func_ov00_020826a0Eiii +_ZN10MapManager18func_ov00_020826a0Eiii: ; 0x020826a0 stmdb sp!, {r3, lr} ldr r0, [r0, #4] mov r3, r2 @@ -10425,11 +10425,11 @@ func_ov00_020826a0: ; 0x020826a0 ldr ip, [ip, #0x98] blx ip ldmia sp!, {r3, pc} - arm_func_end func_ov00_020826a0 + arm_func_end _ZN10MapManager18func_ov00_020826a0Eiii - .global func_ov00_020826c0 - arm_func_start func_ov00_020826c0 -func_ov00_020826c0: ; 0x020826c0 + .global _ZN10MapManager9CreateMapEiii + arm_func_start _ZN10MapManager9CreateMapEiii +_ZN10MapManager9CreateMapEiii: ; 0x020826c0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r0, [r6, #4] @@ -10503,12 +10503,12 @@ _020827b4: str r0, [r6, #4] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 - arm_func_end func_ov00_020826c0 + arm_func_end _ZN10MapManager9CreateMapEiii _020827bc: .word data_027e0ce0 - .global func_ov00_020827c0 - arm_func_start func_ov00_020827c0 -func_ov00_020827c0: ; 0x020827c0 + .global _ZN10MapManager10DestroyMapEv + arm_func_start _ZN10MapManager10DestroyMapEv +_ZN10MapManager10DestroyMapEv: ; 0x020827c0 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #4] @@ -10522,22 +10522,22 @@ _020827e4: mov r0, #0 str r0, [r4, #4] ldmia sp!, {r4, pc} - arm_func_end func_ov00_020827c0 + arm_func_end _ZN10MapManager10DestroyMapEv - .global func_ov00_020827f0 - arm_func_start func_ov00_020827f0 -func_ov00_020827f0: ; 0x020827f0 + .global _ZN10MapManager16MapData_vfunc_44Ev + arm_func_start _ZN10MapManager16MapData_vfunc_44Ev +_ZN10MapManager16MapData_vfunc_44Ev: ; 0x020827f0 stmdb sp!, {r3, lr} ldr r0, [r0, #4] ldr r1, [r0] ldr r1, [r1, #0x44] blx r1 ldmia sp!, {r3, pc} - arm_func_end func_ov00_020827f0 + arm_func_end _ZN10MapManager16MapData_vfunc_44Ev - .global func_ov00_02082808 - arm_func_start func_ov00_02082808 -func_ov00_02082808: ; 0x02082808 + .global _ZN10MapManager18func_ov00_02082808Ev + arm_func_start _ZN10MapManager18func_ov00_02082808Ev +_ZN10MapManager18func_ov00_02082808Ev: ; 0x02082808 stmdb sp!, {r3, r4, r5, lr} ldr r2, _020828b4 ; =data_027e0d38 mov r5, r1 @@ -10545,7 +10545,7 @@ func_ov00_02082808: ; 0x02082808 ldr r1, [r1, #0x14] cmp r1, #1 ldmeqia sp!, {r3, r4, r5, pc} - bl func_ov00_02084740 + bl _ZN10MapManager18func_ov00_02084740Ev mov r4, r0 cmp r5, #0 beq _0208286c @@ -10585,14 +10585,14 @@ _02082890: bl func_ov00_020d72b8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 - arm_func_end func_ov00_02082808 + arm_func_end _ZN10MapManager18func_ov00_02082808Ev _020828b4: .word data_027e0d38 _020828b8: .word data_ov15_02190458 _020828bc: .word data_ov00_020eec68 - .global func_ov00_020828c0 - arm_func_start func_ov00_020828c0 -func_ov00_020828c0: ; 0x020828c0 + .global _ZN10MapManager16MapData_vfunc_7cEv + arm_func_start _ZN10MapManager16MapData_vfunc_7cEv +_ZN10MapManager16MapData_vfunc_7cEv: ; 0x020828c0 stmdb sp!, {r3, lr} ldr ip, [sp, #8] str ip, [sp] @@ -10601,40 +10601,40 @@ func_ov00_020828c0: ; 0x020828c0 ldr ip, [ip, #0x7c] blx ip ldmia sp!, {r3, pc} - arm_func_end func_ov00_020828c0 + arm_func_end _ZN10MapManager16MapData_vfunc_7cEv - .global func_ov00_020828e0 - arm_func_start func_ov00_020828e0 -func_ov00_020828e0: ; 0x020828e0 + .global _ZN10MapManager16MapData_vfunc_84Ev + arm_func_start _ZN10MapManager16MapData_vfunc_84Ev +_ZN10MapManager16MapData_vfunc_84Ev: ; 0x020828e0 stmdb sp!, {r3, lr} ldr r0, [r0, #4] ldr r2, [r0] ldr r2, [r2, #0x84] blx r2 ldmia sp!, {r3, pc} - arm_func_end func_ov00_020828e0 + arm_func_end _ZN10MapManager16MapData_vfunc_84Ev - .global func_ov00_020828f8 - arm_func_start func_ov00_020828f8 -func_ov00_020828f8: ; 0x020828f8 + .global _ZN10MapManager18func_ov00_020828f8EPi + arm_func_start _ZN10MapManager18func_ov00_020828f8EPi +_ZN10MapManager18func_ov00_020828f8EPi: ; 0x020828f8 ldr ip, _02082904 ; =func_ov00_0207f38c ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_020828f8 + arm_func_end _ZN10MapManager18func_ov00_020828f8EPi _02082904: .word func_ov00_0207f38c - .global func_ov00_02082908 - arm_func_start func_ov00_02082908 -func_ov00_02082908: ; 0x02082908 + .global _ZN10MapManager20GetCourseData_Unk_b0Ev + arm_func_start _ZN10MapManager20GetCourseData_Unk_b0Ev +_ZN10MapManager20GetCourseData_Unk_b0Ev: ; 0x02082908 ldr r0, [r0] ldrb r0, [r0, #0xb0] bx lr - arm_func_end func_ov00_02082908 + arm_func_end _ZN10MapManager20GetCourseData_Unk_b0Ev - .global func_ov00_02082914 - arm_func_start func_ov00_02082914 -func_ov00_02082914: ; 0x02082914 + .global _ZN10MapManager18func_ov00_02082914Ei + arm_func_start _ZN10MapManager18func_ov00_02082914Ei +_ZN10MapManager18func_ov00_02082914Ei: ; 0x02082914 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x34 mov r8, r1 @@ -10712,7 +10712,7 @@ _02082a1c: ; jump table b _02082a7c ; case 3 _02082a2c: mov r0, r9 - bl func_ov00_020833e8 + bl _ZN10MapManager18func_ov00_020833e8Ev sub r0, r0, r6 mov r4, #0x8000 str r0, [sp, #8] @@ -10720,14 +10720,14 @@ _02082a2c: b _02082a90 _02082a48: mov r0, r9 - bl func_ov00_020833d0 + bl _ZN10MapManager18func_ov00_020833d0Ev add r0, r6, r0 str r0, [sp, #8] mov r4, #0 b _02082a90 _02082a60: mov r0, r9 - bl func_ov00_020833dc + bl _ZN10MapManager18func_ov00_020833dcEv sub r0, r0, r5 mov r4, #0x4000 str r0, [sp] @@ -10735,7 +10735,7 @@ _02082a60: b _02082a90 _02082a7c: mov r0, r9 - bl func_ov00_020833c4 + bl _ZN10MapManager18func_ov00_020833c4Ev add r0, r5, r0 str r0, [sp] mov r4, #0x4000 @@ -10756,34 +10756,34 @@ _02082ac0: add sp, sp, #0x34 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 - arm_func_end func_ov00_02082914 + arm_func_end _ZN10MapManager18func_ov00_02082914Ei _02082ac8: .word data_027e0d38 - .global func_ov00_02082acc - arm_func_start func_ov00_02082acc -func_ov00_02082acc: ; 0x02082acc + .global _ZN10MapManager18func_ov00_02082accEv + arm_func_start _ZN10MapManager18func_ov00_02082accEv +_ZN10MapManager18func_ov00_02082accEv: ; 0x02082acc ldr ip, _02082ad8 ; =func_ov00_0207d7bc ldr r0, [r0] bx ip .align 2, 0 - arm_func_end func_ov00_02082acc + arm_func_end _ZN10MapManager18func_ov00_02082accEv _02082ad8: .word func_ov00_0207d7bc - .global func_ov00_02082adc - arm_func_start func_ov00_02082adc -func_ov00_02082adc: ; 0x02082adc + .global _ZN10MapManager18func_ov00_02082adcEv + arm_func_start _ZN10MapManager18func_ov00_02082adcEv +_ZN10MapManager18func_ov00_02082adcEv: ; 0x02082adc ldr r0, _02082aec ; =data_027e0f70 ldr ip, _02082af0 ; =func_ov00_02096418 ldr r0, [r0] bx ip .align 2, 0 - arm_func_end func_ov00_02082adc + arm_func_end _ZN10MapManager18func_ov00_02082adcEv _02082aec: .word data_027e0f70 _02082af0: .word func_ov00_02096418 - .global func_ov00_02082af4 - arm_func_start func_ov00_02082af4 -func_ov00_02082af4: ; 0x02082af4 + .global _ZN10MapManager18func_ov00_02082af4Ev + arm_func_start _ZN10MapManager18func_ov00_02082af4Ev +_ZN10MapManager18func_ov00_02082af4Ev: ; 0x02082af4 stmdb sp!, {r4, lr} ldr r1, _02082b38 ; =data_027e0f68 mov r4, r0 @@ -10795,19 +10795,19 @@ func_ov00_02082af4: ; 0x02082af4 blx r1 mov r0, r4 mov r1, #0 - bl func_ov00_02082808 + bl _ZN10MapManager18func_ov00_02082808Ev mov r0, #1 strb r0, [r4, #0xa] mov r0, #0 strb r0, [r4, #0xb] ldmia sp!, {r4, pc} .align 2, 0 - arm_func_end func_ov00_02082af4 + arm_func_end _ZN10MapManager18func_ov00_02082af4Ev _02082b38: .word data_027e0f68 - .global func_ov00_02082b3c - arm_func_start func_ov00_02082b3c -func_ov00_02082b3c: ; 0x02082b3c + .global _ZN10MapManager18func_ov00_02082b3cEi + arm_func_start _ZN10MapManager18func_ov00_02082b3cEi +_ZN10MapManager18func_ov00_02082b3cEi: ; 0x02082b3c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r1 mov r6, r0 @@ -10816,12 +10816,12 @@ func_ov00_02082b3c: ; 0x02082b3c add r0, sp, #0 bl func_ov00_0207cb7c mov r0, r6 - bl func_ov00_02082d28 + bl _ZN10MapManager20GetCourseData_Unk_1cEv ldrb r1, [sp] cmp r1, r0 bne _02082bac mov r0, r6 - bl func_ov00_02082d34 + bl _ZN10MapManager20GetCourseData_Unk_1dEv ldrb r1, [sp, #1] cmp r1, r0 bne _02082bac @@ -10847,7 +10847,7 @@ _02082bac: ldr r1, _02082cec ; =data_027e0fe4 mov r0, r6 ldr r4, [r1] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev mov r3, r0 ldrb r1, [sp] ldrb r2, [sp, #1] @@ -10918,7 +10918,7 @@ _02082cd8: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 - arm_func_end func_ov00_02082b3c + arm_func_end _ZN10MapManager18func_ov00_02082b3cEi _02082ce0: .word data_027e0d38 _02082ce4: .word gAdventureFlags _02082ce8: .word data_027e0f64 @@ -10930,9 +10930,9 @@ _02082cfc: .word data_027e103c _02082d00: .word data_027e0f90 _02082d04: .word data_027e0c68 - .global func_ov00_02082d08 - arm_func_start func_ov00_02082d08 -func_ov00_02082d08: ; 0x02082d08 + .global _ZN10MapManager18func_ov00_02082d08Ev + arm_func_start _ZN10MapManager18func_ov00_02082d08Ev +_ZN10MapManager18func_ov00_02082d08Ev: ; 0x02082d08 ldr r3, [r0] mov r0, #0xa ldrb r2, [r3, #0x1c] @@ -10941,27 +10941,27 @@ func_ov00_02082d08: ; 0x02082d08 add r0, r0, r1 ldrb r0, [r0, #0x20] bx lr - arm_func_end func_ov00_02082d08 + arm_func_end _ZN10MapManager18func_ov00_02082d08Ev - .global func_ov00_02082d28 - arm_func_start func_ov00_02082d28 -func_ov00_02082d28: ; 0x02082d28 + .global _ZN10MapManager20GetCourseData_Unk_1cEv + arm_func_start _ZN10MapManager20GetCourseData_Unk_1cEv +_ZN10MapManager20GetCourseData_Unk_1cEv: ; 0x02082d28 ldr r0, [r0] ldrb r0, [r0, #0x1c] bx lr - arm_func_end func_ov00_02082d28 + arm_func_end _ZN10MapManager20GetCourseData_Unk_1cEv - .global func_ov00_02082d34 - arm_func_start func_ov00_02082d34 -func_ov00_02082d34: ; 0x02082d34 + .global _ZN10MapManager20GetCourseData_Unk_1dEv + arm_func_start _ZN10MapManager20GetCourseData_Unk_1dEv +_ZN10MapManager20GetCourseData_Unk_1dEv: ; 0x02082d34 ldr r0, [r0] ldrb r0, [r0, #0x1d] bx lr - arm_func_end func_ov00_02082d34 + arm_func_end _ZN10MapManager20GetCourseData_Unk_1dEv - .global func_ov00_02082d40 - arm_func_start func_ov00_02082d40 -func_ov00_02082d40: ; 0x02082d40 + .global _ZN10MapManager18func_ov00_02082d40Ev + arm_func_start _ZN10MapManager18func_ov00_02082d40Ev +_ZN10MapManager18func_ov00_02082d40Ev: ; 0x02082d40 ldr r3, [r0] ldr r0, [r3, #4] cmp r0, #2 @@ -10976,33 +10976,33 @@ func_ov00_02082d40: ; 0x02082d40 _02082d6c: ldrb r0, [r3, #0xb1] bx lr - arm_func_end func_ov00_02082d40 + arm_func_end _ZN10MapManager18func_ov00_02082d40Ev - .global func_ov00_02082d74 - arm_func_start func_ov00_02082d74 -func_ov00_02082d74: ; 0x02082d74 + .global _ZN10MapManager18func_ov00_02082d74Ei + arm_func_start _ZN10MapManager18func_ov00_02082d74Ei +_ZN10MapManager18func_ov00_02082d74Ei: ; 0x02082d74 ldr ip, _02082d80 ; =func_ov00_02078bc4 mov r0, r1 bx ip .align 2, 0 - arm_func_end func_ov00_02082d74 + arm_func_end _ZN10MapManager18func_ov00_02082d74Ei _02082d80: .word func_ov00_02078bc4 - .global func_ov00_02082d84 - arm_func_start func_ov00_02082d84 -func_ov00_02082d84: ; 0x02082d84 + .global _ZN10MapManager18func_ov00_02082d84Ev + arm_func_start _ZN10MapManager18func_ov00_02082d84Ev +_ZN10MapManager18func_ov00_02082d84Ev: ; 0x02082d84 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r1 mov r6, r2 mov r5, r3 - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev mov r1, r0, lsl #0xc mov r0, #0x100000 bl Divide mov r4, r0 mov r0, r8 - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r1, r0, lsl #0xc mov r0, #0xc0000 bl Divide @@ -11029,11 +11029,11 @@ func_ov00_02082d84: ; 0x02082d84 mov r0, r0, asr #0xc str r0, [r5] ldmia sp!, {r4, r5, r6, r7, r8, pc} - arm_func_end func_ov00_02082d84 + arm_func_end _ZN10MapManager18func_ov00_02082d84Ev - .global func_ov00_02082e1c - arm_func_start func_ov00_02082e1c -func_ov00_02082e1c: ; 0x02082e1c + .global _ZN10MapManager18func_ov00_02082e1cEPiS0_ + arm_func_start _ZN10MapManager18func_ov00_02082e1cEPiS0_ +_ZN10MapManager18func_ov00_02082e1cEPiS0_: ; 0x02082e1c stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x34 mov r8, r0 @@ -11125,7 +11125,7 @@ _02082f1c: str r1, [sp] ldrb r3, [sp, #6] mov r1, r8 - bl func_ov00_02083a54 + bl _ZN10MapManager18func_ov00_02083a54EiPS_iii ldr r0, [r8] bl func_ov00_0207d5c4 ldrb r1, [sp, #4] @@ -11191,12 +11191,12 @@ _02083050: add sp, sp, #0x34 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 - arm_func_end func_ov00_02082e1c + arm_func_end _ZN10MapManager18func_ov00_02082e1cEPiS0_ _02083068: .word data_027e0d38 - .global func_ov00_0208306c - arm_func_start func_ov00_0208306c -func_ov00_0208306c: ; 0x0208306c + .global _ZN10MapManager18func_ov00_0208306cEv + arm_func_start _ZN10MapManager18func_ov00_0208306cEv +_ZN10MapManager18func_ov00_0208306cEv: ; 0x0208306c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x20 mov r6, r0 @@ -11222,12 +11222,12 @@ func_ov00_0208306c: ; 0x0208306c add r2, sp, #0x14 mov r1, r6 str r3, [sp, #0x1c] - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #4 mov r0, r6 mov r2, r5 mov r3, r4 - bl func_ov00_02082d84 + bl _ZN10MapManager18func_ov00_02082d84Ev add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} _020830f0: @@ -11246,7 +11246,7 @@ _020830f0: str r4, [sp] ldr r1, [ip, #0x28] ldrb r1, [r1, #0x56] - bl func_ov00_02083244 + bl _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} _02083138: @@ -11258,13 +11258,13 @@ _02083138: add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 - arm_func_end func_ov00_0208306c + arm_func_end _ZN10MapManager18func_ov00_0208306cEv _02083154: .word data_027e0f94 _02083158: .word data_027e0d38 - .global func_ov00_0208315c - arm_func_start func_ov00_0208315c -func_ov00_0208315c: ; 0x0208315c + .global _ZN10MapManager18func_ov00_0208315cEPiS0_ + arm_func_start _ZN10MapManager18func_ov00_0208315cEPiS0_ +_ZN10MapManager18func_ov00_0208315cEPiS0_: ; 0x0208315c stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x1c mov r6, r0 @@ -11287,13 +11287,13 @@ func_ov00_0208315c: ; 0x0208315c str r2, [sp, #0x14] ldr r1, [r1, #8] str r1, [sp, #0x18] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev mov r1, r0 add r2, sp, #0x10 mov r0, r6 mov r3, r5 str r4, [sp] - bl func_ov00_02083298 + bl _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} _020831d8: @@ -11312,7 +11312,7 @@ _020831d8: str r4, [sp] ldr r1, [ip, #0x28] ldrb r1, [r1, #0x56] - bl func_ov00_02083298 + bl _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} _02083220: @@ -11324,13 +11324,13 @@ _02083220: add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 - arm_func_end func_ov00_0208315c + arm_func_end _ZN10MapManager18func_ov00_0208315cEPiS0_ _0208323c: .word data_027e0f94 _02083240: .word data_027e0d38 - .global func_ov00_02083244 - arm_func_start func_ov00_02083244 -func_ov00_02083244: ; 0x02083244 + .global _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ + arm_func_start _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ +_ZN10MapManager18func_ov00_02083244EjPiS0_S0_: ; 0x02083244 stmdb sp!, {r3, lr} ldr r0, _02083290 ; =data_ov00_020e24e8 cmp r1, #4 @@ -11351,13 +11351,13 @@ func_ov00_02083244: ; 0x02083244 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 - arm_func_end func_ov00_02083244 + arm_func_end _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ _02083290: .word data_ov00_020e24e8 _02083294: .word data_ov00_020e24ec - .global func_ov00_02083298 - arm_func_start func_ov00_02083298 -func_ov00_02083298: ; 0x02083298 + .global _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ + arm_func_start _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ +_ZN10MapManager18func_ov00_02083298EjPiS0_S0_: ; 0x02083298 stmdb sp!, {r3, lr} ldr r0, _020832fc ; =data_ov00_020e24e8 cmp r1, #4 @@ -11384,175 +11384,175 @@ func_ov00_02083298: ; 0x02083298 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 - arm_func_end func_ov00_02083298 + arm_func_end _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ _020832fc: .word data_ov00_020e24e8 _02083300: .word data_ov00_020e24c8 _02083304: .word data_ov00_020e24ec _02083308: .word data_ov00_020e24cc - .global func_ov00_0208330c - arm_func_start func_ov00_0208330c -func_ov00_0208330c: ; 0x0208330c + .global _ZN10MapManager21GetCourseData_Unk_25cEv + arm_func_start _ZN10MapManager21GetCourseData_Unk_25cEv +_ZN10MapManager21GetCourseData_Unk_25cEv: ; 0x0208330c ldr r0, [r0] ldrb r0, [r0, #0x25c] bx lr - arm_func_end func_ov00_0208330c + arm_func_end _ZN10MapManager21GetCourseData_Unk_25cEv - .global func_ov00_02083318 - arm_func_start func_ov00_02083318 -func_ov00_02083318: ; 0x02083318 + .global _ZN10MapManager18func_ov00_02083318Ei + arm_func_start _ZN10MapManager18func_ov00_02083318Ei +_ZN10MapManager18func_ov00_02083318Ei: ; 0x02083318 ldr ip, _02083324 ; =func_ov00_0207d4e4 ldr r0, [r0] bx ip .align 2, 0 - arm_func_end func_ov00_02083318 + arm_func_end _ZN10MapManager18func_ov00_02083318Ei _02083324: .word func_ov00_0207d4e4 - .global func_ov00_02083328 - arm_func_start func_ov00_02083328 -func_ov00_02083328: ; 0x02083328 + .global _ZN10MapManager18func_ov00_02083328Ev + arm_func_start _ZN10MapManager18func_ov00_02083328Ev +_ZN10MapManager18func_ov00_02083328Ev: ; 0x02083328 stmdb sp!, {r4, lr} mov r4, r0 - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev mov r1, r0 ldr r0, [r4] bl func_ov00_0207d4e4 ldmia sp!, {r4, pc} - arm_func_end func_ov00_02083328 + arm_func_end _ZN10MapManager18func_ov00_02083328Ev - .global func_ov00_02083344 - arm_func_start func_ov00_02083344 -func_ov00_02083344: ; 0x02083344 + .global _ZN10MapManager20GetCourseData_Unk_86Ev + arm_func_start _ZN10MapManager20GetCourseData_Unk_86Ev +_ZN10MapManager20GetCourseData_Unk_86Ev: ; 0x02083344 ldr r0, [r0] ldrb r0, [r0, #0x86] bx lr - arm_func_end func_ov00_02083344 + arm_func_end _ZN10MapManager20GetCourseData_Unk_86Ev - .global func_ov00_02083350 - arm_func_start func_ov00_02083350 -func_ov00_02083350: ; 0x02083350 + .global _ZN10MapManager20GetCourseData_Unk_87Ev + arm_func_start _ZN10MapManager20GetCourseData_Unk_87Ev +_ZN10MapManager20GetCourseData_Unk_87Ev: ; 0x02083350 ldr r0, [r0] ldrb r0, [r0, #0x87] bx lr - arm_func_end func_ov00_02083350 + arm_func_end _ZN10MapManager20GetCourseData_Unk_87Ev - .global func_ov00_0208335c - arm_func_start func_ov00_0208335c -func_ov00_0208335c: ; 0x0208335c + .global _ZN10MapManager17Get_MapData_Unk28Ev + arm_func_start _ZN10MapManager17Get_MapData_Unk28Ev +_ZN10MapManager17Get_MapData_Unk28Ev: ; 0x0208335c ldr r0, [r0, #4] ldrh r0, [r0, #0x28] bx lr - arm_func_end func_ov00_0208335c + arm_func_end _ZN10MapManager17Get_MapData_Unk28Ev - .global func_ov00_02083368 - arm_func_start func_ov00_02083368 -func_ov00_02083368: ; 0x02083368 + .global _ZN10MapManager17Get_MapData_Unk2aEv + arm_func_start _ZN10MapManager17Get_MapData_Unk2aEv +_ZN10MapManager17Get_MapData_Unk2aEv: ; 0x02083368 ldr r0, [r0, #4] ldrh r0, [r0, #0x2a] bx lr - arm_func_end func_ov00_02083368 + arm_func_end _ZN10MapManager17Get_MapData_Unk2aEv - .global func_ov00_02083374 - arm_func_start func_ov00_02083374 -func_ov00_02083374: ; 0x02083374 + .global _ZN10MapManager18func_ov00_02083374Ev + arm_func_start _ZN10MapManager18func_ov00_02083374Ev +_ZN10MapManager18func_ov00_02083374Ev: ; 0x02083374 stmdb sp!, {r3, lr} - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev mov r0, r0, lsl #0xc ldmia sp!, {r3, pc} - arm_func_end func_ov00_02083374 + arm_func_end _ZN10MapManager18func_ov00_02083374Ev - .global func_ov00_02083384 - arm_func_start func_ov00_02083384 -func_ov00_02083384: ; 0x02083384 + .global _ZN10MapManager18func_ov00_02083384Ev + arm_func_start _ZN10MapManager18func_ov00_02083384Ev +_ZN10MapManager18func_ov00_02083384Ev: ; 0x02083384 stmdb sp!, {r3, lr} - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r0, r0, lsl #0xc ldmia sp!, {r3, pc} - arm_func_end func_ov00_02083384 + arm_func_end _ZN10MapManager18func_ov00_02083384Ev - .global func_ov00_02083394 - arm_func_start func_ov00_02083394 -func_ov00_02083394: ; 0x02083394 + .global _ZN10MapManager13GetCourseMinXEv + arm_func_start _ZN10MapManager13GetCourseMinXEv +_ZN10MapManager13GetCourseMinXEv: ; 0x02083394 ldr r0, [r0] ldr r0, [r0, #0x98] bx lr - arm_func_end func_ov00_02083394 + arm_func_end _ZN10MapManager13GetCourseMinXEv - .global func_ov00_020833a0 - arm_func_start func_ov00_020833a0 -func_ov00_020833a0: ; 0x020833a0 + .global _ZN10MapManager13GetCourseMinZEv + arm_func_start _ZN10MapManager13GetCourseMinZEv +_ZN10MapManager13GetCourseMinZEv: ; 0x020833a0 ldr r0, [r0] ldr r0, [r0, #0xa0] bx lr - arm_func_end func_ov00_020833a0 + arm_func_end _ZN10MapManager13GetCourseMinZEv - .global func_ov00_020833ac - arm_func_start func_ov00_020833ac -func_ov00_020833ac: ; 0x020833ac + .global _ZN10MapManager13GetCourseMaxXEv + arm_func_start _ZN10MapManager13GetCourseMaxXEv +_ZN10MapManager13GetCourseMaxXEv: ; 0x020833ac ldr r0, [r0] ldr r0, [r0, #0xa4] bx lr - arm_func_end func_ov00_020833ac + arm_func_end _ZN10MapManager13GetCourseMaxXEv - .global func_ov00_020833b8 - arm_func_start func_ov00_020833b8 -func_ov00_020833b8: ; 0x020833b8 + .global _ZN10MapManager13GetCourseMaxZEv + arm_func_start _ZN10MapManager13GetCourseMaxZEv +_ZN10MapManager13GetCourseMaxZEv: ; 0x020833b8 ldr r0, [r0] ldr r0, [r0, #0xac] bx lr - arm_func_end func_ov00_020833b8 + arm_func_end _ZN10MapManager13GetCourseMaxZEv - .global func_ov00_020833c4 - arm_func_start func_ov00_020833c4 -func_ov00_020833c4: ; 0x020833c4 + .global _ZN10MapManager18func_ov00_020833c4Ev + arm_func_start _ZN10MapManager18func_ov00_020833c4Ev +_ZN10MapManager18func_ov00_020833c4Ev: ; 0x020833c4 ldr r0, [r0, #4] ldr r0, [r0, #0xdc] bx lr - arm_func_end func_ov00_020833c4 + arm_func_end _ZN10MapManager18func_ov00_020833c4Ev - .global func_ov00_020833d0 - arm_func_start func_ov00_020833d0 -func_ov00_020833d0: ; 0x020833d0 + .global _ZN10MapManager18func_ov00_020833d0Ev + arm_func_start _ZN10MapManager18func_ov00_020833d0Ev +_ZN10MapManager18func_ov00_020833d0Ev: ; 0x020833d0 ldr r0, [r0, #4] ldr r0, [r0, #0xe4] bx lr - arm_func_end func_ov00_020833d0 + arm_func_end _ZN10MapManager18func_ov00_020833d0Ev - .global func_ov00_020833dc - arm_func_start func_ov00_020833dc -func_ov00_020833dc: ; 0x020833dc + .global _ZN10MapManager18func_ov00_020833dcEv + arm_func_start _ZN10MapManager18func_ov00_020833dcEv +_ZN10MapManager18func_ov00_020833dcEv: ; 0x020833dc ldr r0, [r0, #4] ldr r0, [r0, #0xe8] bx lr - arm_func_end func_ov00_020833dc + arm_func_end _ZN10MapManager18func_ov00_020833dcEv - .global func_ov00_020833e8 - arm_func_start func_ov00_020833e8 -func_ov00_020833e8: ; 0x020833e8 + .global _ZN10MapManager18func_ov00_020833e8Ev + arm_func_start _ZN10MapManager18func_ov00_020833e8Ev +_ZN10MapManager18func_ov00_020833e8Ev: ; 0x020833e8 ldr r0, [r0, #4] ldr r0, [r0, #0xf0] bx lr - arm_func_end func_ov00_020833e8 + arm_func_end _ZN10MapManager18func_ov00_020833e8Ev - .global func_ov00_020833f4 - arm_func_start func_ov00_020833f4 -func_ov00_020833f4: ; 0x020833f4 + .global _ZN10MapManager18Get_MapData_Unk_d0Ev + arm_func_start _ZN10MapManager18Get_MapData_Unk_d0Ev +_ZN10MapManager18Get_MapData_Unk_d0Ev: ; 0x020833f4 ldr r0, [r0, #4] ldr r0, [r0, #0xd0] bx lr - arm_func_end func_ov00_020833f4 + arm_func_end _ZN10MapManager18Get_MapData_Unk_d0Ev - .global func_ov00_02083400 - arm_func_start func_ov00_02083400 -func_ov00_02083400: ; 0x02083400 + .global _ZN10MapManager18Get_MapData_Unk_d8Ev + arm_func_start _ZN10MapManager18Get_MapData_Unk_d8Ev +_ZN10MapManager18Get_MapData_Unk_d8Ev: ; 0x02083400 ldr r0, [r0, #4] ldr r0, [r0, #0xd8] bx lr - arm_func_end func_ov00_02083400 + arm_func_end _ZN10MapManager18Get_MapData_Unk_d8Ev - .global func_ov00_0208340c - arm_func_start func_ov00_0208340c -func_ov00_0208340c: ; 0x0208340c + .global _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p + arm_func_start _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p +_ZN10MapManager17GetMapData_Unk_dcEP5Vec3p: ; 0x0208340c ldr r2, [r0, #4] ldr r0, [r2, #0xdc] str r0, [r1] @@ -11561,11 +11561,11 @@ func_ov00_0208340c: ; 0x0208340c ldr r0, [r2, #0xe4] str r0, [r1, #8] bx lr - arm_func_end func_ov00_0208340c + arm_func_end _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p - .global func_ov00_0208342c - arm_func_start func_ov00_0208342c -func_ov00_0208342c: ; 0x0208342c + .global _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p + arm_func_start _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p +_ZN10MapManager17GetMapData_Unk_e8EP5Vec3p: ; 0x0208342c ldr r2, [r0, #4] ldr r0, [r2, #0xe8] str r0, [r1] @@ -11574,11 +11574,11 @@ func_ov00_0208342c: ; 0x0208342c ldr r0, [r2, #0xf0] str r0, [r1, #8] bx lr - arm_func_end func_ov00_0208342c + arm_func_end _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p - .global func_ov00_0208344c - arm_func_start func_ov00_0208344c -func_ov00_0208344c: ; 0x0208344c + .global _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p + arm_func_start _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +_ZN10MapManager17GetMapData_Unk_d0EP5Vec3p: ; 0x0208344c ldr r2, [r0, #4] ldr r0, [r2, #0xd0] str r0, [r1] @@ -11587,24 +11587,24 @@ func_ov00_0208344c: ; 0x0208344c ldr r0, [r2, #0xd8] str r0, [r1, #8] bx lr - arm_func_end func_ov00_0208344c + arm_func_end _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p - .global func_ov00_0208346c - arm_func_start func_ov00_0208346c -func_ov00_0208346c: ; 0x0208346c + .global _ZN10MapManager18func_ov00_0208346cEP4AABB + arm_func_start _ZN10MapManager18func_ov00_0208346cEP4AABB +_ZN10MapManager18func_ov00_0208346cEP4AABB: ; 0x0208346c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 - bl func_ov00_020833c4 + bl _ZN10MapManager18func_ov00_020833c4Ev str r0, [r4] mov r0, r5 - bl func_ov00_020833d0 + bl _ZN10MapManager18func_ov00_020833d0Ev str r0, [r4, #8] mov r0, r5 - bl func_ov00_020833dc + bl _ZN10MapManager18func_ov00_020833dcEv str r0, [r4, #0xc] mov r0, r5 - bl func_ov00_020833e8 + bl _ZN10MapManager18func_ov00_020833e8Ev ldr r1, _020834b8 ; =0x00001333 str r0, [r4, #0x14] str r1, [r4, #0x10] @@ -11612,12 +11612,12 @@ func_ov00_0208346c: ; 0x0208346c str r0, [r4, #4] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 - arm_func_end func_ov00_0208346c + arm_func_end _ZN10MapManager18func_ov00_0208346cEP4AABB _020834b8: .word 0x00001333 - .global func_ov00_020834bc - arm_func_start func_ov00_020834bc -func_ov00_020834bc: ; 0x020834bc + .global _ZN10MapManager18func_ov00_020834bcEP5Vec3pii + arm_func_start _ZN10MapManager18func_ov00_020834bcEP5Vec3pii +_ZN10MapManager18func_ov00_020834bcEP5Vec3pii: ; 0x020834bc stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5] @@ -11634,21 +11634,21 @@ func_ov00_020834bc: ; 0x020834bc ldr r1, [r0, #8] mov r0, r5 str r1, [r4, #8] - bl func_ov00_02083374 + bl _ZN10MapManager18func_ov00_02083374Ev ldr r1, [r4] sub r1, r1, r0, asr #1 mov r0, r5 str r1, [r4] - bl func_ov00_02083384 + bl _ZN10MapManager18func_ov00_02083384Ev ldr r1, [r4, #8] sub r0, r1, r0, asr #1 str r0, [r4, #8] ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_020834bc + arm_func_end _ZN10MapManager18func_ov00_020834bcEP5Vec3pii - .global func_ov00_02083524 - arm_func_start func_ov00_02083524 -func_ov00_02083524: ; 0x02083524 + .global _ZN10MapManager18func_ov00_02083524EP5Vec3pii + arm_func_start _ZN10MapManager18func_ov00_02083524EP5Vec3pii +_ZN10MapManager18func_ov00_02083524EP5Vec3pii: ; 0x02083524 stmdb sp!, {r4, lr} ldr r0, [r0] mov ip, #0xa @@ -11664,64 +11664,64 @@ func_ov00_02083524: ; 0x02083524 ldr r0, [r0, #8] str r0, [r4, #8] ldmia sp!, {r4, pc} - arm_func_end func_ov00_02083524 + arm_func_end _ZN10MapManager18func_ov00_02083524EP5Vec3pii - .global func_ov00_02083560 - arm_func_start func_ov00_02083560 -func_ov00_02083560: ; 0x02083560 + .global _ZN10MapManager18func_ov00_02083560EiPS_j + arm_func_start _ZN10MapManager18func_ov00_02083560EiPS_j +_ZN10MapManager18func_ov00_02083560EiPS_j: ; 0x02083560 ldr ip, _0208356c ; =func_ov00_0207cb7c ldr r1, [r1] bx ip .align 2, 0 - arm_func_end func_ov00_02083560 + arm_func_end _ZN10MapManager18func_ov00_02083560EiPS_j _0208356c: .word func_ov00_0207cb7c - .global func_ov00_02083570 - arm_func_start func_ov00_02083570 -func_ov00_02083570: ; 0x02083570 + .global _ZN10MapManager18func_ov00_02083570Eii + arm_func_start _ZN10MapManager18func_ov00_02083570Eii +_ZN10MapManager18func_ov00_02083570Eii: ; 0x02083570 ldr r3, [r0] mov r0, #0xa mla r0, r1, r0, r3 add r0, r0, r2 ldrb r0, [r0, #0x20] bx lr - arm_func_end func_ov00_02083570 + arm_func_end _ZN10MapManager18func_ov00_02083570Eii - .global func_ov00_02083588 - arm_func_start func_ov00_02083588 -func_ov00_02083588: ; 0x02083588 + .global _ZN10MapManager18func_ov00_02083588Ev + arm_func_start _ZN10MapManager18func_ov00_02083588Ev +_ZN10MapManager18func_ov00_02083588Ev: ; 0x02083588 stmdb sp!, {r4, lr} mov r4, r0 - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev mov r1, r0 ldr r0, [r4] bl func_ov00_0207cc6c ldmia sp!, {r4, pc} - arm_func_end func_ov00_02083588 + arm_func_end _ZN10MapManager18func_ov00_02083588Ev - .global func_ov00_020835a4 - arm_func_start func_ov00_020835a4 -func_ov00_020835a4: ; 0x020835a4 + .global _ZN10MapManager18func_ov00_020835a4Ev + arm_func_start _ZN10MapManager18func_ov00_020835a4Ev +_ZN10MapManager18func_ov00_020835a4Ev: ; 0x020835a4 ldr ip, _020835b0 ; =func_ov00_0207d61c ldr r0, [r0] bx ip .align 2, 0 - arm_func_end func_ov00_020835a4 + arm_func_end _ZN10MapManager18func_ov00_020835a4Ev _020835b0: .word func_ov00_0207d61c - .global func_ov00_020835b4 - arm_func_start func_ov00_020835b4 -func_ov00_020835b4: ; 0x020835b4 + .global _ZN10MapManager18func_ov00_020835b4Ev + arm_func_start _ZN10MapManager18func_ov00_020835b4Ev +_ZN10MapManager18func_ov00_020835b4Ev: ; 0x020835b4 ldr ip, _020835c0 ; =func_ov00_0207d628 ldr r0, [r0] bx ip .align 2, 0 - arm_func_end func_ov00_020835b4 + arm_func_end _ZN10MapManager18func_ov00_020835b4Ev _020835c0: .word func_ov00_0207d628 - .global func_ov00_020835c4 - arm_func_start func_ov00_020835c4 -func_ov00_020835c4: ; 0x020835c4 + .global _ZN10MapManager18func_ov00_020835c4Eii + arm_func_start _ZN10MapManager18func_ov00_020835c4Eii +_ZN10MapManager18func_ov00_020835c4Eii: ; 0x020835c4 stmdb sp!, {r3, lr} mov r3, #3 str r3, [sp] @@ -11730,51 +11730,51 @@ func_ov00_020835c4: ; 0x020835c4 mov r2, #0 bl func_ov00_0207d404 ldmia sp!, {r3, pc} - arm_func_end func_ov00_020835c4 + arm_func_end _ZN10MapManager18func_ov00_020835c4Eii - .global func_ov00_020835e4 - arm_func_start func_ov00_020835e4 -func_ov00_020835e4: ; 0x020835e4 + .global _ZN10MapManager18func_ov00_020835e4EiPiS0_ + arm_func_start _ZN10MapManager18func_ov00_020835e4EiPiS0_ +_ZN10MapManager18func_ov00_020835e4EiPiS0_: ; 0x020835e4 ldr ip, _020835f0 ; =func_ov00_0207caa8 ldr r0, [r0] bx ip .align 2, 0 - arm_func_end func_ov00_020835e4 + arm_func_end _ZN10MapManager18func_ov00_020835e4EiPiS0_ _020835f0: .word func_ov00_0207caa8 - .global func_ov00_020835f4 - arm_func_start func_ov00_020835f4 -func_ov00_020835f4: ; 0x020835f4 + .global _ZN10MapManager18func_ov00_020835f4Ei + arm_func_start _ZN10MapManager18func_ov00_020835f4Ei +_ZN10MapManager18func_ov00_020835f4Ei: ; 0x020835f4 ldr ip, _02083600 ; =func_ov00_0207cb30 ldr r0, [r0] bx ip .align 2, 0 - arm_func_end func_ov00_020835f4 + arm_func_end _ZN10MapManager18func_ov00_020835f4Ei _02083600: .word func_ov00_0207cb30 - .global func_ov00_02083604 - arm_func_start func_ov00_02083604 -func_ov00_02083604: ; 0x02083604 + .global _ZN10MapManager18func_ov00_02083604Ei + arm_func_start _ZN10MapManager18func_ov00_02083604Ei +_ZN10MapManager18func_ov00_02083604Ei: ; 0x02083604 ldr ip, _02083610 ; =func_ov00_0207cbe8 ldr r0, [r0] bx ip .align 2, 0 - arm_func_end func_ov00_02083604 + arm_func_end _ZN10MapManager18func_ov00_02083604Ei _02083610: .word func_ov00_0207cbe8 - .global func_ov00_02083614 - arm_func_start func_ov00_02083614 -func_ov00_02083614: ; 0x02083614 + .global _ZN10MapManager18func_ov00_02083614Ei + arm_func_start _ZN10MapManager18func_ov00_02083614Ei +_ZN10MapManager18func_ov00_02083614Ei: ; 0x02083614 ldr ip, _02083620 ; =func_ov00_0207cc24 ldr r0, [r0] bx ip .align 2, 0 - arm_func_end func_ov00_02083614 + arm_func_end _ZN10MapManager18func_ov00_02083614Ei _02083620: .word func_ov00_0207cc24 - .global func_ov00_02083624 - arm_func_start func_ov00_02083624 -func_ov00_02083624: ; 0x02083624 + .global _ZN10MapManager14GetEntrancePosEP5Vec3pi + arm_func_start _ZN10MapManager14GetEntrancePosEP5Vec3pi +_ZN10MapManager14GetEntrancePosEP5Vec3pi: ; 0x02083624 stmdb sp!, {r4, lr} ldr r0, [r0, #4] mov r4, r1 @@ -11791,11 +11791,11 @@ func_ov00_02083624: ; 0x02083624 ldr r1, [r3, #0x10] str r1, [r4, #0x10] ldmia sp!, {r4, pc} - arm_func_end func_ov00_02083624 + arm_func_end _ZN10MapManager14GetEntrancePosEP5Vec3pi - .global func_ov00_02083664 - arm_func_start func_ov00_02083664 -func_ov00_02083664: ; 0x02083664 + .global _ZN10MapManager18func_ov00_02083664EP5Vec3pi + arm_func_start _ZN10MapManager18func_ov00_02083664EP5Vec3pi +_ZN10MapManager18func_ov00_02083664EP5Vec3pi: ; 0x02083664 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r1 @@ -11804,7 +11804,7 @@ func_ov00_02083664: ; 0x02083664 add r1, sp, #0 strb ip, [sp, #0xe] str r3, [sp, #0x10] - bl func_ov00_02083624 + bl _ZN10MapManager14GetEntrancePosEP5Vec3pi cmp r0, #0 addeq sp, sp, #0x14 moveq r0, #0 @@ -11818,31 +11818,31 @@ func_ov00_02083664: ; 0x02083664 str r1, [r4, #8] add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02083664 + arm_func_end _ZN10MapManager18func_ov00_02083664EP5Vec3pi - .global func_ov00_020836bc - arm_func_start func_ov00_020836bc -func_ov00_020836bc: ; 0x020836bc + .global _ZN10MapManager18func_ov00_020836bcEjPi + arm_func_start _ZN10MapManager18func_ov00_020836bcEjPi +_ZN10MapManager18func_ov00_020836bcEjPi: ; 0x020836bc ldr ip, _020836c8 ; =func_ov00_0207faac ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_020836bc + arm_func_end _ZN10MapManager18func_ov00_020836bcEjPi _020836c8: .word func_ov00_0207faac - .global func_ov00_020836cc - arm_func_start func_ov00_020836cc -func_ov00_020836cc: ; 0x020836cc + .global _ZN10MapManager18func_ov00_020836ccEjP4AABBj + arm_func_start _ZN10MapManager18func_ov00_020836ccEjP4AABBj +_ZN10MapManager18func_ov00_020836ccEjP4AABBj: ; 0x020836cc ldr ip, _020836d8 ; =func_ov00_0207fb64 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_020836cc + arm_func_end _ZN10MapManager18func_ov00_020836ccEjP4AABBj _020836d8: .word func_ov00_0207fb64 - .global func_ov00_020836dc - arm_func_start func_ov00_020836dc -func_ov00_020836dc: ; 0x020836dc + .global _ZN10MapManager18func_ov00_020836dcEii + arm_func_start _ZN10MapManager18func_ov00_020836dcEii +_ZN10MapManager18func_ov00_020836dcEii: ; 0x020836dc stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc cmp r2, #0 @@ -11877,37 +11877,37 @@ _02083750: add r2, sp, #0 mov r0, r5 mov r1, r4 - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 - arm_func_end func_ov00_020836dc + arm_func_end _ZN10MapManager18func_ov00_020836dcEii _02083768: .word data_027e0f94 _0208376c: .word data_027e0fe4 - .global func_ov00_02083770 - arm_func_start func_ov00_02083770 -func_ov00_02083770: ; 0x02083770 + .global _ZN10MapManager18func_ov00_02083770Eji + arm_func_start _ZN10MapManager18func_ov00_02083770Eji +_ZN10MapManager18func_ov00_02083770Eji: ; 0x02083770 ldr ip, _0208377c ; =func_ov00_0207fd58 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_02083770 + arm_func_end _ZN10MapManager18func_ov00_02083770Eji _0208377c: .word func_ov00_0207fd58 - .global func_ov00_02083780 - arm_func_start func_ov00_02083780 -func_ov00_02083780: ; 0x02083780 + .global _ZN10MapManager18func_ov00_02083780Ei + arm_func_start _ZN10MapManager18func_ov00_02083780Ei +_ZN10MapManager18func_ov00_02083780Ei: ; 0x02083780 ldr ip, _0208378c ; =func_ov00_0207fc2c ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_02083780 + arm_func_end _ZN10MapManager18func_ov00_02083780Ei _0208378c: .word func_ov00_0207fc2c - .global func_ov00_02083790 - arm_func_start func_ov00_02083790 -func_ov00_02083790: ; 0x02083790 + .global _ZN10MapManager18func_ov00_02083790Ei + arm_func_start _ZN10MapManager18func_ov00_02083790Ei +_ZN10MapManager18func_ov00_02083790Ei: ; 0x02083790 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 movs r4, r1 @@ -11930,7 +11930,7 @@ func_ov00_02083790: ; 0x02083790 add r1, sp, #4 add r2, sp, #0 mov r0, r5 - bl func_ov00_02082e1c + bl _ZN10MapManager18func_ov00_02082e1cEPiS0_ cmp r0, #0 bne _0208381c ldr r0, _02083838 ; =data_027e0d3c @@ -11950,15 +11950,15 @@ _0208381c: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 - arm_func_end func_ov00_02083790 + arm_func_end _ZN10MapManager18func_ov00_02083790Ei _02083830: .word data_027e0f64 _02083834: .word data_027e0d38 _02083838: .word data_027e0d3c _0208383c: .word data_027e0fe4 - .global func_ov00_02083840 - arm_func_start func_ov00_02083840 -func_ov00_02083840: ; 0x02083840 + .global _ZN10MapManager18func_ov00_02083840Ei + arm_func_start _ZN10MapManager18func_ov00_02083840Ei +_ZN10MapManager18func_ov00_02083840Ei: ; 0x02083840 stmdb sp!, {r3, r4, r5, lr} movs r4, r1 mov r5, r0 @@ -11992,123 +11992,123 @@ _020838ac: bl func_ov00_02080d80 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 - arm_func_end func_ov00_02083840 + arm_func_end _ZN10MapManager18func_ov00_02083840Ei _020838bc: .word data_027e0f64 _020838c0: .word data_027e0d3c _020838c4: .word data_027e0fe4 - .global func_ov00_020838c8 - arm_func_start func_ov00_020838c8 -func_ov00_020838c8: ; 0x020838c8 + .global _ZN10MapManager18func_ov00_020838c8Ei + arm_func_start _ZN10MapManager18func_ov00_020838c8Ei +_ZN10MapManager18func_ov00_020838c8Ei: ; 0x020838c8 ldr ip, _020838d4 ; =func_ov00_0207fe80 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_020838c8 + arm_func_end _ZN10MapManager18func_ov00_020838c8Ei _020838d4: .word func_ov00_0207fe80 - .global func_ov00_020838d8 - arm_func_start func_ov00_020838d8 -func_ov00_020838d8: ; 0x020838d8 + .global _ZN10MapManager18func_ov00_020838d8Ei + arm_func_start _ZN10MapManager18func_ov00_020838d8Ei +_ZN10MapManager18func_ov00_020838d8Ei: ; 0x020838d8 ldr ip, _020838e4 ; =func_ov00_0207ff88 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_020838d8 + arm_func_end _ZN10MapManager18func_ov00_020838d8Ei _020838e4: .word func_ov00_0207ff88 - .global func_ov00_020838e8 - arm_func_start func_ov00_020838e8 -func_ov00_020838e8: ; 0x020838e8 + .global _ZN10MapManager18func_ov00_020838e8EjPi + arm_func_start _ZN10MapManager18func_ov00_020838e8EjPi +_ZN10MapManager18func_ov00_020838e8EjPi: ; 0x020838e8 ldr ip, _020838f4 ; =func_ov00_0208039c ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_020838e8 + arm_func_end _ZN10MapManager18func_ov00_020838e8EjPi _020838f4: .word func_ov00_0208039c - .global func_ov00_020838f8 - arm_func_start func_ov00_020838f8 -func_ov00_020838f8: ; 0x020838f8 + .global _ZN10MapManager18func_ov00_020838f8EPi + arm_func_start _ZN10MapManager18func_ov00_020838f8EPi +_ZN10MapManager18func_ov00_020838f8EPi: ; 0x020838f8 ldr ip, _02083904 ; =func_ov00_02080140 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_020838f8 + arm_func_end _ZN10MapManager18func_ov00_020838f8EPi _02083904: .word func_ov00_02080140 - .global func_ov00_02083908 - arm_func_start func_ov00_02083908 -func_ov00_02083908: ; 0x02083908 + .global _ZN10MapManager18func_ov00_02083908EcPi + arm_func_start _ZN10MapManager18func_ov00_02083908EcPi +_ZN10MapManager18func_ov00_02083908EcPi: ; 0x02083908 ldr ip, _02083914 ; =func_ov00_02080510 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_02083908 + arm_func_end _ZN10MapManager18func_ov00_02083908EcPi _02083914: .word func_ov00_02080510 - .global func_ov00_02083918 - arm_func_start func_ov00_02083918 -func_ov00_02083918: ; 0x02083918 + .global _ZN10MapManager18func_ov00_02083918EiPi + arm_func_start _ZN10MapManager18func_ov00_02083918EiPi +_ZN10MapManager18func_ov00_02083918EiPi: ; 0x02083918 ldr ip, _02083924 ; =func_ov00_020805d0 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_02083918 + arm_func_end _ZN10MapManager18func_ov00_02083918EiPi _02083924: .word func_ov00_020805d0 - .global func_ov00_02083928 - arm_func_start func_ov00_02083928 -func_ov00_02083928: ; 0x02083928 + .global _ZN10MapManager18func_ov00_02083928EPci + arm_func_start _ZN10MapManager18func_ov00_02083928EPci +_ZN10MapManager18func_ov00_02083928EPci: ; 0x02083928 ldr ip, _02083934 ; =func_ov00_02080688 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_02083928 + arm_func_end _ZN10MapManager18func_ov00_02083928EPci _02083934: .word func_ov00_02080688 - .global func_ov00_02083938 - arm_func_start func_ov00_02083938 -func_ov00_02083938: ; 0x02083938 + .global _ZN10MapManager18func_ov00_02083938Ei + arm_func_start _ZN10MapManager18func_ov00_02083938Ei +_ZN10MapManager18func_ov00_02083938Ei: ; 0x02083938 ldr ip, _02083944 ; =func_ov00_02080780 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_02083938 + arm_func_end _ZN10MapManager18func_ov00_02083938Ei _02083944: .word func_ov00_02080780 - .global func_ov00_02083948 - arm_func_start func_ov00_02083948 -func_ov00_02083948: ; 0x02083948 + .global _ZN10MapManager18Set_MapData_Unk_16Eci + arm_func_start _ZN10MapManager18Set_MapData_Unk_16Eci +_ZN10MapManager18Set_MapData_Unk_16Eci: ; 0x02083948 ldr r0, [r0, #4] add r0, r0, r2 strb r1, [r0, #0x16] bx lr - arm_func_end func_ov00_02083948 + arm_func_end _ZN10MapManager18Set_MapData_Unk_16Eci - .global func_ov00_02083958 - arm_func_start func_ov00_02083958 -func_ov00_02083958: ; 0x02083958 + .global _ZN10MapManager18func_ov00_02083958Ei + arm_func_start _ZN10MapManager18func_ov00_02083958Ei +_ZN10MapManager18func_ov00_02083958Ei: ; 0x02083958 ldr ip, _02083964 ; =func_ov00_0207f924 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_02083958 + arm_func_end _ZN10MapManager18func_ov00_02083958Ei _02083964: .word func_ov00_0207f924 - .global func_ov00_02083968 - arm_func_start func_ov00_02083968 -func_ov00_02083968: ; 0x02083968 + .global _ZN10MapManager18func_ov00_02083968EjPc + arm_func_start _ZN10MapManager18func_ov00_02083968EjPc +_ZN10MapManager18func_ov00_02083968EjPc: ; 0x02083968 ldr ip, _02083974 ; =func_ov00_02080824 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_02083968 + arm_func_end _ZN10MapManager18func_ov00_02083968EjPc _02083974: .word func_ov00_02080824 - .global func_ov00_02083978 - arm_func_start func_ov00_02083978 -func_ov00_02083978: ; 0x02083978 + .global _ZN10MapManager18func_ov00_02083978EiP5Vec3p + arm_func_start _ZN10MapManager18func_ov00_02083978EiP5Vec3p +_ZN10MapManager18func_ov00_02083978EiP5Vec3p: ; 0x02083978 stmdb sp!, {r4, lr} ldr r0, [r0, #4] mov r4, r2 @@ -12124,78 +12124,78 @@ func_ov00_02083978: ; 0x02083978 mov r0, #1 str r1, [r4, #8] ldmia sp!, {r4, pc} - arm_func_end func_ov00_02083978 + arm_func_end _ZN10MapManager18func_ov00_02083978EiP5Vec3p - .global func_ov00_020839b4 - arm_func_start func_ov00_020839b4 -func_ov00_020839b4: ; 0x020839b4 + .global _ZN10MapManager18func_ov00_020839b4Ei + arm_func_start _ZN10MapManager18func_ov00_020839b4Ei +_ZN10MapManager18func_ov00_020839b4Ei: ; 0x020839b4 ldr ip, _020839c0 ; =func_ov00_020808d0 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_020839b4 + arm_func_end _ZN10MapManager18func_ov00_020839b4Ei _020839c0: .word func_ov00_020808d0 - .global func_ov00_020839c4 - arm_func_start func_ov00_020839c4 -func_ov00_020839c4: ; 0x020839c4 + .global _ZN10MapManager18func_ov00_020839c4Ei + arm_func_start _ZN10MapManager18func_ov00_020839c4Ei +_ZN10MapManager18func_ov00_020839c4Ei: ; 0x020839c4 ldr ip, _020839d0 ; =func_ov00_020809b8 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_020839c4 + arm_func_end _ZN10MapManager18func_ov00_020839c4Ei _020839d0: .word func_ov00_020809b8 - .global func_ov00_020839d4 - arm_func_start func_ov00_020839d4 -func_ov00_020839d4: ; 0x020839d4 + .global _ZN10MapManager18func_ov00_020839d4Ev + arm_func_start _ZN10MapManager18func_ov00_020839d4Ev +_ZN10MapManager18func_ov00_020839d4Ev: ; 0x020839d4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev mov r1, r0 ldr r0, [r5, #4] sub r1, r4, r1 bl func_ov00_0207f778 ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_020839d4 + arm_func_end _ZN10MapManager18func_ov00_020839d4Ev - .global func_ov00_020839f8 - arm_func_start func_ov00_020839f8 -func_ov00_020839f8: ; 0x020839f8 + .global _ZN10MapManager18func_ov00_020839f8Ev + arm_func_start _ZN10MapManager18func_ov00_020839f8Ev +_ZN10MapManager18func_ov00_020839f8Ev: ; 0x020839f8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev mov r1, r0 ldr r0, [r5, #4] sub r1, r4, r1 bl func_ov00_0207f7a0 ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_020839f8 + arm_func_end _ZN10MapManager18func_ov00_020839f8Ev - .global func_ov00_02083a1c - arm_func_start func_ov00_02083a1c -func_ov00_02083a1c: ; 0x02083a1c + .global _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + arm_func_start _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +_ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p: ; 0x02083a1c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r2 mov r6, r1 mov r7, r0 ldr r1, [r5, #8] mov r0, r6 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev mov r4, r0 ldr r1, [r5] mov r0, r6 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev strb r0, [r7] strb r4, [r7, #1] ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_02083a1c + arm_func_end _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - .global func_ov00_02083a54 - arm_func_start func_ov00_02083a54 -func_ov00_02083a54: ; 0x02083a54 + .global _ZN10MapManager18func_ov00_02083a54EiPS_iii + arm_func_start _ZN10MapManager18func_ov00_02083a54EiPS_iii +_ZN10MapManager18func_ov00_02083a54EiPS_iii: ; 0x02083a54 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x24 mov r6, r1 @@ -12203,7 +12203,7 @@ func_ov00_02083a54: ; 0x02083a54 mov r0, r6 mov r5, r2 mov r4, r3 - bl func_ov00_0208330c + bl _ZN10MapManager21GetCourseData_Unk_25cEv cmp r0, #0 beq _02083b58 mvn r0, #0 @@ -12212,7 +12212,7 @@ func_ov00_02083a54: ; 0x02083a54 cmpne r2, r0 bne _02083aa0 mov r0, r6 - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev mov r1, r0 b _02083ab4 _02083aa0: @@ -12223,14 +12223,14 @@ _02083aa0: ldrb r1, [r0, #0x20] _02083ab4: mov r0, r6 - bl func_ov00_02083318 + bl _ZN10MapManager18func_ov00_02083318Ei cmp r0, #0 beq _02083b2c ldr r3, [sp, #0x38] add r1, sp, #0x18 mov r0, r6 mov r2, r4 - bl func_ov00_02083524 + bl _ZN10MapManager18func_ov00_02083524EP5Vec3pii ldr r1, [r5] add r0, sp, #0 str r1, [sp] @@ -12255,11 +12255,11 @@ _02083ab4: _02083b2c: ldr r1, [r5, #8] mov r0, r6 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev mov r4, r0 ldr r1, [r5] mov r0, r6 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev strb r0, [r7] add sp, sp, #0x24 strb r4, [r7, #1] @@ -12267,84 +12267,84 @@ _02083b2c: _02083b58: ldr r1, [r5, #8] mov r0, r6 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev mov r4, r0 ldr r1, [r5] mov r0, r6 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev strb r0, [r7] strb r4, [r7, #1] add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, pc} - arm_func_end func_ov00_02083a54 + arm_func_end _ZN10MapManager18func_ov00_02083a54EiPS_iii - .global func_ov00_02083b84 - arm_func_start func_ov00_02083b84 -func_ov00_02083b84: ; 0x02083b84 + .global _ZN10MapManager18func_ov00_02083b84Ev + arm_func_start _ZN10MapManager18func_ov00_02083b84Ev +_ZN10MapManager18func_ov00_02083b84Ev: ; 0x02083b84 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev mov r4, r0 ldr r0, [r6, #4] mov r1, r5 bl func_ov00_0207f694 add r0, r4, r0 ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02083b84 + arm_func_end _ZN10MapManager18func_ov00_02083b84Ev - .global func_ov00_02083bac - arm_func_start func_ov00_02083bac -func_ov00_02083bac: ; 0x02083bac + .global _ZN10MapManager18func_ov00_02083bacEv + arm_func_start _ZN10MapManager18func_ov00_02083bacEv +_ZN10MapManager18func_ov00_02083bacEv: ; 0x02083bac stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev mov r4, r0 ldr r0, [r6, #4] mov r1, r5 bl func_ov00_0207f6a0 add r0, r4, r0 ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02083bac + arm_func_end _ZN10MapManager18func_ov00_02083bacEv - .global func_ov00_02083bd4 - arm_func_start func_ov00_02083bd4 -func_ov00_02083bd4: ; 0x02083bd4 + .global _ZN10MapManager18func_ov00_02083bd4Ev + arm_func_start _ZN10MapManager18func_ov00_02083bd4Ev +_ZN10MapManager18func_ov00_02083bd4Ev: ; 0x02083bd4 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev mov r4, r0 ldr r0, [r6, #4] mov r1, r5 bl func_ov00_0207f6ac add r0, r4, r0 ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02083bd4 + arm_func_end _ZN10MapManager18func_ov00_02083bd4Ev - .global func_ov00_02083bfc - arm_func_start func_ov00_02083bfc -func_ov00_02083bfc: ; 0x02083bfc + .global _ZN10MapManager18func_ov00_02083bfcEv + arm_func_start _ZN10MapManager18func_ov00_02083bfcEv +_ZN10MapManager18func_ov00_02083bfcEv: ; 0x02083bfc stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev mov r4, r0 ldr r0, [r6, #4] mov r1, r5 bl func_ov00_0207f6bc add r0, r4, r0 ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02083bfc + arm_func_end _ZN10MapManager18func_ov00_02083bfcEv - .global func_ov00_02083c24 - arm_func_start func_ov00_02083c24 -func_ov00_02083c24: ; 0x02083c24 + .global _ZN10MapManager18func_ov00_02083c24Ei + arm_func_start _ZN10MapManager18func_ov00_02083c24Ei +_ZN10MapManager18func_ov00_02083c24Ei: ; 0x02083c24 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev mov r4, r0 ldr r0, [r6, #4] mov r1, r5 @@ -12352,15 +12352,15 @@ func_ov00_02083c24: ; 0x02083c24 add r0, r4, r0 add r0, r0, #0x800 ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02083c24 + arm_func_end _ZN10MapManager18func_ov00_02083c24Ei - .global func_ov00_02083c50 - arm_func_start func_ov00_02083c50 -func_ov00_02083c50: ; 0x02083c50 + .global _ZN10MapManager18func_ov00_02083c50Ei + arm_func_start _ZN10MapManager18func_ov00_02083c50Ei +_ZN10MapManager18func_ov00_02083c50Ei: ; 0x02083c50 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev mov r4, r0 ldr r0, [r6, #4] mov r1, r5 @@ -12368,22 +12368,22 @@ func_ov00_02083c50: ; 0x02083c50 add r0, r4, r0 add r0, r0, #0x800 ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02083c50 + arm_func_end _ZN10MapManager18func_ov00_02083c50Ei - .global func_ov00_02083c7c - arm_func_start func_ov00_02083c7c -func_ov00_02083c7c: ; 0x02083c7c + .global _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi + arm_func_start _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +_ZN10MapManager18func_ov00_02083c7cEP5Vec3pi: ; 0x02083c7c stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r4, r1 ldrb r1, [sp, #0x20] mov r5, r0 - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [r4] ldrb r1, [sp, #0x21] mov r0, r5 - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei str r0, [r4, #8] ldr r0, [r4] add r1, sp, #0 @@ -12394,24 +12394,24 @@ func_ov00_02083c7c: ; 0x02083c7c ldr r3, [r4, #8] mov r2, #1 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #4] add sp, sp, #0xc ldmia sp!, {r4, r5, lr} add sp, sp, #0x10 bx lr - arm_func_end func_ov00_02083c7c + arm_func_end _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi - .global func_ov00_02083ce8 - arm_func_start func_ov00_02083ce8 -func_ov00_02083ce8: ; 0x02083ce8 + .global _ZN10MapManager18func_ov00_02083ce8Ecccci + arm_func_start _ZN10MapManager18func_ov00_02083ce8Ecccci +_ZN10MapManager18func_ov00_02083ce8Ecccci: ; 0x02083ce8 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 mov r6, r0 mov r5, r1 mov r4, r3 - bl func_ov00_0208330c + bl _ZN10MapManager21GetCourseData_Unk_25cEv cmp r0, #0 beq _02083dd0 mvn r0, #0 @@ -12420,7 +12420,7 @@ func_ov00_02083ce8: ; 0x02083ce8 cmpne r2, r0 bne _02083d30 mov r0, r6 - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev mov r1, r0 b _02083d44 _02083d30: @@ -12431,14 +12431,14 @@ _02083d30: ldrb r1, [r0, #0x20] _02083d44: mov r0, r6 - bl func_ov00_02083318 + bl _ZN10MapManager18func_ov00_02083318Ei cmp r0, #0 beq _02083da4 ldr r3, [sp, #0x38] add r1, sp, #0xc mov r0, r6 mov r2, r4 - bl func_ov00_02083524 + bl _ZN10MapManager18func_ov00_02083524EP5Vec3pii ldrb r1, [sp, #0x30] ldr r0, [r6, #4] bl func_ov00_0207f694 @@ -12487,17 +12487,17 @@ _02083df8: ldr r3, [r5, #8] mov r2, #1 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #4] add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, lr} add sp, sp, #0x10 bx lr - arm_func_end func_ov00_02083ce8 + arm_func_end _ZN10MapManager18func_ov00_02083ce8Ecccci - .global func_ov00_02083e34 - arm_func_start func_ov00_02083e34 -func_ov00_02083e34: ; 0x02083e34 + .global _ZN10MapManager18func_ov00_02083e34Ecci + arm_func_start _ZN10MapManager18func_ov00_02083e34Ecci +_ZN10MapManager18func_ov00_02083e34Ecci: ; 0x02083e34 stmdb sp!, {r3, lr} strb r1, [sp] strb r2, [sp, #1] @@ -12507,26 +12507,26 @@ func_ov00_02083e34: ; 0x02083e34 ldr r2, [r2, #0x60] blx r2 ldmia sp!, {r3, pc} - arm_func_end func_ov00_02083e34 + arm_func_end _ZN10MapManager18func_ov00_02083e34Ecci - .global func_ov00_02083e58 - arm_func_start func_ov00_02083e58 -func_ov00_02083e58: ; 0x02083e58 + .global _ZN10MapManager16MapData_vfunc_60Ev + arm_func_start _ZN10MapManager16MapData_vfunc_60Ev +_ZN10MapManager16MapData_vfunc_60Ev: ; 0x02083e58 stmdb sp!, {r3, lr} ldr r0, [r0, #4] ldr r2, [r0] ldr r2, [r2, #0x60] blx r2 ldmia sp!, {r3, pc} - arm_func_end func_ov00_02083e58 + arm_func_end _ZN10MapManager16MapData_vfunc_60Ev - .global func_ov00_02083e70 - arm_func_start func_ov00_02083e70 -func_ov00_02083e70: ; 0x02083e70 + .global _ZN10MapManager18func_ov00_02083e70Ev + arm_func_start _ZN10MapManager18func_ov00_02083e70Ev +_ZN10MapManager18func_ov00_02083e70Ev: ; 0x02083e70 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x2b bgt _02083e98 bge _02083eb0 @@ -12546,30 +12546,30 @@ _02083eb0: _02083eb8: mov r0, r5 mov r1, r4 - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev mov r4, r0 mov r0, r5 - bl func_ov00_02084114 + bl _ZN10MapManager17GetMapData_Unk_48Ev cmp r4, r0 movge r0, #1 movlt r0, #0 ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02083e70 + arm_func_end _ZN10MapManager18func_ov00_02083e70Ev - .global func_ov00_02083ee0 - arm_func_start func_ov00_02083ee0 -func_ov00_02083ee0: ; 0x02083ee0 + .global _ZN10MapManager16MapData_vfunc_68Ev + arm_func_start _ZN10MapManager16MapData_vfunc_68Ev +_ZN10MapManager16MapData_vfunc_68Ev: ; 0x02083ee0 stmdb sp!, {r3, lr} ldr r0, [r0, #4] ldr r3, [r0] ldr r3, [r3, #0x68] blx r3 ldmia sp!, {r3, pc} - arm_func_end func_ov00_02083ee0 + arm_func_end _ZN10MapManager16MapData_vfunc_68Ev - .global func_ov00_02083ef8 - arm_func_start func_ov00_02083ef8 -func_ov00_02083ef8: ; 0x02083ef8 + .global _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ + arm_func_start _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ +_ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_: ; 0x02083ef8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc add ip, sp, #0 @@ -12589,11 +12589,11 @@ func_ov00_02083ef8: ; 0x02083ef8 blx ip add sp, sp, #0xc ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02083ef8 + arm_func_end _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ - .global func_ov00_02083f44 - arm_func_start func_ov00_02083f44 -func_ov00_02083f44: ; 0x02083f44 + .global _ZN10MapManager18func_ov00_02083f44EP5Vec3p + arm_func_start _ZN10MapManager18func_ov00_02083f44EP5Vec3p +_ZN10MapManager18func_ov00_02083f44EP5Vec3p: ; 0x02083f44 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr ip, _02083f7c ; =data_ov00_020e24a4 @@ -12605,38 +12605,38 @@ func_ov00_02083f44: ; 0x02083f44 str lr, [sp] str ip, [sp, #4] str r4, [sp, #8] - bl func_ov00_02083ef8 + bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 - arm_func_end func_ov00_02083f44 + arm_func_end _ZN10MapManager18func_ov00_02083f44EP5Vec3p _02083f7c: .word data_ov00_020e24a4 - .global func_ov00_02083f80 - arm_func_start func_ov00_02083f80 -func_ov00_02083f80: ; 0x02083f80 + .global _ZN10MapManager16MapData_vfunc_6cEv + arm_func_start _ZN10MapManager16MapData_vfunc_6cEv +_ZN10MapManager16MapData_vfunc_6cEv: ; 0x02083f80 stmdb sp!, {r3, lr} ldr r0, [r0, #4] ldr ip, [r0] ldr ip, [ip, #0x6c] blx ip ldmia sp!, {r3, pc} - arm_func_end func_ov00_02083f80 + arm_func_end _ZN10MapManager16MapData_vfunc_6cEv - .global func_ov00_02083f98 - arm_func_start func_ov00_02083f98 -func_ov00_02083f98: ; 0x02083f98 + .global _ZN10MapManager16MapData_vfunc_70Ev + arm_func_start _ZN10MapManager16MapData_vfunc_70Ev +_ZN10MapManager16MapData_vfunc_70Ev: ; 0x02083f98 stmdb sp!, {r3, lr} ldr r0, [r0, #4] ldr r2, [r0] ldr r2, [r2, #0x70] blx r2 ldmia sp!, {r3, pc} - arm_func_end func_ov00_02083f98 + arm_func_end _ZN10MapManager16MapData_vfunc_70Ev - .global func_ov00_02083fb0 - arm_func_start func_ov00_02083fb0 -func_ov00_02083fb0: ; 0x02083fb0 + .global _ZN10MapManager18func_ov00_02083fb0EiPS_i + arm_func_start _ZN10MapManager18func_ov00_02083fb0EiPS_i +_ZN10MapManager18func_ov00_02083fb0EiPS_i: ; 0x02083fb0 stmdb sp!, {r4, r5, r6, lr} mov r6, r1 mov r4, r0 @@ -12652,7 +12652,7 @@ func_ov00_02083fb0: ; 0x02083fb0 ldmneia sp!, {r4, r5, r6, pc} mov r0, r6 mov r1, r5 - bl func_ov00_02083f98 + bl _ZN10MapManager16MapData_vfunc_70Ev ldr r1, _0208401c ; =0x0000ffff mov r2, r0 cmp r2, r1 @@ -12665,13 +12665,13 @@ func_ov00_02083fb0: ; 0x02083fb0 bl func_ov00_02093a1c ldmia sp!, {r4, r5, r6, pc} .align 2, 0 - arm_func_end func_ov00_02083fb0 + arm_func_end _ZN10MapManager18func_ov00_02083fb0EiPS_i _0208401c: .word 0x0000ffff _02084020: .word data_027e0f6c - .global func_ov00_02084024 - arm_func_start func_ov00_02084024 -func_ov00_02084024: ; 0x02084024 + .global _ZN10MapManager18func_ov00_02084024EiP4AABB + arm_func_start _ZN10MapManager18func_ov00_02084024EiP4AABB +_ZN10MapManager18func_ov00_02084024EiP4AABB: ; 0x02084024 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r6, r0 @@ -12679,10 +12679,10 @@ func_ov00_02084024: ; 0x02084024 mov r5, r2 bl func_ov00_0207f6cc mov r0, r6 - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev mov r4, r0 mov r0, r6 - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev str r0, [sp] mov r0, #0 str r0, [sp, #4] @@ -12697,22 +12697,22 @@ func_ov00_02084024: ; 0x02084024 bl func_01ff9bc4 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end func_ov00_02084024 + arm_func_end _ZN10MapManager18func_ov00_02084024EiP4AABB - .global func_ov00_02084088 - arm_func_start func_ov00_02084088 -func_ov00_02084088: ; 0x02084088 + .global _ZN10MapManager16MapData_vfunc_54Ev + arm_func_start _ZN10MapManager16MapData_vfunc_54Ev +_ZN10MapManager16MapData_vfunc_54Ev: ; 0x02084088 stmdb sp!, {r3, lr} ldr r0, [r0, #4] ldr r2, [r0] ldr r2, [r2, #0x54] blx r2 ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084088 + arm_func_end _ZN10MapManager16MapData_vfunc_54Ev - .global func_ov00_020840a0 - arm_func_start func_ov00_020840a0 -func_ov00_020840a0: ; 0x020840a0 + .global _ZN10MapManager18func_ov00_020840a0Ecci + arm_func_start _ZN10MapManager18func_ov00_020840a0Ecci +_ZN10MapManager18func_ov00_020840a0Ecci: ; 0x020840a0 stmdb sp!, {r3, lr} strb r1, [sp] strb r2, [sp, #1] @@ -12722,24 +12722,24 @@ func_ov00_020840a0: ; 0x020840a0 ldr r2, [r2, #0x54] blx r2 ldmia sp!, {r3, pc} - arm_func_end func_ov00_020840a0 + arm_func_end _ZN10MapManager18func_ov00_020840a0Ecci - .global func_ov00_020840c4 - arm_func_start func_ov00_020840c4 -func_ov00_020840c4: ; 0x020840c4 + .global _ZN10MapManager16MapData_vfunc_78Ev + arm_func_start _ZN10MapManager16MapData_vfunc_78Ev +_ZN10MapManager16MapData_vfunc_78Ev: ; 0x020840c4 stmdb sp!, {r3, lr} ldr r0, [r0, #4] ldr r2, [r0] ldr r2, [r2, #0x78] blx r2 ldmia sp!, {r3, pc} - arm_func_end func_ov00_020840c4 + arm_func_end _ZN10MapManager16MapData_vfunc_78Ev - .global func_ov00_020840dc - arm_func_start func_ov00_020840dc -func_ov00_020840dc: ; 0x020840dc + .global _ZN10MapManager18func_ov00_020840dcEv + arm_func_start _ZN10MapManager18func_ov00_020840dcEv +_ZN10MapManager18func_ov00_020840dcEv: ; 0x020840dc stmdb sp!, {r3, lr} - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 mvneq r0, #0 ldmeqia sp!, {r3, pc} @@ -12747,68 +12747,68 @@ func_ov00_020840dc: ; 0x020840dc ldr r1, [r1, #0x1c] blx r1 ldmia sp!, {r3, pc} - arm_func_end func_ov00_020840dc + arm_func_end _ZN10MapManager18func_ov00_020840dcEv - .global func_ov00_02084100 - arm_func_start func_ov00_02084100 -func_ov00_02084100: ; 0x02084100 + .global _ZN10MapManager18func_ov00_02084100EiPS_ + arm_func_start _ZN10MapManager18func_ov00_02084100EiPS_ +_ZN10MapManager18func_ov00_02084100EiPS_: ; 0x02084100 ldr r1, [r1, #4] ldr r2, [r1, #0x40] ldr r1, [r1, #0x44] stmia r0, {r1, r2} bx lr - arm_func_end func_ov00_02084100 + arm_func_end _ZN10MapManager18func_ov00_02084100EiPS_ - .global func_ov00_02084114 - arm_func_start func_ov00_02084114 -func_ov00_02084114: ; 0x02084114 + .global _ZN10MapManager17GetMapData_Unk_48Ev + arm_func_start _ZN10MapManager17GetMapData_Unk_48Ev +_ZN10MapManager17GetMapData_Unk_48Ev: ; 0x02084114 ldr r0, [r0, #4] ldr r0, [r0, #0x48] bx lr - arm_func_end func_ov00_02084114 + arm_func_end _ZN10MapManager17GetMapData_Unk_48Ev - .global func_ov00_02084120 - arm_func_start func_ov00_02084120 -func_ov00_02084120: ; 0x02084120 + .global _ZN10MapManager17GetMapData_Unk_4cEv + arm_func_start _ZN10MapManager17GetMapData_Unk_4cEv +_ZN10MapManager17GetMapData_Unk_4cEv: ; 0x02084120 ldr r0, [r0, #4] ldr r0, [r0, #0x4c] bx lr - arm_func_end func_ov00_02084120 + arm_func_end _ZN10MapManager17GetMapData_Unk_4cEv - .global func_ov00_0208412c - arm_func_start func_ov00_0208412c -func_ov00_0208412c: ; 0x0208412c + .global _ZN10MapManager18func_ov00_0208412cEv + arm_func_start _ZN10MapManager18func_ov00_0208412cEv +_ZN10MapManager18func_ov00_0208412cEv: ; 0x0208412c ldr ip, _02084138 ; =func_ov00_0207f934 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_0208412c + arm_func_end _ZN10MapManager18func_ov00_0208412cEv _02084138: .word func_ov00_0207f934 - .global func_ov00_0208413c - arm_func_start func_ov00_0208413c -func_ov00_0208413c: ; 0x0208413c + .global _ZN10MapManager18func_ov00_0208413cEi + arm_func_start _ZN10MapManager18func_ov00_0208413cEi +_ZN10MapManager18func_ov00_0208413cEi: ; 0x0208413c ldr ip, _02084148 ; =func_ov00_0207f948 ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_0208413c + arm_func_end _ZN10MapManager18func_ov00_0208413cEi _02084148: .word func_ov00_0207f948 - .global func_ov00_0208414c - arm_func_start func_ov00_0208414c -func_ov00_0208414c: ; 0x0208414c + .global _ZN10MapManager16MapData_vfunc_58Ev + arm_func_start _ZN10MapManager16MapData_vfunc_58Ev +_ZN10MapManager16MapData_vfunc_58Ev: ; 0x0208414c stmdb sp!, {r3, lr} ldr r0, [r0, #4] ldr r3, [r0] ldr r3, [r3, #0x58] blx r3 ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208414c + arm_func_end _ZN10MapManager16MapData_vfunc_58Ev - .global func_ov00_02084164 - arm_func_start func_ov00_02084164 -func_ov00_02084164: ; 0x02084164 + .global _ZN10MapManager18func_ov00_02084164Ev + arm_func_start _ZN10MapManager18func_ov00_02084164Ev +_ZN10MapManager18func_ov00_02084164Ev: ; 0x02084164 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #4] @@ -12822,7 +12822,7 @@ func_ov00_02084164: ; 0x02084164 ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, r4 - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x54 addls pc, pc, r0, lsl #2 b _02084304 @@ -12918,38 +12918,38 @@ _020842fc: _02084304: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02084164 + arm_func_end _ZN10MapManager18func_ov00_02084164Ev - .global func_ov00_0208430c - arm_func_start func_ov00_0208430c -func_ov00_0208430c: ; 0x0208430c + .global _ZN10MapManager17GetMapData_Unk_0aEv + arm_func_start _ZN10MapManager17GetMapData_Unk_0aEv +_ZN10MapManager17GetMapData_Unk_0aEv: ; 0x0208430c ldr r0, [r0, #4] ldrb r0, [r0, #0xa] bx lr - arm_func_end func_ov00_0208430c + arm_func_end _ZN10MapManager17GetMapData_Unk_0aEv - .global func_ov00_02084318 - arm_func_start func_ov00_02084318 -func_ov00_02084318: ; 0x02084318 + .global _ZN10MapManager17GetMapData_Unk_0bEv + arm_func_start _ZN10MapManager17GetMapData_Unk_0bEv +_ZN10MapManager17GetMapData_Unk_0bEv: ; 0x02084318 ldr r0, [r0, #4] ldrb r0, [r0, #0xb] bx lr - arm_func_end func_ov00_02084318 + arm_func_end _ZN10MapManager17GetMapData_Unk_0bEv - .global func_ov00_02084324 - arm_func_start func_ov00_02084324 -func_ov00_02084324: ; 0x02084324 + .global _ZN10MapManager16MapData_vfunc_a4Ev + arm_func_start _ZN10MapManager16MapData_vfunc_a4Ev +_ZN10MapManager16MapData_vfunc_a4Ev: ; 0x02084324 stmdb sp!, {r3, lr} ldr r0, [r0, #4] ldr r2, [r0] ldr r2, [r2, #0xa4] blx r2 ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084324 + arm_func_end _ZN10MapManager16MapData_vfunc_a4Ev - .global func_ov00_0208433c - arm_func_start func_ov00_0208433c -func_ov00_0208433c: ; 0x0208433c + .global _ZN10MapManager18func_ov00_0208433cEP5Vec3pi + arm_func_start _ZN10MapManager18func_ov00_0208433cEP5Vec3pi +_ZN10MapManager18func_ov00_0208433cEP5Vec3pi: ; 0x0208433c stmdb sp!, {r4, r5, lr} sub sp, sp, #0x1c add r3, sp, #0x10 @@ -12959,7 +12959,7 @@ func_ov00_0208433c: ; 0x0208433c stmia r3, {r0, r1, r2} add r1, sp, #4 mov r0, r5 - bl func_ov00_0208340c + bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p add r0, sp, #0x10 add r1, sp, #4 mov r2, r0 @@ -12974,11 +12974,11 @@ func_ov00_0208433c: ; 0x0208433c strh r0, [r4, #2] add sp, sp, #0x1c ldmia sp!, {r4, r5, pc} - arm_func_end func_ov00_0208433c + arm_func_end _ZN10MapManager18func_ov00_0208433cEP5Vec3pi - .global func_ov00_0208439c - arm_func_start func_ov00_0208439c -func_ov00_0208439c: ; 0x0208439c + .global _ZN10MapManager18func_ov00_0208439cEv + arm_func_start _ZN10MapManager18func_ov00_0208439cEv +_ZN10MapManager18func_ov00_0208439cEv: ; 0x0208439c stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r5, r0 @@ -12987,7 +12987,7 @@ func_ov00_0208439c: ; 0x0208439c bl func_ov00_0207f630 add r1, sp, #0 mov r0, r5 - bl func_ov00_0208340c + bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p add r1, sp, #0 mov r0, r4 mov r2, r4 @@ -12995,15 +12995,15 @@ func_ov00_0208439c: ; 0x0208439c mov r0, r5 mov r1, r4 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #4] add sp, sp, #0xc ldmia sp!, {r4, r5, pc} - arm_func_end func_ov00_0208439c + arm_func_end _ZN10MapManager18func_ov00_0208439cEv - .global func_ov00_020843ec - arm_func_start func_ov00_020843ec -func_ov00_020843ec: ; 0x020843ec + .global _ZN10MapManager18func_ov00_020843ecEPi + arm_func_start _ZN10MapManager18func_ov00_020843ecEPi +_ZN10MapManager18func_ov00_020843ecEPi: ; 0x020843ec stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x6c mov r6, r1 @@ -13044,22 +13044,22 @@ _0208442c: str r6, [sp, #0x58] str r6, [sp, #0x4c] str r1, [sp, #0x50] - bl func_ov00_020833c4 + bl _ZN10MapManager18func_ov00_020833c4Ev ldr r1, [sp, #0x54] sub r0, r1, r0 str r0, [sp, #0x54] mov r0, r5 - bl func_ov00_020833d0 + bl _ZN10MapManager18func_ov00_020833d0Ev ldr r1, [sp, #0x5c] sub r0, r1, r0 str r0, [sp, #0x5c] mov r0, r5 - bl func_ov00_020833c4 + bl _ZN10MapManager18func_ov00_020833c4Ev ldr r1, [sp, #0x48] sub r0, r1, r0 str r0, [sp, #0x48] mov r0, r5 - bl func_ov00_020833d0 + bl _ZN10MapManager18func_ov00_020833d0Ev ldr r1, [sp, #0x50] add r2, sp, #0x54 sub r0, r1, r0 @@ -13121,22 +13121,22 @@ _02084574: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r5 - bl func_ov00_020833c4 + bl _ZN10MapManager18func_ov00_020833c4Ev ldr r1, [sp, #0x24] sub r0, r1, r0 str r0, [sp, #0x24] mov r0, r5 - bl func_ov00_020833d0 + bl _ZN10MapManager18func_ov00_020833d0Ev ldr r1, [sp, #0x2c] sub r0, r1, r0 str r0, [sp, #0x2c] mov r0, r5 - bl func_ov00_020833c4 + bl _ZN10MapManager18func_ov00_020833c4Ev ldr r1, [sp, #0x18] sub r0, r1, r0 str r0, [sp, #0x18] mov r0, r5 - bl func_ov00_020833d0 + bl _ZN10MapManager18func_ov00_020833d0Ev ldr r1, [sp, #0x20] add r2, sp, #0x24 sub r0, r1, r0 @@ -13183,19 +13183,19 @@ _02084678: bge _02084630 add sp, sp, #0x6c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} - arm_func_end func_ov00_020843ec + arm_func_end _ZN10MapManager18func_ov00_020843ecEPi - .global func_ov00_02084698 - arm_func_start func_ov00_02084698 -func_ov00_02084698: ; 0x02084698 + .global _ZN10MapManager17GetMapData_Unk_38Ev + arm_func_start _ZN10MapManager17GetMapData_Unk_38Ev +_ZN10MapManager17GetMapData_Unk_38Ev: ; 0x02084698 ldr r0, [r0, #4] ldr r0, [r0, #0x38] bx lr - arm_func_end func_ov00_02084698 + arm_func_end _ZN10MapManager17GetMapData_Unk_38Ev - .global func_ov00_020846a4 - arm_func_start func_ov00_020846a4 -func_ov00_020846a4: ; 0x020846a4 + .global _ZN10MapManager18func_ov00_020846a4Ev + arm_func_start _ZN10MapManager18func_ov00_020846a4Ev +_ZN10MapManager18func_ov00_020846a4Ev: ; 0x020846a4 ldr r1, [r0, #4] ldr r1, [r1, #0x144] ldr r1, [r1, #4] @@ -13224,11 +13224,11 @@ _020846f0: _020846f8: mov r0, r1 bx lr - arm_func_end func_ov00_020846a4 + arm_func_end _ZN10MapManager18func_ov00_020846a4Ev - .global func_ov00_02084700 - arm_func_start func_ov00_02084700 -func_ov00_02084700: ; 0x02084700 + .global _ZN10MapManager18func_ov00_02084700Ev + arm_func_start _ZN10MapManager18func_ov00_02084700Ev +_ZN10MapManager18func_ov00_02084700Ev: ; 0x02084700 ldr r2, [r0, #4] mvn r1, #0 ldr r2, [r2, #0x34] @@ -13246,16 +13246,16 @@ _02084734: mov r0, r2 bx lr .align 2, 0 - arm_func_end func_ov00_02084700 + arm_func_end _ZN10MapManager18func_ov00_02084700Ev _0208473c: .word data_027e0fe4 - .global func_ov00_02084740 - arm_func_start func_ov00_02084740 -func_ov00_02084740: ; 0x02084740 + .global _ZN10MapManager18func_ov00_02084740Ev + arm_func_start _ZN10MapManager18func_ov00_02084740Ev +_ZN10MapManager18func_ov00_02084740Ev: ; 0x02084740 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x1bc mov r5, r0 - bl func_ov00_02084700 + bl _ZN10MapManager18func_ov00_02084700Ev ldr r1, _020847d4 ; =data_027e0d38 mov r4, r0 ldr r0, [r1] @@ -13271,12 +13271,12 @@ func_ov00_02084740: ; 0x02084740 ldr r2, [r0, #8] mov r0, r5 str r2, [sp, #8] - bl func_ov00_02083780 + bl _ZN10MapManager18func_ov00_02083780Ei mov r1, r0 cmp r1, #0 ble _020847a8 mov r0, r5 - bl func_ov00_020847f0 + bl _ZN10MapManager18func_ov00_020847f0Ev mov r4, r0 _020847a8: ldr r5, _020847dc ; =data_ov00_020d88f0 @@ -13292,23 +13292,23 @@ _020847b4: add sp, sp, #0x1bc ldmia sp!, {r4, r5, pc} .align 2, 0 - arm_func_end func_ov00_02084740 + arm_func_end _ZN10MapManager18func_ov00_02084740Ev _020847d4: .word data_027e0d38 _020847d8: .word data_027e0f94 _020847dc: .word data_ov00_020d88f0 - .global func_ov00_020847e0 - arm_func_start func_ov00_020847e0 -func_ov00_020847e0: ; 0x020847e0 + .global _ZN10MapManager18func_ov00_020847e0Ev + arm_func_start _ZN10MapManager18func_ov00_020847e0Ev +_ZN10MapManager18func_ov00_020847e0Ev: ; 0x020847e0 ldr r0, [r0, #4] ldr r0, [r0, #0x144] ldr r0, [r0, #0xc] bx lr - arm_func_end func_ov00_020847e0 + arm_func_end _ZN10MapManager18func_ov00_020847e0Ev - .global func_ov00_020847f0 - arm_func_start func_ov00_020847f0 -func_ov00_020847f0: ; 0x020847f0 + .global _ZN10MapManager18func_ov00_020847f0Ev + arm_func_start _ZN10MapManager18func_ov00_020847f0Ev +_ZN10MapManager18func_ov00_020847f0Ev: ; 0x020847f0 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #4] @@ -13316,7 +13316,7 @@ func_ov00_020847f0: ; 0x020847f0 cmp r0, #0 bne _02084814 mov r0, r4 - bl func_ov00_02084700 + bl _ZN10MapManager18func_ov00_02084700Ev ldmia sp!, {r4, pc} _02084814: ldr r0, [r0, #0xc] @@ -13327,15 +13327,15 @@ _02084814: ldmltia sp!, {r4, pc} _0208482c: mov r0, r4 - bl func_ov00_02084700 + bl _ZN10MapManager18func_ov00_02084700Ev ldmia sp!, {r4, pc} - arm_func_end func_ov00_020847f0 + arm_func_end _ZN10MapManager18func_ov00_020847f0Ev - .global func_ov00_02084838 - arm_func_start func_ov00_02084838 -func_ov00_02084838: ; 0x02084838 + .global _ZN10MapManager18func_ov00_02084838Ev + arm_func_start _ZN10MapManager18func_ov00_02084838Ev +_ZN10MapManager18func_ov00_02084838Ev: ; 0x02084838 stmdb sp!, {r3, lr} - bl func_ov00_02084698 + bl _ZN10MapManager17GetMapData_Unk_38Ev cmp r0, #0x16 addls pc, pc, r0, lsl #2 b _020848b0 @@ -13369,13 +13369,13 @@ _020848a8: _020848b0: mov r0, #0 ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084838 + arm_func_end _ZN10MapManager18func_ov00_02084838Ev - .global func_ov00_020848b8 - arm_func_start func_ov00_020848b8 -func_ov00_020848b8: ; 0x020848b8 + .global _ZN10MapManager18func_ov00_020848b8Ev + arm_func_start _ZN10MapManager18func_ov00_020848b8Ev +_ZN10MapManager18func_ov00_020848b8Ev: ; 0x020848b8 stmdb sp!, {r3, lr} - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #0x11 addls pc, pc, r0, lsl #2 b _0208491c @@ -13404,31 +13404,31 @@ _02084914: _0208491c: mov r0, #0 ldmia sp!, {r3, pc} - arm_func_end func_ov00_020848b8 + arm_func_end _ZN10MapManager18func_ov00_020848b8Ev - .global func_ov00_02084924 - arm_func_start func_ov00_02084924 -func_ov00_02084924: ; 0x02084924 + .global _ZN10MapManager18func_ov00_02084924Ej + arm_func_start _ZN10MapManager18func_ov00_02084924Ej +_ZN10MapManager18func_ov00_02084924Ej: ; 0x02084924 ldr ip, _02084930 ; =func_ov00_0208008c ldr r0, [r0, #4] bx ip .align 2, 0 - arm_func_end func_ov00_02084924 + arm_func_end _ZN10MapManager18func_ov00_02084924Ej _02084930: .word func_ov00_0208008c - .global func_ov00_02084934 - arm_func_start func_ov00_02084934 -func_ov00_02084934: ; 0x02084934 + .global _ZN10MapManager18func_ov00_02084934Ev + arm_func_start _ZN10MapManager18func_ov00_02084934Ev +_ZN10MapManager18func_ov00_02084934Ev: ; 0x02084934 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc mov r6, r1 mov r7, r0 - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldr r1, [r6, #8] ldr r4, [r6, #4] sub r5, r1, r0 mov r0, r7 - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev ldr r2, [r6] add r1, sp, #0 sub r0, r2, r0 @@ -13439,41 +13439,41 @@ func_ov00_02084934: ; 0x02084934 bl func_ov00_0207f7e8 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} - arm_func_end func_ov00_02084934 + arm_func_end _ZN10MapManager18func_ov00_02084934Ev - .global func_ov00_02084984 - arm_func_start func_ov00_02084984 -func_ov00_02084984: ; 0x02084984 + .global _ZN10MapManager17GetMapData_Unk_06Ev + arm_func_start _ZN10MapManager17GetMapData_Unk_06Ev +_ZN10MapManager17GetMapData_Unk_06Ev: ; 0x02084984 ldr r0, [r0, #4] ldrb r0, [r0, #6] bx lr - arm_func_end func_ov00_02084984 + arm_func_end _ZN10MapManager17GetMapData_Unk_06Ev - .global func_ov00_02084990 - arm_func_start func_ov00_02084990 -func_ov00_02084990: ; 0x02084990 + .global _ZN10MapManager17GetMapData_Unk_07Ev + arm_func_start _ZN10MapManager17GetMapData_Unk_07Ev +_ZN10MapManager17GetMapData_Unk_07Ev: ; 0x02084990 ldr r0, [r0, #4] ldrb r0, [r0, #7] bx lr - arm_func_end func_ov00_02084990 + arm_func_end _ZN10MapManager17GetMapData_Unk_07Ev - .global func_ov00_0208499c - arm_func_start func_ov00_0208499c -func_ov00_0208499c: ; 0x0208499c + .global _ZN10MapManager18func_ov00_0208499cEv + arm_func_start _ZN10MapManager18func_ov00_0208499cEv +_ZN10MapManager18func_ov00_0208499cEv: ; 0x0208499c stmdb sp!, {r4, lr} mov r4, r0 - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} ldr r0, [r4] bl func_ov00_0207d47c ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208499c + arm_func_end _ZN10MapManager18func_ov00_0208499cEv - .global func_ov00_020849c0 - arm_func_start func_ov00_020849c0 -func_ov00_020849c0: ; 0x020849c0 + .global _ZN10MapManager18func_ov00_020849c0Ev + arm_func_start _ZN10MapManager18func_ov00_020849c0Ev +_ZN10MapManager18func_ov00_020849c0Ev: ; 0x020849c0 ldr r1, [r0] mvn r0, #1 ldr r1, [r1, #8] @@ -13481,11 +13481,11 @@ func_ov00_020849c0: ; 0x020849c0 moveq r0, #1 movne r0, #0 bx lr - arm_func_end func_ov00_020849c0 + arm_func_end _ZN10MapManager18func_ov00_020849c0Ev - .global func_ov00_020849dc - arm_func_start func_ov00_020849dc -func_ov00_020849dc: ; 0x020849dc + .global _ZN10MapManager18func_ov00_020849dcEv + arm_func_start _ZN10MapManager18func_ov00_020849dcEv +_ZN10MapManager18func_ov00_020849dcEv: ; 0x020849dc ldr r1, [r0] mvn r0, #2 ldr r1, [r1, #8] @@ -13493,11 +13493,11 @@ func_ov00_020849dc: ; 0x020849dc moveq r0, #1 movne r0, #0 bx lr - arm_func_end func_ov00_020849dc + arm_func_end _ZN10MapManager18func_ov00_020849dcEv - .global func_ov00_020849f8 - arm_func_start func_ov00_020849f8 -func_ov00_020849f8: ; 0x020849f8 + .global _ZN10MapManager18func_ov00_020849f8Ei + arm_func_start _ZN10MapManager18func_ov00_020849f8Ei +_ZN10MapManager18func_ov00_020849f8Ei: ; 0x020849f8 stmdb sp!, {r4, lr} ldr r1, _02084a4c ; =data_027e0d38 mov r4, r0 @@ -13510,11 +13510,11 @@ func_ov00_020849f8: ; 0x020849f8 ldmia sp!, {r4, pc} _02084a20: mov r0, r4 - bl func_ov00_02084984 + bl _ZN10MapManager17GetMapData_Unk_06Ev cmp r0, #0 beq _02084a44 mov r0, r4 - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} @@ -13522,20 +13522,20 @@ _02084a44: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 - arm_func_end func_ov00_020849f8 + arm_func_end _ZN10MapManager18func_ov00_020849f8Ei _02084a4c: .word data_027e0d38 - .global func_ov00_02084a50 - arm_func_start func_ov00_02084a50 -func_ov00_02084a50: ; 0x02084a50 + .global _ZN10MapManager18func_ov00_02084a50Ev + arm_func_start _ZN10MapManager18func_ov00_02084a50Ev +_ZN10MapManager18func_ov00_02084a50Ev: ; 0x02084a50 ldr r0, [r0, #4] ldrb r0, [r0, #0x11] bx lr - arm_func_end func_ov00_02084a50 + arm_func_end _ZN10MapManager18func_ov00_02084a50Ev - .global func_ov00_02084a5c - arm_func_start func_ov00_02084a5c -func_ov00_02084a5c: ; 0x02084a5c + .global _ZN10MapManager8SpawnNPCEP5Vec3pii + arm_func_start _ZN10MapManager8SpawnNPCEP5Vec3pii +_ZN10MapManager8SpawnNPCEP5Vec3pii: ; 0x02084a5c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x30 add r0, sp, #4 @@ -13561,13 +13561,13 @@ func_ov00_02084a5c: ; 0x02084a5c add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 - arm_func_end func_ov00_02084a5c + arm_func_end _ZN10MapManager8SpawnNPCEP5Vec3pii _02084abc: .word data_027e0fe8 _02084ac0: .word 0x45564943 - .global func_ov00_02084ac4 - arm_func_start func_ov00_02084ac4 -func_ov00_02084ac4: ; 0x02084ac4 + .global _ZN10MapManager18func_ov00_02084ac4Ej + arm_func_start _ZN10MapManager18func_ov00_02084ac4Ej +_ZN10MapManager18func_ov00_02084ac4Ej: ; 0x02084ac4 stmdb sp!, {r3, lr} ldr r0, _02084b00 ; =data_027e0fe4 ldr r0, [r0] @@ -13584,45 +13584,45 @@ func_ov00_02084ac4: ; 0x02084ac4 moveq r0, #1 ldmia sp!, {r3, pc} .align 2, 0 - arm_func_end func_ov00_02084ac4 + arm_func_end _ZN10MapManager18func_ov00_02084ac4Ej _02084b00: .word data_027e0fe4 _02084b04: .word 0x45564943 - .global func_ov00_02084b08 - arm_func_start func_ov00_02084b08 -func_ov00_02084b08: ; 0x02084b08 + .global _ZN10MapManager10SetNumKeysEi + arm_func_start _ZN10MapManager10SetNumKeysEi +_ZN10MapManager10SetNumKeysEi: ; 0x02084b08 ldr r0, [r0] str r1, [r0, #0x260] bx lr - arm_func_end func_ov00_02084b08 + arm_func_end _ZN10MapManager10SetNumKeysEi - .global func_ov00_02084b14 - arm_func_start func_ov00_02084b14 -func_ov00_02084b14: ; 0x02084b14 + .global _ZN10MapManager10GetNumKeysEv + arm_func_start _ZN10MapManager10GetNumKeysEv +_ZN10MapManager10GetNumKeysEv: ; 0x02084b14 ldr r0, [r0] ldr r0, [r0, #0x260] bx lr - arm_func_end func_ov00_02084b14 + arm_func_end _ZN10MapManager10GetNumKeysEv - .global func_ov00_02084b20 - arm_func_start func_ov00_02084b20 -func_ov00_02084b20: ; 0x02084b20 + .global _ZN10MapManager21SetCourseData_Unk_25cEc + arm_func_start _ZN10MapManager21SetCourseData_Unk_25cEc +_ZN10MapManager21SetCourseData_Unk_25cEc: ; 0x02084b20 ldr r0, [r0] strb r1, [r0, #0x25d] bx lr - arm_func_end func_ov00_02084b20 + arm_func_end _ZN10MapManager21SetCourseData_Unk_25cEc - .global func_ov00_02084b2c - arm_func_start func_ov00_02084b2c -func_ov00_02084b2c: ; 0x02084b2c + .global _ZN10MapManager21GetCourseData_Unk_25dEv + arm_func_start _ZN10MapManager21GetCourseData_Unk_25dEv +_ZN10MapManager21GetCourseData_Unk_25dEv: ; 0x02084b2c ldr r0, [r0] ldrb r0, [r0, #0x25d] bx lr - arm_func_end func_ov00_02084b2c + arm_func_end _ZN10MapManager21GetCourseData_Unk_25dEv - .global func_ov00_02084b38 - arm_func_start func_ov00_02084b38 -func_ov00_02084b38: ; 0x02084b38 + .global _ZN10MapManager18func_ov00_02084b38Eiii + arm_func_start _ZN10MapManager18func_ov00_02084b38Eiii +_ZN10MapManager18func_ov00_02084b38Eiii: ; 0x02084b38 stmdb sp!, {r3, lr} cmp r1, #0 ldmeqia sp!, {r3, pc} @@ -13671,11 +13671,11 @@ _02084bd0: mov r2, r3 bl func_ov00_0207d848 ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084b38 + arm_func_end _ZN10MapManager18func_ov00_02084b38Eiii - .global func_ov00_02084be0 - arm_func_start func_ov00_02084be0 -func_ov00_02084be0: ; 0x02084be0 + .global _ZN10MapManager18func_ov00_02084be0Eii + arm_func_start _ZN10MapManager18func_ov00_02084be0Eii +_ZN10MapManager18func_ov00_02084be0Eii: ; 0x02084be0 stmdb sp!, {r3, lr} cmp r1, #0 moveq r0, #0 @@ -13713,42 +13713,42 @@ _02084c48: _02084c54: mov r0, #0 ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084be0 + arm_func_end _ZN10MapManager18func_ov00_02084be0Eii - .global func_ov00_02084c5c - arm_func_start func_ov00_02084c5c -func_ov00_02084c5c: ; 0x02084c5c + .global _ZN10MapManager18func_ov00_02084c5cEii + arm_func_start _ZN10MapManager18func_ov00_02084c5cEii +_ZN10MapManager18func_ov00_02084c5cEii: ; 0x02084c5c ldr ip, _02084c68 ; =func_ov00_0207d8ec ldr r0, [r0] bx ip .align 2, 0 - arm_func_end func_ov00_02084c5c + arm_func_end _ZN10MapManager18func_ov00_02084c5cEii _02084c68: .word func_ov00_0207d8ec - .global func_ov00_02084c6c - arm_func_start func_ov00_02084c6c -func_ov00_02084c6c: ; 0x02084c6c + .global _ZN10MapManager18func_ov00_02084c6cEi + arm_func_start _ZN10MapManager18func_ov00_02084c6cEi +_ZN10MapManager18func_ov00_02084c6cEi: ; 0x02084c6c ldr ip, _02084c78 ; =func_ov00_0207d90c ldr r0, [r0] bx ip .align 2, 0 - arm_func_end func_ov00_02084c6c + arm_func_end _ZN10MapManager18func_ov00_02084c6cEi _02084c78: .word func_ov00_0207d90c - .global func_ov00_02084c7c - arm_func_start func_ov00_02084c7c -func_ov00_02084c7c: ; 0x02084c7c + .global _ZN10MapManager18func_ov00_02084c7cEi + arm_func_start _ZN10MapManager18func_ov00_02084c7cEi +_ZN10MapManager18func_ov00_02084c7cEi: ; 0x02084c7c stmdb sp!, {r3, lr} cmp r1, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] bl func_ov00_0207d924 ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084c7c + arm_func_end _ZN10MapManager18func_ov00_02084c7cEi - .global func_ov00_02084c94 - arm_func_start func_ov00_02084c94 -func_ov00_02084c94: ; 0x02084c94 + .global _ZN10MapManager18func_ov00_02084c94Ei + arm_func_start _ZN10MapManager18func_ov00_02084c94Ei +_ZN10MapManager18func_ov00_02084c94Ei: ; 0x02084c94 stmdb sp!, {r3, lr} cmp r1, #0 movlt r0, #0 @@ -13756,22 +13756,22 @@ func_ov00_02084c94: ; 0x02084c94 ldr r0, [r0] bl func_ov00_0207d944 ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084c94 + arm_func_end _ZN10MapManager18func_ov00_02084c94Ei - .global func_ov00_02084cb0 - arm_func_start func_ov00_02084cb0 -func_ov00_02084cb0: ; 0x02084cb0 + .global _ZN10MapManager18func_ov00_02084cb0Ei + arm_func_start _ZN10MapManager18func_ov00_02084cb0Ei +_ZN10MapManager18func_ov00_02084cb0Ei: ; 0x02084cb0 stmdb sp!, {r3, lr} cmp r1, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] bl func_ov00_0207d95c ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084cb0 + arm_func_end _ZN10MapManager18func_ov00_02084cb0Ei - .global func_ov00_02084cc8 - arm_func_start func_ov00_02084cc8 -func_ov00_02084cc8: ; 0x02084cc8 + .global _ZN10MapManager18func_ov00_02084cc8Ei + arm_func_start _ZN10MapManager18func_ov00_02084cc8Ei +_ZN10MapManager18func_ov00_02084cc8Ei: ; 0x02084cc8 stmdb sp!, {r3, lr} cmp r1, #0 movlt r0, #0 @@ -13779,22 +13779,22 @@ func_ov00_02084cc8: ; 0x02084cc8 ldr r0, [r0] bl func_ov00_0207d97c ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084cc8 + arm_func_end _ZN10MapManager18func_ov00_02084cc8Ei - .global func_ov00_02084ce4 - arm_func_start func_ov00_02084ce4 -func_ov00_02084ce4: ; 0x02084ce4 + .global _ZN10MapManager18func_ov00_02084ce4Ei + arm_func_start _ZN10MapManager18func_ov00_02084ce4Ei +_ZN10MapManager18func_ov00_02084ce4Ei: ; 0x02084ce4 stmdb sp!, {r3, lr} cmp r1, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] bl func_ov00_0207d994 ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084ce4 + arm_func_end _ZN10MapManager18func_ov00_02084ce4Ei - .global func_ov00_02084cfc - arm_func_start func_ov00_02084cfc -func_ov00_02084cfc: ; 0x02084cfc + .global _ZN10MapManager18func_ov00_02084cfcEi + arm_func_start _ZN10MapManager18func_ov00_02084cfcEi +_ZN10MapManager18func_ov00_02084cfcEi: ; 0x02084cfc stmdb sp!, {r3, lr} cmp r1, #0 movlt r0, #0 @@ -13802,19 +13802,19 @@ func_ov00_02084cfc: ; 0x02084cfc ldr r0, [r0] bl func_ov00_0207d9b4 ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084cfc + arm_func_end _ZN10MapManager18func_ov00_02084cfcEi - .global func_ov00_02084d18 - arm_func_start func_ov00_02084d18 -func_ov00_02084d18: ; 0x02084d18 + .global _ZN10MapManager17GetMapData_Unk_09Ev + arm_func_start _ZN10MapManager17GetMapData_Unk_09Ev +_ZN10MapManager17GetMapData_Unk_09Ev: ; 0x02084d18 ldr r0, [r0, #4] ldrb r0, [r0, #9] bx lr - arm_func_end func_ov00_02084d18 + arm_func_end _ZN10MapManager17GetMapData_Unk_09Ev - .global func_ov00_02084d24 - arm_func_start func_ov00_02084d24 -func_ov00_02084d24: ; 0x02084d24 + .global _ZN10MapManager18func_ov00_02084d24Ecci + arm_func_start _ZN10MapManager18func_ov00_02084d24Ecci +_ZN10MapManager18func_ov00_02084d24Ecci: ; 0x02084d24 stmdb sp!, {r3, lr} strb r1, [sp] strb r2, [sp, #1] @@ -13825,11 +13825,11 @@ func_ov00_02084d24: ; 0x02084d24 ldr ip, [ip, #0x90] blx ip ldmia sp!, {r3, pc} - arm_func_end func_ov00_02084d24 + arm_func_end _ZN10MapManager18func_ov00_02084d24Ecci - .global func_ov00_02084d4c - arm_func_start func_ov00_02084d4c -func_ov00_02084d4c: ; 0x02084d4c + .global _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p + arm_func_start _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p +_ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p: ; 0x02084d4c stmdb sp!, {r4, lr} sub sp, sp, #0x38 add r4, sp, #0x20 @@ -13917,7 +13917,7 @@ _02084de4: add sp, sp, #0x38 ldmia sp!, {r4, pc} .align 2, 0 - arm_func_end func_ov00_02084d4c + arm_func_end _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p _02084ea0: .word data_027e0f64 _02084ea4: .word data_ov00_020ec964 _02084ea8: .word data_ov00_020e2510 @@ -13926,9 +13926,9 @@ _02084eb0: .word func_ov00_0207e968 _02084eb4: .word data_ov00_020ec9c8 _02084eb8: .word 0x0000019a - .global func_ov00_02084ebc - arm_func_start func_ov00_02084ebc -func_ov00_02084ebc: ; 0x02084ebc + .global _ZN10MapManager18func_ov00_02084ebcEi + arm_func_start _ZN10MapManager18func_ov00_02084ebcEi +_ZN10MapManager18func_ov00_02084ebcEi: ; 0x02084ebc stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r6, r0 @@ -13936,10 +13936,10 @@ func_ov00_02084ebc: ; 0x02084ebc add r0, sp, #0 mov r1, r6 mov r2, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r6 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 beq _02084f50 ldr r1, [r0] @@ -13972,14 +13972,14 @@ _02084f44: _02084f50: add r1, sp, #0 mov r0, r6 - bl func_ov00_02083e70 + bl _ZN10MapManager18func_ov00_02083e70Ev cmp r0, #0 addne sp, sp, #8 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} add r1, sp, #0 mov r0, r6 - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x46 bgt _0208504c bge _0208506c @@ -14062,7 +14062,7 @@ _02085078: ldmneia sp!, {r4, r5, r6, pc} mov r0, r6 mov r1, r5 - bl func_ov00_02083f98 + bl _ZN10MapManager16MapData_vfunc_70Ev ldr r1, _02085100 ; =0x0000ffff mov r2, r0 cmp r2, r1 @@ -14086,13 +14086,13 @@ _020850f4: add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 - arm_func_end func_ov00_02084ebc + arm_func_end _ZN10MapManager18func_ov00_02084ebcEi _02085100: .word 0x0000ffff _02085104: .word data_027e0f6c - .global func_ov00_02085108 - arm_func_start func_ov00_02085108 -func_ov00_02085108: ; 0x02085108 + .global _ZN10MapManager18func_ov00_02085108EPi + arm_func_start _ZN10MapManager18func_ov00_02085108EPi +_ZN10MapManager18func_ov00_02085108EPi: ; 0x02085108 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x2c ldr r0, _02085274 ; =data_027e0f64 @@ -14138,7 +14138,7 @@ _020851a4: add r1, sp, #0x14 strb r5, [sp, #0x14] strb r6, [sp, #0x15] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 beq _02085244 ldr r1, [r4, #4] @@ -14190,13 +14190,13 @@ _02085268: add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 - arm_func_end func_ov00_02085108 + arm_func_end _ZN10MapManager18func_ov00_02085108EPi _02085274: .word data_027e0f64 _02085278: .word data_027e0e60 - .global func_ov00_0208527c - arm_func_start func_ov00_0208527c -func_ov00_0208527c: ; 0x0208527c + .global _ZN10MapManager18func_ov00_0208527cEv + arm_func_start _ZN10MapManager18func_ov00_0208527cEv +_ZN10MapManager18func_ov00_0208527cEv: ; 0x0208527c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x2c ldr r3, _020853f4 ; =data_027e0f64 @@ -14227,10 +14227,10 @@ func_ov00_0208527c: ; 0x0208527c ldrb r9, [sp, #0x13] str r0, [sp, #4] mov r0, r4 - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev mov r5, r0 mov r0, r4 - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv cmp r11, #0 ldr r1, [sp, #8] movle r11, #0 @@ -14263,7 +14263,7 @@ _0208536c: mov r1, r6 strb r7, [sp, #0x10] strb r8, [sp, #0x11] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _020853cc ldr r1, [r5, #4] @@ -14297,13 +14297,13 @@ _020853e8: add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 - arm_func_end func_ov00_0208527c + arm_func_end _ZN10MapManager18func_ov00_0208527cEv _020853f4: .word data_027e0f64 _020853f8: .word data_027e0e60 - .global func_ov00_020853fc - arm_func_start func_ov00_020853fc -func_ov00_020853fc: ; 0x020853fc + .global _ZN10MapManager18func_ov00_020853fcEv + arm_func_start _ZN10MapManager18func_ov00_020853fcEv +_ZN10MapManager18func_ov00_020853fcEv: ; 0x020853fc stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x2c ldr r3, _0208558c ; =data_027e0f64 @@ -14335,10 +14335,10 @@ func_ov00_020853fc: ; 0x020853fc ldrb r8, [sp, #0x13] str r0, [sp] mov r0, r5 - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev mov r4, r0 mov r0, r5 - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r11, #0 ldr r1, [sp, #8] str r11, [sp, #0x24] @@ -14375,7 +14375,7 @@ _020854fc: ldr r0, [r0] strb r6, [sp, #0x10] strb r7, [sp, #0x11] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _0208555c ldr r0, [r5, #4] @@ -14410,13 +14410,13 @@ _02085580: add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 - arm_func_end func_ov00_020853fc + arm_func_end _ZN10MapManager18func_ov00_020853fcEv _0208558c: .word data_027e0f64 _02085590: .word data_027e0e60 - .global func_ov00_02085594 - arm_func_start func_ov00_02085594 -func_ov00_02085594: ; 0x02085594 + .global _ZN10MapManager18func_ov00_02085594Ev + arm_func_start _ZN10MapManager18func_ov00_02085594Ev +_ZN10MapManager18func_ov00_02085594Ev: ; 0x02085594 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x14 mov r7, r0 @@ -14424,10 +14424,10 @@ func_ov00_02085594: ; 0x02085594 add r0, sp, #0 mov r1, r7 mov r2, r6 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r7 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 mov r5, #1 beq _02085670 @@ -14482,7 +14482,7 @@ _02085670: ldrb r1, [sp] ldrb r2, [sp, #1] mov r0, r7 - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci cmp r0, #0x46 bgt _02085754 bge _02085774 @@ -14571,10 +14571,10 @@ _02085780: strb r0, [r3, #1] ldr r2, [r3] mov r0, r7 - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi add r1, sp, #8 mov r0, r7 - bl func_ov00_02083f98 + bl _ZN10MapManager16MapData_vfunc_70Ev ldr r1, _02085834 ; =0x0000ffff mov r2, r0 cmp r2, r1 @@ -14600,13 +14600,13 @@ _02085828: add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 - arm_func_end func_ov00_02085594 + arm_func_end _ZN10MapManager18func_ov00_02085594Ev _02085834: .word 0x0000ffff _02085838: .word data_027e0f6c - .global func_ov00_0208583c - arm_func_start func_ov00_0208583c -func_ov00_0208583c: ; 0x0208583c + .global _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi + arm_func_start _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi +_ZN10MapManager18func_ov00_0208583cEiP5Vec3pi: ; 0x0208583c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r3, r1 @@ -14614,10 +14614,10 @@ func_ov00_0208583c: ; 0x0208583c add r0, sp, #0 mov r1, r5 mov r2, r3 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r5 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 mvneq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} @@ -14636,12 +14636,12 @@ func_ov00_0208583c: ; 0x0208583c blx r2 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 - arm_func_end func_ov00_0208583c + arm_func_end _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi _020858ac: .word data_027e077c - .global func_ov00_020858b0 - arm_func_start func_ov00_020858b0 -func_ov00_020858b0: ; 0x020858b0 + .global _ZN10MapManager18func_ov00_020858b0Ev + arm_func_start _ZN10MapManager18func_ov00_020858b0Ev +_ZN10MapManager18func_ov00_020858b0Ev: ; 0x020858b0 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x1c mov r9, r2 @@ -14663,17 +14663,17 @@ _020858e4: bl func_ov00_02088000 _020858f8: mov r0, r10 - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #0x10] mov r0, r10 - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv str r0, [sp, #0xc] mvn r3, #0 add r0, sp, #0x18 mov r1, r10 mov r2, r11 str r3, [sp, #8] - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r3, [sp, #0x18] ldrb r2, [sp, #0x19] ldr r1, _02085a30 ; =data_027e0f94 @@ -14707,7 +14707,7 @@ _02085980: add r1, sp, #0x16 strb r4, [sp, #0x16] strb r8, [sp, #0x17] - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev subs r0, r0, r5 rsbmi r0, r0, #0 cmp r0, #0xcd @@ -14716,7 +14716,7 @@ _02085980: add r1, sp, #0x14 strb r4, [sp, #0x14] strb r8, [sp, #0x15] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _02085a04 ldrb r1, [sp, #0x18] @@ -14745,13 +14745,13 @@ _02085a20: add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 - arm_func_end func_ov00_020858b0 + arm_func_end _ZN10MapManager18func_ov00_020858b0Ev _02085a2c: .word data_027e0f64 _02085a30: .word data_027e0f94 - .global func_ov00_02085a34 - arm_func_start func_ov00_02085a34 -func_ov00_02085a34: ; 0x02085a34 + .global _ZN10MapManager18func_ov00_02085a34Eii + arm_func_start _ZN10MapManager18func_ov00_02085a34Eii +_ZN10MapManager18func_ov00_02085a34Eii: ; 0x02085a34 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x20 mov r4, r2 @@ -14767,17 +14767,17 @@ _02085a60: add r0, sp, #8 mov r1, r5 mov r2, r6 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r0, r5 mov r1, r6 - bl func_ov00_02084ebc + bl _ZN10MapManager18func_ov00_02084ebcEi cmp r0, #0 addeq sp, sp, #0x20 mvneq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} add r1, sp, #8 mov r0, r5 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r6, r0 beq _02085b24 ldr r1, [r0] @@ -14804,7 +14804,7 @@ _02085ae0: bic r2, r1, #1 mov r1, r6 str r2, [r6, #4] - bl func_ov00_020828f8 + bl _ZN10MapManager18func_ov00_020828f8EPi b _02085b24 _02085afc: mov r0, r6 @@ -14849,14 +14849,14 @@ _02085b68: mov r0, r5 mov r1, #0x42 str r4, [sp] - bl func_ov00_020828c0 + bl _ZN10MapManager16MapData_vfunc_7cEv cmp r0, #0 addeq sp, sp, #0x20 mvneq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} add r1, sp, #8 mov r0, r5 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _02085bd0 ldrsh r0, [r0, #0xe] @@ -14872,10 +14872,10 @@ _02085bdc: add r0, sp, #6 mov r1, r5 mov r2, r6 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #6 mov r0, r5 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r6, r0 addeq sp, sp, #0x20 mvneq r0, #0 @@ -14904,11 +14904,11 @@ _02085c54: mvn r0, #0 add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02085a34 + arm_func_end _ZN10MapManager18func_ov00_02085a34Eii - .global func_ov00_02085c60 - arm_func_start func_ov00_02085c60 -func_ov00_02085c60: ; 0x02085c60 + .global _ZN10MapManager18func_ov00_02085c60Eiiii + arm_func_start _ZN10MapManager18func_ov00_02085c60Eiiii +_ZN10MapManager18func_ov00_02085c60Eiiii: ; 0x02085c60 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xfc ldr r11, [sp, #0x120] @@ -15162,13 +15162,13 @@ _02085fb8: add sp, sp, #0xfc ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 - arm_func_end func_ov00_02085c60 + arm_func_end _ZN10MapManager18func_ov00_02085c60Eiiii _0208603c: .word data_027e0d3c _02086040: .word 0x0000ffff - .global func_ov00_02086044 - arm_func_start func_ov00_02086044 -func_ov00_02086044: ; 0x02086044 + .global _ZN10MapManager18func_ov00_02086044Eiii + arm_func_start _ZN10MapManager18func_ov00_02086044Eiii +_ZN10MapManager18func_ov00_02086044Eiii: ; 0x02086044 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xb0 add r5, sp, #0x98 @@ -15193,19 +15193,19 @@ func_ov00_02086044: ; 0x02086044 bl func_ov00_0208ee00 ldr r1, [sp, #0x98] mov r0, r10 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev mov r6, r0 ldr r1, [sp, #0xa0] mov r0, r10 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev str r0, [sp, #0xc] ldr r1, [sp, #0xa4] mov r0, r10 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev str r0, [sp, #8] ldr r1, [sp, #0xac] mov r0, r10 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev mov r11, r0 add r5, sp, #0x8c ldmia r9, {r0, r1, r2} @@ -15223,15 +15223,15 @@ func_ov00_02086044: ; 0x02086044 bl func_01ff9bf8 ldr r1, [r9] mov r0, r10 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev mov r4, r0 ldr r1, [r9, #8] mov r0, r10 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev mov r2, r0 mov r1, r4 mov r0, r10 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [sp, #4] ldr r0, [sp, #8] cmp r6, r0 @@ -15246,7 +15246,7 @@ _02086164: mov r0, r10 mov r1, r6 mov r2, r7 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci ldr r1, [sp, #4] cmp r0, r1 ble _020861ec @@ -15256,7 +15256,7 @@ _02086164: add r2, sp, #0x68 strb r5, [sp, #0x12] strb r7, [sp, #0x13] - bl func_ov00_02084024 + bl _ZN10MapManager18func_ov00_02084024EiP4AABB ldr r0, [sp] mov r1, r9 add r2, sp, #0x5c @@ -15282,7 +15282,7 @@ _020861ec: add r1, sp, #0x10 strb r5, [sp, #0x10] strb r7, [sp, #0x11] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 beq _02086258 ldr r1, [r0] @@ -15319,12 +15319,12 @@ _02086274: add sp, sp, #0xb0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 - arm_func_end func_ov00_02086044 + arm_func_end _ZN10MapManager18func_ov00_02086044Eiii _02086280: .word data_027e0e60 - .global func_ov00_02086284 - arm_func_start func_ov00_02086284 -func_ov00_02086284: ; 0x02086284 + .global _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ + arm_func_start _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ +_ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_: ; 0x02086284 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x15c mov r9, r1 @@ -15862,11 +15862,11 @@ _02086a78: mov r0, #0 add sp, sp, #0x15c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} - arm_func_end func_ov00_02086284 + arm_func_end _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ - .global func_ov00_02086a84 - arm_func_start func_ov00_02086a84 -func_ov00_02086a84: ; 0x02086a84 + .global _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ + arm_func_start _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ +_ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_: ; 0x02086a84 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x84 mov r8, r2 @@ -16021,7 +16021,7 @@ _02086cc4: mov r0, #0 add sp, sp, #0x84 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} - arm_func_end func_ov00_02086a84 + arm_func_end _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ .global func_ov00_02086cd0 arm_func_start func_ov00_02086cd0 @@ -16469,7 +16469,7 @@ _0208729c: ldrb r2, [r5, #0x1b8] ldr r0, [r0] add r1, sp, #0 - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci mov r3, #0 add r1, sp, #0 mov r0, r5 @@ -16806,7 +16806,7 @@ _02087724: ldrb r2, [r7, #0x1b8] ldr r0, [r0] add r1, sp, #0x6c - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci ldr r3, [r7, #0x260] ldr r0, [r7, #0x264] ldr r2, [r7, #0x268] @@ -16916,7 +16916,7 @@ _020878b8: ldrb r2, [r7, #0x1b8] ldr r0, [r0] add r1, sp, #0x6c - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci ldr r3, [r7, #0x260] ldr r0, [r7, #0x264] ldr r2, [r7, #0x268] @@ -17352,7 +17352,7 @@ func_ov00_02087e8c: ; 0x02087e8c ldr r0, _02087eec ; =data_027e0e60 mov r1, #0 ldr r0, [r0] - bl func_ov00_02083938 + bl _ZN10MapManager18func_ov00_02083938Ei sub r0, r0, #0x11 cmp r0, #0xa addls pc, pc, r0, lsl #2 @@ -17499,7 +17499,7 @@ func_ov00_02088010: ; 0x02088010 mov r5, r0 ldr r0, [r2] mov r4, r1 - bl func_ov00_02084934 + bl _ZN10MapManager18func_ov00_02084934Ev cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 @@ -18689,7 +18689,7 @@ func_ov00_02089068: ; 0x02089068 ldr r0, [r3] mov r4, r2 add r2, sp, #0x30 - bl func_ov00_02083968 + bl _ZN10MapManager18func_ov00_02083968EjPc cmp r0, #0 addeq sp, sp, #0x4c moveq r0, #0 @@ -18720,7 +18720,7 @@ _020890ec: ldr r0, _02089164 ; =data_027e0e60 add r1, sp, #0xc ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p add r0, sp, #0x34 add r1, sp, #0xc add r2, sp, #0x24 @@ -19314,7 +19314,7 @@ _02089910: ldrb r2, [r9, #0x1b8] ldr r0, [r0] add r1, sp, #0x20 - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci ldr r0, [sp, #0x20] bl func_ov00_02087d84 add r8, sp, #0x60 @@ -20156,7 +20156,7 @@ _0208a4d0: ldr r1, _0208a844 ; =data_027e0e60 add r0, sp, #0x18 ldr r1, [r1] - bl func_ov00_02084100 + bl _ZN10MapManager18func_ov00_02084100EiPS_ ldrsh r2, [r6, #4] add r1, r6, #0x260 mov r0, #0 @@ -20327,26 +20327,26 @@ _0208a4d0: _0208a77c: ldr r0, _0208a844 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldr r1, _0208a844 ; =data_027e0e60 mov r4, r0 ldr r0, [r1] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv ldr r1, _0208a844 ; =data_027e0e60 mov r5, r0 ldr r0, [r1] ldr r1, [r6, #0x308] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev strb r0, [r6, #0x320] ldr r0, _0208a844 ; =data_027e0e60 ldr r1, [r6, #0x310] ldr r0, [r0] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev strb r0, [r6, #0x321] ldr r0, _0208a844 ; =data_027e0e60 ldr r1, [r6, #0x314] ldr r0, [r0] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev and r1, r0, #0xff add r0, r1, #2 strb r0, [r6, #0x322] @@ -20361,7 +20361,7 @@ _0208a77c: ldr r0, _0208a844 ; =data_027e0e60 ldr r1, [r6, #0x31c] ldr r0, [r0] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev and r1, r0, #0xff add r0, r1, #1 strb r0, [r6, #0x323] @@ -20930,7 +20930,7 @@ _0208af04: ldr r0, _0208b114 ; =data_027e0e60 add r1, sp, #0x18 ldr r0, [r0] - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci ldr r0, [sp, #0x18] cmp r0, #0x31 bne _0208b0dc @@ -21873,14 +21873,14 @@ func_ov00_0208b9e4: ; 0x0208b9e4 add r2, r0, r1 ldr r0, _0208ba00 ; =data_027e0e60 ldrb r1, [r2, #0x2e] - ldr ip, _0208ba04 ; =func_ov00_02084be0 + ldr ip, _0208ba04 ; =_ZN10MapManager18func_ov00_02084be0Eii ldrb r2, [r2, #0x2c] ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov00_0208b9e4 _0208ba00: .word data_027e0e60 -_0208ba04: .word func_ov00_02084be0 +_0208ba04: .word _ZN10MapManager18func_ov00_02084be0Eii .global func_ov00_0208ba08 arm_func_start func_ov00_0208ba08 @@ -21892,7 +21892,7 @@ func_ov00_0208ba08: ; 0x0208ba08 ldrb r1, [ip, #0x2e] ldrb r2, [ip, #0x2c] ldr r0, [r0] - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov00_0208ba08 @@ -23419,7 +23419,7 @@ _0208cd78: ldr r0, [r0] mov r1, r5 mov r3, #0x40 - bl func_ov00_020836cc + bl _ZN10MapManager18func_ov00_020836ccEjP4AABBj mov r6, r0 cmp r6, #0 bgt _0208cddc @@ -23644,7 +23644,7 @@ _0208d064: ldr r0, [r0] mov r1, r5 mov r3, #0x40 - bl func_ov00_020836cc + bl _ZN10MapManager18func_ov00_020836ccEjP4AABBj mov r4, r0 cmp r4, #0 bgt _0208d0c8 @@ -26596,18 +26596,18 @@ _0208f7d4: cmp r8, #0 blt _0208f868 ldr r0, [r4] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev cmp r7, r0 bge _0208f868 ldr r0, [r4] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv cmp r8, r0 bge _0208f868 ldr r0, [r4] add r1, sp, #0 strb r7, [sp] strb r8, [sp, #1] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev add r1, sp, #8 str r0, [r1, r9, lsl #2] cmp r0, #0 @@ -27005,7 +27005,7 @@ _0208fcf8: ldr r0, [r4] ldr r2, [r5, #0x16c] mov r1, r6 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 bne _0208fd20 ldr r1, [r5, #0x164] @@ -27021,7 +27021,7 @@ _0208fd30: ldr r0, _0208fef4 ; =data_027e0e60 ldr r2, [r5, #0x16c] ldr r0, [r0] - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 beq _0208fda8 ldr r0, [r5, #0x160] @@ -27034,7 +27034,7 @@ _0208fd60: ldr r0, [r4] ldr r2, [r5, #0x16c] mov r1, r6 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 beq _0208fd88 ldr r1, [r5, #0x164] @@ -27063,7 +27063,7 @@ _0208fdc0: ldr r1, [r5, #0x160] ldr r0, [r0] ldr r2, [r5, #0x16c] - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 beq _0208fe3c ldr r1, [r5, #0x160] @@ -27078,7 +27078,7 @@ _0208fdfc: ldr r0, [r6] ldr r2, [r5, #0x16c] mov r1, r4 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 ldrne r0, [r5, #0x164] add r4, r4, #1 @@ -27103,7 +27103,7 @@ _0208fe54: ldr r0, [r4] ldr r2, [r5, #0x16c] mov r1, r7 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 moveq r6, #0 beq _0208fe80 @@ -27134,7 +27134,7 @@ _0208febc: ldr r0, [r4] ldr r2, [r5, #0x16c] add r1, r1, r6 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} @@ -27292,7 +27292,7 @@ _02090004: add r0, sp, #0x18 ldr r1, [r1] add r2, sp, #0x5c - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r0, sp, #0x74 add r1, sp, #0x5c bl func_01ff9ec0 @@ -27301,7 +27301,7 @@ _02090004: ldr r0, _02090320 ; =data_027e0e60 add r1, sp, #0x18 ldr r0, [r0] - bl func_ov00_02083e70 + bl _ZN10MapManager18func_ov00_02083e70Ev cmp r0, #0 beq _02090150 _02090144: @@ -27312,13 +27312,13 @@ _02090150: ldr r0, _02090320 ; =data_027e0e60 add r1, sp, #0x18 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 bne _020902f8 ldr r0, _02090320 ; =data_027e0e60 add r1, sp, #0x18 ldr r0, [r0] - bl func_ov00_02084164 + bl _ZN10MapManager18func_ov00_02084164Ev cmp r0, #0 subeq r6, r6, #1 addeq r5, r5, #1 @@ -27326,7 +27326,7 @@ _02090150: ldr r0, _02090320 ; =data_027e0e60 add r1, sp, #0x18 ldr r0, [r0] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x37 bgt _02090210 bge _02090250 @@ -27458,7 +27458,7 @@ _0209034c: ldr r2, [r7, #0x16c] mov r1, r6 mov r3, r5 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, [r7, #0x168] add r6, r6, #1 cmp r6, r0 @@ -29307,7 +29307,7 @@ _0209167c: ldr r0, _020917ac ; =data_027e0e60 ldr r6, _020917b0 ; =0x000004cd ldr r0, [r0] - bl func_ov00_020848b8 + bl _ZN10MapManager18func_ov00_020848b8Ev mov r1, #0 cmp r0, #0 ldr r0, _020917b4 ; =0x0000ffff @@ -29694,7 +29694,7 @@ _02091bd4: ldr r0, _02091d4c ; =data_027e0e60 ldr r4, _02091d50 ; =0x000004cd ldr r0, [r0] - bl func_ov00_020848b8 + bl _ZN10MapManager18func_ov00_020848b8Ev mov r1, #0 cmp r0, #0 ldr r0, _02091d54 ; =0x0000ffff @@ -31120,7 +31120,7 @@ _0209309c: _020930b4: ldr r0, _02093208 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082538 + bl _ZN10MapManager18func_ov00_02082538Ev add r3, sp, #0x28 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -31413,7 +31413,7 @@ _0209349c: _020934c8: ldr r0, _02093504 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082538 + bl _ZN10MapManager18func_ov00_02082538Ev add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -32187,7 +32187,7 @@ func_ov00_02093e00: ; 0x02093e00 ldr r0, [r0] strb r2, [sp, #8] strb r3, [sp, #9] - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev str r0, [r10, #0x1c] ldr r0, [r10, #0x20] add r0, r0, #0x800 @@ -32263,7 +32263,7 @@ _02093e70: ldr r0, _020940cc ; =data_027e0e60 add r1, sp, #0x40 ldr r0, [r0] - bl func_ov00_020838f8 + bl _ZN10MapManager18func_ov00_020838f8EPi ldr r1, [sp, #0xc] bic r1, r1, #0x3f0000 orr r0, r1, r0, lsl #16 @@ -32308,18 +32308,18 @@ _02094000: mov r2, r5 strb r7, [sp, #6] strb r9, [sp, #7] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r11 mov r2, #1 strb r7, [sp, #4] strb r9, [sp, #5] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldr r0, [r4] mov r1, r8 mov r2, r9 mov r3, #9 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci ldrb r0, [r10, #0x15] add r9, r9, #1 add r0, r0, #2 @@ -33675,14 +33675,14 @@ func_ov00_02094e6c: ; 0x02094e6c strh r5, [r10, #4] ldr r0, [r0] mov r9, r3 - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldrh r1, [r10, #2] bl func_02002c14 mov r1, r0, lsl #0xc ldr r0, _02094f84 ; =data_027e0e60 str r1, [r10, #0xc] ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv ldrh r1, [r10, #4] bl func_02002c14 mov r0, r0, lsl #0xc @@ -33784,14 +33784,14 @@ func_ov00_02094fbc: ; 0x02094fbc ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, _02095124 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldrh r1, [r4, #2] bl func_02002c14 mov r1, r0, lsl #0xc ldr r0, _02095124 ; =data_027e0e60 str r1, [r4, #0xc] ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv ldrh r1, [r4, #4] bl func_02002c14 mov r0, r0, lsl #0xc @@ -33986,7 +33986,7 @@ func_ov00_02095278: ; 0x02095278 stmia ip, {r0, r1, r2} ldr r0, [r3] add r1, sp, #0 - bl func_ov00_0208340c + bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p add r0, sp, #0xc add r1, sp, #0 mov r2, r0 @@ -34195,12 +34195,12 @@ func_ov00_020954a0: ; 0x020954a0 str r1, [r6] ldrb r1, [r5, #1] ldr r0, [r0] - bl func_ov00_02083bac + bl _ZN10MapManager18func_ov00_02083bacEv ldr r2, _02095550 ; =data_027e0e60 mov r4, r0 ldrb r1, [r5, #2] ldr r0, [r2] - bl func_ov00_02083b84 + bl _ZN10MapManager18func_ov00_02083b84Ev mov r3, #0x5000 rsb r3, r3, #0 ldr r2, _02095550 ; =data_027e0e60 @@ -34209,12 +34209,12 @@ func_ov00_020954a0: ; 0x020954a0 ldr r0, [r2] str r3, [sp, #0x10] str r4, [sp, #0x14] - bl func_ov00_02083bfc + bl _ZN10MapManager18func_ov00_02083bfcEv ldr r2, _02095550 ; =data_027e0e60 mov r4, r0 ldrb r1, [r5, #4] ldr r0, [r2] - bl func_ov00_02083bd4 + bl _ZN10MapManager18func_ov00_02083bd4Ev ldr r1, [sp, #0xc] ldr r2, [sp, #0x10] str r1, [r6, #0x14] @@ -34246,12 +34246,12 @@ func_ov00_02095554: ; 0x02095554 str r1, [r6] ldrb r1, [r5, #1] ldr r0, [r0] - bl func_ov00_02083bac + bl _ZN10MapManager18func_ov00_02083bacEv ldr r2, _02095604 ; =data_027e0e60 mov r4, r0 ldrb r1, [r5, #2] ldr r0, [r2] - bl func_ov00_02083b84 + bl _ZN10MapManager18func_ov00_02083b84Ev mov r3, #0x5000 rsb r3, r3, #0 ldr r2, _02095604 ; =data_027e0e60 @@ -34260,12 +34260,12 @@ func_ov00_02095554: ; 0x02095554 ldr r0, [r2] str r3, [sp, #0x10] str r4, [sp, #0x14] - bl func_ov00_02083bfc + bl _ZN10MapManager18func_ov00_02083bfcEv ldr r2, _02095604 ; =data_027e0e60 mov r4, r0 ldrb r1, [r5, #4] ldr r0, [r2] - bl func_ov00_02083bd4 + bl _ZN10MapManager18func_ov00_02083bd4Ev ldr r1, [sp, #0xc] ldr r2, [sp, #0x10] str r1, [r6, #0x14] @@ -34334,12 +34334,12 @@ func_ov00_0209564c: ; 0x0209564c ldr r0, _0209571c ; =data_027e0e60 ldrb r1, [r5, #1] ldr r0, [r0] - bl func_ov00_02083bac + bl _ZN10MapManager18func_ov00_02083bacEv ldr r2, _0209571c ; =data_027e0e60 mov r4, r0 ldrb r1, [r5, #2] ldr r0, [r2] - bl func_ov00_02083b84 + bl _ZN10MapManager18func_ov00_02083b84Ev mov ip, #0x5000 str r0, [sp] rsb ip, ip, #0 @@ -35093,7 +35093,7 @@ func_ov00_02095fe0: ; 0x02095fe0 ldr r1, [r2, #0x44] add r2, sp, #0xc add r3, sp, #2 - bl func_ov00_020835e4 + bl _ZN10MapManager18func_ov00_020835e4EiPiS0_ cmp r0, #0 addeq sp, sp, #0x34 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} @@ -35139,19 +35139,19 @@ _020960b0: str r3, [sp, #0x2c] ldr r3, [r8, #0x18] str r3, [sp, #0x30] - bl func_ov00_02083560 + bl _ZN10MapManager18func_ov00_02083560EiPS_j ldrb r2, [sp] ldrb r3, [sp, #1] ldr r0, [r4] mov r1, r6 - bl func_ov00_020834bc + bl _ZN10MapManager18func_ov00_020834bcEP5Vec3pii mov r0, r5 mov r1, r6 mov r2, r5 bl func_01ff9bf8 ldr r0, [r4] mov r1, r11 - bl func_ov00_0208340c + bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p mov r0, r5 mov r1, r11 mov r2, r5 diff --git a/asm/ov00/ov00_020980f4.inc b/asm/ov00/ov00_020980f4.inc index 66c4c9ee..5cf35abe 100644 --- a/asm/ov00/ov00_020980f4.inc +++ b/asm/ov00/ov00_020980f4.inc @@ -2,6 +2,23 @@ .extern Approach_thunk .extern Divide .extern FastDivide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_b0Ev +.extern _ZN10MapManager17GetMapData_Unk_06Ev +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18Get_MapData_Unk_d0Ev +.extern _ZN10MapManager18Get_MapData_Unk_d8Ev +.extern _ZN10MapManager18Set_MapData_Unk_16Eci +.extern _ZN10MapManager18func_ov00_02082424Ev +.extern _ZN10MapManager18func_ov00_02082538Ev +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02083908EcPi +.extern _ZN10MapManager18func_ov00_02083928EPci +.extern _ZN10MapManager18func_ov00_02083938Ei +.extern _ZN10MapManager18func_ov00_02083978EiP5Vec3p +.extern _ZN10MapManager18func_ov00_02084b38Eiii .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN10PlayerBase12SetUpdatePosEb .extern _ZN11ItemManager21LoadDungeonItemModelsEv @@ -189,23 +206,6 @@ .extern func_ov00_02080f20 .extern func_ov00_02080f64 .extern func_ov00_02080f94 -.extern func_ov00_02082424 -.extern func_ov00_02082538 -.extern func_ov00_02082638 -.extern func_ov00_02082d08 -.extern func_ov00_020833f4 -.extern func_ov00_02083400 -.extern func_ov00_0208344c -.extern func_ov00_020836dc -.extern func_ov00_020838e8 -.extern func_ov00_02083908 -.extern func_ov00_02083928 -.extern func_ov00_02083938 -.extern func_ov00_02083948 -.extern func_ov00_02083978 -.extern func_ov00_02083ee0 -.extern func_ov00_02084984 -.extern func_ov00_02084b38 .extern func_ov00_02086cd0 .extern func_ov00_02086ed4 .extern func_ov00_0208726c diff --git a/asm/ov00/ov00_020980f4.s b/asm/ov00/ov00_020980f4.s index 8449e284..5e1a5e28 100644 --- a/asm/ov00/ov00_020980f4.s +++ b/asm/ov00/ov00_020980f4.s @@ -314,7 +314,7 @@ _0209848c: ldrb r1, [r4, #0xe] ldr r0, [r0] add r2, sp, #0xc - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _020985bc ; =data_027e0d38 mov r2, #1 ldr r0, [r0] @@ -1482,7 +1482,7 @@ _020993b4: ldrb r1, [r6, #0x2b] ldr r0, [r0] add r2, sp, #8 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r4, r5, r6, pc} @@ -5635,7 +5635,7 @@ _0209c93c: ldr r0, _0209c954 ; =data_027e0e60 add r1, r4, #0xf8 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_0209c8f4 @@ -5746,11 +5746,11 @@ func_ov00_0209ca80: ; 0x0209ca80 ldr r0, _0209cbc0 ; =data_027e0e60 str r2, [r1] ldr r0, [r0] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldr r1, _0209cbc0 ; =data_027e0e60 mov r4, r0 ldr r0, [r1] - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev ldr ip, _0209cbc4 ; =0x04000470 mov r1, #0 str r0, [ip] @@ -5834,7 +5834,7 @@ func_ov00_0209cbd4: ; 0x0209cbd4 mov r5, r0 ldr r0, [r3] mov r4, r2 - bl func_ov00_02083978 + bl _ZN10MapManager18func_ov00_02083978EiP5Vec3p cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} @@ -5892,7 +5892,7 @@ func_ov00_0209cc48: ; 0x0209cc48 ldrh r1, [r4, #0x1c] ldrh r2, [r4, #0x1e] ldr r0, [r0] - bl func_ov00_02082638 + bl _ZN10MapManager16MapData_vfunc_b0Ev ldr r0, _0209cce4 ; =data_027e0f68 ldrh r1, [r4, #0x1c] ldr r0, [r0] @@ -8279,7 +8279,7 @@ _0209e9c0: ldr r0, _0209eafc ; =data_027e0e60 add r1, sp, #0xc ldr r0, [r0] - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci ldrb r0, [sp, #0x10] add r2, r4, #0x168 strb r0, [r4, #0x162] @@ -8293,7 +8293,7 @@ _0209e9c0: ldr r0, _0209eafc ; =data_027e0e60 ldrb r1, [r4, #0x163] ldr r0, [r0] - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi ldrh r0, [r4, #0x22] cmp r0, #0 beq _0209ea30 @@ -8452,7 +8452,7 @@ _0209ec14: ldrb r1, [r4, #0x162] ldr r0, [r0] mov r2, r3 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _0209ecd4 ; =data_027e0f64 ldrb r1, [r4, #0x165] ldr r0, [r0] @@ -8483,7 +8483,7 @@ _0209ec9c: ldrb r1, [r4, #0x16c] ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci b _0209ecc8 _0209ecb4: ldr r0, _0209ecd4 ; =data_027e0f64 @@ -8513,7 +8513,7 @@ _0209ecf0: ldrb r1, [r0, #0x164] ldr r0, [r2] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii ldmia sp!, {r3, pc} _0209ed08: mov r1, #1 @@ -12506,7 +12506,7 @@ _020a1de8: ldrb r2, [r4, #0x29] ldr r0, [r0] mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii b _020a1e4c _020a1e0c: bl func_ov00_020a1e58 @@ -12515,7 +12515,7 @@ _020a1e0c: ldrb r2, [r4, #0x29] ldr r0, [r0] mov r3, #1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, [r4, #0x158] cmp r0, #0 bne _020a1e4c @@ -12613,7 +12613,7 @@ func_ov00_020a1f24: ; 0x020a1f24 bne _020a1f90 ldr r0, _020a1fc8 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082538 + bl _ZN10MapManager18func_ov00_02082538Ev ldr r2, [r0] ldr r1, _020a1fc8 ; =data_027e0e60 str r2, [r4, #0x18] @@ -12622,7 +12622,7 @@ func_ov00_020a1f24: ; 0x020a1f24 ldr r0, [r0, #8] str r0, [r4, #0x20] ldr r0, [r1] - bl func_ov00_02082538 + bl _ZN10MapManager18func_ov00_02082538Ev ldr r1, [r0] str r1, [r4, #0x24] ldr r1, [r0, #4] @@ -12738,14 +12738,14 @@ func_ov00_020a1fd0: ; 0x020a1fd0 _020a2118: ldr r0, _020a2224 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev rsb r0, r0, #0 sub r0, r0, #0x4000 cmp r4, r0 blt _020a21d0 ldr r0, _020a2224 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev add r0, r4, r0 add r0, r0, #0x4000 mov r1, #0x4000 @@ -12836,7 +12836,7 @@ func_ov00_020a222c: ; 0x020a222c ldr r0, _020a22b4 ; =data_027e0e60 strgt r1, [r4, #0x28] ldr r0, [r0] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev ldr r1, [r4, #0x1c] ldr r2, [r4, #0x28] add r1, r1, #0x1000 @@ -12845,7 +12845,7 @@ func_ov00_020a222c: ; 0x020a222c ldmgeia sp!, {r4, pc} ldr r0, _020a22b4 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev ldr r1, [r4, #0x1c] add r1, r1, #0x1000 add r0, r1, r0 @@ -13109,13 +13109,13 @@ _020a2614: beq _020a2680 ldr r0, _020a26e0 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084984 + bl _ZN10MapManager17GetMapData_Unk_06Ev cmp r0, #0 bne _020a2680 ldr r0, _020a26e0 ; =data_027e0e60 mov r1, #0 ldr r0, [r0] - bl func_ov00_02083938 + bl _ZN10MapManager18func_ov00_02083938Ei bl func_ov00_02087d84 add r5, sp, #0x4c mov r6, r0 @@ -13476,7 +13476,7 @@ _020a2b28: mov r1, r3 ldr r0, [r0] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, #4] ldr r1, [sp, #8] ldr r2, [r2, #0x240] @@ -13774,7 +13774,7 @@ _020a2f18: ldrb r2, [r1, #0x1b8] ldr r0, [r0] add r1, sp, #0x10 - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci ldr r0, [sp, #0x10] bl func_ov00_02087d84 add lr, sp, #0x38 @@ -13871,7 +13871,7 @@ _020a3074: ldrb r2, [r1, #0x1b8] ldr r0, [r0] add r1, sp, #0x10 - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci ldr r0, [sp, #0x10] bl func_ov00_02087d84 add lr, sp, #0x38 @@ -15292,7 +15292,7 @@ func_ov00_020a41e4: ; 0x020a41e4 ldr r1, _020a42c8 ; =data_027e0e60 str r0, [r6] ldr r0, [r1] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev strb r0, [r6, #7] str r7, [r6, #0xc] ldr r0, [r5] @@ -15354,7 +15354,7 @@ func_ov00_020a42cc: ; 0x020a42cc ldr r1, _020a4344 ; =data_027e0e60 str r0, [r6] ldr r0, [r1] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev strb r0, [r6, #7] str r7, [r6, #0xc] ldr r0, [r5] @@ -16231,7 +16231,7 @@ func_ov00_020a4dd0: ; 0x020a4dd0 ldr r0, _020a4e08 ; =data_027e0e60 add r1, r4, #0x28 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_020a4dd0 diff --git a/asm/ov00/ov00_020b1498.inc b/asm/ov00/ov00_020b1498.inc index 242ba27c..c94f1c44 100644 --- a/asm/ov00/ov00_020b1498.inc +++ b/asm/ov00/ov00_020b1498.inc @@ -1,5 +1,30 @@ #pragma once .extern Divide +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager18func_ov00_020833c4Ev +.extern _ZN10MapManager18func_ov00_020833d0Ev +.extern _ZN10MapManager18func_ov00_020833dcEv +.extern _ZN10MapManager18func_ov00_020833e8Ev +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020840a0Ecci +.extern _ZN10MapManager18func_ov00_0208412cEv +.extern _ZN10MapManager18func_ov00_02084164Ev +.extern _ZN10MapManager18func_ov00_020853fcEv .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN10PlayerBase13GetEquipSwordEv .extern _ZN10PlayerBase14GetEquipShieldEv @@ -301,31 +326,6 @@ .extern func_ov00_0207e96c .extern func_ov00_02081f4c .extern func_ov00_02081f50 -.extern func_ov00_0208335c -.extern func_ov00_02083368 -.extern func_ov00_020833c4 -.extern func_ov00_020833d0 -.extern func_ov00_020833dc -.extern func_ov00_020833e8 -.extern func_ov00_020836dc -.extern func_ov00_02083770 -.extern func_ov00_020838e8 -.extern func_ov00_020839d4 -.extern func_ov00_020839f8 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083c7c -.extern func_ov00_02083e34 -.extern func_ov00_02083ee0 -.extern func_ov00_02083f44 -.extern func_ov00_02083fb0 -.extern func_ov00_02084088 -.extern func_ov00_020840a0 -.extern func_ov00_020840c4 -.extern func_ov00_0208412c -.extern func_ov00_02084164 -.extern func_ov00_020853fc .extern func_ov00_020872e8 .extern func_ov00_02087e8c .extern func_ov00_0208b180 diff --git a/asm/ov00/ov00_020b1498.s b/asm/ov00/ov00_020b1498.s index 6170dbc0..5bfdb1fc 100644 --- a/asm/ov00/ov00_020b1498.s +++ b/asm/ov00/ov00_020b1498.s @@ -285,13 +285,13 @@ func_ov00_020b178c: ; 0x020b178c mov r4, r0 ldrb r2, [sp, #0xd] ldr r0, [r3] - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci cmp r0, r4 bgt _020b17d8 ldr r0, _020b17e8 ; =data_027e0e60 add r1, sp, #0xc ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, lr} @@ -446,14 +446,14 @@ func_ov00_020b199c: ; 0x020b199c bmi _020b19e4 ldr r0, _020b1a48 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev cmp r0, r6 ble _020b19e4 cmp r5, #0 blt _020b19e4 ldr r0, _020b1a48 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv cmp r0, r5 bgt _020b19f0 _020b19e4: @@ -466,7 +466,7 @@ _020b19f0: ldr r0, [r0] strb r6, [sp] strb r5, [sp, #1] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _020b1a30 ldr r1, [r0] @@ -481,7 +481,7 @@ _020b1a30: ldr r0, _020b1a48 ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02084164 + bl _ZN10MapManager18func_ov00_02084164Ev add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 @@ -498,12 +498,12 @@ func_ov00_020b1a4c: ; 0x020b1a4c mov r9, r0 ldr r0, [r2] ldr r1, [r8] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev ldr r1, _020b1b48 ; =data_027e0e60 mov r5, r0 ldr r0, [r1] ldr r1, [r8, #8] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev mov r6, r0 ldr r0, [r8] ldr r2, _020b1b4c ; =func_ov00_020b1940 @@ -572,7 +572,7 @@ func_ov00_020b1b54: ; 0x020b1b54 ldrb r1, [sp, #8] ldrb r2, [sp, #9] ldr r0, [r0] - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci cmp r0, #0x18 cmpne r0, #0x2c cmpne r0, #0x2d @@ -605,7 +605,7 @@ func_ov00_020b1ba4: ; 0x020b1ba4 add r0, sp, #0 add r2, sp, #4 str r3, [sp, #0xc] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp] mov r0, r0, lsr #0x9 and r0, r0, #3 @@ -630,7 +630,7 @@ func_ov00_020b1bfc: ; 0x020b1bfc ldr r0, [r1] mov r1, r6 mov r2, r5 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci ldrb r2, [sp, #0x1c] add r1, r5, #1 sub r3, sp, #4 @@ -1449,7 +1449,7 @@ func_ov00_020b2598: ; 0x020b2598 ldr r0, [r0] ldr r1, [r4, #0x5c] add r2, sp, #0 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _020b26b8 ldr r0, _020b2b94 ; =data_027e0d38 @@ -2303,7 +2303,7 @@ func_ov00_020b30e4: ; 0x020b30e4 ldr r0, _020b3270 ; =data_027e0e60 add r2, sp, #0 ldr r0, [r0] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _020b325c str r6, [r7, #0x5c] @@ -3117,7 +3117,7 @@ _020b3ce4: ldr r0, [r1] add r1, sp, #0 mov r2, #1 - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p mov r6, r0 cmp r6, r5 mov r0, r4 @@ -4612,7 +4612,7 @@ func_ov00_020b4d00: ; 0x020b4d00 ldr r1, [r1] add r0, sp, #0 add r2, #0x20 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r0, sp, #0 ldrb r1, [r0] strb r1, [r4, #0x1c] @@ -4651,7 +4651,7 @@ func_ov00_020b4d28: ; 0x020b4d28 ldr r0, [r0] add r1, r2, r1 sub r1, r1, #0x1000 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev ldr r3, [r7, #0x20] ldr r2, [r7, #0x2c] ldr r1, _020b502c ; =data_027e0e60 @@ -4659,14 +4659,14 @@ func_ov00_020b4d28: ; 0x020b4d28 sub r2, r3, r2 ldr r0, [r1] add r1, r2, #0x1000 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev ldr r2, [r9] mov r1, r0 cmp r2, #0 ble _020b4dd0 ldr r0, _020b502c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei mov r8, r0 b _020b4e60 _020b4dd0: @@ -4674,7 +4674,7 @@ _020b4dd0: ldr r0, _020b502c ; =data_027e0e60 mov r1, r8 ldr r0, [r0] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei mov r8, r0 b _020b4e60 _020b4dec: @@ -4699,24 +4699,24 @@ _020b4dec: bne _020b4e4c ldr r0, _020b502c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei mov r8, r0 b _020b4e60 _020b4e4c: ldr r0, _020b502c ; =data_027e0e60 mov r1, r8 ldr r0, [r0] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei mov r8, r0 _020b4e60: ldr r0, _020b502c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020833c4 + bl _ZN10MapManager18func_ov00_020833c4Ev cmp r8, r0 ble _020b4e88 ldr r0, _020b502c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020833dc + bl _ZN10MapManager18func_ov00_020833dcEv cmp r8, r0 blt _020b4e90 _020b4e88: @@ -4744,7 +4744,7 @@ _020b4ec8: ldr r0, [r0] add r1, r2, r1 sub r1, r1, #0x1000 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev ldr r3, [r7, #0x28] ldr r2, [r7, #0x2c] ldr r1, _020b502c ; =data_027e0e60 @@ -4752,14 +4752,14 @@ _020b4ec8: sub r2, r3, r2 ldr r0, [r1] add r1, r2, #0x1000 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev ldr r2, [r9, #8] mov r1, r0 cmp r2, #0 ble _020b4f28 ldr r0, _020b502c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r8, r0 b _020b4fb8 _020b4f28: @@ -4767,7 +4767,7 @@ _020b4f28: ldr r0, _020b502c ; =data_027e0e60 mov r1, r8 ldr r0, [r0] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r8, r0 b _020b4fb8 _020b4f44: @@ -4792,24 +4792,24 @@ _020b4f44: bne _020b4fa4 ldr r0, _020b502c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r8, r0 b _020b4fb8 _020b4fa4: ldr r0, _020b502c ; =data_027e0e60 mov r1, r8 ldr r0, [r0] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r8, r0 _020b4fb8: ldr r0, _020b502c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020833d0 + bl _ZN10MapManager18func_ov00_020833d0Ev cmp r8, r0 ble _020b4fe0 ldr r0, _020b502c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020833e8 + bl _ZN10MapManager18func_ov00_020833e8Ev cmp r8, r0 blt _020b4fe8 _020b4fe0: @@ -4857,7 +4857,7 @@ func_ov00_020b5034: ; 0x020b5034 strb r3, [ip] strb r2, [ip, #1] ldr r2, [ip] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi ldr r7, [r5, #4] mov r0, r6 mov r1, r5 @@ -5032,7 +5032,7 @@ func_ov00_020b5268: ; 0x020b5268 str r2, [sp, #0x30] add r1, sp, #0x28 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, #4] ldr r1, _020b5344 ; =0xfffff667 add r1, r2, r1 @@ -5529,7 +5529,7 @@ _020b5884: ldr r2, [r2] strb r4, [sp] strb r3, [sp, #1] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi ldr r0, [sp, #0x2c] ldr r1, [sp, #0x28] str r0, [sp, #8] @@ -6109,7 +6109,7 @@ _020b61e0: str r2, [r10, #8] ldr r1, [r1] add r2, r7, #0x20 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r2, [sp, #0x14] ldr r0, _020b6ac8 ; =data_027e0e60 add r1, r7, #0x1c @@ -6117,7 +6117,7 @@ _020b61e0: ldrb r2, [sp, #0x15] strb r2, [r7, #0x1d] ldr r0, [r0] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev ldrb r0, [r7, #0xbc] cmp r0, #0 beq _020b62ec @@ -6226,7 +6226,7 @@ _020b632c: ldr r3, [r10, #8] mov r2, #1 str r3, [sp, #0x7c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcc add r0, r0, #0x1c00 ldr r2, _020b6ac4 ; =0x0000ffff @@ -6288,10 +6288,10 @@ _020b64a4: ldr r1, [r10] ldr r8, [r0] mov r0, r8 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev mov r1, r0 mov r0, r8 - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei ldr r2, [r10] mov r1, #0 sub r2, r0, r2 @@ -6333,7 +6333,7 @@ _020b6538: ldr r0, _020b6ac8 ; =data_027e0e60 add r1, r7, #0xc4 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev ldr r1, [r0] mov r9, r0 ldr r1, [r1, #0x54] @@ -6545,7 +6545,7 @@ _020b6830: add r0, sp, #0x1c add r2, sp, #0x50 str r3, [sp, #0x58] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #0x1c] mov r1, r0 mov r0, r0, lsr #0x5 @@ -6727,7 +6727,7 @@ func_ov00_020b6af0: ; 0x020b6af0 ldrb r1, [r0, #9] cmp r1, #0 beq _020b6b84 - bl func_ov00_0208412c + bl _ZN10MapManager18func_ov00_0208412cEv ldr r1, _020b6b98 ; =data_027e0fe4 mov r4, r0 ldr r1, [r1] @@ -6751,7 +6751,7 @@ func_ov00_020b6af0: ; 0x020b6af0 ldr r3, [r5, #8] add r2, sp, #8 str r3, [sp, #0x10] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 addne sp, sp, #0x14 addne r0, r4, r6 @@ -7116,7 +7116,7 @@ _020b7000: str r6, [sp, #8] str r3, [sp, #0xc] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, #0x24] ldr r1, [r4, #0x2c] sub r1, r2, r1 @@ -7506,7 +7506,7 @@ _020b75b0: add r1, sp, #0x14 strb r4, [sp] strb r3, [sp, #1] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi add r0, sp, #0x14 add r1, r6, #0x20 mov r2, r0 @@ -7520,7 +7520,7 @@ _020b75b0: strb r1, [r3, #1] ldr r2, [r3] add r1, sp, #8 - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi add r0, sp, #8 add r1, r6, #0x20 mov r2, r0 @@ -9932,7 +9932,7 @@ _020b9278: ldr r1, [r0] add r0, sp, #4 add r2, r9, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r0, [sp, #4] strb r0, [r9, #0x288] ldrb r0, [sp, #5] @@ -10144,7 +10144,7 @@ _020b956c: str r5, [sp, #0xc] str r6, [sp, #0x10] str r3, [sp, #0x14] - bl func_ov00_020853fc + bl _ZN10MapManager18func_ov00_020853fcEv cmp r0, #0 ldrnesb r1, [r0, #0x12] cmpne r1, #1 @@ -11670,7 +11670,7 @@ _020ba958: str ip, [sp, #0xc] str r3, [sp, #0x10] str r7, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x1c] cmp r1, r0 movlt r0, #1 @@ -11739,7 +11739,7 @@ _020baab8: str r7, [sp] str r3, [sp, #4] str r4, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x1c] cmp r1, r0 movlt r0, #1 @@ -11955,7 +11955,7 @@ _020badf0: str r3, [sp, #0x10] ldr r3, [r6, #0x160] str r3, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r1, r0, #0x1000 str r1, [r6, #0x15c] mov r0, r6 @@ -12023,7 +12023,7 @@ _020baef0: str r3, [sp, #4] ldr r3, [r6, #0x160] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x1000 str r0, [r6, #0x15c] _020baf50: @@ -12102,7 +12102,7 @@ _020bb020: add r1, sp, #0 mov r2, #1 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x1000 str r0, [r5, #0x15c] ldr r1, [r5, #0x158] @@ -13919,7 +13919,7 @@ _020bc40c: str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p ldr r1, _020bc468 ; =data_027e0fac ldr r3, [sp, #0x10] ldrsh r2, [r1] @@ -14305,7 +14305,7 @@ func_ov00_020bc8b8: ; 0x020bc8b8 mov r4, r2 add r0, sp, #0 mov r2, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r1, [sp] add r2, r6, r4, lsl #1 add r0, r6, r4, lsl #2 @@ -14331,7 +14331,7 @@ func_ov00_020bc90c: ; 0x020bc90c mov r4, r1 ldrb r1, [r2, #0x2c] ldr r0, [r0] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [r4] add r0, r6, r5, lsl #2 ldr r0, [r0, #0x30] @@ -14340,7 +14340,7 @@ func_ov00_020bc90c: ; 0x020bc90c ldr r0, _020bc95c ; =data_027e0e60 ldrb r1, [r1, #0x2d] ldr r0, [r0] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei str r0, [r4, #8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 @@ -16478,7 +16478,7 @@ _020be338: ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrb r0, [r5, #0x2a] diff --git a/asm/ov00/ov00_020c3e54.inc b/asm/ov00/ov00_020c3e54.inc index 50984c89..253cb127 100644 --- a/asm/ov00/ov00_020c3e54.inc +++ b/asm/ov00/ov00_020c3e54.inc @@ -1,6 +1,26 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager17GetMapData_Unk_48Ev +.extern _ZN10MapManager17GetMapData_Unk_4cEv +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager18func_ov00_02083588Ev +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020840dcEv +.extern _ZN10MapManager18func_ov00_02084164Ev +.extern _ZN10MapManager18func_ov00_02084838Ev +.extern _ZN10MapManager18func_ov00_020849c0Ev +.extern _ZN10MapManager20GetCourseData_Unk_1cEv +.extern _ZN10MapManager20GetCourseData_Unk_1dEv .extern _ZN10PlayerBase13GetEquipSwordEv .extern _ZN10PlayerBase14GetEquipShieldEv .extern _ZN11ItemManager15SetEquippedItemEi @@ -500,26 +520,6 @@ .extern func_ov00_02081ef4 .extern func_ov00_02081f4c .extern func_ov00_02081f50 -.extern func_ov00_02082d28 -.extern func_ov00_02082d34 -.extern func_ov00_0208335c -.extern func_ov00_02083588 -.extern func_ov00_020836dc -.extern func_ov00_020839d4 -.extern func_ov00_020839f8 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083ee0 -.extern func_ov00_02083f44 -.extern func_ov00_02083fb0 -.extern func_ov00_020840c4 -.extern func_ov00_020840dc -.extern func_ov00_02084114 -.extern func_ov00_02084120 -.extern func_ov00_02084164 -.extern func_ov00_02084838 -.extern func_ov00_020849c0 .extern func_ov00_02087338 .extern func_ov00_0208766c .extern func_ov00_020876bc diff --git a/asm/ov00/ov00_020c3e54.s b/asm/ov00/ov00_020c3e54.s index 3c6b2f89..a1d1b9cb 100644 --- a/asm/ov00/ov00_020c3e54.s +++ b/asm/ov00/ov00_020c3e54.s @@ -320,12 +320,12 @@ _020c40b4: ldr r1, [r10, #8] str r1, [r2, #0x5c] ldr r0, [r0] - bl func_ov00_02082d28 + bl _ZN10MapManager20GetCourseData_Unk_1cEv ldr r2, [r6] ldr r1, _020c42d4 ; =data_027e0e60 strb r0, [r2, #0x10] ldr r0, [r1] - bl func_ov00_02082d34 + bl _ZN10MapManager20GetCourseData_Unk_1dEv ldr r2, [r6] add r1, r5, #1 strb r0, [r2, #0x11] @@ -933,7 +933,7 @@ _020c498c: str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #4] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -1611,19 +1611,19 @@ func_ov00_020c522c: ; 0x020c522c mov r5, r1 ldr r1, [r6] mov r0, r4 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev mov r1, r0 mov r0, r4 - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [r5] ldr r1, [r6, #4] mov r0, r4 str r1, [r5, #4] ldr r1, [r6, #8] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev mov r1, r0 mov r0, r4 - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei str r0, [r5, #8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 @@ -1643,15 +1643,15 @@ func_ov00_020c5288: ; 0x020c5288 strb r2, [sp, #1] ldr r1, [r5] mov r0, r4 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev strb r0, [sp] ldr r1, [r5, #8] mov r0, r4 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev strb r0, [sp, #1] add r1, sp, #0 mov r0, r4 - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x1e addeq sp, sp, #0x14 moveq r0, #1 @@ -1665,7 +1665,7 @@ func_ov00_020c5288: ; 0x020c5288 ldr r3, [r5, #8] mov r1, r4 str r3, [sp, #0x10] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #4] mov r0, r0, lsr #0x9 and r0, r0, #3 @@ -1687,12 +1687,12 @@ func_ov00_020c5330: ; 0x020c5330 mov r5, r1 ldrb r1, [r6, #1] ldr r0, [r0] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei ldr r2, _020c5370 ; =data_027e0e60 mov r4, r0 ldrb r1, [r6] ldr r0, [r2] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [r5] mov r0, #0 stmib r5, {r0, r4} @@ -1711,7 +1711,7 @@ func_ov00_020c5374: ; 0x020c5374 ldr r1, [r3] mov r2, r0 add r0, sp, #0 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r0, [sp] strb r0, [r4] ldrb r0, [sp, #1] @@ -4560,10 +4560,10 @@ func_ov00_020c7764: ; 0x020c7764 str ip, [sp, #8] str r8, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r8, r0 mov r0, r4 - bl func_ov00_02084120 + bl _ZN10MapManager17GetMapData_Unk_4cEv add r0, r8, r0 str r0, [sp, #0x18] _020c77e0: @@ -4725,7 +4725,7 @@ _020c79b0: _020c7a38: ldr r0, _020c7e9c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084838 + bl _ZN10MapManager18func_ov00_02084838Ev cmp r0, #0 beq _020c7c8c cmp r7, #3 @@ -5111,10 +5111,10 @@ func_ov00_020c7f98: ; 0x020c7f98 str ip, [sp, #4] str r7, [sp, #8] str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r7, r0 mov r0, r4 - bl func_ov00_02084120 + bl _ZN10MapManager17GetMapData_Unk_4cEv add r0, r7, r0 str r0, [sp, #0x14] _020c7ffc: @@ -7694,10 +7694,10 @@ func_ov00_020ca094: ; 0x020ca094 mov r0, r7 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r6, r0 mov r0, r7 - bl func_ov00_02084120 + bl _ZN10MapManager17GetMapData_Unk_4cEv add r0, r6, r0 str r0, [r5, #0x4c] _020ca108: @@ -8585,7 +8585,7 @@ _020cab14: ldr r0, _020cace8 ; =data_027e0e60 add r1, sp, #4 ldr r0, [r0] - bl func_ov00_02084164 + bl _ZN10MapManager18func_ov00_02084164Ev cmp r0, #0 beq _020cab8c ldrb r0, [sp, #4] @@ -10375,7 +10375,7 @@ func_ov00_020cc180: ; 0x020cc180 add r1, sp, #0 str r2, [sp, #8] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x4c] cmp r1, r0 movge r0, #1 @@ -10465,7 +10465,7 @@ func_ov00_020cc27c: ; 0x020cc27c add r0, sp, #0 add r2, sp, #4 str r3, [sp, #0xc] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -13793,7 +13793,7 @@ func_ov00_020cecd8: ; 0x020cecd8 mov r5, r1 mov r4, r2 mov r7, r3 - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldr r2, [sp, #0x20] mov r1, r4 mla r3, r2, r0, r7 @@ -13844,7 +13844,7 @@ func_ov00_020ced7c: ; 0x020ced7c ldr r0, [r0] mov r4, r3 mov r6, r1 - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev mla r2, r4, r0, r5 ldr r3, [sp, #0x10] ldr r0, _020cedb8 ; =data_ov00_020eec9c @@ -14212,7 +14212,7 @@ func_ov00_020cf13c: ; 0x020cf13c _020cf168: ldr r0, _020cf1b0 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083588 + bl _ZN10MapManager18func_ov00_02083588Ev mov r2, r0 mov r0, r4 mov r1, r5 @@ -15361,7 +15361,7 @@ _020cfd50: bne _020cfdb8 ldr r0, _020cfde0 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} @@ -19108,7 +19108,7 @@ func_ov00_020d2d38: ; 0x020d2d38 ldr r0, [r2] mov r4, r1 add r1, r5, #0x20 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev ldr r1, [r0] ldr r1, [r1, #0x78] blx r1 @@ -19166,7 +19166,7 @@ func_ov00_020d2de8: ; 0x020d2de8 ldr r0, [r2] mov r5, r1 add r1, r6, #0x20 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev mov r4, r0 add r0, sp, #0 bl func_02037628 @@ -20213,7 +20213,7 @@ func_ov00_020d3a04: ; 0x020d3a04 ldr r0, [r0] mov r2, #0 ldrh r5, [r4, #0x24] - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _020d3afc ldrb r0, [r4, #0x2a] @@ -21209,7 +21209,7 @@ func_ov00_020d454c: ; 0x020d454c add r1, sp, #0 str r2, [sp, #8] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r6, #0x15c] ldr r1, [r6, #0x48] mov r0, r5, lsl #0xc @@ -21278,7 +21278,7 @@ _020d4660: str r6, [sp, #0x58] str r4, [sp, #0x60] str r3, [sp, #0x5c] - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, _020d484c ; =data_027e0e60 ldr r6, [sp, #0x58] ldr r4, [sp, #0x5c] @@ -21289,7 +21289,7 @@ _020d4660: str r6, [sp, #0x2c] str r4, [sp, #0x30] str r3, [sp, #0x34] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [sp, #0x58] ldr r4, [sp, #0x5c] ldr r3, [sp, #0x60] @@ -21301,7 +21301,7 @@ _020d4660: mov r2, #0 str r4, [sp, #0x24] str r3, [sp, #0x28] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p mov r4, r0 ldrb r0, [sp, #0x10] ldrb r1, [sp, #0x11] @@ -21367,7 +21367,7 @@ _020d4790: str r2, [sp, #0xc] mov r2, #0 str r8, [sp, #0x18] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p ldr r1, [sp, #0xc] subs r9, r0, r8 str r0, [sp, #4] @@ -21761,7 +21761,7 @@ _020d4d08: add r1, sp, #0x10 mov r2, #0 str r3, [sp, #0x18] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r4, r0 cmp r7, #0 beq _020d4d68 @@ -21774,7 +21774,7 @@ _020d4d68: ldr r0, _020d4de0 ; =data_027e0e60 ldr r5, [r10, #0x4c] ldr r0, [r0] - bl func_ov00_02084114 + bl _ZN10MapManager17GetMapData_Unk_48Ev cmp r0, r5 addlt r0, r4, #0x33 addlt r0, r0, #0x1300 @@ -22578,10 +22578,10 @@ func_ov00_020d573c: ; 0x020d573c mov r0, r5 mov r2, #0 str r3, [sp, #0xc] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p mov r4, r0 mov r0, r5 - bl func_ov00_02084120 + bl _ZN10MapManager17GetMapData_Unk_4cEv add r0, r4, r0 str r0, [r10, #0x4c] _020d57b0: diff --git a/asm/ov02.inc b/asm/ov02.inc index cc4b577f..6b85cfea 100644 --- a/asm/ov02.inc +++ b/asm/ov02.inc @@ -115,7 +115,7 @@ .extern func_0204f614 .extern func_0204f754 .extern func_ov00_0207b1fc -.extern func_ov00_020847e0 +.extern _ZN10MapManager18func_ov00_020847e0Ev .extern func_ov00_0208de04 .extern func_ov00_0208dec8 .extern func_ov00_0208def0 diff --git a/asm/ov02.s b/asm/ov02.s index 780e6a34..4775a3ab 100644 --- a/asm/ov02.s +++ b/asm/ov02.s @@ -6631,7 +6631,7 @@ _020f430c: bl func_ov00_020a1abc ldr r0, _020f4ce8 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020847e0 + bl _ZN10MapManager18func_ov00_020847e0Ev str r0, [r7, #0x2c] ldr r0, _020f4cec ; =data_027e0f8c ldr r1, _020f4cf0 ; =0x020ecdf6 diff --git a/asm/ov03.inc b/asm/ov03.inc index 78b9c3a9..e5bafba2 100644 --- a/asm/ov03.inc +++ b/asm/ov03.inc @@ -266,24 +266,24 @@ .extern func_ov00_0207c0ac .extern func_ov00_0207c0cc .extern func_ov00_0207c5b0 -.extern func_ov00_02082614 -.extern func_ov00_02082acc -.extern func_ov00_02082d08 -.extern func_ov00_02082d40 -.extern func_ov00_02082d74 -.extern func_ov00_0208306c -.extern func_ov00_0208315c -.extern func_ov00_02083394 -.extern func_ov00_020833a0 -.extern func_ov00_020833ac -.extern func_ov00_020833b8 -.extern func_ov00_02083588 -.extern func_ov00_020835a4 -.extern func_ov00_020835b4 -.extern func_ov00_020835c4 -.extern func_ov00_020835f4 -.extern func_ov00_020836cc -.extern func_ov00_020849c0 +.extern _ZN10MapManager18func_ov00_02082614Eii +.extern _ZN10MapManager18func_ov00_02082accEv +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02082d40Ev +.extern _ZN10MapManager18func_ov00_02082d74Ei +.extern _ZN10MapManager18func_ov00_0208306cEv +.extern _ZN10MapManager18func_ov00_0208315cEPiS0_ +.extern _ZN10MapManager13GetCourseMinXEv +.extern _ZN10MapManager13GetCourseMinZEv +.extern _ZN10MapManager13GetCourseMaxXEv +.extern _ZN10MapManager13GetCourseMaxZEv +.extern _ZN10MapManager18func_ov00_02083588Ev +.extern _ZN10MapManager18func_ov00_020835a4Ev +.extern _ZN10MapManager18func_ov00_020835b4Ev +.extern _ZN10MapManager18func_ov00_020835c4Eii +.extern _ZN10MapManager18func_ov00_020835f4Ei +.extern _ZN10MapManager18func_ov00_020836ccEjP4AABBj +.extern _ZN10MapManager18func_ov00_020849c0Ev .extern func_ov00_0208b180 .extern func_ov00_0208b694 .extern func_ov00_0208b698 diff --git a/asm/ov03.s b/asm/ov03.s index 6a5f744a..ef9b6453 100644 --- a/asm/ov03.s +++ b/asm/ov03.s @@ -3625,18 +3625,18 @@ _020f08a4: ldr r0, _020f0aa4 ; =data_027e0e60 ldr r5, [r0] mov r0, r5 - bl func_ov00_02083394 + bl _ZN10MapManager13GetCourseMinXEv mov r11, r0 mov r0, r5 - bl func_ov00_020833a0 + bl _ZN10MapManager13GetCourseMinZEv str r0, [sp] mov r0, r5 - bl func_ov00_020833ac + bl _ZN10MapManager13GetCourseMaxXEv sub r0, r0, r11 add r4, r0, r0, lsr #31 mov r0, r5 mov r5, r4, asr #0x1 - bl func_ov00_020833b8 + bl _ZN10MapManager13GetCourseMaxZEv ldr r1, [sp] sub r0, r0, r1 mov r1, r5, asr #0x6 @@ -3784,19 +3784,19 @@ func_ov03_020f0aa8: ; 0x020f0aa8 mov r1, r5 ldr r0, [r0] mov r2, r4 - bl func_ov00_0208315c + bl _ZN10MapManager18func_ov00_0208315cEPiS0_ add sp, sp, #0x40 mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _020f0b18: ldr r0, _020f0b84 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082d40 + bl _ZN10MapManager18func_ov00_02082d40Ev ldr r1, _020f0b84 ; =data_027e0e60 mov r2, r0 ldr r0, [r1] add r1, sp, #0 - bl func_ov00_02082614 + bl _ZN10MapManager18func_ov00_02082614Eii ldr r0, _020f0b88 ; =data_027e0d3c add r1, sp, #0 ldr r0, [r0] @@ -3808,7 +3808,7 @@ _020f0b18: mov r1, r5 ldr r0, [r0] mov r2, r4 - bl func_ov00_0208306c + bl _ZN10MapManager18func_ov00_0208306cEv add sp, sp, #0x40 mov r0, #1 ldmia sp!, {r3, r4, r5, pc} @@ -3900,7 +3900,7 @@ _020f0c7c: add r2, sp, #0x24 ldr r0, [r0] mov r3, #8 - bl func_ov00_020836cc + bl _ZN10MapManager18func_ov00_020836ccEjP4AABBj _020f0ca4: cmp r0, #0 ble _020f0d74 @@ -9797,7 +9797,7 @@ func_ov03_020f4778: ; 0x020f4778 ldr r0, [r0] add r1, sp, #4 lsr r2, r2, #0x18 - blx func_ov00_02082614 + blx _ZN10MapManager18func_ov00_02082614Eii ldr r0, _020f47dc ; =data_027e0d38 mov r4, #4 ldr r0, [r0] @@ -9822,7 +9822,7 @@ _020f47b6: lsl r1, r5, #0x18 ldr r0, [r0] lsr r1, r1, #0x18 - blx func_ov00_02082d74 + blx _ZN10MapManager18func_ov00_02082d74Ei add r2, r0, #0 lsl r0, r5, #0x18 asr r0, r0, #0x18 @@ -10424,11 +10424,11 @@ _020f4ce8: ldr r0, [r0] add r1, #0x50 add r2, r4, #0 - blx func_ov00_02082614 + blx _ZN10MapManager18func_ov00_02082614Eii ldr r0, _020f4d18 ; =data_027e0e60 add r1, r4, #0 ldr r0, [r0] - blx func_ov00_02082d74 + blx _ZN10MapManager18func_ov00_02082d74Ei add r5, #0x90 strh r0, [r5] ldr r0, _020f4d1c ; =data_027e077c @@ -10554,7 +10554,7 @@ func_ov03_020f4de0: ; 0x020f4de0 ldr r5, [r0] ldr r0, _020f4e4c ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02083588 + blx _ZN10MapManager18func_ov00_02083588Ev ldr r1, _020f4e50 ; =data_ov00_020d878c add r2, r0, #0 ldr r1, [r1] @@ -10615,7 +10615,7 @@ func_ov03_020f4e5c: ; 0x020f4e5c ldr r5, [r0] ldr r0, _020f4f34 ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02083588 + blx _ZN10MapManager18func_ov00_02083588Ev add r1, r4, #0 add r2, r0, #0 add r0, r5, #0 @@ -10623,7 +10623,7 @@ func_ov03_020f4e5c: ; 0x020f4e5c bl func_ov00_02078e00 ldr r0, _020f4f34 ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02082acc + blx _ZN10MapManager18func_ov00_02082accEv add r0, r4, #0 add r0, #0x99 ldrb r0, [r0] @@ -10731,7 +10731,7 @@ func_ov03_020f4f4c: ; 0x020f4f4c ldr r4, [r0] ldr r0, _020f4fac ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02083588 + blx _ZN10MapManager18func_ov00_02083588Ev add r1, r5, #0 add r2, r0, #0 add r0, r4, #0 @@ -10785,7 +10785,7 @@ func_ov03_020f4fb8: ; 0x020f4fb8 ldrsb r1, [r5, r1] ldr r0, [r0] add r2, sp, #0 - blx func_ov00_020835c4 + blx _ZN10MapManager18func_ov00_020835c4Eii ldr r0, _020f5000 ; =data_027e0d3c mov r2, #0x93 ldrsb r2, [r5, r2] @@ -10798,7 +10798,7 @@ func_ov03_020f4fb8: ; 0x020f4fb8 ldr r0, _020f4ffc ; =data_027e0e60 ldrsb r1, [r5, r1] ldr r0, [r0] - blx func_ov00_020835f4 + blx _ZN10MapManager18func_ov00_020835f4Ei add r1, r0, #0 add r0, r4, #0 blx func_ov00_020cf414 @@ -12832,7 +12832,7 @@ _020f6578: bne _020f6600 ldr r0, _020f670c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083588 + bl _ZN10MapManager18func_ov00_02083588Ev cmp r0, #0 subgt r0, r0, #1 mov r4, #0 @@ -14234,7 +14234,7 @@ _020f7760: bne _020f7794 ldr r0, _020f7bb4 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 beq _020f79e0 _020f7794: @@ -14864,16 +14864,16 @@ func_ov03_020f7f6c: ; 0x020f7f6c beq _020f7fbc ldr r0, _020f7fe4 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083588 + bl _ZN10MapManager18func_ov00_02083588Ev cmp r0, #0 beq _020f7fbc ldr r0, _020f7fe4 ; =data_027e0e60 ldr r7, [r0] mov r0, r7 - bl func_ov00_020835a4 + bl _ZN10MapManager18func_ov00_020835a4Ev mov r5, r0 mov r0, r7 - bl func_ov00_020835b4 + bl _ZN10MapManager18func_ov00_020835b4Ev cmp r5, r0 movne r6, #1 _020f7fbc: @@ -14911,7 +14911,7 @@ func_ov03_020f8008: ; 0x020f8008 stmdb sp!, {r3, lr} ldr r0, _020f8020 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083588 + bl _ZN10MapManager18func_ov00_02083588Ev bl func_ov03_020f805c ldmia sp!, {r3, pc} .align 2, 0 @@ -14924,7 +14924,7 @@ func_ov03_020f8024: ; 0x020f8024 stmdb sp!, {r3, lr} ldr r0, _020f803c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020835a4 + bl _ZN10MapManager18func_ov00_020835a4Ev bl func_ov03_020f805c ldmia sp!, {r3, pc} .align 2, 0 @@ -14937,7 +14937,7 @@ func_ov03_020f8040: ; 0x020f8040 stmdb sp!, {r3, lr} ldr r0, _020f8058 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020835b4 + bl _ZN10MapManager18func_ov00_020835b4Ev bl func_ov03_020f805c ldmia sp!, {r3, pc} .align 2, 0 @@ -18003,7 +18003,7 @@ func_ov03_020fa528: ; 0x020fa528 bne _020fa568 ldr r0, _020fa5c8 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev add r0, r0, #0xab mov r1, #1 strb r1, [r4, #0x14] diff --git a/asm/ov04.inc b/asm/ov04.inc index 26b00966..3f4f6d8b 100644 --- a/asm/ov04.inc +++ b/asm/ov04.inc @@ -1,4 +1,27 @@ #pragma once +.extern _ZN10MapManager10DestroyMapEv +.extern _ZN10MapManager14GetEntrancePosEP5Vec3pi +.extern _ZN10MapManager16MapData_vfunc_44Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_9cEv +.extern _ZN10MapManager17GetCourseFilePathEPcS0_ +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager18func_ov00_020825e4Eii +.extern _ZN10MapManager18func_ov00_02082808Ev +.extern _ZN10MapManager18func_ov00_02082914Ei +.extern _ZN10MapManager18func_ov00_02082b3cEi +.extern _ZN10MapManager18func_ov00_02083588Ev +.extern _ZN10MapManager18func_ov00_020838f8EPi +.extern _ZN10MapManager18func_ov00_02083b84Ev +.extern _ZN10MapManager18func_ov00_02083bacEv +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager18func_ov00_02084838Ev +.extern _ZN10MapManager18func_ov00_02084c6cEi +.extern _ZN10MapManager9CreateMapEiii .extern _ZN11ItemManager12GetItemModelEj .extern _ZN11ItemManager13UnequipPotionEv .extern _ZN11ItemManager21ClearPrevEquippedItemEv @@ -425,29 +448,6 @@ .extern func_ov00_0208046c .extern func_ov00_02080de4 .extern func_ov00_02080edc -.extern func_ov00_0208240c -.extern func_ov00_020825c4 -.extern func_ov00_020825e4 -.extern func_ov00_020826c0 -.extern func_ov00_020827c0 -.extern func_ov00_020827f0 -.extern func_ov00_02082808 -.extern func_ov00_02082914 -.extern func_ov00_02082b3c -.extern func_ov00_0208335c -.extern func_ov00_02083368 -.extern func_ov00_0208344c -.extern func_ov00_02083588 -.extern func_ov00_02083624 -.extern func_ov00_020838f8 -.extern func_ov00_02083b84 -.extern func_ov00_02083bac -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083e34 -.extern func_ov00_02083ee0 -.extern func_ov00_02084838 -.extern func_ov00_02084c6c .extern func_ov00_02086ea0 .extern func_ov00_020872e8 .extern func_ov00_02087d84 diff --git a/asm/ov04.s b/asm/ov04.s index f5ef184e..dc1a28a3 100644 --- a/asm/ov04.s +++ b/asm/ov04.s @@ -923,7 +923,7 @@ _0210122a: str r0, [sp, #4] ldr r0, _02101388 ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02083588 + blx _ZN10MapManager18func_ov00_02083588Ev str r0, [sp, #8] ldr r0, _02101378 ; =data_027e0d38 ldr r0, [r0] @@ -974,7 +974,7 @@ _02101292: ldr r0, _02101388 ; =data_027e0e60 add r1, r5, #4 ldr r0, [r0] - blx func_ov00_02082b3c + blx _ZN10MapManager18func_ov00_02082b3cEi cmp r6, #0 beq _021012f2 cmp r7, #1 @@ -984,7 +984,7 @@ _02101292: _021012b0: ldr r0, _02101388 ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02083588 + blx _ZN10MapManager18func_ov00_02083588Ev add r1, r0, #0 ldr r0, [sp, #8] cmp r1, r0 @@ -2207,7 +2207,7 @@ _02101bda: ldr r0, _02101c0c ; =data_027e0e60 add r1, r7, #0 ldr r0, [r0] - blx func_ov00_0208344c + blx _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p add r0, r5, #0 add r1, r7, #0 add r2, r5, #0 @@ -2743,7 +2743,7 @@ func_ov04_02101f90: ; 0x02101f90 add r4, r0, #0 blx func_ov00_02095fa4 add r0, r4, #0 - blx func_ov00_020827c0 + blx _ZN10MapManager10DestroyMapEv ldr r5, [r4] cmp r5, #0 beq _02101fb6 @@ -3108,13 +3108,13 @@ func_ov04_02102264: ; 0x02102264 ldrh r2, [r7, #0x24] ldrh r3, [r7, #0x26] ldr r1, [r7, #0x20] - blx func_ov00_020826c0 + blx _ZN10MapManager9CreateMapEiii add r0, r5, #0 - blx func_ov00_020827f0 + blx _ZN10MapManager16MapData_vfunc_44Ev add r0, r5, #0 add r1, r7, #0 add r2, sp, #0x98 - blx func_ov00_020825c4 + blx _ZN10MapManager17GetCourseFilePathEPcS0_ mov r0, #0xf mvn r0, r0 str r0, [sp] @@ -3190,7 +3190,7 @@ _02102330: str r0, [sp, #8] ldr r1, [sp, #8] add r0, r5, #0 - blx func_ov00_020825e4 + blx _ZN10MapManager18func_ov00_020825e4Eii mov r0, #0xf mvn r0, r0 str r0, [sp] @@ -3308,7 +3308,7 @@ _02102382: cmp r0, #3 bne _02102478 add r0, r5, #0 - blx func_ov00_0208240c + blx _ZN10MapManager16MapData_vfunc_9cEv ldr r0, _021024bc ; =data_027e0f64 mov r2, #0 ldr r0, [r0] @@ -3377,7 +3377,7 @@ func_ov04_021024c4: ; 0x021024c4 blx r7 ldrb r1, [r4, #0x13] add r0, r5, #0 - blx func_ov00_02082914 + blx _ZN10MapManager18func_ov00_02082914Ei ldr r0, _021025b8 ; =data_027e0f6c mov r1, #0 ldr r0, [r0] @@ -3390,7 +3390,7 @@ func_ov04_021024c4: ; 0x021024c4 ldrb r2, [r4, #0x13] add r0, r5, #0 add r1, sp, #0x10 - blx func_ov00_02083624 + blx _ZN10MapManager14GetEntrancePosEP5Vec3pi ldr r0, _021025bc ; =data_027e0f90 ldrb r1, [r4, #0x13] ldr r0, [r0] @@ -3424,7 +3424,7 @@ func_ov04_021024c4: ; 0x021024c4 blx r1 add r0, r5, #0 add r1, r6, #0 - blx func_ov00_02082808 + blx _ZN10MapManager18func_ov00_02082808Ev ldr r0, [r4, #8] cmp r0, #1 bne _02102578 @@ -7458,7 +7458,7 @@ _021045bc: ldr r0, _021046bc ; =data_027e0e60 add r1, sp, #0x30 ldr r0, [r0] - blx func_ov00_0208344c + blx _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p mov r1, #0 ldr r0, [sp, #0x30] str r1, [sp, #0x1c] @@ -7528,7 +7528,7 @@ _02104682: ldr r0, _021046bc ; =data_027e0e60 add r1, sp, #0x18 ldr r0, [r0] - blx func_ov00_020838f8 + blx _ZN10MapManager18func_ov00_020838f8EPi add r2, sp, #0x54 strb r0, [r2, #0xf] ldr r0, [r6, #0x40] @@ -9866,7 +9866,7 @@ func_ov04_021058cc: ; 0x021058cc beq _021058f6 ldr r0, _02105948 ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02084838 + blx _ZN10MapManager18func_ov00_02084838Ev cmp r0, #0 beq _021058f4 mov r6, #0x40 @@ -16582,7 +16582,7 @@ _02108c18: ldrh r1, [r4, #0x14] ldr r0, [r0] lsr r1, r1, #4 - blx func_ov00_02083b84 + blx _ZN10MapManager18func_ov00_02083b84Ev add r7, r0, #0 ldrh r0, [r4, #0x14] lsr r2, r0, #0x1f @@ -16605,7 +16605,7 @@ _02108c18: ldr r0, _02108d20 ; =data_027e0e60 lsr r1, r7, #4 ldr r0, [r0] - blx func_ov00_02083bac + blx _ZN10MapManager18func_ov00_02083bacEv str r0, [sp, #0x14] lsr r2, r7, #0x1f lsl r1, r7, #0x1c @@ -16796,11 +16796,11 @@ func_ov04_02108de0: ; 0x02108de0 add r7, r1, #0 ldr r0, [r0] str r2, [sp, #4] - blx func_ov00_0208335c + blx _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #0xc] ldr r0, _02109090 ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02083368 + blx _ZN10MapManager17Get_MapData_Unk2aEv str r0, [sp, #8] ldrh r0, [r7, #8] mov r5, #0 @@ -17211,11 +17211,11 @@ func_ov04_021090c8: ; 0x021090c8 str r1, [sp, #4] ldr r0, [r0] str r2, [sp, #8] - blx func_ov00_0208335c + blx _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #0x18] ldr r0, _021092d0 ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02083368 + blx _ZN10MapManager17Get_MapData_Unk2aEv str r0, [sp, #0x14] ldr r0, [sp, #4] mov r4, #0 @@ -17275,7 +17275,7 @@ _0210914a: ldr r0, [r0] lsl r1, r1, #0x10 lsr r1, r1, #0x10 - blx func_ov00_02084c6c + blx _ZN10MapManager18func_ov00_02084c6cEi cmp r0, #0 bne _0210916c add r0, sp, #0x5c @@ -17292,7 +17292,7 @@ _0210916e: ldr r0, _021092d0 ; =data_027e0e60 add r1, r7, #0 ldr r0, [r0] - blx func_ov00_02083c24 + blx _ZN10MapManager18func_ov00_02083c24Ei add r7, r0, #0 ldr r0, [sp, #0x10] mov r1, #1 @@ -17304,7 +17304,7 @@ _0210916e: ldr r0, _021092d0 ; =data_027e0e60 add r1, r6, #0 ldr r0, [r0] - blx func_ov00_02083c50 + blx _ZN10MapManager18func_ov00_02083c50Ei add r6, r0, #0 ldr r0, [sp, #0xc] mov r1, #1 @@ -17320,7 +17320,7 @@ _0210916e: add r1, sp, #0x7c ldr r0, [r0] mov r2, #0 - blx func_ov00_02083ee0 + blx _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [sp, #0x5c] ldr r1, _021092d4 ; =0x414e4353 str r0, [sp, #0x80] @@ -17766,7 +17766,7 @@ _021094b2: ldr r0, _021095b0 ; =data_027e0e60 add r1, r7, #0 ldr r0, [r0] - blx func_ov00_02083c50 + blx _ZN10MapManager18func_ov00_02083c50Ei str r0, [sp, #0x10] lsr r2, r5, #0x1f lsl r1, r5, #0x1c @@ -17785,12 +17785,12 @@ _021094b2: ldr r0, _021095b0 ; =data_027e0e60 ldr r1, [sp, #0xc] ldr r0, [r0] - blx func_ov00_02083e34 + blx _ZN10MapManager18func_ov00_02083e34Ecci add r5, r0, #0 ldr r0, _021095b0 ; =data_027e0e60 ldr r1, [sp, #0xc] ldr r0, [r0] - blx func_ov00_02083c24 + blx _ZN10MapManager18func_ov00_02083c24Ei add r7, r0, #0 lsr r2, r6, #0x1f lsl r1, r6, #0x1c @@ -17944,7 +17944,7 @@ _021095ec: add r1, r6, r1 ldr r0, [r0] asr r1, r1, #4 - blx func_ov00_02083bac + blx _ZN10MapManager18func_ov00_02083bacEv str r0, [sp, #0x10] lsr r2, r6, #0x1f lsl r1, r6, #0x1c @@ -17984,7 +17984,7 @@ _021095ec: ldr r0, [r0] add r2, r1, r2 asr r1, r2, #4 - blx func_ov00_02083b84 + blx _ZN10MapManager18func_ov00_02083b84Ev add r7, r0, #0 ldr r0, [sp, #8] ldr r1, [sp, #8] @@ -24828,7 +24828,7 @@ func_ov04_0210cb38: ; 0x0210cb38 ldr r0, _0210cc0c ; =data_027e0e60 add r1, sp, #0x74 ldr r0, [r0] - blx func_ov00_0208344c + blx _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p mov r0, #0 str r0, [sp] ldr r0, _0210cc10 ; =data_027e0fe8 @@ -24860,7 +24860,7 @@ _0210cb7a: ldr r0, _0210cc0c ; =data_027e0e60 add r1, sp, #0x3c ldr r0, [r0] - blx func_ov00_0208344c + blx _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p mov r0, #0 str r0, [sp] ldr r0, _0210cc10 ; =data_027e0fe8 @@ -24889,7 +24889,7 @@ _0210cbc2: ldr r0, _0210cc0c ; =data_027e0e60 add r1, sp, #4 ldr r0, [r0] - blx func_ov00_0208344c + blx _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p mov r0, #0 str r0, [sp] ldr r0, _0210cc10 ; =data_027e0fe8 diff --git a/asm/ov05.inc b/asm/ov05.inc index ec94b899..cb564927 100644 --- a/asm/ov05.inc +++ b/asm/ov05.inc @@ -335,29 +335,29 @@ .extern func_ov00_0207dea0 .extern func_ov00_02080de8 .extern func_ov00_02081f4c -.extern func_ov00_02082424 -.extern func_ov00_020828e0 -.extern func_ov00_02082d08 -.extern func_ov00_0208344c -.extern func_ov00_02083664 -.extern func_ov00_020839d4 -.extern func_ov00_020839f8 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083c7c -.extern func_ov00_02083e34 -.extern func_ov00_02083ee0 -.extern func_ov00_02083f44 -.extern func_ov00_02083fb0 -.extern func_ov00_020840a0 -.extern func_ov00_020840c4 -.extern func_ov00_0208430c -.extern func_ov00_02084318 -.extern func_ov00_02084740 -.extern func_ov00_020848b8 -.extern func_ov00_0208527c -.extern func_ov00_0208583c +.extern _ZN10MapManager18func_ov00_02082424Ev +.extern _ZN10MapManager16MapData_vfunc_84Ev +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18func_ov00_02083664EP5Vec3pi +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020840a0Ecci +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager17GetMapData_Unk_0aEv +.extern _ZN10MapManager17GetMapData_Unk_0bEv +.extern _ZN10MapManager18func_ov00_02084740Ev +.extern _ZN10MapManager18func_ov00_020848b8Ev +.extern _ZN10MapManager18func_ov00_0208527cEv +.extern _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi .extern func_ov00_0208726c .extern func_ov00_020872e8 .extern func_ov00_0208766c diff --git a/asm/ov05.s b/asm/ov05.s index 9223e162..41a25650 100644 --- a/asm/ov05.s +++ b/asm/ov05.s @@ -606,7 +606,7 @@ _02101280: bne _02101338 ldr r0, _02101420 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020828e0 + bl _ZN10MapManager16MapData_vfunc_84Ev ldr r3, [r8] ldr r1, [r10, #0x18] ldrb r7, [r3, #0x14] @@ -1342,12 +1342,12 @@ _02101c04: bne _02101c90 ldr r0, _021021dc ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, #2 beq _02101c44 ldr r0, _021021dc ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, #3 bne _02101c90 _02101c44: @@ -1563,7 +1563,7 @@ _02101f18: ldmneia sp!, {r4, r5, r6, pc} ldr r0, _021021dc ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084740 + bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 ldr r2, [r6, #4] ldr r0, _021021ec ; =data_ov00_020eec68 @@ -2399,7 +2399,7 @@ func_ov05_02102b0c: ; 0x02102b0c mov r2, r7 mov r6, r3 str r5, [r4] - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci cmp r0, #0x30 bgt _02102b9c cmp r0, #0x28 @@ -2588,11 +2588,11 @@ _02102d6c: cmp r0, #0 bne _02102dd8 ldr r0, [sp, #0x44] - bl func_ov00_0208430c + bl _ZN10MapManager17GetMapData_Unk_0aEv cmp r0, #0 bne _02102dd8 ldr r0, [sp, #0x44] - bl func_ov00_02084318 + bl _ZN10MapManager17GetMapData_Unk_0bEv cmp r0, #0 beq _02102de0 _02102dd8: @@ -2608,7 +2608,7 @@ _02102de0: streq r0, [sp, #0x30] beq _02102e0c ldr r0, [sp, #0x44] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev str r0, [sp, #0x30] _02102e0c: ldr r0, [sp, #0x28] @@ -2641,7 +2641,7 @@ _02102e24: ldr r1, [sp, #0x44] add r0, sp, #0x74 add r2, sp, #0x78 - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i add r0, sp, #0x74 bl func_ov05_02103b2c cmp r0, #2 @@ -2659,7 +2659,7 @@ _02102e24: ldr r0, [sp, #0x44] add r1, sp, #0x84 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r6, #0x14] add r0, sp, #0x84 bl func_0202bac0 @@ -2697,11 +2697,11 @@ _02102ee8: bne _0210314c ldr r1, [r7] ldr r0, [sp, #0x44] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev mov r9, r0 ldr r0, [sp, #0x44] ldr r1, [r7, #8] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev str r0, [sp, #0x34] ldr r1, [sp, #0x34] mov r0, r9 @@ -3331,7 +3331,7 @@ func_ov05_0210373c: ; 0x0210373c mov r1, r6 mov r8, r2 mov r11, r3 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev ldr r1, [sp, #0x38] str r0, [sp] cmp r1, r0 @@ -3375,7 +3375,7 @@ func_ov05_0210373c: ; 0x0210373c str r3, [sp, #4] str r7, [sp, #8] str r6, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r8, r0 str r0, [r5, #0x14] mov r2, #1 @@ -3394,7 +3394,7 @@ _02103838: ldr r3, [r7, #8] ldr r2, [sp] str r3, [r5, #0x18] - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r5, #0x14] mov r2, #1 _02103878: @@ -3439,7 +3439,7 @@ func_ov05_021038c8: ; 0x021038c8 mov r1, r6 mov r8, r2 mov r5, r3 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev mov r11, r0 cmp r5, r11 beq _02103a90 @@ -3482,7 +3482,7 @@ func_ov05_021038c8: ; 0x021038c8 str r6, [sp, #0xc] str r3, [sp, #0x10] str r4, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r8, r0 str r0, [r5, #0x14] mov r2, #1 @@ -3503,7 +3503,7 @@ _021039c0: str r6, [sp] str r3, [sp, #4] str r4, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev sub r0, r0, r8 str r0, [r5, #0x14] mov r2, #1 @@ -3523,7 +3523,7 @@ _02103a10: ldr r3, [r7, #8] mov r1, r11 str r3, [r5, #0x18] - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r5, #0x14] mov r2, #1 _02103a54: @@ -6074,7 +6074,7 @@ _021059f0: mov r1, r3 ldr r0, [r0] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, _02105c08 ; =data_ov05_021124f0 str r0, [r6, #0x3c] ldr r1, [r2, #0x20] @@ -7378,7 +7378,7 @@ func_ov05_02106bbc: ; 0x02106bbc strb r2, [r1, #1] ldr r2, [r1] mov r1, r4 - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _02106c64: @@ -7713,7 +7713,7 @@ _0210707c: str r4, [sp, #0x1c] str r6, [sp, #0x24] str r5, [sp, #0x20] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p mov r8, r0 mov r0, r7 bl _ZN13LinkStateBase12GetPlayerPosEv @@ -7728,7 +7728,7 @@ _0210707c: str r4, [sp, #0x10] str r5, [sp, #0x14] str r6, [sp, #0x18] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r8, r0 _02107148: mov r0, r7 @@ -8389,7 +8389,7 @@ _02107a18: mov r2, r0 add r0, sp, #2 mov r1, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r2, #0 ldrb r1, [sp, #2] ldrb r0, [sp, #3] @@ -10030,7 +10030,7 @@ _02109018: _02109060: ldr r0, _02109294 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084740 + bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 ldr r0, _0210928c ; =data_ov00_020eec68 mov r2, #0 @@ -10970,7 +10970,7 @@ _02109d0c: add r1, r7, #0x40 ldr r0, [r0] mov r2, #1 - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p str r0, [r7, #0x44] mov r0, #0xd str r0, [r7, #4] @@ -11805,12 +11805,12 @@ _0210a830: add r0, sp, #0x14 ldr r1, [r1] add r2, sp, #0x2c - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, _0210aad8 ; =data_027e0e60 add r1, sp, #0x14 ldr r0, [r0] mov r5, #0 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _0210a904 ldrsb r0, [r0, #0x12] @@ -11836,7 +11836,7 @@ _0210a830: ldr r2, [r0] add r1, sp, #0x2c mov r0, r7 - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi cmp r0, #0 blt _0210a904 mov r0, r4 @@ -11871,7 +11871,7 @@ _0210a904: add r1, sp, #0x2c ldr r0, [r0] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x30] cmp r1, r0 movlt r5, #0 @@ -12408,7 +12408,7 @@ _0210ae98: str r7, [sp, #0x10] str r6, [sp, #0x14] str r3, [sp, #0x18] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #0xc] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -12823,10 +12823,10 @@ _0210b684: ldr r4, [r1] add r2, r5, #0x24 mov r1, r4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0x12 mov r0, r4 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 beq _0210b6d0 ldr r1, [r0] @@ -12871,10 +12871,10 @@ _0210b73c: add r0, sp, #0x10 mov r1, r4 add r2, r5, #0x24 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0x10 mov r0, r4 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _0210b788 ldr r1, [r0] @@ -12917,7 +12917,7 @@ _0210b7dc: mov r4, r0 ldrb r1, [r5, #0x20] mov r0, r6 - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [r4] ldr r1, _0210b968 ; =data_027e0e60 mov r0, r5 @@ -12926,7 +12926,7 @@ _0210b7dc: mov r4, r0 ldrb r1, [r5, #0x21] mov r0, r6 - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei str r0, [r4, #8] mov r0, r5 bl _ZN13LinkStateBase12GetPlayerVelEv @@ -13072,7 +13072,7 @@ func_ov05_0210b9c4: ; 0x0210b9c4 add r1, sp, #0 mov r2, #3 str r3, [sp, #8] - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi mov r1, r0 mov r0, r5 bl _ZN12ActorManager13FindActorByIdEj @@ -13144,7 +13144,7 @@ func_ov05_0210babc: ; 0x0210babc add r1, sp, #0 mov r2, #5 str r3, [sp, #8] - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi add sp, sp, #0xc ldmia sp!, {r3, r4, pc} _0210bb10: @@ -13204,10 +13204,10 @@ func_ov05_0210bb98: ; 0x0210bb98 ldr r4, [r1] add r2, r5, #0x24 mov r1, r4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r4 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 beq _0210bc04 ldr r0, _0210bd5c ; =gAdventureFlags @@ -13339,10 +13339,10 @@ func_ov05_0210bd70: ; 0x0210bd70 ldr r4, [r1] add r2, r5, #0x24 mov r1, r4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r4 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 beq _0210bdd8 ldr r1, [r0] @@ -13671,7 +13671,7 @@ func_ov05_0210c20c: ; 0x0210c20c strb r1, [r3, #1] ldr r2, [r3] add r1, sp, #0x6c - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r0, r7 bl _ZN13LinkStateBase12GetPlayerPosEv mov r1, r0 @@ -13756,7 +13756,7 @@ _0210c398: add r1, r5, #0x18 ldr r0, [r0] add r2, r7, #0x24 - bl func_ov00_0208527c + bl _ZN10MapManager18func_ov00_0208527cEv mov r6, r0 add r1, sp, #0x54 mov r0, r7 @@ -13850,7 +13850,7 @@ _0210c4d8: add r1, sp, #0x3c mov r2, #0xe str r3, [sp, #0x44] - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi add sp, sp, #0x78 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} @@ -13872,7 +13872,7 @@ _0210c540: add r1, sp, #0x30 mov r2, #4 str r3, [sp, #0x38] - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi mov r4, r0 bl func_ov05_0210c980 mov r1, r4 @@ -13962,13 +13962,13 @@ _0210c680: add r1, sp, #0x24 mov r2, #7 str r3, [sp, #0x2c] - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi str r0, [r7, #0x10] ldr r1, _0210c950 ; =data_027e0e60 add r0, sp, #6 ldr r1, [r1] add r2, r7, #0x24 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r3, [sp, #6] ldrb r2, [sp, #7] ldr r0, _0210c968 ; =0x00020007 @@ -14058,7 +14058,7 @@ _0210c7cc: add r1, sp, #0x18 mov r2, #0xb str r3, [sp, #0x20] - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi _0210c818: add sp, sp, #0x78 mov r0, #1 @@ -14079,7 +14079,7 @@ _0210c824: ldr r0, [r1] add r1, sp, #0xc mov r2, #0xc - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi mov r1, r0 mov r0, r4 ldr r4, [r0] @@ -14200,10 +14200,10 @@ _0210c9e8: ldr r6, [r1] add r2, r4, #0x24 mov r1, r6 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r6 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r6, r0 addeq sp, sp, #0x10 ldmeqia sp!, {r4, r5, r6, pc} @@ -16376,7 +16376,7 @@ _0210e6d8: ldr r2, [r0] ldr r0, [r1] add r1, r2, #0xc4 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev mov r4, r0 _0210e72c: ldr r1, _0210e884 ; =data_027e0fd4 @@ -16508,7 +16508,7 @@ func_ov05_0210e8b4: ; 0x0210e8b4 ldrh r2, [r5, #0xe] ldr r0, [r0] add r1, sp, #4 - bl func_ov00_02083664 + bl _ZN10MapManager18func_ov00_02083664EP5Vec3pi ldr r2, [sp, #0xc] ldr r1, [sp, #8] ldr r0, [sp, #4] @@ -18865,7 +18865,7 @@ func_ov05_021109c0: ; 0x021109c0 ldr r0, [r2] add r1, r1, #0x1c mov r4, #0x13 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev mov r5, r0 mov r0, r6 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev @@ -19406,7 +19406,7 @@ _02111100: add r1, sp, #0xc mov r0, r5 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #4] mov r5, #0x4000 sub r4, r1, r0 @@ -20209,7 +20209,7 @@ func_ov05_02111c00: ; 0x02111c00 ldr r0, _02111c68 ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r0, [r5, #0x140] add r1, sp, #0 ldr r2, [r0] @@ -20448,7 +20448,7 @@ func_ov05_02111f40: ; 0x02111f40 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _02111fb0 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020848b8 + bl _ZN10MapManager18func_ov00_020848b8Ev cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} bl func_ov15_0215b780 diff --git a/asm/ov09.inc b/asm/ov09.inc index 94a81008..a19e48af 100644 --- a/asm/ov09.inc +++ b/asm/ov09.inc @@ -230,14 +230,14 @@ .extern func_ov00_0207c1f8 .extern func_ov00_0207c358 .extern func_ov00_0207c444 -.extern func_ov00_020820ec -.extern func_ov00_020820fc -.extern func_ov00_0208210c -.extern func_ov00_02082614 -.extern func_ov00_02082908 -.extern func_ov00_02082adc -.extern func_ov00_02083ee0 -.extern func_ov00_020848b8 +.extern _ZN10MapManager18func_ov00_020820ecEPi +.extern _ZN10MapManager18func_ov00_020820fcEiii +.extern _ZN10MapManager18func_ov00_0208210cEii +.extern _ZN10MapManager18func_ov00_02082614Eii +.extern _ZN10MapManager20GetCourseData_Unk_b0Ev +.extern _ZN10MapManager18func_ov00_02082adcEv +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_020848b8Ev .extern func_ov00_02087d34 .extern func_ov00_020a5e9c .extern func_ov00_020a61ac diff --git a/asm/ov09.s b/asm/ov09.s index 5bbd7f6a..b9675189 100644 --- a/asm/ov09.s +++ b/asm/ov09.s @@ -3218,7 +3218,7 @@ func_ov09_02114554: ; 0x02114554 blx func_020078f4 add r0, r7, #0 add r1, sp, #0x14 - blx func_ov00_020820ec + blx _ZN10MapManager18func_ov00_020820ecEPi ldr r0, _021146b0 ; =data_027e0d38 ldr r0, [r0] add r0, #0xc @@ -3242,7 +3242,7 @@ func_ov09_02114554: ; 0x02114554 str r0, [sp, #8] _021145b6: add r0, r7, #0 - blx func_ov00_02082908 + blx _ZN10MapManager20GetCourseData_Unk_b0Ev add r4, sp, #0x1c str r0, [sp, #0xc] mov r0, #0 @@ -3271,7 +3271,7 @@ _021145f2: add r1, r4, #0 add r2, sp, #0x10 add r3, sp, #0x1c - blx func_ov00_020820fc + blx _ZN10MapManager18func_ov00_020820fcEiii add r0, sp, #0x10 ldrh r1, [r0] cmp r1, #0xcf @@ -3323,7 +3323,7 @@ _02114634: ldr r1, [sp, #4] add r0, r7, #0 add r2, r4, #0 - blx func_ov00_0208210c + blx _ZN10MapManager18func_ov00_0208210cEii mov r0, #0x71 lsl r0, r0, #2 str r0, [sp] @@ -3347,7 +3347,7 @@ _02114688: bl func_ov09_02114520 ldr r0, _021146ac ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02082adc + blx _ZN10MapManager18func_ov00_02082adcEv add sp, #0x1ec pop {r4, r5, r6, r7, pc} .align 2, 0 @@ -16512,7 +16512,7 @@ func_ov09_0211c3d8: ; 0x0211c3d8 add r4, r0, #0 ldr r0, _0211c418 ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_020848b8 + blx _ZN10MapManager18func_ov00_020848b8Ev strb r0, [r4, #0xa] ldr r5, [r4, #4] cmp r5, #0 @@ -18385,7 +18385,7 @@ func_ov09_0211d180: ; 0x0211d180 mov r2, r6 str r3, [sp, #0x94] str r9, [sp, #0x98] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x94] cmp r1, r0 movle r6, #1 @@ -18858,7 +18858,7 @@ _0211d86e: add r0, r4, #0 add r1, r7, #0 add r2, r5, #0 - blx func_ov00_02082614 + blx _ZN10MapManager18func_ov00_02082614Eii add r0, r7, #0 add r1, r6, #0 blx strcmp diff --git a/asm/ov12.inc b/asm/ov12.inc index f96d3554..4131efbf 100644 --- a/asm/ov12.inc +++ b/asm/ov12.inc @@ -1,6 +1,24 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager17GetMapData_Unk_48Ev +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager18Get_MapData_Unk_d0Ev +.extern _ZN10MapManager18Get_MapData_Unk_d8Ev +.extern _ZN10MapManager18func_ov00_02083664EP5Vec3pi +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_020839b4Ei +.extern _ZN10MapManager18func_ov00_020839c4Ei +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020840a0Ecci .extern _ZN10PlayerBase18func_ov00_020a7c00Ei .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN10PlayerBase9AddHealthEs @@ -357,24 +375,6 @@ .extern func_ov00_0207f588 .extern func_ov00_020807d4 .extern func_ov00_02081f4c -.extern func_ov00_0208335c -.extern func_ov00_02083368 -.extern func_ov00_020833f4 -.extern func_ov00_02083400 -.extern func_ov00_02083664 -.extern func_ov00_02083770 -.extern func_ov00_020838e8 -.extern func_ov00_020839b4 -.extern func_ov00_020839c4 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083e34 -.extern func_ov00_02083ee0 -.extern func_ov00_02083ef8 -.extern func_ov00_02083fb0 -.extern func_ov00_020840a0 -.extern func_ov00_02084114 .extern func_ov00_020872e8 .extern func_ov00_02087d84 .extern func_ov00_0208819c diff --git a/asm/ov12.s b/asm/ov12.s index b564b7f2..36039620 100644 --- a/asm/ov12.s +++ b/asm/ov12.s @@ -935,7 +935,7 @@ func_ov12_02113720: ; 0x02113720 mov r4, r0 ldr r0, [r2] mov r5, r1 - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev ldrb r1, [r4, #1] sub r0, r5, r0 mov r3, r0, asr #0x6 @@ -969,7 +969,7 @@ func_ov12_02113790: ; 0x02113790 mov r4, r0 ldr r0, [r2] mov r5, r1 - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldrb r1, [r4, #3] sub r0, r5, r0 mov r2, r0, asr #0x6 @@ -1008,7 +1008,7 @@ func_ov12_021137e8: ; 0x021137e8 orrne r4, r4, #0x3fc0000 ldr r0, [r0] orrne r4, r4, #0xfc000000 - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev add r0, r4, r0 ldmia sp!, {r4, pc} .align 2, 0 @@ -1031,7 +1031,7 @@ func_ov12_02113838: ; 0x02113838 orrne r4, r4, #0x3fc0000 ldr r0, [r0] orrne r4, r4, #0xfc000000 - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev add r0, r4, r0 ldmia sp!, {r4, pc} .align 2, 0 @@ -6740,13 +6740,13 @@ func_ov12_02118428: ; 0x02118428 add r1, sp, #0xbc ldr r0, [r0] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _02118808 ; =data_027e0e60 str r0, [sp, #0x9c] ldr r0, [r1] add r1, sp, #0xbc mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0xa8] add r0, sp, #0x8c bl func_01ff9cec @@ -6884,7 +6884,7 @@ _02118740: ldr r0, [r11] mov r1, r7 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x68] str r0, [sp, #0x6c] str r0, [sp, #0xa8] @@ -8230,12 +8230,12 @@ func_ov12_021196d4: ; 0x021196d4 add r0, sp, #0 ldr r1, [r1] mov r2, r4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, _0211977c ; =data_027e0e60 ldrb r1, [sp] ldrb r2, [sp, #1] ldr r0, [r0] - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci cmp r0, #0x18 bgt _0211973c bge _02119754 @@ -8365,7 +8365,7 @@ func_ov12_0211986c: ; 0x0211986c mov r5, r0 ldr r0, [r2] mov r4, r1 - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev ldr r2, [r4] ldrb r1, [r5, #0x118] sub r0, r2, r0 @@ -8397,7 +8397,7 @@ func_ov12_0211986c: ; 0x0211986c orr r1, r2, r1, asr #3 strb r1, [r5, #0x11a] ldr r0, [r0] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldr r2, [r4, #8] ldrb r1, [r5, #0x11a] sub r0, r2, r0 @@ -8442,7 +8442,7 @@ func_ov12_02119968: ; 0x02119968 orrne r6, r6, #0x3fc0000 ldr r0, [r0] orrne r6, r6, #0xfc000000 - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev add r0, r6, r0 str r0, [r4] ldrb r1, [r5, #0x119] @@ -8472,7 +8472,7 @@ func_ov12_02119968: ; 0x02119968 orrne r5, r5, #0x3fc0000 ldr r0, [r0] orrne r5, r5, #0xfc000000 - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev add r0, r5, r0 str r0, [r4, #8] ldmia sp!, {r4, r5, r6, pc} @@ -9492,7 +9492,7 @@ _0211a834: add r1, sp, #8 ldr r0, [r0] mov r2, r4 - bl func_ov00_02083664 + bl _ZN10MapManager18func_ov00_02083664EP5Vec3pi cmp r0, #0 beq _0211a884 mov r0, #1 @@ -10865,7 +10865,7 @@ func_ov12_0211b9c4: ; 0x0211b9c4 str r2, [sp, #8] add r1, sp, #0 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r6, r8] add r2, r0, #0x148 cmp r1, r2 @@ -27793,11 +27793,11 @@ func_ov12_021296a4: ; 0x021296a4 bl func_ov12_0212a258 ldr r0, _0212975c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev ldr r1, _0212975c ; =data_027e0e60 mov r4, r0 ldr r0, [r1] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldrb r1, [r5, #0x11b] cmp r1, #0 ldmneia sp!, {r3, r4, r5, pc} @@ -28547,7 +28547,7 @@ func_ov12_0212a104: ; 0x0212a104 bge _0212a15c ldr r0, _0212a164 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084114 + bl _ZN10MapManager17GetMapData_Unk_48Ev ldr r1, [r5, #0x4c] cmp r1, r0 ble _0212a15c @@ -28573,12 +28573,12 @@ func_ov12_0212a168: ; 0x0212a168 ldr r1, [r2] add r0, sp, #0 add r2, r5, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, _0212a230 ; =data_027e0e60 ldrb r1, [sp] ldrb r2, [sp, #1] ldr r0, [r0] - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci cmp r0, #0x18 bgt _0212a1e0 cmp r0, #0x17 @@ -28872,11 +28872,11 @@ _0212a520: bl func_ov12_0212a234 ldr r0, _0212a618 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev ldr r1, _0212a618 ; =data_027e0e60 mov r4, r0 ldr r0, [r1] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldrb r1, [r5, #0x24c] ldr ip, [sp] bic r3, r1, #0xe0 @@ -29016,7 +29016,7 @@ _0212a740: add r1, sp, #0x14 str r2, [sp, #0x1c] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r6, #0x22c] mvn r4, #0 bl func_ov00_02079e3c @@ -29029,12 +29029,12 @@ _0212a740: add r0, sp, #0 ldr r1, [r1] add r2, r6, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, _0212a9ec ; =data_027e0e60 ldrb r1, [sp] ldrb r2, [sp, #1] ldr r0, [r0] - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci mov r1, r4 str r1, [r6, #0x238] mov r1, #0 @@ -29082,7 +29082,7 @@ _0212a830: add r0, sp, #4 add r2, sp, #8 str r3, [sp, #0x10] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #4] mov r0, r0, lsr #0x9 and r0, r0, #3 @@ -29259,13 +29259,13 @@ func_ov12_0212aa8c: ; 0x0212aa8c ldr r0, [r1] mov r1, #0 str r1, [sp, #8] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev mov r1, #3 mov r7, r0 bl func_01ff9b4c ldr r0, _0212ad00 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv str r0, [sp] mov r0, #0 ldr r4, _0212ad04 ; =data_027e0764 @@ -29324,7 +29324,7 @@ _0212ab90: mov r1, r8 ldr r0, [r0] mov r2, r9 - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci mov r5, r0 ldr r0, _0212ad00 ; =data_027e0e60 ldr r2, _0212ad08 ; =func_ov00_020b1940 @@ -29337,7 +29337,7 @@ _0212ab90: mov r0, r6 mov r1, r8 mov r2, r9 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci ldr r1, [r10, #0x18] cmp r0, r1 bne _0212acec @@ -29348,13 +29348,13 @@ _0212ab90: beq _0212acec mov r1, r8 mov r0, r6 - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [sp, #0x24] ldr r2, [r10, #0x4c] mov r1, r9 mov r0, r6 str r2, [sp, #0x28] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei str r0, [sp, #0x2c] mov r0, r10 add r1, sp, #0x24 @@ -29370,7 +29370,7 @@ _0212ab90: mov r0, r6 add r1, sp, #0x18 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r0, [sp, #0x28] ldr r1, [sp, #0x24] str r0, [sp, #0x10] @@ -29381,7 +29381,7 @@ _0212ab90: str r1, [sp, #0x14] mov r1, #0xe add r2, sp, #0xc - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 @@ -29717,12 +29717,12 @@ _0212b0bc: add r0, sp, #0 ldr r1, [r1] add r2, r4, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, _0212b13c ; =data_027e0e60 ldrb r1, [sp] ldrb r2, [sp, #1] ldr r0, [r0] - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci cmp r0, #0x18 cmpne r0, #0x2c cmpne r0, #0x2d @@ -30531,7 +30531,7 @@ func_ov12_0212ba84: ; 0x0212ba84 ldrb r1, [r6, #1] ldr r0, [r2] mov r5, r3 - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r4, r0 mov r0, r8 ldr r2, [r0] @@ -30542,7 +30542,7 @@ func_ov12_0212ba84: ; 0x0212ba84 mov r9, r0 ldr r0, [r1] ldrb r1, [r6] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [sp, #0x10] str r9, [sp, #0x14] str r4, [sp, #0x18] @@ -33924,11 +33924,11 @@ func_ov12_0212e3e8: ; 0x0212e3e8 _0212e42c: ldr r0, _0212e4cc ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev ldr r1, _0212e4cc ; =data_027e0e60 mov r4, r0 ldr r0, [r1] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldrb r2, [r5, #0x218] ldrb r1, [r5, #0x219] ldrb ip, [r5, #0x21a] @@ -34460,11 +34460,11 @@ _0212eb6c: orr r1, r2, r1, lsr #26 strb r1, [r5, #0x218] ldr r0, [r0] - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev ldr r1, _0212eca8 ; =data_027e0e60 mov r6, r0 ldr r0, [r1] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldr r2, [r5, #0x48] ldrb r1, [r5, #0x218] sub r2, r2, r6 @@ -34542,7 +34542,7 @@ func_ov12_0212ecb0: ; 0x0212ecb0 ldr r1, [r1] add r0, sp, #0 add r2, r4, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r1, [r4, #0x48] ldr r0, _0212ed4c ; =data_027e0e60 str r1, [sp, #8] @@ -34553,7 +34553,7 @@ func_ov12_0212ecb0: ; 0x0212ecb0 add r0, sp, #4 add r2, sp, #8 str r3, [sp, #0x10] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldrb r1, [sp] ldrb r0, [sp, #1] sub r2, sp, #4 @@ -35602,7 +35602,7 @@ _0212fa9c: ldr r0, _0212fb04 ; =data_027e0e60 add r1, r6, #0x74 ldr r0, [r0] - bl func_ov00_020839c4 + bl _ZN10MapManager18func_ov00_020839c4Ei mov r0, r6 bl func_ov12_021306ec add r0, r6, #0xd8 @@ -35651,7 +35651,7 @@ _0212fb40: ldr r0, _0212fba0 ; =data_027e0e60 add r1, r6, #0x74 ldr r0, [r0] - bl func_ov00_020839c4 + bl _ZN10MapManager18func_ov00_020839c4Ei mov r0, r6 bl func_ov12_021306ec add r0, r6, #0xd8 @@ -35829,7 +35829,7 @@ _0212fc68: str r3, [r4, #0x84] strb r2, [r4, #0x78] ldr r0, [r0] - bl func_ov00_020839b4 + bl _ZN10MapManager18func_ov00_020839b4Ei mov r0, r4 bl func_ov12_021306b0 ldr r0, _0212fea0 ; =0x0000026e @@ -36741,11 +36741,11 @@ func_ov12_02130994: ; 0x02130994 ldr r1, _02130a90 ; =data_027e0e60 mov r5, r0 ldr r0, [r1] - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev ldr r1, _02130a90 ; =data_027e0e60 mov r4, r0 ldr r0, [r1] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldrb r1, [r5, #0x73a] ldrb r2, [r5, #0x739] mov r1, r1, lsl #0x1c @@ -37609,7 +37609,7 @@ func_ov12_021314e8: ; 0x021314e8 str ip, [sp, #4] ldr ip, [r4, #0x5c] str ip, [sp, #8] - bl func_ov00_02083ef8 + bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ ldr r1, _021315b8 ; =data_ov12_02137680 str r0, [r4, #0x4c] ldr r2, [r1, #0x28] @@ -38134,11 +38134,11 @@ _02131c90: beq _02131d64 ldr r0, _02131d78 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev ldr r1, _02131d78 ; =data_027e0e60 mov r5, r0 ldr r0, [r1] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldr r2, [r4, #0x73c] ldrb r1, [r4, #0x739] sub r2, r2, r5 @@ -38700,7 +38700,7 @@ func_ov12_0213234c: ; 0x0213234c add r2, sp, #0 str r1, [sp, #8] ldr r1, [r3, #4] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji add sp, sp, #0xc ldmia sp!, {pc} _021323b8: @@ -41102,7 +41102,7 @@ func_ov12_02134300: ; 0x02134300 ldr r0, [r1] ldr r1, [r4, #0x5c] add r2, sp, #0 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} diff --git a/asm/ov14/Actor/ActorRupee.inc b/asm/ov14/Actor/ActorRupee.inc index 4e78a6c5..e9efdb15 100644 --- a/asm/ov14/Actor/ActorRupee.inc +++ b/asm/ov14/Actor/ActorRupee.inc @@ -1,4 +1,5 @@ #pragma once +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i .extern _ZN11ItemManager10GiveRupeesEjj .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p @@ -49,8 +50,11 @@ .extern _ZN5Actor8vfunc_b0Ev .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN9ActorTypeC1EjPFP5ActorvEPv +.extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj +.extern __register_global_object .extern data_027e0764 .extern data_027e0e60 .extern data_027e0fc8 @@ -60,12 +64,8 @@ .extern func_01ff9bc4 .extern func_01fffd04 .extern func_0202bc38 -.extern _ZN9ActorTypeC1EjPFP5ActorvEPv -.extern _ZN9ActorTypeD1Ev -.extern __register_global_object .extern func_ov00_0207a13c .extern func_ov00_0207a1c8 -.extern func_ov00_02083fb0 .extern func_ov00_020bce48 .extern func_ov00_020c5a24 .extern func_ov00_020d7ad4 diff --git a/asm/ov14/Actor/ActorRupee.s b/asm/ov14/Actor/ActorRupee.s index 0b8d0e2b..c5d567e4 100644 --- a/asm/ov14/Actor/ActorRupee.s +++ b/asm/ov14/Actor/ActorRupee.s @@ -440,7 +440,7 @@ _0213b3cc: add r0, sp, #0 add r2, sp, #4 str r3, [sp, #0xc] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp] mov r0, r0, lsr #0x5 and r0, r0, #3 diff --git a/asm/ov14/ov14_0211f640.inc b/asm/ov14/ov14_0211f640.inc index 4b5c9749..e2e3a669 100644 --- a/asm/ov14/ov14_0211f640.inc +++ b/asm/ov14/ov14_0211f640.inc @@ -1,6 +1,44 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager16MapData_vfunc_58Ev +.extern _ZN10MapManager16MapData_vfunc_60Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_6cEv +.extern _ZN10MapManager16MapData_vfunc_70Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager16MapData_vfunc_7cEv +.extern _ZN10MapManager16MapData_vfunc_b4Ev +.extern _ZN10MapManager17GetMapData_Unk_09Ev +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager18func_ov00_020823d4Ei +.extern _ZN10MapManager18func_ov00_020823e4Ei +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02083780Ei +.extern _ZN10MapManager18func_ov00_02083978EiP5Vec3p +.extern _ZN10MapManager18func_ov00_020839b4Ei +.extern _ZN10MapManager18func_ov00_020839c4Ei +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020840a0Ecci +.extern _ZN10MapManager18func_ov00_020840dcEv +.extern _ZN10MapManager18func_ov00_020843ecEPi +.extern _ZN10MapManager18func_ov00_02084ac4Ej +.extern _ZN10MapManager18func_ov00_02084c7cEi +.extern _ZN10MapManager18func_ov00_02084cb0Ei +.extern _ZN10MapManager18func_ov00_02084cc8Ei +.extern _ZN10MapManager18func_ov00_02084ce4Ei +.extern _ZN10MapManager18func_ov00_02084cfcEi +.extern _ZN10MapManager18func_ov00_02084ebcEi +.extern _ZN10MapManager8SpawnNPCEP5Vec3pii .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN11ItemManager12GetEquipItemEi .extern _ZN11ItemManager12GetItemModelEj @@ -257,44 +295,6 @@ .extern func_ov00_02081f4c .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_020823d4 -.extern func_ov00_020823e4 -.extern func_ov00_020823f4 -.extern func_ov00_02082680 -.extern func_ov00_020826a0 -.extern func_ov00_020828c0 -.extern func_ov00_02082d08 -.extern func_ov00_0208335c -.extern func_ov00_02083368 -.extern func_ov00_02083780 -.extern func_ov00_02083978 -.extern func_ov00_020839b4 -.extern func_ov00_020839c4 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083c7c -.extern func_ov00_02083e34 -.extern func_ov00_02083e58 -.extern func_ov00_02083ee0 -.extern func_ov00_02083f80 -.extern func_ov00_02083f98 -.extern func_ov00_02083fb0 -.extern func_ov00_02084088 -.extern func_ov00_020840a0 -.extern func_ov00_020840c4 -.extern func_ov00_020840dc -.extern func_ov00_0208414c -.extern func_ov00_020843ec -.extern func_ov00_02084a5c -.extern func_ov00_02084ac4 -.extern func_ov00_02084c7c -.extern func_ov00_02084cb0 -.extern func_ov00_02084cc8 -.extern func_ov00_02084ce4 -.extern func_ov00_02084cfc -.extern func_ov00_02084d18 -.extern func_ov00_02084ebc .extern func_ov00_020875f8 .extern func_ov00_02087d34 .extern func_ov00_02088000 diff --git a/asm/ov14/ov14_0211f640.s b/asm/ov14/ov14_0211f640.s index 1584d43e..639e0deb 100644 --- a/asm/ov14/ov14_0211f640.s +++ b/asm/ov14/ov14_0211f640.s @@ -345,11 +345,11 @@ _0211f9f8: ldrb r6, [r0] ldrb r1, [r0, #1] mov r0, r9 - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r1, r6 mov r6, r0 mov r0, r9 - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [sp, #0x14] mov r0, #0 str r0, [sp, #0x18] @@ -3276,7 +3276,7 @@ _02122124: add r1, sp, #0x2c add r2, sp, #0x98 str r3, [sp, #0x34] - bl func_ov00_02083978 + bl _ZN10MapManager18func_ov00_02083978EiP5Vec3p cmp r0, #0 beq _02122170 ldr r0, [sp, #0x9c] @@ -3337,10 +3337,10 @@ _02122174: strb r7, [sp, #0x100] strb r7, [sp, #0x101] str r3, [sp, #0x94] - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #4 mov r0, r6 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r6, r0 beq _02122358 ldr r1, [r0] @@ -3744,7 +3744,7 @@ _02122820: add r1, sp, #0x14 add r2, sp, #0x5c str r3, [sp, #0x1c] - bl func_ov00_02083978 + bl _ZN10MapManager18func_ov00_02083978EiP5Vec3p cmp r0, #0 movne r6, #1 _02122864: @@ -5970,7 +5970,7 @@ _0212448c: add r1, sp, #0x74 str r2, [sp, #0x7c] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x4c] cmp r0, r1 ble _02124510 @@ -6026,7 +6026,7 @@ _02124580: add r0, sp, #0xc add r2, r5, #0x48 strb r3, [sp, #0xf] - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r3, [sp, #0xc] ldrb r1, [sp, #0xe] ldrb r2, [sp, #0xd] @@ -6054,7 +6054,7 @@ _02124608: add r1, sp, #0x98 strb r2, [r3, #1] ldr r2, [r3] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi add r0, sp, #0x98 add r2, sp, #0x8c add r1, r5, #0x48 @@ -6080,7 +6080,7 @@ _02124668: add r0, sp, #0x1c add r2, sp, #0x68 str r3, [sp, #0x70] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r1, [r5, #0x48] ldr r0, _02124c54 ; =data_027e0e60 str r1, [sp, #0x5c] @@ -6099,12 +6099,12 @@ _02124668: ldr r3, [r5, #0x50] mov r2, r6 str r3, [sp, #0x58] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r8, r0 add r1, sp, #0x50 mov r0, r7 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev cmp r8, r0 bne _02124710 ldr r0, [sp, #0x1c] @@ -6192,7 +6192,7 @@ _021247d8: mov r2, #1 add r3, r7, r3 str r3, [sp, #0x84] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r5, #0x90] add r1, r6, #0xcc add r2, r2, r0 @@ -6241,7 +6241,7 @@ _021248a8: str r3, [sp, #0x48] ldr r3, [r5, #0x50] str r3, [sp, #0x4c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #0x4c] ldrb r0, [r5, #0x112] cmp r0, #0 @@ -6299,7 +6299,7 @@ _021249a4: add r1, sp, #0x38 str r2, [sp, #0x40] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x90] ldr r2, [r5, #0x4c] add r0, r1, r0 @@ -6318,7 +6318,7 @@ _021249a4: add r0, sp, #0x10 add r2, sp, #0x2c str r3, [sp, #0x34] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #0x10] mov r1, r0 mov r0, r0, lsr #0x5 @@ -6391,7 +6391,7 @@ _02124af0: add r1, sp, #0x20 str r2, [sp, #0x28] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x4c] cmp r1, r0 mov r0, r5 @@ -6869,7 +6869,7 @@ func_ov14_02125100: ; 0x02125100 ldr r2, _02125124 ; =data_027e0e60 ldrsh r1, [r0, #0x34] ldr r0, [r2] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 movne r0, #8 moveq r0, #3 @@ -7052,7 +7052,7 @@ func_ov14_021252b8: ; 0x021252b8 strb r2, [sp, #0xc] mov r2, #1 strb r3, [sp, #0xd] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r2, [sp, #0xc] ldr r0, _02125598 ; =data_027e0e60 add r1, sp, #0xc @@ -7060,7 +7060,7 @@ func_ov14_021252b8: ; 0x021252b8 ldr r0, [r0] mov r2, #1 strb r3, [sp, #0xc] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii _02125340: mov r0, r5 bl func_ov00_0208c214 @@ -7096,7 +7096,7 @@ _02125340: add r1, sp, #4 strb r2, [sp, #4] strb r3, [sp, #5] - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev mov r4, r0 ldrh r0, [r5, #0x2a] ldrb r1, [r5, #0x14] @@ -7109,7 +7109,7 @@ _02125340: add r1, sp, #0xa strb r3, [sp, #0xb] strb r2, [sp, #0xa] - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev cmp r0, r4 ldrgt r0, [sp, #0x50] ldrb r2, [sp, #0xa] @@ -7120,7 +7120,7 @@ _02125340: ldr r0, [r0] add r1, sp, #0xa strb r2, [sp, #0xa] - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev cmp r0, r4 ble _021254a0 ldr r0, [sp, #0x44] @@ -7135,7 +7135,7 @@ _02125444: add r1, sp, #8 strb r3, [sp, #9] strb r2, [sp, #8] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x50] ldrb r2, [sp, #8] @@ -7146,7 +7146,7 @@ _02125444: ldr r0, [r0] add r1, sp, #8 strb r2, [sp, #8] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x44] addeq r0, r0, #0x800 @@ -7160,13 +7160,13 @@ _021254a0: add r1, sp, #6 strb r3, [sp, #6] strb r2, [sp, #7] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 bne _021254ec ldr r0, _02125598 ; =data_027e0e60 add r1, sp, #6 ldr r0, [r0] - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev cmp r4, r0 ldreq r0, [sp, #0x58] subeq r0, r0, #0x800 @@ -7424,14 +7424,14 @@ _02125864: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084ce4 + bl _ZN10MapManager18func_ov00_02084ce4Ei ldmia sp!, {r4, pc} _02125890: ldr r0, _021258b0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0212559c @@ -7571,7 +7571,7 @@ _021259c4: add r1, r4, #0x18 mov r2, #1 mov r3, #0 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r4, #0x64] add r0, sp, #0xb0 bl func_ov00_0209a508 @@ -7656,7 +7656,7 @@ _02125b40: ldr r0, _02125c18 ; =data_027e0e60 ldr r1, [r4, #0x64] ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej mvn r0, #0 str r0, [r4, #0x64] _02125b88: @@ -7689,7 +7689,7 @@ _02125bd8: ldr r0, _02125c18 ; =data_027e0e60 ldr r1, [r4, #0x64] ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej mvn r0, #0 str r0, [r4, #0x64] _02125bfc: @@ -7766,7 +7766,7 @@ _02125cd8: ldr r0, _02125d48 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cfc + bl _ZN10MapManager18func_ov00_02084cfcEi cmp r0, #0 movne r0, #8 ldmneia sp!, {r4, pc} @@ -7781,7 +7781,7 @@ _02125d10: ldr r0, _02125d48 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 movne r0, #8 ldmneia sp!, {r4, pc} @@ -8159,7 +8159,7 @@ func_ov14_02126114: ; 0x02126114 ldr r2, _02126138 ; =data_027e0e60 ldrsh r1, [r0, #0x34] ldr r0, [r2] - bl func_ov00_02084cfc + bl _ZN10MapManager18func_ov00_02084cfcEi cmp r0, #0 movne r0, #8 moveq r0, #3 @@ -8885,7 +8885,7 @@ _02126898: add r1, sp, #6 strb r3, [sp, #6] strb ip, [sp, #7] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii b _02126a20 _02126958: ldr r0, [r5, #0x18] @@ -8937,7 +8937,7 @@ _02126958: mov r2, #1 strb r3, [sp, #4] strb ip, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii _02126a20: ldr r1, [r5, #4] mov r0, r5 @@ -9401,7 +9401,7 @@ _02127064: add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldmia sp!, {r4, pc} _021270b0: ldrb r1, [r4, #0x7c] @@ -9421,7 +9421,7 @@ _021270b0: add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldmia sp!, {r4, pc} _021270fc: ldr r1, [r0] @@ -9438,7 +9438,7 @@ _021270fc: add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldmia sp!, {r4, pc} _0212713c: ldrb r0, [r4, #0x7c] @@ -9456,7 +9456,7 @@ _0212713c: ldr r0, [r0] add r1, r4, #0x38 mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_02127034 @@ -9586,7 +9586,7 @@ _02127338: ldrsh r1, [r5, #0x34] ldr r0, [r0] mov r2, #0 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei b _021276a0 _02127358: ldrb r0, [r5, #0x8a] @@ -9614,7 +9614,7 @@ _0212739c: ldr r0, [r0] add r1, r5, #0x38 mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi mov r0, #1 strb r0, [r5, #0x3c] b _021276a0 @@ -9752,7 +9752,7 @@ _02127548: ldr r0, [r0] add r1, r5, #0x18 mov r3, #2 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _021276a0 _021275cc: ldr r0, _021276b0 ; =data_027e0e60 @@ -9760,7 +9760,7 @@ _021275cc: ldr r0, [r0] add r1, r5, #0x18 mov r3, #1 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _021276a0 _021275e8: ldrb r1, [r5, #0x7f] @@ -9800,7 +9800,7 @@ _02127644: ldrsh r1, [r5, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei _02127674: mov r1, #0 ldr r0, _021276b0 ; =data_027e0e60 @@ -9808,7 +9808,7 @@ _02127674: ldr r0, [r0] add r1, r5, #0x38 mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi mov r0, #0 strh r0, [r5, #0x7a] mov r0, #0x1000 @@ -9835,14 +9835,14 @@ func_ov14_021276c0: ; 0x021276c0 arm_func_start func_ov14_021276c4 func_ov14_021276c4: ; 0x021276c4 ldr r2, _021276d8 ; =data_027e0e60 - ldr ip, _021276dc ; =func_ov00_02084cc8 + ldr ip, _021276dc ; =_ZN10MapManager18func_ov00_02084cc8Ei ldrsh r1, [r0, #0x34] ldr r0, [r2] bx ip .align 2, 0 arm_func_end func_ov14_021276c4 _021276d8: .word data_027e0e60 -_021276dc: .word func_ov00_02084cc8 +_021276dc: .word _ZN10MapManager18func_ov00_02084cc8Ei .global func_ov14_021276e0 arm_func_start func_ov14_021276e0 @@ -10061,7 +10061,7 @@ func_ov14_02127984: ; 0x02127984 ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldrb r0, [r4, #0x81] cmp r0, #0 ldrneb r0, [r4, #0x7c] @@ -10258,7 +10258,7 @@ _02127c10: mov r2, r9 strb r6, [sp, #4] strb r7, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrb r0, [r10, #0x15] add r7, r7, #1 add r0, r0, r8 @@ -10524,7 +10524,7 @@ _02127edc: ldr r2, _02127ef4 ; =data_027e0e60 ldrsh r1, [r0, #0x34] ldr r0, [r2] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov14_02127eb8 @@ -13626,7 +13626,7 @@ func_ov14_0212a758: ; 0x0212a758 ldr r0, _0212a91c ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 ldr r3, [r0] @@ -13758,7 +13758,7 @@ _0212aa30: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldr r0, [r4, #4] orr r0, r0, #4 str r0, [r4, #4] @@ -14040,14 +14040,14 @@ func_ov14_0212acdc: ; 0x0212acdc add r1, sp, #4 strb r3, [sp, #5] mov r2, #1 - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrh r0, [r4, #0x26] cmp r0, #1 bne _0212ae78 ldr r0, _0212ae9c ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 ldr r3, [r0] @@ -14166,7 +14166,7 @@ _0212af98: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldr r0, [r4, #4] orr r0, r0, #4 str r0, [r4, #4] @@ -14247,22 +14247,22 @@ func_ov14_0212b0c0: ; 0x0212b0c0 ldrh r5, [r6, #0x2a] ldr r0, [r0] mov r1, r4 - bl func_ov00_020823d4 + bl _ZN10MapManager18func_ov00_020823d4Ei ldr r1, _0212b124 ; =data_027e0e60 str r0, [r6, #0xcc] ldr r0, [r1] mov r1, r4 - bl func_ov00_020823e4 + bl _ZN10MapManager18func_ov00_020823e4Ei ldr r1, _0212b124 ; =data_027e0e60 str r0, [r6, #0xd0] ldr r0, [r1] mov r1, r5 - bl func_ov00_020823d4 + bl _ZN10MapManager18func_ov00_020823d4Ei ldr r1, _0212b124 ; =data_027e0e60 str r0, [r6, #0xd4] ldr r0, [r1] mov r1, r5 - bl func_ov00_020823e4 + bl _ZN10MapManager18func_ov00_020823e4Ei str r0, [r6, #0xd8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 @@ -14292,7 +14292,7 @@ func_ov14_0212b128: ; 0x0212b128 bl func_0201933c ldr r0, _0212b1f8 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020823f4 + bl _ZN10MapManager16MapData_vfunc_b4Ev mov r4, r0 mov r0, r5 mov r1, r4 @@ -14513,11 +14513,11 @@ func_ov14_0212b31c: ; 0x0212b31c add r1, sp, #4 mov r2, #1 strb r3, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, _0212b4c0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 ldr r3, [r0] @@ -14632,7 +14632,7 @@ _0212b5d8: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldr r0, _0212b654 ; =data_027e0f68 mov r1, #0x19 ldr r0, [r0] @@ -14910,7 +14910,7 @@ _0212b97c: mov r2, r9 strb r3, [sp, #4] strb ip, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii add r6, r6, #1 cmp r6, #2 blt _0212b97c @@ -16234,7 +16234,7 @@ _0212ca00: str r2, [r3, #0x68] ldr r0, [r0] add r1, r3, #0x38 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _0212ca68 _0212ca20: mov r0, #0 @@ -16257,7 +16257,7 @@ _0212ca48: ldr r0, [r0] add r1, r3, #0x38 mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi _0212ca68: mov r0, #1 ldmia sp!, {r3, pc} @@ -16652,7 +16652,7 @@ _0212cf34: ldr r0, [r0] add r1, r4, #0x38 mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _0212cfac _0212cf58: ldr r0, _0212cfb8 ; =data_027e0ffc @@ -16673,7 +16673,7 @@ _0212cf8c: add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r0, [r4, #4] bic r0, r0, #1 str r0, [r4, #4] @@ -18991,7 +18991,7 @@ func_ov14_0212eca8: ; 0x0212eca8 add r2, sp, #0 add r3, sp, #4 add r1, r4, #0x18 - bl func_ov00_02083f80 + bl _ZN10MapManager16MapData_vfunc_6cEv ldr r1, [sp] mov r0, r4 str r1, [r4, #0x1c] @@ -19130,7 +19130,7 @@ func_ov14_0212ee58: ; 0x0212ee58 ldrb r2, [r5, #0x15] ldr r0, [r0] mov r4, #0 - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci mov r1, #0 cmp r0, #0x30 cmpne r0, #0x40 @@ -19489,7 +19489,7 @@ _0212f374: _0212f380: ldr r0, _0212f554 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084d18 + bl _ZN10MapManager17GetMapData_Unk_09Ev cmp r0, #0 addeq sp, sp, #0x58 ldmeqia sp!, {r4, r5, r6, pc} @@ -19501,7 +19501,7 @@ _0212f380: mov r2, #6 strb r3, [sp, #4] strb r4, [sp, #5] - bl func_ov00_0208414c + bl _ZN10MapManager16MapData_vfunc_58Ev cmp r0, #0 addne sp, sp, #0x58 ldmneia sp!, {r4, r5, r6, pc} @@ -19985,7 +19985,7 @@ _0212fa20: mov r0, r10 mov r2, r6 ldrsh r3, [r4, #0xc] - bl func_ov00_020828c0 + bl _ZN10MapManager16MapData_vfunc_7cEv cmp r0, #0 beq _0212faa0 ldrh r0, [r4, #0x24] @@ -19995,7 +19995,7 @@ _0212fa20: bne _0212faa0 ldr r0, [r5] mov r1, r6 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 strneb r11, [r0, #0xa9] _0212faa0: @@ -20123,7 +20123,7 @@ _0212fb88: ldr r0, [r2] strb r3, [sp, #0xe] strb r6, [sp, #0xf] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r6, r0 beq _0212fd7c ldr r1, [r0] @@ -20188,7 +20188,7 @@ _0212fc6c: ldr r0, [r2] strb r3, [sp, #0xc] strb r6, [sp, #0xd] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r6, r0 beq _0212fd7c ldr r1, [r0] @@ -20542,7 +20542,7 @@ _02130198: ldr r0, _021304bc ; =data_027e0e60 ldr r1, [r6, #0x6c] ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej mvn r2, #0 add r1, sp, #0x1c mov r0, r6 @@ -20590,7 +20590,7 @@ _02130268: ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r6, #0x6c] _02130290: add r0, sp, #0xd8 @@ -20643,7 +20643,7 @@ _02130318: ldr r0, _021304bc ; =data_027e0e60 ldr r1, [r6, #0x6c] ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej mvn r2, #0 add r1, sp, #0x10 mov r0, r6 @@ -20684,7 +20684,7 @@ _021303c0: ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r6, #0x6c] _021303e8: add r0, sp, #0x28 @@ -21177,11 +21177,11 @@ func_ov14_021309bc: ; 0x021309bc bne _02130a70 ldr r0, _02130be0 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldr r1, _02130be0 ; =data_027e0e60 str r0, [sp] ldr r0, [r1] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r8, r0 ldr r0, [sp] mov r11, #0 @@ -21199,7 +21199,7 @@ _02130a1c: mov r1, r6 strb r7, [sp, #6] strb r9, [sp, #7] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _02130a54 ldr r1, [r0] @@ -21263,7 +21263,7 @@ _02130b08: mov r1, r5 strb r6, [sp, #4] strb r8, [sp, #5] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 cmpne r4, r10 beq _02130b64 @@ -21712,11 +21712,11 @@ _02131100: ldr r0, _02131410 ; =data_027e0e60 strb r1, [r4, #0x78] ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldr r1, _02131410 ; =data_027e0e60 str r0, [sp, #0xc] ldr r0, [r1] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r10, r0 ldr r0, [sp, #0xc] mov r8, #0 @@ -21739,7 +21739,7 @@ _021311d0: mov r1, r6 strb r7, [sp, #0x12] strb r9, [sp, #0x13] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _02131224 ldr r1, [r0] @@ -21767,7 +21767,7 @@ _02131240: beq _0213125c ldr r0, _02131410 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej _0213125c: ldr r0, _02131410 ; =data_027e0e60 ldr r5, [r4, #0x88] @@ -21780,7 +21780,7 @@ _0213125c: str r5, [sp, #0x24] mov r2, #1 mov r3, #0 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r4, #0x74] add r0, sp, #0x34 bl func_ov00_0209a508 @@ -21815,7 +21815,7 @@ _021312f4: ldr r0, [r0] strb r8, [sp, #0x10] strb r10, [sp, #0x11] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r6, r0 beq _02131330 ldr r1, [r0] @@ -21979,23 +21979,23 @@ func_ov14_021314b8: ; 0x021314b8 str r1, [sp, #8] ldr r1, [sp] add r7, r1, #0xa - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldr r1, [sp, #8] cmp r1, r0 blt _02131520 ldr r0, _021316c0 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #8] _02131520: ldr r0, _021316c0 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv cmp r7, r0 blt _02131544 ldr r0, _021316c0 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r7, r0 _02131544: ldr r8, [sp] @@ -22011,7 +22011,7 @@ _02131560: mov r1, r6 strb r2, [sp, #0xe] strb r8, [sp, #0xf] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev mov r5, r0 cmp r5, r10 beq _021315c0 @@ -22063,7 +22063,7 @@ _02131620: ldr r0, [r0] strb r6, [sp, #0xc] strb r9, [sp, #0xd] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev mov r5, r0 cmp r5, r10 beq _02131678 @@ -24731,7 +24731,7 @@ _021338b4: ldr r0, _02133924 ; =data_027e0e60 add r1, r7, #0x6c ldr r0, [r0] - bl func_ov00_020839c4 + bl _ZN10MapManager18func_ov00_020839c4Ei ldr r3, _02133928 ; =func_ov14_02121cd8 add r0, r7, #0xac mov r1, #2 @@ -24776,7 +24776,7 @@ _0213394c: ldr r0, _021339b4 ; =data_027e0e60 add r1, r7, #0x6c ldr r0, [r0] - bl func_ov00_020839c4 + bl _ZN10MapManager18func_ov00_020839c4Ei ldr r3, _021339b8 ; =func_ov14_02121cd8 add r0, r7, #0xac mov r1, #2 @@ -24891,7 +24891,7 @@ func_ov14_021339bc: ; 0x021339bc ldr r2, [sp, #0x28] str r2, [r4, #0x7c] ldr r0, [r0] - bl func_ov00_020839b4 + bl _ZN10MapManager18func_ov00_020839b4Ei mov r0, #0x270 str r0, [r4, #0xb0] mov r1, #4 @@ -24902,7 +24902,7 @@ func_ov14_021339bc: ; 0x021339bc ldr r0, _02133c58 ; =data_027e0e60 add r1, r4, #0x18 ldr r0, [r0] - bl func_ov00_02084ebc + bl _ZN10MapManager18func_ov00_02084ebcEi cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -24911,7 +24911,7 @@ func_ov14_021339bc: ; 0x021339bc add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldrh r0, [r4, #0x28] cmp r0, #1 bne _02133bbc @@ -25726,7 +25726,7 @@ func_ov14_02134554: ; 0x02134554 ldr r0, _02134670 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 ldr r3, [r0] @@ -25771,7 +25771,7 @@ _0213469c: add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _021347c0 _021346b4: cmp r2, #0 @@ -25830,7 +25830,7 @@ _02134770: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldr r1, [r4, #4] ldr r0, _021347cc ; =data_027e0e60 bic r1, r1, #0x10 @@ -25838,7 +25838,7 @@ _02134770: ldr r0, [r0] add r1, r4, #0x38 mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r0, [r4, #4] bic r0, r0, #1 str r0, [r4, #4] @@ -26014,7 +26014,7 @@ func_ov14_0213497c: ; 0x0213497c add r1, sp, #8 strb r2, [sp, #8] strb r3, [sp, #9] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x14 bgt _021349d0 bge _021349d8 @@ -26048,7 +26048,7 @@ _021349e0: ldrb r2, [r10, #0x15] ldr r0, [r0] sub r1, r1, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci b _02134a48 _02134a28: mov r0, #0x4000 @@ -26058,7 +26058,7 @@ _02134a28: ldrb r1, [r10, #0x14] ldr r0, [r0] sub r2, r2, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci _02134a48: str r0, [r10, #0x1c] ldrh r5, [r10, #0x26] @@ -26122,13 +26122,13 @@ _02134b1c: mov r2, r6 strb r8, [sp, #6] strb r9, [sp, #7] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r5 strb r8, [sp, #4] strb r9, [sp, #5] mov r2, r11 - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r1, [r10, #0x15] ldrb r0, [r10, #0x3a] add r9, r9, #1 @@ -27771,10 +27771,10 @@ func_ov14_02135f50: ; 0x02135f50 add r0, sp, #0 mov r1, r4 add r2, r2, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r4 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, pc} @@ -27819,7 +27819,7 @@ func_ov14_02135ff0: ; 0x02135ff0 ldr r1, [r1] add r0, sp, #0 add r2, r2, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r0, [sp, #1] ldr r5, _02136074 ; =data_027e0e60 mov r4, #0 @@ -27833,7 +27833,7 @@ _0213602c: mov r1, r8 sub r2, r2, r4 strb r2, [sp] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r7, r0 beq _02136060 ldr r1, [r0] @@ -27999,7 +27999,7 @@ _0213625c: add r0, sp, #0 ldr r1, [r1] add r2, r4, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, _02136350 ; =data_027e0e60 ldrb r2, [sp] ldrb r1, [sp, #1] @@ -28009,7 +28009,7 @@ _0213625c: strb r1, [r3, #1] ldr r2, [r3] add r1, r4, #0x48 - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi ldr r1, [r4, #0x48] mov r0, r4 str r1, [r4, #0x198] @@ -28364,7 +28364,7 @@ func_ov14_021366e4: ; 0x021366e4 add r0, sp, #8 ldr r1, [r1] add r2, r4, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r1, [sp, #8] ldr r0, _021368c4 ; =data_027e0e60 ldrb r2, [sp, #9] @@ -28373,7 +28373,7 @@ func_ov14_021366e4: ; 0x021366e4 add r1, sp, #6 strb r3, [sp, #6] strb r2, [sp, #7] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x54] ldrb r1, [sp, #8] @@ -28386,7 +28386,7 @@ func_ov14_021366e4: ; 0x021366e4 add r1, sp, #4 strb r3, [sp, #4] strb r2, [sp, #5] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x48] ldrb r1, [sp, #9] @@ -28399,7 +28399,7 @@ func_ov14_021366e4: ; 0x021366e4 add r1, sp, #2 strb r3, [sp, #2] strb r2, [sp, #3] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x5c] ldrb r1, [sp, #9] @@ -28412,7 +28412,7 @@ func_ov14_021366e4: ; 0x021366e4 add r1, sp, #0 strb r3, [sp] strb r2, [sp, #1] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x50] add lr, sp, #0x30 @@ -28746,7 +28746,7 @@ _02136c04: ldr r2, [sp, #0xc] str r2, [r4, #0x1e0] ldr r0, [r0] - bl func_ov00_020839b4 + bl _ZN10MapManager18func_ov00_020839b4Ei ldr r0, _02136d10 ; =0x0000026e mov r1, #2 str r0, [r4, #0x214] @@ -30829,7 +30829,7 @@ _021386e8: ldr r0, _021389d0 ; =data_027e0e60 add r1, sp, #0xa0 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 bne _021387f0 add r0, sp, #0x24 @@ -30893,7 +30893,7 @@ _02138890: ldr r0, _021389d0 ; =data_027e0e60 add r1, sp, #0x9e ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 bne _021388d8 add r0, sp, #0x24 @@ -31114,7 +31114,7 @@ func_ov14_02138b18: ; 0x02138b18 add r0, sp, #0xc add r2, sp, #0x1c str r3, [sp, #0x24] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #0xc] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -31133,7 +31133,7 @@ func_ov14_02138b18: ; 0x02138b18 ldr r2, [r6, #0x50] add r1, sp, #0x10 str r2, [sp, #0x18] - bl func_ov00_02083f98 + bl _ZN10MapManager16MapData_vfunc_70Ev ldr r1, _02138d54 ; =0x0000ffff mov r2, r0 cmp r2, r1 @@ -31176,14 +31176,14 @@ _02138c20: ldr r5, [r1] add r2, r6, #0x48 mov r1, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r4, sp, #0x54 add r2, sp, #4 mov r0, r5 mov r1, #0x1e mov r3, #0 str r4, [sp] - bl func_ov00_020828c0 + bl _ZN10MapManager16MapData_vfunc_7cEv add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} _02138c74: @@ -31232,7 +31232,7 @@ _02138d08: bl _ZN5Actor18func_ov00_020c1788Ev mov r4, r0 mov r0, r5 - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r4, r0 addne sp, sp, #0x68 ldmneia sp!, {r4, r5, r6, pc} @@ -31241,7 +31241,7 @@ _02138d08: ldrsh r1, [r0, #0x70] ldr r0, [r2] mov r2, #1 - bl func_ov00_02084c7c + bl _ZN10MapManager18func_ov00_02084c7cEi add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 @@ -31292,7 +31292,7 @@ func_ov14_02138dc0: ; 0x02138dc0 bl _ZN5Actor18func_ov00_020c1788Ev mov r4, r0 mov r0, r5 - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r4, r0 ldmneia sp!, {r4, r5, r6, pc} add r0, r6, #0x100 @@ -31300,7 +31300,7 @@ func_ov14_02138dc0: ; 0x02138dc0 ldrsh r1, [r0, #0x70] ldr r0, [r2] mov r2, #1 - bl func_ov00_02084c7c + bl _ZN10MapManager18func_ov00_02084c7cEi ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov14_02138dc0 @@ -32377,7 +32377,7 @@ _02139b24: ldr r2, [r4, #0x50] add r1, sp, #0 str r2, [sp, #8] - bl func_ov00_02083780 + bl _ZN10MapManager18func_ov00_02083780Ei ldr r2, _02139b80 ; =data_027e0fe4 mov r1, r0 ldr r0, [r2] @@ -33299,7 +33299,7 @@ _0213a68c: add r0, sp, #0 add r2, sp, #0x38 str r3, [sp, #0x40] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -33681,7 +33681,7 @@ _0213ab94: add r0, sp, #0 add r2, sp, #4 str r3, [sp, #0xc] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp] mov r0, r0, lsr #0x5 and r0, r0, #3 diff --git a/asm/ov14/ov14_0213b778.inc b/asm/ov14/ov14_0213b778.inc index 0c4d8178..d32a69a9 100644 --- a/asm/ov14/ov14_0213b778.inc +++ b/asm/ov14/ov14_0213b778.inc @@ -315,42 +315,42 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern func_ov00_020823c4 -.extern func_ov00_020823d4 -.extern func_ov00_020823e4 -.extern func_ov00_020823f4 -.extern func_ov00_02082680 -.extern func_ov00_020826a0 -.extern func_ov00_02082d08 -.extern func_ov00_02083344 -.extern func_ov00_02083350 -.extern func_ov00_0208335c -.extern func_ov00_02083368 -.extern func_ov00_0208344c -.extern func_ov00_020836dc -.extern func_ov00_02083770 -.extern func_ov00_02083790 -.extern func_ov00_02083840 -.extern func_ov00_020838e8 -.extern func_ov00_020839b4 -.extern func_ov00_020839c4 -.extern func_ov00_02083a1c -.extern func_ov00_02083e34 -.extern func_ov00_02083ee0 -.extern func_ov00_02084088 -.extern func_ov00_020840c4 -.extern func_ov00_020840dc -.extern func_ov00_020843ec -.extern func_ov00_02084984 -.extern func_ov00_02084990 -.extern func_ov00_020849c0 -.extern func_ov00_020849dc -.extern func_ov00_02084a5c -.extern func_ov00_02084ac4 -.extern func_ov00_02084c7c -.extern func_ov00_02084c94 -.extern func_ov00_02084cb0 -.extern func_ov00_02084cc8 +.extern _ZN10MapManager18func_ov00_020823c4EPii +.extern _ZN10MapManager18func_ov00_020823d4Ei +.extern _ZN10MapManager18func_ov00_020823e4Ei +.extern _ZN10MapManager16MapData_vfunc_b4Ev +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager20GetCourseData_Unk_86Ev +.extern _ZN10MapManager20GetCourseData_Unk_87Ev +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_02083790Ei +.extern _ZN10MapManager18func_ov00_02083840Ei +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_020839b4Ei +.extern _ZN10MapManager18func_ov00_020839c4Ei +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager18func_ov00_020840dcEv +.extern _ZN10MapManager18func_ov00_020843ecEPi +.extern _ZN10MapManager17GetMapData_Unk_06Ev +.extern _ZN10MapManager17GetMapData_Unk_07Ev +.extern _ZN10MapManager18func_ov00_020849c0Ev +.extern _ZN10MapManager18func_ov00_020849dcEv +.extern _ZN10MapManager8SpawnNPCEP5Vec3pii +.extern _ZN10MapManager18func_ov00_02084ac4Ej +.extern _ZN10MapManager18func_ov00_02084c7cEi +.extern _ZN10MapManager18func_ov00_02084c94Ei +.extern _ZN10MapManager18func_ov00_02084cb0Ei +.extern _ZN10MapManager18func_ov00_02084cc8Ei .extern func_ov00_0208726c .extern func_ov00_020876bc .extern func_ov00_0208819c diff --git a/asm/ov14/ov14_0213b778.s b/asm/ov14/ov14_0213b778.s index 1edeb224..51bc0854 100644 --- a/asm/ov14/ov14_0213b778.s +++ b/asm/ov14/ov14_0213b778.s @@ -2767,7 +2767,7 @@ func_ov14_0213d684: ; 0x0213d684 ldr r2, _0213d6dc ; =data_027e0e60 add r1, r0, #0x2c ldr r0, [r2] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _0213d6cc ldr r1, [r0] @@ -2975,7 +2975,7 @@ _0213d944: add r1, r6, #0x2c ldr r0, [r0] add r1, r1, r5 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r7, r0 beq _0213d990 ldr r1, [r0] @@ -3029,7 +3029,7 @@ _0213d9fc: ldr r0, _0213dad4 ; =data_027e0e60 mov r1, r8 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _0213daa4 mov r0, r10 @@ -3634,7 +3634,7 @@ func_ov14_0213e20c: ; 0x0213e20c add r1, r1, r6 mov r7, r2 mov r4, #0 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _0213e318 ldr r1, [r0] @@ -3739,7 +3739,7 @@ _0213e394: ldr r0, _0213e53c ; =data_027e0e60 mov r1, r7 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev _0213e3b4: cmp r9, #0 ldrne r0, [r9, #0x88] @@ -5127,7 +5127,7 @@ func_ov14_0213f37c: ; 0x0213f37c ldr r1, _0213f44c ; =data_027e0e60 mov r4, r0 ldr r0, [r1] - bl func_ov00_02084984 + bl _ZN10MapManager17GetMapData_Unk_06Ev cmp r0, #0 ldreq r0, _0213f450 ; =data_027e077c ldreq r0, [r0] @@ -7035,7 +7035,7 @@ _021408e0: cmp r1, #0 beq _02140c4c mov r0, r11 - bl func_ov00_020849dc + bl _ZN10MapManager18func_ov00_020849dcEv cmp r0, #0 beq _021409d0 add r1, sp, #0x14 @@ -7091,7 +7091,7 @@ _02140960: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _021409d0: mov r0, r11 - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 beq _02140bdc add r1, sp, #0x14 @@ -7261,7 +7261,7 @@ _02140c4c: cmp r0, #0 mov r0, r11 beq _02140db0 - bl func_ov00_020849dc + bl _ZN10MapManager18func_ov00_020849dcEv cmp r0, #0 beq _02140d2c cmp r8, #0 @@ -7316,7 +7316,7 @@ _02140cc8: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _02140d2c: mov r0, r11 - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 addne sp, sp, #0x38 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} @@ -7349,7 +7349,7 @@ _02140d2c: add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _02140db0: - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 beq _02140fb0 cmp r8, #0 @@ -7542,7 +7542,7 @@ _0214107c: addeq sp, sp, #0x38 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r0, r11 - bl func_ov00_02084990 + bl _ZN10MapManager17GetMapData_Unk_07Ev cmp r0, #0 add r3, sp, #0x10 mov r1, #0 @@ -8092,7 +8092,7 @@ func_ov14_0214178c: ; 0x0214178c str r2, [sp, #8] add r1, sp, #0 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r7, r8] add r3, r0, #0xf6 add r0, r1, #0x800 @@ -8188,7 +8188,7 @@ func_ov14_021418ec: ; 0x021418ec str r2, [sp, #8] add r1, sp, #0 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, r6] add r3, r0, #0xf6 add r0, r2, #0x800 @@ -8473,7 +8473,7 @@ _02141cdc: ldrb r1, [r9, #0x14] ldr r0, [r0] add r2, r2, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r9, #0x1c] mov r4, #1 b _02141d88 @@ -8485,7 +8485,7 @@ _02141d0c: ldrb r1, [r9, #0x14] ldr r0, [r0] sub r2, r2, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r9, #0x1c] b _02141d88 _02141d34: @@ -8497,7 +8497,7 @@ _02141d34: ldrb r2, [r9, #0x15] ldr r0, [r0] add r1, r1, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r9, #0x1c] mov r4, #1 b _02141d88 @@ -8509,7 +8509,7 @@ _02141d64: ldrb r2, [r9, #0x15] ldr r0, [r0] sub r1, r1, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r9, #0x1c] _02141d88: ldr r1, [r9, #4] @@ -8545,13 +8545,13 @@ _02141df0: mov r2, r5 strb r7, [sp, #0xe] strb r8, [sp, #0xf] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r10 strb r7, [sp, #0xc] strb r8, [sp, #0xd] mov r2, r11 - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r1, [r9, #0x15] ldrb r0, [r9, #0x39] sub r8, r8, #1 @@ -8594,13 +8594,13 @@ _02141ea4: mov r2, r5 strb r7, [sp, #0xa] strb r8, [sp, #0xb] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r10 strb r7, [sp, #8] strb r8, [sp, #9] mov r2, r11 - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r1, [r9, #0x15] ldrb r0, [r9, #0x39] add r8, r8, #1 @@ -9135,14 +9135,14 @@ _02142634: beq _02142664 ldr r0, _02142778 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej _02142664: ldr r0, _02142778 ; =data_027e0e60 mov r2, #0 ldr r0, [r0] mov r3, r2 add r1, r5, #0x58 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r5, #0x48] mov r0, #0 strb r0, [r5, #0x3b] @@ -9194,14 +9194,14 @@ _02142714: beq _02142744 ldr r0, _02142778 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej _02142744: ldr r0, _02142778 ; =data_027e0e60 mov r2, #0 ldr r0, [r0] mov r3, r2 add r1, r5, #0x58 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r5, #0x48] mov r0, #0 strb r0, [r5, #0x3b] @@ -9257,12 +9257,12 @@ func_ov14_0214278c: ; 0x0214278c bne _02142818 ldr r0, _02142908 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083344 + bl _ZN10MapManager20GetCourseData_Unk_86Ev cmp r0, #1 bgt _02142814 ldr r0, _02142908 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083350 + bl _ZN10MapManager20GetCourseData_Unk_87Ev cmp r0, #1 ble _02142818 _02142814: @@ -15152,7 +15152,7 @@ _02146dd8: ldr r0, _02146e20 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084c94 + bl _ZN10MapManager18func_ov00_02084c94Ei cmp r0, #0 ldrne r0, [r4, #4] bicne r0, r0, #1 @@ -15248,7 +15248,7 @@ _02146f08: add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _02147084 _02146f2c: cmp r2, #0 @@ -15269,7 +15269,7 @@ _02146f54: add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _02147084 _02146f78: bl func_ov14_02147548 @@ -15315,20 +15315,20 @@ _02146ff0: ldr r0, _02147094 ; =data_027e0e60 ldrb r5, [r4, #0x13] ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, r5 bne _02147040 ldr r0, _02147094 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084c7c + bl _ZN10MapManager18func_ov00_02084c7cEi _02147040: ldr r0, _02147094 ; =data_027e0e60 add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r0, [r4, #4] bic r0, r0, #1 str r0, [r4, #4] @@ -15338,7 +15338,7 @@ _02147064: add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r0, [r4, #4] bic r0, r0, #1 str r0, [r4, #4] @@ -16563,7 +16563,7 @@ func_ov14_02147ee4: ; 0x02147ee4 ldrh r1, [r4, #0x24] ldr r0, [r0] add r2, sp, #0 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02147fb8 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -16924,7 +16924,7 @@ func_ov14_02148364: ; 0x02148364 ldr r0, [r2] mov r2, #0 mov r9, r1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r10, #0x4c] cmp r1, r0 addlt sp, sp, #0x128 @@ -16934,11 +16934,11 @@ func_ov14_02148364: ; 0x02148364 add r0, sp, #0x14 ldr r1, [r1] mov r2, r9 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, _02148644 ; =data_027e0e60 add r1, sp, #0x14 ldr r0, [r0] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x5b bgt _021483e4 bge _021483ec @@ -17498,7 +17498,7 @@ _02148b50: ldr r0, _021497e8 ; =data_027e0e60 add r1, sp, #0x60 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r0, [sp, #0x60] str r0, [r4, #0x48] ldr r0, [sp, #0x64] @@ -17529,7 +17529,7 @@ _02148bb4: ldr r0, _021497e8 ; =data_027e0e60 add r1, sp, #0x54 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r0, [sp, #0x54] str r0, [r4, #0x48] ldr r0, [sp, #0x58] @@ -17543,7 +17543,7 @@ _02148bec: ldr r0, _021497e8 ; =data_027e0e60 add r1, sp, #0x48 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r0, [sp, #0x48] str r0, [r4, #0x48] ldr r0, [sp, #0x4c] @@ -18859,7 +18859,7 @@ _02149cec: str r1, [r5, #0x20] ldrsh r1, [r5, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r5 mov r2, #1 @@ -19117,7 +19117,7 @@ _0214a194: str r1, [r6, #4] ldr r0, [r0] add r1, r6, #0x38 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _0214a3ac _0214a1bc: ldr r0, [r6, #0x74] @@ -19211,7 +19211,7 @@ _0214a2e4: streqb r0, [r6, #0x3c] ldr r0, _0214a3b8 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r1, [r6, #0x74] ldr r0, _0214a3cc ; =data_ov14_02153f04 add r4, r6, #0xd8 @@ -19251,7 +19251,7 @@ _0214a398: ldrsh r1, [r6, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei _0214a3ac: mov r0, #1 add sp, sp, #0xc0 @@ -20087,7 +20087,7 @@ func_ov14_0214adfc: ; 0x0214adfc ldr r0, [r0] mov r2, #0 ldrh r4, [r5, #0x24] - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0214ae7c ldrb r0, [r5, #0x2a] @@ -21488,7 +21488,7 @@ func_ov14_0214c018: ; 0x0214c018 ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0214c09c ldrb r0, [r4, #0x2a] @@ -21696,7 +21696,7 @@ func_ov14_0214c274: ; 0x0214c274 mov r2, #1 strb r3, [sp] strb ip, [sp, #1] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 @@ -21727,22 +21727,22 @@ func_ov14_0214c30c: ; 0x0214c30c ldrh r5, [r6, #0x2a] ldr r0, [r0] mov r1, r4 - bl func_ov00_020823d4 + bl _ZN10MapManager18func_ov00_020823d4Ei ldr r1, _0214c370 ; =data_027e0e60 str r0, [r6, #0x94] ldr r0, [r1] mov r1, r4 - bl func_ov00_020823e4 + bl _ZN10MapManager18func_ov00_020823e4Ei ldr r1, _0214c370 ; =data_027e0e60 str r0, [r6, #0x98] ldr r0, [r1] mov r1, r5 - bl func_ov00_020823d4 + bl _ZN10MapManager18func_ov00_020823d4Ei ldr r1, _0214c370 ; =data_027e0e60 str r0, [r6, #0x9c] ldr r0, [r1] mov r1, r5 - bl func_ov00_020823e4 + bl _ZN10MapManager18func_ov00_020823e4Ei str r0, [r6, #0xa0] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 @@ -21772,7 +21772,7 @@ func_ov14_0214c374: ; 0x0214c374 bl func_0201933c ldr r0, _0214c444 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020823f4 + bl _ZN10MapManager16MapData_vfunc_b4Ev mov r4, r0 mov r0, r5 mov r1, r4 @@ -22152,7 +22152,7 @@ _0214c7ec: ldrb r1, [r10, #0x11] ldr r0, [r4] mov r2, r11 - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 bne _0214c92c _0214c910: @@ -22431,7 +22431,7 @@ _0214cc34: .word gAdventureFlags arm_func_start func_ov14_0214cc38 func_ov14_0214cc38: ; 0x0214cc38 ldr r2, _0214cc50 ; =data_027e0e60 - ldr ip, _0214cc54 ; =func_ov00_020836dc + ldr ip, _0214cc54 ; =_ZN10MapManager18func_ov00_020836dcEii ldrb r1, [r0, #0x160] ldr r0, [r2] mov r2, #0 @@ -22439,7 +22439,7 @@ func_ov14_0214cc38: ; 0x0214cc38 .align 2, 0 arm_func_end func_ov14_0214cc38 _0214cc50: .word data_027e0e60 -_0214cc54: .word func_ov00_020836dc +_0214cc54: .word _ZN10MapManager18func_ov00_020836dcEii .global func_ov14_0214cc58 arm_func_start func_ov14_0214cc58 @@ -22868,7 +22868,7 @@ _0214d134: ldr r0, _0214d1b4 ; =data_027e0e60 add r1, r7, #0x74 ldr r0, [r0] - bl func_ov00_020839c4 + bl _ZN10MapManager18func_ov00_020839c4Ei add r0, r7, #0xd8 bl func_020350ac ldr r3, _0214d1b8 ; =func_ov14_02121cd8 @@ -22917,7 +22917,7 @@ _0214d1dc: ldr r0, _0214d254 ; =data_027e0e60 add r1, r7, #0x74 ldr r0, [r0] - bl func_ov00_020839c4 + bl _ZN10MapManager18func_ov00_020839c4Ei add r0, r7, #0xd8 bl func_020350ac ldr r3, _0214d258 ; =func_ov14_02121cd8 @@ -23181,7 +23181,7 @@ _0214d46c: ldr r2, [sp, #0x14] str r2, [r4, #0x84] ldr r0, [r0] - bl func_ov00_020839b4 + bl _ZN10MapManager18func_ov00_020839b4Ei mov r0, r4 mov r1, #1 bl func_ov14_0214e134 @@ -23999,11 +23999,11 @@ func_ov14_0214e134: ; 0x0214e134 mov r5, r0 ldr r0, [r2] mov r4, r1 - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldr r1, _0214e268 ; =data_027e0e60 mov r6, r0 ldr r0, [r1] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r7, r0 ldrb r0, [r5, #0x15] ldrb r9, [r5, #0x14] @@ -24059,7 +24059,7 @@ _0214e210: ldr r0, [r6] mov r1, r9 mov r2, r10 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci ldr r1, [r5, #0x1c] cmp r1, r0 bne _0214e244 @@ -24068,7 +24068,7 @@ _0214e210: mov r2, r4 strb r7, [sp, #8] strb r10, [sp, #9] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii _0214e244: add r10, r10, #1 cmp r10, r8 @@ -24250,7 +24250,7 @@ func_ov14_0214e38c: ; 0x0214e38c ldr r0, _0214e51c ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 ldr r3, [r0] @@ -24332,7 +24332,7 @@ _0214e574: add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _0214e6b0 _0214e58c: cmp r2, #0 @@ -24397,7 +24397,7 @@ _0214e654: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei _0214e684: ldr r1, [r4, #4] ldr r0, _0214e6bc ; =data_027e0e60 @@ -24406,7 +24406,7 @@ _0214e684: ldr r0, [r0] add r1, r4, #0x38 mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r0, [r4, #4] bic r0, r0, #1 str r0, [r4, #4] @@ -24670,7 +24670,7 @@ func_ov14_0214e8f0: ; 0x0214e8f0 ldrh r2, [r4, #0x28] ldr r0, [r0] add r1, r4, #0x88 - bl func_ov00_020823c4 + bl _ZN10MapManager18func_ov00_020823c4EPii cmp r0, #0 addeq sp, sp, #0x50 ldmeqia sp!, {r3, r4, r5, pc} @@ -24678,14 +24678,14 @@ func_ov14_0214e8f0: ; 0x0214e8f0 ldrh r2, [r4, #0x2a] ldr r0, [r0] add r1, r4, #0x80 - bl func_ov00_020823c4 + bl _ZN10MapManager18func_ov00_020823c4EPii cmp r0, #0 addeq sp, sp, #0x50 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _0214ea70 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 ldr r3, [r0] @@ -24730,7 +24730,7 @@ _0214ea9c: add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi mov r0, r4 mov r1, #1 bl func_ov14_0214ec40 @@ -24785,7 +24785,7 @@ _0214eb70: add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi mov r0, r4 mov r1, #0 mov r2, #1 @@ -24794,7 +24794,7 @@ _0214eb70: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei mov r0, r4 mov r1, #0 bl func_ov14_0214ec40 @@ -25425,7 +25425,7 @@ _0214f3c0: ldr r0, [r0] mov r3, r2 add r1, r5, #0x18 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _0214f4e8 _0214f41c: ldrsh r0, [r5, #0xc] @@ -25438,14 +25438,14 @@ _0214f41c: add r1, r5, #0x18 ldr r0, [r0] mov r3, #2 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _0214f4e8 _0214f44c: ldr r0, _0214f500 ; =data_027e0e60 add r1, r5, #0x18 ldr r0, [r0] mov r3, #1 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _0214f4e8 _0214f464: bl func_ov14_02127188 @@ -25478,7 +25478,7 @@ _0214f4b4: ldr r0, _0214f500 ; =data_027e0e60 ldrh r1, [r5, #0x24] ldr r0, [r0] - bl func_ov00_02083840 + bl _ZN10MapManager18func_ov00_02083840Ei b _0214f4e8 _0214f4dc: mov r0, r5 @@ -25511,7 +25511,7 @@ func_ov14_0214f504: ; 0x0214f504 ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} @@ -25566,7 +25566,7 @@ _0214f5e4: ldr r0, _0214f660 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} @@ -25584,7 +25584,7 @@ _0214f600: ldr r0, _0214f660 ; =data_027e0e60 ldrh r1, [r4, #0x24] ldr r0, [r0] - bl func_ov00_02083840 + bl _ZN10MapManager18func_ov00_02083840Ei mov r0, #1 ldmia sp!, {r4, pc} _0214f640: @@ -25631,7 +25631,7 @@ _0214f6c4: ldr r0, _0214f76c ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} @@ -25660,14 +25660,14 @@ _0214f728: ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _0214f76c ; =data_027e0e60 ldrh r1, [r4, #0x24] ldr r0, [r0] - bl func_ov00_02083790 + bl _ZN10MapManager18func_ov00_02083790Ei mov r0, #1 ldmia sp!, {r4, pc} _0214f760: @@ -26155,7 +26155,7 @@ _0214fd64: .word data_ov00_020eec9c arm_func_start func_ov14_0214fd68 func_ov14_0214fd68: ; 0x0214fd68 ldr r2, _0214fd80 ; =data_027e0e60 - ldr ip, _0214fd84 ; =func_ov00_020836dc + ldr ip, _0214fd84 ; =_ZN10MapManager18func_ov00_020836dcEii ldrb r1, [r0, #0x15c] ldr r0, [r2] mov r2, #0 @@ -26163,7 +26163,7 @@ func_ov14_0214fd68: ; 0x0214fd68 .align 2, 0 arm_func_end func_ov14_0214fd68 _0214fd80: .word data_027e0e60 -_0214fd84: .word func_ov00_020836dc +_0214fd84: .word _ZN10MapManager18func_ov00_020836dcEii .global func_ov14_0214fd88 arm_func_start func_ov14_0214fd88 @@ -26291,7 +26291,7 @@ _0214fee0: ldrb r1, [r4, #0x14] ldr r0, [r0] sub r2, r2, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r4, #0x1c] mov r0, #0 b _0214ff34 @@ -26303,7 +26303,7 @@ _0214ff0c: ldrb r2, [r4, #0x15] ldr r0, [r0] sub r1, r1, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r4, #0x1c] mov r0, #1 _0214ff34: @@ -26369,13 +26369,13 @@ _02150008: mov r2, r7 strb r9, [sp, #6] strb r10, [sp, #7] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r5] mov r1, r6 strb r9, [sp, #4] strb r10, [sp, #5] mov r2, r11 - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r1, [r4, #0x15] ldrb r0, [r4, #0x39] add r10, r10, #1 @@ -27621,7 +27621,7 @@ _02150d88: add r1, sp, #4 strb r2, [sp, #4] strb r3, [sp, #5] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x14 ldreqsh r0, [r4, #0xc] cmpeq r0, #0 @@ -28201,7 +28201,7 @@ func_ov14_0215141c: ; 0x0215141c ldr r2, [r4, #0x88] str r2, [r4, #0x98] ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r0, [sp, #0xc] str r0, [r4, #0x48] ldr r0, [sp, #0x10] diff --git a/asm/ov15.inc b/asm/ov15.inc index 352eeb8b..0b7b720d 100644 --- a/asm/ov15.inc +++ b/asm/ov15.inc @@ -446,41 +446,41 @@ .extern func_ov00_02081f50 .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_020823a4 -.extern func_ov00_020823b4 -.extern func_ov00_02082424 -.extern func_ov00_02082454 -.extern func_ov00_02082494 -.extern func_ov00_020824cc -.extern func_ov00_02082504 -.extern func_ov00_02082594 -.extern func_ov00_020825ac -.extern func_ov00_02082650 -.extern func_ov00_02082660 -.extern func_ov00_02082d08 -.extern func_ov00_02082d40 -.extern func_ov00_02083374 -.extern func_ov00_02083384 -.extern func_ov00_0208340c -.extern func_ov00_0208342c -.extern func_ov00_0208346c -.extern func_ov00_020836bc -.extern func_ov00_020836dc -.extern func_ov00_02083770 -.extern func_ov00_020838c8 -.extern func_ov00_020838d8 -.extern func_ov00_020838e8 -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083ee0 -.extern func_ov00_020846a4 -.extern func_ov00_020848b8 -.extern func_ov00_02084a5c -.extern func_ov00_02084b38 -.extern func_ov00_02084cb0 -.extern func_ov00_02084cc8 -.extern func_ov00_02084d4c -.extern func_ov00_02085c60 +.extern _ZN10MapManager18func_ov00_020823a4Ei +.extern _ZN10MapManager18func_ov00_020823b4Ev +.extern _ZN10MapManager18func_ov00_02082424Ev +.extern _ZN10MapManager18func_ov00_02082454Eii +.extern _ZN10MapManager18func_ov00_02082494Ei +.extern _ZN10MapManager18func_ov00_020824ccEi +.extern _ZN10MapManager18func_ov00_02082504Ev +.extern _ZN10MapManager18func_ov00_02082594Ev +.extern _ZN10MapManager18func_ov00_020825acEv +.extern _ZN10MapManager18func_ov00_02082650Eiii +.extern _ZN10MapManager18func_ov00_02082660Eii +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02082d40Ev +.extern _ZN10MapManager18func_ov00_02083374Ev +.extern _ZN10MapManager18func_ov00_02083384Ev +.extern _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p +.extern _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p +.extern _ZN10MapManager18func_ov00_0208346cEP4AABB +.extern _ZN10MapManager18func_ov00_020836bcEjPi +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_020838c8Ei +.extern _ZN10MapManager18func_ov00_020838d8Ei +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_020846a4Ev +.extern _ZN10MapManager18func_ov00_020848b8Ev +.extern _ZN10MapManager8SpawnNPCEP5Vec3pii +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084cb0Ei +.extern _ZN10MapManager18func_ov00_02084cc8Ei +.extern _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p +.extern _ZN10MapManager18func_ov00_02085c60Eiiii .extern func_ov00_020872e8 .extern func_ov00_02087584 .extern func_ov00_020875f8 diff --git a/asm/ov15.s b/asm/ov15.s index 4a4e1dc8..048841fc 100644 --- a/asm/ov15.s +++ b/asm/ov15.s @@ -86,7 +86,7 @@ func_ov15_0211f69c: ; 0x0211f69c strb r3, [sp, #0x37] strb r3, [sp, #0x38] strb r3, [sp, #0x39] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 addeq sp, sp, #0x3c moveq r0, #1 @@ -261,7 +261,7 @@ func_ov15_0211f954: ; 0x0211f954 bl func_ov15_0213d3d4 ldr r0, _0211f9a4 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082594 + bl _ZN10MapManager18func_ov00_02082594Ev ldr r0, _0211f9a8 ; =data_027e0fe4 ldr r0, [r0] bl func_ov15_02184838 @@ -407,7 +407,7 @@ _0211fab4: ldr r0, [r0] add r1, sp, #0x18 mov r3, r2 - bl func_ov00_02085c60 + bl _ZN10MapManager18func_ov00_02085c60Eiiii ldr r0, [r5, #0x2c] bl func_ov15_02121998 cmp r0, #0 @@ -429,7 +429,7 @@ _0211fbac: bl func_ov15_02121988 ldr r0, _0211fc4c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020825ac + bl _ZN10MapManager18func_ov00_020825acEv ldr r0, _0211fc54 ; =data_027e0fe4 ldr r0, [r0] bl func_ov15_021848dc @@ -727,7 +727,7 @@ _0211ff18: add r1, sp, #0x134 add r2, sp, #0x44 add r3, sp, #0x3c - bl func_ov00_02085c60 + bl _ZN10MapManager18func_ov00_02085c60Eiiii cmp r0, #0 beq _02120018 ldr r1, [sp, #0x194] @@ -886,7 +886,7 @@ _02120184: add r1, sp, #0xcc add r2, sp, #0x34 add r3, sp, #0x2c - bl func_ov00_02085c60 + bl _ZN10MapManager18func_ov00_02085c60Eiiii cmp r0, #0 beq _0212023c ldr r0, [sp, #0x12c] @@ -1049,7 +1049,7 @@ _02120354: add r1, sp, #0x64 add r2, sp, #0x24 add r3, sp, #0x1c - bl func_ov00_02085c60 + bl _ZN10MapManager18func_ov00_02085c60Eiiii cmp r0, #0 beq _021204ac ldr r0, [sp, #0xc4] @@ -2319,7 +2319,7 @@ _02121550: mov r6, r5 mov r7, r5 mov r8, r5 - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, #3 addls pc, pc, r0, lsl #2 b _02121638 @@ -2505,7 +2505,7 @@ func_ov15_021217e4: ; 0x021217e4 add r1, r7, #0xa6 ldr r0, [r0] add r9, r1, #0x50000 - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, #3 addls pc, pc, r0, lsl #2 b _02121940 @@ -3604,7 +3604,7 @@ func_ov15_02122674: ; 0x02122674 ldrh r1, [r4, #0x22] ldr r0, [r0] add r2, sp, #0x4c - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 @@ -4163,7 +4163,7 @@ _02122edc: ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, pc} @@ -4264,7 +4264,7 @@ _0212307c: ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, pc} @@ -6185,7 +6185,7 @@ func_ov15_02124a40: ; 0x02124a40 str r3, [sp, #8] ldr r3, [r10, #0x50] str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r10, #0x2a8] ldrb r0, [r10, #0x118] cmp r0, #0 @@ -6590,7 +6590,7 @@ func_ov15_0212504c: ; 0x0212504c str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] add r0, sp, #0x14 mov r1, #0xa00 @@ -6647,7 +6647,7 @@ func_ov15_02125118: ; 0x02125118 str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] ldr r1, _021251d8 ; =0x00000333 add r0, sp, #0x14 @@ -7359,7 +7359,7 @@ _02125aa8: add r1, sp, #0x14 mov r2, #0 str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #4] ldrb r1, [r4, #0x2a4] cmp r1, #0 @@ -7505,7 +7505,7 @@ _02125cd0: add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp] ldrb r1, [r4, #0x2a4] cmp r1, #1 @@ -7860,7 +7860,7 @@ func_ov15_0212619c: ; 0x0212619c str r1, [r4] ldr r0, [r0] add r1, r4, #0xac - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei add r0, r4, #0xac bl func_ov00_02095764 add r0, r4, #0x38 @@ -7884,7 +7884,7 @@ func_ov15_021261e4: ; 0x021261e4 str r1, [r4] ldr r0, [r0] add r1, r4, #0xac - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei add r0, r4, #0xac bl func_ov00_02095764 add r0, r4, #0x38 @@ -7910,7 +7910,7 @@ func_ov15_02126234: ; 0x02126234 str r1, [r4] ldr r0, [r0] add r1, r4, #0xac - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei add r0, r4, #0xac bl func_ov00_02095764 add r0, r4, #0x38 @@ -7944,7 +7944,7 @@ func_ov15_0212627c: ; 0x0212627c str r1, [ip, #0xd0] ldr r0, [r0] add r1, ip, #0xac - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei add sp, sp, #0x14 ldmia sp!, {pc} .align 2, 0 @@ -10315,7 +10315,7 @@ func_ov15_02127d9c: ; 0x02127d9c str r1, [r4, #0x7c] ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 beq _02127e38 mov r0, r4 @@ -10564,7 +10564,7 @@ _02128198: ldrsh r1, [r5, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldr r0, [r5, #4] bic r0, r0, #1 bic r0, r0, #8 @@ -10964,7 +10964,7 @@ func_ov15_02128670: ; 0x02128670 ldr r0, [r0] ldr r7, [r6, #0x1c] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r1, r0 subs r4, r1, r7 rsbmi r4, r4, #0 @@ -11244,7 +11244,7 @@ _02128ad8: add r1, r4, #0x18 ldr r0, [r0] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x1c] ldr r0, [r4, #0x80] cmp r0, #0x3000 @@ -11832,18 +11832,18 @@ func_ov15_0212925c: ; 0x0212925c ldr r0, [r2] mov r8, r1 add r1, sp, #0x68 - bl func_ov00_0208340c + bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p ldr r0, _021296c0 ; =data_027e0e60 add r1, sp, #0x5c ldr r0, [r0] - bl func_ov00_0208342c + bl _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p ldr r0, _021296c0 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083374 + bl _ZN10MapManager18func_ov00_02083374Ev ldr r1, _021296c0 ; =data_027e0e60 mov r11, r0 ldr r0, [r1] - bl func_ov00_02083384 + bl _ZN10MapManager18func_ov00_02083384Ev ldr r3, [sp, #0x70] ldr r2, [sp, #0x5c] add r3, r3, #0xe800 @@ -12483,7 +12483,7 @@ func_ov15_02129a6c: ; 0x02129a6c ldrb r1, [r7, #1] ldr r0, [r2] mov r6, r3 - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r5, r0 mov r0, r9 ldr r2, [r0] @@ -12494,7 +12494,7 @@ func_ov15_02129a6c: ; 0x02129a6c mov r4, r0 ldr r0, [r1] ldrb r1, [r7] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [sp, #0x10] mvn r0, #0 str r4, [sp, #0x14] @@ -16458,7 +16458,7 @@ _0212cf4c: add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldr r1, _0212cfbc ; =data_ov15_0218a464 ldr r2, _0212cfc0 ; =data_ov15_0218a470 @@ -16757,7 +16757,7 @@ _0212d358: add r1, sp, #0x20 str r2, [sp, #0x28] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x184] sub r0, r0, r1 str r0, [r4, #0x4c] @@ -16812,7 +16812,7 @@ _0212d430: add r1, sp, #0x14 str r2, [sp, #0x1c] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x184] sub r0, r0, r1 str r0, [r4, #0x4c] @@ -17588,7 +17588,7 @@ _0212df28: ldrh r1, [r4, #0x22] ldr r0, [r0] add r2, sp, #0x2c - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _0212e03c mov r0, #2 @@ -18878,7 +18878,7 @@ _0212f13c: str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _0212f260 ; =data_027e0e58 str r0, [sp, #0x10] ldr r0, [r1] @@ -18968,7 +18968,7 @@ func_ov15_0212f2c8: ; 0x0212f2c8 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, #0x184] ldr r1, _0212f344 ; =data_ov15_0218a46c sub r0, r0, r2 @@ -19237,7 +19237,7 @@ func_ov15_0212f5f0: ; 0x0212f5f0 ldr r0, _0212f6b8 ; =data_027e0e60 add r1, r4, #0x334 ldr r0, [r0] - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldr r0, [r4, #0x130] sub r0, r0, #4 cmp r0, #1 @@ -19297,7 +19297,7 @@ func_ov15_0212f6c4: ; 0x0212f6c4 ldr r0, _0212f794 ; =data_027e0e60 add r1, r4, #0x334 ldr r0, [r0] - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldr r0, [r4, #0x130] sub r0, r0, #4 cmp r0, #1 @@ -19511,7 +19511,7 @@ _0212f824: ldr r0, _0212fc24 ; =data_027e0e60 add r1, r4, #0x334 ldr r0, [r0] - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei mov ip, #5 strb ip, [r4, #0x490] mov r1, #0x5d @@ -19704,7 +19704,7 @@ _0212fcb0: add r1, sp, #0x10 mov r2, #0 str r3, [sp, #0x18] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldr r1, _0212fd1c ; =data_ov15_0218a5a0 ldr r2, _0212fd20 ; =data_ov15_0218a5ac @@ -19980,7 +19980,7 @@ _0212fe8c: str r0, [r5, #0x488] ldr r0, [r1] add r1, r5, #0x334 - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei add r0, sp, #0x1c4 bl func_ov00_0209a508 b _02130510 @@ -20014,7 +20014,7 @@ _0213010c: ldr r0, _02130540 ; =data_027e0e60 add r1, r5, #0x334 ldr r0, [r0] - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei b _02130510 _02130188: add r6, sp, #0x30 @@ -20086,7 +20086,7 @@ _02130220: add r1, sp, #0x24 ldr r0, [r0] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x28] ldr r1, [sp, #0x24] add r0, sp, #0x24 @@ -20126,7 +20126,7 @@ _02130220: add r1, sp, #0x18 ldr r0, [r0] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x18] str r0, [sp, #0x1c] str r1, [r5, #0x4a0] @@ -20369,7 +20369,7 @@ _02130694: ldrh r1, [r4, #0x26] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _02130724 mov r0, r4 @@ -21606,7 +21606,7 @@ _02131840: ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _021318fc ldr r0, _0213190c ; =data_027e0f94 @@ -21906,7 +21906,7 @@ _02131c70: ldr r0, _02131f08 ; =data_027e0e60 add r1, r4, #0x334 ldr r0, [r0] - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldr r0, [r4, #0x32c] bl func_ov15_0215bacc mov r0, #0 @@ -22388,7 +22388,7 @@ _021322e8: str r4, [sp, #0x8c] str r6, [sp, #0x40] str r4, [sp, #0x48] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0xa0] ldr r4, [sp, #0x84] orr r2, r1, #1 @@ -22461,7 +22461,7 @@ _0213246c: str r5, [sp, #0x28] str r4, [sp, #0x2c] str r3, [sp, #0x30] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x80] ldr r4, [sp, #0x64] orr r2, r1, #1 @@ -22499,7 +22499,7 @@ _02132504: ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0x4c - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 addeq sp, sp, #0xa4 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, pc} @@ -22675,7 +22675,7 @@ func_ov15_0213278c: ; 0x0213278c bhi _021327d0 ldr r0, _021327d8 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 movne r0, #0 ldmneia sp!, {r4, pc} @@ -23506,7 +23506,7 @@ _021332ac: ldrh r1, [r7, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldrne r0, [r7, #0x360] subne r0, r0, #1 @@ -25507,7 +25507,7 @@ _02134e14: add r1, sp, #0x14 str r2, [sp, #0x1c] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x4c] cmp r1, r0 movlt r0, #1 @@ -25537,7 +25537,7 @@ _02134e6c: str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x24] ldrb r0, [r4, #0x217] cmp r0, #1 @@ -26926,7 +26926,7 @@ _02136168: ldr r0, [r0] ldr r2, [r2, #0x28] add r3, sp, #0xb4 - bl func_ov00_02084d4c + bl _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p cmp r0, #1 movls r4, #2 _0213618c: @@ -28137,7 +28137,7 @@ _02137164: str r2, [sp, #0x10] add r1, sp, #8 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldrb r1, [r4, #0x27c] mov ip, r0 cmp r1, #1 @@ -29260,7 +29260,7 @@ _02138150: add r1, sp, #0x1c mov r2, #0 ldr r5, [r3, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _021382e8 ; =data_027e0f94 str r5, [sp, #0x30] ldr r2, [r1] @@ -29452,7 +29452,7 @@ func_ov15_02138408: ; 0x02138408 ldr r0, _0213846c ; =data_027e0e60 mov r2, #0 ldr r0, [r0] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r3, [r4, #4] ldr r1, _02138470 ; =0xfffffccd add r2, r3, r1 @@ -29606,7 +29606,7 @@ func_ov15_02138478: ; 0x02138478 add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _02138bb8 ; =data_027e0f94 ldr r1, [r1, #4] cmp r1, r0 @@ -30324,7 +30324,7 @@ _02139100: ldr r0, [r0] and r1, r1, #0x3f add r2, sp, #8 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _02139144 ldr r0, _02139158 ; =data_027e0d38 @@ -32192,7 +32192,7 @@ _0213aa30: add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x24] add r0, sp, #0x20 mov r1, #0x800 @@ -32307,7 +32307,7 @@ func_ov15_0213abc4: ; 0x0213abc4 add r1, sp, #0x9c str r2, [sp, #0xa4] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x130] cmp r1, #2 strgt r0, [r5, #0x4c] @@ -32627,7 +32627,7 @@ _0213b05c: add r1, sp, #0x10 mov r2, #0 str r3, [sp, #0x18] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r2, #0 str r0, [sp, #0xac] ldr r1, _0213b148 ; =0x0000051f @@ -36696,7 +36696,7 @@ func_ov15_0213e754: ; 0x0213e754 str r1, [r4] ldr r0, [r0] add r1, r4, #0x31c - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldr r0, _0213e7dc ; =data_027e103c mov r1, #0 ldr r0, [r0] @@ -36738,7 +36738,7 @@ func_ov15_0213e7e4: ; 0x0213e7e4 str r1, [r4] ldr r0, [r0] add r1, r4, #0x31c - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldr r0, _0213e874 ; =data_027e103c mov r1, #0 ldr r0, [r0] @@ -37302,7 +37302,7 @@ _0213f03c: str r6, [sp, #0x6c] str r5, [sp, #0x70] str r3, [sp, #0x74] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x88] add r1, sp, #0x84 str r1, [sp] @@ -37335,7 +37335,7 @@ _0213f03c: ldr r0, _0213f4b8 ; =data_027e0e60 add r1, r4, #0x31c ldr r0, [r0] - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei add r0, sp, #0x118 bl func_ov00_0209a508 b _0213f47c @@ -37364,7 +37364,7 @@ _0213f154: strh r2, [r1, #0xc] ldr r0, [r0] add r1, r4, #0x31c - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldr r0, _0213f4c4 ; =data_ov00_020eec68 mov r1, #0x1e bl func_ov00_020d716c @@ -37623,7 +37623,7 @@ func_ov15_0213f4d4: ; 0x0213f4d4 add r1, sp, #4 mov r2, #0 str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x14] mov ip, #0 add r1, sp, #0x10 @@ -37772,7 +37772,7 @@ _0213f684: str ip, [sp, #0xc] str r4, [sp, #0x10] str r3, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x3c] mov r0, #0 str r0, [sp] @@ -37870,7 +37870,7 @@ func_ov15_0213f80c: ; 0x0213f80c ldr r0, [r0] add r1, sp, #0x88 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [sp, #0x94] str r0, [sp, #0x98] str r0, [sp, #0xa4] @@ -37920,7 +37920,7 @@ _0213f91c: str ip, [sp, #0x64] str r4, [sp, #0x68] str r3, [sp, #0x6c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0xb8] ldr r1, _0213fb88 ; =0x00000d9a add r0, sp, #0xb4 @@ -38704,7 +38704,7 @@ func_ov15_02140424: ; 0x02140424 ldr r0, _02140588 ; =data_027e0e60 add r1, r4, #0x31c ldr r0, [r0] - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei mov r0, r4 mov r1, #0x3c bl func_ov15_02140cb8 @@ -41785,7 +41785,7 @@ func_ov15_02142ba0: ; 0x02142ba0 strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02142c60 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -42459,7 +42459,7 @@ _0214352c: add r2, sp, #0 ldr r0, [r0] add r1, r5, #0x294 - bl func_ov00_02082454 + bl _ZN10MapManager18func_ov00_02082454Eii cmp r0, #0 beq _02143578 ldr r1, [r5, #0x2b8] @@ -43560,7 +43560,7 @@ _0214449c: strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02144544 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -43726,7 +43726,7 @@ _021446d8: strb ip, [sp, #0x13] strb ip, [sp, #0x14] strb ip, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02144770 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -44112,7 +44112,7 @@ _02144a40: mov r2, #0 str r3, [r9, #0x4c0] ldr r0, [r0] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _021457e4 ; =0xfffffe66 mov r2, #0 add r0, r0, r1 @@ -44139,7 +44139,7 @@ _02144d14: str r5, [sp, #0x24] str r4, [sp, #0x28] str r3, [sp, #0x2c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0xdc] ldr r0, [r9, #0x298] cmp r0, #0x2b8 @@ -45936,7 +45936,7 @@ func_ov15_0214655c: ; 0x0214655c stmdb sp!, {r3, lr} ldr r0, _02146574 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev rsb r0, r0, #0 ldmia sp!, {r3, pc} .align 2, 0 @@ -46281,7 +46281,7 @@ _02146958: _02146960: ldr r0, _021469ec ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev ldr r1, [r4, #0x4c] sub r0, r1, r0 cmp r0, #0x2000 @@ -46289,7 +46289,7 @@ _02146960: ldmgtia sp!, {r4, pc} ldr r0, _021469ec ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev ldr r1, [r4, #0x4c] sub r0, r1, r0 mov r1, r0, lsl #0x5 @@ -48440,7 +48440,7 @@ func_ov15_021486a0: ; 0x021486a0 str r2, [sp, #0x38] str r3, [sp, #0x3c] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #0x3f8] ldrb r0, [r5, #0x438] cmp r0, #4 @@ -55887,7 +55887,7 @@ func_ov15_0214eabc: ; 0x0214eabc ldr r0, [r2] mov r4, r1 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #4] ldr ip, [r5, #0x15c] sub r3, r1, ip @@ -57647,7 +57647,7 @@ _02150234: ldr r0, _02150858 ; =data_027e0e60 ldrb r6, [r1, #0x28] ldr r0, [r0] - bl func_ov00_02082d40 + bl _ZN10MapManager18func_ov00_02082d40Ev strb r0, [sp, #8] and r0, r0, #0xff strb r0, [r10, #0x29c] @@ -57734,7 +57734,7 @@ _02150460: ldr r0, _02150858 ; =data_027e0e60 add r1, sp, #0x30 ldr r0, [r0] - bl func_ov00_0208346c + bl _ZN10MapManager18func_ov00_0208346cEP4AABB ldr r1, [sp, #0x30] ldr r0, [sp, #0x38] add r1, r1, #0xc000 @@ -58031,7 +58031,7 @@ func_ov15_02150874: ; 0x02150874 add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldr r1, _021508f8 ; =data_ov15_0218bef4 ldr r2, _021508fc ; =data_ov15_0218bef8 @@ -58616,7 +58616,7 @@ func_ov15_021510c0: ; 0x021510c0 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x184] sub r0, r0, r1 str r0, [r4, #0x4c] @@ -59027,7 +59027,7 @@ func_ov15_02151680: ; 0x02151680 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, #0x184] ldr r1, _021516fc ; =data_ov15_0218bf00 sub r0, r0, r2 @@ -59523,7 +59523,7 @@ func_ov15_02151cfc: ; 0x02151cfc ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 bne _02151d68 ldr r0, _02151d80 ; =data_027e10a4 @@ -59535,7 +59535,7 @@ func_ov15_02151cfc: ; 0x02151cfc bne _02151d68 ldr r0, _02151d7c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 beq _02151d68 ldr r0, [r4, #0x184] @@ -59677,7 +59677,7 @@ func_ov15_02151ef8: ; 0x02151ef8 ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 bne _02151f4c ldr r0, _02151f64 ; =data_027e10a4 @@ -59689,7 +59689,7 @@ func_ov15_02151ef8: ; 0x02151ef8 bne _02151f4c ldr r0, _02151f60 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 ldmneia sp!, {r4, pc} _02151f4c: @@ -60259,7 +60259,7 @@ _021525f4: strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _0215268c ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -60855,7 +60855,7 @@ _02152e6c: ldr r0, [r0] add r1, r5, #0x39c mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x3a0] cmp r1, r0 bge _02152f6c @@ -60874,7 +60874,7 @@ _02152e6c: str r7, [sp, #0x78] str r6, [sp, #0x7c] str r3, [sp, #0x80] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0xdc] ldr r1, _0215348c ; =0x00000266 add r0, sp, #0xd8 @@ -60999,7 +60999,7 @@ _021530c4: add r1, r5, #0x39c ldr r0, [r0] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x3a0] cmp r1, r0 strlt r0, [r5, #0x3a0] @@ -61865,7 +61865,7 @@ _02153d0c: strb r7, [sp, #0xa3] strb r7, [sp, #0xa4] strb r7, [sp, #0xa5] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02153f7c ; =data_027e0d38 add r1, sp, #0x90 ldr r0, [r0] @@ -62039,7 +62039,7 @@ func_ov15_02153f94: ; 0x02153f94 add r1, sp, #0xc mov r2, #0 str r3, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _0215417c ; =data_027e0f94 ldr r2, [r1, #4] cmp r2, r0 @@ -62240,7 +62240,7 @@ _02154280: strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02154324 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -62349,7 +62349,7 @@ _02154404: strb ip, [sp, #0x5f] strb ip, [sp, #0x60] strb ip, [sp, #0x61] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02154628 ; =data_027e0d38 add r1, sp, #0x4c ldr r0, [r0] @@ -62440,7 +62440,7 @@ _02154490: ldr r0, [r3] add r1, sp, #4 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x2c] mvn r0, #0x80000000 str r0, [sp] @@ -62497,7 +62497,7 @@ _02154654: strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _021546fc ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -64348,7 +64348,7 @@ _02156084: str ip, [sp] str r4, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x10] sub r4, r1, r0 mov r0, r6 @@ -65051,7 +65051,7 @@ func_ov15_02156970: ; 0x02156970 str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] ldr r1, _02156a30 ; =0x00000333 add r0, sp, #0x14 @@ -65109,7 +65109,7 @@ func_ov15_02156a44: ; 0x02156a44 str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] add r0, sp, #0x14 mov r1, #0xa00 @@ -66232,7 +66232,7 @@ func_ov15_021578e0: ; 0x021578e0 add r1, sp, #8 mov r2, r7 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x3c] ldr r7, _02157c34 ; =0x000004cd sub r5, r1, r0 @@ -66581,7 +66581,7 @@ _02157ed8: ldrh r1, [r10, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 addeq sp, sp, #0x5c ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} @@ -66976,7 +66976,7 @@ func_ov15_0215846c: ; 0x0215846c ldr r0, _0215856c ; =data_027e0e60 mov r2, r4 ldr r0, [r0] - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _021584f8 ldr r6, _02158570 ; =data_027e0fe4 @@ -67008,7 +67008,7 @@ _021584f8: ldr r0, _0215856c ; =data_027e0e60 mov r2, #0 ldr r0, [r0] - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} mov r9, #0 @@ -67473,7 +67473,7 @@ _02158b38: add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r5, #0x4c] ldr r1, _02158ccc ; =data_ov15_0218c384 sub r0, r0, r2 @@ -67872,7 +67872,7 @@ _021590c4: ldr r3, [r4, #0x50] mov r2, #0 str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x1f8] mov r5, r0 cmp r1, #4 @@ -68209,7 +68209,7 @@ func_ov15_0215957c: ; 0x0215957c add r1, sp, #0x14 mov r2, #0 str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r4, r0 cmp r6, #0x2a000 bne _021595fc @@ -68280,7 +68280,7 @@ _0215969c: add r1, sp, #8 str r2, [sp, #0x10] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x4c] mov r4, r0 cmp r1, r4 @@ -68630,7 +68630,7 @@ func_ov15_02159b70: ; 0x02159b70 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, #0x4c] sub r1, r0, #0x800 cmp r2, r1 @@ -68800,7 +68800,7 @@ func_ov15_02159db8: ; 0x02159db8 add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _02159e38 ; =0xfffff4cd ldr r2, [r4, #0x4c] add r0, r0, r1 @@ -68921,7 +68921,7 @@ _02159ea0: add r1, sp, #0x24 str r2, [sp, #0x2c] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x34] mov r0, #0 ldr r7, [sp] @@ -69369,7 +69369,7 @@ _0215a500: ldrh r1, [r10, #0x20] ldr r0, [r0] add r2, sp, #0x18 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi str r0, [r10, #0x1ec] ldr r2, [sp, #0x24] ldr r1, [sp, #0x18] @@ -69518,7 +69518,7 @@ func_ov15_0215a768: ; 0x0215a768 ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 mov r1, #0x37 beq _0215a820 @@ -69576,7 +69576,7 @@ _0215a858: _0215a860: ldr r0, _0215a8bc ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082d40 + bl _ZN10MapManager18func_ov00_02082d40Ev cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, pc} @@ -69685,7 +69685,7 @@ _0215a9c0: ldr r0, _0215b26c ; =data_027e0e60 mov r6, #0 ldr r0, [r0] - bl func_ov00_02082d40 + bl _ZN10MapManager18func_ov00_02082d40Ev cmp r0, #0 beq _0215a9e4 cmp r0, #1 @@ -69783,7 +69783,7 @@ _0215ab28: ldr r0, _0215b26c ; =data_027e0e60 mov r2, r5 ldr r0, [r0] - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii mov r5, r0 _0215ab4c: ldrb r0, [r4, #0x236] @@ -69793,7 +69793,7 @@ _0215ab4c: ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 bne _0215ab84 ldrb r0, [r4, #0x236] @@ -70226,7 +70226,7 @@ _0215b164: bne _0215b240 ldr r0, _0215b26c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082d40 + bl _ZN10MapManager18func_ov00_02082d40Ev cmp r0, #0 bne _0215b238 add r0, r4, #0x200 @@ -70516,11 +70516,11 @@ _0215b54c: ldr r0, _0215b62c ; =data_027e0e60 mov r1, #0 ldr r0, [r0] - bl func_ov00_020823b4 + bl _ZN10MapManager18func_ov00_020823b4Ev ldr r0, _0215b62c ; =data_027e0e60 mov r1, #0 ldr r0, [r0] - bl func_ov00_020823a4 + bl _ZN10MapManager18func_ov00_020823a4Ei ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0215b358 @@ -70711,7 +70711,7 @@ func_ov15_0215b84c: ; 0x0215b84c mov r4, r0 ldr r0, [r1] mov r1, #1 - bl func_ov00_020823b4 + bl _ZN10MapManager18func_ov00_020823b4Ev ldr r1, [r4, #0x1c4] ldr r0, _0215bac4 ; =data_ov00_020ee0a0 mov r1, r1, asr #0xc @@ -71098,7 +71098,7 @@ _0215bd70: ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 mov r0, r4 beq _0215bd98 @@ -71269,7 +71269,7 @@ _0215bf70: ldrh r1, [r4, #0x22] ldr r0, [r0] add r2, sp, #0x3c - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _0215c058 ldr r0, _0215c334 ; =data_027e10a4 @@ -71374,7 +71374,7 @@ _0215c154: ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0x18 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi ldr r2, [sp, #0x2c] ldr r1, [sp, #0x38] sub r0, r2, #0x7000 @@ -71587,7 +71587,7 @@ _0215c474: ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi ldr r2, [sp, #0x14] ldr r1, [sp, #0x20] sub r0, r2, #0x7000 @@ -71661,7 +71661,7 @@ func_ov15_0215c584: ; 0x0215c584 ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0215c660 ldrb r0, [r4, #0x1bc] @@ -72472,7 +72472,7 @@ func_ov15_0215d078: ; 0x0215d078 ldrh r1, [r0] ldr r0, [r2] add r2, sp, #0x54 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 addeq sp, sp, #0x6c moveq r0, r5 @@ -73798,7 +73798,7 @@ _0215e0f4: ldr r0, _0215e570 ; =data_027e0e60 mov r2, #0 ldr r0, [r0] - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 bne _0215e558 ldr r0, _0215e574 ; =data_027e0dbc @@ -74335,7 +74335,7 @@ func_ov15_0215e890: ; 0x0215e890 str r3, [sp, #0x50] ldr r3, [r9, #0x50] str r3, [sp, #0x54] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r9, #0x130] mov r6, r0 cmp r1, #7 @@ -74353,7 +74353,7 @@ _0215e8f8: ; jump table _0215e918: ldr r0, _0215f7b8 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 ldr r0, [r9, #0x3b8] subeq r0, r0, #1 @@ -74549,7 +74549,7 @@ _0215ebbc: beq _0215ec14 ldr r0, _0215f7b8 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 bne _0215ec24 _0215ec14: @@ -74813,7 +74813,7 @@ _0215ef7c: add r1, sp, #0x40 str r2, [sp, #0x48] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldrb r1, [r9, #0x3ec] cmp r1, #1 bne _0215f048 @@ -74885,7 +74885,7 @@ _0215f048: ldr r3, [r9, #0x50] add r1, sp, #0x34 str r3, [sp, #0x3c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _0215f7f8 ; =0xfffffccd ldr r2, [r9, #0x4c] add r0, r0, r1 @@ -74927,7 +74927,7 @@ _0215f158: add r1, sp, #0x28 mov r2, #0 str r3, [sp, #0x30] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r4, r0 ldr r0, _0215f7f8 ; =0xfffffccd ldr r2, _0215f7e0 ; =0x00000266 @@ -74981,7 +74981,7 @@ _0215f250: str r2, [sp, #0x24] mov r2, #0 ldr r4, [r9, #0x50] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r9, #0x48] mov r3, #0 str r0, [sp, #0x80] @@ -75052,7 +75052,7 @@ _0215f35c: add r1, sp, #0x10 mov r2, #0 str r3, [sp, #0x18] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r1, #0x2000 mov r4, r0 ldr r2, _0215f808 ; =0x0000019a @@ -75422,7 +75422,7 @@ func_ov15_0215f8b0: ; 0x0215f8b0 add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r4, r0 mov r0, r6 bl _ZN5Actor12ApplyGravityEv @@ -75618,7 +75618,7 @@ func_ov15_0215fb6c: ; 0x0215fb6c ldr r0, _0215fc94 ; =data_027e0e60 mov r2, #0 ldr r0, [r0] - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 movne r0, #0 addne sp, sp, #0x18 @@ -75639,7 +75639,7 @@ _0215fba8: mov r1, r5 ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 moveq r0, #0 addeq sp, sp, #0x18 @@ -75890,7 +75890,7 @@ func_ov15_0215fefc: ; 0x0215fefc ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 movne r0, #1 strneb r0, [r4, #0x3ef] @@ -76912,7 +76912,7 @@ func_ov15_02160c24: ; 0x02160c24 add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldr r1, _02160ca8 ; =data_ov15_0218caec ldr r2, _02160cac ; =data_ov15_0218caf8 @@ -77444,7 +77444,7 @@ func_ov15_021613a4: ; 0x021613a4 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x184] sub r0, r0, r1 str r0, [r4, #0x4c] @@ -77798,7 +77798,7 @@ func_ov15_02161880: ; 0x02161880 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, #0x184] ldr r1, _021618fc ; =data_ov15_0218caf4 sub r0, r0, r2 @@ -78223,7 +78223,7 @@ _02161cd0: ldr r0, _02162430 ; =data_027e0e60 str r1, [r10, #0x284] ldr r0, [r0] - bl func_ov00_02082d40 + bl _ZN10MapManager18func_ov00_02082d40Ev ldr r1, _02162434 ; =data_027e0d38 ldr r2, _02162438 ; =data_027e0fe4 ldr r1, [r1] @@ -78390,7 +78390,7 @@ _021620bc: ldr r0, _02162430 ; =data_027e0e60 add r1, sp, #0x2c ldr r0, [r0] - bl func_ov00_0208346c + bl _ZN10MapManager18func_ov00_0208346cEP4AABB ldr r1, [sp, #0x34] ldr r0, [sp, #0x38] ldr r2, [sp, #0x2c] @@ -78677,7 +78677,7 @@ _021624c8: add r1, sp, #4 mov r2, #0 str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldr r1, _02162530 ; =data_ov15_0218cc00 ldr r2, _02162534 ; =data_ov15_0218cc0c @@ -78750,7 +78750,7 @@ _021625a0: add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x184] sub r0, r0, r1 str r0, [r5, #0x4c] @@ -79507,7 +79507,7 @@ _021630ec: ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 bne _02163160 mov r0, r4 @@ -79834,7 +79834,7 @@ _0216346c: str r7, [sp, #0x50] str r3, [sp, #0x94] str r3, [sp, #0x58] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x90] add r0, r4, #0x288 str r0, [sp] @@ -80004,7 +80004,7 @@ _02163854: ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0x5c - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _0216391c ldr r0, _02163c44 ; =data_027e10a4 @@ -80219,7 +80219,7 @@ _02163b90: add r1, sp, #8 str r2, [sp, #0x10] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x184] sub r0, r0, r1 str r0, [r4, #0x4c] @@ -80616,7 +80616,7 @@ _021640c4: add r3, ip, r3, asr #12 str r3, [sp, #0x34] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x30] add r0, r6, #0x288 str r0, [sp] @@ -81672,7 +81672,7 @@ _021650ac: add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r4, #0x184] ldr r1, _02165120 ; =data_ov15_0218cc08 sub r0, r0, r2 @@ -82592,7 +82592,7 @@ _02165d70: ldr r0, [r0] mov r2, r3 add r1, r4, #0x18 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii mov r0, r4 mov r1, #1 bl func_ov15_02165e94 @@ -83168,7 +83168,7 @@ func_ov15_0216648c: ; 0x0216648c add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldrb r0, [r4, #0xa4] cmp r0, #0 @@ -83241,7 +83241,7 @@ func_ov15_02166584: ; 0x02166584 add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] mov r1, #0 str r1, [sp] @@ -83914,7 +83914,7 @@ _02166d48: add r1, sp, #0x10 str r2, [sp, #0x18] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #0x4c] ldr r0, _02166ef0 ; =data_027e0ffc mov r1, #0x1dc @@ -84141,14 +84141,14 @@ func_ov15_021670dc: ; 0x021670dc _02167114: ldr r0, _0216728c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _0216728c ; =data_027e0e60 ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldreq r0, [r4, #0x284] addeq r0, r0, #1 @@ -85284,7 +85284,7 @@ _02168098: str r5, [sp, #4] str r3, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x98] ldr r2, [r4, #0x18c] add r1, r1, r0 @@ -85977,7 +85977,7 @@ _02168a9c: str ip, [sp, #0xc] str r3, [sp, #0x10] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x98] ldr r2, [r5, #0x18c] add r1, r1, r0 @@ -86844,7 +86844,7 @@ _02169594: add r1, sp, #8 mov r2, #0 add r8, r8, r3 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r10, #0x48] ldr r1, [r5, r9, lsl #2] str r0, [sp, #0x18] @@ -88056,7 +88056,7 @@ _0216a6a8: bne _0216a6c4 ldr r0, _0216a750 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020848b8 + bl _ZN10MapManager18func_ov00_020848b8Ev cmp r0, #0 moveq r11, #0 _0216a6c4: @@ -90474,7 +90474,7 @@ func_ov15_0216c664: ; 0x0216c664 mov r4, r0 ldr r0, [r1] mov r5, #0 - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev ldr r1, [r4, #0x4c] sub r0, r1, r0 cmp r0, #0x2000 @@ -91832,7 +91832,7 @@ func_ov15_0216d8c8: ; 0x0216d8c8 strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _0216d960 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -91897,7 +91897,7 @@ _0216d9b0: strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _0216da9c ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -94351,7 +94351,7 @@ func_ov15_0216fa98: ; 0x0216fa98 add r1, r4, #0x74 ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei add r0, r4, #0xf8 add r0, r0, #0x400 blx func_0202ab64 @@ -94403,7 +94403,7 @@ func_ov15_0216fb50: ; 0x0216fb50 add r1, r4, #0x74 ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei add r0, r4, #0xf8 add r0, r0, #0x400 blx func_0202ab64 @@ -94630,7 +94630,7 @@ _0216fe54: ldr r0, _0217062c ; =data_027e0e60 str r2, [r5, #0x498] ldr r0, [r0] - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei add r0, sp, #0x288 bl func_ov00_0209a4f4 ldr r2, _02170630 ; =data_027e0f94 @@ -95003,7 +95003,7 @@ _021703e8: add r1, sp, #0 mov r2, r6 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _02170634 ; =data_027e0f64 ldr r3, [sp, #0x2c] ldr r2, [sp, #0x34] @@ -95256,7 +95256,7 @@ func_ov15_021707e8: ; 0x021707e8 ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 @@ -96014,7 +96014,7 @@ _021712c8: ldr r3, [r4, #0x50] mov r2, #0 str r3, [sp, #0x40] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x4c] mov lr, r0 cmp r1, lr @@ -96097,7 +96097,7 @@ _0217140c: ldr r3, [r4, #0x50] mov r2, #0 str r3, [sp, #0x34] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov ip, r0 ldr r1, [r4, #0x4c] sub r0, ip, #0x1800 @@ -96156,7 +96156,7 @@ _021714f8: ldr r3, [r4, #0x50] mov r2, #0 str r3, [sp, #0x28] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x4c] add r0, r0, #0x29 cmp r1, r0 @@ -96225,7 +96225,7 @@ _0217161c: add r1, r4, #0x74 ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei add sp, sp, #0x1e8 ldmia sp!, {r4, pc} _02171640: @@ -97841,7 +97841,7 @@ func_ov15_02172d18: ; 0x02172d18 str r3, [sp, #4] ldr r3, [r4, #0x50] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _02172d8c ; =data_027e0e58 str r0, [sp, #0x10] ldr r0, [r1] @@ -97877,7 +97877,7 @@ func_ov15_02172d90: ; 0x02172d90 str r3, [sp, #8] ldr r3, [r4, #0x50] str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x14] ldr r1, [r4, #0x4c] sub r0, r1, r0 @@ -98215,7 +98215,7 @@ func_ov15_0217317c: ; 0x0217317c ldr r0, [r3] add r1, sp, #0x14 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x9a add r1, r0, #0x900 ldr r0, [sp, #0x24] @@ -98358,7 +98358,7 @@ func_ov15_021733b0: ; 0x021733b0 str r3, [sp, #0x24] ldr r3, [r4, #0x530] str r3, [sp, #0x28] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x52c] cmp r1, r0 blt _02173474 @@ -98504,7 +98504,7 @@ func_ov15_021735a8: ; 0x021735a8 str r7, [sp] str lr, [sp, #4] str ip, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xa4 add r3, r0, #0x800 ldr r0, [r5, #4] @@ -99309,7 +99309,7 @@ func_ov15_02174100: ; 0x02174100 ldr r0, _02174174 ; =data_027e0e60 ldrsh r5, [r4, #0x78] ldr r0, [r0] - bl func_ov00_02082504 + bl _ZN10MapManager18func_ov00_02082504Ev sub r0, r5, r0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 @@ -99362,13 +99362,13 @@ _021741a4: ldr r2, _021741d0 ; =data_027e0e60 add r1, r0, #0x160 ldr r0, [r2] - bl func_ov00_02082494 + bl _ZN10MapManager18func_ov00_02082494Ei b _021741c8 _021741b8: ldr r2, _021741d0 ; =data_027e0e60 add r1, r0, #0x160 ldr r0, [r2] - bl func_ov00_020824cc + bl _ZN10MapManager18func_ov00_020824ccEi _021741c8: mov r0, #1 ldmia sp!, {r3, pc} @@ -99424,7 +99424,7 @@ _02174268: _02174270: ldr r0, _021742a8 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082504 + bl _ZN10MapManager18func_ov00_02082504Ev mov r1, r0 add r0, sp, #0 bl func_ov00_020a61ac @@ -99751,7 +99751,7 @@ _02174660: str r0, [r4, #0x28] ldr r0, _02174694 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082424 + bl _ZN10MapManager18func_ov00_02082424Ev mov r0, #0 str r0, [r4, #0x30] mov r0, #1 @@ -99898,7 +99898,7 @@ _0217481c: ldrb r2, [r4, #0x34] ldr r0, [r0] mov r3, #1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 @@ -103304,7 +103304,7 @@ func_ov15_021776c4: ; 0x021776c4 str r1, [r4] ldr r0, [r0] add r1, r4, #0x374 - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldr r0, _021777f0 ; =data_027e0f6c add r1, r4, #0x78 ldr r0, [r0] @@ -103393,7 +103393,7 @@ func_ov15_02177808: ; 0x02177808 str r1, [r4] ldr r0, [r0] add r1, r4, #0x374 - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldr r0, _0217793c ; =data_027e0f6c add r1, r4, #0x78 ldr r0, [r0] @@ -103502,7 +103502,7 @@ func_ov15_02177964: ; 0x02177964 add r1, sp, #0x38 mov r2, #0 str r3, [sp, #0x40] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, _02177efc ; =data_027e0764 str r0, [r4, #0x4c] ldr r1, [r2] @@ -103678,7 +103678,7 @@ _02177c20: str r1, [r4, #0x398] ldr r0, [r0] add r1, r4, #0x374 - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei b _02177c84 _02177c5c: mov r1, #0x69 @@ -104463,7 +104463,7 @@ _021784d0: mov r2, #0 str r3, [sp, #0x50] str r4, [sp, #0x58] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r2, #0 str r0, [sp, #0x54] ldr r1, _021789a4 ; =0x00001ccd @@ -104512,7 +104512,7 @@ _02178810: mov r2, #0 str r3, [sp, #0x10] mov r4, r4, lsl #0xc - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _021789b8 ; =0xffffc4cd cmp r4, #0x1000 add r2, r0, r1 @@ -104770,7 +104770,7 @@ func_ov15_02178b7c: ; 0x02178b7c ldrh r1, [r4, #0x22] ldr r0, [r0] add r2, sp, #0x18 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _02178c58 ldr r0, _02178c6c ; =data_027e10a4 @@ -104824,7 +104824,7 @@ func_ov15_02178c70: ; 0x02178c70 add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev sub r0, r0, #0x1000 mov r1, #0x1500 str r0, [r4, #0x4c] @@ -106308,12 +106308,12 @@ _0217a208: mov r1, #0x11 ldr r0, [r0] sub r2, r1, #0x12 - bl func_ov00_02082650 + bl _ZN10MapManager18func_ov00_02082650Eiii ldr r0, _0217a550 ; =data_027e0e60 mov r1, #0x27 ldr r0, [r0] sub r2, r1, #0x28 - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii mov r0, #1 strb r0, [r7, #0x474] _0217a270: @@ -106763,7 +106763,7 @@ func_ov15_0217a850: ; 0x0217a850 str r6, [sp] str r5, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r5, #2 ldr r2, [sp, #0xc] ldr r1, _0217aa24 ; =data_027e0f64 @@ -109023,7 +109023,7 @@ func_ov15_0217c67c: ; 0x0217c67c add r1, sp, #4 mov r2, #0 str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp] ldrh r0, [r5, #0x20] ldr r2, _0217c7f0 ; =data_ov15_02187018 @@ -109430,7 +109430,7 @@ _0217cc78: add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x30] ldr r0, _0217cecc ; =data_027e0ffc add r2, sp, #0x2c @@ -109597,7 +109597,7 @@ func_ov15_0217cedc: ; 0x0217cedc add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] mov r1, #0 str r1, [sp] @@ -110240,7 +110240,7 @@ _0217d79c: _0217d7b0: ldr r0, _0217d860 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082504 + bl _ZN10MapManager18func_ov00_02082504Ev mov r1, r0 add r0, sp, #0 bl func_ov00_020a61ac @@ -110636,7 +110636,7 @@ func_ov15_0217dc4c: ; 0x0217dc4c str r2, [sp] str r2, [sp, #4] str r1, [sp, #8] - bl func_ov00_02082504 + bl _ZN10MapManager18func_ov00_02082504Ev mov r1, r0 add r0, sp, #0 bl func_ov00_020a61ac @@ -113047,7 +113047,7 @@ func_ov15_0217fc40: ; 0x0217fc40 add r1, r4, #0x4c ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldrb r0, [r4, #0x3a1] cmp r0, #0 beq _0217fc94 @@ -113127,7 +113127,7 @@ func_ov15_0217fd64: ; 0x0217fd64 add r1, r4, #0x4c ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei ldrb r0, [r4, #0x3a1] cmp r0, #0 beq _0217fdb8 @@ -113479,7 +113479,7 @@ _02180200: add r1, r4, #0x4c ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei mov r0, #1 strb r0, [r4, #0x474] b _021802e8 @@ -113499,7 +113499,7 @@ _021802c4: add r1, r4, #0x4c ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei mov r0, #1 strb r0, [r4, #0x474] _021802e8: @@ -114105,7 +114105,7 @@ _02180b9c: add r1, r5, #0x4c ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838d8 + bl _ZN10MapManager18func_ov00_020838d8Ei mov r0, #0 strb r0, [r5, #0x474] b _02180bf8 @@ -114116,7 +114116,7 @@ _02180bd4: add r1, r5, #0x4c ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020838c8 + bl _ZN10MapManager18func_ov00_020838c8Ei mov r0, #1 strb r0, [r5, #0x474] _02180bf8: @@ -114837,7 +114837,7 @@ func_ov15_021815b0: ; 0x021815b0 ldr r0, [r2] ldrh r1, [r5, #0x26] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 cmpne r4, #0 ldmeqia sp!, {r3, r4, r5, pc} @@ -115638,7 +115638,7 @@ _02182140: ldrh r1, [r4, #0x26] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _02182548 mov r0, r4 @@ -116051,7 +116051,7 @@ func_ov15_021826ac: ; 0x021826ac str r6, [sp] str lr, [sp, #4] str ip, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xa4 add r3, r0, #0x800 ldr r0, [r5, #4] @@ -116133,7 +116133,7 @@ func_ov15_02182810: ; 0x02182810 str r3, [sp, #0x24] ldr r3, [r4, #0x338] str r3, [sp, #0x28] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x334] cmp r1, r0 blt _021828c0 @@ -116765,7 +116765,7 @@ _02182ff0: str r1, [sp, #0x20] add r1, sp, #0x18 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x9a add r1, r0, #0x900 ldr r0, [sp, #0x28] @@ -118302,7 +118302,7 @@ func_ov15_02184540: ; 0x02184540 ldmneia sp!, {r4, pc} ldr r0, _021845e4 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev ldrb r1, [r4, #0x54] cmp r1, r0 bne _021845b4 @@ -118331,7 +118331,7 @@ _021845b4: ldr r0, _021845e4 ; =data_027e0e60 str r1, [r4, #0x3c] ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev strb r0, [r4, #0x54] ldmia sp!, {r4, pc} .align 2, 0 @@ -118352,7 +118352,7 @@ func_ov15_021845e8: ; 0x021845e8 ldmneia sp!, {r4, pc} ldr r0, _02184640 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev ldrb r1, [r4, #0x64] cmp r0, r1 ldmeqia sp!, {r4, pc} @@ -118381,7 +118381,7 @@ func_ov15_02184644: ; 0x02184644 ldmneia sp!, {r4, pc} ldr r0, _021846f4 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev ldrb r1, [r4, #0xc3] cmp r0, r1 ldmeqia sp!, {r4, pc} diff --git a/asm/ov17.inc b/asm/ov17.inc index 50b401ef..5506da16 100644 --- a/asm/ov17.inc +++ b/asm/ov17.inc @@ -229,39 +229,39 @@ .extern func_ov00_020807d4 .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_020823c4 -.extern func_ov00_020823d4 -.extern func_ov00_020823e4 -.extern func_ov00_020823f4 -.extern func_ov00_02082680 -.extern func_ov00_020826a0 -.extern func_ov00_020828c0 -.extern func_ov00_0208335c -.extern func_ov00_02083368 -.extern func_ov00_02083604 -.extern func_ov00_02083614 -.extern func_ov00_020836dc -.extern func_ov00_02083790 -.extern func_ov00_02083840 -.extern func_ov00_020839d4 -.extern func_ov00_020839f8 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083ee0 -.extern func_ov00_02083f44 -.extern func_ov00_02083fb0 -.extern func_ov00_020840a0 -.extern func_ov00_020840c4 -.extern func_ov00_020843ec -.extern func_ov00_02084a5c -.extern func_ov00_02084ac4 -.extern func_ov00_02084b20 -.extern func_ov00_02084b2c -.extern func_ov00_02084cb0 -.extern func_ov00_02084cc8 -.extern func_ov00_02084d24 -.extern func_ov00_0208583c +.extern _ZN10MapManager18func_ov00_020823c4EPii +.extern _ZN10MapManager18func_ov00_020823d4Ei +.extern _ZN10MapManager18func_ov00_020823e4Ei +.extern _ZN10MapManager16MapData_vfunc_b4Ev +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager16MapData_vfunc_7cEv +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager18func_ov00_02083604Ei +.extern _ZN10MapManager18func_ov00_02083614Ei +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083790Ei +.extern _ZN10MapManager18func_ov00_02083840Ei +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020840a0Ecci +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager18func_ov00_020843ecEPi +.extern _ZN10MapManager8SpawnNPCEP5Vec3pii +.extern _ZN10MapManager18func_ov00_02084ac4Ej +.extern _ZN10MapManager21SetCourseData_Unk_25cEc +.extern _ZN10MapManager21GetCourseData_Unk_25dEv +.extern _ZN10MapManager18func_ov00_02084cb0Ei +.extern _ZN10MapManager18func_ov00_02084cc8Ei +.extern _ZN10MapManager18func_ov00_02084d24Ecci +.extern _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi .extern func_ov00_02088130 .extern func_ov00_02088144 .extern func_ov00_02088158 diff --git a/asm/ov17.s b/asm/ov17.s index bc796bdc..0a7e68c5 100644 --- a/asm/ov17.s +++ b/asm/ov17.s @@ -773,7 +773,7 @@ func_ov17_0215bbd4: ; 0x0215bbd4 ldrb r1, [r6, #1] ldr r0, [r2] mov r5, r3 - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r4, r0 mov r0, r8 ldr r2, [r0] @@ -784,7 +784,7 @@ func_ov17_0215bbd4: ; 0x0215bbd4 mov r9, r0 ldr r0, [r1] ldrb r1, [r6] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r9, [sp, #0x14] str r4, [sp, #0x18] str r0, [sp, #0x10] @@ -1144,7 +1144,7 @@ func_ov17_0215bf8c: ; 0x0215bf8c str r1, [r4, #0x20] ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 mov r2, #1 @@ -1329,7 +1329,7 @@ _0215c2f4: str r1, [r5, #4] ldr r0, [r0] add r1, r5, #0x38 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _0215c648 _0215c32c: ldr r1, [r5, #4] @@ -1504,7 +1504,7 @@ _0215c598: add r1, r5, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r1, _0215c670 ; =0xffffed1f mov r0, #0 str r1, [r5, #0x70] @@ -1539,7 +1539,7 @@ _0215c634: ldrsh r1, [r5, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei _0215c648: mov r0, #1 add sp, sp, #0x108 @@ -1832,7 +1832,7 @@ func_ov17_0215c940: ; 0x0215c940 strb r2, [sp, #4] mov r2, #1 strb r3, [sp, #5] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r2, [sp, #4] ldr r0, _0215ca64 ; =data_027e0e60 add r1, sp, #4 @@ -1840,7 +1840,7 @@ func_ov17_0215c940: ; 0x0215c940 ldr r0, [r0] mov r2, #1 strb r3, [sp, #4] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii _0215c9c4: ldrh r0, [r4, #0x26] mov r1, #0x24 @@ -1900,7 +1900,7 @@ func_ov17_0215ca70: ; 0x0215ca70 ldr r0, _0215cba0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 bne _0215cabc mov r0, r4 @@ -1969,7 +1969,7 @@ _0215cb84: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 @@ -2221,7 +2221,7 @@ func_ov17_0215ce24: ; 0x0215ce24 ldr r1, [r0] add r0, sp, #0 add r2, r2, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r1, [sp] ldrb r0, [r5, #0x14] cmp r1, r0 @@ -2498,7 +2498,7 @@ _0215d1ec: ldr r3, [r3, #8] str r3, [r4, #0x210] ldr r1, [r1] - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, [r4, #0x68] ldr r1, [r4, #0x60] cmp r0, #0 @@ -3507,7 +3507,7 @@ func_ov17_0215dff0: ; 0x0215dff0 mov r10, r0 add r0, sp, #6 mov r2, r11 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r7, #0 ldr r4, _0215e1b4 ; =data_027e0e60 str r7, [r10, #0x1ec] @@ -3526,7 +3526,7 @@ _0215e038: mov r1, r6 strb r8, [sp, #4] strb r2, [sp, #5] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _0215e078 ldr r1, [r0] @@ -3750,7 +3750,7 @@ func_ov17_0215e338: ; 0x0215e338 mov r10, r0 add r0, sp, #2 mov r2, r11 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r7, #0 ldr r4, _0215e460 ; =data_027e0e60 str r7, [r10, #0x250] @@ -3769,7 +3769,7 @@ _0215e37c: mov r1, r6 strb r8, [sp] strb r2, [sp, #1] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _0215e3bc ldr r1, [r0] @@ -4852,11 +4852,11 @@ _0215f25c: add r0, sp, #0 ldr r1, [r1] add r2, r4, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, _0215f2e0 ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _0215f2ac ldr r1, [r0] @@ -5306,11 +5306,11 @@ func_ov17_0215f874: ; 0x0215f874 add r0, sp, #0 ldr r1, [r1] mov r2, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, _0215f904 ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r0] @@ -5406,7 +5406,7 @@ func_ov17_0215f9a0: ; 0x0215f9a0 add r1, sp, #0 str r2, [sp, #8] ldr r2, [r4, #8] - bl func_ov00_0208583c + bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi cmp r0, #0 movlt r0, #1 movge r0, #0 @@ -5588,7 +5588,7 @@ _0215fb5e: blx func_ov03_020f8068 add r1, r0, #0 add r0, r7, #0 - blx func_ov00_02083614 + blx _ZN10MapManager18func_ov00_02083614Ei cmp r0, #0 beq _0215fb80 cmp r4, r5 @@ -5674,7 +5674,7 @@ _0215fc14: bl func_ov03_020f8068 mov r1, r0 mov r0, r10 - bl func_ov00_02083614 + bl _ZN10MapManager18func_ov00_02083614Ei cmp r0, #0 beq _0215fcb4 ldr r10, [r11] @@ -5682,7 +5682,7 @@ _0215fc14: bl func_ov03_020f8068 mov r1, r0 mov r0, r10 - bl func_ov00_02083604 + bl _ZN10MapManager18func_ov00_02083604Ei cmp r0, #0 beq _0215fcb4 _0215fc78: @@ -5751,7 +5751,7 @@ _0215fd3c: bl func_ov03_020f8068 mov r1, r0 mov r0, r8 - bl func_ov00_02083614 + bl _ZN10MapManager18func_ov00_02083614Ei cmp r0, #0 beq _0215fd70 cmp r5, r7 @@ -5936,7 +5936,7 @@ _0215ffcc: bl func_ov03_020f8068 mov r1, r0 mov r0, r6 - bl func_ov00_02083614 + bl _ZN10MapManager18func_ov00_02083614Ei cmp r0, #0 beq _02160088 mov r0, r7 @@ -6733,7 +6733,7 @@ _021608d4: add r1, sp, #0 str r2, [sp, #8] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x1bc] ldr r0, [r4, #0x144] cmp r0, #0 @@ -6940,7 +6940,7 @@ _02160b10: add r0, sp, #4 add r2, sp, #0x14 str r3, [sp, #0x1c] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #4] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -7012,7 +7012,7 @@ _02160c28: add r0, sp, #0 add r2, sp, #8 str r3, [sp, #0x10] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -7611,14 +7611,14 @@ _02161404: add r1, r5, #0x18 ldr r0, [r0] mov r3, #2 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _021614dc _02161468: ldr r0, _021614f0 ; =data_027e0e60 add r1, r5, #0x18 ldr r0, [r0] mov r3, #1 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _021614dc _02161480: bl func_ov14_02127188 @@ -7641,7 +7641,7 @@ _021614a8: ldr r0, _021614f0 ; =data_027e0e60 ldrh r1, [r5, #0x24] ldr r0, [r0] - bl func_ov00_02083840 + bl _ZN10MapManager18func_ov00_02083840Ei b _021614dc _021614d0: mov r0, r5 @@ -7750,7 +7750,7 @@ func_ov17_0216161c: ; 0x0216161c ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _02161670 ldr r0, _0216167c ; =data_027e0fe4 @@ -7777,7 +7777,7 @@ func_ov17_02161680: ; 0x02161680 ldr r0, _021616e8 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} @@ -7795,7 +7795,7 @@ func_ov17_02161680: ; 0x02161680 ldr r0, _021616e8 ; =data_027e0e60 ldrh r1, [r4, #0x24] ldr r0, [r0] - bl func_ov00_02083840 + bl _ZN10MapManager18func_ov00_02083840Ei mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 @@ -7810,7 +7810,7 @@ func_ov17_021616ec: ; 0x021616ec ldr r0, _0216179c ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} @@ -7839,14 +7839,14 @@ func_ov17_021616ec: ; 0x021616ec ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _0216179c ; =data_027e0e60 ldrh r1, [r4, #0x24] ldr r0, [r0] - bl func_ov00_02083790 + bl _ZN10MapManager18func_ov00_02083790Ei mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 @@ -10928,11 +10928,11 @@ func_ov17_02163e24: ; 0x02163e24 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _02163ecc ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldr r1, _02163ecc ; =data_027e0e60 mov r11, r0 ldr r0, [r1] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r8, r0 mov r9, #0 cmp r11, #0 @@ -10949,7 +10949,7 @@ _02163e78: mov r1, r6 strb r7, [sp] strb r10, [sp, #1] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _02163eb0 ldr r1, [r0] @@ -11054,7 +11054,7 @@ _02163fbc: str r2, [r4, #0x6c] ldr r0, [r0] add r1, r4, #0x38 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _0216407c _02163fe4: mov r0, #0 @@ -11066,7 +11066,7 @@ _02163fe4: ldr r0, [r0] add r1, r4, #0x38 mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _0216407c _02164010: mov r0, #1 @@ -11076,7 +11076,7 @@ _02164010: str r2, [r4, #0x68] ldr r0, [r0] add r1, r4, #0x38 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi cmp r5, #0 bne _0216407c mov r0, r4 @@ -11091,7 +11091,7 @@ _02164048: ldr r0, [r0] add r1, r4, #0x38 mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi cmp r5, #0 bne _0216407c mov r0, r4 @@ -11278,23 +11278,23 @@ func_ov17_02164284: ; 0x02164284 str r1, [sp, #8] ldr r1, [sp] add r7, r1, #0xa - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldr r1, [sp, #8] cmp r1, r0 blt _021642ec ldr r0, _02164474 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #8] _021642ec: ldr r0, _02164474 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv cmp r7, r0 blt _02164310 ldr r0, _02164474 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r7, r0 _02164310: ldr r8, [sp] @@ -11310,7 +11310,7 @@ _0216432c: mov r1, r6 strb r2, [sp, #0xe] strb r8, [sp, #0xf] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev mov r5, r0 cmp r5, r10 beq _02164380 @@ -11359,7 +11359,7 @@ _021643e0: ldr r0, [r0] strb r6, [sp, #0xc] strb r9, [sp, #0xd] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev mov r5, r0 cmp r5, r10 beq _0216442c @@ -12427,11 +12427,11 @@ _021651b0: _021651c0: ldr r0, _02165280 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldr r1, _02165280 ; =data_027e0e60 and r11, r0, #0xff ldr r0, [r1] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv mov r8, #0 strb r8, [sp] strb r8, [sp, #1] @@ -12449,7 +12449,7 @@ _02165208: mov r1, r6 strb r8, [sp] strb r9, [sp, #1] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r5, r0 beq _02165258 ldr r1, [r0] @@ -13053,7 +13053,7 @@ _02165770: _0216577e: ldr r0, _021657b8 ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02084b2c + blx _ZN10MapManager21GetCourseData_Unk_25dEv cmp r0, #0 beq _02165798 add r0, r4, #0 @@ -13511,7 +13511,7 @@ _02165d80: ldr r0, _02165e44 ; =data_027e0e60 mov r1, #1 ldr r0, [r0] - bl func_ov00_02084b20 + bl _ZN10MapManager21SetCourseData_Unk_25cEc mov r0, r4 mov r1, #1 bl _ZN5Actor18CollidesWithPlayerEj @@ -13730,12 +13730,12 @@ _02166080: ; jump table _02166090: ldr r0, _021661e0 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084b2c + bl _ZN10MapManager21GetCourseData_Unk_25dEv ldmia sp!, {r4, pc} _021660a0: ldr r0, _021661e0 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084b2c + bl _ZN10MapManager21GetCourseData_Unk_25dEv cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} @@ -14372,15 +14372,15 @@ func_ov17_02166878: ; 0x02166878 ldr r5, [r0] ldr r1, [r9, #0x18] mov r0, r5 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev mov r4, r0 ldr r1, [r9, #0x20] mov r0, r5 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev mov r2, r0 mov r0, r5 mov r1, r4 - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci str r0, [r9, #0x70] ldrb r1, [r9, #0x7a] ldr r2, [r9, #0x18] @@ -14465,7 +14465,7 @@ _021669f8: mov r2, r4 strb r6, [sp, #4] strb r8, [sp, #5] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r0, [r9, #0x15] add r8, r8, #1 add r0, r0, #2 @@ -14482,7 +14482,7 @@ _02166a38: ldrh r2, [r9, #0x2a] ldr r0, [r0] add r1, r9, #0x64 - bl func_ov00_020823c4 + bl _ZN10MapManager18func_ov00_020823c4EPii add sp, sp, #0x54 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 @@ -14679,7 +14679,7 @@ _02166cc4: ldr r0, _02166df4 ; =data_027e0e60 ldr r1, [r4, #0x74] ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej mvn r0, #0 str r0, [r4, #0x74] _02166cec: @@ -14696,7 +14696,7 @@ _02166cec: ldr r0, [r0] add r1, r4, #0x38 mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _02166de8 _02166d28: mov r1, #1 @@ -14710,7 +14710,7 @@ _02166d28: ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r4, #0x74] _02166d5c: mov r0, r4 @@ -14742,14 +14742,14 @@ _02166d8c: ldr r0, [r0] add r1, r4, #0x38 mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi b _02166de8 _02166dd4: ldr r0, _02166df4 ; =data_027e0e60 add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi _02166de8: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} @@ -15323,12 +15323,12 @@ _021675cc: sub r2, r2, #1 sub r2, r3, r2, lsl #11 str r2, [sp, #0x10] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev ldr r1, _021676a8 ; =data_027e0e60 mov r5, r0 ldr r0, [r1] ldr r1, [sp, #0x10] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev ldrb r1, [r10, #0x7a] mov r6, r0 mov r7, #0 @@ -15348,13 +15348,13 @@ _02167650: mov r3, r11 add r1, r5, r7 add r2, r6, r8 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci b _02167680 _02167670: ldr r3, [r10, #0x70] add r1, r5, r7 add r2, r6, r8 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci _02167680: ldrb r1, [r10, #0x7a] add r8, r8, #1 @@ -16338,13 +16338,13 @@ _021683b0: mov r2, r5 strb r7, [sp, #6] strb r9, [sp, #7] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldr r0, [r4] strb r7, [sp, #4] strb r9, [sp, #5] mov r1, r11 mov r2, #1 - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r10, #0x68] cmp r0, #1 ldr r0, [r4] @@ -16352,13 +16352,13 @@ _021683b0: mov r1, r8 mov r2, r9 mov r3, #0x17 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci b _02168414 _02168404: mov r1, r8 mov r2, r9 mov r3, #9 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci _02168414: ldrb r0, [r10, #0x15] add r9, r9, #1 @@ -16490,12 +16490,12 @@ func_ov17_0216857c: ; 0x0216857c ldr r0, _021685b4 ; =data_027e0e60 ldr r0, [r0] mov r1, r4 - bl func_ov00_020823d4 + bl _ZN10MapManager18func_ov00_020823d4Ei ldr r1, _021685b4 ; =data_027e0e60 str r0, [r5, #0x6c] ldr r0, [r1] mov r1, r4 - bl func_ov00_020823e4 + bl _ZN10MapManager18func_ov00_020823e4Ei str r0, [r5, #0x70] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 @@ -16524,7 +16524,7 @@ func_ov17_021685b8: ; 0x021685b8 bl func_0201933c ldr r0, _02168654 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020823f4 + bl _ZN10MapManager16MapData_vfunc_b4Ev mov r4, r0 mov r0, r5 mov r1, r4 @@ -17305,7 +17305,7 @@ _02168ef8: ; jump table _02168f08: ldr r0, _02169180 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev sub r0, r0, #2 cmp r4, r0 addlt r0, r4, #2 @@ -17345,7 +17345,7 @@ _02168f70: _02168f9c: ldr r0, _02169180 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv sub r0, r0, #2 cmp r5, r0 addlt r0, r5, #2 @@ -17557,7 +17557,7 @@ _0216929c: ldr r0, _02169340 ; =data_027e0e60 add r1, r4, #0x64 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev ldr r1, [r0] mov r5, r0 ldr r1, [r1, #0x1c] @@ -17578,7 +17578,7 @@ _021692e8: ldr r0, _02169340 ; =data_027e0e60 add r1, r4, #0x64 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev ldr r1, [r0] mov r5, r0 ldr r1, [r1, #0x1c] @@ -17897,7 +17897,7 @@ _021696b8: add r1, sp, #0x12 strb r3, [sp, #0x13] mov r2, #1 - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrh r0, [r4, #0x26] cmp r0, #1 bne _02169874 @@ -17911,7 +17911,7 @@ _021696b8: mov r2, #1 strb r3, [sp, #0x10] strb ip, [sp, #0x11] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii b _02169874 _02169728: ldr r1, [sp, #0x48] @@ -17926,7 +17926,7 @@ _02169728: add r1, sp, #0xe strb r3, [sp, #0xf] mov r2, #1 - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrh r0, [r4, #0x26] cmp r0, #1 bne _02169874 @@ -17940,7 +17940,7 @@ _02169728: mov r2, #1 strb r3, [sp, #0xc] strb ip, [sp, #0xd] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii b _02169874 _02169798: ldr r1, [sp, #0x50] @@ -17955,7 +17955,7 @@ _02169798: add r1, sp, #0xa strb r3, [sp, #0xb] mov r2, #1 - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrh r0, [r4, #0x26] cmp r0, #1 bne _02169874 @@ -17969,7 +17969,7 @@ _02169798: mov r2, #1 strb r3, [sp, #8] strb ip, [sp, #9] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii b _02169874 _02169808: ldr r1, [sp, #0x5c] @@ -17984,7 +17984,7 @@ _02169808: add r1, sp, #6 strb r3, [sp, #7] mov r2, #1 - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrh r0, [r4, #0x26] cmp r0, #1 bne _02169874 @@ -17998,7 +17998,7 @@ _02169808: mov r2, #1 strb r3, [sp, #4] strb ip, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii _02169874: mov r1, #0 bic r1, r1, #0x6000 @@ -18072,7 +18072,7 @@ _02169960: ldr r0, _02169a54 ; =data_027e0e60 strh r1, [r4, #0xc] ldr r0, [r0] - bl func_ov00_0208335c + bl _ZN10MapManager17Get_MapData_Unk28Ev ldrb r1, [sp, #4] sub r0, r0, #2 cmp r1, r0 @@ -18084,7 +18084,7 @@ _0216998c: ldr r0, _02169a54 ; =data_027e0e60 strh r1, [r4, #0xc] ldr r0, [r0] - bl func_ov00_02083368 + bl _ZN10MapManager17Get_MapData_Unk2aEv ldrb r1, [sp, #5] sub r0, r0, #2 cmp r1, r0 @@ -18131,7 +18131,7 @@ _02169a0c: ldr r0, [r0] add r2, sp, #4 mov r1, #0x7e - bl func_ov00_020828c0 + bl _ZN10MapManager16MapData_vfunc_7cEv add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 @@ -18798,14 +18798,14 @@ _0216a250: add r1, r5, #0x18 ldr r0, [r0] mov r3, #2 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _0216a330 _0216a2b4: ldr r0, _0216a344 ; =data_027e0e60 add r1, r5, #0x18 ldr r0, [r0] mov r3, #1 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _0216a330 _0216a2cc: bl func_ov14_02127188 @@ -18830,7 +18830,7 @@ _0216a2fc: ldr r0, _0216a344 ; =data_027e0e60 ldrh r1, [r5, #0x24] ldr r0, [r0] - bl func_ov00_02083840 + bl _ZN10MapManager18func_ov00_02083840Ei b _0216a330 _0216a324: mov r0, r5 @@ -18862,7 +18862,7 @@ func_ov17_0216a348: ; 0x0216a348 ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} @@ -18917,7 +18917,7 @@ _0216a428: ldr r0, _0216a4a4 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} @@ -18935,7 +18935,7 @@ _0216a444: ldr r0, _0216a4a4 ; =data_027e0e60 ldrh r1, [r4, #0x24] ldr r0, [r0] - bl func_ov00_02083840 + bl _ZN10MapManager18func_ov00_02083840Ei mov r0, #1 ldmia sp!, {r4, pc} _0216a484: @@ -18982,7 +18982,7 @@ _0216a508: ldr r0, _0216a5b0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} @@ -19011,14 +19011,14 @@ _0216a56c: ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _0216a5b0 ; =data_027e0e60 ldrh r1, [r4, #0x24] ldr r0, [r0] - bl func_ov00_02083790 + bl _ZN10MapManager18func_ov00_02083790Ei mov r0, #1 ldmia sp!, {r4, pc} _0216a5a4: @@ -19397,7 +19397,7 @@ func_ov17_0216a9fc: ; 0x0216a9fc str r0, [r4, #0x20] ldr r0, [r2] mov r2, #1 - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p add r6, r4, #0x18 str r0, [r4, #0x1c] ldmia r6, {r0, r1, r2} @@ -19450,7 +19450,7 @@ func_ov17_0216a9fc: ; 0x0216a9fc ldr r0, _0216abf8 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 beq _0216ab90 mov r0, r4 @@ -19711,7 +19711,7 @@ _0216aedc: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldr r1, [r4, #4] mov r0, #0 bic r1, r1, #8 diff --git a/asm/ov18.inc b/asm/ov18.inc index cdf26420..c223374b 100644 --- a/asm/ov18.inc +++ b/asm/ov18.inc @@ -254,34 +254,34 @@ .extern func_ov00_0207f4a4 .extern func_ov00_02080140 .extern func_ov00_020807d4 -.extern func_ov00_02082680 -.extern func_ov00_020828c0 -.extern func_ov00_02082d08 -.extern func_ov00_02082d84 -.extern func_ov00_0208330c -.extern func_ov00_02083318 -.extern func_ov00_02083344 -.extern func_ov00_02083350 -.extern func_ov00_02083374 -.extern func_ov00_02083384 -.extern func_ov00_0208340c -.extern func_ov00_0208342c -.extern func_ov00_0208344c -.extern func_ov00_02083560 -.extern func_ov00_020838e8 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083ce8 -.extern func_ov00_02083f80 -.extern func_ov00_02084088 -.extern func_ov00_020843ec -.extern func_ov00_020849c0 -.extern func_ov00_02084be0 -.extern func_ov00_02084c7c -.extern func_ov00_02084c94 -.extern func_ov00_02084cb0 -.extern func_ov00_02084cc8 +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager16MapData_vfunc_7cEv +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02082d84Ev +.extern _ZN10MapManager21GetCourseData_Unk_25cEv +.extern _ZN10MapManager18func_ov00_02083318Ei +.extern _ZN10MapManager20GetCourseData_Unk_86Ev +.extern _ZN10MapManager20GetCourseData_Unk_87Ev +.extern _ZN10MapManager18func_ov00_02083374Ev +.extern _ZN10MapManager18func_ov00_02083384Ev +.extern _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p +.extern _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18func_ov00_02083560EiPS_j +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083ce8Ecccci +.extern _ZN10MapManager16MapData_vfunc_6cEv +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager18func_ov00_020843ecEPi +.extern _ZN10MapManager18func_ov00_020849c0Ev +.extern _ZN10MapManager18func_ov00_02084be0Eii +.extern _ZN10MapManager18func_ov00_02084c7cEi +.extern _ZN10MapManager18func_ov00_02084c94Ei +.extern _ZN10MapManager18func_ov00_02084cb0Ei +.extern _ZN10MapManager18func_ov00_02084cc8Ei .extern func_ov00_0208726c .extern func_ov00_020872e8 .extern func_ov00_02087d34 diff --git a/asm/ov18.s b/asm/ov18.s index 0fd5534b..a029a7a4 100644 --- a/asm/ov18.s +++ b/asm/ov18.s @@ -304,7 +304,7 @@ func_ov18_0215b86c: ; 0x0215b86c ldr r0, _0215bd68 ; =data_027e0e60 add r1, r9, #0x1b0 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldrb r2, [r9, #0x12] ldr r0, _0215bd6c ; =0x00001333 mov r1, #0 @@ -322,18 +322,18 @@ func_ov18_0215b86c: ; 0x0215b86c ldr r0, _0215bd68 ; =data_027e0e60 add r1, sp, #0x64 ldr r0, [r0] - bl func_ov00_0208340c + bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p ldr r0, _0215bd68 ; =data_027e0e60 add r1, sp, #0x58 ldr r0, [r0] - bl func_ov00_0208342c + bl _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p ldr r0, _0215bd68 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083374 + bl _ZN10MapManager18func_ov00_02083374Ev ldr r1, _0215bd68 ; =data_027e0e60 mov r5, r0 ldr r0, [r1] - bl func_ov00_02083384 + bl _ZN10MapManager18func_ov00_02083384Ev mov r10, #0x4000 rsb r10, r10, #0 mov r6, r0 @@ -693,7 +693,7 @@ _0215be0c: bne _0215be5c ldr r0, _0215beb0 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 movne r0, #1 strneb r0, [r9, #0x1cc] @@ -824,7 +824,7 @@ func_ov18_0215bfc8: ; 0x0215bfc8 add r0, sp, #0 add r2, sp, #4 str r3, [sp, #0xc] - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r0, r5 ldr r2, [r0] add r1, sp, #0 @@ -1219,12 +1219,12 @@ func_ov18_0215c460: ; 0x0215c460 ldrb r1, [r5, #1] ldr r0, [r2] mov r4, r3 - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei ldr r2, _0215c5bc ; =data_027e0e60 mov r8, r0 ldrb r1, [r5] ldr r0, [r2] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei mov r1, #0x5000 str r1, [sp, #0x14] str r0, [sp, #0x10] @@ -3214,7 +3214,7 @@ func_ov18_0215dee4: ; 0x0215dee4 ldrb r1, [r4, #0x15c] ldr r0, [r0] add r2, r4, #0x1cc - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 @@ -3538,7 +3538,7 @@ _0215e324: add r0, sp, #4 ldr r1, [r1] add r2, r4, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r2, [sp, #4] ldr r0, _0215e49c ; =data_027e0e60 ldrb r1, [sp, #5] @@ -3548,7 +3548,7 @@ _0215e324: add r1, sp, #4 strb r3, [sp, #4] strb r2, [sp, #5] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #6 cmpne r0, #0x37 add r0, sp, #0x54 @@ -4315,7 +4315,7 @@ _0215ede4: mov r2, r6 strb r8, [sp, #0xc] strb r9, [sp, #0xd] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii add r9, r9, #1 cmp r9, r10 blt _0215ede4 @@ -5272,7 +5272,7 @@ _0215f9b0: add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi mov r0, #7 strb r0, [r4, #0x12] b _0215fa1c @@ -5287,7 +5287,7 @@ _0215f9e8: add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi mov r0, #1 strb r0, [r4, #0x12] _0215fa1c: @@ -6426,7 +6426,7 @@ _021607b8: mov r2, r5 strb r7, [sp, #0xc] strb r9, [sp, #0xd] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii add r9, r9, #1 cmp r9, r10 ble _021607b8 @@ -6613,7 +6613,7 @@ _021609c0: add r2, sp, #4 ldr r0, [r0] mov r1, #0x30 - bl func_ov00_020828c0 + bl _ZN10MapManager16MapData_vfunc_7cEv add sp, sp, #0x1c ldmia sp!, {pc} .align 2, 0 @@ -6843,7 +6843,7 @@ _02160c80: mov r2, r11 strb r6, [sp, #0x14] strb r8, [sp, #0x15] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii _02160c9c: add r8, r8, #1 cmp r8, r10 @@ -6918,7 +6918,7 @@ _02160d90: mov r2, r11 strb r6, [sp, #0x12] strb r8, [sp, #0x13] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii _02160dac: add r8, r8, #1 cmp r8, r10 @@ -6993,7 +6993,7 @@ _02160ea0: mov r2, r11 strb r6, [sp, #0x10] strb r8, [sp, #0x11] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii _02160ebc: add r8, r8, #1 cmp r8, r10 @@ -9042,7 +9042,7 @@ _0216285c: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084c94 + bl _ZN10MapManager18func_ov00_02084c94Ei cmp r0, #0 bne _02162950 add r0, sp, #0x118 @@ -9105,13 +9105,13 @@ _02162950: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084c7c + bl _ZN10MapManager18func_ov00_02084c7cEi b _02162c90 _02162968: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084c94 + bl _ZN10MapManager18func_ov00_02084c94Ei cmp r0, #0 bne _02162a48 add r0, sp, #0xec @@ -9171,13 +9171,13 @@ _02162a48: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084c7c + bl _ZN10MapManager18func_ov00_02084c7cEi b _02162c90 _02162a60: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084c94 + bl _ZN10MapManager18func_ov00_02084c94Ei cmp r0, #0 bne _02162ab4 add r0, sp, #0xb4 @@ -9200,13 +9200,13 @@ _02162ab4: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084c7c + bl _ZN10MapManager18func_ov00_02084c7cEi b _02162c90 _02162acc: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084c94 + bl _ZN10MapManager18func_ov00_02084c94Ei cmp r0, #0 bne _02162b20 add r0, sp, #0x88 @@ -9229,13 +9229,13 @@ _02162b20: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084c7c + bl _ZN10MapManager18func_ov00_02084c7cEi b _02162c90 _02162b38: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 bne _02162b94 add r0, sp, #0x5c @@ -9260,13 +9260,13 @@ _02162b94: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei b _02162c90 _02162bac: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 bne _02162c08 add r0, sp, #0x30 @@ -9291,13 +9291,13 @@ _02162c08: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei b _02162c90 _02162c20: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 bne _02162c7c add r0, sp, #4 @@ -9322,7 +9322,7 @@ _02162c7c: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei _02162c90: mov r0, #0 str r0, [r4, #0x6c] @@ -17123,11 +17123,11 @@ func_ov18_021693b0: ; 0x021693b0 mov r6, r0 ldr r5, [r2] mov r0, r5 - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei mov r4, r0 mov r0, r5 mov r1, r6 - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] @@ -17136,7 +17136,7 @@ func_ov18_021693b0: ; 0x021693b0 add r3, sp, #0x10 mov r0, r5 str r4, [sp, #0xc] - bl func_ov00_02083f80 + bl _ZN10MapManager16MapData_vfunc_6cEv ldr r0, [sp, #0x14] cmp r0, #0xf80 movlt r0, #1 @@ -18338,7 +18338,7 @@ func_ov18_0216a3c8: ; 0x0216a3c8 strh r2, [r4, #0x10] ldrb r2, [r4, #0x15] ldr r1, [r1] - bl func_ov00_02083560 + bl _ZN10MapManager18func_ov00_02083560EiPS_j ldrb lr, [r4, #0x16] ldrb ip, [r4, #0x17] ldrb r1, [sp, #0x15] @@ -18353,10 +18353,10 @@ func_ov18_0216a3c8: ; 0x0216a3c8 ldrb r3, [sp, #0x14] add r1, sp, #0x18 strb ip, [sp, #0x13] - bl func_ov00_02083ce8 + bl _ZN10MapManager18func_ov00_02083ce8Ecccci ldr r0, _0216a5b4 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_0208330c + bl _ZN10MapManager21GetCourseData_Unk_25cEv cmp r0, #0 beq _0216a47c add r0, r4, #8 @@ -18381,16 +18381,16 @@ _0216a47c: add r3, r4, #0xc strb ip, [sp, #0x10] strb lr, [sp, #0x11] - bl func_ov00_02082d84 + bl _ZN10MapManager18func_ov00_02082d84Ev _0216a4a4: ldr r0, _0216a5b4 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083344 + bl _ZN10MapManager20GetCourseData_Unk_86Ev cmp r0, #2 bge _0216a4cc ldr r0, _0216a5b4 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02083350 + bl _ZN10MapManager20GetCourseData_Unk_87Ev cmp r0, #2 blt _0216a504 _0216a4cc: @@ -18509,7 +18509,7 @@ _0216a63c: ldr r0, _0216a6b0 ; =data_027e0e60 ldrb r1, [r4, #0x19] ldr r0, [r0] - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 movne r0, #0 strneb r0, [r4, #0x14] @@ -18524,7 +18524,7 @@ _0216a674: ldr r0, _0216a6b0 ; =data_027e0e60 ldrb r1, [r4, #0x19] ldr r0, [r0] - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 movne r0, #1 strneb r0, [r4, #0x14] @@ -18548,7 +18548,7 @@ func_ov18_0216a6b4: ; 0x0216a6b4 ldr r0, _0216a77c ; =data_027e0e60 ldrb r5, [r4, #0x15] ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, r5 ldmeqia sp!, {r4, r5, r6, pc} ldrh r0, [r6] @@ -19096,13 +19096,13 @@ func_ov18_0216adcc: ; 0x0216adcc ldmhiia sp!, {r3, r4, r5, pc} ldr r0, _0216aed4 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_0208330c + bl _ZN10MapManager21GetCourseData_Unk_25cEv cmp r0, #0 beq _0216ae24 ldr r0, _0216aed4 ; =data_027e0e60 ldrb r1, [r5, #4] ldr r0, [r0] - bl func_ov00_02083318 + bl _ZN10MapManager18func_ov00_02083318Ei cmp r0, #0 addeq sp, sp, #8 moveq r0, #1 @@ -19110,7 +19110,7 @@ func_ov18_0216adcc: ; 0x0216adcc _0216ae24: ldr r0, _0216aed4 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020849c0 + bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 addne sp, sp, #8 movne r0, #1 diff --git a/asm/ov19.inc b/asm/ov19.inc index 88307a71..9ff48dc4 100644 --- a/asm/ov19.inc +++ b/asm/ov19.inc @@ -1,6 +1,14 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_02083780Ei +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_02084d24Ecci .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN11ItemManager7AddItemEi @@ -182,14 +190,6 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern func_ov00_02082680 -.extern func_ov00_020836dc -.extern func_ov00_02083770 -.extern func_ov00_02083780 -.extern func_ov00_02083a1c -.extern func_ov00_02083ee0 -.extern func_ov00_02083fb0 -.extern func_ov00_02084d24 .extern func_ov00_020875f8 .extern func_ov00_02087d34 .extern func_ov00_02087df8 diff --git a/asm/ov19.s b/asm/ov19.s index 0cc7f427..ed10a3fb 100644 --- a/asm/ov19.s +++ b/asm/ov19.s @@ -3473,7 +3473,7 @@ _021703a4: ldr r0, [r3] add r1, sp, #0x18 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x34] ldr r1, [sp, #0x30] ldr r0, _02170568 ; =data_027e0f64 @@ -5462,7 +5462,7 @@ func_ov19_02171e64: ; 0x02171e64 add r0, sp, #0 add r2, sp, #4 str r3, [sp, #0xc] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -6438,7 +6438,7 @@ func_ov19_02172ae0: ; 0x02172ae0 ldrb r1, [r4, #0x15a] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 moveq r0, #0 streqb r0, [r4, #0x158] @@ -7849,24 +7849,24 @@ _02173d94: mov r2, r11 strb r6, [sp, #2] strb r8, [sp, #3] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r7 mov r2, r8 mov r3, #9 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci b _02173df4 _02173dcc: add r1, sp, #0 mov r2, #0 strb r6, [sp] strb r8, [sp, #1] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r7 mov r2, r8 mov r3, #0x15 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci _02173df4: ldrb r0, [r10, #0x15] add r8, r8, #1 @@ -8418,7 +8418,7 @@ _021744b8: ldr r2, [r4, #0x50] add r1, sp, #0 str r2, [sp, #8] - bl func_ov00_02083780 + bl _ZN10MapManager18func_ov00_02083780Ei str r0, [r4, #0x354] ldr r1, _02174550 ; =data_ov19_02176b88 mov r0, r4 @@ -8592,7 +8592,7 @@ _02174710: ldrh r1, [r7, #0x20] ldr r0, [r0] add r2, sp, #8 - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 movne r5, #1 _02174754: @@ -9147,7 +9147,7 @@ _02174eb4: add r2, sp, #0x14 str r1, [sp, #0x1c] ldr r1, [r4, #0x354] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 @@ -9901,7 +9901,7 @@ func_ov19_021758c8: ; 0x021758c8 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #0x4c] add r0, r5, #0x158 bl func_ov00_020c5e20 @@ -10078,7 +10078,7 @@ _02175af8: mov r2, r0 add r0, sp, #2 mov r1, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r2, #0 ldrb r1, [sp, #2] ldrb r0, [sp, #3] diff --git a/asm/ov20.inc b/asm/ov20.inc index 158fde90..26c18122 100644 --- a/asm/ov20.inc +++ b/asm/ov20.inc @@ -167,14 +167,14 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern func_ov00_020833f4 -.extern func_ov00_02083400 -.extern func_ov00_020836bc -.extern func_ov00_02083770 -.extern func_ov00_02083a1c -.extern func_ov00_02083c7c -.extern func_ov00_02083ee0 -.extern func_ov00_02083f44 +.extern _ZN10MapManager18Get_MapData_Unk_d0Ev +.extern _ZN10MapManager18Get_MapData_Unk_d8Ev +.extern _ZN10MapManager18func_ov00_020836bcEjPi +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p .extern func_ov00_02087d34 .extern func_ov00_02087d84 .extern func_ov00_02088000 diff --git a/asm/ov20.s b/asm/ov20.s index b3a2e680..5bed0c78 100644 --- a/asm/ov20.s +++ b/asm/ov20.s @@ -839,7 +839,7 @@ _0216e120: mov r1, #2 add r2, sp, #0x20 str r3, [sp, #0x28] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 @@ -850,7 +850,7 @@ _0216e120: add r2, sp, #0x44 ldr r0, [r0] mov r1, #2 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi ldr r1, [sp, #0x44] ldr r0, [r7, #0xa8c] cmp r0, r1 @@ -5055,7 +5055,7 @@ _02171ac0: str lr, [sp, #4] str ip, [sp, #8] str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x14] ldr r0, [r5, #0x15c] cmp r0, #0 @@ -5371,7 +5371,7 @@ _02171e20: str r1, [sp, #0x18] add r1, sp, #0x10 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x20] ldr r0, _021720a0 ; =data_027e0ffc ldr r1, _021720a4 ; =0x00000243 @@ -8665,7 +8665,7 @@ _02174a20: add r1, sp, #4 mov r2, #1 str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r2, r4, r0 ldr r1, [sp, #0x50] ldr r0, [sp, #0x58] @@ -9881,7 +9881,7 @@ _021759e8: ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0x3c - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 addeq sp, sp, #0x19c ldmeqia sp!, {r4, r5, pc} @@ -10024,7 +10024,7 @@ _02175c00: str ip, [sp, #0x30] str r3, [sp, #0x34] str r5, [sp, #0x38] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0xa0] mov r1, #0 str r1, [sp] @@ -10051,7 +10051,7 @@ _02175c64: str r5, [sp, #0x24] str r3, [sp, #0x28] str lr, [sp, #0x2c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x94] mov r1, #0 str r1, [sp] @@ -10077,7 +10077,7 @@ _02175ccc: str lr, [sp, #0x18] str r3, [sp, #0x1c] str ip, [sp, #0x20] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x88] mov r1, #0 str r1, [sp] @@ -10103,7 +10103,7 @@ _02175d30: str lr, [sp, #0xc] str r3, [sp, #0x10] str ip, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x7c] mov r1, #0 str r1, [sp] @@ -11640,13 +11640,13 @@ func_ov20_02176fe8: ; 0x02176fe8 ldr r1, [r4, #0x88] str r1, [r4, #0x98] ldr r0, [r0] - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev ldr r1, _02177060 ; =0xffffd99a str r0, [r4, #0x48] ldr r0, _0217705c ; =data_027e0e60 str r1, [r4, #0x4c] ldr r0, [r0] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev str r0, [r4, #0x50] mov r0, #1 add sp, sp, #0xc @@ -11908,7 +11908,7 @@ func_ov20_02177300: ; 0x02177300 mov r2, r0 mov r1, r5 add r0, sp, #0xc - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r2, [sp, #0xc] ldrb r1, [sp, #0xd] sub r3, sp, #4 @@ -11962,7 +11962,7 @@ func_ov20_021773f4: ; 0x021773f4 add r0, sp, #0 ldr r1, [r1] add r2, r2, #0x20 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r2, [sp] ldrb r1, [sp, #1] sub r3, sp, #4 @@ -12033,7 +12033,7 @@ func_ov20_021774e8: ; 0x021774e8 add r1, sp, #0x18 strb r2, [r3, #1] ldr r2, [r3] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r8, #0 ldr r4, _021775cc ; =data_027e0e60 mov r9, r8 @@ -12064,11 +12064,11 @@ _02177538: mov r2, #0 mov r1, r5 bne _0217759c - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p mov r10, r0 b _021775a8 _0217759c: - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p cmp r10, r0 movge r10, r0 _021775a8: diff --git a/asm/ov21.inc b/asm/ov21.inc index 82760e5e..1794998b 100644 --- a/asm/ov21.inc +++ b/asm/ov21.inc @@ -1,4 +1,9 @@ #pragma once +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager16MapData_vfunc_60Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13LinkStateBase12GetPlayerVelEv .extern _ZN13LinkStateBase15ChangeLinkStateEi @@ -123,11 +128,6 @@ .extern func_ov00_0207a1c8 .extern func_ov00_0207c1f8 .extern func_ov00_02081f4c -.extern func_ov00_020836dc -.extern func_ov00_02083a1c -.extern func_ov00_02083e58 -.extern func_ov00_02083ee0 -.extern func_ov00_02084088 .extern func_ov00_0208b5a4 .extern func_ov00_0208b5bc .extern func_ov00_0208b694 diff --git a/asm/ov21.s b/asm/ov21.s index 14110fc8..2f150d18 100644 --- a/asm/ov21.s +++ b/asm/ov21.s @@ -515,7 +515,7 @@ _0216dcb0: .word data_027e0f94 arm_func_start func_ov21_0216dcb4 func_ov21_0216dcb4: ; 0x0216dcb4 ldr r2, _0216dccc ; =data_027e0e60 - ldr ip, _0216dcd0 ; =func_ov00_020836dc + ldr ip, _0216dcd0 ; =_ZN10MapManager18func_ov00_020836dcEii ldrh r1, [r0, #0x22] ldr r0, [r2] mov r2, #0 @@ -523,7 +523,7 @@ func_ov21_0216dcb4: ; 0x0216dcb4 .align 2, 0 arm_func_end func_ov21_0216dcb4 _0216dccc: .word data_027e0e60 -_0216dcd0: .word func_ov00_020836dc +_0216dcd0: .word _ZN10MapManager18func_ov00_020836dcEii .global func_ov21_0216dcd4 arm_func_start func_ov21_0216dcd4 @@ -926,7 +926,7 @@ func_ov21_0216e208: ; 0x0216e208 ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 @@ -2896,7 +2896,7 @@ _0216fa3c: ldr r1, [r4] add r0, sp, #0x14 mov r2, r7 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r0, [sp, #0x14] ldrb r1, [sp, #0x15] ldr r2, _0216fbb4 ; =func_ov00_020b1940 @@ -3337,7 +3337,7 @@ func_ov21_02170050: ; 0x02170050 add r1, sp, #0x10 mov r2, #0 str r3, [sp, #0x18] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r6, #0xc _021700b8: rsb r4, r6, #0 @@ -3438,7 +3438,7 @@ func_ov21_021701b0: ; 0x021701b0 add r1, sp, #0x10 mov r2, #0 str r3, [sp, #0x18] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r6, #0xf _02170218: rsb r4, r6, #0 @@ -3568,11 +3568,11 @@ func_ov21_02170388: ; 0x02170388 add r0, sp, #0 ldr r1, [r1] add r2, sp, #4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, _021703fc ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev cmp r0, #0 addgt sp, sp, #0x10 movgt r0, #0 @@ -3580,7 +3580,7 @@ func_ov21_02170388: ; 0x02170388 ldr r0, _021703fc ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x14 movne r0, #0 moveq r0, #1 diff --git a/asm/ov22.inc b/asm/ov22.inc index 4169cdbe..4f01808f 100644 --- a/asm/ov22.inc +++ b/asm/ov22.inc @@ -1,6 +1,25 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager16MapData_vfunc_60Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager16MapData_vfunc_7cEv +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18func_ov00_020836bcEjPi +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager18func_ov00_0208413cEi +.extern _ZN10MapManager18func_ov00_02084ac4Ej +.extern _ZN10MapManager18func_ov00_02084d24Ecci +.extern _ZN10MapManager8SpawnNPCEP5Vec3pii .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j @@ -174,25 +193,6 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c518 .extern func_ov00_02081f4c -.extern func_ov00_02082680 -.extern func_ov00_020826a0 -.extern func_ov00_020828c0 -.extern func_ov00_0208344c -.extern func_ov00_020836bc -.extern func_ov00_020836dc -.extern func_ov00_02083770 -.extern func_ov00_020838e8 -.extern func_ov00_02083a1c -.extern func_ov00_02083c7c -.extern func_ov00_02083e34 -.extern func_ov00_02083e58 -.extern func_ov00_02083ee0 -.extern func_ov00_02084088 -.extern func_ov00_020840c4 -.extern func_ov00_0208413c -.extern func_ov00_02084a5c -.extern func_ov00_02084ac4 -.extern func_ov00_02084d24 .extern func_ov00_02087df8 .extern func_ov00_02088000 .extern func_ov00_02088130 diff --git a/asm/ov22.s b/asm/ov22.s index 45adc59a..d6d92658 100644 --- a/asm/ov22.s +++ b/asm/ov22.s @@ -485,7 +485,7 @@ func_ov22_0216dc9c: ; 0x0216dc9c ldrb r1, [r4, #0x15a] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 moveq r0, #0 streqb r0, [r4, #0x158] @@ -1077,10 +1077,10 @@ _0216e4a8: mov r0, r8 mov r2, r5 ldrsh r3, [r10, #0xc] - bl func_ov00_020828c0 + bl _ZN10MapManager16MapData_vfunc_7cEv ldr r0, [r4] mov r1, r5 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _0216e51c strb r9, [r0, #0x65] @@ -1371,7 +1371,7 @@ _0216e8bc: ldr r0, [r0] add r2, r10, r2 strb r2, [sp, #0xb] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r7, r0 beq _0216e938 ldr r1, [r0] @@ -1425,14 +1425,14 @@ _0216e958: beq _0216e9bc ldr r0, _0216ec8c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej _0216e9bc: ldr r0, _0216ec8c ; =data_027e0e60 add r1, sp, #0x1c ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r4, #0x74] _0216e9d8: mov r0, #0x3c @@ -1536,7 +1536,7 @@ _0216eb28: ldr r0, [r0] add r2, r10, r2 strb r2, [sp, #9] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r7, r0 beq _0216eba4 ldr r1, [r0] @@ -1590,14 +1590,14 @@ _0216ebc4: beq _0216ec28 ldr r0, _0216ec8c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084ac4 + bl _ZN10MapManager18func_ov00_02084ac4Ej _0216ec28: ldr r0, _0216ec8c ; =data_027e0e60 add r1, sp, #0x10 ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii str r0, [r4, #0x74] _0216ec44: mov r1, #0 @@ -1827,7 +1827,7 @@ _0216eed0: ldrb r1, [r4, #0x14] ldr r0, [r0] sub r2, r2, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci b _0216ef14 _0216eef4: mov r0, #0 @@ -1837,7 +1837,7 @@ _0216eef4: ldrb r2, [r4, #0x15] ldr r0, [r0] sub r1, r1, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci _0216ef14: str r0, [r4, #0x1c] ldrh r6, [r4, #0x24] @@ -1901,13 +1901,13 @@ _0216efe8: mov r2, r7 strb r9, [sp, #6] strb r10, [sp, #7] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r5] mov r1, r6 strb r9, [sp, #4] strb r10, [sp, #5] mov r2, r11 - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r1, [r4, #0x15] ldrb r0, [r4, #0x39] add r10, r10, #1 @@ -3102,7 +3102,7 @@ _0216ff6c: strb r8, [sp, #0x37] strb r8, [sp, #0x38] strb r8, [sp, #0x39] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _021701e8 ; =data_027e0d38 add r1, sp, #0x24 ldr r0, [r0] @@ -4924,7 +4924,7 @@ func_ov22_02171770: ; 0x02171770 str r1, [sp, #8] ldrh r1, [r4, #0x22] and r1, r1, #0xff - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 beq _021717d8 ldr r0, [r4, #0x48] @@ -5897,7 +5897,7 @@ func_ov22_02172438: ; 0x02172438 str r1, [sp, #0xc] ldrh r1, [r4, #0x22] and r1, r1, #0xff - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 @@ -6099,7 +6099,7 @@ func_ov22_021726e8: ; 0x021726e8 str r1, [sp, #8] ldrh r1, [r4, #0x22] and r1, r1, #0xff - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 @@ -6197,7 +6197,7 @@ func_ov22_0217283c: ; 0x0217283c str r1, [sp, #8] ldrh r1, [r4, #0x22] and r1, r1, #0xff - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 ldreqb r0, [r4, #0x752] cmpeq r0, #0 @@ -8056,7 +8056,7 @@ _021740a4: ldrh r1, [r5, #0x20] ldr r0, [r0] ldr r2, [r5, #8] - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _02174120 ldr r1, _02174610 ; =data_027e0764 @@ -8817,7 +8817,7 @@ func_ov22_02174a80: ; 0x02174a80 str r3, [sp, #4] ldr r3, [r4, #0x50] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x9a add r0, r0, #0x900 str r0, [r4, #0x4c] @@ -9015,7 +9015,7 @@ func_ov22_02174cb0: ; 0x02174cb0 str r3, [sp, #0x18] str r5, [sp, #0x1c] str r6, [sp, #0x20] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x28] ldr r3, _02174db4 ; =0x0000059a mov r0, #0x1f @@ -9199,7 +9199,7 @@ _02174f9c: ldr r0, [r7] add r1, sp, #8 strb r4, [sp, #9] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x38 bne _02175028 ldr r1, [r6] @@ -9225,7 +9225,7 @@ _02174f9c: strb r3, [r8] strb r2, [r8, #1] ldr r2, [r8] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi ldr r0, _02175064 ; =data_027e0e58 add r1, r5, #0x158 ldr r0, [r0] @@ -9883,10 +9883,10 @@ func_ov22_021757c0: ; 0x021757c0 ldr r5, [r1] add r2, sp, #0x1c mov r1, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r5 - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev ldr r1, [sp, #4] mov r2, #0x19000 ldr ip, [sp, #0xc] @@ -10228,7 +10228,7 @@ func_ov22_02175c44: ; 0x02175c44 ldr r0, _02175cfc ; =data_027e0e60 add r1, r9, #0x18 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldrb r7, [r9, #0x14] add r0, r7, #2 cmp r7, r0 @@ -10249,7 +10249,7 @@ _02175cb4: mov r2, r4 strb r6, [sp] strb r8, [sp, #1] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrb r0, [r9, #0x15] add r8, r8, #1 add r0, r0, #0x10 @@ -10596,7 +10596,7 @@ _0217612c: mov r1, r6 mov r2, r7 mov r3, r5 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci ldrb r0, [r4, #0x15] add r7, r7, #1 add r0, r0, #0x10 @@ -11547,7 +11547,7 @@ func_ov22_02176d6c: ; 0x02176d6c ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0x30 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi mov ip, #0 ldr r1, _02176f7c ; =0x00000ccd bic r0, ip, #0x6000 @@ -11589,7 +11589,7 @@ func_ov22_02176d6c: ; 0x02176d6c strb r2, [r4, #0x125] ldr r0, [r0] add r1, sp, #0x18 - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r1, [sp, #0x18] ldr r0, _02176f78 ; =data_027e0e60 str r1, [r4, #0x48] @@ -11600,7 +11600,7 @@ func_ov22_02176d6c: ; 0x02176d6c mov r1, #0x5000 ldr r0, [r0] rsb r1, r1, #0 - bl func_ov00_0208413c + bl _ZN10MapManager18func_ov00_0208413cEi add r0, r4, #0x170 ldr r1, [r0] ldr r1, [r1, #8] diff --git a/asm/ov23.inc b/asm/ov23.inc index 6c85c482..9f4779f2 100644 --- a/asm/ov23.inc +++ b/asm/ov23.inc @@ -1,6 +1,28 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager14GetEntrancePosEP5Vec3pi +.extern _ZN10MapManager16MapData_vfunc_60Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18Set_MapData_Unk_16Eci +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_02083790Ei +.extern _ZN10MapManager18func_ov00_02083840Ei +.extern _ZN10MapManager18func_ov00_02083918EiPi +.extern _ZN10MapManager18func_ov00_02083958Ei +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020840a0Ecci +.extern _ZN10MapManager18func_ov00_02084740Ev +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084d24Ecci .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN11ItemManager12GetItemModelEj .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList @@ -222,28 +244,6 @@ .extern func_ov00_0207c444 .extern func_ov00_02081f4c .extern func_ov00_02081f50 -.extern func_ov00_02082680 -.extern func_ov00_0208344c -.extern func_ov00_02083624 -.extern func_ov00_02083790 -.extern func_ov00_02083840 -.extern func_ov00_02083918 -.extern func_ov00_02083948 -.extern func_ov00_02083958 -.extern func_ov00_020839d4 -.extern func_ov00_020839f8 -.extern func_ov00_02083a1c -.extern func_ov00_02083c24 -.extern func_ov00_02083c50 -.extern func_ov00_02083c7c -.extern func_ov00_02083e58 -.extern func_ov00_02083ee0 -.extern func_ov00_02083fb0 -.extern func_ov00_020840a0 -.extern func_ov00_020840c4 -.extern func_ov00_02084740 -.extern func_ov00_02084b38 -.extern func_ov00_02084d24 .extern func_ov00_0208726c .extern func_ov00_0208b5a4 .extern func_ov00_0208b5bc diff --git a/asm/ov23.s b/asm/ov23.s index 3a64ecfd..6357275b 100644 --- a/asm/ov23.s +++ b/asm/ov23.s @@ -707,10 +707,10 @@ _0216df74: ldr r5, [r1] add r2, r4, #0x48 mov r1, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r5 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r0] @@ -2286,7 +2286,7 @@ func_ov23_0216f2a4: ; 0x0216f2a4 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldr r1, [r4, #0x48] ldr r3, _0216f3f0 ; =data_ov23_0217ac20 @@ -2388,7 +2388,7 @@ func_ov23_0216f428: ; 0x0216f428 add r1, sp, #0x74 mov r2, #0 str r3, [sp, #0x7c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r4, r0 ldr r0, [sp, #0xd0] ldr r1, [sp, #0xc8] @@ -2400,7 +2400,7 @@ func_ov23_0216f428: ; 0x0216f428 str r1, [sp, #0x6c] add r1, sp, #0x68 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev cmp r4, r0 addne sp, sp, #0x1fc mov r0, #0 @@ -2538,7 +2538,7 @@ _0216f6bc: ldr r0, _0216f878 ; =data_027e0e60 mov r1, r6 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _0216f6f4 ldr r1, [r0] @@ -2843,7 +2843,7 @@ _0216fac8: add r1, sp, #4 str r2, [sp, #0xc] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r7, #0x3a0] mov r1, r7 add r0, r7, #0x398 @@ -2986,7 +2986,7 @@ func_ov23_0216fc10: ; 0x0216fc10 str lr, [sp, #0x14] str ip, [sp, #0x18] str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcd add r0, r0, #0x400 str r0, [sp, #0x24] @@ -3021,7 +3021,7 @@ func_ov23_0216fc10: ; 0x0216fc10 add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] mov r0, r4 bl func_ov23_0216fddc @@ -3073,7 +3073,7 @@ func_ov23_0216fddc: ; 0x0216fddc ldr r1, [r1] add r0, sp, #2 add r2, r2, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mvn r4, #0 _0216fe00: ldr r6, _0216fea4 ; =data_027e0e60 @@ -3088,7 +3088,7 @@ _0216fe0c: mov r1, r7 strb r3, [sp] strb r2, [sp, #1] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r8, r0 beq _0216fe84 ldr r1, [r0] @@ -3463,7 +3463,7 @@ _021702d0: add r1, sp, #0x20 str r2, [sp, #0x28] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #0x4c] ldr r1, [r5, #0x48] mov r0, r5 @@ -3630,7 +3630,7 @@ _02170524: add r1, sp, #0x14 mov r2, #0 str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #0x3a0] _021705a8: mov r0, r5 @@ -5846,16 +5846,16 @@ func_ov23_021722d0: ; 0x021722d0 add r0, sp, #0 ldr r1, [r1] add r2, r4, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, _021723c0 ; =data_027e0e60 ldrb r1, [sp] ldr r0, [r0] - bl func_ov00_02083c24 + bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [r4, #0x48] ldr r0, _021723c0 ; =data_027e0e60 ldrb r1, [sp, #1] ldr r0, [r0] - bl func_ov00_02083c50 + bl _ZN10MapManager18func_ov00_02083c50Ei str r0, [r4, #0x50] ldr r1, [r4, #0x48] ldr r0, _021723c0 ; =data_027e0e60 @@ -5867,7 +5867,7 @@ func_ov23_021722d0: ; 0x021722d0 add r1, sp, #4 str r2, [sp, #0xc] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] add r0, r4, #0x1b4 bl func_ov23_0216f0f4 @@ -6194,7 +6194,7 @@ _021727a0: ldr r0, [r0] mov r3, r1 mov r2, #2 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii mov r0, r4 mov r1, #1 bl _ZN5Actor18func_Ov00_020c1bfcEi @@ -6468,7 +6468,7 @@ _02172a78: mov r1, r5 strb r3, [sp] strb r2, [sp, #1] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r4, r0 beq _02172ae4 ldr r1, [r0] @@ -7126,7 +7126,7 @@ _02173388: ldr r0, [r0] add r1, sp, #0x10 strb r2, [sp, #0x10] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r10, r0 beq _021734a8 ldr r1, [r0] @@ -7663,13 +7663,13 @@ _02173b48: ldr r0, _021741ac ; =data_027e0e60 mov r1, #1 ldr r0, [r0] - bl func_ov00_02083790 + bl _ZN10MapManager18func_ov00_02083790Ei ldr r0, _021741ac ; =data_027e0e60 mov r1, #1 ldr r0, [r0] mov r2, #2 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii _02173b88: ldr r0, [r4, #0x138] cmp r0, #0x1e @@ -8079,7 +8079,7 @@ _02174120: bl _ZN5Actor18func_ov00_020c1c20Eiii ldr r0, _021741ac ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084740 + bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 ldr r0, _021741a8 ; =data_ov00_020eec68 mov r2, #0 @@ -8088,13 +8088,13 @@ _02174120: ldr r0, _021741ac ; =data_027e0e60 mov r1, #1 ldr r0, [r0] - bl func_ov00_02083840 + bl _ZN10MapManager18func_ov00_02083840Ei ldr r0, _021741ac ; =data_027e0e60 mov r1, #1 ldr r0, [r0] mov r2, #2 mov r3, r1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii _0217419c: mov r0, #1 add sp, sp, #0xc4 @@ -10309,7 +10309,7 @@ func_ov23_02175d3c: ; 0x02175d3c mov r2, #1 strb r3, [sp, #4] strb r4, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii add sp, sp, #0x6c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 @@ -11656,7 +11656,7 @@ func_ov23_02177020: ; 0x02177020 add r2, r2, #0x1800 str r2, [r9, #0x40] ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldrb r7, [r9, #0x14] add r0, r7, #2 cmp r7, r0 @@ -11677,7 +11677,7 @@ _021770a0: mov r2, r4 strb r6, [sp] strb r8, [sp, #1] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrb r0, [r9, #0x15] add r8, r8, #1 add r0, r0, #4 @@ -12266,7 +12266,7 @@ _02177890: mov r1, r6 mov r2, r7 mov r3, r5 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci ldrb r0, [r4, #0x15] add r7, r7, #1 add r0, r0, #4 @@ -12584,7 +12584,7 @@ func_ov23_02177ba0: ; 0x02177ba0 strb r1, [r3, #1] ldr r2, [r3] add r1, sp, #0x78 - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi add r0, sp, #0x6c add r1, sp, #0x78 bl func_ov00_020b1a4c @@ -12688,7 +12688,7 @@ _02177d24: add r1, sp, #0x38 strb r3, [sp, #0x46] str r2, [sp, #0x48] - bl func_ov00_02083624 + bl _ZN10MapManager14GetEntrancePosEP5Vec3pi ldr r0, [sp, #0x40] ldr r2, [sp, #0x38] ldr r1, [sp, #0x3c] @@ -12709,7 +12709,7 @@ _02177da8: mov r2, #2 strb r4, [sp, #0x32] str r3, [sp, #0x34] - bl func_ov00_02083624 + bl _ZN10MapManager14GetEntrancePosEP5Vec3pi ldr r2, [sp, #0x24] ldr r1, [sp, #0x28] ldr r0, [sp, #0x2c] @@ -12804,16 +12804,16 @@ func_ov23_02177e90: ; 0x02177e90 ldr r1, [r1] mov r0, r8 mov r7, #1 - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev ldr r1, _02178044 ; =data_027e0f94 mov r4, r0 ldr r1, [r1, #8] mov r0, r8 - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev mov r2, r0 mov r1, r4 mov r0, r8 - bl func_ov00_020840a0 + bl _ZN10MapManager18func_ov00_020840a0Ecci sub r0, r0, #0x49 cmp r0, #3 addls pc, pc, r0, lsl #2 @@ -13056,14 +13056,14 @@ _02178218: add r2, sp, #0xc ldr r0, [r0] mov r1, #0x5b - bl func_ov00_02083918 + bl _ZN10MapManager18func_ov00_02083918EiPi cmp r0, #0 beq _02178298 ldr r0, _02178318 ; =data_027e0e60 ldrb r1, [sp, #0x10] ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _0217831c ; =data_027e0f64 mov r1, #0 ldr r0, [r0] @@ -13074,7 +13074,7 @@ _02178274: ldr r0, _02178318 ; =data_027e0e60 mov r1, #0 ldr r0, [r0] - bl func_ov00_02083958 + bl _ZN10MapManager18func_ov00_02083958Ei ldr r0, _0217831c ; =data_027e0f64 mov r1, #0 ldr r0, [r0] @@ -13543,7 +13543,7 @@ _021788b8: add r1, sp, #0xc mov r0, r6 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #4] ldr r6, [r4, #0xb0] sub r5, r1, r0 @@ -13641,10 +13641,10 @@ func_ov23_021789fc: ; 0x021789fc mov r2, r0 add r0, sp, #4 mov r1, r4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r0, r4 add r1, sp, #4 - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev str r0, [sp, #0xc] mov r0, #1 str r0, [sp] @@ -13680,10 +13680,10 @@ func_ov23_02178ab0: ; 0x02178ab0 ldr r4, [r1] add r2, r2, #0x20 mov r1, r4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #8 mov r0, r4 - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev mov r7, #0 ldr r11, _02179018 ; =data_02050f54 str r0, [sp] @@ -13747,16 +13747,16 @@ _02178b10: ldr r9, [r0] add r0, sp, #6 mov r1, r9 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r0, r9 add r1, sp, #6 - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev ldr r1, _02179014 ; =data_027e0e60 str r0, [sp, #0x30] ldr r1, [r1] add r0, sp, #0x10 mov r2, r4 - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #0x10] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -13893,16 +13893,16 @@ _02178de8: ldr r4, [r1] add r2, sp, #0x20 mov r1, r4 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #4 mov r0, r4 - bl func_ov00_02083e58 + bl _ZN10MapManager16MapData_vfunc_60Ev ldr r1, _02179014 ; =data_027e0e60 str r0, [sp, #0x24] ldr r1, [r1] add r0, sp, #0xc add r2, sp, #0x20 - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #0xc] mov r0, r0, lsr #0x5 and r0, r0, #3 diff --git a/asm/ov24.inc b/asm/ov24.inc index 653183a9..4ebd7900 100644 --- a/asm/ov24.inc +++ b/asm/ov24.inc @@ -163,18 +163,18 @@ .extern func_ov00_0207c1b0 .extern func_ov00_0207c2e8 .extern func_ov00_02081f4c -.extern func_ov00_02082680 -.extern func_ov00_020826a0 -.extern func_ov00_020833f4 -.extern func_ov00_02083400 -.extern func_ov00_0208344c -.extern func_ov00_02083908 -.extern func_ov00_02083ee0 -.extern func_ov00_0208412c -.extern func_ov00_0208413c -.extern func_ov00_02084b38 -.extern func_ov00_02084be0 -.extern func_ov00_02084d24 +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18Get_MapData_Unk_d0Ev +.extern _ZN10MapManager18Get_MapData_Unk_d8Ev +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18func_ov00_02083908EcPi +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_0208412cEv +.extern _ZN10MapManager18func_ov00_0208413cEi +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii +.extern _ZN10MapManager18func_ov00_02084d24Ecci .extern func_ov00_020876bc .extern func_ov00_02088158 .extern func_ov00_0208b180 diff --git a/asm/ov24.s b/asm/ov24.s index ee2347ce..cbd37605 100644 --- a/asm/ov24.s +++ b/asm/ov24.s @@ -180,7 +180,7 @@ _0216d8cc: mov r2, r7 strb r4, [sp, #4] strb r10, [sp, #5] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r1, [r5, #0x15] ldrb r0, [r5, #0x65] add r10, r10, #1 @@ -495,7 +495,7 @@ func_ov24_0216dcbc: ; 0x0216dcbc ldr r1, _0216dd58 ; =data_027e0e60 mov r4, r0 ldr r0, [r1] - bl func_ov00_0208412c + bl _ZN10MapManager18func_ov00_0208412cEv ldr r1, _0216dd5c ; =0xfffff667 ldr r2, [r4, #0x6c] add r0, r0, r1 @@ -519,7 +519,7 @@ _0216dd0c: blx r2 ldr r0, _0216dd58 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_0208412c + bl _ZN10MapManager18func_ov00_0208412cEv sub r1, r0, #0x800 str r0, [sp, #0x10] str r1, [sp, #4] @@ -712,13 +712,13 @@ _0216df44: ldr r1, [r4, #0x88] str r1, [r4, #0x98] ldr r0, [r0] - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev str r0, [r4, #0x228] mov r1, #0 ldr r0, _0216dffc ; =data_027e0e60 str r1, [r4, #0x22c] ldr r0, [r0] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev str r0, [r4, #0x230] mov r0, #1 add sp, sp, #0xc @@ -920,7 +920,7 @@ _0216e258: ldr r0, _0216e4b0 ; =data_027e0e60 ldr r1, [r4, #0x16c] ldr r0, [r0] - bl func_ov00_0208413c + bl _ZN10MapManager18func_ov00_0208413cEi _0216e280: ldr r1, [r4, #0x174] ldr r0, _0216e4b4 ; =data_ov24_021791ec @@ -998,7 +998,7 @@ _0216e378: ldr r0, _0216e4b0 ; =data_027e0e60 ldr r1, [r4, #0x16c] ldr r0, [r0] - bl func_ov00_0208413c + bl _ZN10MapManager18func_ov00_0208413cEi _0216e3a0: ldr r1, [r4, #0x174] ldr r0, _0216e4c0 ; =data_ov24_021791f4 @@ -1106,7 +1106,7 @@ _0216e4f4: ldr r0, _0216e6f0 ; =data_027e0e60 ldr r1, [r4, #0x16c] ldr r0, [r0] - bl func_ov00_0208413c + bl _ZN10MapManager18func_ov00_0208413cEi mov r2, #0 _0216e520: add r0, r4, r2, lsl #1 @@ -1133,7 +1133,7 @@ _0216e558: ldr r0, _0216e6f0 ; =data_027e0e60 ldr r1, [r4, #0x16c] ldr r0, [r0] - bl func_ov00_0208413c + bl _ZN10MapManager18func_ov00_0208413cEi mov r2, #0 mov r1, r2 _0216e588: @@ -1336,7 +1336,7 @@ _0216e810: ldrb r1, [r5, #0x159] ldr r0, [r0] add r2, sp, #0x18 - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi cmp r0, #0 beq _0216e860 ldr r0, [sp, #0x20] @@ -1705,7 +1705,7 @@ _0216ec38: add r0, r0, #0xe00 str r0, [r4, #0x47c] ldr r0, [r3] - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 bne _0216ecf4 mov r0, r4 @@ -1879,7 +1879,7 @@ _0216eee4: ldr r0, [r0] mov r2, #3 mov r3, #1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii _0216ef1c: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} @@ -5265,7 +5265,7 @@ _02171994: str r6, [sp, #8] str r3, [sp, #0xc] str r5, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] add r1, sp, #0x14 mov r0, r4 @@ -8633,7 +8633,7 @@ _02174630: str r6, [sp, #8] str r3, [sp, #0xc] str r5, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] add r1, sp, #0x14 mov r0, r4 @@ -9506,7 +9506,7 @@ _021752ac: ; jump table _021752c4: ldr r0, _02175eb8 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_0208412c + bl _ZN10MapManager18func_ov00_0208412cEv ldr r1, [r4, #0x4c] cmp r1, r0 bge _0217537c @@ -9516,7 +9516,7 @@ _021752c4: _021752e8: ldr r0, _02175eb8 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_0208412c + bl _ZN10MapManager18func_ov00_0208412cEv ldr r1, [r4, #0x4c] cmp r1, r0 bge _0217537c @@ -13360,12 +13360,12 @@ _02178504: ldr r0, _0217869c ; =data_027e0e60 add r1, sp, #0x5c ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r0, _0217869c ; =data_027e0e60 add r1, sp, #0x5c ldr r0, [r0] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x60] _0217852c: ldr r0, _02178694 ; =data_027e0f64 @@ -14079,24 +14079,24 @@ _02178e60: mov r2, r11 strb r6, [sp, #2] strb r8, [sp, #3] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r7 mov r2, r8 mov r3, #9 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci b _02178ec0 _02178e98: add r1, sp, #0 mov r2, #0 strb r6, [sp] strb r8, [sp, #1] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r7 mov r2, r8 mov r3, #0x35 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci _02178ec0: ldrb r0, [r10, #0x15] add r8, r8, #1 diff --git a/asm/ov25.inc b/asm/ov25.inc index 958be3e3..763cbcbc 100644 --- a/asm/ov25.inc +++ b/asm/ov25.inc @@ -1,5 +1,16 @@ #pragma once .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18func_ov00_020836bcEjPi +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager18func_ov00_02084164Ev +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj @@ -173,17 +184,6 @@ .extern func_ov00_0207c444 .extern func_ov00_02081f4c .extern func_ov00_02081f50 -.extern func_ov00_0208344c -.extern func_ov00_020836bc -.extern func_ov00_02083770 -.extern func_ov00_020838e8 -.extern func_ov00_02083a1c -.extern func_ov00_02083ee0 -.extern func_ov00_02083f44 -.extern func_ov00_020840c4 -.extern func_ov00_02084164 -.extern func_ov00_02084b38 -.extern func_ov00_02084be0 .extern func_ov00_020875f8 .extern func_ov00_02087d34 .extern func_ov00_020888e8 diff --git a/asm/ov25.s b/asm/ov25.s index 91cc9863..2284a809 100644 --- a/asm/ov25.s +++ b/asm/ov25.s @@ -437,7 +437,7 @@ _0216db80: str r3, [sp, #0x18] ldr r3, [r4, #0x1c] str r3, [sp, #0x1c] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p str r0, [r4, #0x18] ldr r0, _0216dcd4 ; =data_027e0fac add r2, r4, #0x14 @@ -615,7 +615,7 @@ _0216de80: add r2, sp, #0 ldr r0, [r0] mov r1, #1 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi ldr r1, [sp] add r0, r4, #0x3a4 str r1, [r4, #0x620] @@ -4564,7 +4564,7 @@ func_ov25_02171508: ; 0x02171508 mov r4, r1 mov r1, #1 mov r2, #3 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 addne sp, sp, #0x38 movne r0, #0 @@ -7980,7 +7980,7 @@ _021741f4: add r2, sp, #0xe8 mov r1, #0xd str r3, [sp, #0xf0] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 beq _02174248 mov r0, r4 @@ -8060,7 +8060,7 @@ _02174328: ldr r0, _0217507c ; =data_027e0e60 add r1, sp, #0x10 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 mov r0, r4 bne _02174368 @@ -8081,7 +8081,7 @@ _02174374: ldr r0, _0217507c ; =data_027e0e60 add r1, sp, #0xe ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _021743d4 ldr r5, [r4, #0x138] @@ -8875,7 +8875,7 @@ _02174ee8: strb r6, [sp, #0x137] strb r6, [sp, #0x138] strb r6, [sp, #0x139] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _021750b4 ; =data_027e0d38 mov r3, #0x17 ldr r0, [r0] @@ -9110,7 +9110,7 @@ _02175278: ldr r0, _0217507c ; =data_027e0e60 add r1, sp, #0xc ldr r0, [r0] - bl func_ov00_02084164 + bl _ZN10MapManager18func_ov00_02084164Ev cmp r0, #0 addeq sp, sp, #0x340 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} @@ -9870,7 +9870,7 @@ func_ov25_02175c54: ; 0x02175c54 add r2, sp, #0 ldr r0, [r0] mov r1, #1 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi add r4, r11, #0x100 ldrsh r0, [r4, #0x78] ldr r7, [sp] @@ -10449,7 +10449,7 @@ _021763e4: ldr r0, [r0] mov r3, r2 mov r1, #5 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii _0217641c: ldr r0, [r4, #0x130] cmp r0, #0xd @@ -11628,7 +11628,7 @@ func_ov25_021772ec: ; 0x021772ec add r0, sp, #4 ldr r1, [r1] add r2, r2, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r3, [sp, #4] ldrb r1, [r4, #8] ldrb r2, [sp, #5] @@ -11940,7 +11940,7 @@ _021775e8: str r3, [sp, #4] ldr r3, [r4, #0x50] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x800 str r0, [r4, #0x4c] _021776c0: @@ -12869,7 +12869,7 @@ _0217831c: str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x10] ldr r0, [r5, #0x178] cmp r0, #0 @@ -13323,7 +13323,7 @@ func_ov25_021788a4: ; 0x021788a4 ldr r2, [r4, #0x88] str r2, [r4, #0x98] ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r2, [sp, #0x14] ldr r1, [sp, #0x10] ldr r0, [sp, #0xc] diff --git a/asm/ov26.inc b/asm/ov26.inc index 4e19a922..3499120c 100644 --- a/asm/ov26.inc +++ b/asm/ov26.inc @@ -218,22 +218,22 @@ .extern func_ov00_0207c1f8 .extern func_ov00_0207c444 .extern func_ov00_02081f4c -.extern func_ov00_020823d4 -.extern func_ov00_020823e4 -.extern func_ov00_020823f4 -.extern func_ov00_02082614 -.extern func_ov00_02082680 -.extern func_ov00_020826a0 -.extern func_ov00_020836dc -.extern func_ov00_02083a1c -.extern func_ov00_02083e34 -.extern func_ov00_02083ee0 -.extern func_ov00_02084088 -.extern func_ov00_02084164 -.extern func_ov00_02084740 -.extern func_ov00_02084a50 -.extern func_ov00_02084cb0 -.extern func_ov00_02084cc8 +.extern _ZN10MapManager18func_ov00_020823d4Ei +.extern _ZN10MapManager18func_ov00_020823e4Ei +.extern _ZN10MapManager16MapData_vfunc_b4Ev +.extern _ZN10MapManager18func_ov00_02082614Eii +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager18func_ov00_02084164Ev +.extern _ZN10MapManager18func_ov00_02084740Ev +.extern _ZN10MapManager18func_ov00_02084a50Ev +.extern _ZN10MapManager18func_ov00_02084cb0Ei +.extern _ZN10MapManager18func_ov00_02084cc8Ei .extern func_ov00_020875f8 .extern func_ov00_02087d34 .extern func_ov00_02087e8c diff --git a/asm/ov26.s b/asm/ov26.s index 49368125..9adcc77e 100644 --- a/asm/ov26.s +++ b/asm/ov26.s @@ -1039,7 +1039,7 @@ func_ov26_0216e11c: ; 0x0216e11c ldr r0, _0216e320 ; =data_027e0e60 moveq r1, #5 ldr r0, [r0] - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r9, #0x1c] ldrb r7, [r9, #0x14] add r0, r7, #5 @@ -1060,7 +1060,7 @@ _0216e1a4: mov r2, r4 strb r6, [sp, #4] strb r8, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrb r0, [r9, #0x15] add r8, r8, #1 add r0, r0, #2 @@ -1939,7 +1939,7 @@ _0216ebec: bne _0216ec8c ldr r0, _0216ec9c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084a50 + bl _ZN10MapManager18func_ov00_02084a50Ev cmp r0, #0 ldreq r0, _0216eca0 ; =data_027e0c68 ldreqb r1, [r0, #4] @@ -2280,7 +2280,7 @@ _0216f024: beq _0216f0d4 ldr r0, _0216f200 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084a50 + bl _ZN10MapManager18func_ov00_02084a50Ev cmp r0, #0 bne _0216f0d4 ldr r0, [r10, #0xb8] @@ -2493,7 +2493,7 @@ _0216f368: ble _0216f38c ldr r0, _0216f39c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084a50 + bl _ZN10MapManager18func_ov00_02084a50Ev cmp r0, #0 beq _0216f394 _0216f38c: @@ -2845,7 +2845,7 @@ func_ov26_0216f7c4: ; 0x0216f7c4 str r3, [sp, #4] ldr r3, [r4, #0x50] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} @@ -2875,7 +2875,7 @@ func_ov26_0216f828: ; 0x0216f828 add r1, sp, #0 str r2, [sp, #8] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcd ldr r1, [r4, #0x4c] add r0, r0, #0x400 @@ -2918,7 +2918,7 @@ func_ov26_0216f8b8: ; 0x0216f8b8 add r1, sp, #0 str r2, [sp, #8] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcd ldr r1, [r4, #0x4c] add r0, r0, #0x400 @@ -2958,7 +2958,7 @@ func_ov26_0216f920: ; 0x0216f920 str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcd add r3, r0, #0x400 add r0, sp, #0x18 @@ -3062,7 +3062,7 @@ _0216fa94: ldr r0, _0216fb18 ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02084164 + bl _ZN10MapManager18func_ov00_02084164Ev cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, pc} @@ -3237,7 +3237,7 @@ _0216fc2c: ldr r0, _0216fd94 ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02084164 + bl _ZN10MapManager18func_ov00_02084164Ev cmp r0, #0 addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, r5, r6, pc} @@ -3310,7 +3310,7 @@ func_ov26_0216fdb0: ; 0x0216fdb0 ldr r0, [r0] str ip, [sp] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x9a add r1, r0, #0x1100 str r1, [sp, #0x1c] @@ -3414,7 +3414,7 @@ func_ov26_0216ff14: ; 0x0216ff14 add r1, sp, #0 mov r2, #1 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcd add r0, r0, #0x400 str r0, [r4, #0x4cc] @@ -3465,7 +3465,7 @@ func_ov26_0216ffb8: ; 0x0216ffb8 add r1, sp, #0 str r2, [sp, #8] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcd ldr r1, [r4, #0x4c] add r0, r0, #0x400 @@ -3552,7 +3552,7 @@ func_ov26_02170088: ; 0x02170088 add r1, sp, #0 str r2, [sp, #8] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcd ldr r1, [r4, #0x4c] add r0, r0, #0x400 @@ -3656,7 +3656,7 @@ func_ov26_02170194: ; 0x02170194 ldr r0, _02170260 ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02084164 + bl _ZN10MapManager18func_ov00_02084164Ev cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r4, pc} @@ -3872,7 +3872,7 @@ func_ov26_02170320: ; 0x02170320 ldr r0, _0217058c ; =data_027e0e60 add r1, sp, #4 ldr r0, [r0] - bl func_ov00_02084164 + bl _ZN10MapManager18func_ov00_02084164Ev cmp r0, #0 addeq sp, sp, #0x14 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} @@ -4030,7 +4030,7 @@ func_ov26_02170704: ; 0x02170704 str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x10] ldr r1, _02170790 ; =data_027e0f94 add r0, r4, #0x14 @@ -5725,7 +5725,7 @@ func_ov26_02171e4c: ; 0x02171e4c ldr r0, _02171e94 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov26_02171e4c @@ -6157,7 +6157,7 @@ func_ov26_021723d4: ; 0x021723d4 strb r2, [sp, #4] mov r2, #1 strb r3, [sp, #5] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r2, [sp, #4] ldr r0, _021725a0 ; =data_027e0e60 add r1, sp, #4 @@ -6165,7 +6165,7 @@ func_ov26_021723d4: ; 0x021723d4 ldr r0, [r0] mov r2, #1 strb r3, [sp, #4] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii _02172454: add ip, r4, #0x18 ldmia ip, {r0, r1, r2} @@ -6234,7 +6234,7 @@ _02172454: ldr r0, _021725a0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 mov r2, #1 @@ -6400,7 +6400,7 @@ _02172788: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei _0217279c: mov r0, #1 add sp, sp, #0xb0 @@ -7922,7 +7922,7 @@ _02173b64: ldr r0, _02173b78 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov26_02173b3c @@ -12278,7 +12278,7 @@ func_ov26_02176b44: ; 0x02176b44 ldr r0, _02176cb0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 ldr r3, [r0] @@ -12347,7 +12347,7 @@ _02176d0c: ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 - bl func_ov00_02084cb0 + bl _ZN10MapManager18func_ov00_02084cb0Ei ldr r1, [r4, #4] mov r0, #1 orr r1, r1, #4 @@ -12545,22 +12545,22 @@ func_ov26_02176fc8: ; 0x02176fc8 ldrh r5, [r6, #0x2a] ldr r0, [r0] mov r1, r4 - bl func_ov00_020823d4 + bl _ZN10MapManager18func_ov00_020823d4Ei ldr r1, _0217702c ; =data_027e0e60 str r0, [r6, #0xd4] ldr r0, [r1] mov r1, r4 - bl func_ov00_020823e4 + bl _ZN10MapManager18func_ov00_020823e4Ei ldr r1, _0217702c ; =data_027e0e60 str r0, [r6, #0xd8] ldr r0, [r1] mov r1, r5 - bl func_ov00_020823d4 + bl _ZN10MapManager18func_ov00_020823d4Ei ldr r1, _0217702c ; =data_027e0e60 str r0, [r6, #0xdc] ldr r0, [r1] mov r1, r5 - bl func_ov00_020823e4 + bl _ZN10MapManager18func_ov00_020823e4Ei str r0, [r6, #0xe0] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 @@ -12590,7 +12590,7 @@ func_ov26_02177030: ; 0x02177030 bl func_0201933c ldr r0, _02177100 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020823f4 + bl _ZN10MapManager16MapData_vfunc_b4Ev mov r4, r0 mov r0, r5 mov r1, r4 @@ -13246,7 +13246,7 @@ _0217789c: ldr r0, [r5] mov r1, r6 and r2, r8, #0xff - bl func_ov00_02082614 + bl _ZN10MapManager18func_ov00_02082614Eii ldr r1, [r4] mov r0, r6 add r1, r1, #4 @@ -13697,7 +13697,7 @@ func_ov26_02177e14: ; 0x02177e14 str r2, [r7, #0xb4] ldr r1, [r1] add r2, r7, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r4, _02177f64 ; =data_ov26_0217af64 ldr r6, _02177f60 ; =data_027e0e60 add r9, sp, #2 @@ -13715,7 +13715,7 @@ _02177e90: mov r2, r8 strb r10, [sp, #2] strb r3, [sp, #3] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii add r5, r5, #1 cmp r5, #0x12 blo _02177e90 @@ -13739,7 +13739,7 @@ _02177ef4: mov r2, r9 strb ip, [sp] strb r3, [sp, #1] - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii add r5, r5, #1 cmp r5, #0x18 blt _02177ef4 @@ -14008,13 +14008,13 @@ func_ov26_02178228: ; 0x02178228 mov r2, r0 ldr r0, [r1] ldr r1, [r2, #0x15c] - ldr ip, _02178248 ; =func_ov00_020836dc + ldr ip, _02178248 ; =_ZN10MapManager18func_ov00_020836dcEii mov r2, #0 bx ip .align 2, 0 arm_func_end func_ov26_02178228 _02178244: .word data_027e0e60 -_02178248: .word func_ov00_020836dc +_02178248: .word _ZN10MapManager18func_ov00_020836dcEii .global func_ov26_0217824c thumb_func_start func_ov26_0217824c @@ -14132,7 +14132,7 @@ _02178354: bne _02178384 ldr r0, _021783b4 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084740 + bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 ldr r0, _021783b0 ; =data_ov00_020eec68 mov r2, #0x3c @@ -14311,7 +14311,7 @@ func_ov26_0217855c: ; 0x0217855c ldrb r1, [r10, #0x14] ldr r0, [r0] sub r2, r2, #1 - bl func_ov00_02083e34 + bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r10, #0x1c] ldr r1, [r10, #0x18] ldr r0, _021786d4 ; =data_027e0e60 @@ -14334,7 +14334,7 @@ func_ov26_0217855c: ; 0x0217855c ldr r0, [r0] strb r2, [sp, #6] strb r3, [sp, #7] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x37 bgt _02178604 bge _0217860c @@ -14377,7 +14377,7 @@ _02178658: mov r2, r5 strb r7, [sp, #4] strb r8, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii add r8, r8, #1 cmp r8, r9 blt _02178658 diff --git a/asm/ov27.inc b/asm/ov27.inc index 024fa41f..191418e7 100644 --- a/asm/ov27.inc +++ b/asm/ov27.inc @@ -1,5 +1,10 @@ #pragma once .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18func_ov00_020836bcEjPi +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_020838e8EjPi .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef @@ -175,11 +180,6 @@ .extern func_ov00_02081f50 .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_0208344c -.extern func_ov00_020836bc -.extern func_ov00_020836dc -.extern func_ov00_020838e8 -.extern func_ov00_02083ee0 .extern func_ov00_020872e8 .extern func_ov00_020875f8 .extern func_ov00_02087d34 diff --git a/asm/ov27.s b/asm/ov27.s index d464d6db..e593923c 100644 --- a/asm/ov27.s +++ b/asm/ov27.s @@ -372,7 +372,7 @@ _0216db58: str r3, [sp, #0x18] ldr r3, [r5, #0x50] str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #0x4c] mov r0, r5 mov r1, #4 @@ -1417,7 +1417,7 @@ _0216eadc: ldr r0, _0216ed44 ; =data_027e0e60 add r1, sp, #0xc ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r0, _0216ed48 ; =data_027e0f64 ldr r1, [sp, #0xc] ldr r2, [r0] @@ -1469,7 +1469,7 @@ _0216eb54: add r1, sp, #0 str r3, [sp, #0x30] str r2, [sp, #0x38] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p add r0, sp, #0 add r1, r4, #0x48 mov r2, r0 @@ -2098,7 +2098,7 @@ _0216f43c: ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0216f4b0 mov r0, r4 @@ -2197,7 +2197,7 @@ func_ov27_0216f5c0: ; 0x0216f5c0 ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 @@ -2260,7 +2260,7 @@ func_ov27_0216f608: ; 0x0216f608 ldr r3, [r4, #0x50] add r1, sp, #4 str r3, [sp, #0xc] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] mov r0, r4 bl func_ov14_02145258 @@ -3164,7 +3164,7 @@ _021702d0: add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] mov r1, #0 str r1, [sp] @@ -4009,7 +4009,7 @@ func_ov27_02170e24: ; 0x02170e24 add r1, sp, #0xc mov r2, r5 str r3, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev cmp r0, #0x2000 addlt sp, sp, #0x18 str r0, [r4, #0x4c] @@ -5430,7 +5430,7 @@ _02172284: add r1, sp, #0x18 str r2, [sp, #0x20] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r6, #0x4c] add r0, r0, #0x800 cmp r1, r0 @@ -5468,7 +5468,7 @@ _021722d0: str r3, [sp, #0x10] ldr r3, [r6, #0x50] str r3, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r5, r0, #0x800 mov r3, #0x3800 str r5, [r6, #0x4c] @@ -5781,7 +5781,7 @@ func_ov27_02172598: ; 0x02172598 str r1, [sp, #0x20] add r1, sp, #0x18 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr ip, _0217283c ; =0x00000a8f str r0, [sp, #0x28] mov r1, #0 @@ -6644,7 +6644,7 @@ func_ov27_02173330: ; 0x02173330 ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 @@ -7034,7 +7034,7 @@ func_ov27_02173830: ; 0x02173830 strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _021738dc ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] @@ -7451,7 +7451,7 @@ func_ov27_02173d78: ; 0x02173d78 ldr r0, [r0] add r1, sp, #0x18 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x28] ldr r3, _02173e34 ; =0x0000099a mov r0, #0 @@ -7969,7 +7969,7 @@ func_ov27_0217440c: ; 0x0217440c ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0x470 @@ -8042,7 +8042,7 @@ func_ov27_02174454: ; 0x02174454 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r1, r4, #0x100 ldrsh r2, [r1, #0x1e] mov r1, #0 @@ -8209,7 +8209,7 @@ func_ov27_02174748: ; 0x02174748 add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldrsb r1, [r4, #0x2c] mov r0, r4 @@ -8237,7 +8237,7 @@ func_ov27_021747d4: ; 0x021747d4 add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r4, r0 mov r0, r5 bl func_ov14_02145508 @@ -9153,7 +9153,7 @@ func_ov27_021752a8: ; 0x021752a8 str r1, [sp, #0x1c] ldrh r1, [r4, #0x20] add r2, sp, #8 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi add r0, r4, #0xb8 add r0, r0, #0x400 str r0, [sp] @@ -9240,7 +9240,7 @@ _021754a4: ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _021754cc add r0, r4, #0x470 @@ -9381,7 +9381,7 @@ func_ov27_02175660: ; 0x02175660 ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldreqb r0, [r4, #0x4e7] cmpeq r0, #1 diff --git a/asm/ov28.inc b/asm/ov28.inc index 0a742d5b..f465f63a 100644 --- a/asm/ov28.inc +++ b/asm/ov28.inc @@ -1,5 +1,15 @@ #pragma once .extern Approach_thunk +.extern _ZN10MapManager17GetMapData_Unk_4cEv +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_02082b3cEi +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager18func_ov00_020843ecEPi +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii +.extern _ZN10MapManager8SpawnNPCEP5Vec3pii .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN14AdventureFlags18func_Ov00_02097810Ei @@ -171,16 +181,6 @@ .extern func_ov00_0207c31c .extern func_ov00_0207c444 .extern func_ov00_0207c474 -.extern func_ov00_02082680 -.extern func_ov00_02082b3c -.extern func_ov00_020836dc -.extern func_ov00_020838e8 -.extern func_ov00_02083f44 -.extern func_ov00_02084120 -.extern func_ov00_020843ec -.extern func_ov00_02084a5c -.extern func_ov00_02084b38 -.extern func_ov00_02084be0 .extern func_ov00_0208726c .extern func_ov00_020876bc .extern func_ov00_02087ab0 diff --git a/asm/ov28.s b/asm/ov28.s index 1526b066..05f4f70e 100644 --- a/asm/ov28.s +++ b/asm/ov28.s @@ -3517,7 +3517,7 @@ func_ov28_021704b0: ; 0x021704b0 ldr r0, [r0] mov r2, r1 mov r3, r1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii b _02170604 _02170524: ldr r0, _02170624 ; =gAdventureFlags @@ -3537,7 +3537,7 @@ _02170524: ldr r0, [r0] mov r3, r2 mov r1, #2 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii b _02170604 _02170570: ldr r0, _02170624 ; =gAdventureFlags @@ -3557,7 +3557,7 @@ _02170570: ldr r0, [r0] mov r3, r2 mov r1, #3 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii b _02170604 _021705bc: ldr r0, _02170624 ; =gAdventureFlags @@ -3577,7 +3577,7 @@ _021705bc: ldr r0, [r0] mov r3, r2 mov r1, #4 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii _02170604: add r0, r4, #0x74 add r0, r0, #0x400 @@ -3950,10 +3950,10 @@ _021709a4: mov r0, r6 add r1, sp, #0 str r3, [sp, #8] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p mov r5, r0 mov r0, r6 - bl func_ov00_02084120 + bl _ZN10MapManager17GetMapData_Unk_4cEv add r0, r5, r0 str r0, [r4, #0x4c] ldrsb r0, [r4, #0x2c] @@ -5560,7 +5560,7 @@ _02171ee8: mov r2, r4 strb r6, [sp, #4] strb r8, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrb r0, [r9, #0x15] add r8, r8, #1 add r0, r0, #1 @@ -5664,7 +5664,7 @@ _02172008: add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi mov r0, #0xc strb r0, [r4, #0x12] b _021720c4 @@ -5689,7 +5689,7 @@ _02172068: add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi mov r0, #1 strb r0, [r4, #0x12] _021720c4: @@ -5942,7 +5942,7 @@ _021723c4: mov r2, r4 strb r6, [sp, #4] strb r8, [sp, #5] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldrb r0, [r9, #0x15] add r8, r8, #1 add r0, r0, #1 @@ -6065,7 +6065,7 @@ _02172528: add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r0, [r4, #4] orr r0, r0, #0x14 str r0, [r4, #4] @@ -6088,7 +6088,7 @@ _02172580: add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 - bl func_ov00_020843ec + bl _ZN10MapManager18func_ov00_020843ecEPi ldr r0, [r4, #4] bic r0, r0, #4 bic r0, r0, #0x10 @@ -6540,7 +6540,7 @@ func_ov28_02172af8: ; 0x02172af8 ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 @@ -6615,7 +6615,7 @@ func_ov28_02172bc8: ; 0x02172bc8 ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 @@ -8457,7 +8457,7 @@ func_ov28_021742b0: ; 0x021742b0 add r1, r4, #0x48 mov r2, #1 mov r3, #0 - bl func_ov00_02084a5c + bl _ZN10MapManager8SpawnNPCEP5Vec3pii add r0, sp, #0 bl func_ov00_0209a508 add sp, sp, #0xb0 @@ -8965,7 +8965,7 @@ func_ov28_0217496c: ; 0x0217496c strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02174a10 ; =gOverlayManager ldr r2, _02174a14 ; =0x00000004 mov r1, #2 @@ -8975,7 +8975,7 @@ func_ov28_0217496c: ; 0x0217496c ldr r0, [r0] add r1, sp, #0 strb r2, [sp, #0x15] - bl func_ov00_02082b3c + bl _ZN10MapManager18func_ov00_02082b3cEi ldr r0, _02174a10 ; =gOverlayManager ldr r2, _02174a18 ; =0x00000005 mov r1, #2 @@ -9507,7 +9507,7 @@ _0217504c: add r1, ip, r3 and r1, r1, #0xff mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii mov r1, #0 str r1, [r4, #0x130] ldr r0, _021750a0 ; =data_ov28_02179684 @@ -9623,7 +9623,7 @@ _02175184: ldr r0, [r0] and r1, r1, #0xff mov r3, #1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, _02175260 ; =data_ov28_02179684 mov r5, #0 ldr r1, [r0, #0x18] @@ -9731,7 +9731,7 @@ _02175308: ldr r0, _021753dc ; =data_027e0e60 ldrb r2, [r4, #0x29] ldr r0, [r0] - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x1bc] @@ -9749,7 +9749,7 @@ _02175364: add r1, ip, r3 and r1, r1, #0xff mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii mov r0, r4 bl func_ov28_02175028 bl func_ov28_02174948 @@ -9796,7 +9796,7 @@ func_ov28_021753f0: ; 0x021753f0 add r1, ip, r3 and r1, r1, #0xff mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r1, _02175468 ; =data_ov28_02178348 add r0, r4, #0x1c0 ldr r1, [r1] @@ -12084,7 +12084,7 @@ _021772b0: ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _02177408 mov r0, r4 diff --git a/asm/ov29.inc b/asm/ov29.inc index fd7cee09..cbfe9681 100644 --- a/asm/ov29.inc +++ b/asm/ov29.inc @@ -1,6 +1,15 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_6cEv +.extern _ZN10MapManager18Set_MapData_Unk_16Eci +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083908EcPi +.extern _ZN10MapManager18func_ov00_02083928EPci +.extern _ZN10MapManager18func_ov00_02083938Ei +.extern _ZN10MapManager18func_ov00_020846a4Ev +.extern _ZN10MapManager18func_ov00_02084d24Ecci .extern _ZN11ItemManager18func_ov00_020ae4dcEj .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j @@ -185,15 +194,6 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern func_ov00_02082680 -.extern func_ov00_020836dc -.extern func_ov00_02083908 -.extern func_ov00_02083928 -.extern func_ov00_02083938 -.extern func_ov00_02083948 -.extern func_ov00_02083f80 -.extern func_ov00_020846a4 -.extern func_ov00_02084d24 .extern func_ov00_02087400 .extern func_ov00_0208b5a4 .extern func_ov00_0208b5bc diff --git a/asm/ov29.s b/asm/ov29.s index 935b7723..4f8aad75 100644 --- a/asm/ov29.s +++ b/asm/ov29.s @@ -1504,7 +1504,7 @@ func_ov29_0216ea08: ; 0x0216ea08 ldmneia sp!, {r4, pc} ldr r0, _0216ea68 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #0xd beq _0216ea48 cmp r0, #0xe @@ -2286,7 +2286,7 @@ _0216f4bc: add r1, sp, #4 ldr r0, [r0] mov r2, #0 - bl func_ov00_02083928 + bl _ZN10MapManager18func_ov00_02083928EPci ldrb r1, [sp, #8] ldr r0, _0216f6a4 ; =data_027e0e60 add r2, r4, #0x1f0 @@ -2297,17 +2297,17 @@ _0216f4bc: and r1, r1, #0xff and r5, r3, #0xff mov r6, #1 - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi ldr r0, _0216f6a4 ; =data_027e0e60 mov r1, r5 ldr r0, [r0] add r2, r4, #0x20c - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi ldr r0, _0216f6a4 ; =data_027e0e60 mov r1, r6 ldr r0, [r0] add r2, r4, #0x228 - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi ldr r1, _0216f6a8 ; =data_02052f54 add r0, r4, #0x1c8 ldrsh r2, [r1, #2] @@ -2649,14 +2649,14 @@ _0216f9b0: ldrb r5, [r4, #0x22c] ldr r0, [r0] mov r1, #0 - bl func_ov00_02083938 + bl _ZN10MapManager18func_ov00_02083938Ei cmp r0, r5 beq _0216fbe8 ldr r0, _0216fbf8 ; =data_027e0e60 ldrb r1, [r4, #0x22c] ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci b _0216fbe8 _0216f9e4: ldr r0, _0216fbf4 ; =data_027e0f64 @@ -2683,14 +2683,14 @@ _0216fa2c: ldrb r5, [r4, #0x1f4] ldr r0, [r0] mov r1, #0 - bl func_ov00_02083938 + bl _ZN10MapManager18func_ov00_02083938Ei cmp r0, r5 beq _0216fbe8 ldr r0, _0216fbf8 ; =data_027e0e60 ldrb r1, [r4, #0x1f4] ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci b _0216fbe8 _0216fa60: ldr r0, _0216fbf4 ; =data_027e0f64 @@ -2717,14 +2717,14 @@ _0216faa8: ldrb r5, [r4, #0x210] ldr r0, [r0] mov r1, #0 - bl func_ov00_02083938 + bl _ZN10MapManager18func_ov00_02083938Ei cmp r0, r5 beq _0216fbe8 ldr r0, _0216fbf8 ; =data_027e0e60 ldrb r1, [r4, #0x210] ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci b _0216fbe8 _0216fadc: add r0, r4, #0x250 @@ -2891,7 +2891,7 @@ func_ov29_0216fcd4: ; 0x0216fcd4 ldrb r1, [r0, #0x1c6] ldr r0, [r2] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0216fd6c ldr r1, _0216fd7c ; =data_027e0f94 @@ -2906,7 +2906,7 @@ func_ov29_0216fcd4: ; 0x0216fcd4 add r2, sp, #0 add r3, sp, #4 str ip, [sp, #0x18] - bl func_ov00_02083f80 + bl _ZN10MapManager16MapData_vfunc_6cEv ldr r0, [sp, #4] cmp r0, #0 ldreq r0, [sp, #8] @@ -10615,24 +10615,24 @@ _02176630: mov r2, r11 strb r6, [sp, #2] strb r8, [sp, #3] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r7 mov r2, r8 mov r3, #9 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci b _02176690 _02176668: add r1, sp, #0 mov r2, #0 strb r6, [sp] strb r8, [sp, #1] - bl func_ov00_02082680 + bl _ZN10MapManager18func_ov00_02082680Eii ldr r0, [r4] mov r1, r7 mov r2, r8 mov r3, #0x35 - bl func_ov00_02084d24 + bl _ZN10MapManager18func_ov00_02084d24Ecci _02176690: ldrb r0, [r10, #0x15] add r8, r8, #1 diff --git a/asm/ov30.inc b/asm/ov30.inc index 5370e24f..213798db 100644 --- a/asm/ov30.inc +++ b/asm/ov30.inc @@ -140,14 +140,14 @@ .extern func_ov00_0207c1f8 .extern func_ov00_02081f4c .extern func_ov00_02081f50 -.extern func_ov00_02082d08 -.extern func_ov00_02083770 -.extern func_ov00_02083ee0 -.extern func_ov00_02084324 -.extern func_ov00_0208433c -.extern func_ov00_0208439c -.extern func_ov00_02084740 -.extern func_ov00_02084924 +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_a4Ev +.extern _ZN10MapManager18func_ov00_0208433cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_0208439cEv +.extern _ZN10MapManager18func_ov00_02084740Ev +.extern _ZN10MapManager18func_ov00_02084924Ej .extern func_ov00_02087d34 .extern func_ov00_020884b4 .extern func_ov00_02093a1c diff --git a/asm/ov30.s b/asm/ov30.s index 26a4350a..ed90ab1e 100644 --- a/asm/ov30.s +++ b/asm/ov30.s @@ -1568,7 +1568,7 @@ func_ov30_0217d09c: ; 0x0217d09c str lr, [sp, #0x28] str ip, [sp, #0x2c] str r3, [sp, #0x30] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 addne sp, sp, #0x58 movne r0, #0 @@ -1787,7 +1787,7 @@ func_ov30_0217d3b8: ; 0x0217d3b8 str lr, [sp, #4] str ip, [sp, #8] str r3, [sp, #0xc] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 addne sp, sp, #0x20 movne r0, #0 @@ -1866,7 +1866,7 @@ func_ov30_0217d4e8: ; 0x0217d4e8 add r2, sp, #0 mov r1, #0xff str r3, [sp, #8] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 addne sp, sp, #0x18 movne r0, #0 @@ -1983,7 +1983,7 @@ func_ov30_0217d690: ; 0x0217d690 str ip, [sp, #0x24] str r6, [sp, #0x28] str r3, [sp, #0x2c] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 addne sp, sp, #0x48 movne r0, #0 @@ -2069,7 +2069,7 @@ func_ov30_0217d7d8: ; 0x0217d7d8 add r1, sp, #0x18 add r2, sp, #0x14 str r3, [sp, #0x20] - bl func_ov00_0208433c + bl _ZN10MapManager18func_ov00_0208433cEP5Vec3pi mov r0, r11 ldrsh r2, [sp, #0x16] ldrsh r1, [sp, #0x14] @@ -2097,7 +2097,7 @@ _0217d874: strh r0, [sp, #0xe] ldr r0, [r5] mov r1, r6 - bl func_ov00_02084324 + bl _ZN10MapManager16MapData_vfunc_a4Ev cmp r0, #0 beq _0217d934 ldrsh r1, [sp, #0x16] @@ -2114,7 +2114,7 @@ _0217d874: ldr r0, [r5] mov r1, r6 add r2, sp, #0x24 - bl func_ov00_0208439c + bl _ZN10MapManager18func_ov00_0208439cEv ldr r1, [r10, #8] ldr r0, [sp, #0x2c] ldr r3, [r10] @@ -2158,7 +2158,7 @@ _0217d934: ldr r2, [sp] ldr r0, [r0] add r1, sp, #0x10 - bl func_ov00_0208439c + bl _ZN10MapManager18func_ov00_0208439cEv _0217d97c: mov r0, r11 add sp, sp, #0x30 @@ -4040,7 +4040,7 @@ _0217f250: mov r2, #1 str r4, [sp, #0x18] str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x60] add r0, sp, #0x5c bl func_ov30_0217f088 @@ -4102,7 +4102,7 @@ _0217f2f4: str r6, [sp, #8] str r4, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x54] _0217f3b8: ldr r0, _0217f55c ; =data_027e10b4 @@ -4306,7 +4306,7 @@ _0217f5f8: str r5, [sp, #0x18] str r3, [sp, #0x1c] str r7, [sp, #0x20] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r6, r0 _0217f69c: str r5, [r4, #0x48] @@ -4477,7 +4477,7 @@ _0217f880: mov r2, #1 str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x10] add r0, sp, #0xc bl func_ov30_0217f088 @@ -4711,7 +4711,7 @@ _0217fbb4: mov r2, #1 str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x10] add r0, sp, #0xc bl func_ov30_0217f088 @@ -5412,7 +5412,7 @@ func_ov30_02180548: ; 0x02180548 bne _02180594 ldr r0, _021805a0 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, #7 bne _02180594 ldr r0, _021805a4 ; =gAdventureFlags @@ -5444,7 +5444,7 @@ func_ov30_021805ac: ; 0x021805ac bne _021805f8 ldr r0, _02180604 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02082d08 + bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, #7 bne _021805f8 ldr r0, _02180608 ; =gAdventureFlags @@ -10049,7 +10049,7 @@ func_ov30_02183ca8: ; 0x02183ca8 ldr r0, [r2] str r3, [sp, #0x38] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r7] ldr r1, _02183d7c ; =data_027e0e60 str r2, [sp, #0x24] @@ -10061,7 +10061,7 @@ func_ov30_02183ca8: ; 0x02183ca8 str r2, [sp, #0x2c] add r1, sp, #0x24 mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _02183d78 ; =data_ov30_021894a0 add r0, r4, r0 str r0, [sp, #0x10] @@ -10518,7 +10518,7 @@ _021841ec: bl func_ov00_020d716c ldr r0, _02184308 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084740 + bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 ldr r0, _02184304 ; =data_ov00_020eec68 mov r2, #0 @@ -10527,7 +10527,7 @@ _021841ec: ldr r0, _02184308 ; =data_027e0e60 mov r1, #0 ldr r0, [r0] - bl func_ov00_02084924 + bl _ZN10MapManager18func_ov00_02084924Ej b _02184298 _0218424c: ldr r0, [r10, #0x88] @@ -10548,7 +10548,7 @@ _0218424c: ldr r0, _02184308 ; =data_027e0e60 mov r1, #1 ldr r0, [r0] - bl func_ov00_02084924 + bl _ZN10MapManager18func_ov00_02084924Ej _02184298: ldr r0, [r10, #0x94] cmp r0, #0 @@ -11362,7 +11362,7 @@ _02184940: ldr r3, [r7, #0x50] add r2, sp, #0x74 str r3, [sp, #0x7c] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 movne r8, #1 _02184998: @@ -11450,7 +11450,7 @@ _02184a84: ldr r3, [r7, #0x50] add r2, sp, #0x68 str r3, [sp, #0x70] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 movne r8, #1 _02184adc: @@ -11550,7 +11550,7 @@ _02184bf8: ldr r3, [r7, #0x50] add r2, sp, #0x5c str r3, [sp, #0x64] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 movne r8, #1 _02184c50: @@ -11648,7 +11648,7 @@ _02184d64: ldr r3, [r7, #0x50] add r2, sp, #0x50 str r3, [sp, #0x58] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 movne r8, #1 _02184dbc: @@ -11747,7 +11747,7 @@ _02184ed4: ldr r3, [r0, #0x50] ldr r0, [r5] str r3, [sp, #0x4c] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 movne r8, #1 _02184f2c: @@ -11842,7 +11842,7 @@ _02185034: ldr r3, [r0, #0x50] ldr r0, [r5] str r3, [sp, #0x40] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 movne r8, #1 _0218508c: @@ -11937,7 +11937,7 @@ _02185194: ldr r3, [r0, #0x50] ldr r0, [r5] str r3, [sp, #0x34] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 movne r8, #1 _021851ec: @@ -14289,7 +14289,7 @@ func_ov30_021872c4: ; 0x021872c4 ldr r0, [r3] add r1, sp, #0 str ip, [sp, #8] - bl func_ov00_0208433c + bl _ZN10MapManager18func_ov00_0208433cEP5Vec3pi add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 @@ -14303,13 +14303,13 @@ func_ov30_02187304: ; 0x02187304 mov r3, r0 ldr r0, [r2] mov r2, r1 - ldr ip, _02187324 ; =func_ov00_0208439c + ldr ip, _02187324 ; =_ZN10MapManager18func_ov00_0208439cEv mov r1, r3 bx ip .align 2, 0 arm_func_end func_ov30_02187304 _02187320: .word data_027e0e60 -_02187324: .word func_ov00_0208439c +_02187324: .word _ZN10MapManager18func_ov00_0208439cEv .global func_ov30_02187328 arm_func_start func_ov30_02187328 @@ -14377,7 +14377,7 @@ func_ov30_021873bc: ; 0x021873bc mov r5, r0 ldr r0, [r2] mov r4, r1 - bl func_ov00_02084324 + bl _ZN10MapManager16MapData_vfunc_a4Ev cmp r0, #0 addeq sp, sp, #8 moveq r0, #0 @@ -14468,13 +14468,13 @@ _02187524: ldr r0, _02187568 ; =data_027e0e60 add r1, sp, #4 ldr r0, [r0] - bl func_ov00_02084324 + bl _ZN10MapManager16MapData_vfunc_a4Ev cmp r0, #0 beq _0218755c ldr r0, _02187568 ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02084324 + bl _ZN10MapManager16MapData_vfunc_a4Ev cmp r0, #0 addne sp, sp, #8 movne r0, #1 @@ -14523,14 +14523,14 @@ _021875d0: .word 0x000016a1 arm_func_start func_ov30_021875d4 func_ov30_021875d4: ; 0x021875d4 ldr r2, _021875e8 ; =data_027e0e60 - ldr ip, _021875ec ; =func_ov00_02084324 + ldr ip, _021875ec ; =_ZN10MapManager16MapData_vfunc_a4Ev mov r1, r0 ldr r0, [r2] bx ip .align 2, 0 arm_func_end func_ov30_021875d4 _021875e8: .word data_027e0e60 -_021875ec: .word func_ov00_02084324 +_021875ec: .word _ZN10MapManager16MapData_vfunc_a4Ev .global func_ov30_021875f0 arm_func_start func_ov30_021875f0 diff --git a/asm/ov31.inc b/asm/ov31.inc index 8e1593c2..5fbd45ca 100644 --- a/asm/ov31.inc +++ b/asm/ov31.inc @@ -153,7 +153,7 @@ .extern func_ov00_0207b89c .extern func_ov00_0207ba90 .extern func_ov00_0207bc48 -.extern func_ov00_02083918 +.extern _ZN10MapManager18func_ov00_02083918EiPi .extern func_ov00_0208726c .extern func_ov00_02087338 .extern func_ov00_02087400 diff --git a/asm/ov31.s b/asm/ov31.s index d3af2dc4..02be17e1 100644 --- a/asm/ov31.s +++ b/asm/ov31.s @@ -273,7 +273,7 @@ _0217c040: mov r1, #0x45 ldr r0, [r0] add r2, sp, #0x50 - bl func_ov00_02083918 + bl _ZN10MapManager18func_ov00_02083918EiPi cmp r0, #0 beq _0217c0f0 ldr r0, _0217c214 ; =data_027e0f64 diff --git a/asm/ov32.inc b/asm/ov32.inc index a11b7585..054d383a 100644 --- a/asm/ov32.inc +++ b/asm/ov32.inc @@ -1,6 +1,11 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083780Ei +.extern _ZN10MapManager18func_ov00_02084be0Eii +.extern _ZN10MapManager18func_ov00_02084cc8Ei .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList @@ -159,11 +164,6 @@ .extern func_ov00_02081f4c .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_020836dc -.extern func_ov00_02083780 -.extern func_ov00_02083ee0 -.extern func_ov00_02084be0 -.extern func_ov00_02084cc8 .extern func_ov00_020875f8 .extern func_ov00_02087d34 .extern func_ov00_020888e8 diff --git a/asm/ov32.s b/asm/ov32.s index 7d8f21a8..c826e628 100644 --- a/asm/ov32.s +++ b/asm/ov32.s @@ -1370,7 +1370,7 @@ func_ov32_0217cdd8: ; 0x0217cdd8 ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x184] @@ -1529,7 +1529,7 @@ _0217cfc4: ldrh r1, [r5, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0217d030 mov r0, r5 @@ -1938,7 +1938,7 @@ _0217d500: add r1, sp, #0x10 str r2, [sp, #0x18] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r5, #0x4c] ldr r0, [r5, #0x184] mov r1, #2 @@ -3069,7 +3069,7 @@ _0217e3e4: ldrh r1, [r5, #0x24] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0217e448 mov r0, r5 @@ -5206,11 +5206,11 @@ func_ov32_0217feac: ; 0x0217feac str r2, [sp, #0x18] ldr r2, [r6, #0x50] str r2, [sp, #0x1c] - bl func_ov00_02083780 + bl _ZN10MapManager18func_ov00_02083780Ei mov r7, r0 add r1, sp, #8 mov r0, r5 - bl func_ov00_02083780 + bl _ZN10MapManager18func_ov00_02083780Ei cmp r7, r0 moveq r4, #1 _0217ff6c: @@ -6830,7 +6830,7 @@ _021815b8: ldr r0, _02181624 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] - bl func_ov00_02084cc8 + bl _ZN10MapManager18func_ov00_02084cc8Ei cmp r0, #0 mov r0, r4 beq _021815ec @@ -8066,7 +8066,7 @@ func_ov32_021826c4: ; 0x021826c4 ldr r0, _021826ec ; =data_027e0e60 mov r2, #3 ldr r0, [r0] - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov32_021826c4 @@ -9021,7 +9021,7 @@ func_ov32_0218318c: ; 0x0218318c mla r6, r5, r3, r6 mov r2, #1 add r5, r6, #0x800 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, r5 str r0, [r4, #0x234] mov r0, #0 @@ -9122,7 +9122,7 @@ _02183414: mov r2, #1 str r6, [lr, #4] sub r5, r5, #0x400 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x800 add r0, r0, r5 str r0, [r4, #0x234] @@ -9156,7 +9156,7 @@ _02183498: mov r2, #1 str r6, [lr, #4] sub r5, r5, #0x400 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x800 add r0, r0, r5 str r0, [r4, #0x234] @@ -9394,7 +9394,7 @@ func_ov32_02183818: ; 0x02183818 str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x1c] cmp r1, r0 strlt r0, [sp, #0x1c] @@ -10648,7 +10648,7 @@ func_ov32_02184890: ; 0x02184890 str r3, [sp, #4] ldr r3, [r4, #0x50] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x9a add r0, r0, #0x900 str r0, [r4, #0x4c] @@ -10836,7 +10836,7 @@ func_ov32_02184a9c: ; 0x02184a9c str r3, [sp, #0x18] str r5, [sp, #0x1c] str r6, [sp, #0x20] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x28] ldr r3, _02184ba0 ; =0x0000059a mov r0, #0x1f diff --git a/asm/ov33.inc b/asm/ov33.inc index af65f5a6..65302e14 100644 --- a/asm/ov33.inc +++ b/asm/ov33.inc @@ -115,8 +115,8 @@ .extern func_ov00_0207a1c8 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern func_ov00_020836dc -.extern func_ov00_02083ee0 +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager16MapData_vfunc_68Ev .extern func_ov00_0208726c .extern func_ov00_02087338 .extern func_ov00_020876bc diff --git a/asm/ov33.s b/asm/ov33.s index c866e95e..3da5cb2e 100644 --- a/asm/ov33.s +++ b/asm/ov33.s @@ -855,7 +855,7 @@ func_ov33_0217c808: ; 0x0217c808 add r1, sp, #0 mov r2, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r1, r0, #0x800 mov r0, r4 str r1, [r4, #0x4c] @@ -1130,7 +1130,7 @@ _0217cba8: ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0217cf08 mov r0, r5 @@ -1171,7 +1171,7 @@ _0217cc24: add r1, sp, #0x1c str r2, [sp, #0x24] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x4c] add r0, r0, #0x800 cmp r1, r0 @@ -1280,7 +1280,7 @@ _0217cdd0: ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0217cf08 mov r0, r5 @@ -1321,7 +1321,7 @@ _0217ce4c: add r1, sp, #0x10 str r2, [sp, #0x18] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x4c] add r0, r0, #0x800 cmp r1, r0 diff --git a/asm/ov34.inc b/asm/ov34.inc index 451d7192..a46e2160 100644 --- a/asm/ov34.inc +++ b/asm/ov34.inc @@ -129,11 +129,11 @@ .extern func_ov00_0207c31c .extern func_ov00_0207c444 .extern func_ov00_02081f4c -.extern func_ov00_02083908 -.extern func_ov00_02083948 -.extern func_ov00_02083a1c -.extern func_ov00_02083ee0 -.extern func_ov00_02084088 +.extern _ZN10MapManager18func_ov00_02083908EcPi +.extern _ZN10MapManager18Set_MapData_Unk_16Eci +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_54Ev .extern func_ov00_02087400 .extern func_ov00_02087d34 .extern func_ov00_02087d84 diff --git a/asm/ov34.s b/asm/ov34.s index 5fbf04f8..b6428dd7 100644 --- a/asm/ov34.s +++ b/asm/ov34.s @@ -1340,14 +1340,14 @@ _0217cfa4: add r2, sp, #0 mov r0, r4 mov r1, #1 - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, pc} mov r0, r4 mov r1, #1 mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _0217d00c ; =data_027e0f64 add r1, sp, #0 ldr r0, [r0] @@ -1386,14 +1386,14 @@ _0217d040: add r2, sp, #0 mov r0, r4 mov r1, #4 - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, pc} mov r0, r4 mov r1, #4 mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _0217d0a8 ; =data_027e0f64 add r1, sp, #0 ldr r0, [r0] @@ -1432,14 +1432,14 @@ _0217d0dc: add r2, sp, #0 mov r0, r4 mov r1, #3 - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, pc} mov r0, r4 mov r1, #3 mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _0217d144 ; =data_027e0f64 add r1, sp, #0 ldr r0, [r0] @@ -2227,7 +2227,7 @@ _0217db48: mov r1, #1 ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _0217de98 ; =data_ov34_021861a0 mov r1, #0 ldr r2, [r0, #0x8c] @@ -6628,7 +6628,7 @@ _02181b50: add r1, sp, #0xc mov r2, #0 str r3, [sp, #0x14] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev mov r1, r4, asr #0x4 mov r5, r1, lsl #0x1 add r0, r0, #0xcd @@ -10717,11 +10717,11 @@ func_ov34_021853dc: ; 0x021853dc ldr r1, [r1] add r0, sp, #8 add r2, r4, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, _02185580 ; =data_027e0e60 add r1, sp, #8 ldr r0, [r0] - bl func_ov00_02084088 + bl _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #5 cmpne r0, #6 cmpne r0, #0x14 diff --git a/asm/ov35.inc b/asm/ov35.inc index 65396aad..cd99a8fb 100644 --- a/asm/ov35.inc +++ b/asm/ov35.inc @@ -1,6 +1,8 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_020836bcEjPi .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN11ItemManager12GetItemModelEj .extern _ZN11ItemManager7AddItemEi @@ -164,8 +166,6 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern func_ov00_020836bc -.extern func_ov00_02083ee0 .extern func_ov00_02087584 .extern func_ov00_020875f8 .extern func_ov00_02087d34 diff --git a/asm/ov35.s b/asm/ov35.s index 4253f687..94f2f5b6 100644 --- a/asm/ov35.s +++ b/asm/ov35.s @@ -2807,7 +2807,7 @@ func_ov35_0217e320: ; 0x0217e320 ldr r0, [r0] add r1, sp, #0x18 mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x28] mov r3, #0x800 str r3, [sp] @@ -8086,7 +8086,7 @@ _02182d84: add r2, sp, #0x94 ldr r0, [r0] mov r1, #1 - bl func_ov00_020836bc + bl _ZN10MapManager18func_ov00_020836bcEjPi ldr r5, [sp, #0xac] ldr r3, [sp, #0xb0] ldr r2, [sp, #0xb4] @@ -9259,7 +9259,7 @@ _02183d8c: str ip, [sp, #0x18] str r3, [sp, #0x1c] str r8, [sp, #0x20] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x28] str r5, [sp] ldrsh r1, [r7, #0x78] diff --git a/asm/ov36.inc b/asm/ov36.inc index daedd1b4..0721fdc4 100644 --- a/asm/ov36.inc +++ b/asm/ov36.inc @@ -157,17 +157,17 @@ .extern func_ov00_0207c5d4 .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_020833f4 -.extern func_ov00_02083400 -.extern func_ov00_020836dc -.extern func_ov00_02083770 -.extern func_ov00_02083918 -.extern func_ov00_02083948 -.extern func_ov00_02083958 -.extern func_ov00_020839d4 -.extern func_ov00_020839f8 -.extern func_ov00_02084b38 -.extern func_ov00_02084be0 +.extern _ZN10MapManager18Get_MapData_Unk_d0Ev +.extern _ZN10MapManager18Get_MapData_Unk_d8Ev +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_02083918EiPi +.extern _ZN10MapManager18Set_MapData_Unk_16Eci +.extern _ZN10MapManager18func_ov00_02083958Ei +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii .extern func_ov00_0208726c .extern func_ov00_02087d34 .extern func_ov00_02088000 diff --git a/asm/ov36.s b/asm/ov36.s index a62b2ce8..f9c3ec74 100644 --- a/asm/ov36.s +++ b/asm/ov36.s @@ -1829,13 +1829,13 @@ _0217d56c: ldr r0, [r0] mov r2, r1 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, _0217d6b0 ; =data_027e0e60 mov r1, #4 ldr r0, [r0] mov r2, #3 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, _0217d680 ; =gAdventureFlags mov r1, #0xeb ldr r0, [r0] @@ -2375,7 +2375,7 @@ func_ov36_0217dd98: ; 0x0217dd98 ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0217ddf0 ldr r0, [r4, #0x138] @@ -3213,7 +3213,7 @@ _0217e978: str r1, [sp, #0x14] ldrh r1, [r6, #0x22] ldr r4, _0217eb34 ; =0x00000337 - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji ldrh r2, [r6, #0x78] ldr r5, _0217eb50 ; =data_02050f54 mov r1, #0x3800 @@ -3519,7 +3519,7 @@ _0217ede8: add r2, sp, #0 str r1, [sp, #8] ldrh r1, [r4, #0x22] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 @@ -3528,22 +3528,22 @@ _0217ede8: ldr r0, _0217ef0c ; =data_027e0e60 ldr r1, [r4, #0x54] ldr r0, [r0] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev ldr r1, _0217ef0c ; =data_027e0e60 mov r6, r0 ldr r0, [r1] ldr r1, [r4, #0x5c] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev ldr r1, _0217ef0c ; =data_027e0e60 mov r7, r0 ldr r0, [r1] ldr r1, [r4, #0x48] - bl func_ov00_020839d4 + bl _ZN10MapManager18func_ov00_020839d4Ev ldr r1, _0217ef0c ; =data_027e0e60 mov r5, r0 ldr r0, [r1] ldr r1, [r4, #0x50] - bl func_ov00_020839f8 + bl _ZN10MapManager18func_ov00_020839f8Ev cmp r6, r5 mov r2, #0 beq _0217ee8c @@ -6918,7 +6918,7 @@ _02181dc8: mov r1, #2 ldr r0, [r0] mov r2, #1 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 addeq sp, sp, #0x14 ldmeqia sp!, {r3, r4, pc} @@ -6973,7 +6973,7 @@ _02181e34: mov r1, #3 ldr r0, [r0] mov r2, r1 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 addne sp, sp, #0x14 ldmneia sp!, {r3, r4, pc} @@ -6982,13 +6982,13 @@ _02181e34: ldr r0, [r0] mov r2, r1 mov r3, #1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, _02181f30 ; =data_027e0e60 mov r1, #4 ldr r0, [r0] mov r2, #3 mov r3, #1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 @@ -7020,13 +7020,13 @@ func_ov36_02181f3c: ; 0x02181f3c mov r2, r1 ldr r0, [r0] mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, _02181fc8 ; =data_027e0e60 mov r1, #4 ldr r0, [r0] mov r2, #3 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii mov r2, #0 ldr r1, _02181fcc ; =data_027e0f64 strb r2, [r4, #0x8aa] @@ -7662,14 +7662,14 @@ _021828dc: add r2, sp, #0x2c ldr r0, [r0] mov r1, #0x5b - bl func_ov00_02083918 + bl _ZN10MapManager18func_ov00_02083918EiPi cmp r0, #0 beq _02182934 ldr r0, _0218298c ; =data_027e0e60 ldrb r1, [sp, #0x30] ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _02182954 ; =data_027e0f64 mov r1, #0 ldr r0, [r0] @@ -7712,7 +7712,7 @@ func_ov36_02182990: ; 0x02182990 mov r4, r0 ldr r0, [r1] mov r1, #0 - bl func_ov00_02083958 + bl _ZN10MapManager18func_ov00_02083958Ei ldr r0, _02182c68 ; =data_027e0f64 mov r1, #0 ldr r0, [r0] @@ -10049,11 +10049,11 @@ _02184a9c: ldr r0, [r0] str r1, [sp, #0x20] str r1, [sp, #0x24] - bl func_ov00_02083400 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev ldr r1, _02184de0 ; =data_027e0e60 mov r4, r0 ldr r0, [r1] - bl func_ov00_020833f4 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev mov r2, #0 mov r1, r2 cmp r6, #0 @@ -10375,7 +10375,7 @@ _02184f6c: add r2, sp, #0 str r1, [sp, #8] ldrh r1, [r6, #0x22] - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji strb r0, [r5] cmp r4, #0 beq _02185040 diff --git a/asm/ov37.inc b/asm/ov37.inc index b704e649..d5dd88aa 100644 --- a/asm/ov37.inc +++ b/asm/ov37.inc @@ -1,6 +1,9 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18Set_MapData_Unk_16Eci +.extern _ZN10MapManager18func_ov00_02083908EcPi .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN11ItemManager12GetItemModelEj @@ -145,9 +148,6 @@ .extern func_ov00_02081f4c .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_02083908 -.extern func_ov00_02083948 -.extern func_ov00_02083ee0 .extern func_ov00_02087400 .extern func_ov00_02087d34 .extern func_ov00_02088000 diff --git a/asm/ov37.s b/asm/ov37.s index 13e46b59..d8afdba0 100644 --- a/asm/ov37.s +++ b/asm/ov37.s @@ -3062,14 +3062,14 @@ _0217e78c: add r2, sp, #0x7c ldr r0, [r0] mov r1, #3 - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi cmp r0, #0 beq _0217e7ec ldr r0, _0217f0f4 ; =data_027e0e60 mov r1, #3 ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _0217e334 ; =data_027e0f64 mov r2, #0 ldr r0, [r0] @@ -3175,14 +3175,14 @@ _0217e93c: add r2, sp, #0x54 ldr r0, [r0] mov r1, #1 - bl func_ov00_02083908 + bl _ZN10MapManager18func_ov00_02083908EcPi cmp r0, #0 beq _0217e99c ldr r0, _0217f0f4 ; =data_027e0e60 mov r1, #1 ldr r0, [r0] mov r2, #0 - bl func_ov00_02083948 + bl _ZN10MapManager18Set_MapData_Unk_16Eci ldr r0, _0217e334 ; =data_027e0f64 mov r2, #0 ldr r0, [r0] @@ -3939,7 +3939,7 @@ func_ov37_0217f468: ; 0x0217f468 str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x10] add r1, sp, #0xc mov r0, r4 @@ -3972,7 +3972,7 @@ func_ov37_0217f4d4: ; 0x0217f4d4 str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x10] add r1, sp, #0xc mov r0, r4 @@ -4003,7 +4003,7 @@ func_ov37_0217f540: ; 0x0217f540 str lr, [sp, #0x14] str ip, [sp, #0x18] str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x24] ldr r1, [sp, #0x20] add r0, r5, #0x2000 @@ -6751,7 +6751,7 @@ _02181b64: str r6, [sp, #0x44] str r4, [sp, #0x48] str r3, [sp, #0x4c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x228] mov r1, #0 str r1, [sp] @@ -6805,7 +6805,7 @@ _02181c30: str r6, [sp, #0x38] str r4, [sp, #0x3c] str r3, [sp, #0x40] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x21c] mov r1, #0 str r1, [sp] @@ -6938,7 +6938,7 @@ _02181e2c: mov r2, #1 str r6, [sp, #0x30] str r3, [sp, #0x34] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x1f8] mov r0, #0 str r0, [sp] @@ -7167,7 +7167,7 @@ _0218219c: mov r2, #1 str r6, [sp, #0x24] str r3, [sp, #0x28] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x1bc] mov r0, #0 str r0, [sp] @@ -7286,7 +7286,7 @@ _02182368: str r6, [sp, #0x14] str r4, [sp, #0x18] str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x198] mov r1, #0 str r1, [sp] @@ -7341,7 +7341,7 @@ _02182438: str r6, [sp, #8] str r4, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18c] mov r1, #0 str r1, [sp] @@ -12123,7 +12123,7 @@ func_ov37_02186458: ; 0x02186458 add r1, sp, #8 mov r2, #1 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x4c] ldr r1, [r4, #0x48] add r0, r4, #0x21c @@ -12603,7 +12603,7 @@ func_ov37_02186b68: ; 0x02186b68 str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0xcd add r0, r0, #0x400 str r0, [sp, #0x18] @@ -13264,7 +13264,7 @@ _021874d8: str ip, [sp, #0x14] str r4, [sp, #0x18] str r3, [sp, #0x1c] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x24] mov r1, #0 str r1, [sp] diff --git a/asm/ov38.inc b/asm/ov38.inc index e834cb13..3d36c5ae 100644 --- a/asm/ov38.inc +++ b/asm/ov38.inc @@ -162,8 +162,8 @@ .extern func_ov00_0207c358 .extern func_ov00_0207c444 .extern func_ov00_0207c7e8 -.extern func_ov00_02084b38 -.extern func_ov00_02084be0 +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii .extern func_ov00_02087d34 .extern func_ov00_02087d84 .extern func_ov00_02088000 diff --git a/asm/ov38.s b/asm/ov38.s index 05366951..d3dbb24a 100644 --- a/asm/ov38.s +++ b/asm/ov38.s @@ -10966,7 +10966,7 @@ _02185790: mov r1, #3 ldr r0, [r0] mov r2, #1 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 @@ -11049,7 +11049,7 @@ _021858ac: mov r1, #3 ldr r0, [r0] mov r2, #1 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0xff8] @@ -11064,7 +11064,7 @@ _021858f0: mov r1, #6 ldr r0, [r0] mov r2, #1 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _02185a64 ; =data_027e0e60 @@ -11072,7 +11072,7 @@ _021858f0: ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, _02185a68 ; =data_ov29_0217a4ac mov r1, #0 strb r1, [r0, #0x56] @@ -11104,7 +11104,7 @@ _02185984: mov r1, #5 ldr r0, [r0] mov r2, #1 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0xff8] @@ -11118,7 +11118,7 @@ _02185984: ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii add r0, r4, #0x1000 ldrsh r1, [r0, #0x9c] sub r1, r1, #1 @@ -11148,7 +11148,7 @@ _021859e4: ldr r0, [r0] mov r3, r2 mov r1, #5 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii add r0, r4, #0x1000 ldrsh r1, [r0, #0x9c] sub r1, r1, #1 @@ -11498,7 +11498,7 @@ _02185ef8: ldr r0, [r0] mov r2, r1 mov r3, r1 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, _02186a10 ; =data_ov38_021891e0 mov r1, #0 ldr r2, [r0, #0x20c] @@ -11742,7 +11742,7 @@ _021862c8: mov r1, #2 ldr r0, [r0] mov r2, #1 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 beq _02186304 ldr r0, _02186a20 ; =data_027e0fc8 diff --git a/asm/ov39.inc b/asm/ov39.inc index 73a4568b..f4ad32fc 100644 --- a/asm/ov39.inc +++ b/asm/ov39.inc @@ -1,6 +1,9 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii .extern _ZN10PlayerBase18EquipItem_vfunc_2cEv .extern _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi .extern _ZN10PlayerBase18func_ov00_020a7c60EP5Vec3pS1_i @@ -149,9 +152,6 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_0207c5d4 -.extern func_ov00_02083ee0 -.extern func_ov00_02084b38 -.extern func_ov00_02084be0 .extern func_ov00_02087584 .extern func_ov00_020875f8 .extern func_ov00_02087d34 diff --git a/asm/ov39.s b/asm/ov39.s index 10f07dd1..448fce53 100644 --- a/asm/ov39.s +++ b/asm/ov39.s @@ -1779,7 +1779,7 @@ func_ov39_0217d534: ; 0x0217d534 ldr r3, [r4, #0x50] mov r2, #0 str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, _0217d5c8 ; =data_027e0f94 mov r3, r0 str r0, [r4, #0x4c] @@ -3458,7 +3458,7 @@ func_ov39_0217ec34: ; 0x0217ec34 ldr r0, [r0] mov r2, #1 mov r3, r2 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov39_0217ec34 @@ -3993,7 +3993,7 @@ _0217f3c4: mov r1, #3 ldr r0, [r0] mov r2, #1 - bl func_ov00_02084be0 + bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 beq _0217f40c ldr r0, _0217f480 ; =data_ov29_0217bd28 @@ -4005,7 +4005,7 @@ _0217f3c4: ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldmia sp!, {r4, pc} _0217f40c: ldr r0, _0217f480 ; =data_ov29_0217bd28 @@ -7587,13 +7587,13 @@ func_ov39_021825e8: ; 0x021825e8 ldr r0, [r0] mov r2, r1 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, _02182670 ; =data_027e0e60 mov r1, #2 ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii mov r0, r4 mov r1, #8 mov r2, #7 diff --git a/asm/ov40.inc b/asm/ov40.inc index ad82a2af..506138a7 100644 --- a/asm/ov40.inc +++ b/asm/ov40.inc @@ -260,12 +260,12 @@ .extern func_ov00_0207c074 .extern func_ov00_0207c1f8 .extern func_ov00_0207c444 -.extern func_ov00_02082650 -.extern func_ov00_02082660 -.extern func_ov00_02082670 -.extern func_ov00_0208344c -.extern func_ov00_020838e8 -.extern func_ov00_020846a4 +.extern _ZN10MapManager18func_ov00_02082650Eiii +.extern _ZN10MapManager18func_ov00_02082660Eii +.extern _ZN10MapManager18func_ov00_02082670Eii +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_020846a4Ev .extern func_ov00_02089b08 .extern func_ov00_02089b50 .extern func_ov00_02089b88 diff --git a/asm/ov40.s b/asm/ov40.s index 9f9050fc..f27ddffc 100644 --- a/asm/ov40.s +++ b/asm/ov40.s @@ -4792,7 +4792,7 @@ func_ov40_0217fa44: ; 0x0217fa44 ldr r0, _0217fbb4 ; =data_027e0e60 add r1, sp, #0x70 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p add r0, sp, #0x44 bl func_ov00_020c1500 mvn r1, #0 @@ -4852,7 +4852,7 @@ _0217fb0c: ldr r0, _0217fbb4 ; =data_027e0e60 add r1, sp, #0x38 ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p add r0, sp, #0xc bl func_ov00_020c1500 mvn r1, #0 @@ -8498,7 +8498,7 @@ func_ov40_02182694: ; 0x02182694 ldrb r1, [r5, #0xf] ldr r0, [r0] add r2, sp, #0 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi cmp r0, #0 beq _02182798 ldr r0, [sp, #4] @@ -11728,7 +11728,7 @@ func_ov40_02184fb4: ; 0x02184fb4 ldr r2, [r4, #0x88] str r2, [r4, #0x98] ldr r0, [r0] - bl func_ov00_0208344c + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r1, [sp, #0xc] mov r0, #1 str r1, [r4, #0x48] @@ -12507,7 +12507,7 @@ func_ov40_02185878: ; 0x02185878 _021858c8: ldr r0, _02185b40 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev sub r0, r0, #0xd cmp r0, #3 addls pc, pc, r0, lsl #2 @@ -12522,7 +12522,7 @@ _021858f4: mov r2, r5 ldr r0, [r0] mov r1, #0xd - bl func_ov00_02082650 + bl _ZN10MapManager18func_ov00_02082650Eiii ldr r0, _02185b44 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097c08Ev @@ -12546,50 +12546,50 @@ _0218594c: mov r2, r5 ldr r0, [r0] mov r1, #0x2b - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185964: ldr r0, _02185b40 ; =data_027e0e60 mov r2, r5 ldr r0, [r0] mov r1, #0x2c - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _0218597c: ldr r0, _02185b40 ; =data_027e0e60 mov r2, r5 ldr r0, [r0] mov r1, #0x1d - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185994: ldr r0, _02185b40 ; =data_027e0e60 mov r2, r5 ldr r0, [r0] mov r1, #0xf - bl func_ov00_02082650 + bl _ZN10MapManager18func_ov00_02082650Eiii ldr r0, _02185b40 ; =data_027e0e60 mov r2, r5 ldr r0, [r0] mov r1, #4 - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _021859c0: ldr r0, _02185b40 ; =data_027e0e60 mov r2, r5 ldr r0, [r0] mov r1, #6 - bl func_ov00_02082650 + bl _ZN10MapManager18func_ov00_02082650Eiii ldr r0, _02185b40 ; =data_027e0e60 mov r2, r5 ldr r0, [r0] mov r1, #4 - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _021859ec: ldr r0, _02185b40 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev sub r0, r0, #0xd cmp r0, #3 addls pc, pc, r0, lsl #2 @@ -12604,7 +12604,7 @@ _02185a18: mov r2, r5 ldr r0, [r0] mov r1, #0xe - bl func_ov00_02082650 + bl _ZN10MapManager18func_ov00_02082650Eiii ldr r0, _02185b44 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097c08Ev @@ -12628,57 +12628,57 @@ _02185a70: mov r2, r5 ldr r0, [r0] mov r1, #0x25 - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185a88: ldr r0, _02185b40 ; =data_027e0e60 mov r2, r5 ldr r0, [r0] mov r1, #0x2d - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185aa0: ldr r0, _02185b40 ; =data_027e0e60 mov r2, r5 ldr r0, [r0] mov r1, #0x25 - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185ab8: ldr r0, _02185b40 ; =data_027e0e60 mov r2, r5 ldr r0, [r0] mov r1, #0x10 - bl func_ov00_02082650 + bl _ZN10MapManager18func_ov00_02082650Eiii ldr r0, _02185b40 ; =data_027e0e60 mov r2, r5 ldr r0, [r0] mov r1, #2 - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185ae4: ldr r0, _02185b40 ; =data_027e0e60 mov r2, r5 ldr r0, [r0] mov r1, #2 - bl func_ov00_02082650 + bl _ZN10MapManager18func_ov00_02082650Eiii ldr r0, _02185b40 ; =data_027e0e60 mov r2, r5 ldr r0, [r0] mov r1, #2 - bl func_ov00_02082660 + bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185b10: ldr r0, _02185b40 ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_020846a4 + bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #0xe bne _02185b38 ldr r0, _02185b40 ; =data_027e0e60 mov r2, r5 ldr r0, [r0] mov r1, #0xe - bl func_ov00_02082670 + bl _ZN10MapManager18func_ov00_02082670Eii _02185b38: str r4, [r6, #0x158] ldmia sp!, {r4, r5, r6, pc} diff --git a/asm/ov41.inc b/asm/ov41.inc index 1cd11506..ac3991a3 100644 --- a/asm/ov41.inc +++ b/asm/ov41.inc @@ -1,4 +1,9 @@ #pragma once +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_7cEv +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef @@ -132,11 +137,6 @@ .extern func_ov00_0207c31c .extern func_ov00_0207c7e8 .extern func_ov00_02081f4c -.extern func_ov00_020828c0 -.extern func_ov00_020836dc -.extern func_ov00_02083770 -.extern func_ov00_02083a1c -.extern func_ov00_02083ee0 .extern func_ov00_0208cd48 .extern func_ov00_02093a5c .extern func_ov00_02094824 diff --git a/asm/ov41.s b/asm/ov41.s index 62ff46e4..afa97125 100644 --- a/asm/ov41.s +++ b/asm/ov41.s @@ -3837,7 +3837,7 @@ _0218c680: add r0, sp, #4 ldr r1, [r1] add r2, sp, #0x1c - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r2, #0 sub r1, r2, #1 mov r0, #1 @@ -3866,7 +3866,7 @@ _0218c6cc: add r2, sp, #4 ldr r0, [r0] mov r1, #2 - bl func_ov00_020828c0 + bl _ZN10MapManager16MapData_vfunc_7cEv add r4, r4, #1 cmp r4, #4 blt _0218c608 @@ -4015,7 +4015,7 @@ func_ov41_0218c834: ; 0x0218c834 ldr r0, [r1] mov r1, r5 mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 bne _0218ca3c mov r0, r6 @@ -4749,7 +4749,7 @@ func_ov41_0218d210: ; 0x0218d210 ldr r0, [r0] ldr r1, [r6, #0x514] add r2, sp, #0 - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r5, #1 _0218d2b8: @@ -4936,7 +4936,7 @@ _0218d438: str r3, [sp, #4] ldr r3, [r4, #0x50] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add sp, sp, #0x3c str r0, [r4, #0x4c] ldmia sp!, {r3, r4, pc} @@ -5143,7 +5143,7 @@ _0218d7c0: add r1, sp, #4 str r2, [sp, #0xc] mov r2, #1 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r4, #0x4c] cmp r1, r0 movge r0, #1 diff --git a/asm/ov42.inc b/asm/ov42.inc index 6ff28d52..73871b88 100644 --- a/asm/ov42.inc +++ b/asm/ov42.inc @@ -1,4 +1,5 @@ #pragma once +.extern _ZN10MapManager18func_ov00_02083918EiPi .extern _ZN11ItemManager13ForceEquipItemEi .extern _ZN11ItemManager20ClearForcedEquipItemEv .extern _ZN12ActorManager8GetActorEP8ActorRef @@ -112,7 +113,6 @@ .extern func_ov00_0207a1c8 .extern func_ov00_0207bb1c .extern func_ov00_0207c1b0 -.extern func_ov00_02083918 .extern func_ov00_0208726c .extern func_ov00_02087400 .extern func_ov00_020a61ac diff --git a/asm/ov42.s b/asm/ov42.s index d1ba68d7..f7fa334e 100644 --- a/asm/ov42.s +++ b/asm/ov42.s @@ -297,7 +297,7 @@ _02189894: add r2, sp, #0x48 ldr r0, [r0] mov r1, #0x42 - bl func_ov00_02083918 + bl _ZN10MapManager18func_ov00_02083918EiPi cmp r0, #0 beq _021898e0 ldr r0, _02189af8 ; =data_027e0f64 @@ -312,7 +312,7 @@ _021898e0: add r2, sp, #0x64 ldr r0, [r0] mov r1, #0x43 - bl func_ov00_02083918 + bl _ZN10MapManager18func_ov00_02083918EiPi cmp r0, #0 beq _02189918 ldr r0, _02189af8 ; =data_027e0f64 diff --git a/asm/ov43.inc b/asm/ov43.inc index d42e675d..2cada26d 100644 --- a/asm/ov43.inc +++ b/asm/ov43.inc @@ -97,8 +97,8 @@ .extern func_ov00_0207c474 .extern func_ov00_02081f4c .extern func_ov00_02081f50 -.extern func_ov00_020836dc -.extern func_ov00_02083770 +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji .extern func_ov00_02087d34 .extern func_ov00_02093a1c .extern _ZN14AdventureFlags18func_Ov00_02097810Ei diff --git a/asm/ov43.s b/asm/ov43.s index 41992889..b3380421 100644 --- a/asm/ov43.s +++ b/asm/ov43.s @@ -2999,7 +2999,7 @@ _0218bd3c: ldrh r1, [r4, #0x26] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0218c970 ldr r0, [r4, #0x3d4] @@ -3815,7 +3815,7 @@ _0218c920: ldrh r1, [r4, #0x26] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 addeq sp, sp, #0x150 moveq r0, #1 @@ -4220,7 +4220,7 @@ _0218ceac: ldrh r1, [r10, #0x26] ldr r0, [r0] add r2, sp, #0xc - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 @@ -4237,7 +4237,7 @@ _0218cf04: str r1, [sp, #4] ldrh r1, [r10, #0x26] add r2, sp, #0 - bl func_ov00_02083770 + bl _ZN10MapManager18func_ov00_02083770Eji cmp r0, #0 moveq r0, #1 movne r0, #0 diff --git a/asm/ov44.inc b/asm/ov44.inc index b48c4015..1f952648 100644 --- a/asm/ov44.inc +++ b/asm/ov44.inc @@ -109,8 +109,8 @@ .extern func_ov00_0207c1b0 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern func_ov00_02083a1c -.extern func_ov00_020840c4 +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager16MapData_vfunc_78Ev .extern func_ov00_020a95a4 .extern func_ov00_020a9b6c .extern func_ov00_020a9b78 diff --git a/asm/ov44.s b/asm/ov44.s index b19298c1..9bcdc00f 100644 --- a/asm/ov44.s +++ b/asm/ov44.s @@ -6543,10 +6543,10 @@ func_ov44_0218e4a0: ; 0x0218e4a0 add r0, sp, #0 mov r1, r5 add r2, r4, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r5 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _0218e4ec ldr r0, [r0, #4] diff --git a/asm/ov46.inc b/asm/ov46.inc index 27a26d9c..f37cdc73 100644 --- a/asm/ov46.inc +++ b/asm/ov46.inc @@ -123,9 +123,9 @@ .extern func_ov00_0207ba90 .extern func_ov00_0207c1b0 .extern func_ov00_0207c1f8 -.extern func_ov00_02083a1c -.extern func_ov00_02083fb0 -.extern func_ov00_020840c4 +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager16MapData_vfunc_78Ev .extern func_ov00_02093a5c .extern func_ov00_02093af0 .extern func_ov00_02094824 diff --git a/asm/ov46.s b/asm/ov46.s index 98e030f1..98ddf8c9 100644 --- a/asm/ov46.s +++ b/asm/ov46.s @@ -33,10 +33,10 @@ func_ov46_02190074: ; 0x02190074 add r0, sp, #0 mov r1, r5 mov r2, r6 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r5 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r7, r0 ldr r4, _021901d0 ; =0x0000036d beq _021900d8 @@ -60,7 +60,7 @@ _021900d8: ldr r3, [r6, #8] mov r1, r5 str r3, [sp, #0x10] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #4] and r0, r0, #0x1f cmp r0, #0xe @@ -756,10 +756,10 @@ func_ov46_021909ac: ; 0x021909ac add r0, sp, #0 mov r1, r5 mov r2, r6 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0 mov r0, r5 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r7, r0 ldr r4, _02190b08 ; =0x0000036d beq _02190a10 @@ -783,7 +783,7 @@ _02190a10: ldr r3, [r6, #8] mov r1, r5 str r3, [sp, #0x10] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #4] and r0, r0, #0x1f cmp r0, #0xe diff --git a/asm/ov47.inc b/asm/ov47.inc index ddc643d0..66cd2b79 100644 --- a/asm/ov47.inc +++ b/asm/ov47.inc @@ -51,12 +51,12 @@ .extern func_ov00_0207c444 .extern func_ov00_02081f4c .extern func_ov00_02081f50 -.extern func_ov00_020836dc -.extern func_ov00_02083ee0 -.extern func_ov00_02083f44 -.extern func_ov00_020840c4 -.extern func_ov00_02084120 -.extern func_ov00_02084740 +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager17GetMapData_Unk_4cEv +.extern _ZN10MapManager18func_ov00_02084740Ev .extern func_ov00_02093a1c .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 diff --git a/asm/ov47.s b/asm/ov47.s index 32a6ebd1..c2aa8c03 100644 --- a/asm/ov47.s +++ b/asm/ov47.s @@ -1184,7 +1184,7 @@ _02190fdc: ldr r0, _021910ec ; =data_027e0e60 add r1, r5, #0x108 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev ldr r1, [r0] ldr r1, [r1, #0x54] blx r1 @@ -1619,7 +1619,7 @@ _02191578: str r3, [sp, #4] ldr r3, [r4, #0x340] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x33c] ldrh r0, [r4, #0x20] cmp r0, #4 @@ -2892,7 +2892,7 @@ _0219260c: ldrh r1, [r6, #0x22] ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _02192ecc ldrh r0, [r6, #0x20] @@ -3489,7 +3489,7 @@ _02192e70: beq _02192eb4 ldr r0, _02192f7c ; =data_027e0e60 ldr r0, [r0] - bl func_ov00_02084740 + bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 ldr r0, _02192f80 ; =data_ov00_020eec68 mov r2, #0 @@ -3519,10 +3519,10 @@ _02192ecc: str r4, [sp, #0x14] str r3, [sp, #0x18] str r5, [sp, #0x1c] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p mov r7, r0 mov r0, r8 - bl func_ov00_02084120 + bl _ZN10MapManager17GetMapData_Unk_4cEv ldr r1, [r6, #0x344] add r2, r7, r0 cmp r1, #0 @@ -4711,7 +4711,7 @@ func_ov47_02193e80: ; 0x02193e80 str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x18] ldr r1, _02193f44 ; =func_ov47_02193e68 str r4, [sp] diff --git a/asm/ov49.inc b/asm/ov49.inc index 2e2b5486..25cf5249 100644 --- a/asm/ov49.inc +++ b/asm/ov49.inc @@ -118,11 +118,11 @@ .extern func_ov00_0207c1b0 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern func_ov00_020836dc -.extern func_ov00_020839b4 -.extern func_ov00_020839c4 -.extern func_ov00_02083ee0 -.extern func_ov00_02083fb0 +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_020839b4Ei +.extern _ZN10MapManager18func_ov00_020839c4Ei +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i .extern func_ov00_02088000 .extern func_ov00_02094824 .extern func_ov00_0209a4f4 diff --git a/asm/ov49.s b/asm/ov49.s index f0673b70..60b0c659 100644 --- a/asm/ov49.s +++ b/asm/ov49.s @@ -462,7 +462,7 @@ func_ov49_02195930: ; 0x02195930 strb r2, [r4, #0x56c] ldr r0, [r0] add r1, r1, #0x400 - bl func_ov00_020839b4 + bl _ZN10MapManager18func_ov00_020839b4Ei mov r0, r4 add r1, r4, #0x254 bl func_ov00_020cb140 @@ -500,7 +500,7 @@ func_ov49_02195b94: ; 0x02195b94 add r1, r4, #0x168 ldr r0, [r2] add r1, r1, #0x400 - bl func_ov00_020839c4 + bl _ZN10MapManager18func_ov00_020839c4Ei ldrb r0, [r4, #0x5c8] cmp r0, #0 bne _02195c24 @@ -2543,7 +2543,7 @@ _02197764: str r3, [sp, #4] ldr r3, [r4, #0x164] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [r4, #0x160] mov r0, r4 mov r1, #0 @@ -2661,7 +2661,7 @@ _021978a8: add r0, sp, #0 add r2, sp, #4 str r3, [sp, #0xc] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp] mov r0, r0, lsr #0x5 and r0, r0, #3 @@ -3317,7 +3317,7 @@ _02198160: .word 0x0000048e arm_func_start func_ov49_02198164 func_ov49_02198164: ; 0x02198164 ldr r2, _0219817c ; =data_027e0e60 - ldr ip, _02198180 ; =func_ov00_020836dc + ldr ip, _02198180 ; =_ZN10MapManager18func_ov00_020836dcEii ldrb r1, [r0, #0x15c] ldr r0, [r2] mov r2, #0 @@ -3325,7 +3325,7 @@ func_ov49_02198164: ; 0x02198164 .align 2, 0 arm_func_end func_ov49_02198164 _0219817c: .word data_027e0e60 -_02198180: .word func_ov00_020836dc +_02198180: .word _ZN10MapManager18func_ov00_020836dcEii .global func_ov49_02198184 arm_func_start func_ov49_02198184 diff --git a/asm/ov50.inc b/asm/ov50.inc index 3f6bd505..f33f91cf 100644 --- a/asm/ov50.inc +++ b/asm/ov50.inc @@ -1,6 +1,10 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_020840dcEv .extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj @@ -119,10 +123,6 @@ .extern func_ov00_02081f50 .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_02083a1c -.extern func_ov00_02083ee0 -.extern func_ov00_020840c4 -.extern func_ov00_020840dc .extern func_ov00_020884b4 .extern func_ov00_02093a1c .extern func_ov00_02093a5c diff --git a/asm/ov50.s b/asm/ov50.s index 56fa69b3..e7a20a55 100644 --- a/asm/ov50.s +++ b/asm/ov50.s @@ -399,7 +399,7 @@ _02195a34: ldr r0, _02195cac ; =data_027e0e60 add r1, r6, #0x108 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev ldr r1, [r0] ldr r1, [r1, #0x54] blx r1 @@ -929,7 +929,7 @@ _02196184: add r1, sp, #0 str r2, [sp, #8] mov r2, #0 - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x4c] sub r1, r1, r0 mov r0, r5 @@ -1345,7 +1345,7 @@ func_ov50_02196698: ; 0x02196698 add r0, sp, #8 ldr r1, [r1] add r2, r4, #0x48 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r1, [sp, #8] ldr r0, _0219683c ; =data_027e0e60 ldrb r2, [sp, #9] @@ -1354,7 +1354,7 @@ func_ov50_02196698: ; 0x02196698 add r1, sp, #6 strb r3, [sp, #6] strb r2, [sp, #7] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x48] ldrb r1, [sp, #8] @@ -1367,7 +1367,7 @@ func_ov50_02196698: ; 0x02196698 add r1, sp, #4 strb r3, [sp, #4] strb r2, [sp, #5] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x3c] ldrb r1, [sp, #9] @@ -1380,7 +1380,7 @@ func_ov50_02196698: ; 0x02196698 add r1, sp, #2 strb r3, [sp, #2] strb r2, [sp, #3] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x50] ldrb r1, [sp, #9] @@ -1393,7 +1393,7 @@ func_ov50_02196698: ; 0x02196698 add r1, sp, #0 strb r3, [sp] strb r2, [sp, #1] - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 ldreq r0, [sp, #0x44] addeq r0, r0, #0x800 @@ -3027,7 +3027,7 @@ func_ov50_02197d04: ; 0x02197d04 ldr r0, _02197dc0 ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _02197da0 ldr r1, [r0] diff --git a/asm/ov51.inc b/asm/ov51.inc index 9a208a59..52c2e0b7 100644 --- a/asm/ov51.inc +++ b/asm/ov51.inc @@ -52,9 +52,9 @@ .extern func_ov00_02081f4c .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern func_ov00_020826a0 -.extern func_ov00_02083a1c -.extern func_ov00_02083ee0 +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager16MapData_vfunc_68Ev .extern func_ov00_0208e6b0 .extern func_ov00_0208e82c .extern func_ov00_02093a5c diff --git a/asm/ov51.s b/asm/ov51.s index 6c613bd4..b6995fb9 100644 --- a/asm/ov51.s +++ b/asm/ov51.s @@ -702,7 +702,7 @@ _02195db4: str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x10] ldr r0, [r5, #0x15c] cmp r0, #0 @@ -2549,11 +2549,11 @@ _02197588: ldr r5, [r2] add r2, r4, #0x48 mov r1, r5 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0xc mov r0, r5 mov r2, #1 - bl func_ov00_020826a0 + bl _ZN10MapManager18func_ov00_020826a0Eiii ldr r0, [r4, #0x154] cmp r0, #0 addgt sp, sp, #0x48 diff --git a/asm/ov52.inc b/asm/ov52.inc index 8dee865c..d0373366 100644 --- a/asm/ov52.inc +++ b/asm/ov52.inc @@ -1,4 +1,8 @@ #pragma once +.extern _ZN10MapManager18func_ov00_02082b3cEi +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02084b38Eiii .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN14AdventureFlags18func_ov00_02097738Ev @@ -126,10 +130,6 @@ .extern func_ov00_0207a1c8 .extern func_ov00_0207b89c .extern func_ov00_0207c1b0 -.extern func_ov00_02082b3c -.extern func_ov00_020836dc -.extern func_ov00_020838e8 -.extern func_ov00_02084b38 .extern func_ov00_0208d01c .extern func_ov00_020a9588 .extern func_ov00_020a95a4 diff --git a/asm/ov52.s b/asm/ov52.s index c18ed485..96528400 100644 --- a/asm/ov52.s +++ b/asm/ov52.s @@ -401,7 +401,7 @@ func_ov52_02195908: ; 0x02195908 strb r3, [r4, #0xc] ldr r0, [r0] mov r1, #0x1e - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii mov r1, #0 ldr r0, _02195a08 ; =data_027e0e60 str r1, [sp, #4] @@ -419,7 +419,7 @@ func_ov52_02195908: ; 0x02195908 ldr r0, [r0] add r2, sp, #0 mov r1, #2 - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02195a0c ; =gOverlayManager ldr r2, _02195a10 ; =0x00000004 mov r1, #2 @@ -427,7 +427,7 @@ func_ov52_02195908: ; 0x02195908 ldr r0, _02195a08 ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02082b3c + bl _ZN10MapManager18func_ov00_02082b3cEi ldr r0, _02195a0c ; =gOverlayManager ldr r2, _02195a14 ; =0x00000005 mov r1, #2 @@ -495,7 +495,7 @@ _02195a60: strb r4, [sp, #0x13] strb r4, [sp, #0x14] strb r4, [sp, #0x15] - bl func_ov00_020838e8 + bl _ZN10MapManager18func_ov00_020838e8EjPi ldr r0, _02195b3c ; =gOverlayManager ldr r2, _02195b40 ; =0x00000004 mov r1, #2 @@ -503,7 +503,7 @@ _02195a60: ldr r0, _02195b38 ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] - bl func_ov00_02082b3c + bl _ZN10MapManager18func_ov00_02082b3cEi ldr r0, _02195b3c ; =gOverlayManager ldr r2, _02195b44 ; =0x00000005 mov r1, #2 @@ -553,13 +553,13 @@ func_ov52_02195b5c: ; 0x02195b5c mov r1, #0x1f mov r2, #1 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, _02195ba8 ; =data_027e0e60 mov r1, #0x1e ldr r0, [r0] mov r2, #1 mov r3, #0 - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii ldr r0, _02195bac ; =data_ov09_0211f5b4 blx func_ov03_020f4048 mov r0, #2 @@ -599,7 +599,7 @@ _02195be0: ldr r0, [r0] mov r3, r2 mov r1, #0x1f - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii mov r0, #1 strb r0, [r4, #0xc] b _02195ca4 @@ -608,7 +608,7 @@ _02195c20: mov r1, #5 ldr r0, [r0] mov r2, #0 - bl func_ov00_020836dc + bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _02195ca4 ldrb r0, [r4, #0x11] @@ -634,7 +634,7 @@ _02195c5c: ldr r0, [r0] mov r3, r2 mov r1, #0x1e - bl func_ov00_02084b38 + bl _ZN10MapManager18func_ov00_02084b38Eiii mov r0, #3 strb r0, [r4, #0xc] _02195ca0: diff --git a/asm/ov53.inc b/asm/ov53.inc index 4590adba..bdb117c6 100644 --- a/asm/ov53.inc +++ b/asm/ov53.inc @@ -40,8 +40,8 @@ .extern func_0204f614 .extern func_ov00_0207bb1c .extern func_ov00_02081f4c -.extern func_ov00_02083ee0 -.extern func_ov00_020840c4 +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev .extern func_ov00_02087f08 .extern func_ov00_0208967c .extern func_ov00_020b17ec diff --git a/asm/ov53.s b/asm/ov53.s index f40d9598..442f45b0 100644 --- a/asm/ov53.s +++ b/asm/ov53.s @@ -456,7 +456,7 @@ _02199220: mov r1, r7 strb r3, [sp, #4] strb r2, [sp, #5] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _02199270 ldr r3, [r0] @@ -1275,7 +1275,7 @@ _02199d28: ldr r3, [r5, #0x50] add r1, sp, #0 str r3, [sp, #8] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [r5, #0x4c] cmp r1, r0 movlt r6, #1 diff --git a/asm/ov54.inc b/asm/ov54.inc index 80c6bab4..8a7badbb 100644 --- a/asm/ov54.inc +++ b/asm/ov54.inc @@ -1,4 +1,9 @@ #pragma once +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02084ebcEi +.extern _ZN10MapManager18func_ov00_02085594Ev +.extern _ZN10MapManager18func_ov00_02085a34Eii .extern _ZN11ItemManager12GetItemModelEj .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p @@ -21,6 +26,7 @@ .extern _ZN13PlayerControl20UpdateUsingEquipItemEv .extern _ZNK11ItemManager16GetEquippedFairyEv .extern _ZNK11ItemManager8GetFairyEi +.extern __register_global_object .extern data_02050f54 .extern data_02054654 .extern data_027e0d38 @@ -38,14 +44,8 @@ .extern func_01ffa9fc .extern func_01fffcec .extern func_0202af4c -.extern __register_global_object .extern func_ov00_0207c1b0 .extern func_ov00_0207c2e8 -.extern func_ov00_02083a1c -.extern func_ov00_02083c7c -.extern func_ov00_02084ebc -.extern func_ov00_02085594 -.extern func_ov00_02085a34 .extern func_ov00_020a5e9c .extern func_ov00_020a9588 .extern func_ov00_020a95a4 diff --git a/asm/ov54.s b/asm/ov54.s index df1afc4a..a162d77e 100644 --- a/asm/ov54.s +++ b/asm/ov54.s @@ -113,14 +113,14 @@ func_ov54_02198e04: ; 0x02198e04 arm_func_start func_ov54_02198e08 func_ov54_02198e08: ; 0x02198e08 ldr r0, _02198e1c ; =data_027e0e60 - ldr ip, _02198e20 ; =func_ov00_02085a34 + ldr ip, _02198e20 ; =_ZN10MapManager18func_ov00_02085a34Eii mov r2, #1 ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov54_02198e08 _02198e1c: .word data_027e0e60 -_02198e20: .word func_ov00_02085a34 +_02198e20: .word _ZN10MapManager18func_ov00_02085a34Eii .global func_ov54_02198e24 arm_func_start func_ov54_02198e24 @@ -129,7 +129,7 @@ func_ov54_02198e24: ; 0x02198e24 ldr r0, _02198e48 ; =data_027e0e60 mov r2, #2 ldr r0, [r0] - bl func_ov00_02085a34 + bl _ZN10MapManager18func_ov00_02085a34Eii cmp r0, #0 movgt r0, #1 movle r0, #0 @@ -232,7 +232,7 @@ func_ov54_02198efc: ; 0x02198efc add r0, sp, #0xc ldr r1, [r1] add r2, r7, #0x38 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r2, [sp, #0xc] ldrb r1, [sp, #0xd] mov r0, r7 @@ -318,7 +318,7 @@ _02199050: ldr r0, _02199290 ; =data_027e0e60 add r1, r7, #0x38 ldr r0, [r0] - bl func_ov00_02085594 + bl _ZN10MapManager18func_ov00_02085594Ev mov r4, r0 _021990c4: cmp r4, #1 @@ -842,7 +842,7 @@ func_ov54_021997f0: ; 0x021997f0 strb r1, [r3, #1] ldr r2, [r3] add r1, sp, #0x10 - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi cmp r4, #0 mov r4, #1 beq _02199884 @@ -855,7 +855,7 @@ func_ov54_021997f0: ; 0x021997f0 str ip, [sp, #4] str r3, [sp, #8] str r2, [sp, #0xc] - bl func_ov00_02084ebc + bl _ZN10MapManager18func_ov00_02084ebcEi cmp r0, #0 moveq r4, #0 _02199884: diff --git a/asm/ov55.inc b/asm/ov55.inc index 15e9e682..68653625 100644 --- a/asm/ov55.inc +++ b/asm/ov55.inc @@ -40,7 +40,7 @@ .extern func_01fffcec .extern func_02019570 .extern func_020385b8 -.extern func_ov00_02083f44 +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p .extern func_ov00_02087d34 .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 diff --git a/asm/ov55.s b/asm/ov55.s index ea2867fb..2d2dad34 100644 --- a/asm/ov55.s +++ b/asm/ov55.s @@ -598,7 +598,7 @@ func_ov55_021993b8: ; 0x021993b8 str r10, [sp, #0xc] str r9, [sp, #0x10] str r3, [sp, #0x14] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p cmp r0, r8 bge _021994cc ldr r0, _02199640 ; =data_027e0e60 @@ -610,7 +610,7 @@ func_ov55_021993b8: ; 0x021993b8 str r10, [sp] str r9, [sp, #4] str r3, [sp, #8] - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p cmp r0, r8 movlt r6, r5 _021994cc: diff --git a/asm/ov57.inc b/asm/ov57.inc index 142d8ebb..fe983f15 100644 --- a/asm/ov57.inc +++ b/asm/ov57.inc @@ -57,7 +57,7 @@ .extern func_ov00_0207c1f8 .extern func_ov00_0207c444 .extern func_ov00_02081f4c -.extern func_ov00_020840c4 +.extern _ZN10MapManager16MapData_vfunc_78Ev .extern func_ov00_02087f08 .extern func_ov00_0208967c .extern func_ov00_02093a1c diff --git a/asm/ov57.s b/asm/ov57.s index 5f2ea21c..28163870 100644 --- a/asm/ov57.s +++ b/asm/ov57.s @@ -146,7 +146,7 @@ _02198ea4: ldr r0, _02198fb8 ; =data_027e0e60 add r1, r4, #0x14 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev movs r6, r0 addeq sp, sp, #0x1c moveq r0, #0 @@ -616,7 +616,7 @@ _02199470: ldr r0, _021994b8 ; =data_027e0e60 add r1, r1, #0x14 ldr r0, [r0] - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -1206,7 +1206,7 @@ _02199ca0: _02199cb8: ldr r0, [r11] mov r1, r8 - bl func_ov00_020840c4 + bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 beq _02199d2c ldr r3, [r0] diff --git a/asm/ov58.inc b/asm/ov58.inc index b1be52dd..b1ef0054 100644 --- a/asm/ov58.inc +++ b/asm/ov58.inc @@ -70,17 +70,17 @@ .extern func_ov00_0207c0ac .extern func_ov00_0207c0cc .extern func_ov00_02081f4c -.extern func_ov00_0208346c -.extern func_ov00_02083a1c -.extern func_ov00_02083c7c -.extern func_ov00_02083e58 -.extern func_ov00_02083ee0 -.extern func_ov00_02083f44 -.extern func_ov00_02083f80 -.extern func_ov00_02083fb0 -.extern func_ov00_02084088 -.extern func_ov00_020840dc -.extern func_ov00_0208499c +.extern _ZN10MapManager18func_ov00_0208346cEP4AABB +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager16MapData_vfunc_60Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager16MapData_vfunc_6cEv +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager18func_ov00_020840dcEv +.extern _ZN10MapManager18func_ov00_0208499cEv .extern func_ov00_0208e72c .extern func_ov00_020a5e9c .extern func_ov00_020a61ac diff --git a/asm/ov58.s b/asm/ov58.s index 809266de..9b85c9cc 100644 --- a/asm/ov58.s +++ b/asm/ov58.s @@ -91,17 +91,17 @@ func_ov58_02198d00: ; 0x02198d00 ldr r6, [r1] add r2, sp, #0x14 mov r1, r6 - bl func_ov00_02083a1c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #4 mov r0, r6 - bl func_ov00_020840dc + bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 bne _02198eb4 ldr r0, _02198ef0 ; =data_027e0e60 add r1, sp, #0x14 ldr r0, [r0] mov r2, #0 - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p ldr r1, [sp, #0x18] add r1, r1, #0xff add r1, r1, #0x1700 @@ -596,7 +596,7 @@ func_ov58_021992c4: ; 0x021992c4 mov r5, r0 ldr r0, [r2] mov r4, r1 - bl func_ov00_0208499c + bl _ZN10MapManager18func_ov00_0208499cEv cmp r0, #0 beq _0219930c ldr r0, _021993ec ; =data_027e0c54 @@ -789,7 +789,7 @@ _021994c2: ldr r0, _021997f4 ; =data_027e0e60 add r1, sp, #0x1bc ldr r0, [r0] - blx func_ov00_0208346c + blx _ZN10MapManager18func_ov00_0208346cEP4AABB ldr r0, [r4] add r1, sp, #0x128 str r0, [sp, #0x128] @@ -825,7 +825,7 @@ _02199502: ldr r1, [r1] add r0, #2 add r2, r4, #0 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r0, [r4] add r3, sp, #0x58 str r0, [sp, #0x1b0] @@ -844,7 +844,7 @@ _02199502: add r1, sp, #0x1b0 strb r3, [r2, #1] ldr r2, [r2] - blx func_ov00_02083c7c + blx _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi ldr r0, [r4, #4] str r0, [sp, #0x1b4] ldr r1, [r5, #0x18] @@ -893,7 +893,7 @@ _02199580: add r1, sp, #0x1a4 strb r3, [r2, #1] ldr r2, [r2] - blx func_ov00_02083c7c + blx _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi ldr r1, [r4] ldr r0, [sp, #0x1a4] sub r1, r1, r0 @@ -948,7 +948,7 @@ _021995e2: str r0, [sp, #0x124] ldr r0, _021997f4 ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02083ee0 + blx _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x1b4] _02199606: ldr r1, [sp, #0x198] @@ -1034,7 +1034,7 @@ _0219968e: str r0, [sp, #0x1b8] ldr r1, [r1] add r0, sp, #0x58 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r0, sp, #0x58 ldrb r1, [r0] add r7, sp, #0x58 @@ -1052,7 +1052,7 @@ _0219968e: ldrb r2, [r7, #1] strb r2, [r3, #1] ldr r2, [r3] - blx func_ov00_02083c7c + blx _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi ldr r1, [sp, #0x1b4] ldr r0, _021997fc ; =0x00000999 mov r2, #0 @@ -1066,7 +1066,7 @@ _0219968e: ldr r0, _021997f4 ; =data_027e0e60 add r1, sp, #0x104 ldr r0, [r0] - blx func_ov00_02083ee0 + blx _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x198] str r0, [sp, #0x1b4] add r0, r0, r1 @@ -1154,7 +1154,7 @@ _02199796: lsl r2, r2, #1 ldr r0, [r0] add r1, r1, r2 - blx func_ov00_02084088 + blx _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x19 bne _021997ec ldr r1, [r5, #0x18] @@ -1164,7 +1164,7 @@ _02199796: lsl r1, r1, #1 ldr r0, [r0] add r1, r2, r1 - blx func_ov00_02083e58 + blx _ZN10MapManager16MapData_vfunc_60Ev ldr r1, [sp, #0x18] mov r2, #0 str r1, [sp, #0xf8] @@ -1176,7 +1176,7 @@ _02199796: str r0, [sp, #0x100] ldr r0, _021997f4 ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02083ee0 + blx _ZN10MapManager16MapData_vfunc_68Ev add r6, r0, #0 ldr r0, [sp, #0x1b4] sub r1, r0, r6 @@ -1237,7 +1237,7 @@ _0219983e: add r3, sp, #0x17c ldr r0, [r0] str r6, [sp, #0xf0] - blx func_ov00_02083f80 + blx _ZN10MapManager16MapData_vfunc_6cEv ldr r0, [sp, #0x17c] cmp r0, #0 bne _02199862 @@ -1316,7 +1316,7 @@ _021998c8: add r0, sp, #0x54 ldr r1, [r1] add r0, #2 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0x54 add r1, #2 ldrb r2, [r1] @@ -1371,7 +1371,7 @@ _02199940: add r2, sp, #0x170 str r0, [sp, #0x178] add r0, sp, #0x54 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r0, sp, #0x54 ldrb r1, [r0] add r2, sp, #0x58 @@ -1407,7 +1407,7 @@ _02199986: add r1, sp, #0x170 strb r2, [r3, #1] ldr r2, [r3] - blx func_ov00_02083c7c + blx _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi add r0, r7, #0 ldrb r2, [r0] add r1, sp, #0x24 @@ -1493,7 +1493,7 @@ _02199a38: ldr r1, [r1] add r0, #2 add r2, sp, #0x170 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r0, sp, #0x50 add r0, #2 ldrb r1, [r0] @@ -1558,7 +1558,7 @@ _02199aba: add r0, sp, #0x50 ldr r1, [r1] add r2, sp, #0x170 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0x50 ldrb r2, [r1] add r0, sp, #0x58 @@ -1608,7 +1608,7 @@ _02199b14: add r1, sp, #0x170 strb r2, [r3, #1] ldr r2, [r3] - blx func_ov00_02083c7c + blx _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi b _02199bde _02199b30: add r0, sp, #0x214 @@ -1635,7 +1635,7 @@ _02199b58: str r0, [sp, #0x178] add r0, sp, #0x4c add r0, #2 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0x4c add r1, #2 ldrb r2, [r1] @@ -1686,7 +1686,7 @@ _02199bba: add r1, sp, #0x170 strb r2, [r3, #1] ldr r2, [r3] - blx func_ov00_02083c7c + blx _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi b _02199bde _02199bd6: add sp, #0x1fc @@ -1710,7 +1710,7 @@ _02199bde: str r1, [sp, #0xa8] add r1, sp, #0xa4 mov r2, #0 - blx func_ov00_02083ee0 + blx _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x198] str r0, [sp, #0x1b4] add r0, r0, r1 @@ -1736,7 +1736,7 @@ _02199c18: add r2, sp, #0x158 str r0, [sp, #0x160] add r0, sp, #0x4c - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0x4c ldrb r2, [r1] add r0, sp, #0x58 @@ -1786,7 +1786,7 @@ _02199c80: add r1, sp, #0x158 strb r2, [r3, #1] ldr r2, [r3] - blx func_ov00_02083c7c + blx _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi ldr r0, [sp, #0x158] ldr r2, [sp, #0x160] ldr r3, [sp, #0x15c] @@ -1803,7 +1803,7 @@ _02199c80: str r1, [sp, #0x9c] add r1, sp, #0x98 mov r2, #0 - blx func_ov00_02083ee0 + blx _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x198] str r0, [sp, #0x1b4] add r0, r0, r1 @@ -1821,11 +1821,11 @@ _02199cd0: add r0, sp, #0x48 add r0, #2 add r1, r7, #0 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0x48 add r0, r7, #0 add r1, #2 - blx func_ov00_02084088 + blx _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x19 bne _02199d0c ldr r0, _02199ee4 ; =data_027e0e60 @@ -1833,10 +1833,10 @@ _02199cd0: ldr r7, [r0] add r0, sp, #0x48 add r1, r7, #0 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r0, r7, #0 add r1, sp, #0x48 - blx func_ov00_02083e58 + blx _ZN10MapManager16MapData_vfunc_60Ev ldr r1, _02199eec ; =0x00001333 str r0, [sp, #0x1b4] sub r0, r0, r1 @@ -1852,7 +1852,7 @@ _02199d0c: str r0, [sp, #0x94] ldr r0, _02199ee4 ; =data_027e0e60 ldr r0, [r0] - blx func_ov00_02083ee0 + blx _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x1b4] _02199d26: ldr r0, [sp, #0x18] @@ -1881,7 +1881,7 @@ _02199d50: add r0, sp, #0x60 ldr r1, [r1] add r2, r7, #0 - blx func_ov00_02083fb0 + blx _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r1, [sp, #0x60] ldr r0, [sp, #0x60] lsr r2, r1, #5 @@ -1909,7 +1909,7 @@ _02199d50: mov r2, #0 str r3, [sp, #0x1b0] str r3, [sp, #0x80] - blx func_ov00_02083ee0 + blx _ZN10MapManager16MapData_vfunc_68Ev ldr r1, [sp, #0x198] str r0, [sp, #0x1b4] add r0, r0, r1 @@ -1925,7 +1925,7 @@ _02199d50: add r0, sp, #0x44 ldr r1, [r1] add r0, #2 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r0, sp, #0x44 add r0, #2 ldrb r2, [r0] @@ -1987,7 +1987,7 @@ _02199e0c: add r0, sp, #0x44 ldr r1, [r1] add r2, sp, #0x1b0 - blx func_ov00_02083a1c + blx _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r1, sp, #0x44 mov r3, sp ldrb r2, [r1] @@ -2014,7 +2014,7 @@ _02199e54: add r2, sp, #0x74 str r0, [sp, #0x7c] add r0, sp, #0x5c - blx func_ov00_02083fb0 + blx _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r0, [sp, #0x5c] ldr r2, [sp, #0x5c] lsr r1, r0, #5 @@ -2096,7 +2096,7 @@ func_ov58_02199ef0: ; 0x02199ef0 add r1, sp, #0x18 strb r2, [r3, #1] ldr r2, [r3] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r8, #0 ldr r4, _02199fd4 ; =data_027e0e60 mov r9, r8 @@ -2127,11 +2127,11 @@ _02199f40: mov r2, #0 mov r1, r5 bne _02199fa4 - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p mov r10, r0 b _02199fb0 _02199fa4: - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p cmp r10, r0 movle r10, r0 _02199fb0: @@ -2213,7 +2213,7 @@ func_ov58_0219a084: ; 0x0219a084 add r1, sp, #0x30 strb r2, [r3, #1] ldr r2, [r3] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r8, #0 ldr r4, _0219a3a8 ; =data_027e0e60 add r10, sp, #0x3c @@ -2243,7 +2243,7 @@ _0219a0d8: ldr r0, [r4] mov r1, r10 mov r2, r11 - bl func_ov00_02083f44 + bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p str r0, [r10, #4] add r9, r9, #0x4000 add r10, r10, #0xc @@ -2395,7 +2395,7 @@ _0219a368: ldr r0, [r0] add r2, sp, #0x14 add r3, sp, #0x18 - bl func_ov00_02083f80 + bl _ZN10MapManager16MapData_vfunc_6cEv ldr r0, [sp, #0x18] cmp r0, #0 ldreq r0, [sp, #0x20] @@ -2538,7 +2538,7 @@ func_ov58_0219a47c: ; 0x0219a47c ldr r2, [ip] strb r7, [sp] strb r6, [sp, #1] - bl func_ov00_02083c7c + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi bl func_020385b8 add r1, sp, #4 bl _ZN17LinkStateInteract24SetNormalizedThrowOffsetEP5Vec3p diff --git a/asm/ov59.inc b/asm/ov59.inc index 2a3e99cf..3cb7cf4e 100644 --- a/asm/ov59.inc +++ b/asm/ov59.inc @@ -1,4 +1,7 @@ #pragma once +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020858b0Ev .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13LinkStateBase12GetPlayerPosEv @@ -43,9 +46,6 @@ .extern func_ov00_02078b40 .extern func_ov00_0207c1b0 .extern func_ov00_0207c358 -.extern func_ov00_02083ee0 -.extern func_ov00_02083fb0 -.extern func_ov00_020858b0 .extern func_ov00_020a5e9c .extern func_ov00_020b853c .extern func_ov00_020b8c50 diff --git a/asm/ov59.s b/asm/ov59.s index 79b12542..55851799 100644 --- a/asm/ov59.s +++ b/asm/ov59.s @@ -215,7 +215,7 @@ func_ov59_02198f10: ; 0x02198f10 ldr r0, _02198fa4 ; =data_027e0e60 moveq r2, #1 ldr r0, [r0] - bl func_ov00_020858b0 + bl _ZN10MapManager18func_ov00_020858b0Ev _02198f88: mov r0, #0 strb r0, [r5, #0x1c] @@ -982,7 +982,7 @@ _02199968: str r6, [sp, #0x38] str r5, [sp, #0x64] str r5, [sp, #0x40] - bl func_ov00_02083fb0 + bl _ZN10MapManager18func_ov00_02083fb0EiPS_i bl func_ov59_02198e2c ldrb r1, [r0, #0x27] mov r2, #0 @@ -1099,7 +1099,7 @@ _02199bdc: str r6, [sp, #0x2c] str r5, [sp, #0x30] str r3, [sp, #0x34] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev add r0, r0, #0x99 ldr r1, [sp, #0x60] add r0, r0, #0x900 @@ -1118,7 +1118,7 @@ _02199bdc: str r6, [sp, #0x20] str r5, [sp, #0x24] str r3, [sp, #0x28] - bl func_ov00_02083ee0 + bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x60] ldr r1, [sp, #0x1c] ldr r2, [r4, #0x344] diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp index 897f28c1..6e89e980 100644 --- a/include/Map/MapManager.hpp +++ b/include/Map/MapManager.hpp @@ -3,6 +3,9 @@ #include "global.h" #include "types.h" +#include "lib/math.h" + +#include "Physics/AABB.hpp" #include "System/SysNew.hpp" struct MapManager_Unk1 { @@ -23,10 +26,10 @@ struct MapManager_Unk2 { class MapDataBase : public SysObject { public: - /* 00 */ virtual ~MapData(); + /* 00 */ virtual ~MapDataBase(); - MapData(); - MapData(uint param1, uint param2); + MapDataBase(); + MapDataBase(u32 param1, u32 param2); }; class MapManager : public SysObject { diff --git a/src/00_Core/Map/MapManager.cpp b/src/00_Core/Map/MapManager.cpp index f6074d85..802043ac 100644 --- a/src/00_Core/Map/MapManager.cpp +++ b/src/00_Core/Map/MapManager.cpp @@ -34,7 +34,7 @@ unk8 MapManager::func_ov00_020826a0(unk32 param_2, unk32 param_3, unk32 param_4) unk8 MapManager::CreateMap(unk32 mapType, unk32 param_3, unk32 param_4) {} unk8 MapManager::DestroyMap() {} unk8 MapManager::MapData_vfunc_44() {} -static unk8 MapManager::func_ov00_02082808() {} +unk8 MapManager::func_ov00_02082808() {} unk8 MapManager::MapData_vfunc_7c() {} unk8 MapManager::MapData_vfunc_84() {} bool MapManager::func_ov00_020828f8(s32 *param_2) {} @@ -49,21 +49,21 @@ unk8 MapManager::GetCourseData_Unk_1c() {} unk8 MapManager::GetCourseData_Unk_1d() {} unk8 MapManager::func_ov00_02082d40() {} u32 MapManager::func_ov00_02082d74(unk32 param_2) {} -static unk8 MapManager::func_ov00_02082d84() {} +unk8 MapManager::func_ov00_02082d84() {} bool MapManager::func_ov00_02082e1c(s32 *param_2, s32 *param_3) {} -static unk8 MapManager::func_ov00_0208306c() {} +unk8 MapManager::func_ov00_0208306c() {} void MapManager::func_ov00_0208315c(s32 *param_2, s32 *param_3) {} void MapManager::func_ov00_02083244(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5) {} void MapManager::func_ov00_02083298(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5) {} unk8 MapManager::GetCourseData_Unk_25c() {} bool MapManager::func_ov00_02083318(unk32 param_2) {} -static unk8 MapManager::func_ov00_02083328() {} +unk8 MapManager::func_ov00_02083328() {} unk8 MapManager::GetCourseData_Unk_86() {} unk8 MapManager::GetCourseData_Unk_87() {} unk8 MapManager::Get_MapData_Unk28() {} unk8 MapManager::Get_MapData_Unk2a() {} -static unk8 MapManager::func_ov00_02083374() {} -static unk8 MapManager::func_ov00_02083384() {} +unk8 MapManager::func_ov00_02083374() {} +unk8 MapManager::func_ov00_02083384() {} unk8 MapManager::GetCourseMinX() {} unk8 MapManager::GetCourseMinZ() {} unk8 MapManager::GetCourseMaxX() {} @@ -80,7 +80,7 @@ unk8 MapManager::GetMapData_Unk_d0(Vec3p *param_2) {} unk8 MapManager::func_ov00_0208346c(AABB *param_2) {} unk8 MapManager::func_ov00_020834bc(Vec3p *param_2, unk32 param_3, unk32 param_4) {} unk8 MapManager::func_ov00_02083524(Vec3p *param_2, unk32 param_3, unk32 param_4) {} -static void MapManager::func_ov00_02083560(unk32 param_1, MapManager *param_2, u32 param_3) {} +void MapManager::func_ov00_02083560(unk32 param_1, MapManager *param_2, u32 param_3) {} unk8 MapManager::func_ov00_02083570(unk32 param_2, unk32 param_3) {} unk32 MapManager::func_ov00_02083588() {} unk32 MapManager::func_ov00_020835a4() {} @@ -113,61 +113,61 @@ void MapManager::func_ov00_02083968(u32 param_2, unk8 *param_3) {} bool MapManager::func_ov00_02083978(unk32 param_2, Vec3p *param_3) {} bool MapManager::func_ov00_020839b4(s32 param_2) {} bool MapManager::func_ov00_020839c4(s32 param_2) {} -static unk8 MapManager::func_ov00_020839d4() {} -static unk8 MapManager::func_ov00_020839f8() {} -static void MapManager::func_ov00_02083a1c(unk32 param_1, MapManager *param_2, Vec3p *param_3) {} -static unk8 MapManager::func_ov00_02083a54(unk32 param_1, MapManager *param_2, unk32 param_3, unk32 param_4, unk32 param_5) {} -static unk8 MapManager::func_ov00_02083b84() {} -static unk8 MapManager::func_ov00_02083bac() {} -static unk8 MapManager::func_ov00_02083bd4() {} -static unk8 MapManager::func_ov00_02083bfc() {} +unk8 MapManager::func_ov00_020839d4() {} +unk8 MapManager::func_ov00_020839f8() {} +void MapManager::func_ov00_02083a1c(unk32 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() {} +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) {} -static unk8 MapManager::func_ov00_02083ce8(unk8 param_1, unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5) {} +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() {} -static unk8 MapManager::func_ov00_02083e70() {} +unk8 MapManager::func_ov00_02083e70() {} unk8 MapManager::MapData_vfunc_68() {} void MapManager::func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3) {} void MapManager::func_ov00_02083f44(Vec3p *param_2) {} unk8 MapManager::MapData_vfunc_6c() {} unk8 MapManager::MapData_vfunc_70() {} -static unk8 MapManager::func_ov00_02083fb0(unk32 param_1, MapManager *param_2, unk32 param_3) {} +unk8 MapManager::func_ov00_02083fb0(unk32 param_1, MapManager *param_2, unk32 param_3) {} void MapManager::func_ov00_02084024(unk32 param_2, AABB *param_3) {} unk8 MapManager::MapData_vfunc_54() {} unk8 MapManager::func_ov00_020840a0(unk8 param_2, unk8 param_3, unk32 param_4) {} unk8 MapManager::MapData_vfunc_78() {} -static unk8 MapManager::func_ov00_020840dc() {} -static unk8 MapManager::func_ov00_02084100(unk32 param_1, MapManager *param_2) {} +unk8 MapManager::func_ov00_020840dc() {} +unk8 MapManager::func_ov00_02084100(unk32 param_1, MapManager *param_2) {} unk8 MapManager::GetMapData_Unk_48() {} unk8 MapManager::GetMapData_Unk_4c() {} unk32 MapManager::func_ov00_0208412c() {} void MapManager::func_ov00_0208413c(unk32 param_2) {} unk8 MapManager::MapData_vfunc_58() {} -static unk8 MapManager::func_ov00_02084164() {} +unk8 MapManager::func_ov00_02084164() {} unk8 MapManager::GetMapData_Unk_0a() {} unk8 MapManager::GetMapData_Unk_0b() {} unk8 MapManager::MapData_vfunc_a4() {} unk8 MapManager::func_ov00_0208433c(Vec3p *param_2, unk32 param_3) {} -static unk8 MapManager::func_ov00_0208439c() {} +unk8 MapManager::func_ov00_0208439c() {} void MapManager::func_ov00_020843ec(s32 *param_2) {} unk8 MapManager::GetMapData_Unk_38() {} unk8 MapManager::func_ov00_020846a4() {} -static unk8 MapManager::func_ov00_02084700() {} +unk8 MapManager::func_ov00_02084700() {} unk8 MapManager::func_ov00_02084740() {} unk8 MapManager::func_ov00_020847e0() {} unk8 MapManager::func_ov00_020847f0() {} bool MapManager::func_ov00_02084838() {} bool MapManager::func_ov00_020848b8() {} void MapManager::func_ov00_02084924(u32 param_2) {} -static unk8 MapManager::func_ov00_02084934() {} +unk8 MapManager::func_ov00_02084934() {} unk8 MapManager::GetMapData_Unk_06() {} unk8 MapManager::GetMapData_Unk_07() {} unk8 MapManager::func_ov00_0208499c() {} unk8 MapManager::func_ov00_020849c0() {} unk8 MapManager::func_ov00_020849dc() {} -static bool MapManager::func_ov00_020849f8(unk32 param_1) {} +bool MapManager::func_ov00_020849f8(unk32 param_1) {} unk8 MapManager::func_ov00_02084a50() {} void MapManager::SpawnNPC(Vec3p *param_2, unk32 param_3, unk32 param_4) {} bool MapManager::func_ov00_02084ac4(u32 actorId) {} @@ -190,11 +190,11 @@ 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) {} -static unk8 MapManager::func_ov00_0208527c() {} -static unk8 MapManager::func_ov00_020853fc() {} -static unk8 MapManager::func_ov00_02085594() {} -static void MapManager::func_ov00_0208583c(unk32 param_1, Vec3p *param_2, unk32 param_3) {} -static unk8 MapManager::func_ov00_020858b0() {} +unk8 MapManager::func_ov00_0208527c() {} +unk8 MapManager::func_ov00_020853fc() {} +unk8 MapManager::func_ov00_02085594() {} +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) {} unk8 MapManager::func_ov00_02085c60(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5) {} unk8 MapManager::func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4) {} From 87a650dc300edf5aa4cb568f1773d43106b255c7 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 21 Apr 2024 13:06:44 +0200 Subject: [PATCH 15/76] Delink `MapManager` --- asm/ov00/Map/MapManager.inc | 178 + asm/ov00/Map/MapManager.s | 6637 +++++++ asm/ov00/ov00_0207af9c.inc | 291 +- asm/ov00/ov00_0207af9c.s | 35268 ---------------------------------- asm/ov00/ov00_02086cd0.inc | 271 + asm/ov00/ov00_02086cd0.s | 28653 +++++++++++++++++++++++++++ tools/lcf.py | 5 + 7 files changed, 35808 insertions(+), 35495 deletions(-) create mode 100644 asm/ov00/Map/MapManager.inc create mode 100644 asm/ov00/Map/MapManager.s create mode 100644 asm/ov00/ov00_02086cd0.inc create mode 100644 asm/ov00/ov00_02086cd0.s diff --git a/asm/ov00/Map/MapManager.inc b/asm/ov00/Map/MapManager.inc new file mode 100644 index 00000000..d26a3ac5 --- /dev/null +++ b/asm/ov00/Map/MapManager.inc @@ -0,0 +1,178 @@ +#pragma once +.extern Divide +.extern _ZN12ActorManager13FindActorByIdEj +.extern _ZN12ActorManager18func_ov00_020c3ce8Eii +.extern _ZN14AdventureFlags18func_ov00_020976c8Ev +.extern _ZN9SysObjectnwEmPjj +.extern __register_global_object +.extern data_027e077c +.extern data_027e0c68 +.extern data_027e0ce0 +.extern data_027e0d38 +.extern data_027e0d3c +.extern data_027e0e60 +.extern data_027e0f64 +.extern data_027e0f68 +.extern data_027e0f6c +.extern data_027e0f70 +.extern data_027e0f78 +.extern data_027e0f7c +.extern data_027e0f90 +.extern data_027e0f94 +.extern data_027e0fe4 +.extern data_027e0fe8 +.extern data_027e103c +.extern data_ov00_020e24a4 +.extern data_ov00_020eec68 +.extern data_ov15_02190458 +.extern func_01ff9bc4 +.extern func_01ff9bf8 +.extern func_01ff9cec +.extern func_01ff9d4c +.extern func_01ff9e64 +.extern func_01ff9ec0 +.extern func_01ffbe78 +.extern func_01ffe61c +.extern func_01fffb4c +.extern func_01fffbec +.extern func_0200c8d0 +.extern func_0202b2e8 +.extern func_0202b8e4 +.extern func_ov00_02078b40 +.extern func_ov00_02078bc4 +.extern func_ov00_02078bf0 +.extern func_ov00_02078fe8 +.extern func_ov00_0207920c +.extern func_ov00_020792a0 +.extern func_ov00_02079898 +.extern func_ov00_020798bc +.extern func_ov00_0207ca00 +.extern func_ov00_0207ca28 +.extern func_ov00_0207caa8 +.extern func_ov00_0207cb30 +.extern func_ov00_0207cb7c +.extern func_ov00_0207cbd8 +.extern func_ov00_0207cbe8 +.extern func_ov00_0207cc24 +.extern func_ov00_0207cc6c +.extern func_ov00_0207ce20 +.extern func_ov00_0207d404 +.extern func_ov00_0207d47c +.extern func_ov00_0207d4e4 +.extern func_ov00_0207d518 +.extern func_ov00_0207d5c4 +.extern func_ov00_0207d5f0 +.extern func_ov00_0207d61c +.extern func_ov00_0207d628 +.extern func_ov00_0207d778 +.extern func_ov00_0207d788 +.extern func_ov00_0207d7bc +.extern func_ov00_0207d7dc +.extern func_ov00_0207d828 +.extern func_ov00_0207d848 +.extern func_ov00_0207d894 +.extern func_ov00_0207d8b4 +.extern func_ov00_0207d8d4 +.extern func_ov00_0207d8ec +.extern func_ov00_0207d90c +.extern func_ov00_0207d924 +.extern func_ov00_0207d944 +.extern func_ov00_0207d95c +.extern func_ov00_0207d97c +.extern func_ov00_0207d994 +.extern func_ov00_0207d9b4 +.extern func_ov00_0207de68 +.extern func_ov00_0207de88 +.extern func_ov00_0207e08c +.extern func_ov00_0207e0f0 +.extern func_ov00_0207e28c +.extern func_ov00_0207e968 +.extern func_ov00_0207f38c +.extern func_ov00_0207f53c +.extern func_ov00_0207f630 +.extern func_ov00_0207f694 +.extern func_ov00_0207f6a0 +.extern func_ov00_0207f6ac +.extern func_ov00_0207f6bc +.extern func_ov00_0207f6cc +.extern func_ov00_0207f778 +.extern func_ov00_0207f7a0 +.extern func_ov00_0207f7e8 +.extern func_ov00_0207f844 +.extern func_ov00_0207f8c0 +.extern func_ov00_0207f924 +.extern func_ov00_0207f934 +.extern func_ov00_0207f948 +.extern func_ov00_0207faac +.extern func_ov00_0207fb64 +.extern func_ov00_0207fc2c +.extern func_ov00_0207fc98 +.extern func_ov00_0207fd58 +.extern func_ov00_0207fdd0 +.extern func_ov00_0207fe80 +.extern func_ov00_0207ff88 +.extern func_ov00_0208005c +.extern func_ov00_0208006c +.extern func_ov00_0208007c +.extern func_ov00_0208008c +.extern func_ov00_02080140 +.extern func_ov00_0208039c +.extern func_ov00_02080510 +.extern func_ov00_020805d0 +.extern func_ov00_02080688 +.extern func_ov00_02080780 +.extern func_ov00_02080824 +.extern func_ov00_020808d0 +.extern func_ov00_020809b8 +.extern func_ov00_02080a78 +.extern func_ov00_02080b24 +.extern func_ov00_02080d08 +.extern func_ov00_02080d80 +.extern func_ov00_02088000 +.extern func_ov00_02088130 +.extern func_ov00_02088144 +.extern func_ov00_0208b13c +.extern func_ov00_0208b180 +.extern func_ov00_0208b73c +.extern func_ov00_0208b7d0 +.extern func_ov00_0208b804 +.extern func_ov00_0208cc88 +.extern func_ov00_0208d620 +.extern func_ov00_0208d680 +.extern func_ov00_0208df78 +.extern func_ov00_0208e6b0 +.extern func_ov00_0208e6f0 +.extern func_ov00_0208e704 +.extern func_ov00_0208e87c +.extern func_ov00_0208ed74 +.extern func_ov00_0208ee00 +.extern func_ov00_02093a1c +.extern func_ov00_02096324 +.extern func_ov00_02096418 +.extern func_ov00_0209d6e8 +.extern func_ov00_0209d71c +.extern func_ov00_020a5e9c +.extern func_ov00_020c1500 +.extern func_ov00_020c3348 +.extern func_ov00_020c4048 +.extern func_ov00_020cfcec +.extern func_ov00_020d70a4 +.extern func_ov00_020d72b8 +.extern func_ov00_020d7424 +.extern func_ov04_021024c4 +.extern func_ov04_02102770 +.extern func_ov04_02102b28 +.extern func_ov04_02102e3c +.extern func_ov04_02105578 +.extern func_ov04_02105608 +.extern func_ov04_02106db8 +.extern func_ov12_0212b358 +.extern func_ov15_02128dd8 +.extern func_ov15_02129c14 +.extern func_ov15_02129c24 +.extern func_ov15_02129c34 +.extern func_ov15_02129c44 +.extern func_ov15_021849a4 +.extern func_ov17_0215b4e8 +.extern func_ov18_0215b4a0 +.extern gAdventureFlags diff --git a/asm/ov00/Map/MapManager.s b/asm/ov00/Map/MapManager.s new file mode 100644 index 00000000..9a2bd053 --- /dev/null +++ b/asm/ov00/Map/MapManager.s @@ -0,0 +1,6637 @@ + .include "ov00/Map/MapManager.inc" + .include "macros/function.inc" + + .text + + .global _ZN10MapManager18func_ov00_020820ecEPi + arm_func_start _ZN10MapManager18func_ov00_020820ecEPi +_ZN10MapManager18func_ov00_020820ecEPi: ; 0x020820ec + ldr ip, _020820f8 ; =func_ov00_0207ca00 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020820ecEPi +_020820f8: .word func_ov00_0207ca00 + + .global _ZN10MapManager18func_ov00_020820fcEiii + arm_func_start _ZN10MapManager18func_ov00_020820fcEiii +_ZN10MapManager18func_ov00_020820fcEiii: ; 0x020820fc + ldr ip, _02082108 ; =func_ov00_0207ca28 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020820fcEiii +_02082108: .word func_ov00_0207ca28 + + .global _ZN10MapManager18func_ov00_0208210cEii + arm_func_start _ZN10MapManager18func_ov00_0208210cEii +_ZN10MapManager18func_ov00_0208210cEii: ; 0x0208210c + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x30 + mov lr, #0 + sub ip, lr, #2 + mov r6, #0x47 + mov r3, #0xff + mov r5, r0 + mov r4, r2 + str r6, [sp, #0x18] + str lr, [sp, #0x1c] + str lr, [sp, #0x20] + str ip, [sp, #0x24] + strh lr, [sp, #0x28] + strb r3, [sp, #0x2a] + strb lr, [sp, #0x2b] + strb lr, [sp, #0x2c] + strb lr, [sp, #0x2d] + cmp r1, #0 + beq _02082170 + mov r0, #0xb + str r0, [r4] + mov r0, #2 + strb r0, [r4, #4] + mov r0, #4 + b _02082190 +_02082170: + add r1, sp, #0x18 + bl _ZN10MapManager18func_ov00_02082348Ei + add r0, sp, #0x18 + bl func_ov00_020a5e9c + str r0, [r4] + ldrb r0, [sp, #0x2a] + strb r0, [r4, #4] + ldrb r0, [sp, #0x2b] +_02082190: + strb r0, [r4, #5] + ldr r0, _02082300 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x28] + add r0, r0, #0x1c + bl func_ov00_020a5e9c + ldr r1, _02082300 ; =data_027e0d38 + str r0, [r4, #8] + ldr r0, [r1] + ldr r0, [r0, #0x28] + ldrb r0, [r0, #0x2e] + strb r0, [r4, #0x10] + ldr r0, [r1] + ldr r0, [r0, #0x28] + ldrsh r0, [r0, #0x36] + strh r0, [r4, #0x14] + ldr r0, [r1] + ldr r2, [r0, #0x28] + ldr r0, [r2, #0x38] + str r0, [r4, #0x18] + ldr r0, [r2, #0x3c] + str r0, [r4, #0x1c] + ldr r0, [r2, #0x40] + str r0, [r4, #0x20] + ldr r0, [r1] + ldr r0, [r0, #0x28] + add r0, r0, #0x44 + bl func_ov00_020a5e9c + str r0, [r4, #0xc] + ldr r1, _02082300 ; =data_027e0d38 + add r0, sp, #0 + ldr r2, [r1] + ldr r2, [r2, #0x28] + ldrb r2, [r2, #0x56] + strb r2, [r4, #0x11] + ldr r2, [r1] + ldr r3, [r2, #0x28] + ldr r2, [r3, #0x5c] + str r2, [r4, #0x24] + ldr r2, [r3, #0x60] + str r2, [r4, #0x28] + ldr r2, [r3, #0x64] + str r2, [r4, #0x2c] + ldr r2, [r1] + ldr r2, [r2, #0x28] + ldrsh r2, [r2, #0x68] + strh r2, [r4, #0x16] + ldr r1, [r1] + ldr r2, [r1, #0x28] + ldr r1, [r2, #0x70] + str r1, [sp] + ldr r1, [r2, #0x74] + str r1, [sp, #4] + ldr r1, [r2, #0x78] + str r1, [sp, #8] + ldr r1, [r2, #0x7c] + str r1, [sp, #0xc] + ldrsh r1, [r2, #0x80] + strh r1, [sp, #0x10] + ldrb r1, [r2, #0x82] + strb r1, [sp, #0x12] + ldrb r1, [r2, #0x83] + strb r1, [sp, #0x13] + ldrb r1, [r2, #0x84] + strb r1, [sp, #0x14] + ldrb r1, [r2, #0x85] + strb r1, [sp, #0x15] + bl func_ov00_020a5e9c + str r0, [r4, #0x1c0] + ldrb r2, [sp, #0x12] + ldr r0, _02082304 ; =data_027e0f70 + mov r1, r4 + strb r2, [r4, #0x1be] + ldrb r2, [sp, #0x13] + strb r2, [r4, #0x1bf] + ldr r0, [r0] + bl func_ov00_02096324 + ldr r0, _02082308 ; =data_027e0f7c + mov r1, r4 + ldr r0, [r0] + bl func_ov00_0209d6e8 + ldr r0, [r5] + ldr r0, [r0, #4] + cmp r0, #3 + addeq sp, sp, #0x30 + ldmeqia sp!, {r4, r5, r6, pc} + ldrb r0, [r5, #8] + strb r0, [r4, #7] + ldrb r0, [r5, #9] + strb r0, [r4, #0x1bc] + add sp, sp, #0x30 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_0208210cEii +_02082300: .word data_027e0d38 +_02082304: .word data_027e0f70 +_02082308: .word data_027e0f7c + + .global _ZN10MapManager18func_ov00_0208230cEi + arm_func_start _ZN10MapManager18func_ov00_0208230cEi +_ZN10MapManager18func_ov00_0208230cEi: ; 0x0208230c + stmdb sp!, {r3, lr} + ldr r3, [r0] + mov r2, #0xa + ldr r3, [r3] + str r3, [r1] + ldr lr, [r0] + ldrb ip, [lr, #0x1c] + ldrb r3, [lr, #0x1d] + mla r2, ip, r2, lr + add r2, r2, r3 + ldrb r2, [r2, #0x20] + strb r2, [r1, #0x12] + ldrb r0, [r0, #0xc] + strb r0, [r1, #0x13] + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_0208230cEi + + .global _ZN10MapManager18func_ov00_02082348Ei + arm_func_start _ZN10MapManager18func_ov00_02082348Ei +_ZN10MapManager18func_ov00_02082348Ei: ; 0x02082348 + stmdb sp!, {r4, lr} + sub sp, sp, #0x18 + mov ip, #0 + mov r4, r1 + sub r3, ip, #2 + mov lr, #0x47 + mov r2, #0xff + add r1, sp, #0 + str lr, [sp] + str ip, [sp, #4] + str ip, [sp, #8] + str r3, [sp, #0xc] + strh ip, [sp, #0x10] + strb r2, [sp, #0x12] + strb ip, [sp, #0x13] + strb ip, [sp, #0x14] + strb ip, [sp, #0x15] + bl _ZN10MapManager18func_ov00_0208230cEi + add r0, sp, #0 + mov r1, r4 + blx func_ov00_02078bf0 + add sp, sp, #0x18 + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02082348Ei + + .global _ZN10MapManager18func_ov00_020823a4Ei + arm_func_start _ZN10MapManager18func_ov00_020823a4Ei +_ZN10MapManager18func_ov00_020823a4Ei: ; 0x020823a4 + ldr ip, _020823b0 ; =func_ov00_0207de68 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020823a4Ei +_020823b0: .word func_ov00_0207de68 + + .global _ZN10MapManager18func_ov00_020823b4Ev + arm_func_start _ZN10MapManager18func_ov00_020823b4Ev +_ZN10MapManager18func_ov00_020823b4Ev: ; 0x020823b4 + ldr ip, _020823c0 ; =func_ov00_0207de88 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020823b4Ev +_020823c0: .word func_ov00_0207de88 + + .global _ZN10MapManager18func_ov00_020823c4EPii + arm_func_start _ZN10MapManager18func_ov00_020823c4EPii +_ZN10MapManager18func_ov00_020823c4EPii: ; 0x020823c4 + ldr ip, _020823d0 ; =func_ov00_0207e08c + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020823c4EPii +_020823d0: .word func_ov00_0207e08c + + .global _ZN10MapManager18func_ov00_020823d4Ei + arm_func_start _ZN10MapManager18func_ov00_020823d4Ei +_ZN10MapManager18func_ov00_020823d4Ei: ; 0x020823d4 + ldr ip, _020823e0 ; =func_ov00_0207e0f0 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020823d4Ei +_020823e0: .word func_ov00_0207e0f0 + + .global _ZN10MapManager18func_ov00_020823e4Ei + arm_func_start _ZN10MapManager18func_ov00_020823e4Ei +_ZN10MapManager18func_ov00_020823e4Ei: ; 0x020823e4 + ldr ip, _020823f0 ; =func_ov00_0207e28c + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020823e4Ei +_020823f0: .word func_ov00_0207e28c + + .global _ZN10MapManager16MapData_vfunc_b4Ev + arm_func_start _ZN10MapManager16MapData_vfunc_b4Ev +_ZN10MapManager16MapData_vfunc_b4Ev: ; 0x020823f4 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r1, [r0] + ldr r1, [r1, #0xb4] + blx r1 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_b4Ev + + .global _ZN10MapManager16MapData_vfunc_9cEv + arm_func_start _ZN10MapManager16MapData_vfunc_9cEv +_ZN10MapManager16MapData_vfunc_9cEv: ; 0x0208240c + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r1, [r0] + ldr r1, [r1, #0x9c] + blx r1 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_9cEv + + .global _ZN10MapManager18func_ov00_02082424Ev + arm_func_start _ZN10MapManager18func_ov00_02082424Ev +_ZN10MapManager18func_ov00_02082424Ev: ; 0x02082424 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r0, [r4, #4] + ldr r1, [r0] + ldr r1, [r1, #0x4c] + blx r1 + cmp r0, #2 + movne r0, #0 + ldmneia sp!, {r4, pc} + ldr r0, [r4, #4] + bl func_ov15_02129c14 + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02082424Ev + + .global _ZN10MapManager18func_ov00_02082454Eii + arm_func_start _ZN10MapManager18func_ov00_02082454Eii +_ZN10MapManager18func_ov00_02082454Eii: ; 0x02082454 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + ldr r0, [r6, #4] + mov r5, r1 + ldr r1, [r0] + mov r4, r2 + ldr r1, [r1, #0x4c] + blx r1 + cmp r0, #2 + movne r0, #0 + ldmneia sp!, {r4, r5, r6, pc} + ldr r0, [r6, #4] + mov r1, r5 + mov r2, r4 + bl func_ov15_02129c24 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02082454Eii + + .global _ZN10MapManager18func_ov00_02082494Ei + arm_func_start _ZN10MapManager18func_ov00_02082494Ei +_ZN10MapManager18func_ov00_02082494Ei: ; 0x02082494 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r0, [r5, #4] + mov r4, r1 + ldr r1, [r0] + ldr r1, [r1, #0x4c] + blx r1 + cmp r0, #2 + movne r0, #0 + ldmneia sp!, {r3, r4, r5, pc} + ldr r0, [r5, #4] + mov r1, r4 + bl func_ov15_02129c34 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_02082494Ei + + .global _ZN10MapManager18func_ov00_020824ccEi + arm_func_start _ZN10MapManager18func_ov00_020824ccEi +_ZN10MapManager18func_ov00_020824ccEi: ; 0x020824cc + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r0, [r5, #4] + mov r4, r1 + ldr r1, [r0] + ldr r1, [r1, #0x4c] + blx r1 + cmp r0, #2 + movne r0, #0 + ldmneia sp!, {r3, r4, r5, pc} + ldr r0, [r5, #4] + mov r1, r4 + bl func_ov15_02129c44 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_020824ccEi + + .global _ZN10MapManager18func_ov00_02082504Ev + arm_func_start _ZN10MapManager18func_ov00_02082504Ev +_ZN10MapManager18func_ov00_02082504Ev: ; 0x02082504 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r0, [r4, #4] + ldr r1, [r0] + ldr r1, [r1, #0x4c] + blx r1 + cmp r0, #2 + movne r0, #0 + ldmneia sp!, {r4, pc} + ldr r0, [r4, #4] + add r0, r0, #0x100 + ldrsh r0, [r0, #0xac] + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02082504Ev + + .global _ZN10MapManager18func_ov00_02082538Ev + arm_func_start _ZN10MapManager18func_ov00_02082538Ev +_ZN10MapManager18func_ov00_02082538Ev: ; 0x02082538 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0xc + mov r4, r0 + ldr r0, [r4, #4] + ldr r1, [r0] + ldr r1, [r1, #0x4c] + blx r1 + cmp r0, #2 + ldreq r0, [r4, #4] + addeq sp, sp, #0xc + addeq r0, r0, #0x1a0 + ldmeqia sp!, {r3, r4, pc} + ldr r1, _02082590 ; =data_027e0f94 + add r0, sp, #0 + ldr r3, [r1] + ldr r2, [r1, #4] + str r3, [sp] + str r2, [sp, #4] + ldr r1, [r1, #8] + str r1, [sp, #8] + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082538Ev +_02082590: .word data_027e0f94 + + .global _ZN10MapManager18func_ov00_02082594Ev + arm_func_start _ZN10MapManager18func_ov00_02082594Ev +_ZN10MapManager18func_ov00_02082594Ev: ; 0x02082594 + ldr r0, _020825a4 ; =data_027e0f68 + ldr ip, _020825a8 ; =func_ov00_0208d620 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082594Ev +_020825a4: .word data_027e0f68 +_020825a8: .word func_ov00_0208d620 + + .global _ZN10MapManager18func_ov00_020825acEv + arm_func_start _ZN10MapManager18func_ov00_020825acEv +_ZN10MapManager18func_ov00_020825acEv: ; 0x020825ac + ldr r0, _020825bc ; =data_027e0f68 + ldr ip, _020825c0 ; =func_ov00_0208d680 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020825acEv +_020825bc: .word data_027e0f68 +_020825c0: .word func_ov00_0208d680 + + .global _ZN10MapManager17GetCourseFilePathEPcS0_ + arm_func_start _ZN10MapManager17GetCourseFilePathEPcS0_ +_ZN10MapManager17GetCourseFilePathEPcS0_: ; 0x020825c4 + ldr ip, _020825dc ; =func_0200c8d0 + mov r3, r1 + mov r0, r2 + ldr r1, _020825e0 ; =data_ov00_020e2528 + mov r2, r3 + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager17GetCourseFilePathEPcS0_ +_020825dc: .word func_0200c8d0 +_020825e0: .word data_ov00_020e2528 + + .global _ZN10MapManager18func_ov00_020825e4Eii + arm_func_start _ZN10MapManager18func_ov00_020825e4Eii +_ZN10MapManager18func_ov00_020825e4Eii: ; 0x020825e4 + stmdb sp!, {r3, r4, r5, lr} + ldr r3, _02082610 ; =data_027e0f7c + mov r5, r0 + ldr r0, [r3] + mov r4, r2 + bl func_ov00_0209d71c + mov r1, r0 + mov r0, r5 + mov r2, r4 + bl _ZN10MapManager17GetCourseFilePathEPcS0_ + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020825e4Eii +_02082610: .word data_027e0f7c + + .global _ZN10MapManager18func_ov00_02082614Eii + arm_func_start _ZN10MapManager18func_ov00_02082614Eii +_ZN10MapManager18func_ov00_02082614Eii: ; 0x02082614 + stmdb sp!, {r3, lr} + mov r3, #4 + str r3, [sp] + ldr r0, [r0] + mov r3, r1 + mov r1, r2 + mov r2, #0 + bl func_ov00_0207ce20 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02082614Eii + + .global _ZN10MapManager16MapData_vfunc_b0Ev + arm_func_start _ZN10MapManager16MapData_vfunc_b0Ev +_ZN10MapManager16MapData_vfunc_b0Ev: ; 0x02082638 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r3, [r0] + ldr r3, [r3, #0xb0] + blx r3 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_b0Ev + + .global _ZN10MapManager18func_ov00_02082650Eiii + arm_func_start _ZN10MapManager18func_ov00_02082650Eiii +_ZN10MapManager18func_ov00_02082650Eiii: ; 0x02082650 + ldr ip, _0208265c ; =func_ov00_0208005c + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082650Eiii +_0208265c: .word func_ov00_0208005c + + .global _ZN10MapManager18func_ov00_02082660Eii + arm_func_start _ZN10MapManager18func_ov00_02082660Eii +_ZN10MapManager18func_ov00_02082660Eii: ; 0x02082660 + ldr ip, _0208266c ; =func_ov00_0208007c + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082660Eii +_0208266c: .word func_ov00_0208007c + + .global _ZN10MapManager18func_ov00_02082670Eii + arm_func_start _ZN10MapManager18func_ov00_02082670Eii +_ZN10MapManager18func_ov00_02082670Eii: ; 0x02082670 + ldr ip, _0208267c ; =func_ov00_0208006c + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082670Eii +_0208267c: .word func_ov00_0208006c + + .global _ZN10MapManager18func_ov00_02082680Eii + arm_func_start _ZN10MapManager18func_ov00_02082680Eii +_ZN10MapManager18func_ov00_02082680Eii: ; 0x02082680 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + mov r3, r2 + ldr ip, [r0] + mov r2, #5 + ldr ip, [ip, #0x98] + blx ip + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02082680Eii + + .global _ZN10MapManager18func_ov00_020826a0Eiii + arm_func_start _ZN10MapManager18func_ov00_020826a0Eiii +_ZN10MapManager18func_ov00_020826a0Eiii: ; 0x020826a0 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + mov r3, r2 + ldr ip, [r0] + mov r2, #7 + ldr ip, [ip, #0x98] + blx ip + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_020826a0Eiii + + .global _ZN10MapManager9CreateMapEiii + arm_func_start _ZN10MapManager9CreateMapEiii +_ZN10MapManager9CreateMapEiii: ; 0x020826c0 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + ldr r0, [r6, #4] + mov r5, r2 + mov r4, r3 + cmp r0, #0 + ldmneia sp!, {r4, r5, r6, pc} + cmp r1, #4 + addls pc, pc, r1, lsl #2 + b _0208278c +_020826e8: ; jump table + b _0208275c ; case 0 + b _0208278c ; case 1 + b _0208272c ; case 2 + b _0208278c ; case 3 + b _020826fc ; case 4 +_020826fc: + ldr r1, _020827bc ; =data_027e0ce0 + mov r0, #0x790 + ldr r1, [r1, #4] + mov r2, #4 + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _02082724 + mov r1, r5 + mov r2, r4 + bl func_ov12_0212b358 +_02082724: + str r0, [r6, #4] + ldmia sp!, {r4, r5, r6, pc} +_0208272c: + ldr r1, _020827bc ; =data_027e0ce0 + mov r0, #0x1b0 + ldr r1, [r1, #4] + mov r2, #4 + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _02082754 + mov r1, r5 + mov r2, r4 + bl func_ov15_02128dd8 +_02082754: + str r0, [r6, #4] + ldmia sp!, {r4, r5, r6, pc} +_0208275c: + ldr r1, _020827bc ; =data_027e0ce0 + mov r0, #0x1dc + ldr r1, [r1, #4] + mov r2, #4 + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _02082784 + mov r1, r5 + mov r2, r4 + bl func_ov18_0215b4a0 +_02082784: + str r0, [r6, #4] + ldmia sp!, {r4, r5, r6, pc} +_0208278c: + ldr r1, _020827bc ; =data_027e0ce0 + mov r0, #0x790 + ldr r1, [r1, #4] + mov r2, #4 + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _020827b4 + mov r1, r5 + mov r2, r4 + blx func_ov17_0215b4e8 +_020827b4: + str r0, [r6, #4] + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN10MapManager9CreateMapEiii +_020827bc: .word data_027e0ce0 + + .global _ZN10MapManager10DestroyMapEv + arm_func_start _ZN10MapManager10DestroyMapEv +_ZN10MapManager10DestroyMapEv: ; 0x020827c0 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r0, [r4, #4] + cmp r0, #0 + ldmeqia sp!, {r4, pc} + beq _020827e4 + ldr r1, [r0] + ldr r1, [r1, #4] + blx r1 +_020827e4: + mov r0, #0 + str r0, [r4, #4] + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager10DestroyMapEv + + .global _ZN10MapManager16MapData_vfunc_44Ev + arm_func_start _ZN10MapManager16MapData_vfunc_44Ev +_ZN10MapManager16MapData_vfunc_44Ev: ; 0x020827f0 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r1, [r0] + ldr r1, [r1, #0x44] + blx r1 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_44Ev + + .global _ZN10MapManager18func_ov00_02082808Ev + arm_func_start _ZN10MapManager18func_ov00_02082808Ev +_ZN10MapManager18func_ov00_02082808Ev: ; 0x02082808 + stmdb sp!, {r3, r4, r5, lr} + ldr r2, _020828b4 ; =data_027e0d38 + mov r5, r1 + ldr r1, [r2] + ldr r1, [r1, #0x14] + cmp r1, #1 + ldmeqia sp!, {r3, r4, r5, pc} + bl _ZN10MapManager18func_ov00_02084740Ev + mov r4, r0 + cmp r5, #0 + beq _0208286c + ldr r0, _020828b4 ; =data_027e0d38 + ldr r0, [r0] + add r0, r0, #0xc + bl func_ov00_020a5e9c + cmp r0, #0 + bne _02082854 + ldr r0, _020828b8 ; =data_ov15_02190458 + bl func_ov15_021849a4 +_02082854: + ldr r0, _020828bc ; =data_ov00_020eec68 + mov r1, r4 + mov r2, #0 + mov r3, #0x7f + bl func_ov00_020d70a4 + b _02082890 +_0208286c: + ldr r0, _020828bc ; =data_ov00_020eec68 + bl func_ov00_020d7424 + cmp r4, r0 + ldmeqia sp!, {r3, r4, r5, pc} + ldr r0, _020828bc ; =data_ov00_020eec68 + mov r1, r4 + mov r2, #0 + mov r3, #0x7f + bl func_ov00_020d70a4 +_02082890: + ldr r0, _020828b4 ; =data_027e0d38 + ldr r0, [r0] + add r0, r0, #0xc + bl func_ov00_020a5e9c + cmp r0, #0 + ldmeqia sp!, {r3, r4, r5, pc} + ldr r0, _020828bc ; =data_ov00_020eec68 + bl func_ov00_020d72b8 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082808Ev +_020828b4: .word data_027e0d38 +_020828b8: .word data_ov15_02190458 +_020828bc: .word data_ov00_020eec68 + + .global _ZN10MapManager16MapData_vfunc_7cEv + arm_func_start _ZN10MapManager16MapData_vfunc_7cEv +_ZN10MapManager16MapData_vfunc_7cEv: ; 0x020828c0 + stmdb sp!, {r3, lr} + ldr ip, [sp, #8] + str ip, [sp] + ldr r0, [r0, #4] + ldr ip, [r0] + ldr ip, [ip, #0x7c] + blx ip + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_7cEv + + .global _ZN10MapManager16MapData_vfunc_84Ev + arm_func_start _ZN10MapManager16MapData_vfunc_84Ev +_ZN10MapManager16MapData_vfunc_84Ev: ; 0x020828e0 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r2, [r0] + ldr r2, [r2, #0x84] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_84Ev + + .global _ZN10MapManager18func_ov00_020828f8EPi + arm_func_start _ZN10MapManager18func_ov00_020828f8EPi +_ZN10MapManager18func_ov00_020828f8EPi: ; 0x020828f8 + ldr ip, _02082904 ; =func_ov00_0207f38c + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020828f8EPi +_02082904: .word func_ov00_0207f38c + + .global _ZN10MapManager20GetCourseData_Unk_b0Ev + arm_func_start _ZN10MapManager20GetCourseData_Unk_b0Ev +_ZN10MapManager20GetCourseData_Unk_b0Ev: ; 0x02082908 + ldr r0, [r0] + ldrb r0, [r0, #0xb0] + bx lr + arm_func_end _ZN10MapManager20GetCourseData_Unk_b0Ev + + .global _ZN10MapManager18func_ov00_02082914Ei + arm_func_start _ZN10MapManager18func_ov00_02082914Ei +_ZN10MapManager18func_ov00_02082914Ei: ; 0x02082914 + stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x34 + mov r8, r1 + sub r1, r8, #0xfa + mov r9, r0 + cmp r1, #4 + addls pc, pc, r1, lsl #2 + b _02082ac0 +_02082934: ; jump table + b _02082948 ; case 0 + b _02082990 ; case 1 + b _02082990 ; case 2 + b _02082990 ; case 3 + b _02082990 ; case 4 +_02082948: + ldr r0, _02082ac8 ; =data_027e0d38 + add r3, sp, #0x20 + ldr r0, [r0] + ldr r0, [r0, #0x28] + add r4, r0, #0x5c + ldmia r4, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldrsh r0, [r4, #0xc] + mov r1, r3 + strh r0, [sp, #0x2c] + ldrb r0, [r4, #0xe] + strb r0, [sp, #0x2e] + ldr r0, [r4, #0x10] + str r0, [sp, #0x30] + ldr r0, [r9, #4] + bl func_ov00_0207f844 + add sp, sp, #0x34 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_02082990: + ldr r0, _02082ac8 ; =data_027e0d38 + mov r1, #0xff + mov r4, #0 + ldr r0, [r0] + strb r1, [sp, #0x1a] + str r4, [sp, #0x1c] + ldr r1, [r0, #0x28] + ldr r0, [r9] + ldr r3, [r1, #0x38] + ldr r2, [r1, #0x3c] + ldr r1, [r1, #0x40] + ldr r0, [r0, #4] + mov r5, #0x2000 + mov r6, r5 + str r3, [sp] + str r2, [sp, #4] + str r1, [sp, #8] + cmp r0, #2 + mov r7, #0xfd + bne _02082a0c + ldr r0, [r9, #4] + ldr r1, [r0] + ldr r1, [r1, #0x88] + blx r1 + add r5, r0, #0xa000 + ldr r0, [r9, #4] + ldr r1, [r0] + ldr r1, [r1, #0x8c] + blx r1 + add r6, r0, #0xa000 + mov r7, #0xfe +_02082a0c: + sub r0, r8, #0xfb + cmp r0, #3 + addls pc, pc, r0, lsl #2 + b _02082a90 +_02082a1c: ; jump table + b _02082a2c ; case 0 + b _02082a48 ; case 1 + b _02082a60 ; case 2 + b _02082a7c ; case 3 +_02082a2c: + mov r0, r9 + bl _ZN10MapManager18func_ov00_020833e8Ev + sub r0, r0, r6 + mov r4, #0x8000 + str r0, [sp, #8] + rsb r4, r4, #0 + b _02082a90 +_02082a48: + mov r0, r9 + bl _ZN10MapManager18func_ov00_020833d0Ev + add r0, r6, r0 + str r0, [sp, #8] + mov r4, #0 + b _02082a90 +_02082a60: + mov r0, r9 + bl _ZN10MapManager18func_ov00_020833dcEv + sub r0, r0, r5 + mov r4, #0x4000 + str r0, [sp] + rsb r4, r4, #0 + b _02082a90 +_02082a7c: + mov r0, r9 + bl _ZN10MapManager18func_ov00_020833c4Ev + add r0, r5, r0 + str r0, [sp] + mov r4, #0x4000 +_02082a90: + ldr r2, [sp] + ldr r1, [sp, #4] + ldr r0, [sp, #8] + str r1, [sp, #0x10] + strb r8, [sp, #0x1a] + str r2, [sp, #0xc] + strh r4, [sp, #0x18] + str r7, [sp, #0x1c] + str r0, [sp, #0x14] + ldr r0, [r9, #4] + add r1, sp, #0xc + bl func_ov00_0207f844 +_02082ac0: + add sp, sp, #0x34 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082914Ei +_02082ac8: .word data_027e0d38 + + .global _ZN10MapManager18func_ov00_02082accEv + arm_func_start _ZN10MapManager18func_ov00_02082accEv +_ZN10MapManager18func_ov00_02082accEv: ; 0x02082acc + ldr ip, _02082ad8 ; =func_ov00_0207d7bc + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082accEv +_02082ad8: .word func_ov00_0207d7bc + + .global _ZN10MapManager18func_ov00_02082adcEv + arm_func_start _ZN10MapManager18func_ov00_02082adcEv +_ZN10MapManager18func_ov00_02082adcEv: ; 0x02082adc + ldr r0, _02082aec ; =data_027e0f70 + ldr ip, _02082af0 ; =func_ov00_02096418 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082adcEv +_02082aec: .word data_027e0f70 +_02082af0: .word func_ov00_02096418 + + .global _ZN10MapManager18func_ov00_02082af4Ev + arm_func_start _ZN10MapManager18func_ov00_02082af4Ev +_ZN10MapManager18func_ov00_02082af4Ev: ; 0x02082af4 + stmdb sp!, {r4, lr} + ldr r1, _02082b38 ; =data_027e0f68 + mov r4, r0 + ldr r0, [r1] + bl func_ov00_0208cc88 + ldr r0, [r4, #4] + ldr r1, [r0] + ldr r1, [r1, #0x48] + blx r1 + mov r0, r4 + mov r1, #0 + bl _ZN10MapManager18func_ov00_02082808Ev + mov r0, #1 + strb r0, [r4, #0xa] + mov r0, #0 + strb r0, [r4, #0xb] + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082af4Ev +_02082b38: .word data_027e0f68 + + .global _ZN10MapManager18func_ov00_02082b3cEi + arm_func_start _ZN10MapManager18func_ov00_02082b3cEi +_ZN10MapManager18func_ov00_02082b3cEi: ; 0x02082b3c + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r5, r1 + mov r6, r0 + ldrb r2, [r5, #0x12] + ldr r1, [r6] + add r0, sp, #0 + bl func_ov00_0207cb7c + mov r0, r6 + bl _ZN10MapManager20GetCourseData_Unk_1cEv + ldrb r1, [sp] + cmp r1, r0 + bne _02082bac + mov r0, r6 + bl _ZN10MapManager20GetCourseData_Unk_1dEv + ldrb r1, [sp, #1] + cmp r1, r0 + bne _02082bac + ldr r0, [r5, #8] + cmp r0, #1 + bne _02082ba0 + ldr r0, _02082ce0 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x14] + cmp r0, #1 + beq _02082bac +_02082ba0: + ldrb r0, [r5, #0x15] + cmp r0, #0 + beq _02082c90 +_02082bac: + ldr r0, _02082ce4 ; =gAdventureFlags + ldr r0, [r0] + bl _ZN14AdventureFlags18func_ov00_020976c8Ev + ldr r0, _02082ce8 ; =data_027e0f64 + ldr r0, [r0] + bl func_ov00_0208b13c + ldr r1, _02082cec ; =data_027e0fe4 + mov r0, r6 + ldr r4, [r1] + bl _ZN10MapManager18func_ov00_02082d08Ev + mov r3, r0 + ldrb r1, [sp] + ldrb r2, [sp, #1] + mov r0, r4 + blx func_ov04_02105608 + ldr r0, [r6, #4] + ldr r1, [r0] + ldr r1, [r1, #0x2c] + blx r1 + ldr r0, _02082cf0 ; =data_027e0f68 + ldr r0, [r0] + blx func_ov04_02102b28 + ldr r0, _02082cf4 ; =data_027e0f6c + ldr r0, [r0] + blx func_ov04_02102770 + ldr r0, _02082cf8 ; =data_027e0f78 + ldr r0, [r0] + blx func_ov04_02102e3c + ldrb r7, [r5, #0x12] + ldr r0, [r6] + mov r4, #0 + bl func_ov00_0207d778 + mov r1, r7 + mov r7, r0 + ldr r0, [r6] + bl func_ov00_0207d788 + cmp r7, r0 + ldrb r2, [sp] + ldr r1, [r6] + movne r4, #1 + strb r2, [r1, #0x1c] + mov r0, r6 + ldrb ip, [sp, #1] + ldr r6, [r6] + mov r1, r5 + mov r2, r4 + mov r3, #0 + strb ip, [r6, #0x1d] + blx func_ov04_021024c4 + ldr r0, _02082cec ; =data_027e0fe4 + ldrb r1, [r5, #0x12] + ldr r0, [r0] + blx func_ov04_02105578 + ldr r0, _02082cfc ; =data_027e103c + ldr r0, [r0] + bl func_ov00_020cfcec + b _02082cd8 +_02082c90: + ldr r0, _02082ce4 ; =gAdventureFlags + ldr r0, [r0] + bl _ZN14AdventureFlags18func_ov00_020976c8Ev + ldrb r1, [r5, #0x13] + ldr r0, _02082d00 ; =data_027e0f90 + mov r2, #0 + strb r1, [r6, #0xc] + ldr r0, [r0] + ldrb r1, [r5, #0x13] + ldr r3, [r0] + ldr r3, [r3, #0x38] + blx r3 + ldr r0, _02082d04 ; =data_027e0c68 + blx func_ov04_02106db8 + ldr r0, [r6, #4] + ldr r1, [r0] + ldr r1, [r1, #0x18] + blx r1 +_02082cd8: + mov r0, #1 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082b3cEi +_02082ce0: .word data_027e0d38 +_02082ce4: .word gAdventureFlags +_02082ce8: .word data_027e0f64 +_02082cec: .word data_027e0fe4 +_02082cf0: .word data_027e0f68 +_02082cf4: .word data_027e0f6c +_02082cf8: .word data_027e0f78 +_02082cfc: .word data_027e103c +_02082d00: .word data_027e0f90 +_02082d04: .word data_027e0c68 + + .global _ZN10MapManager18func_ov00_02082d08Ev + arm_func_start _ZN10MapManager18func_ov00_02082d08Ev +_ZN10MapManager18func_ov00_02082d08Ev: ; 0x02082d08 + ldr r3, [r0] + mov r0, #0xa + ldrb r2, [r3, #0x1c] + ldrb r1, [r3, #0x1d] + mla r0, r2, r0, r3 + add r0, r0, r1 + ldrb r0, [r0, #0x20] + bx lr + arm_func_end _ZN10MapManager18func_ov00_02082d08Ev + + .global _ZN10MapManager20GetCourseData_Unk_1cEv + arm_func_start _ZN10MapManager20GetCourseData_Unk_1cEv +_ZN10MapManager20GetCourseData_Unk_1cEv: ; 0x02082d28 + ldr r0, [r0] + ldrb r0, [r0, #0x1c] + bx lr + arm_func_end _ZN10MapManager20GetCourseData_Unk_1cEv + + .global _ZN10MapManager20GetCourseData_Unk_1dEv + arm_func_start _ZN10MapManager20GetCourseData_Unk_1dEv +_ZN10MapManager20GetCourseData_Unk_1dEv: ; 0x02082d34 + ldr r0, [r0] + ldrb r0, [r0, #0x1d] + bx lr + arm_func_end _ZN10MapManager20GetCourseData_Unk_1dEv + + .global _ZN10MapManager18func_ov00_02082d40Ev + arm_func_start _ZN10MapManager18func_ov00_02082d40Ev +_ZN10MapManager18func_ov00_02082d40Ev: ; 0x02082d40 + ldr r3, [r0] + ldr r0, [r3, #4] + cmp r0, #2 + bne _02082d6c + ldrb r2, [r3, #0x1c] + mov r0, #0xa + ldrb r1, [r3, #0x1d] + mla r0, r2, r0, r3 + add r0, r0, r1 + ldrb r0, [r0, #0x20] + bx lr +_02082d6c: + ldrb r0, [r3, #0xb1] + bx lr + arm_func_end _ZN10MapManager18func_ov00_02082d40Ev + + .global _ZN10MapManager18func_ov00_02082d74Ei + arm_func_start _ZN10MapManager18func_ov00_02082d74Ei +_ZN10MapManager18func_ov00_02082d74Ei: ; 0x02082d74 + ldr ip, _02082d80 ; =func_ov00_02078bc4 + mov r0, r1 + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082d74Ei +_02082d80: .word func_ov00_02078bc4 + + .global _ZN10MapManager18func_ov00_02082d84Ev + arm_func_start _ZN10MapManager18func_ov00_02082d84Ev +_ZN10MapManager18func_ov00_02082d84Ev: ; 0x02082d84 + stmdb sp!, {r4, r5, r6, r7, r8, lr} + mov r8, r0 + mov r7, r1 + mov r6, r2 + mov r5, r3 + bl _ZN10MapManager17Get_MapData_Unk28Ev + mov r1, r0, lsl #0xc + mov r0, #0x100000 + bl Divide + mov r4, r0 + mov r0, r8 + bl _ZN10MapManager17Get_MapData_Unk2aEv + mov r1, r0, lsl #0xc + mov r0, #0xc0000 + bl Divide + ldrb r1, [r7] + mov r1, r1, lsl #0xc + smull r3, r2, r1, r4 + adds r3, r3, #0x800 + adc r1, r2, #0 + mov r2, r3, lsr #0xc + orr r2, r2, r1, lsl #20 + add r1, r2, r4, asr #1 + add r1, r1, #0x800 + mov r1, r1, asr #0xc + str r1, [r6] + ldrb r1, [r7, #1] + mov r1, r1, lsl #0xc + smull r3, r2, r1, r0 + adds r3, r3, #0x800 + adc r1, r2, #0 + mov r2, r3, lsr #0xc + orr r2, r2, r1, lsl #20 + add r0, r2, r0, asr #1 + add r0, r0, #0x800 + mov r0, r0, asr #0xc + str r0, [r5] + ldmia sp!, {r4, r5, r6, r7, r8, pc} + arm_func_end _ZN10MapManager18func_ov00_02082d84Ev + + .global _ZN10MapManager18func_ov00_02082e1cEPiS0_ + arm_func_start _ZN10MapManager18func_ov00_02082e1cEPiS0_ +_ZN10MapManager18func_ov00_02082e1cEPiS0_: ; 0x02082e1c + stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} + sub sp, sp, #0x34 + mov r8, r0 + ldr r0, [r8] + mov r7, r1 + ldrb r1, [r0, #0x25c] + mov r6, r2 + cmp r1, #0 + beq _02083050 + bl func_ov00_0207d47c + cmp r0, #0 + bne _02083038 + mvn r1, #0xff + ldr r0, _02083068 ; =data_027e0d38 + str r1, [sp, #0xc] + str r1, [sp, #8] + ldr r1, [r8, #4] + ldr r0, [r0] + ldrb r4, [r1, #0x1a] + bl func_ov00_02078b40 + cmp r0, #0 + bne _02082e88 + ldr r0, _02083068 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x28] + ldrb r5, [r0, #0x9a] + b _02082e98 +_02082e88: + ldr r0, _02083068 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x28] + ldrb r5, [r0, #0x2e] +_02082e98: + cmp r5, #0xff + bne _02082ebc + ldr r3, [r8] + mov r0, #0xa + ldrb r2, [r3, #0x1e] + ldrb r1, [r3, #0x1f] + mla r0, r2, r0, r3 + add r0, r0, r1 + ldrb r5, [r0, #0x20] +_02082ebc: + ldr r0, _02083068 ; =data_027e0d38 + ldr r0, [r0] + bl func_ov00_02078b40 + cmp r0, #0 + bne _02082ef8 + ldr r0, _02083068 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x28] + ldr r2, [r0, #0xa4] + ldr r1, [r0, #0xa8] + ldr r0, [r0, #0xa0] + str r0, [sp, #0x28] + str r2, [sp, #0x2c] + str r1, [sp, #0x30] + b _02082f1c +_02082ef8: + ldr r0, _02083068 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x28] + ldr r2, [r0, #0x3c] + ldr r1, [r0, #0x40] + ldr r0, [r0, #0x38] + str r0, [sp, #0x28] + str r2, [sp, #0x2c] + str r1, [sp, #0x30] +_02082f1c: + ldr r0, [r8] + add r2, sp, #0xc + add r3, sp, #8 + mov r1, r4 + bl func_ov00_0207d518 + cmp r0, #0 + ldr r0, [r8] + bne _02082fc0 + add r2, sp, #0xc + add r3, sp, #8 + mov r1, r5 + bl func_ov00_0207d518 + ldr r1, [r8] + add r0, sp, #6 + mov r2, r5 + bl func_ov00_0207cb7c + ldrb r1, [sp, #7] + add r0, sp, #4 + add r2, sp, #0x28 + str r1, [sp] + ldrb r3, [sp, #6] + mov r1, r8 + bl _ZN10MapManager18func_ov00_02083a54EiPS_iii + ldr r0, [r8] + bl func_ov00_0207d5c4 + ldrb r1, [sp, #4] + ldr r3, [sp, #0xc] + mov r1, r1, lsl #0xc + smull r2, r0, r1, r0 + adds r1, r2, #0x800 + adc r0, r0, #0 + mov r1, r1, lsr #0xc + orr r1, r1, r0, lsl #20 + add r0, r1, #0x800 + add r0, r3, r0, asr #12 + str r0, [r7] + ldr r0, [r8] + bl func_ov00_0207d5f0 + ldrb r1, [sp, #5] + ldr r3, [sp, #8] + b _02083008 +_02082fc0: + bl func_ov00_0207d5c4 + ldr r2, [r8, #4] + ldr r1, [sp, #0xc] + ldrb r2, [r2, #0x1b] + mov r2, r2, lsl #0xc + smull r3, r0, r2, r0 + adds r2, r3, #0x800 + adc r0, r0, #0 + mov r2, r2, lsr #0xc + orr r2, r2, r0, lsl #20 + add r0, r2, #0x800 + add r0, r1, r0, asr #12 + str r0, [r7] + ldr r0, [r8] + bl func_ov00_0207d5f0 + ldr r1, [r8, #4] + ldr r3, [sp, #8] + ldrb r1, [r1, #0x1c] +_02083008: + mov r1, r1, lsl #0xc + smull r2, r0, r1, r0 + adds r1, r2, #0x800 + adc r0, r0, #0 + mov r1, r1, lsr #0xc + orr r1, r1, r0, lsl #20 + add r0, r1, #0x800 + add r0, r3, r0, asr #12 + str r0, [r6] + add sp, sp, #0x34 + mov r0, #1 + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} +_02083038: + mov r0, #0x80 + str r0, [r7] + str r0, [r6] + add sp, sp, #0x34 + mov r0, #0 + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} +_02083050: + mov r0, #0xc0 + str r0, [r7] + str r0, [r6] + mov r0, #0 + add sp, sp, #0x34 + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02082e1cEPiS0_ +_02083068: .word data_027e0d38 + + .global _ZN10MapManager18func_ov00_0208306cEv + arm_func_start _ZN10MapManager18func_ov00_0208306cEv +_ZN10MapManager18func_ov00_0208306cEv: ; 0x0208306c + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x20 + mov r6, r0 + ldr lr, [r6] + mvn r3, #2 + ldr ip, [lr, #8] + mov r5, r1 + cmp ip, r3 + addne r0, r3, #1 + mov r4, r2 + cmpne ip, r0 + beq _020830f0 + add r0, r3, #2 + cmp ip, r0 + bne _02083138 + ldr r1, _02083154 ; =data_027e0f94 + add r0, sp, #4 + ldr r2, [r1, #4] + ldr r3, [r1] + str r2, [sp, #0x18] + str r3, [sp, #0x14] + ldr r3, [r1, #8] + add r2, sp, #0x14 + mov r1, r6 + str r3, [sp, #0x1c] + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + add r1, sp, #4 + mov r0, r6 + mov r2, r5 + mov r3, r4 + bl _ZN10MapManager18func_ov00_02082d84Ev + add sp, sp, #0x20 + ldmia sp!, {r4, r5, r6, pc} +_020830f0: + ldr r0, _02083158 ; =data_027e0d38 + add r2, sp, #8 + ldr ip, [r0] + mov r0, r6 + ldr r6, [ip, #0x28] + mov r3, r5 + ldr r1, [r6, #0x5c] + str r1, [sp, #8] + ldr r1, [r6, #0x60] + str r1, [sp, #0xc] + ldr r1, [r6, #0x64] + str r1, [sp, #0x10] + str r4, [sp] + ldr r1, [ip, #0x28] + ldrb r1, [r1, #0x56] + bl _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ + add sp, sp, #0x20 + ldmia sp!, {r4, r5, r6, pc} +_02083138: + ldr r0, [lr, #0xb4] + str r0, [r5] + ldr r0, [r6] + ldr r0, [r0, #0xb8] + str r0, [r4] + add sp, sp, #0x20 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_0208306cEv +_02083154: .word data_027e0f94 +_02083158: .word data_027e0d38 + + .global _ZN10MapManager18func_ov00_0208315cEPiS0_ + arm_func_start _ZN10MapManager18func_ov00_0208315cEPiS0_ +_ZN10MapManager18func_ov00_0208315cEPiS0_: ; 0x0208315c + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0x1c + mov r6, r0 + ldr lr, [r6] + mvn r3, #2 + ldr ip, [lr, #8] + mov r5, r1 + cmp ip, r3 + addne r1, r3, #1 + mov r4, r2 + cmpne ip, r1 + beq _020831d8 + add r1, r3, #2 + cmp ip, r1 + bne _02083220 + ldr r1, _0208323c ; =data_027e0f94 + ldr r3, [r1] + ldr r2, [r1, #4] + str r3, [sp, #0x10] + str r2, [sp, #0x14] + ldr r1, [r1, #8] + str r1, [sp, #0x18] + bl _ZN10MapManager18func_ov00_02082d08Ev + mov r1, r0 + add r2, sp, #0x10 + mov r0, r6 + mov r3, r5 + str r4, [sp] + bl _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ + add sp, sp, #0x1c + ldmia sp!, {r3, r4, r5, r6, pc} +_020831d8: + ldr r0, _02083240 ; =data_027e0d38 + add r2, sp, #4 + ldr ip, [r0] + mov r0, r6 + ldr r6, [ip, #0x28] + mov r3, r5 + ldr r1, [r6, #0x5c] + str r1, [sp, #4] + ldr r1, [r6, #0x60] + str r1, [sp, #8] + ldr r1, [r6, #0x64] + str r1, [sp, #0xc] + str r4, [sp] + ldr r1, [ip, #0x28] + ldrb r1, [r1, #0x56] + bl _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ + add sp, sp, #0x1c + ldmia sp!, {r3, r4, r5, r6, pc} +_02083220: + ldr r0, [lr, #0xbc] + str r0, [r5] + ldr r0, [r6] + ldr r0, [r0, #0xc0] + str r0, [r4] + add sp, sp, #0x1c + ldmia sp!, {r3, r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_0208315cEPiS0_ +_0208323c: .word data_027e0f94 +_02083240: .word data_027e0d38 + + .global _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ + arm_func_start _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ +_ZN10MapManager18func_ov00_02083244EjPiS0_S0_: ; 0x02083244 + stmdb sp!, {r3, lr} + ldr r0, _02083290 ; =data_ov00_020e24e8 + cmp r1, #4 + movhs r1, #0 + ldr ip, [r0, r1, lsl #3] + ldr lr, [r2] + ldr r0, _02083294 ; =data_ov00_020e24ec + sub ip, lr, ip + add ip, ip, #0x800 + mov ip, ip, asr #0xc + str ip, [r3] + ldr r1, [r0, r1, lsl #3] + ldr r2, [r2, #8] + ldr r0, [sp, #8] + sub r1, r2, r1 + add r1, r1, #0x800 + mov r1, r1, asr #0xc + str r1, [r0] + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ +_02083290: .word data_ov00_020e24e8 +_02083294: .word data_ov00_020e24ec + + .global _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ + arm_func_start _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ +_ZN10MapManager18func_ov00_02083298EjPiS0_S0_: ; 0x02083298 + stmdb sp!, {r3, lr} + ldr r0, _020832fc ; =data_ov00_020e24e8 + cmp r1, #4 + movhs r1, #0 + ldr lr, _02083300 ; =data_ov00_020e24c8 + ldr ip, [r2] + ldr r0, [r0, r1, lsl #3] + ldr lr, [lr, r1, lsl #3] + sub r0, ip, r0 + mov r0, r0, asr #0x1 + add r0, r0, #0x800 + add r0, lr, r0, asr #12 + str r0, [r3] + ldr r0, _02083304 ; =data_ov00_020e24ec + ldr r3, _02083308 ; =data_ov00_020e24cc + ldr r2, [r2, #8] + ldr r0, [r0, r1, lsl #3] + ldr r3, [r3, r1, lsl #3] + sub r0, r2, r0 + mov r0, r0, asr #0x1 + add r1, r0, #0x800 + ldr r0, [sp, #8] + add r1, r3, r1, asr #12 + str r1, [r0] + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ +_020832fc: .word data_ov00_020e24e8 +_02083300: .word data_ov00_020e24c8 +_02083304: .word data_ov00_020e24ec +_02083308: .word data_ov00_020e24cc + + .global _ZN10MapManager21GetCourseData_Unk_25cEv + arm_func_start _ZN10MapManager21GetCourseData_Unk_25cEv +_ZN10MapManager21GetCourseData_Unk_25cEv: ; 0x0208330c + ldr r0, [r0] + ldrb r0, [r0, #0x25c] + bx lr + arm_func_end _ZN10MapManager21GetCourseData_Unk_25cEv + + .global _ZN10MapManager18func_ov00_02083318Ei + arm_func_start _ZN10MapManager18func_ov00_02083318Ei +_ZN10MapManager18func_ov00_02083318Ei: ; 0x02083318 + ldr ip, _02083324 ; =func_ov00_0207d4e4 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083318Ei +_02083324: .word func_ov00_0207d4e4 + + .global _ZN10MapManager18func_ov00_02083328Ev + arm_func_start _ZN10MapManager18func_ov00_02083328Ev +_ZN10MapManager18func_ov00_02083328Ev: ; 0x02083328 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN10MapManager18func_ov00_02082d08Ev + mov r1, r0 + ldr r0, [r4] + bl func_ov00_0207d4e4 + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02083328Ev + + .global _ZN10MapManager20GetCourseData_Unk_86Ev + arm_func_start _ZN10MapManager20GetCourseData_Unk_86Ev +_ZN10MapManager20GetCourseData_Unk_86Ev: ; 0x02083344 + ldr r0, [r0] + ldrb r0, [r0, #0x86] + bx lr + arm_func_end _ZN10MapManager20GetCourseData_Unk_86Ev + + .global _ZN10MapManager20GetCourseData_Unk_87Ev + arm_func_start _ZN10MapManager20GetCourseData_Unk_87Ev +_ZN10MapManager20GetCourseData_Unk_87Ev: ; 0x02083350 + ldr r0, [r0] + ldrb r0, [r0, #0x87] + bx lr + arm_func_end _ZN10MapManager20GetCourseData_Unk_87Ev + + .global _ZN10MapManager17Get_MapData_Unk28Ev + arm_func_start _ZN10MapManager17Get_MapData_Unk28Ev +_ZN10MapManager17Get_MapData_Unk28Ev: ; 0x0208335c + ldr r0, [r0, #4] + ldrh r0, [r0, #0x28] + bx lr + arm_func_end _ZN10MapManager17Get_MapData_Unk28Ev + + .global _ZN10MapManager17Get_MapData_Unk2aEv + arm_func_start _ZN10MapManager17Get_MapData_Unk2aEv +_ZN10MapManager17Get_MapData_Unk2aEv: ; 0x02083368 + ldr r0, [r0, #4] + ldrh r0, [r0, #0x2a] + bx lr + arm_func_end _ZN10MapManager17Get_MapData_Unk2aEv + + .global _ZN10MapManager18func_ov00_02083374Ev + arm_func_start _ZN10MapManager18func_ov00_02083374Ev +_ZN10MapManager18func_ov00_02083374Ev: ; 0x02083374 + stmdb sp!, {r3, lr} + bl _ZN10MapManager17Get_MapData_Unk28Ev + mov r0, r0, lsl #0xc + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02083374Ev + + .global _ZN10MapManager18func_ov00_02083384Ev + arm_func_start _ZN10MapManager18func_ov00_02083384Ev +_ZN10MapManager18func_ov00_02083384Ev: ; 0x02083384 + stmdb sp!, {r3, lr} + bl _ZN10MapManager17Get_MapData_Unk2aEv + mov r0, r0, lsl #0xc + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02083384Ev + + .global _ZN10MapManager13GetCourseMinXEv + arm_func_start _ZN10MapManager13GetCourseMinXEv +_ZN10MapManager13GetCourseMinXEv: ; 0x02083394 + ldr r0, [r0] + ldr r0, [r0, #0x98] + bx lr + arm_func_end _ZN10MapManager13GetCourseMinXEv + + .global _ZN10MapManager13GetCourseMinZEv + arm_func_start _ZN10MapManager13GetCourseMinZEv +_ZN10MapManager13GetCourseMinZEv: ; 0x020833a0 + ldr r0, [r0] + ldr r0, [r0, #0xa0] + bx lr + arm_func_end _ZN10MapManager13GetCourseMinZEv + + .global _ZN10MapManager13GetCourseMaxXEv + arm_func_start _ZN10MapManager13GetCourseMaxXEv +_ZN10MapManager13GetCourseMaxXEv: ; 0x020833ac + ldr r0, [r0] + ldr r0, [r0, #0xa4] + bx lr + arm_func_end _ZN10MapManager13GetCourseMaxXEv + + .global _ZN10MapManager13GetCourseMaxZEv + arm_func_start _ZN10MapManager13GetCourseMaxZEv +_ZN10MapManager13GetCourseMaxZEv: ; 0x020833b8 + ldr r0, [r0] + ldr r0, [r0, #0xac] + bx lr + arm_func_end _ZN10MapManager13GetCourseMaxZEv + + .global _ZN10MapManager18func_ov00_020833c4Ev + arm_func_start _ZN10MapManager18func_ov00_020833c4Ev +_ZN10MapManager18func_ov00_020833c4Ev: ; 0x020833c4 + ldr r0, [r0, #4] + ldr r0, [r0, #0xdc] + bx lr + arm_func_end _ZN10MapManager18func_ov00_020833c4Ev + + .global _ZN10MapManager18func_ov00_020833d0Ev + arm_func_start _ZN10MapManager18func_ov00_020833d0Ev +_ZN10MapManager18func_ov00_020833d0Ev: ; 0x020833d0 + ldr r0, [r0, #4] + ldr r0, [r0, #0xe4] + bx lr + arm_func_end _ZN10MapManager18func_ov00_020833d0Ev + + .global _ZN10MapManager18func_ov00_020833dcEv + arm_func_start _ZN10MapManager18func_ov00_020833dcEv +_ZN10MapManager18func_ov00_020833dcEv: ; 0x020833dc + ldr r0, [r0, #4] + ldr r0, [r0, #0xe8] + bx lr + arm_func_end _ZN10MapManager18func_ov00_020833dcEv + + .global _ZN10MapManager18func_ov00_020833e8Ev + arm_func_start _ZN10MapManager18func_ov00_020833e8Ev +_ZN10MapManager18func_ov00_020833e8Ev: ; 0x020833e8 + ldr r0, [r0, #4] + ldr r0, [r0, #0xf0] + bx lr + arm_func_end _ZN10MapManager18func_ov00_020833e8Ev + + .global _ZN10MapManager18Get_MapData_Unk_d0Ev + arm_func_start _ZN10MapManager18Get_MapData_Unk_d0Ev +_ZN10MapManager18Get_MapData_Unk_d0Ev: ; 0x020833f4 + ldr r0, [r0, #4] + ldr r0, [r0, #0xd0] + bx lr + arm_func_end _ZN10MapManager18Get_MapData_Unk_d0Ev + + .global _ZN10MapManager18Get_MapData_Unk_d8Ev + arm_func_start _ZN10MapManager18Get_MapData_Unk_d8Ev +_ZN10MapManager18Get_MapData_Unk_d8Ev: ; 0x02083400 + ldr r0, [r0, #4] + ldr r0, [r0, #0xd8] + bx lr + arm_func_end _ZN10MapManager18Get_MapData_Unk_d8Ev + + .global _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p + arm_func_start _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p +_ZN10MapManager17GetMapData_Unk_dcEP5Vec3p: ; 0x0208340c + ldr r2, [r0, #4] + ldr r0, [r2, #0xdc] + str r0, [r1] + ldr r0, [r2, #0xe0] + str r0, [r1, #4] + ldr r0, [r2, #0xe4] + str r0, [r1, #8] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p + + .global _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p + arm_func_start _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p +_ZN10MapManager17GetMapData_Unk_e8EP5Vec3p: ; 0x0208342c + ldr r2, [r0, #4] + ldr r0, [r2, #0xe8] + str r0, [r1] + ldr r0, [r2, #0xec] + str r0, [r1, #4] + ldr r0, [r2, #0xf0] + str r0, [r1, #8] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p + + .global _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p + arm_func_start _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +_ZN10MapManager17GetMapData_Unk_d0EP5Vec3p: ; 0x0208344c + ldr r2, [r0, #4] + ldr r0, [r2, #0xd0] + str r0, [r1] + ldr r0, [r2, #0xd4] + str r0, [r1, #4] + ldr r0, [r2, #0xd8] + str r0, [r1, #8] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p + + .global _ZN10MapManager18func_ov00_0208346cEP4AABB + arm_func_start _ZN10MapManager18func_ov00_0208346cEP4AABB +_ZN10MapManager18func_ov00_0208346cEP4AABB: ; 0x0208346c + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r4, r1 + bl _ZN10MapManager18func_ov00_020833c4Ev + str r0, [r4] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833d0Ev + str r0, [r4, #8] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833dcEv + str r0, [r4, #0xc] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833e8Ev + ldr r1, _020834b8 ; =0x00001333 + str r0, [r4, #0x14] + str r1, [r4, #0x10] + mov r0, #0 + str r0, [r4, #4] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_0208346cEP4AABB +_020834b8: .word 0x00001333 + + .global _ZN10MapManager18func_ov00_020834bcEP5Vec3pii + arm_func_start _ZN10MapManager18func_ov00_020834bcEP5Vec3pii +_ZN10MapManager18func_ov00_020834bcEP5Vec3pii: ; 0x020834bc + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r0, [r5] + mov r4, #0xa + mla r4, r2, r4, r0 + add r2, r4, r3 + mov r4, r1 + ldrb r1, [r2, #0x20] + bl func_ov00_0207cbd8 + ldr r1, [r0] + str r1, [r4] + ldr r1, [r0, #4] + str r1, [r4, #4] + ldr r1, [r0, #8] + mov r0, r5 + str r1, [r4, #8] + bl _ZN10MapManager18func_ov00_02083374Ev + ldr r1, [r4] + sub r1, r1, r0, asr #1 + mov r0, r5 + str r1, [r4] + bl _ZN10MapManager18func_ov00_02083384Ev + ldr r1, [r4, #8] + sub r0, r1, r0, asr #1 + str r0, [r4, #8] + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_020834bcEP5Vec3pii + + .global _ZN10MapManager18func_ov00_02083524EP5Vec3pii + arm_func_start _ZN10MapManager18func_ov00_02083524EP5Vec3pii +_ZN10MapManager18func_ov00_02083524EP5Vec3pii: ; 0x02083524 + stmdb sp!, {r4, lr} + ldr r0, [r0] + mov ip, #0xa + mla ip, r2, ip, r0 + add r2, ip, r3 + mov r4, r1 + ldrb r1, [r2, #0x20] + bl func_ov00_0207cbd8 + ldr r1, [r0] + str r1, [r4] + ldr r1, [r0, #4] + str r1, [r4, #4] + ldr r0, [r0, #8] + str r0, [r4, #8] + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02083524EP5Vec3pii + + .global _ZN10MapManager18func_ov00_02083560EiPS_j + arm_func_start _ZN10MapManager18func_ov00_02083560EiPS_j +_ZN10MapManager18func_ov00_02083560EiPS_j: ; 0x02083560 + ldr ip, _0208356c ; =func_ov00_0207cb7c + ldr r1, [r1] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083560EiPS_j +_0208356c: .word func_ov00_0207cb7c + + .global _ZN10MapManager18func_ov00_02083570Eii + arm_func_start _ZN10MapManager18func_ov00_02083570Eii +_ZN10MapManager18func_ov00_02083570Eii: ; 0x02083570 + ldr r3, [r0] + mov r0, #0xa + mla r0, r1, r0, r3 + add r0, r0, r2 + ldrb r0, [r0, #0x20] + bx lr + arm_func_end _ZN10MapManager18func_ov00_02083570Eii + + .global _ZN10MapManager18func_ov00_02083588Ev + arm_func_start _ZN10MapManager18func_ov00_02083588Ev +_ZN10MapManager18func_ov00_02083588Ev: ; 0x02083588 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN10MapManager18func_ov00_02082d08Ev + mov r1, r0 + ldr r0, [r4] + bl func_ov00_0207cc6c + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02083588Ev + + .global _ZN10MapManager18func_ov00_020835a4Ev + arm_func_start _ZN10MapManager18func_ov00_020835a4Ev +_ZN10MapManager18func_ov00_020835a4Ev: ; 0x020835a4 + ldr ip, _020835b0 ; =func_ov00_0207d61c + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020835a4Ev +_020835b0: .word func_ov00_0207d61c + + .global _ZN10MapManager18func_ov00_020835b4Ev + arm_func_start _ZN10MapManager18func_ov00_020835b4Ev +_ZN10MapManager18func_ov00_020835b4Ev: ; 0x020835b4 + ldr ip, _020835c0 ; =func_ov00_0207d628 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020835b4Ev +_020835c0: .word func_ov00_0207d628 + + .global _ZN10MapManager18func_ov00_020835c4Eii + arm_func_start _ZN10MapManager18func_ov00_020835c4Eii +_ZN10MapManager18func_ov00_020835c4Eii: ; 0x020835c4 + stmdb sp!, {r3, lr} + mov r3, #3 + str r3, [sp] + ldr r0, [r0] + mov r3, r2 + mov r2, #0 + bl func_ov00_0207d404 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_020835c4Eii + + .global _ZN10MapManager18func_ov00_020835e4EiPiS0_ + arm_func_start _ZN10MapManager18func_ov00_020835e4EiPiS0_ +_ZN10MapManager18func_ov00_020835e4EiPiS0_: ; 0x020835e4 + ldr ip, _020835f0 ; =func_ov00_0207caa8 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020835e4EiPiS0_ +_020835f0: .word func_ov00_0207caa8 + + .global _ZN10MapManager18func_ov00_020835f4Ei + arm_func_start _ZN10MapManager18func_ov00_020835f4Ei +_ZN10MapManager18func_ov00_020835f4Ei: ; 0x020835f4 + ldr ip, _02083600 ; =func_ov00_0207cb30 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020835f4Ei +_02083600: .word func_ov00_0207cb30 + + .global _ZN10MapManager18func_ov00_02083604Ei + arm_func_start _ZN10MapManager18func_ov00_02083604Ei +_ZN10MapManager18func_ov00_02083604Ei: ; 0x02083604 + ldr ip, _02083610 ; =func_ov00_0207cbe8 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083604Ei +_02083610: .word func_ov00_0207cbe8 + + .global _ZN10MapManager18func_ov00_02083614Ei + arm_func_start _ZN10MapManager18func_ov00_02083614Ei +_ZN10MapManager18func_ov00_02083614Ei: ; 0x02083614 + ldr ip, _02083620 ; =func_ov00_0207cc24 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083614Ei +_02083620: .word func_ov00_0207cc24 + + .global _ZN10MapManager14GetEntrancePosEP5Vec3pi + arm_func_start _ZN10MapManager14GetEntrancePosEP5Vec3pi +_ZN10MapManager14GetEntrancePosEP5Vec3pi: ; 0x02083624 + stmdb sp!, {r4, lr} + ldr r0, [r0, #4] + mov r4, r1 + mov r1, r2 + bl func_ov00_0207f8c0 + mov r3, r0 + ldmia r3, {r0, r1, r2} + stmia r4, {r0, r1, r2} + ldrsh r1, [r3, #0xc] + mov r0, #1 + strh r1, [r4, #0xc] + ldrb r1, [r3, #0xe] + strb r1, [r4, #0xe] + ldr r1, [r3, #0x10] + str r1, [r4, #0x10] + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager14GetEntrancePosEP5Vec3pi + + .global _ZN10MapManager18func_ov00_02083664EP5Vec3pi + arm_func_start _ZN10MapManager18func_ov00_02083664EP5Vec3pi +_ZN10MapManager18func_ov00_02083664EP5Vec3pi: ; 0x02083664 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0x14 + mov r4, r1 + mov ip, #0xff + mov r3, #0 + add r1, sp, #0 + strb ip, [sp, #0xe] + str r3, [sp, #0x10] + bl _ZN10MapManager14GetEntrancePosEP5Vec3pi + cmp r0, #0 + addeq sp, sp, #0x14 + moveq r0, #0 + ldmeqia sp!, {r3, r4, pc} + ldr r1, [sp] + mov r0, #1 + str r1, [r4] + ldr r1, [sp, #4] + str r1, [r4, #4] + ldr r1, [sp, #8] + str r1, [r4, #8] + add sp, sp, #0x14 + ldmia sp!, {r3, r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02083664EP5Vec3pi + + .global _ZN10MapManager18func_ov00_020836bcEjPi + arm_func_start _ZN10MapManager18func_ov00_020836bcEjPi +_ZN10MapManager18func_ov00_020836bcEjPi: ; 0x020836bc + ldr ip, _020836c8 ; =func_ov00_0207faac + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020836bcEjPi +_020836c8: .word func_ov00_0207faac + + .global _ZN10MapManager18func_ov00_020836ccEjP4AABBj + arm_func_start _ZN10MapManager18func_ov00_020836ccEjP4AABBj +_ZN10MapManager18func_ov00_020836ccEjP4AABBj: ; 0x020836cc + ldr ip, _020836d8 ; =func_ov00_0207fb64 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020836ccEjP4AABBj +_020836d8: .word func_ov00_0207fb64 + + .global _ZN10MapManager18func_ov00_020836dcEii + arm_func_start _ZN10MapManager18func_ov00_020836dcEii +_ZN10MapManager18func_ov00_020836dcEii: ; 0x020836dc + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0xc + cmp r2, #0 + mov r5, r0 + mov r4, r1 + cmpne r2, #1 + bne _02083718 + ldr r0, _02083768 ; =data_027e0f94 + ldr r2, [r0] + ldr r1, [r0, #4] + str r2, [sp] + str r1, [sp, #4] + ldr r0, [r0, #8] + str r0, [sp, #8] + b _02083750 +_02083718: + ldr r0, _0208376c ; =data_027e0fe4 + mov r1, r2 + ldr r0, [r0] + bl _ZN12ActorManager13FindActorByIdEj + cmp r0, #0 + addeq sp, sp, #0xc + moveq r0, #0 + ldmeqia sp!, {r4, r5, pc} + ldr r1, [r0, #0x48] + str r1, [sp] + ldr r1, [r0, #0x4c] + str r1, [sp, #4] + ldr r0, [r0, #0x50] + str r0, [sp, #8] +_02083750: + add r2, sp, #0 + mov r0, r5 + mov r1, r4 + bl _ZN10MapManager18func_ov00_02083770Eji + add sp, sp, #0xc + ldmia sp!, {r4, r5, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020836dcEii +_02083768: .word data_027e0f94 +_0208376c: .word data_027e0fe4 + + .global _ZN10MapManager18func_ov00_02083770Eji + arm_func_start _ZN10MapManager18func_ov00_02083770Eji +_ZN10MapManager18func_ov00_02083770Eji: ; 0x02083770 + ldr ip, _0208377c ; =func_ov00_0207fd58 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083770Eji +_0208377c: .word func_ov00_0207fd58 + + .global _ZN10MapManager18func_ov00_02083780Ei + arm_func_start _ZN10MapManager18func_ov00_02083780Ei +_ZN10MapManager18func_ov00_02083780Ei: ; 0x02083780 + ldr ip, _0208378c ; =func_ov00_0207fc2c + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083780Ei +_0208378c: .word func_ov00_0207fc2c + + .global _ZN10MapManager18func_ov00_02083790Ei + arm_func_start _ZN10MapManager18func_ov00_02083790Ei +_ZN10MapManager18func_ov00_02083790Ei: ; 0x02083790 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #8 + movs r4, r1 + mov r5, r0 + addeq sp, sp, #8 + moveq r0, #1 + ldmeqia sp!, {r3, r4, r5, pc} + ldr r1, _02083830 ; =data_027e0f64 + ldr r0, _02083834 ; =data_027e0d38 + ldr r2, [r1] + ldr r2, [r2, #8] + str r4, [r2, #0x1b4] + ldr r1, [r1] + ldr r1, [r1, #4] + str r4, [r1, #0x1b4] + ldr r0, [r0] + bl func_ov00_02078b40 + cmp r0, #0 + beq _0208381c + add r1, sp, #4 + add r2, sp, #0 + mov r0, r5 + bl _ZN10MapManager18func_ov00_02082e1cEPiS0_ + cmp r0, #0 + bne _0208381c + ldr r0, _02083838 ; =data_027e0d3c + mov r1, r4 + ldr r0, [r0] + mov r2, #0x10 + bl func_ov00_02079898 + ldr r0, _0208383c ; =data_027e0fe4 + mov r1, r4 + ldr r0, [r0] + mov r2, #1 + bl _ZN12ActorManager18func_ov00_020c3ce8Eii +_0208381c: + ldr r0, [r5, #4] + mov r1, r4 + bl func_ov00_0207fdd0 + add sp, sp, #8 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083790Ei +_02083830: .word data_027e0f64 +_02083834: .word data_027e0d38 +_02083838: .word data_027e0d3c +_0208383c: .word data_027e0fe4 + + .global _ZN10MapManager18func_ov00_02083840Ei + arm_func_start _ZN10MapManager18func_ov00_02083840Ei +_ZN10MapManager18func_ov00_02083840Ei: ; 0x02083840 + stmdb sp!, {r3, r4, r5, lr} + movs r4, r1 + mov r5, r0 + moveq r0, #1 + ldmeqia sp!, {r3, r4, r5, pc} + ldr r1, _020838bc ; =data_027e0f64 + mvn r3, #0 + ldr r2, [r1] + ldr r0, _020838c0 ; =data_027e0d3c + ldr r2, [r2, #8] + str r3, [r2, #0x1b4] + ldr r1, [r1] + ldr r1, [r1, #4] + str r3, [r1, #0x1b4] + ldr r0, [r0] + bl func_ov00_02078fe8 + cmp r0, #0 + blt _020838ac + ldr r0, _020838c0 ; =data_027e0d3c + mov r1, #0x10 + ldr r0, [r0] + bl func_ov00_020798bc + ldr r0, _020838c4 ; =data_027e0fe4 + mov r1, r4 + ldr r0, [r0] + mov r2, #0 + bl _ZN12ActorManager18func_ov00_020c3ce8Eii +_020838ac: + ldr r0, [r5, #4] + mov r1, r4 + bl func_ov00_02080d80 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083840Ei +_020838bc: .word data_027e0f64 +_020838c0: .word data_027e0d3c +_020838c4: .word data_027e0fe4 + + .global _ZN10MapManager18func_ov00_020838c8Ei + arm_func_start _ZN10MapManager18func_ov00_020838c8Ei +_ZN10MapManager18func_ov00_020838c8Ei: ; 0x020838c8 + ldr ip, _020838d4 ; =func_ov00_0207fe80 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020838c8Ei +_020838d4: .word func_ov00_0207fe80 + + .global _ZN10MapManager18func_ov00_020838d8Ei + arm_func_start _ZN10MapManager18func_ov00_020838d8Ei +_ZN10MapManager18func_ov00_020838d8Ei: ; 0x020838d8 + ldr ip, _020838e4 ; =func_ov00_0207ff88 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020838d8Ei +_020838e4: .word func_ov00_0207ff88 + + .global _ZN10MapManager18func_ov00_020838e8EjPi + arm_func_start _ZN10MapManager18func_ov00_020838e8EjPi +_ZN10MapManager18func_ov00_020838e8EjPi: ; 0x020838e8 + ldr ip, _020838f4 ; =func_ov00_0208039c + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020838e8EjPi +_020838f4: .word func_ov00_0208039c + + .global _ZN10MapManager18func_ov00_020838f8EPi + arm_func_start _ZN10MapManager18func_ov00_020838f8EPi +_ZN10MapManager18func_ov00_020838f8EPi: ; 0x020838f8 + ldr ip, _02083904 ; =func_ov00_02080140 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020838f8EPi +_02083904: .word func_ov00_02080140 + + .global _ZN10MapManager18func_ov00_02083908EcPi + arm_func_start _ZN10MapManager18func_ov00_02083908EcPi +_ZN10MapManager18func_ov00_02083908EcPi: ; 0x02083908 + ldr ip, _02083914 ; =func_ov00_02080510 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083908EcPi +_02083914: .word func_ov00_02080510 + + .global _ZN10MapManager18func_ov00_02083918EiPi + arm_func_start _ZN10MapManager18func_ov00_02083918EiPi +_ZN10MapManager18func_ov00_02083918EiPi: ; 0x02083918 + ldr ip, _02083924 ; =func_ov00_020805d0 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083918EiPi +_02083924: .word func_ov00_020805d0 + + .global _ZN10MapManager18func_ov00_02083928EPci + arm_func_start _ZN10MapManager18func_ov00_02083928EPci +_ZN10MapManager18func_ov00_02083928EPci: ; 0x02083928 + ldr ip, _02083934 ; =func_ov00_02080688 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083928EPci +_02083934: .word func_ov00_02080688 + + .global _ZN10MapManager18func_ov00_02083938Ei + arm_func_start _ZN10MapManager18func_ov00_02083938Ei +_ZN10MapManager18func_ov00_02083938Ei: ; 0x02083938 + ldr ip, _02083944 ; =func_ov00_02080780 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083938Ei +_02083944: .word func_ov00_02080780 + + .global _ZN10MapManager18Set_MapData_Unk_16Eci + arm_func_start _ZN10MapManager18Set_MapData_Unk_16Eci +_ZN10MapManager18Set_MapData_Unk_16Eci: ; 0x02083948 + ldr r0, [r0, #4] + add r0, r0, r2 + strb r1, [r0, #0x16] + bx lr + arm_func_end _ZN10MapManager18Set_MapData_Unk_16Eci + + .global _ZN10MapManager18func_ov00_02083958Ei + arm_func_start _ZN10MapManager18func_ov00_02083958Ei +_ZN10MapManager18func_ov00_02083958Ei: ; 0x02083958 + ldr ip, _02083964 ; =func_ov00_0207f924 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083958Ei +_02083964: .word func_ov00_0207f924 + + .global _ZN10MapManager18func_ov00_02083968EjPc + arm_func_start _ZN10MapManager18func_ov00_02083968EjPc +_ZN10MapManager18func_ov00_02083968EjPc: ; 0x02083968 + ldr ip, _02083974 ; =func_ov00_02080824 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083968EjPc +_02083974: .word func_ov00_02080824 + + .global _ZN10MapManager18func_ov00_02083978EiP5Vec3p + arm_func_start _ZN10MapManager18func_ov00_02083978EiP5Vec3p +_ZN10MapManager18func_ov00_02083978EiP5Vec3p: ; 0x02083978 + stmdb sp!, {r4, lr} + ldr r0, [r0, #4] + mov r4, r2 + bl func_ov00_02080a78 + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r4, pc} + ldr r1, [r0, #8] + str r1, [r4] + ldr r1, [r0, #0xc] + str r1, [r4, #4] + ldr r1, [r0, #0x10] + mov r0, #1 + str r1, [r4, #8] + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02083978EiP5Vec3p + + .global _ZN10MapManager18func_ov00_020839b4Ei + arm_func_start _ZN10MapManager18func_ov00_020839b4Ei +_ZN10MapManager18func_ov00_020839b4Ei: ; 0x020839b4 + ldr ip, _020839c0 ; =func_ov00_020808d0 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020839b4Ei +_020839c0: .word func_ov00_020808d0 + + .global _ZN10MapManager18func_ov00_020839c4Ei + arm_func_start _ZN10MapManager18func_ov00_020839c4Ei +_ZN10MapManager18func_ov00_020839c4Ei: ; 0x020839c4 + ldr ip, _020839d0 ; =func_ov00_020809b8 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020839c4Ei +_020839d0: .word func_ov00_020809b8 + + .global _ZN10MapManager18func_ov00_020839d4Ev + arm_func_start _ZN10MapManager18func_ov00_020839d4Ev +_ZN10MapManager18func_ov00_020839d4Ev: ; 0x020839d4 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r4, r1 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + mov r1, r0 + ldr r0, [r5, #4] + sub r1, r4, r1 + bl func_ov00_0207f778 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_020839d4Ev + + .global _ZN10MapManager18func_ov00_020839f8Ev + arm_func_start _ZN10MapManager18func_ov00_020839f8Ev +_ZN10MapManager18func_ov00_020839f8Ev: ; 0x020839f8 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r4, r1 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev + mov r1, r0 + ldr r0, [r5, #4] + sub r1, r4, r1 + bl func_ov00_0207f7a0 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_020839f8Ev + + .global _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + arm_func_start _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +_ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p: ; 0x02083a1c + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r5, r2 + mov r6, r1 + mov r7, r0 + ldr r1, [r5, #8] + mov r0, r6 + bl _ZN10MapManager18func_ov00_020839f8Ev + mov r4, r0 + ldr r1, [r5] + mov r0, r6 + bl _ZN10MapManager18func_ov00_020839d4Ev + strb r0, [r7] + strb r4, [r7, #1] + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + + .global _ZN10MapManager18func_ov00_02083a54EiPS_iii + arm_func_start _ZN10MapManager18func_ov00_02083a54EiPS_iii +_ZN10MapManager18func_ov00_02083a54EiPS_iii: ; 0x02083a54 + stmdb sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #0x24 + mov r6, r1 + mov r7, r0 + mov r0, r6 + mov r5, r2 + mov r4, r3 + bl _ZN10MapManager21GetCourseData_Unk_25cEv + cmp r0, #0 + beq _02083b58 + mvn r0, #0 + cmp r4, r0 + ldrne r2, [sp, #0x38] + cmpne r2, r0 + bne _02083aa0 + mov r0, r6 + bl _ZN10MapManager18func_ov00_02082d08Ev + mov r1, r0 + b _02083ab4 +_02083aa0: + ldr r1, [r6] + mov r0, #0xa + mla r0, r4, r0, r1 + add r0, r0, r2 + ldrb r1, [r0, #0x20] +_02083ab4: + mov r0, r6 + bl _ZN10MapManager18func_ov00_02083318Ei + cmp r0, #0 + beq _02083b2c + ldr r3, [sp, #0x38] + add r1, sp, #0x18 + mov r0, r6 + mov r2, r4 + bl _ZN10MapManager18func_ov00_02083524EP5Vec3pii + ldr r1, [r5] + add r0, sp, #0 + str r1, [sp] + ldr r2, [r5, #4] + add r1, sp, #0x18 + str r2, [sp, #4] + ldr r3, [r5, #8] + add r2, sp, #0xc + str r3, [sp, #8] + bl func_01ff9bf8 + ldr r0, [r6, #4] + ldr r1, [sp, #0x14] + bl func_ov00_0207f7a0 + mov r4, r0 + ldr r0, [r6, #4] + ldr r1, [sp, #0xc] + bl func_ov00_0207f778 + strb r0, [r7] + add sp, sp, #0x24 + strb r4, [r7, #1] + ldmia sp!, {r4, r5, r6, r7, pc} +_02083b2c: + ldr r1, [r5, #8] + mov r0, r6 + bl _ZN10MapManager18func_ov00_020839f8Ev + mov r4, r0 + ldr r1, [r5] + mov r0, r6 + bl _ZN10MapManager18func_ov00_020839d4Ev + strb r0, [r7] + add sp, sp, #0x24 + strb r4, [r7, #1] + ldmia sp!, {r4, r5, r6, r7, pc} +_02083b58: + ldr r1, [r5, #8] + mov r0, r6 + bl _ZN10MapManager18func_ov00_020839f8Ev + mov r4, r0 + ldr r1, [r5] + mov r0, r6 + bl _ZN10MapManager18func_ov00_020839d4Ev + strb r0, [r7] + strb r4, [r7, #1] + add sp, sp, #0x24 + ldmia sp!, {r4, r5, r6, r7, pc} + arm_func_end _ZN10MapManager18func_ov00_02083a54EiPS_iii + + .global _ZN10MapManager18func_ov00_02083b84Ev + arm_func_start _ZN10MapManager18func_ov00_02083b84Ev +_ZN10MapManager18func_ov00_02083b84Ev: ; 0x02083b84 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + mov r5, r1 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + mov r4, r0 + ldr r0, [r6, #4] + mov r1, r5 + bl func_ov00_0207f694 + add r0, r4, r0 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02083b84Ev + + .global _ZN10MapManager18func_ov00_02083bacEv + arm_func_start _ZN10MapManager18func_ov00_02083bacEv +_ZN10MapManager18func_ov00_02083bacEv: ; 0x02083bac + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + mov r5, r1 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev + mov r4, r0 + ldr r0, [r6, #4] + mov r1, r5 + bl func_ov00_0207f6a0 + add r0, r4, r0 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02083bacEv + + .global _ZN10MapManager18func_ov00_02083bd4Ev + arm_func_start _ZN10MapManager18func_ov00_02083bd4Ev +_ZN10MapManager18func_ov00_02083bd4Ev: ; 0x02083bd4 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + mov r5, r1 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + mov r4, r0 + ldr r0, [r6, #4] + mov r1, r5 + bl func_ov00_0207f6ac + add r0, r4, r0 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02083bd4Ev + + .global _ZN10MapManager18func_ov00_02083bfcEv + arm_func_start _ZN10MapManager18func_ov00_02083bfcEv +_ZN10MapManager18func_ov00_02083bfcEv: ; 0x02083bfc + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + mov r5, r1 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev + mov r4, r0 + ldr r0, [r6, #4] + mov r1, r5 + bl func_ov00_0207f6bc + add r0, r4, r0 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02083bfcEv + + .global _ZN10MapManager18func_ov00_02083c24Ei + arm_func_start _ZN10MapManager18func_ov00_02083c24Ei +_ZN10MapManager18func_ov00_02083c24Ei: ; 0x02083c24 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + mov r5, r1 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + mov r4, r0 + ldr r0, [r6, #4] + mov r1, r5 + bl func_ov00_0207f694 + add r0, r4, r0 + add r0, r0, #0x800 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02083c24Ei + + .global _ZN10MapManager18func_ov00_02083c50Ei + arm_func_start _ZN10MapManager18func_ov00_02083c50Ei +_ZN10MapManager18func_ov00_02083c50Ei: ; 0x02083c50 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + mov r5, r1 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev + mov r4, r0 + ldr r0, [r6, #4] + mov r1, r5 + bl func_ov00_0207f6a0 + add r0, r4, r0 + add r0, r0, #0x800 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02083c50Ei + + .global _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi + arm_func_start _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +_ZN10MapManager18func_ov00_02083c7cEP5Vec3pi: ; 0x02083c7c + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0xc + mov r4, r1 + ldrb r1, [sp, #0x20] + mov r5, r0 + bl _ZN10MapManager18func_ov00_02083c24Ei + str r0, [r4] + ldrb r1, [sp, #0x21] + mov r0, r5 + bl _ZN10MapManager18func_ov00_02083c50Ei + str r0, [r4, #8] + ldr r0, [r4] + add r1, sp, #0 + str r0, [sp] + ldr r2, [r4, #4] + mov r0, r5 + str r2, [sp, #4] + ldr r3, [r4, #8] + mov r2, #1 + str r3, [sp, #8] + bl _ZN10MapManager16MapData_vfunc_68Ev + str r0, [r4, #4] + add sp, sp, #0xc + ldmia sp!, {r4, r5, lr} + add sp, sp, #0x10 + bx lr + arm_func_end _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi + + .global _ZN10MapManager18func_ov00_02083ce8Ecccci + arm_func_start _ZN10MapManager18func_ov00_02083ce8Ecccci +_ZN10MapManager18func_ov00_02083ce8Ecccci: ; 0x02083ce8 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x18 + mov r6, r0 + mov r5, r1 + mov r4, r3 + bl _ZN10MapManager21GetCourseData_Unk_25cEv + cmp r0, #0 + beq _02083dd0 + mvn r0, #0 + cmp r4, r0 + ldrne r2, [sp, #0x38] + cmpne r2, r0 + bne _02083d30 + mov r0, r6 + bl _ZN10MapManager18func_ov00_02082d08Ev + mov r1, r0 + b _02083d44 +_02083d30: + ldr r1, [r6] + mov r0, #0xa + mla r0, r4, r0, r1 + add r0, r0, r2 + ldrb r1, [r0, #0x20] +_02083d44: + mov r0, r6 + bl _ZN10MapManager18func_ov00_02083318Ei + cmp r0, #0 + beq _02083da4 + ldr r3, [sp, #0x38] + add r1, sp, #0xc + mov r0, r6 + mov r2, r4 + bl _ZN10MapManager18func_ov00_02083524EP5Vec3pii + ldrb r1, [sp, #0x30] + ldr r0, [r6, #4] + bl func_ov00_0207f694 + ldr r2, [sp, #0xc] + ldrb r1, [sp, #0x31] + add r0, r2, r0 + add r0, r0, #0x800 + str r0, [r5] + ldr r0, [r6, #4] + bl func_ov00_0207f6a0 + ldr r1, [sp, #0x14] + add r0, r1, r0 + add r0, r0, #0x800 + str r0, [r5, #8] + b _02083df8 +_02083da4: + ldrb r1, [sp, #0x30] + ldr r0, [r6, #4] + bl func_ov00_0207f694 + add r0, r0, #0x800 + str r0, [r5] + ldrb r1, [sp, #0x31] + ldr r0, [r6, #4] + bl func_ov00_0207f6a0 + add r0, r0, #0x800 + str r0, [r5, #8] + b _02083df8 +_02083dd0: + ldrb r1, [sp, #0x30] + ldr r0, [r6, #4] + bl func_ov00_0207f694 + add r0, r0, #0x800 + str r0, [r5] + ldrb r1, [sp, #0x31] + ldr r0, [r6, #4] + bl func_ov00_0207f6a0 + add r0, r0, #0x800 + str r0, [r5, #8] +_02083df8: + ldr r0, [r5] + add r1, sp, #0 + str r0, [sp] + ldr r2, [r5, #4] + mov r0, r6 + str r2, [sp, #4] + ldr r3, [r5, #8] + mov r2, #1 + str r3, [sp, #8] + bl _ZN10MapManager16MapData_vfunc_68Ev + str r0, [r5, #4] + add sp, sp, #0x18 + ldmia sp!, {r4, r5, r6, lr} + add sp, sp, #0x10 + bx lr + arm_func_end _ZN10MapManager18func_ov00_02083ce8Ecccci + + .global _ZN10MapManager18func_ov00_02083e34Ecci + arm_func_start _ZN10MapManager18func_ov00_02083e34Ecci +_ZN10MapManager18func_ov00_02083e34Ecci: ; 0x02083e34 + stmdb sp!, {r3, lr} + strb r1, [sp] + strb r2, [sp, #1] + ldr r0, [r0, #4] + add r1, sp, #0 + ldr r2, [r0] + ldr r2, [r2, #0x60] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02083e34Ecci + + .global _ZN10MapManager16MapData_vfunc_60Ev + arm_func_start _ZN10MapManager16MapData_vfunc_60Ev +_ZN10MapManager16MapData_vfunc_60Ev: ; 0x02083e58 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r2, [r0] + ldr r2, [r2, #0x60] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_60Ev + + .global _ZN10MapManager18func_ov00_02083e70Ev + arm_func_start _ZN10MapManager18func_ov00_02083e70Ev +_ZN10MapManager18func_ov00_02083e70Ev: ; 0x02083e70 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r4, r1 + bl _ZN10MapManager16MapData_vfunc_54Ev + cmp r0, #0x2b + bgt _02083e98 + bge _02083eb0 + cmp r0, #0x1b + beq _02083eb0 + b _02083eb8 +_02083e98: + cmp r0, #0x4f + bgt _02083eb8 + cmp r0, #0x4e + blt _02083eb8 + cmpne r0, #0x4f + bne _02083eb8 +_02083eb0: + mov r0, #1 + ldmia sp!, {r3, r4, r5, pc} +_02083eb8: + mov r0, r5 + mov r1, r4 + bl _ZN10MapManager16MapData_vfunc_60Ev + mov r4, r0 + mov r0, r5 + bl _ZN10MapManager17GetMapData_Unk_48Ev + cmp r4, r0 + movge r0, #1 + movlt r0, #0 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_02083e70Ev + + .global _ZN10MapManager16MapData_vfunc_68Ev + arm_func_start _ZN10MapManager16MapData_vfunc_68Ev +_ZN10MapManager16MapData_vfunc_68Ev: ; 0x02083ee0 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r3, [r0] + ldr r3, [r3, #0x68] + blx r3 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_68Ev + + .global _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ + arm_func_start _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ +_ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_: ; 0x02083ef8 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0xc + add ip, sp, #0 + mov r4, r0 + mov lr, r2 + ldmia r1, {r0, r1, r2} + stmia ip, {r0, r1, r2} + ldr r1, [lr, #4] + ldr r0, [sp, #4] + mov r2, r3 + cmp r1, r0 + strgt r1, [sp, #4] + ldr r0, [r4, #4] + add r1, sp, #0 + ldr ip, [r0] + ldr ip, [ip, #0x68] + blx ip + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} + arm_func_end _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ + + .global _ZN10MapManager18func_ov00_02083f44EP5Vec3p + arm_func_start _ZN10MapManager18func_ov00_02083f44EP5Vec3p +_ZN10MapManager18func_ov00_02083f44EP5Vec3p: ; 0x02083f44 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0xc + ldr ip, _02083f7c ; =data_ov00_020e24a4 + mov r3, r2 + ldr r4, [r1, #8] + ldr lr, [r1] + ldr ip, [ip, #0x20] + add r2, sp, #0 + str lr, [sp] + str ip, [sp, #4] + str r4, [sp, #8] + bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083f44EP5Vec3p +_02083f7c: .word data_ov00_020e24a4 + + .global _ZN10MapManager16MapData_vfunc_6cEv + arm_func_start _ZN10MapManager16MapData_vfunc_6cEv +_ZN10MapManager16MapData_vfunc_6cEv: ; 0x02083f80 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr ip, [r0] + ldr ip, [ip, #0x6c] + blx ip + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_6cEv + + .global _ZN10MapManager16MapData_vfunc_70Ev + arm_func_start _ZN10MapManager16MapData_vfunc_70Ev +_ZN10MapManager16MapData_vfunc_70Ev: ; 0x02083f98 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r2, [r0] + ldr r2, [r2, #0x70] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_70Ev + + .global _ZN10MapManager18func_ov00_02083fb0EiPS_i + arm_func_start _ZN10MapManager18func_ov00_02083fb0EiPS_i +_ZN10MapManager18func_ov00_02083fb0EiPS_i: ; 0x02083fb0 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r1 + mov r4, r0 + ldr r0, [r6, #4] + mov r5, r2 + ldr r2, [r0] + mov r1, r5 + ldr r2, [r2, #0x74] + blx r2 + cmp r0, #0 + ldrne r0, [r0, #0xc] + strne r0, [r4] + ldmneia sp!, {r4, r5, r6, pc} + mov r0, r6 + mov r1, r5 + bl _ZN10MapManager16MapData_vfunc_70Ev + ldr r1, _0208401c ; =0x0000ffff + mov r2, r0 + cmp r2, r1 + moveq r0, #0 + streq r0, [r4] + ldmeqia sp!, {r4, r5, r6, pc} + ldr r1, _02084020 ; =data_027e0f6c + mov r0, r4 + ldr r1, [r1] + bl func_ov00_02093a1c + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02083fb0EiPS_i +_0208401c: .word 0x0000ffff +_02084020: .word data_027e0f6c + + .global _ZN10MapManager18func_ov00_02084024EiP4AABB + arm_func_start _ZN10MapManager18func_ov00_02084024EiP4AABB +_ZN10MapManager18func_ov00_02084024EiP4AABB: ; 0x02084024 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0xc + mov r6, r0 + ldr r0, [r6, #4] + mov r5, r2 + bl func_ov00_0207f6cc + mov r0, r6 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev + mov r4, r0 + mov r0, r6 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + add r1, sp, #0 + mov r0, r5 + mov r2, r5 + str r4, [sp, #8] + bl func_01ff9bc4 + add r0, r5, #0xc + mov r2, r0 + add r1, sp, #0 + bl func_01ff9bc4 + add sp, sp, #0xc + ldmia sp!, {r3, r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02084024EiP4AABB + + .global _ZN10MapManager16MapData_vfunc_54Ev + arm_func_start _ZN10MapManager16MapData_vfunc_54Ev +_ZN10MapManager16MapData_vfunc_54Ev: ; 0x02084088 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r2, [r0] + ldr r2, [r2, #0x54] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_54Ev + + .global _ZN10MapManager18func_ov00_020840a0Ecci + arm_func_start _ZN10MapManager18func_ov00_020840a0Ecci +_ZN10MapManager18func_ov00_020840a0Ecci: ; 0x020840a0 + stmdb sp!, {r3, lr} + strb r1, [sp] + strb r2, [sp, #1] + ldr r0, [r0, #4] + add r1, sp, #0 + ldr r2, [r0] + ldr r2, [r2, #0x54] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_020840a0Ecci + + .global _ZN10MapManager16MapData_vfunc_78Ev + arm_func_start _ZN10MapManager16MapData_vfunc_78Ev +_ZN10MapManager16MapData_vfunc_78Ev: ; 0x020840c4 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r2, [r0] + ldr r2, [r2, #0x78] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_78Ev + + .global _ZN10MapManager18func_ov00_020840dcEv + arm_func_start _ZN10MapManager18func_ov00_020840dcEv +_ZN10MapManager18func_ov00_020840dcEv: ; 0x020840dc + stmdb sp!, {r3, lr} + bl _ZN10MapManager16MapData_vfunc_78Ev + cmp r0, #0 + mvneq r0, #0 + ldmeqia sp!, {r3, pc} + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_020840dcEv + + .global _ZN10MapManager18func_ov00_02084100EiPS_ + arm_func_start _ZN10MapManager18func_ov00_02084100EiPS_ +_ZN10MapManager18func_ov00_02084100EiPS_: ; 0x02084100 + ldr r1, [r1, #4] + ldr r2, [r1, #0x40] + ldr r1, [r1, #0x44] + stmia r0, {r1, r2} + bx lr + arm_func_end _ZN10MapManager18func_ov00_02084100EiPS_ + + .global _ZN10MapManager17GetMapData_Unk_48Ev + arm_func_start _ZN10MapManager17GetMapData_Unk_48Ev +_ZN10MapManager17GetMapData_Unk_48Ev: ; 0x02084114 + ldr r0, [r0, #4] + ldr r0, [r0, #0x48] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_48Ev + + .global _ZN10MapManager17GetMapData_Unk_4cEv + arm_func_start _ZN10MapManager17GetMapData_Unk_4cEv +_ZN10MapManager17GetMapData_Unk_4cEv: ; 0x02084120 + ldr r0, [r0, #4] + ldr r0, [r0, #0x4c] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_4cEv + + .global _ZN10MapManager18func_ov00_0208412cEv + arm_func_start _ZN10MapManager18func_ov00_0208412cEv +_ZN10MapManager18func_ov00_0208412cEv: ; 0x0208412c + ldr ip, _02084138 ; =func_ov00_0207f934 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_0208412cEv +_02084138: .word func_ov00_0207f934 + + .global _ZN10MapManager18func_ov00_0208413cEi + arm_func_start _ZN10MapManager18func_ov00_0208413cEi +_ZN10MapManager18func_ov00_0208413cEi: ; 0x0208413c + ldr ip, _02084148 ; =func_ov00_0207f948 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_0208413cEi +_02084148: .word func_ov00_0207f948 + + .global _ZN10MapManager16MapData_vfunc_58Ev + arm_func_start _ZN10MapManager16MapData_vfunc_58Ev +_ZN10MapManager16MapData_vfunc_58Ev: ; 0x0208414c + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r3, [r0] + ldr r3, [r3, #0x58] + blx r3 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_58Ev + + .global _ZN10MapManager18func_ov00_02084164Ev + arm_func_start _ZN10MapManager18func_ov00_02084164Ev +_ZN10MapManager18func_ov00_02084164Ev: ; 0x02084164 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r0, [r5, #4] + mov r2, #7 + ldr r3, [r0] + mov r4, r1 + ldr r3, [r3, #0x58] + blx r3 + cmp r0, #0 + movne r0, #0 + ldmneia sp!, {r3, r4, r5, pc} + mov r0, r5 + mov r1, r4 + bl _ZN10MapManager16MapData_vfunc_54Ev + cmp r0, #0x54 + addls pc, pc, r0, lsl #2 + b _02084304 +_020841a8: ; jump table + b _020842fc ; case 0 + b _02084304 ; case 1 + b _02084304 ; case 2 + b _02084304 ; case 3 + b _02084304 ; case 4 + b _02084304 ; case 5 + b _02084304 ; case 6 + b _02084304 ; case 7 + b _020842fc ; case 8 + b _020842fc ; case 9 + b _02084304 ; case 10 + b _020842fc ; case 11 + b _020842fc ; case 12 + b _020842fc ; case 13 + b _020842fc ; case 14 + b _020842fc ; case 15 + b _020842fc ; case 16 + b _020842fc ; case 17 + b _020842fc ; case 18 + b _020842fc ; case 19 + b _02084304 ; case 20 + b _020842fc ; case 21 + b _020842fc ; case 22 + b _02084304 ; case 23 + b _020842fc ; case 24 + b _02084304 ; case 25 + b _020842fc ; case 26 + b _02084304 ; case 27 + b _02084304 ; case 28 + b _02084304 ; case 29 + b _02084304 ; case 30 + b _02084304 ; case 31 + b _020842fc ; case 32 + b _020842fc ; case 33 + b _020842fc ; case 34 + b _020842fc ; case 35 + b _02084304 ; case 36 + b _020842fc ; case 37 + b _020842fc ; case 38 + b _020842fc ; case 39 + b _020842fc ; case 40 + b _020842fc ; case 41 + b _020842fc ; case 42 + b _02084304 ; case 43 + b _020842fc ; case 44 + b _020842fc ; case 45 + b _020842fc ; case 46 + b _020842fc ; case 47 + b _02084304 ; case 48 + b _020842fc ; case 49 + b _020842fc ; case 50 + b _02084304 ; case 51 + b _02084304 ; case 52 + b _020842fc ; case 53 + b _020842fc ; case 54 + b _02084304 ; case 55 + b _020842fc ; case 56 + b _020842fc ; case 57 + b _020842fc ; case 58 + b _020842fc ; case 59 + b _020842fc ; case 60 + b _020842fc ; case 61 + b _020842fc ; case 62 + b _020842fc ; case 63 + b _02084304 ; case 64 + b _020842fc ; case 65 + b _020842fc ; case 66 + b _020842fc ; case 67 + b _020842fc ; case 68 + b _020842fc ; case 69 + b _02084304 ; case 70 + b _02084304 ; case 71 + b _02084304 ; case 72 + b _02084304 ; case 73 + b _02084304 ; case 74 + b _02084304 ; case 75 + b _02084304 ; case 76 + b _020842fc ; case 77 + b _02084304 ; case 78 + b _02084304 ; case 79 + b _02084304 ; case 80 + b _020842fc ; case 81 + b _020842fc ; case 82 + b _020842fc ; case 83 + b _020842fc ; case 84 +_020842fc: + mov r0, #1 + ldmia sp!, {r3, r4, r5, pc} +_02084304: + mov r0, #0 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_02084164Ev + + .global _ZN10MapManager17GetMapData_Unk_0aEv + arm_func_start _ZN10MapManager17GetMapData_Unk_0aEv +_ZN10MapManager17GetMapData_Unk_0aEv: ; 0x0208430c + ldr r0, [r0, #4] + ldrb r0, [r0, #0xa] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_0aEv + + .global _ZN10MapManager17GetMapData_Unk_0bEv + arm_func_start _ZN10MapManager17GetMapData_Unk_0bEv +_ZN10MapManager17GetMapData_Unk_0bEv: ; 0x02084318 + ldr r0, [r0, #4] + ldrb r0, [r0, #0xb] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_0bEv + + .global _ZN10MapManager16MapData_vfunc_a4Ev + arm_func_start _ZN10MapManager16MapData_vfunc_a4Ev +_ZN10MapManager16MapData_vfunc_a4Ev: ; 0x02084324 + stmdb sp!, {r3, lr} + ldr r0, [r0, #4] + ldr r2, [r0] + ldr r2, [r2, #0xa4] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager16MapData_vfunc_a4Ev + + .global _ZN10MapManager18func_ov00_0208433cEP5Vec3pi + arm_func_start _ZN10MapManager18func_ov00_0208433cEP5Vec3pi +_ZN10MapManager18func_ov00_0208433cEP5Vec3pi: ; 0x0208433c + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0x1c + add r3, sp, #0x10 + mov r5, r0 + mov r4, r2 + ldmia r1, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r1, sp, #4 + mov r0, r5 + bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p + add r0, sp, #0x10 + add r1, sp, #4 + mov r2, r0 + bl func_01ff9bf8 + ldr r1, [r5, #4] + add r0, sp, #0 + add r2, sp, #0x10 + bl func_ov00_0207f53c + ldrsh r0, [sp] + strh r0, [r4] + ldrsh r0, [sp, #2] + strh r0, [r4, #2] + add sp, sp, #0x1c + ldmia sp!, {r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_0208433cEP5Vec3pi + + .global _ZN10MapManager18func_ov00_0208439cEv + arm_func_start _ZN10MapManager18func_ov00_0208439cEv +_ZN10MapManager18func_ov00_0208439cEv: ; 0x0208439c + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0xc + mov r5, r0 + ldr r0, [r5, #4] + mov r4, r2 + bl func_ov00_0207f630 + add r1, sp, #0 + mov r0, r5 + bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p + add r1, sp, #0 + mov r0, r4 + mov r2, r4 + bl func_01ff9bc4 + mov r0, r5 + mov r1, r4 + mov r2, #1 + bl _ZN10MapManager16MapData_vfunc_68Ev + str r0, [r4, #4] + add sp, sp, #0xc + ldmia sp!, {r4, r5, pc} + arm_func_end _ZN10MapManager18func_ov00_0208439cEv + + .global _ZN10MapManager18func_ov00_020843ecEPi + arm_func_start _ZN10MapManager18func_ov00_020843ecEPi +_ZN10MapManager18func_ov00_020843ecEPi: ; 0x020843ec + stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} + sub sp, sp, #0x6c + mov r6, r1 + mov r5, r0 + mov r0, r6 + ldr r1, [r0] + mov r4, r2 + ldr r1, [r1, #8] + blx r1 + cmp r0, #0 + cmpne r0, #1 + beq _0208442c + cmp r0, #2 + beq _02084574 + add sp, sp, #0x6c + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} +_0208442c: + mov r0, r6 + ldr r2, [r0] + add r1, sp, #0x60 + ldr r2, [r2, #0x3c] + blx r2 + mov r0, r6 + ldr r1, [r0] + ldr r1, [r1, #0x40] + blx r1 + ldr r6, [sp, #0x64] + ldr r2, [sp, #0x60] + ldr r3, [sp, #0x68] + sub r1, r2, r0 + str r1, [sp, #0x54] + sub r1, r3, r0 + str r1, [sp, #0x5c] + add r2, r2, r0 + add r1, r3, r0 + mov r0, r5 + str r2, [sp, #0x48] + str r6, [sp, #0x58] + str r6, [sp, #0x4c] + str r1, [sp, #0x50] + bl _ZN10MapManager18func_ov00_020833c4Ev + ldr r1, [sp, #0x54] + sub r0, r1, r0 + str r0, [sp, #0x54] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833d0Ev + ldr r1, [sp, #0x5c] + sub r0, r1, r0 + str r0, [sp, #0x5c] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833c4Ev + ldr r1, [sp, #0x48] + sub r0, r1, r0 + str r0, [sp, #0x48] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833d0Ev + ldr r1, [sp, #0x50] + add r2, sp, #0x54 + sub r0, r1, r0 + str r0, [sp, #0x50] + ldr r1, [r5, #4] + add r0, sp, #0x14 + bl func_ov00_0207f53c + ldr r1, [r5, #4] + add r0, sp, #0x10 + add r2, sp, #0x48 + bl func_ov00_0207f53c + ldrsh r7, [sp, #0x14] + ldrsh r0, [sp, #0x10] + cmp r7, r0 + addgt sp, sp, #0x6c + ldmgtia sp!, {r3, r4, r5, r6, r7, r8, pc} + add r6, sp, #4 +_0208450c: + ldrsh r8, [sp, #0x16] + ldrsh r0, [sp, #0x12] + cmp r8, r0 + bgt _02084554 +_0208451c: + strh r7, [sp, #4] + strh r8, [sp, #6] + ldr r0, [r5, #4] + mov r1, r6 + ldr r3, [r0] + mov r2, r4 + ldr r3, [r3, #0xac] + blx r3 + add r0, r8, #1 + mov r0, r0, lsl #0x10 + ldrsh r1, [sp, #0x12] + mov r8, r0, asr #0x10 + cmp r1, r0, asr #16 + bge _0208451c +_02084554: + ldrsh r1, [sp, #0x10] + add r0, r7, #1 + mov r0, r0, lsl #0x10 + cmp r1, r0, asr #16 + mov r7, r0, asr #0x10 + bge _0208450c + add sp, sp, #0x6c + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} +_02084574: + mov r0, r6 + ldr r2, [r0] + add r1, sp, #0x30 + ldr r2, [r2, #0x2c] + blx r2 + add r0, sp, #0x30 + add r3, sp, #0x24 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r0, sp, #0x3c + add r3, sp, #0x18 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833c4Ev + ldr r1, [sp, #0x24] + sub r0, r1, r0 + str r0, [sp, #0x24] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833d0Ev + ldr r1, [sp, #0x2c] + sub r0, r1, r0 + str r0, [sp, #0x2c] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833c4Ev + ldr r1, [sp, #0x18] + sub r0, r1, r0 + str r0, [sp, #0x18] + mov r0, r5 + bl _ZN10MapManager18func_ov00_020833d0Ev + ldr r1, [sp, #0x20] + add r2, sp, #0x24 + sub r0, r1, r0 + str r0, [sp, #0x20] + ldr r1, [r5, #4] + add r0, sp, #0xc + bl func_ov00_0207f53c + ldr r1, [r5, #4] + add r0, sp, #8 + add r2, sp, #0x18 + bl func_ov00_0207f53c + ldrsh r7, [sp, #0xc] + ldrsh r0, [sp, #8] + cmp r7, r0 + addgt sp, sp, #0x6c + ldmgtia sp!, {r3, r4, r5, r6, r7, r8, pc} + add r6, sp, #0 +_02084630: + ldrsh r8, [sp, #0xe] + ldrsh r0, [sp, #0xa] + cmp r8, r0 + bgt _02084678 +_02084640: + strh r7, [sp] + strh r8, [sp, #2] + ldr r0, [r5, #4] + mov r1, r6 + ldr r3, [r0] + mov r2, r4 + ldr r3, [r3, #0xac] + blx r3 + add r0, r8, #1 + mov r0, r0, lsl #0x10 + ldrsh r1, [sp, #0xa] + mov r8, r0, asr #0x10 + cmp r1, r0, asr #16 + bge _02084640 +_02084678: + ldrsh r1, [sp, #8] + add r0, r7, #1 + mov r0, r0, lsl #0x10 + cmp r1, r0, asr #16 + mov r7, r0, asr #0x10 + bge _02084630 + add sp, sp, #0x6c + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} + arm_func_end _ZN10MapManager18func_ov00_020843ecEPi + + .global _ZN10MapManager17GetMapData_Unk_38Ev + arm_func_start _ZN10MapManager17GetMapData_Unk_38Ev +_ZN10MapManager17GetMapData_Unk_38Ev: ; 0x02084698 + ldr r0, [r0, #4] + ldr r0, [r0, #0x38] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_38Ev + + .global _ZN10MapManager18func_ov00_020846a4Ev + arm_func_start _ZN10MapManager18func_ov00_020846a4Ev +_ZN10MapManager18func_ov00_020846a4Ev: ; 0x020846a4 + ldr r1, [r0, #4] + ldr r1, [r1, #0x144] + ldr r1, [r1, #4] + cmp r1, #0xff + bne _020846f8 + ldr r0, [r0] + ldr r0, [r0, #4] + cmp r0, #4 + addls pc, pc, r0, lsl #2 + b _020846f0 +_020846cc: ; jump table + b _020846f0 ; case 0 + b _020846e0 ; case 1 + b _020846e8 ; case 2 + b _020846e0 ; case 3 + b _020846e0 ; case 4 +_020846e0: + mov r0, #1 + bx lr +_020846e8: + mov r0, #2 + bx lr +_020846f0: + mov r0, #0 + bx lr +_020846f8: + mov r0, r1 + bx lr + arm_func_end _ZN10MapManager18func_ov00_020846a4Ev + + .global _ZN10MapManager18func_ov00_02084700Ev + arm_func_start _ZN10MapManager18func_ov00_02084700Ev +_ZN10MapManager18func_ov00_02084700Ev: ; 0x02084700 + ldr r2, [r0, #4] + mvn r1, #0 + ldr r2, [r2, #0x34] + cmp r2, r1 + ldreq r0, [r0] + ldreq r2, [r0, #0xc4] + cmp r2, #0x1b + bne _02084734 + ldr r0, _0208473c ; =data_027e0fe4 + ldr r0, [r0] + ldrb r0, [r0, #0x29] + cmp r0, #0 + movne r2, #0x1c +_02084734: + mov r0, r2 + bx lr + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02084700Ev +_0208473c: .word data_027e0fe4 + + .global _ZN10MapManager18func_ov00_02084740Ev + arm_func_start _ZN10MapManager18func_ov00_02084740Ev +_ZN10MapManager18func_ov00_02084740Ev: ; 0x02084740 + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0x1bc + mov r5, r0 + bl _ZN10MapManager18func_ov00_02084700Ev + ldr r1, _020847d4 ; =data_027e0d38 + mov r4, r0 + ldr r0, [r1] + bl func_ov00_02078b40 + cmp r0, #2 + beq _020847a8 + ldr r0, _020847d8 ; =data_027e0f94 + add r1, sp, #0 + ldr r3, [r0] + ldr r2, [r0, #4] + str r3, [sp] + str r2, [sp, #4] + ldr r2, [r0, #8] + mov r0, r5 + str r2, [sp, #8] + bl _ZN10MapManager18func_ov00_02083780Ei + mov r1, r0 + cmp r1, #0 + ble _020847a8 + mov r0, r5 + bl _ZN10MapManager18func_ov00_020847f0Ev + mov r4, r0 +_020847a8: + ldr r5, _020847dc ; =data_ov00_020d88f0 + add lr, sp, #0xc + mov ip, #0x1b +_020847b4: + ldmia r5!, {r0, r1, r2, r3} + stmia lr!, {r0, r1, r2, r3} + subs ip, ip, #1 + bne _020847b4 + add r0, sp, #0xc + ldr r0, [r0, r4, lsl #2] + add sp, sp, #0x1bc + ldmia sp!, {r4, r5, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02084740Ev +_020847d4: .word data_027e0d38 +_020847d8: .word data_027e0f94 +_020847dc: .word data_ov00_020d88f0 + + .global _ZN10MapManager18func_ov00_020847e0Ev + arm_func_start _ZN10MapManager18func_ov00_020847e0Ev +_ZN10MapManager18func_ov00_020847e0Ev: ; 0x020847e0 + ldr r0, [r0, #4] + ldr r0, [r0, #0x144] + ldr r0, [r0, #0xc] + bx lr + arm_func_end _ZN10MapManager18func_ov00_020847e0Ev + + .global _ZN10MapManager18func_ov00_020847f0Ev + arm_func_start _ZN10MapManager18func_ov00_020847f0Ev +_ZN10MapManager18func_ov00_020847f0Ev: ; 0x020847f0 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r0, [r4, #4] + bl func_ov00_0207fc98 + cmp r0, #0 + bne _02084814 + mov r0, r4 + bl _ZN10MapManager18func_ov00_02084700Ev + ldmia sp!, {r4, pc} +_02084814: + ldr r0, [r0, #0xc] + mvn r1, #0 + cmp r0, r1 + beq _0208482c + cmp r0, #0x6c + ldmltia sp!, {r4, pc} +_0208482c: + mov r0, r4 + bl _ZN10MapManager18func_ov00_02084700Ev + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_020847f0Ev + + .global _ZN10MapManager18func_ov00_02084838Ev + arm_func_start _ZN10MapManager18func_ov00_02084838Ev +_ZN10MapManager18func_ov00_02084838Ev: ; 0x02084838 + stmdb sp!, {r3, lr} + bl _ZN10MapManager17GetMapData_Unk_38Ev + cmp r0, #0x16 + addls pc, pc, r0, lsl #2 + b _020848b0 +_0208484c: ; jump table + b _020848b0 ; case 0 + b _020848a8 ; case 1 + b _020848a8 ; case 2 + b _020848a8 ; case 3 + b _020848a8 ; case 4 + b _020848a8 ; case 5 + b _020848b0 ; case 6 + b _020848b0 ; case 7 + b _020848b0 ; case 8 + b _020848b0 ; case 9 + b _020848a8 ; case 10 + b _020848a8 ; case 11 + b _020848a8 ; case 12 + b _020848b0 ; case 13 + b _020848b0 ; case 14 + b _020848b0 ; case 15 + b _020848b0 ; case 16 + b _020848a8 ; case 17 + b _020848b0 ; case 18 + b _020848a8 ; case 19 + b _020848a8 ; case 20 + b _020848a8 ; case 21 + b _020848a8 ; case 22 +_020848a8: + mov r0, #1 + ldmia sp!, {r3, pc} +_020848b0: + mov r0, #0 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084838Ev + + .global _ZN10MapManager18func_ov00_020848b8Ev + arm_func_start _ZN10MapManager18func_ov00_020848b8Ev +_ZN10MapManager18func_ov00_020848b8Ev: ; 0x020848b8 + stmdb sp!, {r3, lr} + bl _ZN10MapManager18func_ov00_020846a4Ev + cmp r0, #0x11 + addls pc, pc, r0, lsl #2 + b _0208491c +_020848cc: ; jump table + b _0208491c ; case 0 + b _0208491c ; case 1 + b _0208491c ; case 2 + b _0208491c ; case 3 + b _0208491c ; case 4 + b _0208491c ; case 5 + b _02084914 ; case 6 + b _0208491c ; case 7 + b _0208491c ; case 8 + b _0208491c ; case 9 + b _0208491c ; case 10 + b _0208491c ; case 11 + b _02084914 ; case 12 + b _02084914 ; case 13 + b _0208491c ; case 14 + b _02084914 ; case 15 + b _0208491c ; case 16 + b _02084914 ; case 17 +_02084914: + mov r0, #1 + ldmia sp!, {r3, pc} +_0208491c: + mov r0, #0 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_020848b8Ev + + .global _ZN10MapManager18func_ov00_02084924Ej + arm_func_start _ZN10MapManager18func_ov00_02084924Ej +_ZN10MapManager18func_ov00_02084924Ej: ; 0x02084924 + ldr ip, _02084930 ; =func_ov00_0208008c + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02084924Ej +_02084930: .word func_ov00_0208008c + + .global _ZN10MapManager18func_ov00_02084934Ev + arm_func_start _ZN10MapManager18func_ov00_02084934Ev +_ZN10MapManager18func_ov00_02084934Ev: ; 0x02084934 + stmdb sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #0xc + mov r6, r1 + mov r7, r0 + bl _ZN10MapManager18Get_MapData_Unk_d8Ev + ldr r1, [r6, #8] + ldr r4, [r6, #4] + sub r5, r1, r0 + mov r0, r7 + bl _ZN10MapManager18Get_MapData_Unk_d0Ev + ldr r2, [r6] + add r1, sp, #0 + sub r0, r2, r0 + str r4, [sp, #4] + str r5, [sp, #8] + str r0, [sp] + ldr r0, [r7, #4] + bl func_ov00_0207f7e8 + add sp, sp, #0xc + ldmia sp!, {r4, r5, r6, r7, pc} + arm_func_end _ZN10MapManager18func_ov00_02084934Ev + + .global _ZN10MapManager17GetMapData_Unk_06Ev + arm_func_start _ZN10MapManager17GetMapData_Unk_06Ev +_ZN10MapManager17GetMapData_Unk_06Ev: ; 0x02084984 + ldr r0, [r0, #4] + ldrb r0, [r0, #6] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_06Ev + + .global _ZN10MapManager17GetMapData_Unk_07Ev + arm_func_start _ZN10MapManager17GetMapData_Unk_07Ev +_ZN10MapManager17GetMapData_Unk_07Ev: ; 0x02084990 + ldr r0, [r0, #4] + ldrb r0, [r0, #7] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_07Ev + + .global _ZN10MapManager18func_ov00_0208499cEv + arm_func_start _ZN10MapManager18func_ov00_0208499cEv +_ZN10MapManager18func_ov00_0208499cEv: ; 0x0208499c + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN10MapManager18func_ov00_020849c0Ev + cmp r0, #0 + movne r0, #0 + ldmneia sp!, {r4, pc} + ldr r0, [r4] + bl func_ov00_0207d47c + ldmia sp!, {r4, pc} + arm_func_end _ZN10MapManager18func_ov00_0208499cEv + + .global _ZN10MapManager18func_ov00_020849c0Ev + arm_func_start _ZN10MapManager18func_ov00_020849c0Ev +_ZN10MapManager18func_ov00_020849c0Ev: ; 0x020849c0 + ldr r1, [r0] + mvn r0, #1 + ldr r1, [r1, #8] + cmp r1, r0 + moveq r0, #1 + movne r0, #0 + bx lr + arm_func_end _ZN10MapManager18func_ov00_020849c0Ev + + .global _ZN10MapManager18func_ov00_020849dcEv + arm_func_start _ZN10MapManager18func_ov00_020849dcEv +_ZN10MapManager18func_ov00_020849dcEv: ; 0x020849dc + ldr r1, [r0] + mvn r0, #2 + ldr r1, [r1, #8] + cmp r1, r0 + moveq r0, #1 + movne r0, #0 + bx lr + arm_func_end _ZN10MapManager18func_ov00_020849dcEv + + .global _ZN10MapManager18func_ov00_020849f8Ei + arm_func_start _ZN10MapManager18func_ov00_020849f8Ei +_ZN10MapManager18func_ov00_020849f8Ei: ; 0x020849f8 + stmdb sp!, {r4, lr} + ldr r1, _02084a4c ; =data_027e0d38 + mov r4, r0 + ldr r0, [r1] + add r0, r0, #0xc + bl func_ov00_020a5e9c + cmp r0, #5 + bne _02084a20 + mov r0, #1 + ldmia sp!, {r4, pc} +_02084a20: + mov r0, r4 + bl _ZN10MapManager17GetMapData_Unk_06Ev + cmp r0, #0 + beq _02084a44 + mov r0, r4 + bl _ZN10MapManager18func_ov00_020849c0Ev + cmp r0, #0 + moveq r0, #1 + ldmeqia sp!, {r4, pc} +_02084a44: + mov r0, #0 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020849f8Ei +_02084a4c: .word data_027e0d38 + + .global _ZN10MapManager18func_ov00_02084a50Ev + arm_func_start _ZN10MapManager18func_ov00_02084a50Ev +_ZN10MapManager18func_ov00_02084a50Ev: ; 0x02084a50 + ldr r0, [r0, #4] + ldrb r0, [r0, #0x11] + bx lr + arm_func_end _ZN10MapManager18func_ov00_02084a50Ev + + .global _ZN10MapManager8SpawnNPCEP5Vec3pii + arm_func_start _ZN10MapManager8SpawnNPCEP5Vec3pii +_ZN10MapManager8SpawnNPCEP5Vec3pii: ; 0x02084a5c + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x30 + add r0, sp, #4 + mov r6, r1 + mov r5, r2 + mov r4, r3 + bl func_ov00_020c1500 + mvn r1, #0 + add r0, sp, #4 + str r1, [sp, #0x20] + str r1, [sp, #0x24] + bl func_ov00_020c3348 + str r5, [sp, #0x28] + str r4, [sp, #0x2c] + mov r1, #0 + str r1, [sp] + ldr r0, _02084abc ; =data_027e0fe8 + ldr r1, _02084ac0 ; =0x45564943 + ldr r0, [r0] + mov r2, r6 + add r3, sp, #4 + bl func_ov00_020c4048 + add sp, sp, #0x30 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN10MapManager8SpawnNPCEP5Vec3pii +_02084abc: .word data_027e0fe8 +_02084ac0: .word 0x45564943 + + .global _ZN10MapManager18func_ov00_02084ac4Ej + arm_func_start _ZN10MapManager18func_ov00_02084ac4Ej +_ZN10MapManager18func_ov00_02084ac4Ej: ; 0x02084ac4 + stmdb sp!, {r3, lr} + ldr r0, _02084b00 ; =data_027e0fe4 + ldr r0, [r0] + bl _ZN12ActorManager13FindActorByIdEj + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + ldr r2, [r0, #4] + ldr r1, _02084b04 ; =0x45564943 + cmp r2, r1 + movne r0, #0 + moveq r1, #0 + streqb r1, [r0, #0x118] + moveq r0, #1 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02084ac4Ej +_02084b00: .word data_027e0fe4 +_02084b04: .word 0x45564943 + + .global _ZN10MapManager10SetNumKeysEi + arm_func_start _ZN10MapManager10SetNumKeysEi +_ZN10MapManager10SetNumKeysEi: ; 0x02084b08 + ldr r0, [r0] + str r1, [r0, #0x260] + bx lr + arm_func_end _ZN10MapManager10SetNumKeysEi + + .global _ZN10MapManager10GetNumKeysEv + arm_func_start _ZN10MapManager10GetNumKeysEv +_ZN10MapManager10GetNumKeysEv: ; 0x02084b14 + ldr r0, [r0] + ldr r0, [r0, #0x260] + bx lr + arm_func_end _ZN10MapManager10GetNumKeysEv + + .global _ZN10MapManager21SetCourseData_Unk_25cEc + arm_func_start _ZN10MapManager21SetCourseData_Unk_25cEc +_ZN10MapManager21SetCourseData_Unk_25cEc: ; 0x02084b20 + ldr r0, [r0] + strb r1, [r0, #0x25d] + bx lr + arm_func_end _ZN10MapManager21SetCourseData_Unk_25cEc + + .global _ZN10MapManager21GetCourseData_Unk_25dEv + arm_func_start _ZN10MapManager21GetCourseData_Unk_25dEv +_ZN10MapManager21GetCourseData_Unk_25dEv: ; 0x02084b2c + ldr r0, [r0] + ldrb r0, [r0, #0x25d] + bx lr + arm_func_end _ZN10MapManager21GetCourseData_Unk_25dEv + + .global _ZN10MapManager18func_ov00_02084b38Eiii + arm_func_start _ZN10MapManager18func_ov00_02084b38Eiii +_ZN10MapManager18func_ov00_02084b38Eiii: ; 0x02084b38 + stmdb sp!, {r3, lr} + cmp r1, #0 + ldmeqia sp!, {r3, pc} + cmp r2, #3 + addls pc, pc, r2, lsl #2 + ldmia sp!, {r3, pc} +_02084b50: ; jump table + b _02084b60 ; case 0 + b _02084bb0 ; case 1 + b _02084bc0 ; case 2 + b _02084bd0 ; case 3 +_02084b60: + cmp r3, #0 + ldr r0, [r0, #4] + beq _02084b8c + add ip, r0, #0x180 + mov r3, r1, lsr #0x5 + and r0, r1, #0x1f + ldr r2, [ip, r3, lsl #2] + mov r1, #1 + orr r0, r2, r1, lsl r0 + str r0, [ip, r3, lsl #2] + ldmia sp!, {r3, pc} +_02084b8c: + add r3, r0, #0x180 + mov r2, r1, lsr #0x5 + and r0, r1, #0x1f + mov r1, #1 + mvn r0, r1, lsl r0 + ldr r1, [r3, r2, lsl #2] + and r0, r1, r0 + str r0, [r3, r2, lsl #2] + ldmia sp!, {r3, pc} +_02084bb0: + ldr r0, [r0] + mov r2, r3 + bl func_ov00_0207d8b4 + ldmia sp!, {r3, pc} +_02084bc0: + ldr r0, [r0] + mov r2, r3 + bl func_ov00_0207d7dc + ldmia sp!, {r3, pc} +_02084bd0: + ldr r0, [r0] + mov r2, r3 + bl func_ov00_0207d848 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084b38Eiii + + .global _ZN10MapManager18func_ov00_02084be0Eii + arm_func_start _ZN10MapManager18func_ov00_02084be0Eii +_ZN10MapManager18func_ov00_02084be0Eii: ; 0x02084be0 + stmdb sp!, {r3, lr} + cmp r1, #0 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + cmp r2, #3 + addls pc, pc, r2, lsl #2 + b _02084c54 +_02084bfc: ; jump table + b _02084c0c ; case 0 + b _02084c30 ; case 1 + b _02084c3c ; case 2 + b _02084c48 ; case 3 +_02084c0c: + ldr r2, [r0, #4] + mov r0, r1, lsr #0x5 + add r0, r2, r0, lsl #2 + ldr r2, [r0, #0x180] + and r1, r1, #0x1f + mov r0, #1 + tst r2, r0, lsl r1 + moveq r0, #0 + ldmia sp!, {r3, pc} +_02084c30: + ldr r0, [r0] + bl func_ov00_0207d8d4 + ldmia sp!, {r3, pc} +_02084c3c: + ldr r0, [r0] + bl func_ov00_0207d828 + ldmia sp!, {r3, pc} +_02084c48: + ldr r0, [r0] + bl func_ov00_0207d894 + ldmia sp!, {r3, pc} +_02084c54: + mov r0, #0 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084be0Eii + + .global _ZN10MapManager18func_ov00_02084c5cEii + arm_func_start _ZN10MapManager18func_ov00_02084c5cEii +_ZN10MapManager18func_ov00_02084c5cEii: ; 0x02084c5c + ldr ip, _02084c68 ; =func_ov00_0207d8ec + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02084c5cEii +_02084c68: .word func_ov00_0207d8ec + + .global _ZN10MapManager18func_ov00_02084c6cEi + arm_func_start _ZN10MapManager18func_ov00_02084c6cEi +_ZN10MapManager18func_ov00_02084c6cEi: ; 0x02084c6c + ldr ip, _02084c78 ; =func_ov00_0207d90c + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02084c6cEi +_02084c78: .word func_ov00_0207d90c + + .global _ZN10MapManager18func_ov00_02084c7cEi + arm_func_start _ZN10MapManager18func_ov00_02084c7cEi +_ZN10MapManager18func_ov00_02084c7cEi: ; 0x02084c7c + stmdb sp!, {r3, lr} + cmp r1, #0 + ldmltia sp!, {r3, pc} + ldr r0, [r0] + bl func_ov00_0207d924 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084c7cEi + + .global _ZN10MapManager18func_ov00_02084c94Ei + arm_func_start _ZN10MapManager18func_ov00_02084c94Ei +_ZN10MapManager18func_ov00_02084c94Ei: ; 0x02084c94 + stmdb sp!, {r3, lr} + cmp r1, #0 + movlt r0, #0 + ldmltia sp!, {r3, pc} + ldr r0, [r0] + bl func_ov00_0207d944 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084c94Ei + + .global _ZN10MapManager18func_ov00_02084cb0Ei + arm_func_start _ZN10MapManager18func_ov00_02084cb0Ei +_ZN10MapManager18func_ov00_02084cb0Ei: ; 0x02084cb0 + stmdb sp!, {r3, lr} + cmp r1, #0 + ldmltia sp!, {r3, pc} + ldr r0, [r0] + bl func_ov00_0207d95c + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084cb0Ei + + .global _ZN10MapManager18func_ov00_02084cc8Ei + arm_func_start _ZN10MapManager18func_ov00_02084cc8Ei +_ZN10MapManager18func_ov00_02084cc8Ei: ; 0x02084cc8 + stmdb sp!, {r3, lr} + cmp r1, #0 + movlt r0, #0 + ldmltia sp!, {r3, pc} + ldr r0, [r0] + bl func_ov00_0207d97c + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084cc8Ei + + .global _ZN10MapManager18func_ov00_02084ce4Ei + arm_func_start _ZN10MapManager18func_ov00_02084ce4Ei +_ZN10MapManager18func_ov00_02084ce4Ei: ; 0x02084ce4 + stmdb sp!, {r3, lr} + cmp r1, #0 + ldmltia sp!, {r3, pc} + ldr r0, [r0] + bl func_ov00_0207d994 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084ce4Ei + + .global _ZN10MapManager18func_ov00_02084cfcEi + arm_func_start _ZN10MapManager18func_ov00_02084cfcEi +_ZN10MapManager18func_ov00_02084cfcEi: ; 0x02084cfc + stmdb sp!, {r3, lr} + cmp r1, #0 + movlt r0, #0 + ldmltia sp!, {r3, pc} + ldr r0, [r0] + bl func_ov00_0207d9b4 + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084cfcEi + + .global _ZN10MapManager17GetMapData_Unk_09Ev + arm_func_start _ZN10MapManager17GetMapData_Unk_09Ev +_ZN10MapManager17GetMapData_Unk_09Ev: ; 0x02084d18 + ldr r0, [r0, #4] + ldrb r0, [r0, #9] + bx lr + arm_func_end _ZN10MapManager17GetMapData_Unk_09Ev + + .global _ZN10MapManager18func_ov00_02084d24Ecci + arm_func_start _ZN10MapManager18func_ov00_02084d24Ecci +_ZN10MapManager18func_ov00_02084d24Ecci: ; 0x02084d24 + stmdb sp!, {r3, lr} + strb r1, [sp] + strb r2, [sp, #1] + ldr r0, [r0, #4] + add r1, sp, #0 + ldr ip, [r0] + mov r2, r3 + ldr ip, [ip, #0x90] + blx ip + ldmia sp!, {r3, pc} + arm_func_end _ZN10MapManager18func_ov00_02084d24Ecci + + .global _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p + arm_func_start _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p +_ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p: ; 0x02084d4c + stmdb sp!, {r4, lr} + sub sp, sp, #0x38 + add r4, sp, #0x20 + str r4, [sp] + ldr r0, _02084ea0 ; =data_027e0f64 + mov r4, r3 + ldr r0, [r0] + add r3, sp, #0x2c + ldr r0, [r0, #4] + bl func_ov00_0208df78 + mvn r1, #0 + cmp r0, r1 + addeq sp, sp, #0x38 + moveq r0, r1 + ldmeqia sp!, {r4, pc} + ldr r0, _02084ea4 ; =data_ov00_020ec964 + ldr r0, [r0, #0x60] + tst r0, #1 + bne _02084de4 + mov lr, #0 + mov r1, #0x1000 + ldr ip, _02084ea8 ; =data_ov00_020e2510 + add r0, sp, #8 + str lr, [sp, #8] + str lr, [sp, #0x10] + str r1, [sp, #0xc] + ldmia r0, {r0, r1, r2} + stmia ip, {r0, r1, r2} + ldr r3, _02084eac ; =data_ov00_020e24a4 + ldr r1, _02084eb0 ; =func_ov00_0207e968 + ldr r2, _02084eb4 ; =data_ov00_020ec9c8 + mov r0, ip + str lr, [r3, #0x78] + bl __register_global_object + ldr r0, _02084ea4 ; =data_ov00_020ec964 + ldr r1, [r0, #0x60] + orr r1, r1, #1 + str r1, [r0, #0x60] +_02084de4: + add r0, sp, #0x20 + add r3, sp, #0x14 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r1, sp, #0x2c + mov r0, r3 + mov r2, r3 + bl func_01ff9bf8 + ldr r0, _02084ea8 ; =data_ov00_020e2510 + add r1, sp, #0x2c + add r2, sp, #0x14 + add r3, sp, #4 + bl func_01ffe61c + cmp r0, #0 + addeq sp, sp, #0x38 + mvneq r0, #0 + ldmeqia sp!, {r4, pc} + ldr r0, [sp, #0x2c] + add r1, sp, #0x14 + str r0, [r4] + ldr r0, [sp, #0x30] + mov r2, r4 + str r0, [r4, #4] + ldr r0, [sp, #0x34] + mov r3, r4 + str r0, [r4, #8] + ldr r0, [sp, #4] + bl func_01ff9e64 + ldr r0, [sp, #4] + cmp r0, #0 + addge sp, sp, #0x38 + movge r0, #0 + ldmgeia sp!, {r4, pc} + ldr r1, [sp, #0x2c] + ldr r0, _02084eb8 ; =0x0000019a + str r1, [r4] + ldr r2, [sp, #0x30] + add r1, sp, #0x14 + str r2, [r4, #4] + ldr ip, [sp, #0x34] + mov r2, r4 + mov r3, r4 + str ip, [r4, #8] + bl func_01ff9e64 + mov r0, #1 + add sp, sp, #0x38 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p +_02084ea0: .word data_027e0f64 +_02084ea4: .word data_ov00_020ec964 +_02084ea8: .word data_ov00_020e2510 +_02084eac: .word data_ov00_020e24a4 +_02084eb0: .word func_ov00_0207e968 +_02084eb4: .word data_ov00_020ec9c8 +_02084eb8: .word 0x0000019a + + .global _ZN10MapManager18func_ov00_02084ebcEi + arm_func_start _ZN10MapManager18func_ov00_02084ebcEi +_ZN10MapManager18func_ov00_02084ebcEi: ; 0x02084ebc + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #8 + mov r6, r0 + mov r5, r1 + add r0, sp, #0 + mov r1, r6 + mov r2, r5 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + add r1, sp, #0 + mov r0, r6 + bl _ZN10MapManager16MapData_vfunc_78Ev + movs r4, r0 + beq _02084f50 + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x38 + bgt _02084f14 + bge _02084f50 + cmp r0, #1 + beq _02084f50 + b _02084f44 +_02084f14: + cmp r0, #0x59 + bgt _02084f24 + beq _02084f50 + b _02084f44 +_02084f24: + cmp r0, #0x61 + bne _02084f44 + ldr r0, [r4, #8] + cmp r0, #2 + bne _02084f50 + add sp, sp, #8 + mov r0, #0 + ldmia sp!, {r4, r5, r6, pc} +_02084f44: + add sp, sp, #8 + mov r0, #0 + ldmia sp!, {r4, r5, r6, pc} +_02084f50: + add r1, sp, #0 + mov r0, r6 + bl _ZN10MapManager18func_ov00_02083e70Ev + cmp r0, #0 + addne sp, sp, #8 + movne r0, #0 + ldmneia sp!, {r4, r5, r6, pc} + add r1, sp, #0 + mov r0, r6 + bl _ZN10MapManager16MapData_vfunc_54Ev + cmp r0, #0x46 + bgt _0208504c + bge _0208506c + cmp r0, #0x29 + bgt _02085040 + cmp r0, #0 + addge pc, pc, r0, lsl #2 + b _02085078 +_02084f98: ; jump table + b _02085078 ; case 0 + b _0208506c ; case 1 + b _0208506c ; case 2 + b _0208506c ; case 3 + b _0208506c ; case 4 + b _0208506c ; case 5 + b _0208506c ; case 6 + b _02085078 ; case 7 + b _0208506c ; case 8 + b _0208506c ; case 9 + b _02085078 ; case 10 + b _02085078 ; case 11 + b _02085078 ; case 12 + b _02085078 ; case 13 + b _02085078 ; case 14 + b _02085078 ; case 15 + b _02085078 ; case 16 + b _02085078 ; case 17 + b _02085078 ; case 18 + b _02085078 ; case 19 + b _0208506c ; case 20 + b _02085078 ; case 21 + b _0208506c ; case 22 + b _0208506c ; case 23 + b _02085078 ; case 24 + b _0208506c ; case 25 + b _02085078 ; case 26 + b _02085078 ; case 27 + b _02085078 ; case 28 + b _0208506c ; case 29 + b _0208506c ; case 30 + b _0208506c ; case 31 + b _02085078 ; case 32 + b _02085078 ; case 33 + b _02085078 ; case 34 + b _02085078 ; case 35 + b _02085078 ; case 36 + b _02085078 ; case 37 + b _02085078 ; case 38 + b _0208506c ; case 39 + b _0208506c ; case 40 + b _0208506c ; case 41 +_02085040: + cmp r0, #0x37 + beq _0208506c + b _02085078 +_0208504c: + cmp r0, #0x48 + bgt _02085064 + bge _0208506c + cmp r0, #0x47 + beq _0208506c + b _02085078 +_02085064: + cmp r0, #0x50 + bne _02085078 +_0208506c: + add sp, sp, #8 + mov r0, #0 + ldmia sp!, {r4, r5, r6, pc} +_02085078: + ldr r0, [r6, #4] + add r1, sp, #0 + ldr r3, [r0] + mov r2, #5 + ldr r3, [r3, #0x58] + blx r3 + cmp r0, #0 + addne sp, sp, #8 + movne r0, #0 + ldmneia sp!, {r4, r5, r6, pc} + mov r0, r6 + mov r1, r5 + bl _ZN10MapManager16MapData_vfunc_70Ev + ldr r1, _02085100 ; =0x0000ffff + mov r2, r0 + cmp r2, r1 + addeq sp, sp, #8 + moveq r0, #0 + ldmeqia sp!, {r4, r5, r6, pc} + ldr r1, _02085104 ; =data_027e0f6c + add r0, sp, #4 + ldr r1, [r1] + bl func_ov00_02093a1c + ldr r0, [sp, #4] + mov r0, r0, lsr #0x5 + and r0, r0, #3 + cmp r0, #1 + bne _020850f4 + add sp, sp, #8 + mov r0, #1 + ldmia sp!, {r4, r5, r6, pc} +_020850f4: + mov r0, #0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02084ebcEi +_02085100: .word 0x0000ffff +_02085104: .word data_027e0f6c + + .global _ZN10MapManager18func_ov00_02085108EPi + arm_func_start _ZN10MapManager18func_ov00_02085108EPi +_ZN10MapManager18func_ov00_02085108EPi: ; 0x02085108 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x2c + ldr r0, _02085274 ; =data_027e0f64 + str r1, [sp] + ldr r0, [r0] + bl func_ov00_0208b180 + mov r1, r0 + add r0, sp, #0x18 + bl func_ov00_02088130 + mov r1, #0 + ldr r0, _02085274 ; =data_027e0f64 + strb r1, [sp, #0x13] + strb r1, [sp, #0x12] + ldrb r1, [sp, #0x18] + ldr r0, [r0] + str r1, [sp, #0xc] + ldrb r1, [sp, #0x19] + str r1, [sp, #8] + bl func_ov00_0208b180 + mov r1, r0 + add r0, sp, #0x16 + bl func_ov00_02088144 + mov r0, #0 + strb r0, [sp, #0x11] + strb r0, [sp, #0x10] + ldr r1, [sp, #0xc] + ldr r0, [sp, #8] + ldrb r7, [sp, #0x16] + cmp r1, r0 + ldrb r0, [sp, #0x17] + str r0, [sp, #4] + bgt _02085268 +_02085188: + ldr r6, [sp, #4] + mov r0, r6 + cmp r0, r7 + blt _02085250 + ldr r0, [sp, #0xc] + ldr r11, _02085278 ; =data_027e0e60 + and r5, r0, #0xff +_020851a4: + ldr r0, [r11] + add r1, sp, #0x14 + strb r5, [sp, #0x14] + strb r6, [sp, #0x15] + bl _ZN10MapManager16MapData_vfunc_78Ev + movs r4, r0 + beq _02085244 + ldr r1, [r4, #4] + tst r1, #4 + beq _02085244 + ldr r1, [r0] + ldr r9, [r4, #0x1c] + ldr r1, [r1, #0x60] + ldr r8, [r4, #0x18] + ldr r10, [r4, #0x20] + blx r1 + add r9, r9, r0 + mov r0, r4 + ldr r1, [r0] + ldr r1, [r1, #0x5c] + blx r1 + str r0, [sp, #0x28] + add r0, sp, #0x1c + mov r1, #2 + str r8, [sp, #0x1c] + str r9, [sp, #0x20] + str r10, [sp, #0x24] + bl func_0202b8e4 + cmp r0, #0 + beq _02085244 + ldr r0, [sp] + ldr r1, [r4, #0x18] + add sp, sp, #0x2c + str r1, [r0] + ldr r1, [r4, #0x1c] + str r1, [r0, #4] + ldr r1, [r4, #0x20] + str r1, [r0, #8] + ldrsb r0, [r4, #0x12] + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_02085244: + sub r6, r6, #1 + cmp r6, r7 + bge _020851a4 +_02085250: + ldr r0, [sp, #0xc] + add r1, r0, #1 + ldr r0, [sp, #8] + str r1, [sp, #0xc] + cmp r1, r0 + ble _02085188 +_02085268: + mov r0, #0 + add sp, sp, #0x2c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02085108EPi +_02085274: .word data_027e0f64 +_02085278: .word data_027e0e60 + + .global _ZN10MapManager18func_ov00_0208527cEv + arm_func_start _ZN10MapManager18func_ov00_0208527cEv +_ZN10MapManager18func_ov00_0208527cEv: ; 0x0208527c + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x2c + ldr r3, _020853f4 ; =data_027e0f64 + mov r4, r0 + ldr r0, [r3] + mov r10, r1 + str r2, [sp] + bl func_ov00_0208b180 + mov r1, r0 + add r0, sp, #0x14 + bl func_ov00_02088130 + mov r1, #0 + ldr r0, _020853f4 ; =data_027e0f64 + strb r1, [sp, #0xf] + strb r1, [sp, #0xe] + ldrb r1, [sp, #0x15] + ldr r0, [r0] + ldrb r11, [sp, #0x14] + str r1, [sp, #8] + bl func_ov00_0208b180 + mov r1, r0 + add r0, sp, #0x12 + bl func_ov00_02088144 + mov r0, #0 + strb r0, [sp, #0xd] + strb r0, [sp, #0xc] + ldrb r0, [sp, #0x12] + ldrb r9, [sp, #0x13] + str r0, [sp, #4] + mov r0, r4 + bl _ZN10MapManager17Get_MapData_Unk28Ev + mov r5, r0 + mov r0, r4 + bl _ZN10MapManager17Get_MapData_Unk2aEv + cmp r11, #0 + ldr r1, [sp, #8] + movle r11, #0 + cmp r1, r5 + ldr r1, [sp, #4] + subge r11, r5, #1 + cmp r1, #0 + movle r1, #0 + strle r1, [sp, #4] + cmp r9, r0 + subge r9, r0, #1 + mov r0, #0 + str r0, [sp, #0x24] + str r0, [sp, #0x18] + str r0, [sp, #0x1c] + str r0, [sp, #0x20] + ldr r0, [sp, #8] + cmp r11, r0 + bgt _020853e8 + ldr r4, _020853f8 ; =data_027e0e60 + add r6, sp, #0x10 +_02085358: + ldr r8, [sp, #4] + mov r0, r8 + cmp r0, r9 + bgt _020853d8 + and r7, r11, #0xff +_0208536c: + ldr r0, [r4] + mov r1, r6 + strb r7, [sp, #0x10] + strb r8, [sp, #0x11] + bl _ZN10MapManager16MapData_vfunc_78Ev + movs r5, r0 + beq _020853cc + ldr r1, [r5, #4] + tst r1, #4 + beq _020853cc + mov r1, r10 + bl func_ov00_0208b73c + cmp r0, #0 + beq _020853cc + ldr r0, [sp] + ldr r1, [r5, #0x18] + add sp, sp, #0x2c + str r1, [r0] + ldr r1, [r5, #0x1c] + str r1, [r0, #4] + ldr r1, [r5, #0x20] + str r1, [r0, #8] + ldrsb r0, [r5, #0x12] + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_020853cc: + add r8, r8, #1 + cmp r8, r9 + ble _0208536c +_020853d8: + ldr r0, [sp, #8] + add r11, r11, #1 + cmp r11, r0 + ble _02085358 +_020853e8: + mov r0, #0 + add sp, sp, #0x2c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_0208527cEv +_020853f4: .word data_027e0f64 +_020853f8: .word data_027e0e60 + + .global _ZN10MapManager18func_ov00_020853fcEv + arm_func_start _ZN10MapManager18func_ov00_020853fcEv +_ZN10MapManager18func_ov00_020853fcEv: ; 0x020853fc + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x2c + ldr r3, _0208558c ; =data_027e0f64 + mov r5, r0 + ldr r0, [r3] + mov r10, r1 + mov r9, r2 + bl func_ov00_0208b180 + mov r1, r0 + add r0, sp, #0x14 + bl func_ov00_02088130 + mov r1, #0 + ldr r0, _0208558c ; =data_027e0f64 + strb r1, [sp, #0xf] + strb r1, [sp, #0xe] + ldrb r1, [sp, #0x14] + ldr r0, [r0] + str r1, [sp, #8] + ldrb r1, [sp, #0x15] + str r1, [sp, #4] + bl func_ov00_0208b180 + mov r1, r0 + add r0, sp, #0x12 + bl func_ov00_02088144 + mov r0, #0 + strb r0, [sp, #0xd] + strb r0, [sp, #0xc] + ldrb r0, [sp, #0x12] + ldrb r8, [sp, #0x13] + str r0, [sp] + mov r0, r5 + bl _ZN10MapManager17Get_MapData_Unk28Ev + mov r4, r0 + mov r0, r5 + bl _ZN10MapManager17Get_MapData_Unk2aEv + mov r11, #0 + ldr r1, [sp, #8] + str r11, [sp, #0x24] + cmp r1, #0 + movle r1, #0 + strle r1, [sp, #8] + ldr r1, [sp, #4] + str r11, [sp, #0x18] + cmp r1, r4 + subge r1, r4, #1 + strge r1, [sp, #8] + ldr r1, [sp] + str r11, [sp, #0x1c] + cmp r1, #0 + movle r1, #0 + strle r1, [sp] + cmp r8, r0 + subge r8, r0, #1 + ldr r1, [sp, #8] + ldr r0, [sp, #4] + str r11, [sp, #0x20] + cmp r1, r0 + bgt _02085580 +_020854e4: + ldr r7, [sp] + mov r0, r7 + cmp r0, r8 + bgt _02085568 + ldr r0, [sp, #8] + and r6, r0, #0xff +_020854fc: + ldr r0, _02085590 ; =data_027e0e60 + add r1, sp, #0x10 + ldr r0, [r0] + strb r6, [sp, #0x10] + strb r7, [sp, #0x11] + bl _ZN10MapManager16MapData_vfunc_78Ev + movs r5, r0 + beq _0208555c + ldr r0, [r5, #4] + tst r0, #4 + beq _0208555c + mov r1, r10 + add r0, r5, #0x18 + bl func_01ff9ec0 + ldr r1, [r9] + mov r4, r0 + cmp r4, r1 + bge _0208555c + mov r0, r5 + mov r1, r10 + bl func_ov00_0208b7d0 + cmp r0, #0 + movne r11, r5 + strne r4, [r9] +_0208555c: + add r7, r7, #1 + cmp r7, r8 + ble _020854fc +_02085568: + ldr r0, [sp, #8] + add r1, r0, #1 + ldr r0, [sp, #4] + str r1, [sp, #8] + cmp r1, r0 + ble _020854e4 +_02085580: + mov r0, r11 + add sp, sp, #0x2c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020853fcEv +_0208558c: .word data_027e0f64 +_02085590: .word data_027e0e60 + + .global _ZN10MapManager18func_ov00_02085594Ev + arm_func_start _ZN10MapManager18func_ov00_02085594Ev +_ZN10MapManager18func_ov00_02085594Ev: ; 0x02085594 + stmdb sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #0x14 + mov r7, r0 + mov r6, r1 + add r0, sp, #0 + mov r1, r7 + mov r2, r6 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + add r1, sp, #0 + mov r0, r7 + bl _ZN10MapManager16MapData_vfunc_78Ev + movs r4, r0 + mov r5, #1 + beq _02085670 + ldr r1, [r4, #0x18] + str r1, [r6] + ldr r1, [r4, #0x1c] + str r1, [r6, #4] + ldr r1, [r4, #0x20] + str r1, [r6, #8] + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x42 + bgt _02085618 + bge _02085658 + cmp r0, #1 + bgt _0208560c + beq _02085670 + b _02085664 +_0208560c: + cmp r0, #0x38 + beq _02085670 + b _02085664 +_02085618: + cmp r0, #0x59 + bgt _02085628 + beq _02085648 + b _02085664 +_02085628: + cmp r0, #0x61 + bne _02085664 + ldr r0, [r4, #8] + cmp r0, #2 + bne _02085670 + add sp, sp, #0x14 + mov r0, #0 + ldmia sp!, {r4, r5, r6, r7, pc} +_02085648: + ldr r0, [r4, #8] + cmp r0, #4 + movne r5, #0 + b _02085670 +_02085658: + add sp, sp, #0x14 + mov r0, #2 + ldmia sp!, {r4, r5, r6, r7, pc} +_02085664: + add sp, sp, #0x14 + mov r0, #0 + ldmia sp!, {r4, r5, r6, r7, pc} +_02085670: + ldrb r1, [sp] + ldrb r2, [sp, #1] + mov r0, r7 + bl _ZN10MapManager18func_ov00_020840a0Ecci + cmp r0, #0x46 + bgt _02085754 + bge _02085774 + cmp r0, #0x29 + bgt _02085748 + cmp r0, #0 + addge pc, pc, r0, lsl #2 + b _02085780 +_020856a0: ; jump table + b _02085780 ; case 0 + b _02085774 ; case 1 + b _02085774 ; case 2 + b _02085774 ; case 3 + b _02085774 ; case 4 + b _02085774 ; case 5 + b _02085774 ; case 6 + b _02085780 ; case 7 + b _02085774 ; case 8 + b _02085774 ; case 9 + b _02085780 ; case 10 + b _02085780 ; case 11 + b _02085780 ; case 12 + b _02085780 ; case 13 + b _02085780 ; case 14 + b _02085780 ; case 15 + b _02085780 ; case 16 + b _02085780 ; case 17 + b _02085780 ; case 18 + b _02085780 ; case 19 + b _02085774 ; case 20 + b _02085780 ; case 21 + b _02085774 ; case 22 + b _02085774 ; case 23 + b _02085780 ; case 24 + b _02085774 ; case 25 + b _02085780 ; case 26 + b _02085780 ; case 27 + b _02085780 ; case 28 + b _02085774 ; case 29 + b _02085774 ; case 30 + b _02085774 ; case 31 + b _02085780 ; case 32 + b _02085780 ; case 33 + b _02085780 ; case 34 + b _02085780 ; case 35 + b _02085780 ; case 36 + b _02085780 ; case 37 + b _02085780 ; case 38 + b _02085774 ; case 39 + b _02085774 ; case 40 + b _02085774 ; case 41 +_02085748: + cmp r0, #0x37 + beq _02085774 + b _02085780 +_02085754: + cmp r0, #0x48 + bgt _0208576c + bge _02085774 + cmp r0, #0x47 + beq _02085774 + b _02085780 +_0208576c: + cmp r0, #0x50 + bne _02085780 +_02085774: + add sp, sp, #0x14 + mov r0, #0 + ldmia sp!, {r4, r5, r6, r7, pc} +_02085780: + ldr r0, [r7, #4] + add r1, sp, #0 + ldr r3, [r0] + mov r2, #5 + ldr r3, [r3, #0x58] + blx r3 + cmp r0, #0 + addne sp, sp, #0x14 + movne r0, #0 + ldmneia sp!, {r4, r5, r6, r7, pc} + ldrb r2, [sp] + ldrb r0, [sp, #1] + sub r3, sp, #4 + add r1, sp, #8 + strb r2, [r3] + strb r0, [r3, #1] + ldr r2, [r3] + mov r0, r7 + bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi + add r1, sp, #8 + mov r0, r7 + bl _ZN10MapManager16MapData_vfunc_70Ev + ldr r1, _02085834 ; =0x0000ffff + mov r2, r0 + cmp r2, r1 + addeq sp, sp, #0x14 + moveq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, pc} + ldr r1, _02085838 ; =data_027e0f6c + add r0, sp, #4 + ldr r1, [r1] + bl func_ov00_02093a1c + ldr r0, [sp, #4] + mov r0, r0, lsr #0x5 + and r0, r0, #3 + cmp r0, #1 + bne _02085828 + cmp r5, #0 + movne r0, #1 + add sp, sp, #0x14 + moveq r0, #2 + ldmia sp!, {r4, r5, r6, r7, pc} +_02085828: + mov r0, #0 + add sp, sp, #0x14 + ldmia sp!, {r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02085594Ev +_02085834: .word 0x0000ffff +_02085838: .word data_027e0f6c + + .global _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi + arm_func_start _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi +_ZN10MapManager18func_ov00_0208583cEiP5Vec3pi: ; 0x0208583c + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r3, r1 + mov r4, r2 + add r0, sp, #0 + mov r1, r5 + mov r2, r3 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + add r1, sp, #0 + mov r0, r5 + bl _ZN10MapManager16MapData_vfunc_78Ev + cmp r0, #0 + mvneq r0, #0 + ldmeqia sp!, {r3, r4, r5, pc} + ldr r1, _020858ac ; =data_027e077c + ldr r2, [r1] + cmp r2, #1 + mvnne r0, #0 + ldmneia sp!, {r3, r4, r5, pc} + ldr r1, [r1, #4] + cmp r2, r1 + mvnne r0, #0 + ldmneia sp!, {r3, r4, r5, pc} + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0x30] + blx r2 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi +_020858ac: .word data_027e077c + + .global _ZN10MapManager18func_ov00_020858b0Ev + arm_func_start _ZN10MapManager18func_ov00_020858b0Ev +_ZN10MapManager18func_ov00_020858b0Ev: ; 0x020858b0 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x1c + mov r9, r2 + mov r10, r0 + mov r11, r1 + cmp r9, #1 + bne _020858e4 + ldr r0, _02085a2c ; =data_027e0f64 + mov r1, #7 + ldr r0, [r0] + ldr r0, [r0, #4] + bl func_ov00_02088000 + b _020858f8 +_020858e4: + ldr r0, _02085a2c ; =data_027e0f64 + mov r1, #6 + ldr r0, [r0] + ldr r0, [r0, #4] + bl func_ov00_02088000 +_020858f8: + mov r0, r10 + bl _ZN10MapManager17Get_MapData_Unk28Ev + str r0, [sp, #0x10] + mov r0, r10 + bl _ZN10MapManager17Get_MapData_Unk2aEv + str r0, [sp, #0xc] + mvn r3, #0 + add r0, sp, #0x18 + mov r1, r10 + mov r2, r11 + str r3, [sp, #8] + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + ldrb r3, [sp, #0x18] + ldrb r2, [sp, #0x19] + ldr r1, _02085a30 ; =data_027e0f94 + add r0, r3, #1 + sub r7, r3, #1 + str r0, [sp, #4] + cmp r7, r0 + sub r0, r2, #1 + ldr r5, [r1, #4] + str r0, [sp] + add r6, r2, #1 + bgt _02085a20 +_02085958: + cmp r7, #0 + blt _02085a10 + ldr r0, [sp, #0x10] + cmp r7, r0 + bge _02085a10 + ldr r8, [sp] + mov r0, r8 + cmp r0, r6 + bgt _02085a10 + and r4, r7, #0xff +_02085980: + cmp r8, #0 + blt _02085a04 + ldr r0, [sp, #0xc] + cmp r8, r0 + bge _02085a04 + mov r0, r10 + add r1, sp, #0x16 + strb r4, [sp, #0x16] + strb r8, [sp, #0x17] + bl _ZN10MapManager16MapData_vfunc_60Ev + subs r0, r0, r5 + rsbmi r0, r0, #0 + cmp r0, #0xcd + bgt _02085a04 + mov r0, r10 + add r1, sp, #0x14 + strb r4, [sp, #0x14] + strb r8, [sp, #0x15] + bl _ZN10MapManager16MapData_vfunc_78Ev + cmp r0, #0 + beq _02085a04 + ldrb r1, [sp, #0x18] + ldr ip, [r0] + mov r3, r11 + cmp r7, r1 + ldreqb r1, [sp, #0x19] + ldr ip, [ip, #0x38] + cmpeq r8, r1 + moveq r2, #0 + movne r2, #1 + mov r1, r9 + blx ip + str r0, [sp, #8] +_02085a04: + add r8, r8, #1 + cmp r8, r6 + ble _02085980 +_02085a10: + ldr r0, [sp, #4] + add r7, r7, #1 + cmp r7, r0 + ble _02085958 +_02085a20: + ldr r0, [sp, #8] + add sp, sp, #0x1c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_020858b0Ev +_02085a2c: .word data_027e0f64 +_02085a30: .word data_027e0f94 + + .global _ZN10MapManager18func_ov00_02085a34Eii + arm_func_start _ZN10MapManager18func_ov00_02085a34Eii +_ZN10MapManager18func_ov00_02085a34Eii: ; 0x02085a34 + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x20 + mov r4, r2 + mov r5, r0 + mov r6, r1 + cmp r4, #1 + beq _02085a60 + cmp r4, #2 + cmpne r4, #3 + beq _02085bdc + b _02085c54 +_02085a60: + add r0, sp, #8 + mov r1, r5 + mov r2, r6 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + mov r0, r5 + mov r1, r6 + bl _ZN10MapManager18func_ov00_02084ebcEi + cmp r0, #0 + addeq sp, sp, #0x20 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, pc} + add r1, sp, #8 + mov r0, r5 + bl _ZN10MapManager16MapData_vfunc_78Ev + movs r6, r0 + beq _02085b24 + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x38 + bgt _02085ac4 + bge _02085ae0 + cmp r0, #1 + beq _02085ae0 + b _02085b18 +_02085ac4: + cmp r0, #0x59 + bgt _02085ad4 + beq _02085afc + b _02085b18 +_02085ad4: + cmp r0, #0x61 + beq _02085afc + b _02085b18 +_02085ae0: + ldr r1, [r6, #4] + mov r0, r5 + bic r2, r1, #1 + mov r1, r6 + str r2, [r6, #4] + bl _ZN10MapManager18func_ov00_020828f8EPi + b _02085b24 +_02085afc: + mov r0, r6 + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0x3c] + blx r2 + add sp, sp, #0x20 + ldmia sp!, {r4, r5, r6, pc} +_02085b18: + add sp, sp, #0x20 + mvn r0, #0 + ldmia sp!, {r4, r5, r6, pc} +_02085b24: + ldr r0, [r5, #4] + add r1, sp, #8 + bl func_ov00_02080b24 + mov r2, #0 + sub r1, r2, #1 + mov r0, #1 + strh r1, [sp, #0x1c] + str r2, [sp, #0x18] + strb r0, [sp, #0x1e] + mov r4, r2 + add r1, sp, #0xc +_02085b50: + mov r0, r2, lsl #0x1 + add r2, r2, #1 + strh r4, [r1, r0] + cmp r2, #4 + blo _02085b50 + mov r3, #0 +_02085b68: + strb r3, [r1, #8] + add r4, r4, #1 + strb r3, [r1, #0xa] + cmp r4, #2 + add r1, r1, #1 + blo _02085b68 + add r4, sp, #0xc + add r2, sp, #8 + mov r0, r5 + mov r1, #0x42 + str r4, [sp] + bl _ZN10MapManager16MapData_vfunc_7cEv + cmp r0, #0 + addeq sp, sp, #0x20 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, pc} + add r1, sp, #8 + mov r0, r5 + bl _ZN10MapManager16MapData_vfunc_78Ev + cmp r0, #0 + beq _02085bd0 + ldrsh r0, [r0, #0xe] + cmp r0, #0 + addgt sp, sp, #0x20 + movgt r0, #1 + ldmgtia sp!, {r4, r5, r6, pc} +_02085bd0: + add sp, sp, #0x20 + mov r0, #0 + ldmia sp!, {r4, r5, r6, pc} +_02085bdc: + add r0, sp, #6 + mov r1, r5 + mov r2, r6 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + add r1, sp, #6 + mov r0, r5 + bl _ZN10MapManager16MapData_vfunc_78Ev + movs r6, r0 + addeq sp, sp, #0x20 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, pc} + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x42 + bne _02085c38 + ldrb r2, [r6, #0x15] + ldrb r0, [r6, #0x14] + add r1, sp, #4 + strb r2, [sp, #5] + strb r0, [sp, #4] + ldr r0, [r5, #4] + bl func_ov00_02080d08 +_02085c38: + mov r0, r6 + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0x3c] + blx r2 + add sp, sp, #0x20 + ldmia sp!, {r4, r5, r6, pc} +_02085c54: + mvn r0, #0 + add sp, sp, #0x20 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN10MapManager18func_ov00_02085a34Eii + + .global _ZN10MapManager18func_ov00_02085c60Eiiii + arm_func_start _ZN10MapManager18func_ov00_02085c60Eiiii +_ZN10MapManager18func_ov00_02085c60Eiiii: ; 0x02085c60 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0xfc + ldr r11, [sp, #0x120] + ldr r8, [sp, #0x124] + ldr r7, [sp, #0x128] + ldr r6, [sp, #0x12c] + cmp r11, #0 + mov r10, r0 + mov r9, r1 + mov r5, r2 + mov r4, r3 + addeq sp, sp, #0xfc + moveq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + add r1, sp, #0x88 + str r1, [sp] + ldr r0, _0208603c ; =data_027e0d3c + ldmia r5, {r2, r3} + ldr r0, [r0] + mov r1, #0 + bl func_ov00_020792a0 + add r1, sp, #0x7c + str r1, [sp] + ldr r0, _0208603c ; =data_027e0d3c + ldmia r4, {r2, r3} + ldr r0, [r0] + mov r1, #0 + bl func_ov00_020792a0 + add r0, sp, #0x88 + add r5, sp, #0x70 + ldmia r0, {r0, r1, r2} + stmia r5, {r0, r1, r2} + add r0, sp, #0x7c + add r4, sp, #0x64 + ldmia r0, {r0, r1, r2} + stmia r4, {r0, r1, r2} + add r3, sp, #0x58 + ldmia r5, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r1, r4 + mov r0, r3 + mov r2, r3 + bl func_01ff9bf8 + mov r1, #0xc000 + mov r2, #0 + umull r5, r3, r11, r1 + mla r3, r11, r2, r3 + mov r4, r11, asr #0x1f + adds r2, r5, #0x800 + mla r3, r4, r1, r3 + adc r1, r3, #0 + mov r5, r2, lsr #0xc + add r0, sp, #0x58 + orr r5, r5, r1, lsl #20 + bl func_01ff9cec + cmp r0, r5 + ble _02085d9c + add r0, sp, #0x58 + mov r1, r0 + bl func_01ff9d4c + add r0, sp, #0x58 + mov r1, r5 + bl func_01fffbec + ldr r1, [sp, #0x7c] + ldr r0, [sp, #0x80] + str r1, [sp, #0x88] + ldr r1, [sp, #0x84] + str r0, [sp, #0x8c] + add r0, sp, #0x88 + str r1, [sp, #0x90] + add r1, sp, #0x58 + mov r2, r0 + bl func_01ff9bc4 + ldr r0, [sp, #0x8c] + ldr r1, [sp, #0x88] + str r0, [sp, #0x74] + ldr r0, [sp, #0x90] + str r1, [sp, #0x70] + str r0, [sp, #0x78] +_02085d9c: + add r0, sp, #0x58 + ldr ip, [sp, #0x88] + ldr r5, [sp, #0x8c] + ldr r3, [sp, #0x90] + add r1, sp, #0x7c + mov r2, r0 + str ip, [sp, #0x58] + str r5, [sp, #0x5c] + str r3, [sp, #0x60] + bl func_01ff9bf8 + mov r1, r4, lsl #0xb + mov r0, #0x800 + adds r2, r0, r11, lsl #11 + orr r1, r1, r11, lsr #21 + add r0, sp, #0x58 + adc r1, r1, #0 + mov r5, r2, lsr #0xc + orr r5, r5, r1, lsl #20 + bl func_01ff9cec + cmp r0, r11 + blt _02085e30 + add r0, sp, #0x58 + mov r1, r0 + bl func_01ff9d4c + add r0, sp, #0x58 + mov r1, r5 + bl func_01fffbec + ldr r2, [sp, #0x64] + ldr r1, [sp, #0x68] + str r2, [sp, #0x70] + ldr r2, [sp, #0x6c] + str r1, [sp, #0x74] + add r0, sp, #0x70 + str r2, [sp, #0x78] + add r1, sp, #0x58 + mov r2, r0 + bl func_01ff9bc4 +_02085e30: + mov r4, #0 + mov r0, r11, lsl #0x1 + str r4, [sp, #0x48] + str r0, [sp, #0x4c] + str r4, [sp, #0x50] + str r11, [sp, #0x54] +_02085e48: + add r0, sp, #0x48 + stmia sp, {r0, r8} + str r7, [sp, #8] + str r6, [sp, #0xc] + mov r0, #0 + str r0, [sp, #0x10] + mov r0, r10 + mov r1, r9 + add r2, sp, #0x70 + add r3, sp, #0x64 + bl func_01ffbe78 + cmp r0, #0 + beq _02085fb8 + ldr r1, [r9] + add r0, sp, #0x30 + str r1, [sp, #0x3c] + ldr r2, [r9, #4] + mov r1, r0 + str r2, [sp, #0x40] + ldr r2, [r9, #8] + str r2, [sp, #0x44] + ldr r2, [r9, #0xc] + str r2, [sp, #0x30] + ldr r2, [r9, #0x10] + str r2, [sp, #0x34] + ldr r2, [r9, #0x14] + str r2, [sp, #0x38] + bl func_01ff9d4c + add r0, sp, #0x30 + mov r1, r11 + bl func_01fffbec + add r0, sp, #0x3c + add r1, sp, #0x30 + mov r2, r0 + bl func_01ff9bc4 + ldr r1, [sp, #0x3c] + ldr r2, _02086040 ; =0x0000ffff + str r1, [r9] + ldr r1, [sp, #0x40] + mov r3, #0 + str r1, [r9, #4] + ldr r4, [sp, #0x44] + sub r1, r3, #1 + str r4, [r9, #8] + strh r2, [sp, #0xb8] + strh r2, [sp, #0xba] + strh r2, [sp, #0xbc] + strh r2, [sp, #0xbe] + strh r3, [sp, #0xc0] + strb r3, [sp, #0xe2] + strb r3, [sp, #0xe3] + strb r3, [sp, #0xe4] + strb r3, [sp, #0xe5] + strb r3, [sp, #0xec] + strb r3, [sp, #0xed] + strb r3, [sp, #0xee] + strb r3, [sp, #0xef] + strb r3, [sp, #0xf0] + strb r3, [sp, #0xf1] + str r1, [sp, #0xf4] + str r1, [sp, #0xf8] + add r2, sp, #0x48 + stmia sp, {r2, r8} + str r7, [sp, #8] + str r6, [sp, #0xc] + add r2, sp, #0x3c + str r3, [sp, #0x10] + mov r0, r10 + add r1, sp, #0x94 + mov r3, r2 + bl func_01ffbe78 + cmp r0, #0 + beq _02085f84 + ldr r2, [sp, #0x94] + ldr r1, [sp, #0x98] + ldr r0, [sp, #0x9c] + str r2, [sp, #0x3c] + str r1, [sp, #0x40] + str r0, [sp, #0x44] +_02085f84: + ldr r0, _0208603c ; =data_027e0d3c + add r1, sp, #0x3c + ldr r0, [r0] + add r2, sp, #0x1c + mov r3, #0 + bl func_ov00_0207920c + ldr r1, [sp, #0x1c] + mov r0, #1 + str r1, [r9, #0x60] + ldr r1, [sp, #0x20] + add sp, sp, #0xfc + str r1, [r9, #0x64] + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_02085fb8: + ldr r1, [sp, #0x70] + ldr r0, [sp, #0x74] + str r1, [sp, #0x64] + ldr r1, [sp, #0x78] + str r0, [sp, #0x68] + str r1, [sp, #0x6c] + add r0, sp, #0x70 + add r1, sp, #0x88 + mov r2, r5 + bl func_0202b2e8 + cmp r0, #0 + movne r4, #1 + cmp r4, #0 + beq _02085e48 + ldr r1, [sp, #0x88] + ldr r0, _0208603c ; =data_027e0d3c + str r1, [r9] + ldr r2, [sp, #0x8c] + add r1, sp, #0x88 + str r2, [r9, #4] + ldr r3, [sp, #0x90] + add r2, sp, #0x14 + str r3, [r9, #8] + ldr r0, [r0] + mov r3, #0 + bl func_ov00_0207920c + ldr r1, [sp, #0x14] + mov r0, #0 + str r1, [r9, #0x60] + ldr r1, [sp, #0x18] + str r1, [r9, #0x64] + add sp, sp, #0xfc + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02085c60Eiiii +_0208603c: .word data_027e0d3c +_02086040: .word 0x0000ffff + + .global _ZN10MapManager18func_ov00_02086044Eiii + arm_func_start _ZN10MapManager18func_ov00_02086044Eiii +_ZN10MapManager18func_ov00_02086044Eiii: ; 0x02086044 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0xb0 + add r5, sp, #0x98 + mov r9, r2 + mov r10, r0 + str r1, [sp] + ldmia r9, {r0, r1, r2} + stmia r5, {r0, r1, r2} + mov r8, r3 + ldmia r9, {r0, r1, r2} + add r4, sp, #0xa4 + stmia r4, {r0, r1, r2} + ldr r0, [sp] + add r3, sp, #0x50 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r5 + mov r1, r3 + bl func_ov00_0208ed74 + mov r0, r5 + mov r1, r8 + bl func_ov00_0208ee00 + ldr r1, [sp, #0x98] + mov r0, r10 + bl _ZN10MapManager18func_ov00_020839d4Ev + mov r6, r0 + ldr r1, [sp, #0xa0] + mov r0, r10 + bl _ZN10MapManager18func_ov00_020839f8Ev + str r0, [sp, #0xc] + ldr r1, [sp, #0xa4] + mov r0, r10 + bl _ZN10MapManager18func_ov00_020839d4Ev + str r0, [sp, #8] + ldr r1, [sp, #0xac] + mov r0, r10 + bl _ZN10MapManager18func_ov00_020839f8Ev + mov r11, r0 + add r5, sp, #0x8c + ldmia r9, {r0, r1, r2} + stmia r5, {r0, r1, r2} + ldr r0, [sp] + add r4, sp, #0x44 + ldmia r0, {r0, r1, r2} + stmia r4, {r0, r1, r2} + add r3, sp, #0x38 + ldmia r9, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r4 + mov r1, r3 + add r2, sp, #0x80 + bl func_01ff9bf8 + ldr r1, [r9] + mov r0, r10 + bl _ZN10MapManager18func_ov00_020839d4Ev + mov r4, r0 + ldr r1, [r9, #8] + mov r0, r10 + bl _ZN10MapManager18func_ov00_020839f8Ev + mov r2, r0 + mov r1, r4 + mov r0, r10 + bl _ZN10MapManager18func_ov00_02083e34Ecci + str r0, [sp, #4] + ldr r0, [sp, #8] + cmp r6, r0 + bgt _02086274 +_02086150: + ldr r7, [sp, #0xc] + mov r0, r7 + cmp r0, r11 + bgt _02086264 + and r5, r6, #0xff +_02086164: + mov r0, r10 + mov r1, r6 + mov r2, r7 + bl _ZN10MapManager18func_ov00_02083e34Ecci + ldr r1, [sp, #4] + cmp r0, r1 + ble _020861ec + ldr r0, _02086280 ; =data_027e0e60 + add r1, sp, #0x12 + ldr r0, [r0] + add r2, sp, #0x68 + strb r5, [sp, #0x12] + strb r7, [sp, #0x13] + bl _ZN10MapManager18func_ov00_02084024EiP4AABB + ldr r0, [sp] + mov r1, r9 + add r2, sp, #0x5c + bl func_01ff9bf8 + ldr r1, [r9] + add r0, sp, #0x68 + str r1, [sp, #0x28] + ldr r2, [r9, #4] + add r1, sp, #0x28 + str r2, [sp, #0x2c] + ldr r3, [r9, #8] + add r2, sp, #0x5c + str r3, [sp, #0x30] + add r3, sp, #0x14 + str r8, [sp, #0x34] + bl func_ov00_0208e87c + cmp r0, #0 + addne sp, sp, #0xb0 + movne r0, #1 + ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} +_020861ec: + mov r0, r10 + add r1, sp, #0x10 + strb r5, [sp, #0x10] + strb r7, [sp, #0x11] + bl _ZN10MapManager16MapData_vfunc_78Ev + movs r4, r0 + beq _02086258 + ldr r1, [r0] + ldr r1, [r1, #0x58] + blx r1 + cmp r0, #0 + beq _02086258 + ldr r2, [r9] + mov r0, r4 + str r2, [sp, #0x18] + ldr r3, [r9, #4] + add r1, sp, #0x18 + str r3, [sp, #0x1c] + ldr r3, [r9, #8] + add r2, sp, #0x80 + str r3, [sp, #0x20] + str r8, [sp, #0x24] + bl func_ov00_0208b804 + cmp r0, #0 + addne sp, sp, #0xb0 + movne r0, #1 + ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} +_02086258: + add r7, r7, #1 + cmp r7, r11 + ble _02086164 +_02086264: + ldr r0, [sp, #8] + add r6, r6, #1 + cmp r6, r0 + ble _02086150 +_02086274: + mov r0, #0 + add sp, sp, #0xb0 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end _ZN10MapManager18func_ov00_02086044Eiii +_02086280: .word data_027e0e60 + + .global _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ + arm_func_start _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ +_ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_: ; 0x02086284 + stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x15c + mov r9, r1 + mov r0, r9 + ldr r1, [r0] + mov r8, r2 + ldr r1, [r1, #8] + mov r7, r3 + ldr r6, [sp, #0x178] + ldr r5, [sp, #0x180] + ldr r4, [sp, #0x184] + blx r1 + cmp r0, #0 + beq _020862d0 + cmp r0, #1 + beq _020863a8 + cmp r0, #2 + beq _02086520 + b _02086a78 +_020862d0: + mov r0, r9 + ldr r2, [r0] + add r1, sp, #0x14c + ldr r2, [r2, #0x24] + blx r2 + add r0, sp, #0x14c + add r3, sp, #0x140 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r8 + mov r1, r3 + bl func_01ff9ec0 + ldr r2, [sp, #0x158] + add r1, sp, #0x140 + add r2, r2, r6 + sub r6, r2, r0 + mov r0, r8 + mov r2, r1 + bl func_01ff9bf8 + add r0, sp, #0x140 + bl func_01fffb4c + cmp r0, #0 + bne _02086340 + mov r1, #0 + mov r0, #0x1000 + str r1, [sp, #0x140] + str r1, [sp, #0x144] + str r0, [sp, #0x148] +_02086340: + add r0, sp, #0x140 + mov r1, r6 + bl func_01fffbec + add r1, sp, #0x140 + mov r0, r8 + mov r2, r5 + bl func_01ff9bc4 + add r0, sp, #0x14c + add r3, sp, #0x128 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r2, sp, #0x134 + mov r0, r7 + mov r1, r3 + bl func_01ff9bf8 + add r0, sp, #0x134 + bl func_01fffb4c + ldr r1, [sp, #0x134] + mov r0, #0 + str r1, [r4] + ldr r1, [sp, #0x138] + str r1, [r4, #4] + ldr r1, [sp, #0x13c] + add sp, sp, #0x15c + str r1, [r4, #8] + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_020863a8: + mov r1, #0 + mov r0, r9 + str r1, [sp, #0x120] + str r1, [sp, #0x114] + str r1, [sp, #0x118] + str r1, [sp, #0x11c] + ldr r2, [r0] + add r1, sp, #0x114 + ldr r2, [r2, #0x28] + blx r2 + ldr r2, [r8, #4] + ldr r1, [sp, #0x114] + ldr r0, [sp, #0x11c] + str r1, [sp, #0x108] + str r2, [sp, #0x10c] + str r0, [sp, #0x110] + ldrb r0, [r9, #5] + cmp r0, #0 + beq _02086464 + add r0, sp, #0x168 + ldrh r0, [r0, #0x14] + tst r0, #0x80 + beq _02086464 + add r0, sp, #0x108 + mov r1, r8 + bl func_01ff9ec0 + ldr r1, [sp, #0x120] + cmp r0, r1 + bgt _02086464 + ldr r2, [sp, #0x118] + ldr r1, [sp, #0x124] + ldr r0, [r7, #4] + add r1, r2, r1 + cmp r0, r1 + blt _02086464 + ldr r0, [r8, #4] + add r1, r6, r1 + cmp r0, r1 + bgt _02086464 + str r1, [r5, #4] + mov r1, #0 + str r1, [r4] + mov r0, #0x1000 + stmib r4, {r0, r1} + add sp, sp, #0x15c + mov r0, #1 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_02086464: + add r1, sp, #0x108 + mov r0, r8 + bl func_01ff9ec0 + ldr r2, [sp, #0x120] + add r1, sp, #0x108 + add r2, r2, r6 + sub r6, r2, r0 + mov r0, r8 + mov r2, r1 + bl func_01ff9bf8 + add r0, sp, #0x108 + bl func_01fffb4c + cmp r0, #0 + bne _020864b0 + mov r1, #0 + mov r0, #0x1000 + str r1, [sp, #0x108] + str r1, [sp, #0x10c] + str r0, [sp, #0x110] +_020864b0: + add r0, sp, #0x108 + mov r1, r6 + bl func_01fffbec + add r1, sp, #0x108 + mov r0, r8 + mov r2, r5 + bl func_01ff9bc4 + add r0, sp, #0x114 + add r3, sp, #0xf0 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldr r0, [r7, #4] + add r2, sp, #0xfc + str r0, [sp, #0xf4] + mov r0, r7 + mov r1, r3 + bl func_01ff9bf8 + add r0, sp, #0xfc + bl func_01fffb4c + ldr r1, [sp, #0xfc] + mov r0, #0 + str r1, [r4] + ldr r1, [sp, #0x100] + str r1, [r4, #4] + ldr r1, [sp, #0x104] + add sp, sp, #0x15c + str r1, [r4, #8] + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_02086520: + mov r0, r9 + ldr r2, [r0] + add r1, sp, #0xd8 + ldr r2, [r2, #0x2c] + blx r2 + add r0, sp, #0xd8 + add r1, sp, #0xcc + bl func_ov00_0208e6b0 + ldr r2, [r8, #4] + ldr r0, [sp, #0xcc] + str r2, [sp, #0xc4] + ldr r2, [sp, #0xd4] + str r0, [sp, #0xc0] + add r1, sp, #0xc0 + str r2, [sp, #0xc8] + mov r0, r8 + mov r2, r1 + bl func_01ff9bf8 + add r0, sp, #0xc0 + add r3, sp, #0xb4 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r3 + bl func_01fffb4c + cmp r0, #0 + bne _0208659c + mov r1, #0 + mov r0, #0x1000 + str r1, [sp, #0xb4] + str r1, [sp, #0xb8] + str r0, [sp, #0xbc] +_0208659c: + ldrb r0, [r9, #5] + cmp r0, #0 + beq _0208662c + add r0, sp, #0x168 + ldrh r0, [r0, #0x14] + tst r0, #0x80 + beq _0208662c + ldr r1, [r8] + ldr r0, [sp, #0xe4] + cmp r1, r0 + bge _020865f0 + ldr r0, [sp, #0xd8] + cmp r1, r0 + blt _020865f0 + ldr r1, [r8, #8] + ldr r0, [sp, #0xec] + cmp r1, r0 + bge _020865f0 + ldr r0, [sp, #0xe0] + cmp r1, r0 + bge _02086604 +_020865f0: + ldr r0, [sp, #0xe8] + ldr r1, [r7, #4] + add r0, r0, r6 + cmp r1, r0 + blt _0208662c +_02086604: + ldr r0, [sp, #0xe8] + mov r1, #0 + add r0, r0, r6 + str r0, [r5, #4] + str r1, [r4] + mov r0, #0x1000 + stmib r4, {r0, r1} + add sp, sp, #0x15c + mov r0, #1 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_0208662c: + add r0, sp, #0xd8 + add r1, sp, #0xa8 + bl func_ov00_0208e6b0 + ldr r3, [sp, #0xec] + ldr r2, [r8, #8] + cmp r2, r3 + bge _020867f8 + ldr r0, [sp, #0xe0] + cmp r2, r0 + blt _020867f8 + ldr r1, [r8] + ldr r0, [sp, #0xe4] + cmp r1, r0 + bge _020867f8 + ldr r0, [sp, #0xd8] + cmp r1, r0 + blt _020867f8 + add r0, sp, #0xd8 + bl func_ov00_0208e6f0 + mov r7, r0 + add r0, sp, #0xd8 + bl func_ov00_0208e704 + cmp r7, r0 + bne _020866bc + ldr r1, [sp, #0xb0] + ldr r0, [r8, #8] + subs r2, r1, r0 + ldr r1, [sp, #0xa8] + ldr r0, [r8] + rsbmi r2, r2, #0 + subs r0, r1, r0 + rsbmi r0, r0, #0 + cmp r0, r2 + movgt r0, #1 + movle r0, #0 + b _020866dc +_020866bc: + add r0, sp, #0xd8 + bl func_ov00_0208e6f0 + mov r7, r0 + add r0, sp, #0xd8 + bl func_ov00_0208e704 + cmp r7, r0 + movlt r0, #1 + movge r0, #0 +_020866dc: + cmp r0, #0 + beq _02086770 + ldr r0, [sp, #0xb4] + cmp r0, #0 + add r0, sp, #0xd8 + blt _02086730 + ldr r7, [sp, #0xc0] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e6f0 + add r0, r6, r0, asr #1 + ldr r1, [r5] + sub r0, r0, r7 + add r0, r1, r0 + str r0, [r5] + mov r0, #0x1000 + str r0, [r4] + mov r0, #0 + str r0, [r4, #4] + str r0, [r4, #8] + b _02086a6c +_02086730: + ldr r7, [sp, #0xc0] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e6f0 + add r1, r6, r0, asr #1 + mov r0, #0x1000 + ldr r2, [r5] + sub r1, r1, r7 + sub r1, r2, r1 + str r1, [r5] + rsb r0, r0, #0 + str r0, [r4] + mov r0, #0 + str r0, [r4, #4] + str r0, [r4, #8] + b _02086a6c +_02086770: + ldr r0, [sp, #0xbc] + cmp r0, #0 + add r0, sp, #0xd8 + blt _020867bc + ldr r7, [sp, #0xc8] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e704 + add r0, r6, r0, asr #1 + ldr r1, [r5, #8] + sub r0, r0, r7 + add r0, r1, r0 + str r0, [r5, #8] + mov r0, #0 + str r0, [r4] + str r0, [r4, #4] + mov r0, #0x1000 + str r0, [r4, #8] + b _02086a6c +_020867bc: + ldr r7, [sp, #0xc8] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e704 + add r1, r6, r0, asr #1 + ldr r2, [r5, #8] + sub r1, r1, r7 + sub r1, r2, r1 + mov r0, #0 + str r1, [r5, #8] + str r0, [r4] + str r0, [r4, #4] + sub r0, r0, #0x1000 + str r0, [r4, #8] + b _02086a6c +_020867f8: + ldr r1, [r8] + ldr r0, [sp, #0xe4] + cmp r1, r0 + bge _0208689c + ldr r0, [sp, #0xd8] + cmp r1, r0 + blt _0208689c + ldr r0, [sp, #0xbc] + cmp r0, #0 + add r0, sp, #0xd8 + blt _02086860 + ldr r7, [sp, #0xc8] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e704 + add r0, r6, r0, asr #1 + ldr r1, [r5, #8] + sub r0, r0, r7 + add r0, r1, r0 + str r0, [r5, #8] + mov r0, #0 + str r0, [r4] + str r0, [r4, #4] + mov r0, #0x1000 + str r0, [r4, #8] + b _02086a6c +_02086860: + ldr r7, [sp, #0xc8] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e704 + add r1, r6, r0, asr #1 + ldr r2, [r5, #8] + sub r1, r1, r7 + sub r1, r2, r1 + mov r0, #0 + str r1, [r5, #8] + str r0, [r4] + str r0, [r4, #4] + sub r0, r0, #0x1000 + str r0, [r4, #8] + b _02086a6c +_0208689c: + cmp r2, r3 + bge _0208693c + ldr r0, [sp, #0xe0] + cmp r2, r0 + blt _0208693c + ldr r0, [sp, #0xb4] + cmp r0, #0 + add r0, sp, #0xd8 + blt _020868fc + ldr r7, [sp, #0xc0] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e6f0 + add r0, r6, r0, asr #1 + ldr r1, [r5] + sub r0, r0, r7 + add r0, r1, r0 + str r0, [r5] + mov r0, #0x1000 + str r0, [r4] + mov r0, #0 + str r0, [r4, #4] + str r0, [r4, #8] + b _02086a6c +_020868fc: + ldr r7, [sp, #0xc0] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e6f0 + add r1, r6, r0, asr #1 + mov r0, #0x1000 + ldr r2, [r5] + sub r1, r1, r7 + sub r1, r2, r1 + str r1, [r5] + rsb r0, r0, #0 + str r0, [r4] + mov r0, #0 + str r0, [r4, #4] + str r0, [r4, #8] + b _02086a6c +_0208693c: + ldr r0, [sp, #0xb0] + subs r2, r0, r2 + ldr r0, [sp, #0xa8] + rsbmi r2, r2, #0 + subs r0, r0, r1 + rsbmi r0, r0, #0 + cmp r0, r2 + ble _020869e8 + ldr r0, [sp, #0xb4] + cmp r0, #0 + add r0, sp, #0xd8 + blt _020869a8 + ldr r7, [sp, #0xc0] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e6f0 + add r0, r6, r0, asr #1 + ldr r1, [r5] + sub r0, r0, r7 + add r0, r1, r0 + str r0, [r5] + mov r0, #0x1000 + str r0, [r4] + mov r0, #0 + str r0, [r4, #4] + str r0, [r4, #8] + b _02086a6c +_020869a8: + ldr r7, [sp, #0xc0] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e6f0 + add r1, r6, r0, asr #1 + mov r0, #0x1000 + ldr r2, [r5] + sub r1, r1, r7 + sub r1, r2, r1 + str r1, [r5] + rsb r0, r0, #0 + str r0, [r4] + mov r0, #0 + str r0, [r4, #4] + str r0, [r4, #8] + b _02086a6c +_020869e8: + ldr r0, [sp, #0xbc] + cmp r0, #0 + add r0, sp, #0xd8 + blt _02086a34 + ldr r7, [sp, #0xc8] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e704 + add r0, r6, r0, asr #1 + ldr r1, [r5, #8] + sub r0, r0, r7 + add r0, r1, r0 + str r0, [r5, #8] + mov r0, #0 + str r0, [r4] + str r0, [r4, #4] + mov r0, #0x1000 + str r0, [r4, #8] + b _02086a6c +_02086a34: + ldr r7, [sp, #0xc8] + cmp r7, #0 + rsblt r7, r7, #0 + bl func_ov00_0208e704 + add r1, r6, r0, asr #1 + ldr r2, [r5, #8] + sub r1, r1, r7 + sub r1, r2, r1 + mov r0, #0 + str r1, [r5, #8] + str r0, [r4] + str r0, [r4, #4] + sub r0, r0, #0x1000 + str r0, [r4, #8] +_02086a6c: + add sp, sp, #0x15c + mov r0, #0 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_02086a78: + mov r0, #0 + add sp, sp, #0x15c + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} + arm_func_end _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ + + .global _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ + arm_func_start _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ +_ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_: ; 0x02086a84 + stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x84 + mov r8, r2 + mov r7, r3 + mov r9, r1 + add r2, sp, #0x78 + mov r0, r8 + mov r1, r7 + ldr r6, [sp, #0xa4] + ldr r5, [sp, #0xac] + ldr r4, [sp, #0xb0] + bl func_01ff9bf8 + mov r0, r9 + ldr r1, [r0] + ldr r1, [r1, #8] + blx r1 + cmp r0, #0 + beq _02086ae0 + cmp r0, #1 + beq _02086be4 + cmp r0, #2 + beq _02086c64 + b _02086cc4 +_02086ae0: + mov r0, r9 + ldr r2, [r0] + add r1, sp, #0x68 + ldr r2, [r2, #0x24] + blx r2 + cmp r6, #0 + bne _02086b7c + add r0, sp, #0x68 + add r3, sp, #0x5c + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r8 + mov r1, r3 + bl func_01ff9ec0 + ldr r3, [sp, #0x74] + ldr r2, [sp, #0xa0] + add r1, sp, #0x68 + add r2, r3, r2 + sub r6, r2, r0 + add r2, sp, #0x5c + mov r0, r8 + bl func_01ff9bf8 + add r0, sp, #0x5c + bl func_01fffb4c + cmp r0, #0 + bne _02086b5c + mov r1, #0 + mov r0, #0x1000 + str r1, [sp, #0x5c] + str r1, [sp, #0x60] + str r0, [sp, #0x64] +_02086b5c: + add r0, sp, #0x5c + mov r1, r6 + bl func_01fffbec + add r1, sp, #0x5c + mov r0, r8 + mov r2, r5 + bl func_01ff9bc4 + b _02086b98 +_02086b7c: + add r0, sp, #0x78 + mov r1, r6 + bl func_01fffbec + add r1, sp, #0x78 + mov r0, r7 + mov r2, r5 + bl func_01ff9bc4 +_02086b98: + add r0, sp, #0x68 + add r3, sp, #0x44 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r2, sp, #0x50 + mov r0, r7 + mov r1, r3 + bl func_01ff9bf8 + add r0, sp, #0x50 + bl func_01fffb4c + ldr r1, [sp, #0x50] + mov r0, #0 + str r1, [r4] + ldr r1, [sp, #0x54] + str r1, [r4, #4] + ldr r1, [sp, #0x58] + add sp, sp, #0x84 + str r1, [r4, #8] + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_02086be4: + mov r1, #0 + mov r0, r9 + str r1, [sp, #0x3c] + str r1, [sp, #0x30] + str r1, [sp, #0x34] + str r1, [sp, #0x38] + ldr r2, [r0] + add r1, sp, #0x30 + ldr r2, [r2, #0x28] + blx r2 + add r0, sp, #0x78 + mov r1, r6 + bl func_01fffbec + add r1, sp, #0x78 + mov r0, r7 + mov r2, r5 + bl func_01ff9bc4 + add r0, sp, #0x30 + add r3, sp, #0x24 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldr r2, [r7, #4] + mov r1, r3 + str r2, [sp, #0x28] + mov r0, r7 + mov r2, r4 + bl func_01ff9bf8 + mov r0, r4 + bl func_01fffb4c + add sp, sp, #0x84 + mov r0, #0 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_02086c64: + mov r0, r9 + ldr r2, [r0] + add r1, sp, #0xc + ldr r2, [r2, #0x2c] + blx r2 + add r0, sp, #0xc + add r1, sp, #0 + bl func_ov00_0208e6b0 + add r0, sp, #0x78 + mov r1, r6 + bl func_01fffbec + add r1, sp, #0x78 + mov r2, r5 + mov r0, r7 + bl func_01ff9bc4 + mov r0, r7 + add r1, sp, #0 + mov r2, r4 + bl func_01ff9bf8 + mov r0, r4 + bl func_01fffb4c + add sp, sp, #0x84 + mov r0, #0 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} +_02086cc4: + mov r0, #0 + add sp, sp, #0x84 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} + arm_func_end _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ + + .rodata + .global data_ov00_020d88f0 +data_ov00_020d88f0: ; 0x020d88f0 + .byte 0x51, 0x00, 0x00, 0x00 + .global data_ov00_020d88f4 +data_ov00_020d88f4: ; 0x020d88f4 + .byte 0x6e, 0x00, 0x00, 0x00 + .global data_ov00_020d88f8 +data_ov00_020d88f8: ; 0x020d88f8 + .byte 0x65, 0x00, 0x00, 0x00 + .global data_ov00_020d88fc +data_ov00_020d88fc: ; 0x020d88fc + .byte 0x50, 0x00, 0x00, 0x00 + .global data_ov00_020d8900 +data_ov00_020d8900: ; 0x020d8900 + .byte 0x30, 0x00, 0x00, 0x00 + .global data_ov00_020d8904 +data_ov00_020d8904: ; 0x020d8904 + .byte 0x74, 0x00, 0x00, 0x00 + .global data_ov00_020d8908 +data_ov00_020d8908: ; 0x020d8908 + .byte 0x49, 0x00, 0x00, 0x00 + .global data_ov00_020d890c +data_ov00_020d890c: ; 0x020d890c + .byte 0x50, 0x00, 0x00, 0x00 + .global data_ov00_020d8910 +data_ov00_020d8910: ; 0x020d8910 + .byte 0x51, 0x00, 0x00, 0x00 + .global data_ov00_020d8914 +data_ov00_020d8914: ; 0x020d8914 + .byte 0x54, 0x00, 0x00, 0x00 + .global data_ov00_020d8918 +data_ov00_020d8918: ; 0x020d8918 + .byte 0x52, 0x00, 0x00, 0x00 + .global data_ov00_020d891c +data_ov00_020d891c: ; 0x020d891c + .byte 0x53, 0x00, 0x00, 0x00 + .global data_ov00_020d8920 +data_ov00_020d8920: ; 0x020d8920 + .byte 0x55, 0x00, 0x00, 0x00 + .global data_ov00_020d8924 +data_ov00_020d8924: ; 0x020d8924 + .byte 0x56, 0x00, 0x00, 0x00 + .global data_ov00_020d8928 +data_ov00_020d8928: ; 0x020d8928 + .byte 0x57, 0x00, 0x00, 0x00 + .global data_ov00_020d892c +data_ov00_020d892c: ; 0x020d892c + .byte 0x58, 0x00, 0x00, 0x00 + .global data_ov00_020d8930 +data_ov00_020d8930: ; 0x020d8930 + .byte 0x59, 0x00, 0x00, 0x00 + .global data_ov00_020d8934 +data_ov00_020d8934: ; 0x020d8934 + .byte 0x5a, 0x00, 0x00, 0x00 + .global data_ov00_020d8938 +data_ov00_020d8938: ; 0x020d8938 + .byte 0x5f, 0x00, 0x00, 0x00 + .global data_ov00_020d893c +data_ov00_020d893c: ; 0x020d893c + .byte 0x60, 0x00, 0x00, 0x00 + .global data_ov00_020d8940 +data_ov00_020d8940: ; 0x020d8940 + .byte 0x61, 0x00, 0x00, 0x00 + .global data_ov00_020d8944 +data_ov00_020d8944: ; 0x020d8944 + .byte 0x5c, 0x00, 0x00, 0x00 + .global data_ov00_020d8948 +data_ov00_020d8948: ; 0x020d8948 + .byte 0x5b, 0x00, 0x00, 0x00 + .global data_ov00_020d894c +data_ov00_020d894c: ; 0x020d894c + .byte 0x5e, 0x00, 0x00, 0x00 + .global data_ov00_020d8950 +data_ov00_020d8950: ; 0x020d8950 + .byte 0x62, 0x00, 0x00, 0x00 + .global data_ov00_020d8954 +data_ov00_020d8954: ; 0x020d8954 + .byte 0x63, 0x00, 0x00, 0x00 + .global data_ov00_020d8958 +data_ov00_020d8958: ; 0x020d8958 + .byte 0x64, 0x00, 0x00, 0x00 + .global data_ov00_020d895c +data_ov00_020d895c: ; 0x020d895c + .byte 0x3f, 0x00, 0x00, 0x00 + .global data_ov00_020d8960 +data_ov00_020d8960: ; 0x020d8960 + .byte 0x40, 0x00, 0x00, 0x00 + .global data_ov00_020d8964 +data_ov00_020d8964: ; 0x020d8964 + .byte 0x41, 0x00, 0x00, 0x00 + .global data_ov00_020d8968 +data_ov00_020d8968: ; 0x020d8968 + .byte 0x42, 0x00, 0x00, 0x00 + .global data_ov00_020d896c +data_ov00_020d896c: ; 0x020d896c + .byte 0x43, 0x00, 0x00, 0x00 + .global data_ov00_020d8970 +data_ov00_020d8970: ; 0x020d8970 + .byte 0x44, 0x00, 0x00, 0x00 + .global data_ov00_020d8974 +data_ov00_020d8974: ; 0x020d8974 + .byte 0x45, 0x00, 0x00, 0x00 + .global data_ov00_020d8978 +data_ov00_020d8978: ; 0x020d8978 + .byte 0x46, 0x00, 0x00, 0x00 + .global data_ov00_020d897c +data_ov00_020d897c: ; 0x020d897c + .byte 0x5d, 0x00, 0x00, 0x00 + .global data_ov00_020d8980 +data_ov00_020d8980: ; 0x020d8980 + .byte 0x31, 0x00, 0x00, 0x00 + .global data_ov00_020d8984 +data_ov00_020d8984: ; 0x020d8984 + .byte 0x39, 0x00, 0x00, 0x00 + .global data_ov00_020d8988 +data_ov00_020d8988: ; 0x020d8988 + .byte 0x3a, 0x00, 0x00, 0x00 + .global data_ov00_020d898c +data_ov00_020d898c: ; 0x020d898c + .byte 0x3b, 0x00, 0x00, 0x00 + .global data_ov00_020d8990 +data_ov00_020d8990: ; 0x020d8990 + .byte 0x3c, 0x00, 0x00, 0x00 + .global data_ov00_020d8994 +data_ov00_020d8994: ; 0x020d8994 + .byte 0x32, 0x00, 0x00, 0x00 + .global data_ov00_020d8998 +data_ov00_020d8998: ; 0x020d8998 + .byte 0x33, 0x00, 0x00, 0x00 + .global data_ov00_020d899c +data_ov00_020d899c: ; 0x020d899c + .byte 0x34, 0x00, 0x00, 0x00 + .global data_ov00_020d89a0 +data_ov00_020d89a0: ; 0x020d89a0 + .byte 0x35, 0x00, 0x00, 0x00 + .global data_ov00_020d89a4 +data_ov00_020d89a4: ; 0x020d89a4 + .byte 0x38, 0x00, 0x00, 0x00 + .global data_ov00_020d89a8 +data_ov00_020d89a8: ; 0x020d89a8 + .byte 0x3d, 0x00, 0x00, 0x00 + .global data_ov00_020d89ac +data_ov00_020d89ac: ; 0x020d89ac + .byte 0xd9, 0x00, 0x00, 0x00 + .global data_ov00_020d89b0 +data_ov00_020d89b0: ; 0x020d89b0 + .byte 0xdc, 0x00, 0x00, 0x00 + .global data_ov00_020d89b4 +data_ov00_020d89b4: ; 0x020d89b4 + .byte 0xa1, 0x00, 0x00, 0x00 + .global data_ov00_020d89b8 +data_ov00_020d89b8: ; 0x020d89b8 + .byte 0xa2, 0x00, 0x00, 0x00 + .global data_ov00_020d89bc +data_ov00_020d89bc: ; 0x020d89bc + .byte 0xa3, 0x00, 0x00, 0x00 + .global data_ov00_020d89c0 +data_ov00_020d89c0: ; 0x020d89c0 + .byte 0xa4, 0x00, 0x00, 0x00 + .global data_ov00_020d89c4 +data_ov00_020d89c4: ; 0x020d89c4 + .byte 0xa5, 0x00, 0x00, 0x00 + .global data_ov00_020d89c8 +data_ov00_020d89c8: ; 0x020d89c8 + .byte 0xa6, 0x00, 0x00, 0x00 + .global data_ov00_020d89cc +data_ov00_020d89cc: ; 0x020d89cc + .byte 0x6f, 0x00, 0x00, 0x00 + .global data_ov00_020d89d0 +data_ov00_020d89d0: ; 0x020d89d0 + .byte 0x72, 0x00, 0x00, 0x00 + .global data_ov00_020d89d4 +data_ov00_020d89d4: ; 0x020d89d4 + .byte 0x75, 0x00, 0x00, 0x00 + .global data_ov00_020d89d8 +data_ov00_020d89d8: ; 0x020d89d8 + .byte 0x78, 0x00, 0x00, 0x00 + .global data_ov00_020d89dc +data_ov00_020d89dc: ; 0x020d89dc + .byte 0x79, 0x00, 0x00, 0x00 + .global data_ov00_020d89e0 +data_ov00_020d89e0: ; 0x020d89e0 + .byte 0x7a, 0x00, 0x00, 0x00 + .global data_ov00_020d89e4 +data_ov00_020d89e4: ; 0x020d89e4 + .byte 0x7b, 0x00, 0x00, 0x00 + .global data_ov00_020d89e8 +data_ov00_020d89e8: ; 0x020d89e8 + .byte 0x7f, 0x00, 0x00, 0x00 + .global data_ov00_020d89ec +data_ov00_020d89ec: ; 0x020d89ec + .byte 0x83, 0x00, 0x00, 0x00 + .global data_ov00_020d89f0 +data_ov00_020d89f0: ; 0x020d89f0 + .byte 0x87, 0x00, 0x00, 0x00 + .global data_ov00_020d89f4 +data_ov00_020d89f4: ; 0x020d89f4 + .byte 0x7c, 0x00, 0x00, 0x00 + .global data_ov00_020d89f8 +data_ov00_020d89f8: ; 0x020d89f8 + .byte 0x80, 0x00, 0x00, 0x00 + .global data_ov00_020d89fc +data_ov00_020d89fc: ; 0x020d89fc + .byte 0x84, 0x00, 0x00, 0x00 + .global data_ov00_020d8a00 +data_ov00_020d8a00: ; 0x020d8a00 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8a04 +data_ov00_020d8a04: ; 0x020d8a04 + .byte 0x88, 0x00, 0x00, 0x00 + .global data_ov00_020d8a08 +data_ov00_020d8a08: ; 0x020d8a08 + .byte 0x89, 0x00, 0x00, 0x00 + .global data_ov00_020d8a0c +data_ov00_020d8a0c: ; 0x020d8a0c + .byte 0x8a, 0x00, 0x00, 0x00 + .global data_ov00_020d8a10 +data_ov00_020d8a10: ; 0x020d8a10 + .byte 0x8b, 0x00, 0x00, 0x00 + .global data_ov00_020d8a14 +data_ov00_020d8a14: ; 0x020d8a14 + .byte 0x8c, 0x00, 0x00, 0x00 + .global data_ov00_020d8a18 +data_ov00_020d8a18: ; 0x020d8a18 + .byte 0x8d, 0x00, 0x00, 0x00 + .global data_ov00_020d8a1c +data_ov00_020d8a1c: ; 0x020d8a1c + .byte 0x8e, 0x00, 0x00, 0x00 + .global data_ov00_020d8a20 +data_ov00_020d8a20: ; 0x020d8a20 + .byte 0x8f, 0x00, 0x00, 0x00 + .global data_ov00_020d8a24 +data_ov00_020d8a24: ; 0x020d8a24 + .byte 0x90, 0x00, 0x00, 0x00 + .global data_ov00_020d8a28 +data_ov00_020d8a28: ; 0x020d8a28 + .byte 0x91, 0x00, 0x00, 0x00 + .global data_ov00_020d8a2c +data_ov00_020d8a2c: ; 0x020d8a2c + .byte 0x92, 0x00, 0x00, 0x00 + .global data_ov00_020d8a30 +data_ov00_020d8a30: ; 0x020d8a30 + .byte 0x93, 0x00, 0x00, 0x00 + .global data_ov00_020d8a34 +data_ov00_020d8a34: ; 0x020d8a34 + .byte 0x94, 0x00, 0x00, 0x00 + .global data_ov00_020d8a38 +data_ov00_020d8a38: ; 0x020d8a38 + .byte 0x95, 0x00, 0x00, 0x00 + .global data_ov00_020d8a3c +data_ov00_020d8a3c: ; 0x020d8a3c + .byte 0x96, 0x00, 0x00, 0x00 + .global data_ov00_020d8a40 +data_ov00_020d8a40: ; 0x020d8a40 + .byte 0x97, 0x00, 0x00, 0x00 + .global data_ov00_020d8a44 +data_ov00_020d8a44: ; 0x020d8a44 + .byte 0x98, 0x00, 0x00, 0x00 + .global data_ov00_020d8a48 +data_ov00_020d8a48: ; 0x020d8a48 + .byte 0x99, 0x00, 0x00, 0x00 + .global data_ov00_020d8a4c +data_ov00_020d8a4c: ; 0x020d8a4c + .byte 0x9a, 0x00, 0x00, 0x00 + .global data_ov00_020d8a50 +data_ov00_020d8a50: ; 0x020d8a50 + .byte 0x9b, 0x00, 0x00, 0x00 + .global data_ov00_020d8a54 +data_ov00_020d8a54: ; 0x020d8a54 + .byte 0x9d, 0x00, 0x00, 0x00 + .global data_ov00_020d8a58 +data_ov00_020d8a58: ; 0x020d8a58 + .byte 0x9e, 0x00, 0x00, 0x00 + .global data_ov00_020d8a5c +data_ov00_020d8a5c: ; 0x020d8a5c + .byte 0x9f, 0x00, 0x00, 0x00 + .global data_ov00_020d8a60 +data_ov00_020d8a60: ; 0x020d8a60 + .byte 0xa0, 0x00, 0x00, 0x00 + .global data_ov00_020d8a64 +data_ov00_020d8a64: ; 0x020d8a64 + .byte 0x70, 0x00, 0x00, 0x00 + .global data_ov00_020d8a68 +data_ov00_020d8a68: ; 0x020d8a68 + .byte 0x71, 0x00, 0x00, 0x00 + .global data_ov00_020d8a6c +data_ov00_020d8a6c: ; 0x020d8a6c + .byte 0x73, 0x00, 0x00, 0x00 + .global data_ov00_020d8a70 +data_ov00_020d8a70: ; 0x020d8a70 + .byte 0x76, 0x00, 0x00, 0x00 + .global data_ov00_020d8a74 +data_ov00_020d8a74: ; 0x020d8a74 + .byte 0x77, 0x00, 0x00, 0x00 + .global data_ov00_020d8a78 +data_ov00_020d8a78: ; 0x020d8a78 + .byte 0x7d, 0x00, 0x00, 0x00 + .global data_ov00_020d8a7c +data_ov00_020d8a7c: ; 0x020d8a7c + .byte 0x7e, 0x00, 0x00, 0x00 + .global data_ov00_020d8a80 +data_ov00_020d8a80: ; 0x020d8a80 + .byte 0x81, 0x00, 0x00, 0x00 + .global data_ov00_020d8a84 +data_ov00_020d8a84: ; 0x020d8a84 + .byte 0x82, 0x00, 0x00, 0x00 + .global data_ov00_020d8a88 +data_ov00_020d8a88: ; 0x020d8a88 + .byte 0x86, 0x00, 0x00, 0x00 + .global data_ov00_020d8a8c +data_ov00_020d8a8c: ; 0x020d8a8c + .byte 0x9c, 0x00, 0x00, 0x00 + .global data_ov00_020d8a90 +data_ov00_020d8a90: ; 0x020d8a90 + .byte 0x36, 0x00, 0x00, 0x00 + .global data_ov00_020d8a94 +data_ov00_020d8a94: ; 0x020d8a94 + .byte 0x37, 0x00, 0x00, 0x00 + .global data_ov00_020d8a98 +data_ov00_020d8a98: ; 0x020d8a98 + .byte 0xd0, 0x00, 0x00, 0x00 + .global data_ov00_020d8a9c +data_ov00_020d8a9c: ; 0x020d8a9c + .byte 0xd1, 0x00, 0x00, 0x00 + .global data_ov00_020d8aa0 +data_ov00_020d8aa0: ; 0x020d8aa0 + .byte 0xcd, 0x00, 0x00, 0x00 + .global data_ov00_020d8aa4 +data_ov00_020d8aa4: ; 0x020d8aa4 + .byte 0x9a, 0x01, 0x00, 0x00 + + .data + .global data_ov00_020e24c4 +data_ov00_020e24c4: ; 0x020e24c4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24c8 +data_ov00_020e24c8: ; 0x020e24c8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24cc +data_ov00_020e24cc: ; 0x020e24cc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24d0 +data_ov00_020e24d0: ; 0x020e24d0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24d4 +data_ov00_020e24d4: ; 0x020e24d4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24d8 +data_ov00_020e24d8: ; 0x020e24d8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24dc +data_ov00_020e24dc: ; 0x020e24dc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24e0 +data_ov00_020e24e0: ; 0x020e24e0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24e4 +data_ov00_020e24e4: ; 0x020e24e4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24e8 +data_ov00_020e24e8: ; 0x020e24e8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24ec +data_ov00_020e24ec: ; 0x020e24ec + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24f0 +data_ov00_020e24f0: ; 0x020e24f0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24f4 +data_ov00_020e24f4: ; 0x020e24f4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24f8 +data_ov00_020e24f8: ; 0x020e24f8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e24fc +data_ov00_020e24fc: ; 0x020e24fc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2500 +data_ov00_020e2500: ; 0x020e2500 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2504 +data_ov00_020e2504: ; 0x020e2504 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2508 +data_ov00_020e2508: ; 0x020e2508 + .word data_ov00_020e2520 + .global data_ov00_020e250c +data_ov00_020e250c: ; 0x020e250c + .word data_ov00_020e2524 + .global data_ov00_020e2510 +data_ov00_020e2510: ; 0x020e2510 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2514 +data_ov00_020e2514: ; 0x020e2514 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2518 +data_ov00_020e2518: ; 0x020e2518 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e251c +data_ov00_020e251c: ; 0x020e251c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2520 +data_ov00_020e2520: ; 0x020e2520 + .ascii "MCS" + .byte 0x00 + .global data_ov00_020e2524 +data_ov00_020e2524: ; 0x020e2524 + .ascii "MRC" + .byte 0x00 + .global data_ov00_020e2528 +data_ov00_020e2528: ; 0x020e2528 + .ascii "Map/%s/course.bin" + .byte 0x00, 0x00, 0x00 + + .sbss + .global data_ov00_020ec964 +data_ov00_020ec964: + .space 0x4 + .global data_ov00_020ec968 +data_ov00_020ec968: + .space 0x4 + .global data_ov00_020ec96c +data_ov00_020ec96c: + .space 0x4 + .global data_ov00_020ec970 +data_ov00_020ec970: + .space 0x4 + .global data_ov00_020ec974 +data_ov00_020ec974: + .space 0x4 + .global data_ov00_020ec978 +data_ov00_020ec978: + .space 0x4 + .global data_ov00_020ec97c +data_ov00_020ec97c: + .space 0x4 + .global data_ov00_020ec980 +data_ov00_020ec980: + .space 0x4 + .global data_ov00_020ec984 +data_ov00_020ec984: + .space 0x4 + .global data_ov00_020ec988 +data_ov00_020ec988: + .space 0x4 + .global data_ov00_020ec98c +data_ov00_020ec98c: + .space 0x4 + .global data_ov00_020ec990 +data_ov00_020ec990: + .space 0x4 + .global data_ov00_020ec994 +data_ov00_020ec994: + .space 0x4 + .global data_ov00_020ec998 +data_ov00_020ec998: + .space 0x4 + .global data_ov00_020ec99c +data_ov00_020ec99c: + .space 0x4 + .global data_ov00_020ec9a0 +data_ov00_020ec9a0: + .space 0x4 + .global data_ov00_020ec9a4 +data_ov00_020ec9a4: + .space 0x4 + .global data_ov00_020ec9a8 +data_ov00_020ec9a8: + .space 0x4 + .global data_ov00_020ec9ac +data_ov00_020ec9ac: + .space 0x4 + .global data_ov00_020ec9b0 +data_ov00_020ec9b0: + .space 0x4 + .global data_ov00_020ec9b4 +data_ov00_020ec9b4: + .space 0x4 + .global data_ov00_020ec9b8 +data_ov00_020ec9b8: + .space 0x4 + .global data_ov00_020ec9bc +data_ov00_020ec9bc: + .space 0x4 + .global data_ov00_020ec9c0 +data_ov00_020ec9c0: + .space 0x4 + .global data_ov00_020ec9c4 +data_ov00_020ec9c4: + .space 0x4 + .global data_ov00_020ec9c8 +data_ov00_020ec9c8: + .space 0x4 + .global data_ov00_020ec9cc +data_ov00_020ec9cc: + .space 0x4 + .global data_ov00_020ec9d0 +data_ov00_020ec9d0: + .space 0x4 diff --git a/asm/ov00/ov00_0207af9c.inc b/asm/ov00/ov00_0207af9c.inc index e731a915..257ecc7e 100644 --- a/asm/ov00/ov00_0207af9c.inc +++ b/asm/ov00/ov00_0207af9c.inc @@ -1,92 +1,32 @@ #pragma once -.extern Approach_thunk .extern Divide -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList -.extern _ZN12ActorManager13FindActorByIdEj +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02083318Ei +.extern _ZN10MapManager18func_ov00_02083328Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j -.extern _ZN12ActorManager18func_ov00_020c3b2cEPi -.extern _ZN12ActorManager18func_ov00_020c3bb0EiPi -.extern _ZN12ActorManager18func_ov00_020c3ce8Eii -.extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p .extern _ZN12ActorManager8GetActorEP8ActorRef -.extern _ZN14AdventureFlags15Get_FlagsUnk_00EiP9FlagsUnk2 -.extern _ZN14AdventureFlags18func_ov00_020976c8Ev -.extern _ZN14AdventureFlags18func_ov00_02097738Ev .extern _ZN14AdventureFlags18func_ov00_020980d0Ev -.extern _ZN14AdventureFlags20Get_FlagsUnk_30_FlagEi .extern _ZN14AdventureFlags3GetEj .extern _ZN14OverlayManager15LoadIfNotLoadedEjj -.extern _ZN5Actor10SetUnk_11bEv -.extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ -.extern _ZN5Actor12GetOffsetPosEP5Vec3p -.extern _ZN5Actor12SetTransformEP9Transform -.extern _ZN5Actor15IsHitboxTouchedEb -.extern _ZN5Actor15TrySetTransformEP9Transform -.extern _ZN5Actor16CollidesWithLinkEv -.extern _ZN5Actor18func_Ov00_020c1bfcEi -.extern _ZN5Actor18func_ov00_020c1c20Eiii -.extern _ZN5Actor18func_ov00_020c313cEj -.extern _ZN5Actor6GetPosEv -.extern _ZN5Actor8vfunc_08Ev -.extern _ZN5Actor8vfunc_0cEv -.extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt -.extern _ZN5Actor8vfunc_20Ei -.extern _ZN5Actor8vfunc_24Ev -.extern _ZN5Actor8vfunc_28Ev -.extern _ZN5Actor8vfunc_2cEv -.extern _ZN5Actor8vfunc_30Ev -.extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei -.extern _ZN5Actor8vfunc_4cEPi -.extern _ZN5Actor8vfunc_54Ev -.extern _ZN5Actor8vfunc_60Ev -.extern _ZN5Actor8vfunc_64Ev -.extern _ZN5Actor8vfunc_68Ev -.extern _ZN5Actor8vfunc_6cEv -.extern _ZN5Actor8vfunc_70Ev -.extern _ZN5Actor8vfunc_74Ev -.extern _ZN5Actor8vfunc_78Ev -.extern _ZN5Actor8vfunc_7cEv -.extern _ZN5Actor8vfunc_80Ev -.extern _ZN5Actor8vfunc_84Ev -.extern _ZN5Actor8vfunc_88Ev -.extern _ZN5Actor8vfunc_8cEv -.extern _ZN5Actor8vfunc_90Ev -.extern _ZN5Actor8vfunc_94Ev -.extern _ZN5Actor8vfunc_98Ev -.extern _ZN5Actor8vfunc_9cEv -.extern _ZN5Actor8vfunc_a8Ev -.extern _ZN5Actor8vfunc_acEv -.extern _ZN5Actor8vfunc_b0Ev -.extern _ZN5ActorC2Ev -.extern _ZN5ActorD2Ev .extern _ZN9ActorTypeC1EjPFP5ActorvEPv .extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager7HasItemEi .extern __register_global_object -.extern data_02050f54 .extern data_02056be4 -.extern data_02063e4c .extern data_020691a0 .extern data_027e037c .extern data_027e0384 .extern data_027e03c8 .extern data_027e0618 .extern data_027e071c -.extern data_027e0764 .extern data_027e077c .extern data_027e0c54 -.extern data_027e0c68 .extern data_027e0cbc .extern data_027e0ce0 .extern data_027e0d38 -.extern data_027e0d3c -.extern data_027e0d44 .extern data_027e0d54 .extern data_027e0d6c .extern data_027e0d78 @@ -105,25 +45,28 @@ .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c -.extern data_027e0f70 .extern data_027e0f78 .extern data_027e0f7c -.extern data_027e0f80 -.extern data_027e0f84 .extern data_027e0f88 .extern data_027e0f8c -.extern data_027e0f90 .extern data_027e0f94 -.extern data_027e0fa0 .extern data_027e0fac -.extern data_027e0fc8 .extern data_027e0fcc -.extern data_027e0fe0 .extern data_027e0fe4 -.extern data_027e0fe8 .extern data_027e103c -.extern data_027e10a4 .extern data_ov00_020dbf88 +.extern data_ov00_020e24c8 +.extern data_ov00_020e24d0 +.extern data_ov00_020e24d8 +.extern data_ov00_020e24e0 +.extern data_ov00_020e24e8 +.extern data_ov00_020e24f0 +.extern data_ov00_020e24f8 +.extern data_ov00_020e2500 +.extern data_ov00_020e2508 +.extern data_ov00_020e250c +.extern data_ov00_020e2fa8 +.extern data_ov00_020e30ec .extern data_ov00_020e31ec .extern data_ov00_020e32ec .extern data_ov00_020e33ec @@ -133,61 +76,38 @@ .extern data_ov00_020e37ec .extern data_ov00_020e38ec .extern data_ov00_020e39ec -.extern data_ov00_020eab04 -.extern data_ov00_020eec68 -.extern data_ov00_020eec9c +.extern data_ov00_020ec964 +.extern data_ov00_020ec970 +.extern data_ov00_020ec97c +.extern data_ov00_020ec988 +.extern data_ov00_020ec994 +.extern data_ov00_020ec9a0 +.extern data_ov00_020ec9ac +.extern data_ov00_020ec9b8 +.extern data_ov00_020ecd50 +.extern data_ov00_020ecd58 +.extern data_ov00_020ecd64 +.extern data_ov00_020ecd70 +.extern data_ov00_020ecd84 +.extern data_ov00_020ecd90 +.extern data_ov00_020ecda4 +.extern data_ov00_020ecdb0 +.extern data_ov00_020ecdc4 +.extern data_ov00_020ecdcc +.extern data_ov00_020ecdd8 +.extern data_ov00_020ecde4 +.extern data_ov00_020edde4 +.extern data_ov00_020ee094 +.extern data_ov00_020ee0a0 .extern data_ov09_0211f5dc -.extern data_ov15_02190458 -.extern func_01ff8018 -.extern func_01ff8024 -.extern func_01ff8214 .extern func_01ff892c -.extern func_01ff8954 -.extern func_01ff8af8 -.extern func_01ff9158 -.extern func_01ff91f8 -.extern func_01ff9258 -.extern func_01ff927c -.extern func_01ff98f0 -.extern func_01ff991c -.extern func_01ff992c -.extern func_01ff9958 -.extern func_01ff99f4 -.extern func_01ff9a50 .extern func_01ff9b4c -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9c68 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 .extern func_01ff9ec0 -.extern func_01ffa0f4 .extern func_01ffa8d4 -.extern func_01ffa9fc -.extern func_01ffb7ec -.extern func_01ffbe34 -.extern func_01ffbe78 -.extern func_01ffbf5c .extern func_01ffe468 -.extern func_01ffe61c .extern func_01ffe904 -.extern func_01ffebe0 -.extern func_01ffec34 .extern func_01fff084 .extern func_01fff264 -.extern func_01fff4c8 -.extern func_01fffb4c -.extern func_01fffb80 -.extern func_01fffbec -.extern func_01fffc44 -.extern func_01fffc94 -.extern func_02001fb0 -.extern func_0200250c -.extern func_02002540 -.extern func_02002588 -.extern func_02002774 .extern func_02002c14 .extern func_02004730 .extern func_020047d8 @@ -196,10 +116,7 @@ .extern func_02004dac .extern func_020052e4 .extern func_02005628 -.extern func_02005660 .extern func_02005b58 -.extern func_02005bfc -.extern func_02005dcc .extern func_02006060 .extern func_02006b14 .extern func_02006b2c @@ -209,7 +126,6 @@ .extern func_020078f4 .extern func_02007938 .extern func_02007984 -.extern func_02007a18 .extern func_02007ad8 .extern func_0200be04 .extern func_0200c8d0 @@ -219,75 +135,56 @@ .extern func_02012934 .extern func_020196bc .extern func_020196fc -.extern func_0201b5e4 .extern func_0201e24c .extern func_0201e4cc .extern func_02023b3c .extern func_02024130 .extern func_0202ab78 .extern func_0202abdc -.extern func_0202b154 -.extern func_0202b2e8 -.extern func_0202b3bc -.extern func_0202b418 -.extern func_0202b4e4 -.extern func_0202b66c -.extern func_0202b734 -.extern func_0202b7e4 -.extern func_0202b8e4 .extern func_0202c69c .extern func_0202d56c .extern func_0202d77c -.extern func_0202d7ac -.extern func_0202e58c -.extern func_0202e9f4 -.extern func_0202ea18 -.extern func_020313c8 -.extern func_02034a1c -.extern func_02035064 -.extern func_020350ac -.extern func_020350b4 -.extern func_0203516c -.extern func_020351b8 .extern func_0203eba8 .extern func_0203ebc8 .extern func_02040464 .extern func_02042b40 .extern func_02042bfc -.extern func_02042d50 .extern func_02042f68 .extern func_02043594 .extern func_020435b4 .extern func_02043600 -.extern func_02045810 .extern func_0204dd9c -.extern func_0204f558 .extern func_0204f614 .extern func_0204f754 -.extern func_0204f7b0 .extern func_ov00_02078b40 .extern func_ov00_02078b88 -.extern func_ov00_02078bc4 -.extern func_ov00_02078bf0 -.extern func_ov00_02078f54 -.extern func_ov00_02078fe8 -.extern func_ov00_02079008 -.extern func_ov00_0207920c -.extern func_ov00_020792a0 -.extern func_ov00_02079470 -.extern func_ov00_02079680 -.extern func_ov00_02079898 -.extern func_ov00_020798bc .extern func_ov00_02079e04 .extern func_ov00_02079e3c -.extern func_ov00_0209afc4 -.extern func_ov00_0209b5a4 -.extern func_ov00_0209b6f4 -.extern func_ov00_0209b7c4 -.extern func_ov00_0209b894 -.extern func_ov00_0209b960 -.extern func_ov00_0209bbe8 -.extern func_ov00_0209bc38 +.extern func_ov00_02086cd0 +.extern func_ov00_02087dd8 +.extern func_ov00_0208b79c +.extern func_ov00_0208d820 +.extern func_ov00_0208ee00 +.extern func_ov00_0208f69c +.extern func_ov00_0208fa70 +.extern func_ov00_020903a8 +.extern func_ov00_020904f4 +.extern func_ov00_02093c9c +.extern func_ov00_02095554 +.extern func_ov00_0209564c +.extern func_ov00_0209581c +.extern func_ov00_02095d58 +.extern func_ov00_020972e4 +.extern func_ov00_0209740c +.extern func_ov00_02097458 +.extern func_ov00_02097478 +.extern func_ov00_020974c4 +.extern func_ov00_020974e4 +.extern func_ov00_02097530 +.extern func_ov00_02097550 +.extern func_ov00_0209759c +.extern func_ov00_020975bc +.extern func_ov00_02097608 .extern func_ov00_0209c08c .extern func_ov00_0209c1e4 .extern func_ov00_0209c2b4 @@ -302,62 +199,22 @@ .extern func_ov00_0209cd9c .extern func_ov00_0209cddc .extern func_ov00_0209cdf8 -.extern func_ov00_0209d6e8 .extern func_ov00_0209d71c .extern func_ov00_0209d738 .extern func_ov00_0209d778 -.extern func_ov00_0209da68 -.extern func_ov00_0209da90 -.extern func_ov00_0209dc60 -.extern func_ov00_0209dd44 -.extern func_ov00_0209dec4 -.extern func_ov00_020a0330 -.extern func_ov00_020a0368 -.extern func_ov00_020a0508 -.extern func_ov00_020a0848 -.extern func_ov00_020a1774 -.extern func_ov00_020a17d0 -.extern func_ov00_020a1838 -.extern func_ov00_020a1888 -.extern func_ov00_020a19c8 .extern func_ov00_020a1a0c .extern func_ov00_020a3510 .extern func_ov00_020a3710 .extern func_ov00_020a3de0 .extern func_ov00_020a5e9c -.extern func_ov00_020a6110 -.extern func_ov00_020a61ac -.extern func_ov00_020b3ea8 .extern func_ov00_020b7e6c -.extern func_ov00_020bd304 -.extern func_ov00_020bd618 -.extern func_ov00_020c1500 -.extern func_ov00_020c3348 -.extern func_ov00_020c4048 .extern func_ov00_020cf13c .extern func_ov00_020cf414 -.extern func_ov00_020cfcec -.extern func_ov00_020d70a4 -.extern func_ov00_020d72b8 -.extern func_ov00_020d7424 -.extern func_ov00_020d77e4 .extern func_ov03_020f3974 .extern func_ov03_020f3c28 .extern func_ov03_020fa874 -.extern func_ov03_020fb3e0 -.extern func_ov03_020fb3f0 -.extern func_ov03_020fb404 .extern func_ov04_02100eb0 .extern func_ov04_02101188 -.extern func_ov04_021024c4 -.extern func_ov04_02102770 -.extern func_ov04_02102b28 -.extern func_ov04_02102e3c -.extern func_ov04_02103444 -.extern func_ov04_021034fc -.extern func_ov04_02105578 -.extern func_ov04_02105608 -.extern func_ov04_02106db8 .extern func_ov04_0210bfa8 .extern func_ov04_0210c1f8 .extern func_ov04_0210c3fc @@ -375,10 +232,6 @@ .extern func_ov05_02101080 .extern func_ov05_021010b0 .extern func_ov05_021010ec -.extern func_ov05_0210199c -.extern func_ov05_02101ab8 -.extern func_ov05_02102c2c -.extern func_ov05_02103f4c .extern func_ov05_02111bc0 .extern func_ov05_02111c00 .extern func_ov05_02111c6c @@ -391,26 +244,10 @@ .extern func_ov08_02113a0c .extern func_ov08_02113aa8 .extern func_ov09_02114810 -.extern func_ov12_0212b358 .extern func_ov12_02133c40 -.extern func_ov14_02125934 -.extern func_ov14_02125948 -.extern func_ov15_02128dd8 -.extern func_ov15_02129c14 -.extern func_ov15_02129c24 -.extern func_ov15_02129c34 -.extern func_ov15_02129c44 -.extern func_ov15_0214c3c4 -.extern func_ov15_0214c414 -.extern func_ov15_02175cc4 -.extern func_ov15_021849a4 -.extern func_ov17_0215b4e8 .extern func_ov17_0215cef4 -.extern func_ov18_0215b4a0 .extern func_ov18_0215cb28 .extern func_ov18_0215df1c -.extern func_ov18_0216ac24 -.extern func_ov18_0216ad38 .extern func_ov26_02173b7c .extern func_ov40_02183dac .extern gAdventureFlags diff --git a/asm/ov00/ov00_0207af9c.s b/asm/ov00/ov00_0207af9c.s index 1809f9f8..59f1b892 100644 --- a/asm/ov00/ov00_0207af9c.s +++ b/asm/ov00/ov00_0207af9c.s @@ -9891,26894 +9891,6 @@ func_ov00_020820d0: ; 0x020820d0 ldmia sp!, {r4, pc} arm_func_end func_ov00_020820d0 - .global _ZN10MapManager18func_ov00_020820ecEPi - arm_func_start _ZN10MapManager18func_ov00_020820ecEPi -_ZN10MapManager18func_ov00_020820ecEPi: ; 0x020820ec - ldr ip, _020820f8 ; =func_ov00_0207ca00 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020820ecEPi -_020820f8: .word func_ov00_0207ca00 - - .global _ZN10MapManager18func_ov00_020820fcEiii - arm_func_start _ZN10MapManager18func_ov00_020820fcEiii -_ZN10MapManager18func_ov00_020820fcEiii: ; 0x020820fc - ldr ip, _02082108 ; =func_ov00_0207ca28 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020820fcEiii -_02082108: .word func_ov00_0207ca28 - - .global _ZN10MapManager18func_ov00_0208210cEii - arm_func_start _ZN10MapManager18func_ov00_0208210cEii -_ZN10MapManager18func_ov00_0208210cEii: ; 0x0208210c - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x30 - mov lr, #0 - sub ip, lr, #2 - mov r6, #0x47 - mov r3, #0xff - mov r5, r0 - mov r4, r2 - str r6, [sp, #0x18] - str lr, [sp, #0x1c] - str lr, [sp, #0x20] - str ip, [sp, #0x24] - strh lr, [sp, #0x28] - strb r3, [sp, #0x2a] - strb lr, [sp, #0x2b] - strb lr, [sp, #0x2c] - strb lr, [sp, #0x2d] - cmp r1, #0 - beq _02082170 - mov r0, #0xb - str r0, [r4] - mov r0, #2 - strb r0, [r4, #4] - mov r0, #4 - b _02082190 -_02082170: - add r1, sp, #0x18 - bl _ZN10MapManager18func_ov00_02082348Ei - add r0, sp, #0x18 - bl func_ov00_020a5e9c - str r0, [r4] - ldrb r0, [sp, #0x2a] - strb r0, [r4, #4] - ldrb r0, [sp, #0x2b] -_02082190: - strb r0, [r4, #5] - ldr r0, _02082300 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x28] - add r0, r0, #0x1c - bl func_ov00_020a5e9c - ldr r1, _02082300 ; =data_027e0d38 - str r0, [r4, #8] - ldr r0, [r1] - ldr r0, [r0, #0x28] - ldrb r0, [r0, #0x2e] - strb r0, [r4, #0x10] - ldr r0, [r1] - ldr r0, [r0, #0x28] - ldrsh r0, [r0, #0x36] - strh r0, [r4, #0x14] - ldr r0, [r1] - ldr r2, [r0, #0x28] - ldr r0, [r2, #0x38] - str r0, [r4, #0x18] - ldr r0, [r2, #0x3c] - str r0, [r4, #0x1c] - ldr r0, [r2, #0x40] - str r0, [r4, #0x20] - ldr r0, [r1] - ldr r0, [r0, #0x28] - add r0, r0, #0x44 - bl func_ov00_020a5e9c - str r0, [r4, #0xc] - ldr r1, _02082300 ; =data_027e0d38 - add r0, sp, #0 - ldr r2, [r1] - ldr r2, [r2, #0x28] - ldrb r2, [r2, #0x56] - strb r2, [r4, #0x11] - ldr r2, [r1] - ldr r3, [r2, #0x28] - ldr r2, [r3, #0x5c] - str r2, [r4, #0x24] - ldr r2, [r3, #0x60] - str r2, [r4, #0x28] - ldr r2, [r3, #0x64] - str r2, [r4, #0x2c] - ldr r2, [r1] - ldr r2, [r2, #0x28] - ldrsh r2, [r2, #0x68] - strh r2, [r4, #0x16] - ldr r1, [r1] - ldr r2, [r1, #0x28] - ldr r1, [r2, #0x70] - str r1, [sp] - ldr r1, [r2, #0x74] - str r1, [sp, #4] - ldr r1, [r2, #0x78] - str r1, [sp, #8] - ldr r1, [r2, #0x7c] - str r1, [sp, #0xc] - ldrsh r1, [r2, #0x80] - strh r1, [sp, #0x10] - ldrb r1, [r2, #0x82] - strb r1, [sp, #0x12] - ldrb r1, [r2, #0x83] - strb r1, [sp, #0x13] - ldrb r1, [r2, #0x84] - strb r1, [sp, #0x14] - ldrb r1, [r2, #0x85] - strb r1, [sp, #0x15] - bl func_ov00_020a5e9c - str r0, [r4, #0x1c0] - ldrb r2, [sp, #0x12] - ldr r0, _02082304 ; =data_027e0f70 - mov r1, r4 - strb r2, [r4, #0x1be] - ldrb r2, [sp, #0x13] - strb r2, [r4, #0x1bf] - ldr r0, [r0] - bl func_ov00_02096324 - ldr r0, _02082308 ; =data_027e0f7c - mov r1, r4 - ldr r0, [r0] - bl func_ov00_0209d6e8 - ldr r0, [r5] - ldr r0, [r0, #4] - cmp r0, #3 - addeq sp, sp, #0x30 - ldmeqia sp!, {r4, r5, r6, pc} - ldrb r0, [r5, #8] - strb r0, [r4, #7] - ldrb r0, [r5, #9] - strb r0, [r4, #0x1bc] - add sp, sp, #0x30 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_0208210cEii -_02082300: .word data_027e0d38 -_02082304: .word data_027e0f70 -_02082308: .word data_027e0f7c - - .global _ZN10MapManager18func_ov00_0208230cEi - arm_func_start _ZN10MapManager18func_ov00_0208230cEi -_ZN10MapManager18func_ov00_0208230cEi: ; 0x0208230c - stmdb sp!, {r3, lr} - ldr r3, [r0] - mov r2, #0xa - ldr r3, [r3] - str r3, [r1] - ldr lr, [r0] - ldrb ip, [lr, #0x1c] - ldrb r3, [lr, #0x1d] - mla r2, ip, r2, lr - add r2, r2, r3 - ldrb r2, [r2, #0x20] - strb r2, [r1, #0x12] - ldrb r0, [r0, #0xc] - strb r0, [r1, #0x13] - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_0208230cEi - - .global _ZN10MapManager18func_ov00_02082348Ei - arm_func_start _ZN10MapManager18func_ov00_02082348Ei -_ZN10MapManager18func_ov00_02082348Ei: ; 0x02082348 - stmdb sp!, {r4, lr} - sub sp, sp, #0x18 - mov ip, #0 - mov r4, r1 - sub r3, ip, #2 - mov lr, #0x47 - mov r2, #0xff - add r1, sp, #0 - str lr, [sp] - str ip, [sp, #4] - str ip, [sp, #8] - str r3, [sp, #0xc] - strh ip, [sp, #0x10] - strb r2, [sp, #0x12] - strb ip, [sp, #0x13] - strb ip, [sp, #0x14] - strb ip, [sp, #0x15] - bl _ZN10MapManager18func_ov00_0208230cEi - add r0, sp, #0 - mov r1, r4 - blx func_ov00_02078bf0 - add sp, sp, #0x18 - ldmia sp!, {r4, pc} - arm_func_end _ZN10MapManager18func_ov00_02082348Ei - - .global _ZN10MapManager18func_ov00_020823a4Ei - arm_func_start _ZN10MapManager18func_ov00_020823a4Ei -_ZN10MapManager18func_ov00_020823a4Ei: ; 0x020823a4 - ldr ip, _020823b0 ; =func_ov00_0207de68 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020823a4Ei -_020823b0: .word func_ov00_0207de68 - - .global _ZN10MapManager18func_ov00_020823b4Ev - arm_func_start _ZN10MapManager18func_ov00_020823b4Ev -_ZN10MapManager18func_ov00_020823b4Ev: ; 0x020823b4 - ldr ip, _020823c0 ; =func_ov00_0207de88 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020823b4Ev -_020823c0: .word func_ov00_0207de88 - - .global _ZN10MapManager18func_ov00_020823c4EPii - arm_func_start _ZN10MapManager18func_ov00_020823c4EPii -_ZN10MapManager18func_ov00_020823c4EPii: ; 0x020823c4 - ldr ip, _020823d0 ; =func_ov00_0207e08c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020823c4EPii -_020823d0: .word func_ov00_0207e08c - - .global _ZN10MapManager18func_ov00_020823d4Ei - arm_func_start _ZN10MapManager18func_ov00_020823d4Ei -_ZN10MapManager18func_ov00_020823d4Ei: ; 0x020823d4 - ldr ip, _020823e0 ; =func_ov00_0207e0f0 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020823d4Ei -_020823e0: .word func_ov00_0207e0f0 - - .global _ZN10MapManager18func_ov00_020823e4Ei - arm_func_start _ZN10MapManager18func_ov00_020823e4Ei -_ZN10MapManager18func_ov00_020823e4Ei: ; 0x020823e4 - ldr ip, _020823f0 ; =func_ov00_0207e28c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020823e4Ei -_020823f0: .word func_ov00_0207e28c - - .global _ZN10MapManager16MapData_vfunc_b4Ev - arm_func_start _ZN10MapManager16MapData_vfunc_b4Ev -_ZN10MapManager16MapData_vfunc_b4Ev: ; 0x020823f4 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r1, [r0] - ldr r1, [r1, #0xb4] - blx r1 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager16MapData_vfunc_b4Ev - - .global _ZN10MapManager16MapData_vfunc_9cEv - arm_func_start _ZN10MapManager16MapData_vfunc_9cEv -_ZN10MapManager16MapData_vfunc_9cEv: ; 0x0208240c - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r1, [r0] - ldr r1, [r1, #0x9c] - blx r1 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager16MapData_vfunc_9cEv - - .global _ZN10MapManager18func_ov00_02082424Ev - arm_func_start _ZN10MapManager18func_ov00_02082424Ev -_ZN10MapManager18func_ov00_02082424Ev: ; 0x02082424 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r0, [r4, #4] - ldr r1, [r0] - ldr r1, [r1, #0x4c] - blx r1 - cmp r0, #2 - movne r0, #0 - ldmneia sp!, {r4, pc} - ldr r0, [r4, #4] - bl func_ov15_02129c14 - ldmia sp!, {r4, pc} - arm_func_end _ZN10MapManager18func_ov00_02082424Ev - - .global _ZN10MapManager18func_ov00_02082454Eii - arm_func_start _ZN10MapManager18func_ov00_02082454Eii -_ZN10MapManager18func_ov00_02082454Eii: ; 0x02082454 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - ldr r0, [r6, #4] - mov r5, r1 - ldr r1, [r0] - mov r4, r2 - ldr r1, [r1, #0x4c] - blx r1 - cmp r0, #2 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - ldr r0, [r6, #4] - mov r1, r5 - mov r2, r4 - bl func_ov15_02129c24 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end _ZN10MapManager18func_ov00_02082454Eii - - .global _ZN10MapManager18func_ov00_02082494Ei - arm_func_start _ZN10MapManager18func_ov00_02082494Ei -_ZN10MapManager18func_ov00_02082494Ei: ; 0x02082494 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r0, [r5, #4] - mov r4, r1 - ldr r1, [r0] - ldr r1, [r1, #0x4c] - blx r1 - cmp r0, #2 - movne r0, #0 - ldmneia sp!, {r3, r4, r5, pc} - ldr r0, [r5, #4] - mov r1, r4 - bl func_ov15_02129c34 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN10MapManager18func_ov00_02082494Ei - - .global _ZN10MapManager18func_ov00_020824ccEi - arm_func_start _ZN10MapManager18func_ov00_020824ccEi -_ZN10MapManager18func_ov00_020824ccEi: ; 0x020824cc - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r0, [r5, #4] - mov r4, r1 - ldr r1, [r0] - ldr r1, [r1, #0x4c] - blx r1 - cmp r0, #2 - movne r0, #0 - ldmneia sp!, {r3, r4, r5, pc} - ldr r0, [r5, #4] - mov r1, r4 - bl func_ov15_02129c44 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN10MapManager18func_ov00_020824ccEi - - .global _ZN10MapManager18func_ov00_02082504Ev - arm_func_start _ZN10MapManager18func_ov00_02082504Ev -_ZN10MapManager18func_ov00_02082504Ev: ; 0x02082504 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r0, [r4, #4] - ldr r1, [r0] - ldr r1, [r1, #0x4c] - blx r1 - cmp r0, #2 - movne r0, #0 - ldmneia sp!, {r4, pc} - ldr r0, [r4, #4] - add r0, r0, #0x100 - ldrsh r0, [r0, #0xac] - ldmia sp!, {r4, pc} - arm_func_end _ZN10MapManager18func_ov00_02082504Ev - - .global _ZN10MapManager18func_ov00_02082538Ev - arm_func_start _ZN10MapManager18func_ov00_02082538Ev -_ZN10MapManager18func_ov00_02082538Ev: ; 0x02082538 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0xc - mov r4, r0 - ldr r0, [r4, #4] - ldr r1, [r0] - ldr r1, [r1, #0x4c] - blx r1 - cmp r0, #2 - ldreq r0, [r4, #4] - addeq sp, sp, #0xc - addeq r0, r0, #0x1a0 - ldmeqia sp!, {r3, r4, pc} - ldr r1, _02082590 ; =data_027e0f94 - add r0, sp, #0 - ldr r3, [r1] - ldr r2, [r1, #4] - str r3, [sp] - str r2, [sp, #4] - ldr r1, [r1, #8] - str r1, [sp, #8] - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02082538Ev -_02082590: .word data_027e0f94 - - .global _ZN10MapManager18func_ov00_02082594Ev - arm_func_start _ZN10MapManager18func_ov00_02082594Ev -_ZN10MapManager18func_ov00_02082594Ev: ; 0x02082594 - ldr r0, _020825a4 ; =data_027e0f68 - ldr ip, _020825a8 ; =func_ov00_0208d620 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02082594Ev -_020825a4: .word data_027e0f68 -_020825a8: .word func_ov00_0208d620 - - .global _ZN10MapManager18func_ov00_020825acEv - arm_func_start _ZN10MapManager18func_ov00_020825acEv -_ZN10MapManager18func_ov00_020825acEv: ; 0x020825ac - ldr r0, _020825bc ; =data_027e0f68 - ldr ip, _020825c0 ; =func_ov00_0208d680 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020825acEv -_020825bc: .word data_027e0f68 -_020825c0: .word func_ov00_0208d680 - - .global _ZN10MapManager17GetCourseFilePathEPcS0_ - arm_func_start _ZN10MapManager17GetCourseFilePathEPcS0_ -_ZN10MapManager17GetCourseFilePathEPcS0_: ; 0x020825c4 - ldr ip, _020825dc ; =func_0200c8d0 - mov r3, r1 - mov r0, r2 - ldr r1, _020825e0 ; =data_ov00_020e2528 - mov r2, r3 - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager17GetCourseFilePathEPcS0_ -_020825dc: .word func_0200c8d0 -_020825e0: .word data_ov00_020e2528 - - .global _ZN10MapManager18func_ov00_020825e4Eii - arm_func_start _ZN10MapManager18func_ov00_020825e4Eii -_ZN10MapManager18func_ov00_020825e4Eii: ; 0x020825e4 - stmdb sp!, {r3, r4, r5, lr} - ldr r3, _02082610 ; =data_027e0f7c - mov r5, r0 - ldr r0, [r3] - mov r4, r2 - bl func_ov00_0209d71c - mov r1, r0 - mov r0, r5 - mov r2, r4 - bl _ZN10MapManager17GetCourseFilePathEPcS0_ - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020825e4Eii -_02082610: .word data_027e0f7c - - .global _ZN10MapManager18func_ov00_02082614Eii - arm_func_start _ZN10MapManager18func_ov00_02082614Eii -_ZN10MapManager18func_ov00_02082614Eii: ; 0x02082614 - stmdb sp!, {r3, lr} - mov r3, #4 - str r3, [sp] - ldr r0, [r0] - mov r3, r1 - mov r1, r2 - mov r2, #0 - bl func_ov00_0207ce20 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_02082614Eii - - .global _ZN10MapManager16MapData_vfunc_b0Ev - arm_func_start _ZN10MapManager16MapData_vfunc_b0Ev -_ZN10MapManager16MapData_vfunc_b0Ev: ; 0x02082638 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r3, [r0] - ldr r3, [r3, #0xb0] - blx r3 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager16MapData_vfunc_b0Ev - - .global _ZN10MapManager18func_ov00_02082650Eiii - arm_func_start _ZN10MapManager18func_ov00_02082650Eiii -_ZN10MapManager18func_ov00_02082650Eiii: ; 0x02082650 - ldr ip, _0208265c ; =func_ov00_0208005c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02082650Eiii -_0208265c: .word func_ov00_0208005c - - .global _ZN10MapManager18func_ov00_02082660Eii - arm_func_start _ZN10MapManager18func_ov00_02082660Eii -_ZN10MapManager18func_ov00_02082660Eii: ; 0x02082660 - ldr ip, _0208266c ; =func_ov00_0208007c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02082660Eii -_0208266c: .word func_ov00_0208007c - - .global _ZN10MapManager18func_ov00_02082670Eii - arm_func_start _ZN10MapManager18func_ov00_02082670Eii -_ZN10MapManager18func_ov00_02082670Eii: ; 0x02082670 - ldr ip, _0208267c ; =func_ov00_0208006c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02082670Eii -_0208267c: .word func_ov00_0208006c - - .global _ZN10MapManager18func_ov00_02082680Eii - arm_func_start _ZN10MapManager18func_ov00_02082680Eii -_ZN10MapManager18func_ov00_02082680Eii: ; 0x02082680 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - mov r3, r2 - ldr ip, [r0] - mov r2, #5 - ldr ip, [ip, #0x98] - blx ip - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_02082680Eii - - .global _ZN10MapManager18func_ov00_020826a0Eiii - arm_func_start _ZN10MapManager18func_ov00_020826a0Eiii -_ZN10MapManager18func_ov00_020826a0Eiii: ; 0x020826a0 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - mov r3, r2 - ldr ip, [r0] - mov r2, #7 - ldr ip, [ip, #0x98] - blx ip - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_020826a0Eiii - - .global _ZN10MapManager9CreateMapEiii - arm_func_start _ZN10MapManager9CreateMapEiii -_ZN10MapManager9CreateMapEiii: ; 0x020826c0 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - ldr r0, [r6, #4] - mov r5, r2 - mov r4, r3 - cmp r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - cmp r1, #4 - addls pc, pc, r1, lsl #2 - b _0208278c -_020826e8: ; jump table - b _0208275c ; case 0 - b _0208278c ; case 1 - b _0208272c ; case 2 - b _0208278c ; case 3 - b _020826fc ; case 4 -_020826fc: - ldr r1, _020827bc ; =data_027e0ce0 - mov r0, #0x790 - ldr r1, [r1, #4] - mov r2, #4 - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _02082724 - mov r1, r5 - mov r2, r4 - bl func_ov12_0212b358 -_02082724: - str r0, [r6, #4] - ldmia sp!, {r4, r5, r6, pc} -_0208272c: - ldr r1, _020827bc ; =data_027e0ce0 - mov r0, #0x1b0 - ldr r1, [r1, #4] - mov r2, #4 - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _02082754 - mov r1, r5 - mov r2, r4 - bl func_ov15_02128dd8 -_02082754: - str r0, [r6, #4] - ldmia sp!, {r4, r5, r6, pc} -_0208275c: - ldr r1, _020827bc ; =data_027e0ce0 - mov r0, #0x1dc - ldr r1, [r1, #4] - mov r2, #4 - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _02082784 - mov r1, r5 - mov r2, r4 - bl func_ov18_0215b4a0 -_02082784: - str r0, [r6, #4] - ldmia sp!, {r4, r5, r6, pc} -_0208278c: - ldr r1, _020827bc ; =data_027e0ce0 - mov r0, #0x790 - ldr r1, [r1, #4] - mov r2, #4 - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _020827b4 - mov r1, r5 - mov r2, r4 - blx func_ov17_0215b4e8 -_020827b4: - str r0, [r6, #4] - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end _ZN10MapManager9CreateMapEiii -_020827bc: .word data_027e0ce0 - - .global _ZN10MapManager10DestroyMapEv - arm_func_start _ZN10MapManager10DestroyMapEv -_ZN10MapManager10DestroyMapEv: ; 0x020827c0 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r0, [r4, #4] - cmp r0, #0 - ldmeqia sp!, {r4, pc} - beq _020827e4 - ldr r1, [r0] - ldr r1, [r1, #4] - blx r1 -_020827e4: - mov r0, #0 - str r0, [r4, #4] - ldmia sp!, {r4, pc} - arm_func_end _ZN10MapManager10DestroyMapEv - - .global _ZN10MapManager16MapData_vfunc_44Ev - arm_func_start _ZN10MapManager16MapData_vfunc_44Ev -_ZN10MapManager16MapData_vfunc_44Ev: ; 0x020827f0 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r1, [r0] - ldr r1, [r1, #0x44] - blx r1 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager16MapData_vfunc_44Ev - - .global _ZN10MapManager18func_ov00_02082808Ev - arm_func_start _ZN10MapManager18func_ov00_02082808Ev -_ZN10MapManager18func_ov00_02082808Ev: ; 0x02082808 - stmdb sp!, {r3, r4, r5, lr} - ldr r2, _020828b4 ; =data_027e0d38 - mov r5, r1 - ldr r1, [r2] - ldr r1, [r1, #0x14] - cmp r1, #1 - ldmeqia sp!, {r3, r4, r5, pc} - bl _ZN10MapManager18func_ov00_02084740Ev - mov r4, r0 - cmp r5, #0 - beq _0208286c - ldr r0, _020828b4 ; =data_027e0d38 - ldr r0, [r0] - add r0, r0, #0xc - bl func_ov00_020a5e9c - cmp r0, #0 - bne _02082854 - ldr r0, _020828b8 ; =data_ov15_02190458 - bl func_ov15_021849a4 -_02082854: - ldr r0, _020828bc ; =data_ov00_020eec68 - mov r1, r4 - mov r2, #0 - mov r3, #0x7f - bl func_ov00_020d70a4 - b _02082890 -_0208286c: - ldr r0, _020828bc ; =data_ov00_020eec68 - bl func_ov00_020d7424 - cmp r4, r0 - ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _020828bc ; =data_ov00_020eec68 - mov r1, r4 - mov r2, #0 - mov r3, #0x7f - bl func_ov00_020d70a4 -_02082890: - ldr r0, _020828b4 ; =data_027e0d38 - ldr r0, [r0] - add r0, r0, #0xc - bl func_ov00_020a5e9c - cmp r0, #0 - ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _020828bc ; =data_ov00_020eec68 - bl func_ov00_020d72b8 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02082808Ev -_020828b4: .word data_027e0d38 -_020828b8: .word data_ov15_02190458 -_020828bc: .word data_ov00_020eec68 - - .global _ZN10MapManager16MapData_vfunc_7cEv - arm_func_start _ZN10MapManager16MapData_vfunc_7cEv -_ZN10MapManager16MapData_vfunc_7cEv: ; 0x020828c0 - stmdb sp!, {r3, lr} - ldr ip, [sp, #8] - str ip, [sp] - ldr r0, [r0, #4] - ldr ip, [r0] - ldr ip, [ip, #0x7c] - blx ip - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager16MapData_vfunc_7cEv - - .global _ZN10MapManager16MapData_vfunc_84Ev - arm_func_start _ZN10MapManager16MapData_vfunc_84Ev -_ZN10MapManager16MapData_vfunc_84Ev: ; 0x020828e0 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r2, [r0] - ldr r2, [r2, #0x84] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager16MapData_vfunc_84Ev - - .global _ZN10MapManager18func_ov00_020828f8EPi - arm_func_start _ZN10MapManager18func_ov00_020828f8EPi -_ZN10MapManager18func_ov00_020828f8EPi: ; 0x020828f8 - ldr ip, _02082904 ; =func_ov00_0207f38c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020828f8EPi -_02082904: .word func_ov00_0207f38c - - .global _ZN10MapManager20GetCourseData_Unk_b0Ev - arm_func_start _ZN10MapManager20GetCourseData_Unk_b0Ev -_ZN10MapManager20GetCourseData_Unk_b0Ev: ; 0x02082908 - ldr r0, [r0] - ldrb r0, [r0, #0xb0] - bx lr - arm_func_end _ZN10MapManager20GetCourseData_Unk_b0Ev - - .global _ZN10MapManager18func_ov00_02082914Ei - arm_func_start _ZN10MapManager18func_ov00_02082914Ei -_ZN10MapManager18func_ov00_02082914Ei: ; 0x02082914 - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x34 - mov r8, r1 - sub r1, r8, #0xfa - mov r9, r0 - cmp r1, #4 - addls pc, pc, r1, lsl #2 - b _02082ac0 -_02082934: ; jump table - b _02082948 ; case 0 - b _02082990 ; case 1 - b _02082990 ; case 2 - b _02082990 ; case 3 - b _02082990 ; case 4 -_02082948: - ldr r0, _02082ac8 ; =data_027e0d38 - add r3, sp, #0x20 - ldr r0, [r0] - ldr r0, [r0, #0x28] - add r4, r0, #0x5c - ldmia r4, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldrsh r0, [r4, #0xc] - mov r1, r3 - strh r0, [sp, #0x2c] - ldrb r0, [r4, #0xe] - strb r0, [sp, #0x2e] - ldr r0, [r4, #0x10] - str r0, [sp, #0x30] - ldr r0, [r9, #4] - bl func_ov00_0207f844 - add sp, sp, #0x34 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_02082990: - ldr r0, _02082ac8 ; =data_027e0d38 - mov r1, #0xff - mov r4, #0 - ldr r0, [r0] - strb r1, [sp, #0x1a] - str r4, [sp, #0x1c] - ldr r1, [r0, #0x28] - ldr r0, [r9] - ldr r3, [r1, #0x38] - ldr r2, [r1, #0x3c] - ldr r1, [r1, #0x40] - ldr r0, [r0, #4] - mov r5, #0x2000 - mov r6, r5 - str r3, [sp] - str r2, [sp, #4] - str r1, [sp, #8] - cmp r0, #2 - mov r7, #0xfd - bne _02082a0c - ldr r0, [r9, #4] - ldr r1, [r0] - ldr r1, [r1, #0x88] - blx r1 - add r5, r0, #0xa000 - ldr r0, [r9, #4] - ldr r1, [r0] - ldr r1, [r1, #0x8c] - blx r1 - add r6, r0, #0xa000 - mov r7, #0xfe -_02082a0c: - sub r0, r8, #0xfb - cmp r0, #3 - addls pc, pc, r0, lsl #2 - b _02082a90 -_02082a1c: ; jump table - b _02082a2c ; case 0 - b _02082a48 ; case 1 - b _02082a60 ; case 2 - b _02082a7c ; case 3 -_02082a2c: - mov r0, r9 - bl _ZN10MapManager18func_ov00_020833e8Ev - sub r0, r0, r6 - mov r4, #0x8000 - str r0, [sp, #8] - rsb r4, r4, #0 - b _02082a90 -_02082a48: - mov r0, r9 - bl _ZN10MapManager18func_ov00_020833d0Ev - add r0, r6, r0 - str r0, [sp, #8] - mov r4, #0 - b _02082a90 -_02082a60: - mov r0, r9 - bl _ZN10MapManager18func_ov00_020833dcEv - sub r0, r0, r5 - mov r4, #0x4000 - str r0, [sp] - rsb r4, r4, #0 - b _02082a90 -_02082a7c: - mov r0, r9 - bl _ZN10MapManager18func_ov00_020833c4Ev - add r0, r5, r0 - str r0, [sp] - mov r4, #0x4000 -_02082a90: - ldr r2, [sp] - ldr r1, [sp, #4] - ldr r0, [sp, #8] - str r1, [sp, #0x10] - strb r8, [sp, #0x1a] - str r2, [sp, #0xc] - strh r4, [sp, #0x18] - str r7, [sp, #0x1c] - str r0, [sp, #0x14] - ldr r0, [r9, #4] - add r1, sp, #0xc - bl func_ov00_0207f844 -_02082ac0: - add sp, sp, #0x34 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02082914Ei -_02082ac8: .word data_027e0d38 - - .global _ZN10MapManager18func_ov00_02082accEv - arm_func_start _ZN10MapManager18func_ov00_02082accEv -_ZN10MapManager18func_ov00_02082accEv: ; 0x02082acc - ldr ip, _02082ad8 ; =func_ov00_0207d7bc - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02082accEv -_02082ad8: .word func_ov00_0207d7bc - - .global _ZN10MapManager18func_ov00_02082adcEv - arm_func_start _ZN10MapManager18func_ov00_02082adcEv -_ZN10MapManager18func_ov00_02082adcEv: ; 0x02082adc - ldr r0, _02082aec ; =data_027e0f70 - ldr ip, _02082af0 ; =func_ov00_02096418 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02082adcEv -_02082aec: .word data_027e0f70 -_02082af0: .word func_ov00_02096418 - - .global _ZN10MapManager18func_ov00_02082af4Ev - arm_func_start _ZN10MapManager18func_ov00_02082af4Ev -_ZN10MapManager18func_ov00_02082af4Ev: ; 0x02082af4 - stmdb sp!, {r4, lr} - ldr r1, _02082b38 ; =data_027e0f68 - mov r4, r0 - ldr r0, [r1] - bl func_ov00_0208cc88 - ldr r0, [r4, #4] - ldr r1, [r0] - ldr r1, [r1, #0x48] - blx r1 - mov r0, r4 - mov r1, #0 - bl _ZN10MapManager18func_ov00_02082808Ev - mov r0, #1 - strb r0, [r4, #0xa] - mov r0, #0 - strb r0, [r4, #0xb] - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02082af4Ev -_02082b38: .word data_027e0f68 - - .global _ZN10MapManager18func_ov00_02082b3cEi - arm_func_start _ZN10MapManager18func_ov00_02082b3cEi -_ZN10MapManager18func_ov00_02082b3cEi: ; 0x02082b3c - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r5, r1 - mov r6, r0 - ldrb r2, [r5, #0x12] - ldr r1, [r6] - add r0, sp, #0 - bl func_ov00_0207cb7c - mov r0, r6 - bl _ZN10MapManager20GetCourseData_Unk_1cEv - ldrb r1, [sp] - cmp r1, r0 - bne _02082bac - mov r0, r6 - bl _ZN10MapManager20GetCourseData_Unk_1dEv - ldrb r1, [sp, #1] - cmp r1, r0 - bne _02082bac - ldr r0, [r5, #8] - cmp r0, #1 - bne _02082ba0 - ldr r0, _02082ce0 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x14] - cmp r0, #1 - beq _02082bac -_02082ba0: - ldrb r0, [r5, #0x15] - cmp r0, #0 - beq _02082c90 -_02082bac: - ldr r0, _02082ce4 ; =gAdventureFlags - ldr r0, [r0] - bl _ZN14AdventureFlags18func_ov00_020976c8Ev - ldr r0, _02082ce8 ; =data_027e0f64 - ldr r0, [r0] - bl func_ov00_0208b13c - ldr r1, _02082cec ; =data_027e0fe4 - mov r0, r6 - ldr r4, [r1] - bl _ZN10MapManager18func_ov00_02082d08Ev - mov r3, r0 - ldrb r1, [sp] - ldrb r2, [sp, #1] - mov r0, r4 - blx func_ov04_02105608 - ldr r0, [r6, #4] - ldr r1, [r0] - ldr r1, [r1, #0x2c] - blx r1 - ldr r0, _02082cf0 ; =data_027e0f68 - ldr r0, [r0] - blx func_ov04_02102b28 - ldr r0, _02082cf4 ; =data_027e0f6c - ldr r0, [r0] - blx func_ov04_02102770 - ldr r0, _02082cf8 ; =data_027e0f78 - ldr r0, [r0] - blx func_ov04_02102e3c - ldrb r7, [r5, #0x12] - ldr r0, [r6] - mov r4, #0 - bl func_ov00_0207d778 - mov r1, r7 - mov r7, r0 - ldr r0, [r6] - bl func_ov00_0207d788 - cmp r7, r0 - ldrb r2, [sp] - ldr r1, [r6] - movne r4, #1 - strb r2, [r1, #0x1c] - mov r0, r6 - ldrb ip, [sp, #1] - ldr r6, [r6] - mov r1, r5 - mov r2, r4 - mov r3, #0 - strb ip, [r6, #0x1d] - blx func_ov04_021024c4 - ldr r0, _02082cec ; =data_027e0fe4 - ldrb r1, [r5, #0x12] - ldr r0, [r0] - blx func_ov04_02105578 - ldr r0, _02082cfc ; =data_027e103c - ldr r0, [r0] - bl func_ov00_020cfcec - b _02082cd8 -_02082c90: - ldr r0, _02082ce4 ; =gAdventureFlags - ldr r0, [r0] - bl _ZN14AdventureFlags18func_ov00_020976c8Ev - ldrb r1, [r5, #0x13] - ldr r0, _02082d00 ; =data_027e0f90 - mov r2, #0 - strb r1, [r6, #0xc] - ldr r0, [r0] - ldrb r1, [r5, #0x13] - ldr r3, [r0] - ldr r3, [r3, #0x38] - blx r3 - ldr r0, _02082d04 ; =data_027e0c68 - blx func_ov04_02106db8 - ldr r0, [r6, #4] - ldr r1, [r0] - ldr r1, [r1, #0x18] - blx r1 -_02082cd8: - mov r0, #1 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02082b3cEi -_02082ce0: .word data_027e0d38 -_02082ce4: .word gAdventureFlags -_02082ce8: .word data_027e0f64 -_02082cec: .word data_027e0fe4 -_02082cf0: .word data_027e0f68 -_02082cf4: .word data_027e0f6c -_02082cf8: .word data_027e0f78 -_02082cfc: .word data_027e103c -_02082d00: .word data_027e0f90 -_02082d04: .word data_027e0c68 - - .global _ZN10MapManager18func_ov00_02082d08Ev - arm_func_start _ZN10MapManager18func_ov00_02082d08Ev -_ZN10MapManager18func_ov00_02082d08Ev: ; 0x02082d08 - ldr r3, [r0] - mov r0, #0xa - ldrb r2, [r3, #0x1c] - ldrb r1, [r3, #0x1d] - mla r0, r2, r0, r3 - add r0, r0, r1 - ldrb r0, [r0, #0x20] - bx lr - arm_func_end _ZN10MapManager18func_ov00_02082d08Ev - - .global _ZN10MapManager20GetCourseData_Unk_1cEv - arm_func_start _ZN10MapManager20GetCourseData_Unk_1cEv -_ZN10MapManager20GetCourseData_Unk_1cEv: ; 0x02082d28 - ldr r0, [r0] - ldrb r0, [r0, #0x1c] - bx lr - arm_func_end _ZN10MapManager20GetCourseData_Unk_1cEv - - .global _ZN10MapManager20GetCourseData_Unk_1dEv - arm_func_start _ZN10MapManager20GetCourseData_Unk_1dEv -_ZN10MapManager20GetCourseData_Unk_1dEv: ; 0x02082d34 - ldr r0, [r0] - ldrb r0, [r0, #0x1d] - bx lr - arm_func_end _ZN10MapManager20GetCourseData_Unk_1dEv - - .global _ZN10MapManager18func_ov00_02082d40Ev - arm_func_start _ZN10MapManager18func_ov00_02082d40Ev -_ZN10MapManager18func_ov00_02082d40Ev: ; 0x02082d40 - ldr r3, [r0] - ldr r0, [r3, #4] - cmp r0, #2 - bne _02082d6c - ldrb r2, [r3, #0x1c] - mov r0, #0xa - ldrb r1, [r3, #0x1d] - mla r0, r2, r0, r3 - add r0, r0, r1 - ldrb r0, [r0, #0x20] - bx lr -_02082d6c: - ldrb r0, [r3, #0xb1] - bx lr - arm_func_end _ZN10MapManager18func_ov00_02082d40Ev - - .global _ZN10MapManager18func_ov00_02082d74Ei - arm_func_start _ZN10MapManager18func_ov00_02082d74Ei -_ZN10MapManager18func_ov00_02082d74Ei: ; 0x02082d74 - ldr ip, _02082d80 ; =func_ov00_02078bc4 - mov r0, r1 - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02082d74Ei -_02082d80: .word func_ov00_02078bc4 - - .global _ZN10MapManager18func_ov00_02082d84Ev - arm_func_start _ZN10MapManager18func_ov00_02082d84Ev -_ZN10MapManager18func_ov00_02082d84Ev: ; 0x02082d84 - stmdb sp!, {r4, r5, r6, r7, r8, lr} - mov r8, r0 - mov r7, r1 - mov r6, r2 - mov r5, r3 - bl _ZN10MapManager17Get_MapData_Unk28Ev - mov r1, r0, lsl #0xc - mov r0, #0x100000 - bl Divide - mov r4, r0 - mov r0, r8 - bl _ZN10MapManager17Get_MapData_Unk2aEv - mov r1, r0, lsl #0xc - mov r0, #0xc0000 - bl Divide - ldrb r1, [r7] - mov r1, r1, lsl #0xc - smull r3, r2, r1, r4 - adds r3, r3, #0x800 - adc r1, r2, #0 - mov r2, r3, lsr #0xc - orr r2, r2, r1, lsl #20 - add r1, r2, r4, asr #1 - add r1, r1, #0x800 - mov r1, r1, asr #0xc - str r1, [r6] - ldrb r1, [r7, #1] - mov r1, r1, lsl #0xc - smull r3, r2, r1, r0 - adds r3, r3, #0x800 - adc r1, r2, #0 - mov r2, r3, lsr #0xc - orr r2, r2, r1, lsl #20 - add r0, r2, r0, asr #1 - add r0, r0, #0x800 - mov r0, r0, asr #0xc - str r0, [r5] - ldmia sp!, {r4, r5, r6, r7, r8, pc} - arm_func_end _ZN10MapManager18func_ov00_02082d84Ev - - .global _ZN10MapManager18func_ov00_02082e1cEPiS0_ - arm_func_start _ZN10MapManager18func_ov00_02082e1cEPiS0_ -_ZN10MapManager18func_ov00_02082e1cEPiS0_: ; 0x02082e1c - stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} - sub sp, sp, #0x34 - mov r8, r0 - ldr r0, [r8] - mov r7, r1 - ldrb r1, [r0, #0x25c] - mov r6, r2 - cmp r1, #0 - beq _02083050 - bl func_ov00_0207d47c - cmp r0, #0 - bne _02083038 - mvn r1, #0xff - ldr r0, _02083068 ; =data_027e0d38 - str r1, [sp, #0xc] - str r1, [sp, #8] - ldr r1, [r8, #4] - ldr r0, [r0] - ldrb r4, [r1, #0x1a] - bl func_ov00_02078b40 - cmp r0, #0 - bne _02082e88 - ldr r0, _02083068 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x28] - ldrb r5, [r0, #0x9a] - b _02082e98 -_02082e88: - ldr r0, _02083068 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x28] - ldrb r5, [r0, #0x2e] -_02082e98: - cmp r5, #0xff - bne _02082ebc - ldr r3, [r8] - mov r0, #0xa - ldrb r2, [r3, #0x1e] - ldrb r1, [r3, #0x1f] - mla r0, r2, r0, r3 - add r0, r0, r1 - ldrb r5, [r0, #0x20] -_02082ebc: - ldr r0, _02083068 ; =data_027e0d38 - ldr r0, [r0] - bl func_ov00_02078b40 - cmp r0, #0 - bne _02082ef8 - ldr r0, _02083068 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x28] - ldr r2, [r0, #0xa4] - ldr r1, [r0, #0xa8] - ldr r0, [r0, #0xa0] - str r0, [sp, #0x28] - str r2, [sp, #0x2c] - str r1, [sp, #0x30] - b _02082f1c -_02082ef8: - ldr r0, _02083068 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x28] - ldr r2, [r0, #0x3c] - ldr r1, [r0, #0x40] - ldr r0, [r0, #0x38] - str r0, [sp, #0x28] - str r2, [sp, #0x2c] - str r1, [sp, #0x30] -_02082f1c: - ldr r0, [r8] - add r2, sp, #0xc - add r3, sp, #8 - mov r1, r4 - bl func_ov00_0207d518 - cmp r0, #0 - ldr r0, [r8] - bne _02082fc0 - add r2, sp, #0xc - add r3, sp, #8 - mov r1, r5 - bl func_ov00_0207d518 - ldr r1, [r8] - add r0, sp, #6 - mov r2, r5 - bl func_ov00_0207cb7c - ldrb r1, [sp, #7] - add r0, sp, #4 - add r2, sp, #0x28 - str r1, [sp] - ldrb r3, [sp, #6] - mov r1, r8 - bl _ZN10MapManager18func_ov00_02083a54EiPS_iii - ldr r0, [r8] - bl func_ov00_0207d5c4 - ldrb r1, [sp, #4] - ldr r3, [sp, #0xc] - mov r1, r1, lsl #0xc - smull r2, r0, r1, r0 - adds r1, r2, #0x800 - adc r0, r0, #0 - mov r1, r1, lsr #0xc - orr r1, r1, r0, lsl #20 - add r0, r1, #0x800 - add r0, r3, r0, asr #12 - str r0, [r7] - ldr r0, [r8] - bl func_ov00_0207d5f0 - ldrb r1, [sp, #5] - ldr r3, [sp, #8] - b _02083008 -_02082fc0: - bl func_ov00_0207d5c4 - ldr r2, [r8, #4] - ldr r1, [sp, #0xc] - ldrb r2, [r2, #0x1b] - mov r2, r2, lsl #0xc - smull r3, r0, r2, r0 - adds r2, r3, #0x800 - adc r0, r0, #0 - mov r2, r2, lsr #0xc - orr r2, r2, r0, lsl #20 - add r0, r2, #0x800 - add r0, r1, r0, asr #12 - str r0, [r7] - ldr r0, [r8] - bl func_ov00_0207d5f0 - ldr r1, [r8, #4] - ldr r3, [sp, #8] - ldrb r1, [r1, #0x1c] -_02083008: - mov r1, r1, lsl #0xc - smull r2, r0, r1, r0 - adds r1, r2, #0x800 - adc r0, r0, #0 - mov r1, r1, lsr #0xc - orr r1, r1, r0, lsl #20 - add r0, r1, #0x800 - add r0, r3, r0, asr #12 - str r0, [r6] - add sp, sp, #0x34 - mov r0, #1 - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} -_02083038: - mov r0, #0x80 - str r0, [r7] - str r0, [r6] - add sp, sp, #0x34 - mov r0, #0 - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} -_02083050: - mov r0, #0xc0 - str r0, [r7] - str r0, [r6] - mov r0, #0 - add sp, sp, #0x34 - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02082e1cEPiS0_ -_02083068: .word data_027e0d38 - - .global _ZN10MapManager18func_ov00_0208306cEv - arm_func_start _ZN10MapManager18func_ov00_0208306cEv -_ZN10MapManager18func_ov00_0208306cEv: ; 0x0208306c - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x20 - mov r6, r0 - ldr lr, [r6] - mvn r3, #2 - ldr ip, [lr, #8] - mov r5, r1 - cmp ip, r3 - addne r0, r3, #1 - mov r4, r2 - cmpne ip, r0 - beq _020830f0 - add r0, r3, #2 - cmp ip, r0 - bne _02083138 - ldr r1, _02083154 ; =data_027e0f94 - add r0, sp, #4 - ldr r2, [r1, #4] - ldr r3, [r1] - str r2, [sp, #0x18] - str r3, [sp, #0x14] - ldr r3, [r1, #8] - add r2, sp, #0x14 - mov r1, r6 - str r3, [sp, #0x1c] - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - add r1, sp, #4 - mov r0, r6 - mov r2, r5 - mov r3, r4 - bl _ZN10MapManager18func_ov00_02082d84Ev - add sp, sp, #0x20 - ldmia sp!, {r4, r5, r6, pc} -_020830f0: - ldr r0, _02083158 ; =data_027e0d38 - add r2, sp, #8 - ldr ip, [r0] - mov r0, r6 - ldr r6, [ip, #0x28] - mov r3, r5 - ldr r1, [r6, #0x5c] - str r1, [sp, #8] - ldr r1, [r6, #0x60] - str r1, [sp, #0xc] - ldr r1, [r6, #0x64] - str r1, [sp, #0x10] - str r4, [sp] - ldr r1, [ip, #0x28] - ldrb r1, [r1, #0x56] - bl _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ - add sp, sp, #0x20 - ldmia sp!, {r4, r5, r6, pc} -_02083138: - ldr r0, [lr, #0xb4] - str r0, [r5] - ldr r0, [r6] - ldr r0, [r0, #0xb8] - str r0, [r4] - add sp, sp, #0x20 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_0208306cEv -_02083154: .word data_027e0f94 -_02083158: .word data_027e0d38 - - .global _ZN10MapManager18func_ov00_0208315cEPiS0_ - arm_func_start _ZN10MapManager18func_ov00_0208315cEPiS0_ -_ZN10MapManager18func_ov00_0208315cEPiS0_: ; 0x0208315c - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0x1c - mov r6, r0 - ldr lr, [r6] - mvn r3, #2 - ldr ip, [lr, #8] - mov r5, r1 - cmp ip, r3 - addne r1, r3, #1 - mov r4, r2 - cmpne ip, r1 - beq _020831d8 - add r1, r3, #2 - cmp ip, r1 - bne _02083220 - ldr r1, _0208323c ; =data_027e0f94 - ldr r3, [r1] - ldr r2, [r1, #4] - str r3, [sp, #0x10] - str r2, [sp, #0x14] - ldr r1, [r1, #8] - str r1, [sp, #0x18] - bl _ZN10MapManager18func_ov00_02082d08Ev - mov r1, r0 - add r2, sp, #0x10 - mov r0, r6 - mov r3, r5 - str r4, [sp] - bl _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ - add sp, sp, #0x1c - ldmia sp!, {r3, r4, r5, r6, pc} -_020831d8: - ldr r0, _02083240 ; =data_027e0d38 - add r2, sp, #4 - ldr ip, [r0] - mov r0, r6 - ldr r6, [ip, #0x28] - mov r3, r5 - ldr r1, [r6, #0x5c] - str r1, [sp, #4] - ldr r1, [r6, #0x60] - str r1, [sp, #8] - ldr r1, [r6, #0x64] - str r1, [sp, #0xc] - str r4, [sp] - ldr r1, [ip, #0x28] - ldrb r1, [r1, #0x56] - bl _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ - add sp, sp, #0x1c - ldmia sp!, {r3, r4, r5, r6, pc} -_02083220: - ldr r0, [lr, #0xbc] - str r0, [r5] - ldr r0, [r6] - ldr r0, [r0, #0xc0] - str r0, [r4] - add sp, sp, #0x1c - ldmia sp!, {r3, r4, r5, r6, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_0208315cEPiS0_ -_0208323c: .word data_027e0f94 -_02083240: .word data_027e0d38 - - .global _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ - arm_func_start _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ -_ZN10MapManager18func_ov00_02083244EjPiS0_S0_: ; 0x02083244 - stmdb sp!, {r3, lr} - ldr r0, _02083290 ; =data_ov00_020e24e8 - cmp r1, #4 - movhs r1, #0 - ldr ip, [r0, r1, lsl #3] - ldr lr, [r2] - ldr r0, _02083294 ; =data_ov00_020e24ec - sub ip, lr, ip - add ip, ip, #0x800 - mov ip, ip, asr #0xc - str ip, [r3] - ldr r1, [r0, r1, lsl #3] - ldr r2, [r2, #8] - ldr r0, [sp, #8] - sub r1, r2, r1 - add r1, r1, #0x800 - mov r1, r1, asr #0xc - str r1, [r0] - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083244EjPiS0_S0_ -_02083290: .word data_ov00_020e24e8 -_02083294: .word data_ov00_020e24ec - - .global _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ - arm_func_start _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ -_ZN10MapManager18func_ov00_02083298EjPiS0_S0_: ; 0x02083298 - stmdb sp!, {r3, lr} - ldr r0, _020832fc ; =data_ov00_020e24e8 - cmp r1, #4 - movhs r1, #0 - ldr lr, _02083300 ; =data_ov00_020e24c8 - ldr ip, [r2] - ldr r0, [r0, r1, lsl #3] - ldr lr, [lr, r1, lsl #3] - sub r0, ip, r0 - mov r0, r0, asr #0x1 - add r0, r0, #0x800 - add r0, lr, r0, asr #12 - str r0, [r3] - ldr r0, _02083304 ; =data_ov00_020e24ec - ldr r3, _02083308 ; =data_ov00_020e24cc - ldr r2, [r2, #8] - ldr r0, [r0, r1, lsl #3] - ldr r3, [r3, r1, lsl #3] - sub r0, r2, r0 - mov r0, r0, asr #0x1 - add r1, r0, #0x800 - ldr r0, [sp, #8] - add r1, r3, r1, asr #12 - str r1, [r0] - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083298EjPiS0_S0_ -_020832fc: .word data_ov00_020e24e8 -_02083300: .word data_ov00_020e24c8 -_02083304: .word data_ov00_020e24ec -_02083308: .word data_ov00_020e24cc - - .global _ZN10MapManager21GetCourseData_Unk_25cEv - arm_func_start _ZN10MapManager21GetCourseData_Unk_25cEv -_ZN10MapManager21GetCourseData_Unk_25cEv: ; 0x0208330c - ldr r0, [r0] - ldrb r0, [r0, #0x25c] - bx lr - arm_func_end _ZN10MapManager21GetCourseData_Unk_25cEv - - .global _ZN10MapManager18func_ov00_02083318Ei - arm_func_start _ZN10MapManager18func_ov00_02083318Ei -_ZN10MapManager18func_ov00_02083318Ei: ; 0x02083318 - ldr ip, _02083324 ; =func_ov00_0207d4e4 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083318Ei -_02083324: .word func_ov00_0207d4e4 - - .global _ZN10MapManager18func_ov00_02083328Ev - arm_func_start _ZN10MapManager18func_ov00_02083328Ev -_ZN10MapManager18func_ov00_02083328Ev: ; 0x02083328 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN10MapManager18func_ov00_02082d08Ev - mov r1, r0 - ldr r0, [r4] - bl func_ov00_0207d4e4 - ldmia sp!, {r4, pc} - arm_func_end _ZN10MapManager18func_ov00_02083328Ev - - .global _ZN10MapManager20GetCourseData_Unk_86Ev - arm_func_start _ZN10MapManager20GetCourseData_Unk_86Ev -_ZN10MapManager20GetCourseData_Unk_86Ev: ; 0x02083344 - ldr r0, [r0] - ldrb r0, [r0, #0x86] - bx lr - arm_func_end _ZN10MapManager20GetCourseData_Unk_86Ev - - .global _ZN10MapManager20GetCourseData_Unk_87Ev - arm_func_start _ZN10MapManager20GetCourseData_Unk_87Ev -_ZN10MapManager20GetCourseData_Unk_87Ev: ; 0x02083350 - ldr r0, [r0] - ldrb r0, [r0, #0x87] - bx lr - arm_func_end _ZN10MapManager20GetCourseData_Unk_87Ev - - .global _ZN10MapManager17Get_MapData_Unk28Ev - arm_func_start _ZN10MapManager17Get_MapData_Unk28Ev -_ZN10MapManager17Get_MapData_Unk28Ev: ; 0x0208335c - ldr r0, [r0, #4] - ldrh r0, [r0, #0x28] - bx lr - arm_func_end _ZN10MapManager17Get_MapData_Unk28Ev - - .global _ZN10MapManager17Get_MapData_Unk2aEv - arm_func_start _ZN10MapManager17Get_MapData_Unk2aEv -_ZN10MapManager17Get_MapData_Unk2aEv: ; 0x02083368 - ldr r0, [r0, #4] - ldrh r0, [r0, #0x2a] - bx lr - arm_func_end _ZN10MapManager17Get_MapData_Unk2aEv - - .global _ZN10MapManager18func_ov00_02083374Ev - arm_func_start _ZN10MapManager18func_ov00_02083374Ev -_ZN10MapManager18func_ov00_02083374Ev: ; 0x02083374 - stmdb sp!, {r3, lr} - bl _ZN10MapManager17Get_MapData_Unk28Ev - mov r0, r0, lsl #0xc - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_02083374Ev - - .global _ZN10MapManager18func_ov00_02083384Ev - arm_func_start _ZN10MapManager18func_ov00_02083384Ev -_ZN10MapManager18func_ov00_02083384Ev: ; 0x02083384 - stmdb sp!, {r3, lr} - bl _ZN10MapManager17Get_MapData_Unk2aEv - mov r0, r0, lsl #0xc - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_02083384Ev - - .global _ZN10MapManager13GetCourseMinXEv - arm_func_start _ZN10MapManager13GetCourseMinXEv -_ZN10MapManager13GetCourseMinXEv: ; 0x02083394 - ldr r0, [r0] - ldr r0, [r0, #0x98] - bx lr - arm_func_end _ZN10MapManager13GetCourseMinXEv - - .global _ZN10MapManager13GetCourseMinZEv - arm_func_start _ZN10MapManager13GetCourseMinZEv -_ZN10MapManager13GetCourseMinZEv: ; 0x020833a0 - ldr r0, [r0] - ldr r0, [r0, #0xa0] - bx lr - arm_func_end _ZN10MapManager13GetCourseMinZEv - - .global _ZN10MapManager13GetCourseMaxXEv - arm_func_start _ZN10MapManager13GetCourseMaxXEv -_ZN10MapManager13GetCourseMaxXEv: ; 0x020833ac - ldr r0, [r0] - ldr r0, [r0, #0xa4] - bx lr - arm_func_end _ZN10MapManager13GetCourseMaxXEv - - .global _ZN10MapManager13GetCourseMaxZEv - arm_func_start _ZN10MapManager13GetCourseMaxZEv -_ZN10MapManager13GetCourseMaxZEv: ; 0x020833b8 - ldr r0, [r0] - ldr r0, [r0, #0xac] - bx lr - arm_func_end _ZN10MapManager13GetCourseMaxZEv - - .global _ZN10MapManager18func_ov00_020833c4Ev - arm_func_start _ZN10MapManager18func_ov00_020833c4Ev -_ZN10MapManager18func_ov00_020833c4Ev: ; 0x020833c4 - ldr r0, [r0, #4] - ldr r0, [r0, #0xdc] - bx lr - arm_func_end _ZN10MapManager18func_ov00_020833c4Ev - - .global _ZN10MapManager18func_ov00_020833d0Ev - arm_func_start _ZN10MapManager18func_ov00_020833d0Ev -_ZN10MapManager18func_ov00_020833d0Ev: ; 0x020833d0 - ldr r0, [r0, #4] - ldr r0, [r0, #0xe4] - bx lr - arm_func_end _ZN10MapManager18func_ov00_020833d0Ev - - .global _ZN10MapManager18func_ov00_020833dcEv - arm_func_start _ZN10MapManager18func_ov00_020833dcEv -_ZN10MapManager18func_ov00_020833dcEv: ; 0x020833dc - ldr r0, [r0, #4] - ldr r0, [r0, #0xe8] - bx lr - arm_func_end _ZN10MapManager18func_ov00_020833dcEv - - .global _ZN10MapManager18func_ov00_020833e8Ev - arm_func_start _ZN10MapManager18func_ov00_020833e8Ev -_ZN10MapManager18func_ov00_020833e8Ev: ; 0x020833e8 - ldr r0, [r0, #4] - ldr r0, [r0, #0xf0] - bx lr - arm_func_end _ZN10MapManager18func_ov00_020833e8Ev - - .global _ZN10MapManager18Get_MapData_Unk_d0Ev - arm_func_start _ZN10MapManager18Get_MapData_Unk_d0Ev -_ZN10MapManager18Get_MapData_Unk_d0Ev: ; 0x020833f4 - ldr r0, [r0, #4] - ldr r0, [r0, #0xd0] - bx lr - arm_func_end _ZN10MapManager18Get_MapData_Unk_d0Ev - - .global _ZN10MapManager18Get_MapData_Unk_d8Ev - arm_func_start _ZN10MapManager18Get_MapData_Unk_d8Ev -_ZN10MapManager18Get_MapData_Unk_d8Ev: ; 0x02083400 - ldr r0, [r0, #4] - ldr r0, [r0, #0xd8] - bx lr - arm_func_end _ZN10MapManager18Get_MapData_Unk_d8Ev - - .global _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p - arm_func_start _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p -_ZN10MapManager17GetMapData_Unk_dcEP5Vec3p: ; 0x0208340c - ldr r2, [r0, #4] - ldr r0, [r2, #0xdc] - str r0, [r1] - ldr r0, [r2, #0xe0] - str r0, [r1, #4] - ldr r0, [r2, #0xe4] - str r0, [r1, #8] - bx lr - arm_func_end _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p - - .global _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p - arm_func_start _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p -_ZN10MapManager17GetMapData_Unk_e8EP5Vec3p: ; 0x0208342c - ldr r2, [r0, #4] - ldr r0, [r2, #0xe8] - str r0, [r1] - ldr r0, [r2, #0xec] - str r0, [r1, #4] - ldr r0, [r2, #0xf0] - str r0, [r1, #8] - bx lr - arm_func_end _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p - - .global _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p - arm_func_start _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p -_ZN10MapManager17GetMapData_Unk_d0EP5Vec3p: ; 0x0208344c - ldr r2, [r0, #4] - ldr r0, [r2, #0xd0] - str r0, [r1] - ldr r0, [r2, #0xd4] - str r0, [r1, #4] - ldr r0, [r2, #0xd8] - str r0, [r1, #8] - bx lr - arm_func_end _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p - - .global _ZN10MapManager18func_ov00_0208346cEP4AABB - arm_func_start _ZN10MapManager18func_ov00_0208346cEP4AABB -_ZN10MapManager18func_ov00_0208346cEP4AABB: ; 0x0208346c - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r4, r1 - bl _ZN10MapManager18func_ov00_020833c4Ev - str r0, [r4] - mov r0, r5 - bl _ZN10MapManager18func_ov00_020833d0Ev - str r0, [r4, #8] - mov r0, r5 - bl _ZN10MapManager18func_ov00_020833dcEv - str r0, [r4, #0xc] - mov r0, r5 - bl _ZN10MapManager18func_ov00_020833e8Ev - ldr r1, _020834b8 ; =0x00001333 - str r0, [r4, #0x14] - str r1, [r4, #0x10] - mov r0, #0 - str r0, [r4, #4] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_0208346cEP4AABB -_020834b8: .word 0x00001333 - - .global _ZN10MapManager18func_ov00_020834bcEP5Vec3pii - arm_func_start _ZN10MapManager18func_ov00_020834bcEP5Vec3pii -_ZN10MapManager18func_ov00_020834bcEP5Vec3pii: ; 0x020834bc - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r0, [r5] - mov r4, #0xa - mla r4, r2, r4, r0 - add r2, r4, r3 - mov r4, r1 - ldrb r1, [r2, #0x20] - bl func_ov00_0207cbd8 - ldr r1, [r0] - str r1, [r4] - ldr r1, [r0, #4] - str r1, [r4, #4] - ldr r1, [r0, #8] - mov r0, r5 - str r1, [r4, #8] - bl _ZN10MapManager18func_ov00_02083374Ev - ldr r1, [r4] - sub r1, r1, r0, asr #1 - mov r0, r5 - str r1, [r4] - bl _ZN10MapManager18func_ov00_02083384Ev - ldr r1, [r4, #8] - sub r0, r1, r0, asr #1 - str r0, [r4, #8] - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN10MapManager18func_ov00_020834bcEP5Vec3pii - - .global _ZN10MapManager18func_ov00_02083524EP5Vec3pii - arm_func_start _ZN10MapManager18func_ov00_02083524EP5Vec3pii -_ZN10MapManager18func_ov00_02083524EP5Vec3pii: ; 0x02083524 - stmdb sp!, {r4, lr} - ldr r0, [r0] - mov ip, #0xa - mla ip, r2, ip, r0 - add r2, ip, r3 - mov r4, r1 - ldrb r1, [r2, #0x20] - bl func_ov00_0207cbd8 - ldr r1, [r0] - str r1, [r4] - ldr r1, [r0, #4] - str r1, [r4, #4] - ldr r0, [r0, #8] - str r0, [r4, #8] - ldmia sp!, {r4, pc} - arm_func_end _ZN10MapManager18func_ov00_02083524EP5Vec3pii - - .global _ZN10MapManager18func_ov00_02083560EiPS_j - arm_func_start _ZN10MapManager18func_ov00_02083560EiPS_j -_ZN10MapManager18func_ov00_02083560EiPS_j: ; 0x02083560 - ldr ip, _0208356c ; =func_ov00_0207cb7c - ldr r1, [r1] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083560EiPS_j -_0208356c: .word func_ov00_0207cb7c - - .global _ZN10MapManager18func_ov00_02083570Eii - arm_func_start _ZN10MapManager18func_ov00_02083570Eii -_ZN10MapManager18func_ov00_02083570Eii: ; 0x02083570 - ldr r3, [r0] - mov r0, #0xa - mla r0, r1, r0, r3 - add r0, r0, r2 - ldrb r0, [r0, #0x20] - bx lr - arm_func_end _ZN10MapManager18func_ov00_02083570Eii - - .global _ZN10MapManager18func_ov00_02083588Ev - arm_func_start _ZN10MapManager18func_ov00_02083588Ev -_ZN10MapManager18func_ov00_02083588Ev: ; 0x02083588 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN10MapManager18func_ov00_02082d08Ev - mov r1, r0 - ldr r0, [r4] - bl func_ov00_0207cc6c - ldmia sp!, {r4, pc} - arm_func_end _ZN10MapManager18func_ov00_02083588Ev - - .global _ZN10MapManager18func_ov00_020835a4Ev - arm_func_start _ZN10MapManager18func_ov00_020835a4Ev -_ZN10MapManager18func_ov00_020835a4Ev: ; 0x020835a4 - ldr ip, _020835b0 ; =func_ov00_0207d61c - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020835a4Ev -_020835b0: .word func_ov00_0207d61c - - .global _ZN10MapManager18func_ov00_020835b4Ev - arm_func_start _ZN10MapManager18func_ov00_020835b4Ev -_ZN10MapManager18func_ov00_020835b4Ev: ; 0x020835b4 - ldr ip, _020835c0 ; =func_ov00_0207d628 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020835b4Ev -_020835c0: .word func_ov00_0207d628 - - .global _ZN10MapManager18func_ov00_020835c4Eii - arm_func_start _ZN10MapManager18func_ov00_020835c4Eii -_ZN10MapManager18func_ov00_020835c4Eii: ; 0x020835c4 - stmdb sp!, {r3, lr} - mov r3, #3 - str r3, [sp] - ldr r0, [r0] - mov r3, r2 - mov r2, #0 - bl func_ov00_0207d404 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_020835c4Eii - - .global _ZN10MapManager18func_ov00_020835e4EiPiS0_ - arm_func_start _ZN10MapManager18func_ov00_020835e4EiPiS0_ -_ZN10MapManager18func_ov00_020835e4EiPiS0_: ; 0x020835e4 - ldr ip, _020835f0 ; =func_ov00_0207caa8 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020835e4EiPiS0_ -_020835f0: .word func_ov00_0207caa8 - - .global _ZN10MapManager18func_ov00_020835f4Ei - arm_func_start _ZN10MapManager18func_ov00_020835f4Ei -_ZN10MapManager18func_ov00_020835f4Ei: ; 0x020835f4 - ldr ip, _02083600 ; =func_ov00_0207cb30 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020835f4Ei -_02083600: .word func_ov00_0207cb30 - - .global _ZN10MapManager18func_ov00_02083604Ei - arm_func_start _ZN10MapManager18func_ov00_02083604Ei -_ZN10MapManager18func_ov00_02083604Ei: ; 0x02083604 - ldr ip, _02083610 ; =func_ov00_0207cbe8 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083604Ei -_02083610: .word func_ov00_0207cbe8 - - .global _ZN10MapManager18func_ov00_02083614Ei - arm_func_start _ZN10MapManager18func_ov00_02083614Ei -_ZN10MapManager18func_ov00_02083614Ei: ; 0x02083614 - ldr ip, _02083620 ; =func_ov00_0207cc24 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083614Ei -_02083620: .word func_ov00_0207cc24 - - .global _ZN10MapManager14GetEntrancePosEP5Vec3pi - arm_func_start _ZN10MapManager14GetEntrancePosEP5Vec3pi -_ZN10MapManager14GetEntrancePosEP5Vec3pi: ; 0x02083624 - stmdb sp!, {r4, lr} - ldr r0, [r0, #4] - mov r4, r1 - mov r1, r2 - bl func_ov00_0207f8c0 - mov r3, r0 - ldmia r3, {r0, r1, r2} - stmia r4, {r0, r1, r2} - ldrsh r1, [r3, #0xc] - mov r0, #1 - strh r1, [r4, #0xc] - ldrb r1, [r3, #0xe] - strb r1, [r4, #0xe] - ldr r1, [r3, #0x10] - str r1, [r4, #0x10] - ldmia sp!, {r4, pc} - arm_func_end _ZN10MapManager14GetEntrancePosEP5Vec3pi - - .global _ZN10MapManager18func_ov00_02083664EP5Vec3pi - arm_func_start _ZN10MapManager18func_ov00_02083664EP5Vec3pi -_ZN10MapManager18func_ov00_02083664EP5Vec3pi: ; 0x02083664 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0x14 - mov r4, r1 - mov ip, #0xff - mov r3, #0 - add r1, sp, #0 - strb ip, [sp, #0xe] - str r3, [sp, #0x10] - bl _ZN10MapManager14GetEntrancePosEP5Vec3pi - cmp r0, #0 - addeq sp, sp, #0x14 - moveq r0, #0 - ldmeqia sp!, {r3, r4, pc} - ldr r1, [sp] - mov r0, #1 - str r1, [r4] - ldr r1, [sp, #4] - str r1, [r4, #4] - ldr r1, [sp, #8] - str r1, [r4, #8] - add sp, sp, #0x14 - ldmia sp!, {r3, r4, pc} - arm_func_end _ZN10MapManager18func_ov00_02083664EP5Vec3pi - - .global _ZN10MapManager18func_ov00_020836bcEjPi - arm_func_start _ZN10MapManager18func_ov00_020836bcEjPi -_ZN10MapManager18func_ov00_020836bcEjPi: ; 0x020836bc - ldr ip, _020836c8 ; =func_ov00_0207faac - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020836bcEjPi -_020836c8: .word func_ov00_0207faac - - .global _ZN10MapManager18func_ov00_020836ccEjP4AABBj - arm_func_start _ZN10MapManager18func_ov00_020836ccEjP4AABBj -_ZN10MapManager18func_ov00_020836ccEjP4AABBj: ; 0x020836cc - ldr ip, _020836d8 ; =func_ov00_0207fb64 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020836ccEjP4AABBj -_020836d8: .word func_ov00_0207fb64 - - .global _ZN10MapManager18func_ov00_020836dcEii - arm_func_start _ZN10MapManager18func_ov00_020836dcEii -_ZN10MapManager18func_ov00_020836dcEii: ; 0x020836dc - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0xc - cmp r2, #0 - mov r5, r0 - mov r4, r1 - cmpne r2, #1 - bne _02083718 - ldr r0, _02083768 ; =data_027e0f94 - ldr r2, [r0] - ldr r1, [r0, #4] - str r2, [sp] - str r1, [sp, #4] - ldr r0, [r0, #8] - str r0, [sp, #8] - b _02083750 -_02083718: - ldr r0, _0208376c ; =data_027e0fe4 - mov r1, r2 - ldr r0, [r0] - bl _ZN12ActorManager13FindActorByIdEj - cmp r0, #0 - addeq sp, sp, #0xc - moveq r0, #0 - ldmeqia sp!, {r4, r5, pc} - ldr r1, [r0, #0x48] - str r1, [sp] - ldr r1, [r0, #0x4c] - str r1, [sp, #4] - ldr r0, [r0, #0x50] - str r0, [sp, #8] -_02083750: - add r2, sp, #0 - mov r0, r5 - mov r1, r4 - bl _ZN10MapManager18func_ov00_02083770Eji - add sp, sp, #0xc - ldmia sp!, {r4, r5, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020836dcEii -_02083768: .word data_027e0f94 -_0208376c: .word data_027e0fe4 - - .global _ZN10MapManager18func_ov00_02083770Eji - arm_func_start _ZN10MapManager18func_ov00_02083770Eji -_ZN10MapManager18func_ov00_02083770Eji: ; 0x02083770 - ldr ip, _0208377c ; =func_ov00_0207fd58 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083770Eji -_0208377c: .word func_ov00_0207fd58 - - .global _ZN10MapManager18func_ov00_02083780Ei - arm_func_start _ZN10MapManager18func_ov00_02083780Ei -_ZN10MapManager18func_ov00_02083780Ei: ; 0x02083780 - ldr ip, _0208378c ; =func_ov00_0207fc2c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083780Ei -_0208378c: .word func_ov00_0207fc2c - - .global _ZN10MapManager18func_ov00_02083790Ei - arm_func_start _ZN10MapManager18func_ov00_02083790Ei -_ZN10MapManager18func_ov00_02083790Ei: ; 0x02083790 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #8 - movs r4, r1 - mov r5, r0 - addeq sp, sp, #8 - moveq r0, #1 - ldmeqia sp!, {r3, r4, r5, pc} - ldr r1, _02083830 ; =data_027e0f64 - ldr r0, _02083834 ; =data_027e0d38 - ldr r2, [r1] - ldr r2, [r2, #8] - str r4, [r2, #0x1b4] - ldr r1, [r1] - ldr r1, [r1, #4] - str r4, [r1, #0x1b4] - ldr r0, [r0] - bl func_ov00_02078b40 - cmp r0, #0 - beq _0208381c - add r1, sp, #4 - add r2, sp, #0 - mov r0, r5 - bl _ZN10MapManager18func_ov00_02082e1cEPiS0_ - cmp r0, #0 - bne _0208381c - ldr r0, _02083838 ; =data_027e0d3c - mov r1, r4 - ldr r0, [r0] - mov r2, #0x10 - bl func_ov00_02079898 - ldr r0, _0208383c ; =data_027e0fe4 - mov r1, r4 - ldr r0, [r0] - mov r2, #1 - bl _ZN12ActorManager18func_ov00_020c3ce8Eii -_0208381c: - ldr r0, [r5, #4] - mov r1, r4 - bl func_ov00_0207fdd0 - add sp, sp, #8 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083790Ei -_02083830: .word data_027e0f64 -_02083834: .word data_027e0d38 -_02083838: .word data_027e0d3c -_0208383c: .word data_027e0fe4 - - .global _ZN10MapManager18func_ov00_02083840Ei - arm_func_start _ZN10MapManager18func_ov00_02083840Ei -_ZN10MapManager18func_ov00_02083840Ei: ; 0x02083840 - stmdb sp!, {r3, r4, r5, lr} - movs r4, r1 - mov r5, r0 - moveq r0, #1 - ldmeqia sp!, {r3, r4, r5, pc} - ldr r1, _020838bc ; =data_027e0f64 - mvn r3, #0 - ldr r2, [r1] - ldr r0, _020838c0 ; =data_027e0d3c - ldr r2, [r2, #8] - str r3, [r2, #0x1b4] - ldr r1, [r1] - ldr r1, [r1, #4] - str r3, [r1, #0x1b4] - ldr r0, [r0] - bl func_ov00_02078fe8 - cmp r0, #0 - blt _020838ac - ldr r0, _020838c0 ; =data_027e0d3c - mov r1, #0x10 - ldr r0, [r0] - bl func_ov00_020798bc - ldr r0, _020838c4 ; =data_027e0fe4 - mov r1, r4 - ldr r0, [r0] - mov r2, #0 - bl _ZN12ActorManager18func_ov00_020c3ce8Eii -_020838ac: - ldr r0, [r5, #4] - mov r1, r4 - bl func_ov00_02080d80 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083840Ei -_020838bc: .word data_027e0f64 -_020838c0: .word data_027e0d3c -_020838c4: .word data_027e0fe4 - - .global _ZN10MapManager18func_ov00_020838c8Ei - arm_func_start _ZN10MapManager18func_ov00_020838c8Ei -_ZN10MapManager18func_ov00_020838c8Ei: ; 0x020838c8 - ldr ip, _020838d4 ; =func_ov00_0207fe80 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020838c8Ei -_020838d4: .word func_ov00_0207fe80 - - .global _ZN10MapManager18func_ov00_020838d8Ei - arm_func_start _ZN10MapManager18func_ov00_020838d8Ei -_ZN10MapManager18func_ov00_020838d8Ei: ; 0x020838d8 - ldr ip, _020838e4 ; =func_ov00_0207ff88 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020838d8Ei -_020838e4: .word func_ov00_0207ff88 - - .global _ZN10MapManager18func_ov00_020838e8EjPi - arm_func_start _ZN10MapManager18func_ov00_020838e8EjPi -_ZN10MapManager18func_ov00_020838e8EjPi: ; 0x020838e8 - ldr ip, _020838f4 ; =func_ov00_0208039c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020838e8EjPi -_020838f4: .word func_ov00_0208039c - - .global _ZN10MapManager18func_ov00_020838f8EPi - arm_func_start _ZN10MapManager18func_ov00_020838f8EPi -_ZN10MapManager18func_ov00_020838f8EPi: ; 0x020838f8 - ldr ip, _02083904 ; =func_ov00_02080140 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020838f8EPi -_02083904: .word func_ov00_02080140 - - .global _ZN10MapManager18func_ov00_02083908EcPi - arm_func_start _ZN10MapManager18func_ov00_02083908EcPi -_ZN10MapManager18func_ov00_02083908EcPi: ; 0x02083908 - ldr ip, _02083914 ; =func_ov00_02080510 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083908EcPi -_02083914: .word func_ov00_02080510 - - .global _ZN10MapManager18func_ov00_02083918EiPi - arm_func_start _ZN10MapManager18func_ov00_02083918EiPi -_ZN10MapManager18func_ov00_02083918EiPi: ; 0x02083918 - ldr ip, _02083924 ; =func_ov00_020805d0 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083918EiPi -_02083924: .word func_ov00_020805d0 - - .global _ZN10MapManager18func_ov00_02083928EPci - arm_func_start _ZN10MapManager18func_ov00_02083928EPci -_ZN10MapManager18func_ov00_02083928EPci: ; 0x02083928 - ldr ip, _02083934 ; =func_ov00_02080688 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083928EPci -_02083934: .word func_ov00_02080688 - - .global _ZN10MapManager18func_ov00_02083938Ei - arm_func_start _ZN10MapManager18func_ov00_02083938Ei -_ZN10MapManager18func_ov00_02083938Ei: ; 0x02083938 - ldr ip, _02083944 ; =func_ov00_02080780 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083938Ei -_02083944: .word func_ov00_02080780 - - .global _ZN10MapManager18Set_MapData_Unk_16Eci - arm_func_start _ZN10MapManager18Set_MapData_Unk_16Eci -_ZN10MapManager18Set_MapData_Unk_16Eci: ; 0x02083948 - ldr r0, [r0, #4] - add r0, r0, r2 - strb r1, [r0, #0x16] - bx lr - arm_func_end _ZN10MapManager18Set_MapData_Unk_16Eci - - .global _ZN10MapManager18func_ov00_02083958Ei - arm_func_start _ZN10MapManager18func_ov00_02083958Ei -_ZN10MapManager18func_ov00_02083958Ei: ; 0x02083958 - ldr ip, _02083964 ; =func_ov00_0207f924 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083958Ei -_02083964: .word func_ov00_0207f924 - - .global _ZN10MapManager18func_ov00_02083968EjPc - arm_func_start _ZN10MapManager18func_ov00_02083968EjPc -_ZN10MapManager18func_ov00_02083968EjPc: ; 0x02083968 - ldr ip, _02083974 ; =func_ov00_02080824 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083968EjPc -_02083974: .word func_ov00_02080824 - - .global _ZN10MapManager18func_ov00_02083978EiP5Vec3p - arm_func_start _ZN10MapManager18func_ov00_02083978EiP5Vec3p -_ZN10MapManager18func_ov00_02083978EiP5Vec3p: ; 0x02083978 - stmdb sp!, {r4, lr} - ldr r0, [r0, #4] - mov r4, r2 - bl func_ov00_02080a78 - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r4, pc} - ldr r1, [r0, #8] - str r1, [r4] - ldr r1, [r0, #0xc] - str r1, [r4, #4] - ldr r1, [r0, #0x10] - mov r0, #1 - str r1, [r4, #8] - ldmia sp!, {r4, pc} - arm_func_end _ZN10MapManager18func_ov00_02083978EiP5Vec3p - - .global _ZN10MapManager18func_ov00_020839b4Ei - arm_func_start _ZN10MapManager18func_ov00_020839b4Ei -_ZN10MapManager18func_ov00_020839b4Ei: ; 0x020839b4 - ldr ip, _020839c0 ; =func_ov00_020808d0 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020839b4Ei -_020839c0: .word func_ov00_020808d0 - - .global _ZN10MapManager18func_ov00_020839c4Ei - arm_func_start _ZN10MapManager18func_ov00_020839c4Ei -_ZN10MapManager18func_ov00_020839c4Ei: ; 0x020839c4 - ldr ip, _020839d0 ; =func_ov00_020809b8 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020839c4Ei -_020839d0: .word func_ov00_020809b8 - - .global _ZN10MapManager18func_ov00_020839d4Ev - arm_func_start _ZN10MapManager18func_ov00_020839d4Ev -_ZN10MapManager18func_ov00_020839d4Ev: ; 0x020839d4 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r4, r1 - bl _ZN10MapManager18Get_MapData_Unk_d0Ev - mov r1, r0 - ldr r0, [r5, #4] - sub r1, r4, r1 - bl func_ov00_0207f778 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN10MapManager18func_ov00_020839d4Ev - - .global _ZN10MapManager18func_ov00_020839f8Ev - arm_func_start _ZN10MapManager18func_ov00_020839f8Ev -_ZN10MapManager18func_ov00_020839f8Ev: ; 0x020839f8 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r4, r1 - bl _ZN10MapManager18Get_MapData_Unk_d8Ev - mov r1, r0 - ldr r0, [r5, #4] - sub r1, r4, r1 - bl func_ov00_0207f7a0 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN10MapManager18func_ov00_020839f8Ev - - .global _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - arm_func_start _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p -_ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p: ; 0x02083a1c - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r5, r2 - mov r6, r1 - mov r7, r0 - ldr r1, [r5, #8] - mov r0, r6 - bl _ZN10MapManager18func_ov00_020839f8Ev - mov r4, r0 - ldr r1, [r5] - mov r0, r6 - bl _ZN10MapManager18func_ov00_020839d4Ev - strb r0, [r7] - strb r4, [r7, #1] - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - - .global _ZN10MapManager18func_ov00_02083a54EiPS_iii - arm_func_start _ZN10MapManager18func_ov00_02083a54EiPS_iii -_ZN10MapManager18func_ov00_02083a54EiPS_iii: ; 0x02083a54 - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #0x24 - mov r6, r1 - mov r7, r0 - mov r0, r6 - mov r5, r2 - mov r4, r3 - bl _ZN10MapManager21GetCourseData_Unk_25cEv - cmp r0, #0 - beq _02083b58 - mvn r0, #0 - cmp r4, r0 - ldrne r2, [sp, #0x38] - cmpne r2, r0 - bne _02083aa0 - mov r0, r6 - bl _ZN10MapManager18func_ov00_02082d08Ev - mov r1, r0 - b _02083ab4 -_02083aa0: - ldr r1, [r6] - mov r0, #0xa - mla r0, r4, r0, r1 - add r0, r0, r2 - ldrb r1, [r0, #0x20] -_02083ab4: - mov r0, r6 - bl _ZN10MapManager18func_ov00_02083318Ei - cmp r0, #0 - beq _02083b2c - ldr r3, [sp, #0x38] - add r1, sp, #0x18 - mov r0, r6 - mov r2, r4 - bl _ZN10MapManager18func_ov00_02083524EP5Vec3pii - ldr r1, [r5] - add r0, sp, #0 - str r1, [sp] - ldr r2, [r5, #4] - add r1, sp, #0x18 - str r2, [sp, #4] - ldr r3, [r5, #8] - add r2, sp, #0xc - str r3, [sp, #8] - bl func_01ff9bf8 - ldr r0, [r6, #4] - ldr r1, [sp, #0x14] - bl func_ov00_0207f7a0 - mov r4, r0 - ldr r0, [r6, #4] - ldr r1, [sp, #0xc] - bl func_ov00_0207f778 - strb r0, [r7] - add sp, sp, #0x24 - strb r4, [r7, #1] - ldmia sp!, {r4, r5, r6, r7, pc} -_02083b2c: - ldr r1, [r5, #8] - mov r0, r6 - bl _ZN10MapManager18func_ov00_020839f8Ev - mov r4, r0 - ldr r1, [r5] - mov r0, r6 - bl _ZN10MapManager18func_ov00_020839d4Ev - strb r0, [r7] - add sp, sp, #0x24 - strb r4, [r7, #1] - ldmia sp!, {r4, r5, r6, r7, pc} -_02083b58: - ldr r1, [r5, #8] - mov r0, r6 - bl _ZN10MapManager18func_ov00_020839f8Ev - mov r4, r0 - ldr r1, [r5] - mov r0, r6 - bl _ZN10MapManager18func_ov00_020839d4Ev - strb r0, [r7] - strb r4, [r7, #1] - add sp, sp, #0x24 - ldmia sp!, {r4, r5, r6, r7, pc} - arm_func_end _ZN10MapManager18func_ov00_02083a54EiPS_iii - - .global _ZN10MapManager18func_ov00_02083b84Ev - arm_func_start _ZN10MapManager18func_ov00_02083b84Ev -_ZN10MapManager18func_ov00_02083b84Ev: ; 0x02083b84 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - mov r5, r1 - bl _ZN10MapManager18Get_MapData_Unk_d0Ev - mov r4, r0 - ldr r0, [r6, #4] - mov r1, r5 - bl func_ov00_0207f694 - add r0, r4, r0 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end _ZN10MapManager18func_ov00_02083b84Ev - - .global _ZN10MapManager18func_ov00_02083bacEv - arm_func_start _ZN10MapManager18func_ov00_02083bacEv -_ZN10MapManager18func_ov00_02083bacEv: ; 0x02083bac - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - mov r5, r1 - bl _ZN10MapManager18Get_MapData_Unk_d8Ev - mov r4, r0 - ldr r0, [r6, #4] - mov r1, r5 - bl func_ov00_0207f6a0 - add r0, r4, r0 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end _ZN10MapManager18func_ov00_02083bacEv - - .global _ZN10MapManager18func_ov00_02083bd4Ev - arm_func_start _ZN10MapManager18func_ov00_02083bd4Ev -_ZN10MapManager18func_ov00_02083bd4Ev: ; 0x02083bd4 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - mov r5, r1 - bl _ZN10MapManager18Get_MapData_Unk_d0Ev - mov r4, r0 - ldr r0, [r6, #4] - mov r1, r5 - bl func_ov00_0207f6ac - add r0, r4, r0 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end _ZN10MapManager18func_ov00_02083bd4Ev - - .global _ZN10MapManager18func_ov00_02083bfcEv - arm_func_start _ZN10MapManager18func_ov00_02083bfcEv -_ZN10MapManager18func_ov00_02083bfcEv: ; 0x02083bfc - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - mov r5, r1 - bl _ZN10MapManager18Get_MapData_Unk_d8Ev - mov r4, r0 - ldr r0, [r6, #4] - mov r1, r5 - bl func_ov00_0207f6bc - add r0, r4, r0 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end _ZN10MapManager18func_ov00_02083bfcEv - - .global _ZN10MapManager18func_ov00_02083c24Ei - arm_func_start _ZN10MapManager18func_ov00_02083c24Ei -_ZN10MapManager18func_ov00_02083c24Ei: ; 0x02083c24 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - mov r5, r1 - bl _ZN10MapManager18Get_MapData_Unk_d0Ev - mov r4, r0 - ldr r0, [r6, #4] - mov r1, r5 - bl func_ov00_0207f694 - add r0, r4, r0 - add r0, r0, #0x800 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end _ZN10MapManager18func_ov00_02083c24Ei - - .global _ZN10MapManager18func_ov00_02083c50Ei - arm_func_start _ZN10MapManager18func_ov00_02083c50Ei -_ZN10MapManager18func_ov00_02083c50Ei: ; 0x02083c50 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - mov r5, r1 - bl _ZN10MapManager18Get_MapData_Unk_d8Ev - mov r4, r0 - ldr r0, [r6, #4] - mov r1, r5 - bl func_ov00_0207f6a0 - add r0, r4, r0 - add r0, r0, #0x800 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end _ZN10MapManager18func_ov00_02083c50Ei - - .global _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi - arm_func_start _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi -_ZN10MapManager18func_ov00_02083c7cEP5Vec3pi: ; 0x02083c7c - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0xc - mov r4, r1 - ldrb r1, [sp, #0x20] - mov r5, r0 - bl _ZN10MapManager18func_ov00_02083c24Ei - str r0, [r4] - ldrb r1, [sp, #0x21] - mov r0, r5 - bl _ZN10MapManager18func_ov00_02083c50Ei - str r0, [r4, #8] - ldr r0, [r4] - add r1, sp, #0 - str r0, [sp] - ldr r2, [r4, #4] - mov r0, r5 - str r2, [sp, #4] - ldr r3, [r4, #8] - mov r2, #1 - str r3, [sp, #8] - bl _ZN10MapManager16MapData_vfunc_68Ev - str r0, [r4, #4] - add sp, sp, #0xc - ldmia sp!, {r4, r5, lr} - add sp, sp, #0x10 - bx lr - arm_func_end _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi - - .global _ZN10MapManager18func_ov00_02083ce8Ecccci - arm_func_start _ZN10MapManager18func_ov00_02083ce8Ecccci -_ZN10MapManager18func_ov00_02083ce8Ecccci: ; 0x02083ce8 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x18 - mov r6, r0 - mov r5, r1 - mov r4, r3 - bl _ZN10MapManager21GetCourseData_Unk_25cEv - cmp r0, #0 - beq _02083dd0 - mvn r0, #0 - cmp r4, r0 - ldrne r2, [sp, #0x38] - cmpne r2, r0 - bne _02083d30 - mov r0, r6 - bl _ZN10MapManager18func_ov00_02082d08Ev - mov r1, r0 - b _02083d44 -_02083d30: - ldr r1, [r6] - mov r0, #0xa - mla r0, r4, r0, r1 - add r0, r0, r2 - ldrb r1, [r0, #0x20] -_02083d44: - mov r0, r6 - bl _ZN10MapManager18func_ov00_02083318Ei - cmp r0, #0 - beq _02083da4 - ldr r3, [sp, #0x38] - add r1, sp, #0xc - mov r0, r6 - mov r2, r4 - bl _ZN10MapManager18func_ov00_02083524EP5Vec3pii - ldrb r1, [sp, #0x30] - ldr r0, [r6, #4] - bl func_ov00_0207f694 - ldr r2, [sp, #0xc] - ldrb r1, [sp, #0x31] - add r0, r2, r0 - add r0, r0, #0x800 - str r0, [r5] - ldr r0, [r6, #4] - bl func_ov00_0207f6a0 - ldr r1, [sp, #0x14] - add r0, r1, r0 - add r0, r0, #0x800 - str r0, [r5, #8] - b _02083df8 -_02083da4: - ldrb r1, [sp, #0x30] - ldr r0, [r6, #4] - bl func_ov00_0207f694 - add r0, r0, #0x800 - str r0, [r5] - ldrb r1, [sp, #0x31] - ldr r0, [r6, #4] - bl func_ov00_0207f6a0 - add r0, r0, #0x800 - str r0, [r5, #8] - b _02083df8 -_02083dd0: - ldrb r1, [sp, #0x30] - ldr r0, [r6, #4] - bl func_ov00_0207f694 - add r0, r0, #0x800 - str r0, [r5] - ldrb r1, [sp, #0x31] - ldr r0, [r6, #4] - bl func_ov00_0207f6a0 - add r0, r0, #0x800 - str r0, [r5, #8] -_02083df8: - ldr r0, [r5] - add r1, sp, #0 - str r0, [sp] - ldr r2, [r5, #4] - mov r0, r6 - str r2, [sp, #4] - ldr r3, [r5, #8] - mov r2, #1 - str r3, [sp, #8] - bl _ZN10MapManager16MapData_vfunc_68Ev - str r0, [r5, #4] - add sp, sp, #0x18 - ldmia sp!, {r4, r5, r6, lr} - add sp, sp, #0x10 - bx lr - arm_func_end _ZN10MapManager18func_ov00_02083ce8Ecccci - - .global _ZN10MapManager18func_ov00_02083e34Ecci - arm_func_start _ZN10MapManager18func_ov00_02083e34Ecci -_ZN10MapManager18func_ov00_02083e34Ecci: ; 0x02083e34 - stmdb sp!, {r3, lr} - strb r1, [sp] - strb r2, [sp, #1] - ldr r0, [r0, #4] - add r1, sp, #0 - ldr r2, [r0] - ldr r2, [r2, #0x60] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_02083e34Ecci - - .global _ZN10MapManager16MapData_vfunc_60Ev - arm_func_start _ZN10MapManager16MapData_vfunc_60Ev -_ZN10MapManager16MapData_vfunc_60Ev: ; 0x02083e58 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r2, [r0] - ldr r2, [r2, #0x60] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager16MapData_vfunc_60Ev - - .global _ZN10MapManager18func_ov00_02083e70Ev - arm_func_start _ZN10MapManager18func_ov00_02083e70Ev -_ZN10MapManager18func_ov00_02083e70Ev: ; 0x02083e70 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r4, r1 - bl _ZN10MapManager16MapData_vfunc_54Ev - cmp r0, #0x2b - bgt _02083e98 - bge _02083eb0 - cmp r0, #0x1b - beq _02083eb0 - b _02083eb8 -_02083e98: - cmp r0, #0x4f - bgt _02083eb8 - cmp r0, #0x4e - blt _02083eb8 - cmpne r0, #0x4f - bne _02083eb8 -_02083eb0: - mov r0, #1 - ldmia sp!, {r3, r4, r5, pc} -_02083eb8: - mov r0, r5 - mov r1, r4 - bl _ZN10MapManager16MapData_vfunc_60Ev - mov r4, r0 - mov r0, r5 - bl _ZN10MapManager17GetMapData_Unk_48Ev - cmp r4, r0 - movge r0, #1 - movlt r0, #0 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN10MapManager18func_ov00_02083e70Ev - - .global _ZN10MapManager16MapData_vfunc_68Ev - arm_func_start _ZN10MapManager16MapData_vfunc_68Ev -_ZN10MapManager16MapData_vfunc_68Ev: ; 0x02083ee0 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r3, [r0] - ldr r3, [r3, #0x68] - blx r3 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager16MapData_vfunc_68Ev - - .global _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ - arm_func_start _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ -_ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_: ; 0x02083ef8 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0xc - add ip, sp, #0 - mov r4, r0 - mov lr, r2 - ldmia r1, {r0, r1, r2} - stmia ip, {r0, r1, r2} - ldr r1, [lr, #4] - ldr r0, [sp, #4] - mov r2, r3 - cmp r1, r0 - strgt r1, [sp, #4] - ldr r0, [r4, #4] - add r1, sp, #0 - ldr ip, [r0] - ldr ip, [ip, #0x68] - blx ip - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} - arm_func_end _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ - - .global _ZN10MapManager18func_ov00_02083f44EP5Vec3p - arm_func_start _ZN10MapManager18func_ov00_02083f44EP5Vec3p -_ZN10MapManager18func_ov00_02083f44EP5Vec3p: ; 0x02083f44 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0xc - ldr ip, _02083f7c ; =data_ov00_020e24a4 - mov r3, r2 - ldr r4, [r1, #8] - ldr lr, [r1] - ldr ip, [ip, #0x20] - add r2, sp, #0 - str lr, [sp] - str ip, [sp, #4] - str r4, [sp, #8] - bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083f44EP5Vec3p -_02083f7c: .word data_ov00_020e24a4 - - .global _ZN10MapManager16MapData_vfunc_6cEv - arm_func_start _ZN10MapManager16MapData_vfunc_6cEv -_ZN10MapManager16MapData_vfunc_6cEv: ; 0x02083f80 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr ip, [r0] - ldr ip, [ip, #0x6c] - blx ip - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager16MapData_vfunc_6cEv - - .global _ZN10MapManager16MapData_vfunc_70Ev - arm_func_start _ZN10MapManager16MapData_vfunc_70Ev -_ZN10MapManager16MapData_vfunc_70Ev: ; 0x02083f98 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r2, [r0] - ldr r2, [r2, #0x70] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager16MapData_vfunc_70Ev - - .global _ZN10MapManager18func_ov00_02083fb0EiPS_i - arm_func_start _ZN10MapManager18func_ov00_02083fb0EiPS_i -_ZN10MapManager18func_ov00_02083fb0EiPS_i: ; 0x02083fb0 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r1 - mov r4, r0 - ldr r0, [r6, #4] - mov r5, r2 - ldr r2, [r0] - mov r1, r5 - ldr r2, [r2, #0x74] - blx r2 - cmp r0, #0 - ldrne r0, [r0, #0xc] - strne r0, [r4] - ldmneia sp!, {r4, r5, r6, pc} - mov r0, r6 - mov r1, r5 - bl _ZN10MapManager16MapData_vfunc_70Ev - ldr r1, _0208401c ; =0x0000ffff - mov r2, r0 - cmp r2, r1 - moveq r0, #0 - streq r0, [r4] - ldmeqia sp!, {r4, r5, r6, pc} - ldr r1, _02084020 ; =data_027e0f6c - mov r0, r4 - ldr r1, [r1] - bl func_ov00_02093a1c - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02083fb0EiPS_i -_0208401c: .word 0x0000ffff -_02084020: .word data_027e0f6c - - .global _ZN10MapManager18func_ov00_02084024EiP4AABB - arm_func_start _ZN10MapManager18func_ov00_02084024EiP4AABB -_ZN10MapManager18func_ov00_02084024EiP4AABB: ; 0x02084024 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0xc - mov r6, r0 - ldr r0, [r6, #4] - mov r5, r2 - bl func_ov00_0207f6cc - mov r0, r6 - bl _ZN10MapManager18Get_MapData_Unk_d8Ev - mov r4, r0 - mov r0, r6 - bl _ZN10MapManager18Get_MapData_Unk_d0Ev - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - add r1, sp, #0 - mov r0, r5 - mov r2, r5 - str r4, [sp, #8] - bl func_01ff9bc4 - add r0, r5, #0xc - mov r2, r0 - add r1, sp, #0 - bl func_01ff9bc4 - add sp, sp, #0xc - ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end _ZN10MapManager18func_ov00_02084024EiP4AABB - - .global _ZN10MapManager16MapData_vfunc_54Ev - arm_func_start _ZN10MapManager16MapData_vfunc_54Ev -_ZN10MapManager16MapData_vfunc_54Ev: ; 0x02084088 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r2, [r0] - ldr r2, [r2, #0x54] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager16MapData_vfunc_54Ev - - .global _ZN10MapManager18func_ov00_020840a0Ecci - arm_func_start _ZN10MapManager18func_ov00_020840a0Ecci -_ZN10MapManager18func_ov00_020840a0Ecci: ; 0x020840a0 - stmdb sp!, {r3, lr} - strb r1, [sp] - strb r2, [sp, #1] - ldr r0, [r0, #4] - add r1, sp, #0 - ldr r2, [r0] - ldr r2, [r2, #0x54] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_020840a0Ecci - - .global _ZN10MapManager16MapData_vfunc_78Ev - arm_func_start _ZN10MapManager16MapData_vfunc_78Ev -_ZN10MapManager16MapData_vfunc_78Ev: ; 0x020840c4 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r2, [r0] - ldr r2, [r2, #0x78] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager16MapData_vfunc_78Ev - - .global _ZN10MapManager18func_ov00_020840dcEv - arm_func_start _ZN10MapManager18func_ov00_020840dcEv -_ZN10MapManager18func_ov00_020840dcEv: ; 0x020840dc - stmdb sp!, {r3, lr} - bl _ZN10MapManager16MapData_vfunc_78Ev - cmp r0, #0 - mvneq r0, #0 - ldmeqia sp!, {r3, pc} - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_020840dcEv - - .global _ZN10MapManager18func_ov00_02084100EiPS_ - arm_func_start _ZN10MapManager18func_ov00_02084100EiPS_ -_ZN10MapManager18func_ov00_02084100EiPS_: ; 0x02084100 - ldr r1, [r1, #4] - ldr r2, [r1, #0x40] - ldr r1, [r1, #0x44] - stmia r0, {r1, r2} - bx lr - arm_func_end _ZN10MapManager18func_ov00_02084100EiPS_ - - .global _ZN10MapManager17GetMapData_Unk_48Ev - arm_func_start _ZN10MapManager17GetMapData_Unk_48Ev -_ZN10MapManager17GetMapData_Unk_48Ev: ; 0x02084114 - ldr r0, [r0, #4] - ldr r0, [r0, #0x48] - bx lr - arm_func_end _ZN10MapManager17GetMapData_Unk_48Ev - - .global _ZN10MapManager17GetMapData_Unk_4cEv - arm_func_start _ZN10MapManager17GetMapData_Unk_4cEv -_ZN10MapManager17GetMapData_Unk_4cEv: ; 0x02084120 - ldr r0, [r0, #4] - ldr r0, [r0, #0x4c] - bx lr - arm_func_end _ZN10MapManager17GetMapData_Unk_4cEv - - .global _ZN10MapManager18func_ov00_0208412cEv - arm_func_start _ZN10MapManager18func_ov00_0208412cEv -_ZN10MapManager18func_ov00_0208412cEv: ; 0x0208412c - ldr ip, _02084138 ; =func_ov00_0207f934 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_0208412cEv -_02084138: .word func_ov00_0207f934 - - .global _ZN10MapManager18func_ov00_0208413cEi - arm_func_start _ZN10MapManager18func_ov00_0208413cEi -_ZN10MapManager18func_ov00_0208413cEi: ; 0x0208413c - ldr ip, _02084148 ; =func_ov00_0207f948 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_0208413cEi -_02084148: .word func_ov00_0207f948 - - .global _ZN10MapManager16MapData_vfunc_58Ev - arm_func_start _ZN10MapManager16MapData_vfunc_58Ev -_ZN10MapManager16MapData_vfunc_58Ev: ; 0x0208414c - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r3, [r0] - ldr r3, [r3, #0x58] - blx r3 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager16MapData_vfunc_58Ev - - .global _ZN10MapManager18func_ov00_02084164Ev - arm_func_start _ZN10MapManager18func_ov00_02084164Ev -_ZN10MapManager18func_ov00_02084164Ev: ; 0x02084164 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r0, [r5, #4] - mov r2, #7 - ldr r3, [r0] - mov r4, r1 - ldr r3, [r3, #0x58] - blx r3 - cmp r0, #0 - movne r0, #0 - ldmneia sp!, {r3, r4, r5, pc} - mov r0, r5 - mov r1, r4 - bl _ZN10MapManager16MapData_vfunc_54Ev - cmp r0, #0x54 - addls pc, pc, r0, lsl #2 - b _02084304 -_020841a8: ; jump table - b _020842fc ; case 0 - b _02084304 ; case 1 - b _02084304 ; case 2 - b _02084304 ; case 3 - b _02084304 ; case 4 - b _02084304 ; case 5 - b _02084304 ; case 6 - b _02084304 ; case 7 - b _020842fc ; case 8 - b _020842fc ; case 9 - b _02084304 ; case 10 - b _020842fc ; case 11 - b _020842fc ; case 12 - b _020842fc ; case 13 - b _020842fc ; case 14 - b _020842fc ; case 15 - b _020842fc ; case 16 - b _020842fc ; case 17 - b _020842fc ; case 18 - b _020842fc ; case 19 - b _02084304 ; case 20 - b _020842fc ; case 21 - b _020842fc ; case 22 - b _02084304 ; case 23 - b _020842fc ; case 24 - b _02084304 ; case 25 - b _020842fc ; case 26 - b _02084304 ; case 27 - b _02084304 ; case 28 - b _02084304 ; case 29 - b _02084304 ; case 30 - b _02084304 ; case 31 - b _020842fc ; case 32 - b _020842fc ; case 33 - b _020842fc ; case 34 - b _020842fc ; case 35 - b _02084304 ; case 36 - b _020842fc ; case 37 - b _020842fc ; case 38 - b _020842fc ; case 39 - b _020842fc ; case 40 - b _020842fc ; case 41 - b _020842fc ; case 42 - b _02084304 ; case 43 - b _020842fc ; case 44 - b _020842fc ; case 45 - b _020842fc ; case 46 - b _020842fc ; case 47 - b _02084304 ; case 48 - b _020842fc ; case 49 - b _020842fc ; case 50 - b _02084304 ; case 51 - b _02084304 ; case 52 - b _020842fc ; case 53 - b _020842fc ; case 54 - b _02084304 ; case 55 - b _020842fc ; case 56 - b _020842fc ; case 57 - b _020842fc ; case 58 - b _020842fc ; case 59 - b _020842fc ; case 60 - b _020842fc ; case 61 - b _020842fc ; case 62 - b _020842fc ; case 63 - b _02084304 ; case 64 - b _020842fc ; case 65 - b _020842fc ; case 66 - b _020842fc ; case 67 - b _020842fc ; case 68 - b _020842fc ; case 69 - b _02084304 ; case 70 - b _02084304 ; case 71 - b _02084304 ; case 72 - b _02084304 ; case 73 - b _02084304 ; case 74 - b _02084304 ; case 75 - b _02084304 ; case 76 - b _020842fc ; case 77 - b _02084304 ; case 78 - b _02084304 ; case 79 - b _02084304 ; case 80 - b _020842fc ; case 81 - b _020842fc ; case 82 - b _020842fc ; case 83 - b _020842fc ; case 84 -_020842fc: - mov r0, #1 - ldmia sp!, {r3, r4, r5, pc} -_02084304: - mov r0, #0 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN10MapManager18func_ov00_02084164Ev - - .global _ZN10MapManager17GetMapData_Unk_0aEv - arm_func_start _ZN10MapManager17GetMapData_Unk_0aEv -_ZN10MapManager17GetMapData_Unk_0aEv: ; 0x0208430c - ldr r0, [r0, #4] - ldrb r0, [r0, #0xa] - bx lr - arm_func_end _ZN10MapManager17GetMapData_Unk_0aEv - - .global _ZN10MapManager17GetMapData_Unk_0bEv - arm_func_start _ZN10MapManager17GetMapData_Unk_0bEv -_ZN10MapManager17GetMapData_Unk_0bEv: ; 0x02084318 - ldr r0, [r0, #4] - ldrb r0, [r0, #0xb] - bx lr - arm_func_end _ZN10MapManager17GetMapData_Unk_0bEv - - .global _ZN10MapManager16MapData_vfunc_a4Ev - arm_func_start _ZN10MapManager16MapData_vfunc_a4Ev -_ZN10MapManager16MapData_vfunc_a4Ev: ; 0x02084324 - stmdb sp!, {r3, lr} - ldr r0, [r0, #4] - ldr r2, [r0] - ldr r2, [r2, #0xa4] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager16MapData_vfunc_a4Ev - - .global _ZN10MapManager18func_ov00_0208433cEP5Vec3pi - arm_func_start _ZN10MapManager18func_ov00_0208433cEP5Vec3pi -_ZN10MapManager18func_ov00_0208433cEP5Vec3pi: ; 0x0208433c - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0x1c - add r3, sp, #0x10 - mov r5, r0 - mov r4, r2 - ldmia r1, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r1, sp, #4 - mov r0, r5 - bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p - add r0, sp, #0x10 - add r1, sp, #4 - mov r2, r0 - bl func_01ff9bf8 - ldr r1, [r5, #4] - add r0, sp, #0 - add r2, sp, #0x10 - bl func_ov00_0207f53c - ldrsh r0, [sp] - strh r0, [r4] - ldrsh r0, [sp, #2] - strh r0, [r4, #2] - add sp, sp, #0x1c - ldmia sp!, {r4, r5, pc} - arm_func_end _ZN10MapManager18func_ov00_0208433cEP5Vec3pi - - .global _ZN10MapManager18func_ov00_0208439cEv - arm_func_start _ZN10MapManager18func_ov00_0208439cEv -_ZN10MapManager18func_ov00_0208439cEv: ; 0x0208439c - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0xc - mov r5, r0 - ldr r0, [r5, #4] - mov r4, r2 - bl func_ov00_0207f630 - add r1, sp, #0 - mov r0, r5 - bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p - add r1, sp, #0 - mov r0, r4 - mov r2, r4 - bl func_01ff9bc4 - mov r0, r5 - mov r1, r4 - mov r2, #1 - bl _ZN10MapManager16MapData_vfunc_68Ev - str r0, [r4, #4] - add sp, sp, #0xc - ldmia sp!, {r4, r5, pc} - arm_func_end _ZN10MapManager18func_ov00_0208439cEv - - .global _ZN10MapManager18func_ov00_020843ecEPi - arm_func_start _ZN10MapManager18func_ov00_020843ecEPi -_ZN10MapManager18func_ov00_020843ecEPi: ; 0x020843ec - stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} - sub sp, sp, #0x6c - mov r6, r1 - mov r5, r0 - mov r0, r6 - ldr r1, [r0] - mov r4, r2 - ldr r1, [r1, #8] - blx r1 - cmp r0, #0 - cmpne r0, #1 - beq _0208442c - cmp r0, #2 - beq _02084574 - add sp, sp, #0x6c - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} -_0208442c: - mov r0, r6 - ldr r2, [r0] - add r1, sp, #0x60 - ldr r2, [r2, #0x3c] - blx r2 - mov r0, r6 - ldr r1, [r0] - ldr r1, [r1, #0x40] - blx r1 - ldr r6, [sp, #0x64] - ldr r2, [sp, #0x60] - ldr r3, [sp, #0x68] - sub r1, r2, r0 - str r1, [sp, #0x54] - sub r1, r3, r0 - str r1, [sp, #0x5c] - add r2, r2, r0 - add r1, r3, r0 - mov r0, r5 - str r2, [sp, #0x48] - str r6, [sp, #0x58] - str r6, [sp, #0x4c] - str r1, [sp, #0x50] - bl _ZN10MapManager18func_ov00_020833c4Ev - ldr r1, [sp, #0x54] - sub r0, r1, r0 - str r0, [sp, #0x54] - mov r0, r5 - bl _ZN10MapManager18func_ov00_020833d0Ev - ldr r1, [sp, #0x5c] - sub r0, r1, r0 - str r0, [sp, #0x5c] - mov r0, r5 - bl _ZN10MapManager18func_ov00_020833c4Ev - ldr r1, [sp, #0x48] - sub r0, r1, r0 - str r0, [sp, #0x48] - mov r0, r5 - bl _ZN10MapManager18func_ov00_020833d0Ev - ldr r1, [sp, #0x50] - add r2, sp, #0x54 - sub r0, r1, r0 - str r0, [sp, #0x50] - ldr r1, [r5, #4] - add r0, sp, #0x14 - bl func_ov00_0207f53c - ldr r1, [r5, #4] - add r0, sp, #0x10 - add r2, sp, #0x48 - bl func_ov00_0207f53c - ldrsh r7, [sp, #0x14] - ldrsh r0, [sp, #0x10] - cmp r7, r0 - addgt sp, sp, #0x6c - ldmgtia sp!, {r3, r4, r5, r6, r7, r8, pc} - add r6, sp, #4 -_0208450c: - ldrsh r8, [sp, #0x16] - ldrsh r0, [sp, #0x12] - cmp r8, r0 - bgt _02084554 -_0208451c: - strh r7, [sp, #4] - strh r8, [sp, #6] - ldr r0, [r5, #4] - mov r1, r6 - ldr r3, [r0] - mov r2, r4 - ldr r3, [r3, #0xac] - blx r3 - add r0, r8, #1 - mov r0, r0, lsl #0x10 - ldrsh r1, [sp, #0x12] - mov r8, r0, asr #0x10 - cmp r1, r0, asr #16 - bge _0208451c -_02084554: - ldrsh r1, [sp, #0x10] - add r0, r7, #1 - mov r0, r0, lsl #0x10 - cmp r1, r0, asr #16 - mov r7, r0, asr #0x10 - bge _0208450c - add sp, sp, #0x6c - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} -_02084574: - mov r0, r6 - ldr r2, [r0] - add r1, sp, #0x30 - ldr r2, [r2, #0x2c] - blx r2 - add r0, sp, #0x30 - add r3, sp, #0x24 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r0, sp, #0x3c - add r3, sp, #0x18 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r5 - bl _ZN10MapManager18func_ov00_020833c4Ev - ldr r1, [sp, #0x24] - sub r0, r1, r0 - str r0, [sp, #0x24] - mov r0, r5 - bl _ZN10MapManager18func_ov00_020833d0Ev - ldr r1, [sp, #0x2c] - sub r0, r1, r0 - str r0, [sp, #0x2c] - mov r0, r5 - bl _ZN10MapManager18func_ov00_020833c4Ev - ldr r1, [sp, #0x18] - sub r0, r1, r0 - str r0, [sp, #0x18] - mov r0, r5 - bl _ZN10MapManager18func_ov00_020833d0Ev - ldr r1, [sp, #0x20] - add r2, sp, #0x24 - sub r0, r1, r0 - str r0, [sp, #0x20] - ldr r1, [r5, #4] - add r0, sp, #0xc - bl func_ov00_0207f53c - ldr r1, [r5, #4] - add r0, sp, #8 - add r2, sp, #0x18 - bl func_ov00_0207f53c - ldrsh r7, [sp, #0xc] - ldrsh r0, [sp, #8] - cmp r7, r0 - addgt sp, sp, #0x6c - ldmgtia sp!, {r3, r4, r5, r6, r7, r8, pc} - add r6, sp, #0 -_02084630: - ldrsh r8, [sp, #0xe] - ldrsh r0, [sp, #0xa] - cmp r8, r0 - bgt _02084678 -_02084640: - strh r7, [sp] - strh r8, [sp, #2] - ldr r0, [r5, #4] - mov r1, r6 - ldr r3, [r0] - mov r2, r4 - ldr r3, [r3, #0xac] - blx r3 - add r0, r8, #1 - mov r0, r0, lsl #0x10 - ldrsh r1, [sp, #0xa] - mov r8, r0, asr #0x10 - cmp r1, r0, asr #16 - bge _02084640 -_02084678: - ldrsh r1, [sp, #8] - add r0, r7, #1 - mov r0, r0, lsl #0x10 - cmp r1, r0, asr #16 - mov r7, r0, asr #0x10 - bge _02084630 - add sp, sp, #0x6c - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} - arm_func_end _ZN10MapManager18func_ov00_020843ecEPi - - .global _ZN10MapManager17GetMapData_Unk_38Ev - arm_func_start _ZN10MapManager17GetMapData_Unk_38Ev -_ZN10MapManager17GetMapData_Unk_38Ev: ; 0x02084698 - ldr r0, [r0, #4] - ldr r0, [r0, #0x38] - bx lr - arm_func_end _ZN10MapManager17GetMapData_Unk_38Ev - - .global _ZN10MapManager18func_ov00_020846a4Ev - arm_func_start _ZN10MapManager18func_ov00_020846a4Ev -_ZN10MapManager18func_ov00_020846a4Ev: ; 0x020846a4 - ldr r1, [r0, #4] - ldr r1, [r1, #0x144] - ldr r1, [r1, #4] - cmp r1, #0xff - bne _020846f8 - ldr r0, [r0] - ldr r0, [r0, #4] - cmp r0, #4 - addls pc, pc, r0, lsl #2 - b _020846f0 -_020846cc: ; jump table - b _020846f0 ; case 0 - b _020846e0 ; case 1 - b _020846e8 ; case 2 - b _020846e0 ; case 3 - b _020846e0 ; case 4 -_020846e0: - mov r0, #1 - bx lr -_020846e8: - mov r0, #2 - bx lr -_020846f0: - mov r0, #0 - bx lr -_020846f8: - mov r0, r1 - bx lr - arm_func_end _ZN10MapManager18func_ov00_020846a4Ev - - .global _ZN10MapManager18func_ov00_02084700Ev - arm_func_start _ZN10MapManager18func_ov00_02084700Ev -_ZN10MapManager18func_ov00_02084700Ev: ; 0x02084700 - ldr r2, [r0, #4] - mvn r1, #0 - ldr r2, [r2, #0x34] - cmp r2, r1 - ldreq r0, [r0] - ldreq r2, [r0, #0xc4] - cmp r2, #0x1b - bne _02084734 - ldr r0, _0208473c ; =data_027e0fe4 - ldr r0, [r0] - ldrb r0, [r0, #0x29] - cmp r0, #0 - movne r2, #0x1c -_02084734: - mov r0, r2 - bx lr - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02084700Ev -_0208473c: .word data_027e0fe4 - - .global _ZN10MapManager18func_ov00_02084740Ev - arm_func_start _ZN10MapManager18func_ov00_02084740Ev -_ZN10MapManager18func_ov00_02084740Ev: ; 0x02084740 - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0x1bc - mov r5, r0 - bl _ZN10MapManager18func_ov00_02084700Ev - ldr r1, _020847d4 ; =data_027e0d38 - mov r4, r0 - ldr r0, [r1] - bl func_ov00_02078b40 - cmp r0, #2 - beq _020847a8 - ldr r0, _020847d8 ; =data_027e0f94 - add r1, sp, #0 - ldr r3, [r0] - ldr r2, [r0, #4] - str r3, [sp] - str r2, [sp, #4] - ldr r2, [r0, #8] - mov r0, r5 - str r2, [sp, #8] - bl _ZN10MapManager18func_ov00_02083780Ei - mov r1, r0 - cmp r1, #0 - ble _020847a8 - mov r0, r5 - bl _ZN10MapManager18func_ov00_020847f0Ev - mov r4, r0 -_020847a8: - ldr r5, _020847dc ; =data_ov00_020d88f0 - add lr, sp, #0xc - mov ip, #0x1b -_020847b4: - ldmia r5!, {r0, r1, r2, r3} - stmia lr!, {r0, r1, r2, r3} - subs ip, ip, #1 - bne _020847b4 - add r0, sp, #0xc - ldr r0, [r0, r4, lsl #2] - add sp, sp, #0x1bc - ldmia sp!, {r4, r5, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02084740Ev -_020847d4: .word data_027e0d38 -_020847d8: .word data_027e0f94 -_020847dc: .word data_ov00_020d88f0 - - .global _ZN10MapManager18func_ov00_020847e0Ev - arm_func_start _ZN10MapManager18func_ov00_020847e0Ev -_ZN10MapManager18func_ov00_020847e0Ev: ; 0x020847e0 - ldr r0, [r0, #4] - ldr r0, [r0, #0x144] - ldr r0, [r0, #0xc] - bx lr - arm_func_end _ZN10MapManager18func_ov00_020847e0Ev - - .global _ZN10MapManager18func_ov00_020847f0Ev - arm_func_start _ZN10MapManager18func_ov00_020847f0Ev -_ZN10MapManager18func_ov00_020847f0Ev: ; 0x020847f0 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r0, [r4, #4] - bl func_ov00_0207fc98 - cmp r0, #0 - bne _02084814 - mov r0, r4 - bl _ZN10MapManager18func_ov00_02084700Ev - ldmia sp!, {r4, pc} -_02084814: - ldr r0, [r0, #0xc] - mvn r1, #0 - cmp r0, r1 - beq _0208482c - cmp r0, #0x6c - ldmltia sp!, {r4, pc} -_0208482c: - mov r0, r4 - bl _ZN10MapManager18func_ov00_02084700Ev - ldmia sp!, {r4, pc} - arm_func_end _ZN10MapManager18func_ov00_020847f0Ev - - .global _ZN10MapManager18func_ov00_02084838Ev - arm_func_start _ZN10MapManager18func_ov00_02084838Ev -_ZN10MapManager18func_ov00_02084838Ev: ; 0x02084838 - stmdb sp!, {r3, lr} - bl _ZN10MapManager17GetMapData_Unk_38Ev - cmp r0, #0x16 - addls pc, pc, r0, lsl #2 - b _020848b0 -_0208484c: ; jump table - b _020848b0 ; case 0 - b _020848a8 ; case 1 - b _020848a8 ; case 2 - b _020848a8 ; case 3 - b _020848a8 ; case 4 - b _020848a8 ; case 5 - b _020848b0 ; case 6 - b _020848b0 ; case 7 - b _020848b0 ; case 8 - b _020848b0 ; case 9 - b _020848a8 ; case 10 - b _020848a8 ; case 11 - b _020848a8 ; case 12 - b _020848b0 ; case 13 - b _020848b0 ; case 14 - b _020848b0 ; case 15 - b _020848b0 ; case 16 - b _020848a8 ; case 17 - b _020848b0 ; case 18 - b _020848a8 ; case 19 - b _020848a8 ; case 20 - b _020848a8 ; case 21 - b _020848a8 ; case 22 -_020848a8: - mov r0, #1 - ldmia sp!, {r3, pc} -_020848b0: - mov r0, #0 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_02084838Ev - - .global _ZN10MapManager18func_ov00_020848b8Ev - arm_func_start _ZN10MapManager18func_ov00_020848b8Ev -_ZN10MapManager18func_ov00_020848b8Ev: ; 0x020848b8 - stmdb sp!, {r3, lr} - bl _ZN10MapManager18func_ov00_020846a4Ev - cmp r0, #0x11 - addls pc, pc, r0, lsl #2 - b _0208491c -_020848cc: ; jump table - b _0208491c ; case 0 - b _0208491c ; case 1 - b _0208491c ; case 2 - b _0208491c ; case 3 - b _0208491c ; case 4 - b _0208491c ; case 5 - b _02084914 ; case 6 - b _0208491c ; case 7 - b _0208491c ; case 8 - b _0208491c ; case 9 - b _0208491c ; case 10 - b _0208491c ; case 11 - b _02084914 ; case 12 - b _02084914 ; case 13 - b _0208491c ; case 14 - b _02084914 ; case 15 - b _0208491c ; case 16 - b _02084914 ; case 17 -_02084914: - mov r0, #1 - ldmia sp!, {r3, pc} -_0208491c: - mov r0, #0 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_020848b8Ev - - .global _ZN10MapManager18func_ov00_02084924Ej - arm_func_start _ZN10MapManager18func_ov00_02084924Ej -_ZN10MapManager18func_ov00_02084924Ej: ; 0x02084924 - ldr ip, _02084930 ; =func_ov00_0208008c - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02084924Ej -_02084930: .word func_ov00_0208008c - - .global _ZN10MapManager18func_ov00_02084934Ev - arm_func_start _ZN10MapManager18func_ov00_02084934Ev -_ZN10MapManager18func_ov00_02084934Ev: ; 0x02084934 - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #0xc - mov r6, r1 - mov r7, r0 - bl _ZN10MapManager18Get_MapData_Unk_d8Ev - ldr r1, [r6, #8] - ldr r4, [r6, #4] - sub r5, r1, r0 - mov r0, r7 - bl _ZN10MapManager18Get_MapData_Unk_d0Ev - ldr r2, [r6] - add r1, sp, #0 - sub r0, r2, r0 - str r4, [sp, #4] - str r5, [sp, #8] - str r0, [sp] - ldr r0, [r7, #4] - bl func_ov00_0207f7e8 - add sp, sp, #0xc - ldmia sp!, {r4, r5, r6, r7, pc} - arm_func_end _ZN10MapManager18func_ov00_02084934Ev - - .global _ZN10MapManager17GetMapData_Unk_06Ev - arm_func_start _ZN10MapManager17GetMapData_Unk_06Ev -_ZN10MapManager17GetMapData_Unk_06Ev: ; 0x02084984 - ldr r0, [r0, #4] - ldrb r0, [r0, #6] - bx lr - arm_func_end _ZN10MapManager17GetMapData_Unk_06Ev - - .global _ZN10MapManager17GetMapData_Unk_07Ev - arm_func_start _ZN10MapManager17GetMapData_Unk_07Ev -_ZN10MapManager17GetMapData_Unk_07Ev: ; 0x02084990 - ldr r0, [r0, #4] - ldrb r0, [r0, #7] - bx lr - arm_func_end _ZN10MapManager17GetMapData_Unk_07Ev - - .global _ZN10MapManager18func_ov00_0208499cEv - arm_func_start _ZN10MapManager18func_ov00_0208499cEv -_ZN10MapManager18func_ov00_0208499cEv: ; 0x0208499c - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN10MapManager18func_ov00_020849c0Ev - cmp r0, #0 - movne r0, #0 - ldmneia sp!, {r4, pc} - ldr r0, [r4] - bl func_ov00_0207d47c - ldmia sp!, {r4, pc} - arm_func_end _ZN10MapManager18func_ov00_0208499cEv - - .global _ZN10MapManager18func_ov00_020849c0Ev - arm_func_start _ZN10MapManager18func_ov00_020849c0Ev -_ZN10MapManager18func_ov00_020849c0Ev: ; 0x020849c0 - ldr r1, [r0] - mvn r0, #1 - ldr r1, [r1, #8] - cmp r1, r0 - moveq r0, #1 - movne r0, #0 - bx lr - arm_func_end _ZN10MapManager18func_ov00_020849c0Ev - - .global _ZN10MapManager18func_ov00_020849dcEv - arm_func_start _ZN10MapManager18func_ov00_020849dcEv -_ZN10MapManager18func_ov00_020849dcEv: ; 0x020849dc - ldr r1, [r0] - mvn r0, #2 - ldr r1, [r1, #8] - cmp r1, r0 - moveq r0, #1 - movne r0, #0 - bx lr - arm_func_end _ZN10MapManager18func_ov00_020849dcEv - - .global _ZN10MapManager18func_ov00_020849f8Ei - arm_func_start _ZN10MapManager18func_ov00_020849f8Ei -_ZN10MapManager18func_ov00_020849f8Ei: ; 0x020849f8 - stmdb sp!, {r4, lr} - ldr r1, _02084a4c ; =data_027e0d38 - mov r4, r0 - ldr r0, [r1] - add r0, r0, #0xc - bl func_ov00_020a5e9c - cmp r0, #5 - bne _02084a20 - mov r0, #1 - ldmia sp!, {r4, pc} -_02084a20: - mov r0, r4 - bl _ZN10MapManager17GetMapData_Unk_06Ev - cmp r0, #0 - beq _02084a44 - mov r0, r4 - bl _ZN10MapManager18func_ov00_020849c0Ev - cmp r0, #0 - moveq r0, #1 - ldmeqia sp!, {r4, pc} -_02084a44: - mov r0, #0 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020849f8Ei -_02084a4c: .word data_027e0d38 - - .global _ZN10MapManager18func_ov00_02084a50Ev - arm_func_start _ZN10MapManager18func_ov00_02084a50Ev -_ZN10MapManager18func_ov00_02084a50Ev: ; 0x02084a50 - ldr r0, [r0, #4] - ldrb r0, [r0, #0x11] - bx lr - arm_func_end _ZN10MapManager18func_ov00_02084a50Ev - - .global _ZN10MapManager8SpawnNPCEP5Vec3pii - arm_func_start _ZN10MapManager8SpawnNPCEP5Vec3pii -_ZN10MapManager8SpawnNPCEP5Vec3pii: ; 0x02084a5c - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x30 - add r0, sp, #4 - mov r6, r1 - mov r5, r2 - mov r4, r3 - bl func_ov00_020c1500 - mvn r1, #0 - add r0, sp, #4 - str r1, [sp, #0x20] - str r1, [sp, #0x24] - bl func_ov00_020c3348 - str r5, [sp, #0x28] - str r4, [sp, #0x2c] - mov r1, #0 - str r1, [sp] - ldr r0, _02084abc ; =data_027e0fe8 - ldr r1, _02084ac0 ; =0x45564943 - ldr r0, [r0] - mov r2, r6 - add r3, sp, #4 - bl func_ov00_020c4048 - add sp, sp, #0x30 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end _ZN10MapManager8SpawnNPCEP5Vec3pii -_02084abc: .word data_027e0fe8 -_02084ac0: .word 0x45564943 - - .global _ZN10MapManager18func_ov00_02084ac4Ej - arm_func_start _ZN10MapManager18func_ov00_02084ac4Ej -_ZN10MapManager18func_ov00_02084ac4Ej: ; 0x02084ac4 - stmdb sp!, {r3, lr} - ldr r0, _02084b00 ; =data_027e0fe4 - ldr r0, [r0] - bl _ZN12ActorManager13FindActorByIdEj - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - ldr r2, [r0, #4] - ldr r1, _02084b04 ; =0x45564943 - cmp r2, r1 - movne r0, #0 - moveq r1, #0 - streqb r1, [r0, #0x118] - moveq r0, #1 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02084ac4Ej -_02084b00: .word data_027e0fe4 -_02084b04: .word 0x45564943 - - .global _ZN10MapManager10SetNumKeysEi - arm_func_start _ZN10MapManager10SetNumKeysEi -_ZN10MapManager10SetNumKeysEi: ; 0x02084b08 - ldr r0, [r0] - str r1, [r0, #0x260] - bx lr - arm_func_end _ZN10MapManager10SetNumKeysEi - - .global _ZN10MapManager10GetNumKeysEv - arm_func_start _ZN10MapManager10GetNumKeysEv -_ZN10MapManager10GetNumKeysEv: ; 0x02084b14 - ldr r0, [r0] - ldr r0, [r0, #0x260] - bx lr - arm_func_end _ZN10MapManager10GetNumKeysEv - - .global _ZN10MapManager21SetCourseData_Unk_25cEc - arm_func_start _ZN10MapManager21SetCourseData_Unk_25cEc -_ZN10MapManager21SetCourseData_Unk_25cEc: ; 0x02084b20 - ldr r0, [r0] - strb r1, [r0, #0x25d] - bx lr - arm_func_end _ZN10MapManager21SetCourseData_Unk_25cEc - - .global _ZN10MapManager21GetCourseData_Unk_25dEv - arm_func_start _ZN10MapManager21GetCourseData_Unk_25dEv -_ZN10MapManager21GetCourseData_Unk_25dEv: ; 0x02084b2c - ldr r0, [r0] - ldrb r0, [r0, #0x25d] - bx lr - arm_func_end _ZN10MapManager21GetCourseData_Unk_25dEv - - .global _ZN10MapManager18func_ov00_02084b38Eiii - arm_func_start _ZN10MapManager18func_ov00_02084b38Eiii -_ZN10MapManager18func_ov00_02084b38Eiii: ; 0x02084b38 - stmdb sp!, {r3, lr} - cmp r1, #0 - ldmeqia sp!, {r3, pc} - cmp r2, #3 - addls pc, pc, r2, lsl #2 - ldmia sp!, {r3, pc} -_02084b50: ; jump table - b _02084b60 ; case 0 - b _02084bb0 ; case 1 - b _02084bc0 ; case 2 - b _02084bd0 ; case 3 -_02084b60: - cmp r3, #0 - ldr r0, [r0, #4] - beq _02084b8c - add ip, r0, #0x180 - mov r3, r1, lsr #0x5 - and r0, r1, #0x1f - ldr r2, [ip, r3, lsl #2] - mov r1, #1 - orr r0, r2, r1, lsl r0 - str r0, [ip, r3, lsl #2] - ldmia sp!, {r3, pc} -_02084b8c: - add r3, r0, #0x180 - mov r2, r1, lsr #0x5 - and r0, r1, #0x1f - mov r1, #1 - mvn r0, r1, lsl r0 - ldr r1, [r3, r2, lsl #2] - and r0, r1, r0 - str r0, [r3, r2, lsl #2] - ldmia sp!, {r3, pc} -_02084bb0: - ldr r0, [r0] - mov r2, r3 - bl func_ov00_0207d8b4 - ldmia sp!, {r3, pc} -_02084bc0: - ldr r0, [r0] - mov r2, r3 - bl func_ov00_0207d7dc - ldmia sp!, {r3, pc} -_02084bd0: - ldr r0, [r0] - mov r2, r3 - bl func_ov00_0207d848 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_02084b38Eiii - - .global _ZN10MapManager18func_ov00_02084be0Eii - arm_func_start _ZN10MapManager18func_ov00_02084be0Eii -_ZN10MapManager18func_ov00_02084be0Eii: ; 0x02084be0 - stmdb sp!, {r3, lr} - cmp r1, #0 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - cmp r2, #3 - addls pc, pc, r2, lsl #2 - b _02084c54 -_02084bfc: ; jump table - b _02084c0c ; case 0 - b _02084c30 ; case 1 - b _02084c3c ; case 2 - b _02084c48 ; case 3 -_02084c0c: - ldr r2, [r0, #4] - mov r0, r1, lsr #0x5 - add r0, r2, r0, lsl #2 - ldr r2, [r0, #0x180] - and r1, r1, #0x1f - mov r0, #1 - tst r2, r0, lsl r1 - moveq r0, #0 - ldmia sp!, {r3, pc} -_02084c30: - ldr r0, [r0] - bl func_ov00_0207d8d4 - ldmia sp!, {r3, pc} -_02084c3c: - ldr r0, [r0] - bl func_ov00_0207d828 - ldmia sp!, {r3, pc} -_02084c48: - ldr r0, [r0] - bl func_ov00_0207d894 - ldmia sp!, {r3, pc} -_02084c54: - mov r0, #0 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_02084be0Eii - - .global _ZN10MapManager18func_ov00_02084c5cEii - arm_func_start _ZN10MapManager18func_ov00_02084c5cEii -_ZN10MapManager18func_ov00_02084c5cEii: ; 0x02084c5c - ldr ip, _02084c68 ; =func_ov00_0207d8ec - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02084c5cEii -_02084c68: .word func_ov00_0207d8ec - - .global _ZN10MapManager18func_ov00_02084c6cEi - arm_func_start _ZN10MapManager18func_ov00_02084c6cEi -_ZN10MapManager18func_ov00_02084c6cEi: ; 0x02084c6c - ldr ip, _02084c78 ; =func_ov00_0207d90c - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02084c6cEi -_02084c78: .word func_ov00_0207d90c - - .global _ZN10MapManager18func_ov00_02084c7cEi - arm_func_start _ZN10MapManager18func_ov00_02084c7cEi -_ZN10MapManager18func_ov00_02084c7cEi: ; 0x02084c7c - stmdb sp!, {r3, lr} - cmp r1, #0 - ldmltia sp!, {r3, pc} - ldr r0, [r0] - bl func_ov00_0207d924 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_02084c7cEi - - .global _ZN10MapManager18func_ov00_02084c94Ei - arm_func_start _ZN10MapManager18func_ov00_02084c94Ei -_ZN10MapManager18func_ov00_02084c94Ei: ; 0x02084c94 - stmdb sp!, {r3, lr} - cmp r1, #0 - movlt r0, #0 - ldmltia sp!, {r3, pc} - ldr r0, [r0] - bl func_ov00_0207d944 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_02084c94Ei - - .global _ZN10MapManager18func_ov00_02084cb0Ei - arm_func_start _ZN10MapManager18func_ov00_02084cb0Ei -_ZN10MapManager18func_ov00_02084cb0Ei: ; 0x02084cb0 - stmdb sp!, {r3, lr} - cmp r1, #0 - ldmltia sp!, {r3, pc} - ldr r0, [r0] - bl func_ov00_0207d95c - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_02084cb0Ei - - .global _ZN10MapManager18func_ov00_02084cc8Ei - arm_func_start _ZN10MapManager18func_ov00_02084cc8Ei -_ZN10MapManager18func_ov00_02084cc8Ei: ; 0x02084cc8 - stmdb sp!, {r3, lr} - cmp r1, #0 - movlt r0, #0 - ldmltia sp!, {r3, pc} - ldr r0, [r0] - bl func_ov00_0207d97c - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_02084cc8Ei - - .global _ZN10MapManager18func_ov00_02084ce4Ei - arm_func_start _ZN10MapManager18func_ov00_02084ce4Ei -_ZN10MapManager18func_ov00_02084ce4Ei: ; 0x02084ce4 - stmdb sp!, {r3, lr} - cmp r1, #0 - ldmltia sp!, {r3, pc} - ldr r0, [r0] - bl func_ov00_0207d994 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_02084ce4Ei - - .global _ZN10MapManager18func_ov00_02084cfcEi - arm_func_start _ZN10MapManager18func_ov00_02084cfcEi -_ZN10MapManager18func_ov00_02084cfcEi: ; 0x02084cfc - stmdb sp!, {r3, lr} - cmp r1, #0 - movlt r0, #0 - ldmltia sp!, {r3, pc} - ldr r0, [r0] - bl func_ov00_0207d9b4 - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_02084cfcEi - - .global _ZN10MapManager17GetMapData_Unk_09Ev - arm_func_start _ZN10MapManager17GetMapData_Unk_09Ev -_ZN10MapManager17GetMapData_Unk_09Ev: ; 0x02084d18 - ldr r0, [r0, #4] - ldrb r0, [r0, #9] - bx lr - arm_func_end _ZN10MapManager17GetMapData_Unk_09Ev - - .global _ZN10MapManager18func_ov00_02084d24Ecci - arm_func_start _ZN10MapManager18func_ov00_02084d24Ecci -_ZN10MapManager18func_ov00_02084d24Ecci: ; 0x02084d24 - stmdb sp!, {r3, lr} - strb r1, [sp] - strb r2, [sp, #1] - ldr r0, [r0, #4] - add r1, sp, #0 - ldr ip, [r0] - mov r2, r3 - ldr ip, [ip, #0x90] - blx ip - ldmia sp!, {r3, pc} - arm_func_end _ZN10MapManager18func_ov00_02084d24Ecci - - .global _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p - arm_func_start _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p -_ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p: ; 0x02084d4c - stmdb sp!, {r4, lr} - sub sp, sp, #0x38 - add r4, sp, #0x20 - str r4, [sp] - ldr r0, _02084ea0 ; =data_027e0f64 - mov r4, r3 - ldr r0, [r0] - add r3, sp, #0x2c - ldr r0, [r0, #4] - bl func_ov00_0208df78 - mvn r1, #0 - cmp r0, r1 - addeq sp, sp, #0x38 - moveq r0, r1 - ldmeqia sp!, {r4, pc} - ldr r0, _02084ea4 ; =data_ov00_020ec964 - ldr r0, [r0, #0x60] - tst r0, #1 - bne _02084de4 - mov lr, #0 - mov r1, #0x1000 - ldr ip, _02084ea8 ; =data_ov00_020e2510 - add r0, sp, #8 - str lr, [sp, #8] - str lr, [sp, #0x10] - str r1, [sp, #0xc] - ldmia r0, {r0, r1, r2} - stmia ip, {r0, r1, r2} - ldr r3, _02084eac ; =data_ov00_020e24a4 - ldr r1, _02084eb0 ; =func_ov00_0207e968 - ldr r2, _02084eb4 ; =data_ov00_020ec9c8 - mov r0, ip - str lr, [r3, #0x78] - bl __register_global_object - ldr r0, _02084ea4 ; =data_ov00_020ec964 - ldr r1, [r0, #0x60] - orr r1, r1, #1 - str r1, [r0, #0x60] -_02084de4: - add r0, sp, #0x20 - add r3, sp, #0x14 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r1, sp, #0x2c - mov r0, r3 - mov r2, r3 - bl func_01ff9bf8 - ldr r0, _02084ea8 ; =data_ov00_020e2510 - add r1, sp, #0x2c - add r2, sp, #0x14 - add r3, sp, #4 - bl func_01ffe61c - cmp r0, #0 - addeq sp, sp, #0x38 - mvneq r0, #0 - ldmeqia sp!, {r4, pc} - ldr r0, [sp, #0x2c] - add r1, sp, #0x14 - str r0, [r4] - ldr r0, [sp, #0x30] - mov r2, r4 - str r0, [r4, #4] - ldr r0, [sp, #0x34] - mov r3, r4 - str r0, [r4, #8] - ldr r0, [sp, #4] - bl func_01ff9e64 - ldr r0, [sp, #4] - cmp r0, #0 - addge sp, sp, #0x38 - movge r0, #0 - ldmgeia sp!, {r4, pc} - ldr r1, [sp, #0x2c] - ldr r0, _02084eb8 ; =0x0000019a - str r1, [r4] - ldr r2, [sp, #0x30] - add r1, sp, #0x14 - str r2, [r4, #4] - ldr ip, [sp, #0x34] - mov r2, r4 - mov r3, r4 - str ip, [r4, #8] - bl func_01ff9e64 - mov r0, #1 - add sp, sp, #0x38 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p -_02084ea0: .word data_027e0f64 -_02084ea4: .word data_ov00_020ec964 -_02084ea8: .word data_ov00_020e2510 -_02084eac: .word data_ov00_020e24a4 -_02084eb0: .word func_ov00_0207e968 -_02084eb4: .word data_ov00_020ec9c8 -_02084eb8: .word 0x0000019a - - .global _ZN10MapManager18func_ov00_02084ebcEi - arm_func_start _ZN10MapManager18func_ov00_02084ebcEi -_ZN10MapManager18func_ov00_02084ebcEi: ; 0x02084ebc - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #8 - mov r6, r0 - mov r5, r1 - add r0, sp, #0 - mov r1, r6 - mov r2, r5 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - add r1, sp, #0 - mov r0, r6 - bl _ZN10MapManager16MapData_vfunc_78Ev - movs r4, r0 - beq _02084f50 - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x38 - bgt _02084f14 - bge _02084f50 - cmp r0, #1 - beq _02084f50 - b _02084f44 -_02084f14: - cmp r0, #0x59 - bgt _02084f24 - beq _02084f50 - b _02084f44 -_02084f24: - cmp r0, #0x61 - bne _02084f44 - ldr r0, [r4, #8] - cmp r0, #2 - bne _02084f50 - add sp, sp, #8 - mov r0, #0 - ldmia sp!, {r4, r5, r6, pc} -_02084f44: - add sp, sp, #8 - mov r0, #0 - ldmia sp!, {r4, r5, r6, pc} -_02084f50: - add r1, sp, #0 - mov r0, r6 - bl _ZN10MapManager18func_ov00_02083e70Ev - cmp r0, #0 - addne sp, sp, #8 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - add r1, sp, #0 - mov r0, r6 - bl _ZN10MapManager16MapData_vfunc_54Ev - cmp r0, #0x46 - bgt _0208504c - bge _0208506c - cmp r0, #0x29 - bgt _02085040 - cmp r0, #0 - addge pc, pc, r0, lsl #2 - b _02085078 -_02084f98: ; jump table - b _02085078 ; case 0 - b _0208506c ; case 1 - b _0208506c ; case 2 - b _0208506c ; case 3 - b _0208506c ; case 4 - b _0208506c ; case 5 - b _0208506c ; case 6 - b _02085078 ; case 7 - b _0208506c ; case 8 - b _0208506c ; case 9 - b _02085078 ; case 10 - b _02085078 ; case 11 - b _02085078 ; case 12 - b _02085078 ; case 13 - b _02085078 ; case 14 - b _02085078 ; case 15 - b _02085078 ; case 16 - b _02085078 ; case 17 - b _02085078 ; case 18 - b _02085078 ; case 19 - b _0208506c ; case 20 - b _02085078 ; case 21 - b _0208506c ; case 22 - b _0208506c ; case 23 - b _02085078 ; case 24 - b _0208506c ; case 25 - b _02085078 ; case 26 - b _02085078 ; case 27 - b _02085078 ; case 28 - b _0208506c ; case 29 - b _0208506c ; case 30 - b _0208506c ; case 31 - b _02085078 ; case 32 - b _02085078 ; case 33 - b _02085078 ; case 34 - b _02085078 ; case 35 - b _02085078 ; case 36 - b _02085078 ; case 37 - b _02085078 ; case 38 - b _0208506c ; case 39 - b _0208506c ; case 40 - b _0208506c ; case 41 -_02085040: - cmp r0, #0x37 - beq _0208506c - b _02085078 -_0208504c: - cmp r0, #0x48 - bgt _02085064 - bge _0208506c - cmp r0, #0x47 - beq _0208506c - b _02085078 -_02085064: - cmp r0, #0x50 - bne _02085078 -_0208506c: - add sp, sp, #8 - mov r0, #0 - ldmia sp!, {r4, r5, r6, pc} -_02085078: - ldr r0, [r6, #4] - add r1, sp, #0 - ldr r3, [r0] - mov r2, #5 - ldr r3, [r3, #0x58] - blx r3 - cmp r0, #0 - addne sp, sp, #8 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - mov r0, r6 - mov r1, r5 - bl _ZN10MapManager16MapData_vfunc_70Ev - ldr r1, _02085100 ; =0x0000ffff - mov r2, r0 - cmp r2, r1 - addeq sp, sp, #8 - moveq r0, #0 - ldmeqia sp!, {r4, r5, r6, pc} - ldr r1, _02085104 ; =data_027e0f6c - add r0, sp, #4 - ldr r1, [r1] - bl func_ov00_02093a1c - ldr r0, [sp, #4] - mov r0, r0, lsr #0x5 - and r0, r0, #3 - cmp r0, #1 - bne _020850f4 - add sp, sp, #8 - mov r0, #1 - ldmia sp!, {r4, r5, r6, pc} -_020850f4: - mov r0, #0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02084ebcEi -_02085100: .word 0x0000ffff -_02085104: .word data_027e0f6c - - .global _ZN10MapManager18func_ov00_02085108EPi - arm_func_start _ZN10MapManager18func_ov00_02085108EPi -_ZN10MapManager18func_ov00_02085108EPi: ; 0x02085108 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x2c - ldr r0, _02085274 ; =data_027e0f64 - str r1, [sp] - ldr r0, [r0] - bl func_ov00_0208b180 - mov r1, r0 - add r0, sp, #0x18 - bl func_ov00_02088130 - mov r1, #0 - ldr r0, _02085274 ; =data_027e0f64 - strb r1, [sp, #0x13] - strb r1, [sp, #0x12] - ldrb r1, [sp, #0x18] - ldr r0, [r0] - str r1, [sp, #0xc] - ldrb r1, [sp, #0x19] - str r1, [sp, #8] - bl func_ov00_0208b180 - mov r1, r0 - add r0, sp, #0x16 - bl func_ov00_02088144 - mov r0, #0 - strb r0, [sp, #0x11] - strb r0, [sp, #0x10] - ldr r1, [sp, #0xc] - ldr r0, [sp, #8] - ldrb r7, [sp, #0x16] - cmp r1, r0 - ldrb r0, [sp, #0x17] - str r0, [sp, #4] - bgt _02085268 -_02085188: - ldr r6, [sp, #4] - mov r0, r6 - cmp r0, r7 - blt _02085250 - ldr r0, [sp, #0xc] - ldr r11, _02085278 ; =data_027e0e60 - and r5, r0, #0xff -_020851a4: - ldr r0, [r11] - add r1, sp, #0x14 - strb r5, [sp, #0x14] - strb r6, [sp, #0x15] - bl _ZN10MapManager16MapData_vfunc_78Ev - movs r4, r0 - beq _02085244 - ldr r1, [r4, #4] - tst r1, #4 - beq _02085244 - ldr r1, [r0] - ldr r9, [r4, #0x1c] - ldr r1, [r1, #0x60] - ldr r8, [r4, #0x18] - ldr r10, [r4, #0x20] - blx r1 - add r9, r9, r0 - mov r0, r4 - ldr r1, [r0] - ldr r1, [r1, #0x5c] - blx r1 - str r0, [sp, #0x28] - add r0, sp, #0x1c - mov r1, #2 - str r8, [sp, #0x1c] - str r9, [sp, #0x20] - str r10, [sp, #0x24] - bl func_0202b8e4 - cmp r0, #0 - beq _02085244 - ldr r0, [sp] - ldr r1, [r4, #0x18] - add sp, sp, #0x2c - str r1, [r0] - ldr r1, [r4, #0x1c] - str r1, [r0, #4] - ldr r1, [r4, #0x20] - str r1, [r0, #8] - ldrsb r0, [r4, #0x12] - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_02085244: - sub r6, r6, #1 - cmp r6, r7 - bge _020851a4 -_02085250: - ldr r0, [sp, #0xc] - add r1, r0, #1 - ldr r0, [sp, #8] - str r1, [sp, #0xc] - cmp r1, r0 - ble _02085188 -_02085268: - mov r0, #0 - add sp, sp, #0x2c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02085108EPi -_02085274: .word data_027e0f64 -_02085278: .word data_027e0e60 - - .global _ZN10MapManager18func_ov00_0208527cEv - arm_func_start _ZN10MapManager18func_ov00_0208527cEv -_ZN10MapManager18func_ov00_0208527cEv: ; 0x0208527c - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x2c - ldr r3, _020853f4 ; =data_027e0f64 - mov r4, r0 - ldr r0, [r3] - mov r10, r1 - str r2, [sp] - bl func_ov00_0208b180 - mov r1, r0 - add r0, sp, #0x14 - bl func_ov00_02088130 - mov r1, #0 - ldr r0, _020853f4 ; =data_027e0f64 - strb r1, [sp, #0xf] - strb r1, [sp, #0xe] - ldrb r1, [sp, #0x15] - ldr r0, [r0] - ldrb r11, [sp, #0x14] - str r1, [sp, #8] - bl func_ov00_0208b180 - mov r1, r0 - add r0, sp, #0x12 - bl func_ov00_02088144 - mov r0, #0 - strb r0, [sp, #0xd] - strb r0, [sp, #0xc] - ldrb r0, [sp, #0x12] - ldrb r9, [sp, #0x13] - str r0, [sp, #4] - mov r0, r4 - bl _ZN10MapManager17Get_MapData_Unk28Ev - mov r5, r0 - mov r0, r4 - bl _ZN10MapManager17Get_MapData_Unk2aEv - cmp r11, #0 - ldr r1, [sp, #8] - movle r11, #0 - cmp r1, r5 - ldr r1, [sp, #4] - subge r11, r5, #1 - cmp r1, #0 - movle r1, #0 - strle r1, [sp, #4] - cmp r9, r0 - subge r9, r0, #1 - mov r0, #0 - str r0, [sp, #0x24] - str r0, [sp, #0x18] - str r0, [sp, #0x1c] - str r0, [sp, #0x20] - ldr r0, [sp, #8] - cmp r11, r0 - bgt _020853e8 - ldr r4, _020853f8 ; =data_027e0e60 - add r6, sp, #0x10 -_02085358: - ldr r8, [sp, #4] - mov r0, r8 - cmp r0, r9 - bgt _020853d8 - and r7, r11, #0xff -_0208536c: - ldr r0, [r4] - mov r1, r6 - strb r7, [sp, #0x10] - strb r8, [sp, #0x11] - bl _ZN10MapManager16MapData_vfunc_78Ev - movs r5, r0 - beq _020853cc - ldr r1, [r5, #4] - tst r1, #4 - beq _020853cc - mov r1, r10 - bl func_ov00_0208b73c - cmp r0, #0 - beq _020853cc - ldr r0, [sp] - ldr r1, [r5, #0x18] - add sp, sp, #0x2c - str r1, [r0] - ldr r1, [r5, #0x1c] - str r1, [r0, #4] - ldr r1, [r5, #0x20] - str r1, [r0, #8] - ldrsb r0, [r5, #0x12] - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_020853cc: - add r8, r8, #1 - cmp r8, r9 - ble _0208536c -_020853d8: - ldr r0, [sp, #8] - add r11, r11, #1 - cmp r11, r0 - ble _02085358 -_020853e8: - mov r0, #0 - add sp, sp, #0x2c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_0208527cEv -_020853f4: .word data_027e0f64 -_020853f8: .word data_027e0e60 - - .global _ZN10MapManager18func_ov00_020853fcEv - arm_func_start _ZN10MapManager18func_ov00_020853fcEv -_ZN10MapManager18func_ov00_020853fcEv: ; 0x020853fc - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x2c - ldr r3, _0208558c ; =data_027e0f64 - mov r5, r0 - ldr r0, [r3] - mov r10, r1 - mov r9, r2 - bl func_ov00_0208b180 - mov r1, r0 - add r0, sp, #0x14 - bl func_ov00_02088130 - mov r1, #0 - ldr r0, _0208558c ; =data_027e0f64 - strb r1, [sp, #0xf] - strb r1, [sp, #0xe] - ldrb r1, [sp, #0x14] - ldr r0, [r0] - str r1, [sp, #8] - ldrb r1, [sp, #0x15] - str r1, [sp, #4] - bl func_ov00_0208b180 - mov r1, r0 - add r0, sp, #0x12 - bl func_ov00_02088144 - mov r0, #0 - strb r0, [sp, #0xd] - strb r0, [sp, #0xc] - ldrb r0, [sp, #0x12] - ldrb r8, [sp, #0x13] - str r0, [sp] - mov r0, r5 - bl _ZN10MapManager17Get_MapData_Unk28Ev - mov r4, r0 - mov r0, r5 - bl _ZN10MapManager17Get_MapData_Unk2aEv - mov r11, #0 - ldr r1, [sp, #8] - str r11, [sp, #0x24] - cmp r1, #0 - movle r1, #0 - strle r1, [sp, #8] - ldr r1, [sp, #4] - str r11, [sp, #0x18] - cmp r1, r4 - subge r1, r4, #1 - strge r1, [sp, #8] - ldr r1, [sp] - str r11, [sp, #0x1c] - cmp r1, #0 - movle r1, #0 - strle r1, [sp] - cmp r8, r0 - subge r8, r0, #1 - ldr r1, [sp, #8] - ldr r0, [sp, #4] - str r11, [sp, #0x20] - cmp r1, r0 - bgt _02085580 -_020854e4: - ldr r7, [sp] - mov r0, r7 - cmp r0, r8 - bgt _02085568 - ldr r0, [sp, #8] - and r6, r0, #0xff -_020854fc: - ldr r0, _02085590 ; =data_027e0e60 - add r1, sp, #0x10 - ldr r0, [r0] - strb r6, [sp, #0x10] - strb r7, [sp, #0x11] - bl _ZN10MapManager16MapData_vfunc_78Ev - movs r5, r0 - beq _0208555c - ldr r0, [r5, #4] - tst r0, #4 - beq _0208555c - mov r1, r10 - add r0, r5, #0x18 - bl func_01ff9ec0 - ldr r1, [r9] - mov r4, r0 - cmp r4, r1 - bge _0208555c - mov r0, r5 - mov r1, r10 - bl func_ov00_0208b7d0 - cmp r0, #0 - movne r11, r5 - strne r4, [r9] -_0208555c: - add r7, r7, #1 - cmp r7, r8 - ble _020854fc -_02085568: - ldr r0, [sp, #8] - add r1, r0, #1 - ldr r0, [sp, #4] - str r1, [sp, #8] - cmp r1, r0 - ble _020854e4 -_02085580: - mov r0, r11 - add sp, sp, #0x2c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020853fcEv -_0208558c: .word data_027e0f64 -_02085590: .word data_027e0e60 - - .global _ZN10MapManager18func_ov00_02085594Ev - arm_func_start _ZN10MapManager18func_ov00_02085594Ev -_ZN10MapManager18func_ov00_02085594Ev: ; 0x02085594 - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #0x14 - mov r7, r0 - mov r6, r1 - add r0, sp, #0 - mov r1, r7 - mov r2, r6 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - add r1, sp, #0 - mov r0, r7 - bl _ZN10MapManager16MapData_vfunc_78Ev - movs r4, r0 - mov r5, #1 - beq _02085670 - ldr r1, [r4, #0x18] - str r1, [r6] - ldr r1, [r4, #0x1c] - str r1, [r6, #4] - ldr r1, [r4, #0x20] - str r1, [r6, #8] - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x42 - bgt _02085618 - bge _02085658 - cmp r0, #1 - bgt _0208560c - beq _02085670 - b _02085664 -_0208560c: - cmp r0, #0x38 - beq _02085670 - b _02085664 -_02085618: - cmp r0, #0x59 - bgt _02085628 - beq _02085648 - b _02085664 -_02085628: - cmp r0, #0x61 - bne _02085664 - ldr r0, [r4, #8] - cmp r0, #2 - bne _02085670 - add sp, sp, #0x14 - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, pc} -_02085648: - ldr r0, [r4, #8] - cmp r0, #4 - movne r5, #0 - b _02085670 -_02085658: - add sp, sp, #0x14 - mov r0, #2 - ldmia sp!, {r4, r5, r6, r7, pc} -_02085664: - add sp, sp, #0x14 - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, pc} -_02085670: - ldrb r1, [sp] - ldrb r2, [sp, #1] - mov r0, r7 - bl _ZN10MapManager18func_ov00_020840a0Ecci - cmp r0, #0x46 - bgt _02085754 - bge _02085774 - cmp r0, #0x29 - bgt _02085748 - cmp r0, #0 - addge pc, pc, r0, lsl #2 - b _02085780 -_020856a0: ; jump table - b _02085780 ; case 0 - b _02085774 ; case 1 - b _02085774 ; case 2 - b _02085774 ; case 3 - b _02085774 ; case 4 - b _02085774 ; case 5 - b _02085774 ; case 6 - b _02085780 ; case 7 - b _02085774 ; case 8 - b _02085774 ; case 9 - b _02085780 ; case 10 - b _02085780 ; case 11 - b _02085780 ; case 12 - b _02085780 ; case 13 - b _02085780 ; case 14 - b _02085780 ; case 15 - b _02085780 ; case 16 - b _02085780 ; case 17 - b _02085780 ; case 18 - b _02085780 ; case 19 - b _02085774 ; case 20 - b _02085780 ; case 21 - b _02085774 ; case 22 - b _02085774 ; case 23 - b _02085780 ; case 24 - b _02085774 ; case 25 - b _02085780 ; case 26 - b _02085780 ; case 27 - b _02085780 ; case 28 - b _02085774 ; case 29 - b _02085774 ; case 30 - b _02085774 ; case 31 - b _02085780 ; case 32 - b _02085780 ; case 33 - b _02085780 ; case 34 - b _02085780 ; case 35 - b _02085780 ; case 36 - b _02085780 ; case 37 - b _02085780 ; case 38 - b _02085774 ; case 39 - b _02085774 ; case 40 - b _02085774 ; case 41 -_02085748: - cmp r0, #0x37 - beq _02085774 - b _02085780 -_02085754: - cmp r0, #0x48 - bgt _0208576c - bge _02085774 - cmp r0, #0x47 - beq _02085774 - b _02085780 -_0208576c: - cmp r0, #0x50 - bne _02085780 -_02085774: - add sp, sp, #0x14 - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, pc} -_02085780: - ldr r0, [r7, #4] - add r1, sp, #0 - ldr r3, [r0] - mov r2, #5 - ldr r3, [r3, #0x58] - blx r3 - cmp r0, #0 - addne sp, sp, #0x14 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, r7, pc} - ldrb r2, [sp] - ldrb r0, [sp, #1] - sub r3, sp, #4 - add r1, sp, #8 - strb r2, [r3] - strb r0, [r3, #1] - ldr r2, [r3] - mov r0, r7 - bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi - add r1, sp, #8 - mov r0, r7 - bl _ZN10MapManager16MapData_vfunc_70Ev - ldr r1, _02085834 ; =0x0000ffff - mov r2, r0 - cmp r2, r1 - addeq sp, sp, #0x14 - moveq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, pc} - ldr r1, _02085838 ; =data_027e0f6c - add r0, sp, #4 - ldr r1, [r1] - bl func_ov00_02093a1c - ldr r0, [sp, #4] - mov r0, r0, lsr #0x5 - and r0, r0, #3 - cmp r0, #1 - bne _02085828 - cmp r5, #0 - movne r0, #1 - add sp, sp, #0x14 - moveq r0, #2 - ldmia sp!, {r4, r5, r6, r7, pc} -_02085828: - mov r0, #0 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02085594Ev -_02085834: .word 0x0000ffff -_02085838: .word data_027e0f6c - - .global _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi - arm_func_start _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi -_ZN10MapManager18func_ov00_0208583cEiP5Vec3pi: ; 0x0208583c - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r3, r1 - mov r4, r2 - add r0, sp, #0 - mov r1, r5 - mov r2, r3 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - add r1, sp, #0 - mov r0, r5 - bl _ZN10MapManager16MapData_vfunc_78Ev - cmp r0, #0 - mvneq r0, #0 - ldmeqia sp!, {r3, r4, r5, pc} - ldr r1, _020858ac ; =data_027e077c - ldr r2, [r1] - cmp r2, #1 - mvnne r0, #0 - ldmneia sp!, {r3, r4, r5, pc} - ldr r1, [r1, #4] - cmp r2, r1 - mvnne r0, #0 - ldmneia sp!, {r3, r4, r5, pc} - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0x30] - blx r2 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi -_020858ac: .word data_027e077c - - .global _ZN10MapManager18func_ov00_020858b0Ev - arm_func_start _ZN10MapManager18func_ov00_020858b0Ev -_ZN10MapManager18func_ov00_020858b0Ev: ; 0x020858b0 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x1c - mov r9, r2 - mov r10, r0 - mov r11, r1 - cmp r9, #1 - bne _020858e4 - ldr r0, _02085a2c ; =data_027e0f64 - mov r1, #7 - ldr r0, [r0] - ldr r0, [r0, #4] - bl func_ov00_02088000 - b _020858f8 -_020858e4: - ldr r0, _02085a2c ; =data_027e0f64 - mov r1, #6 - ldr r0, [r0] - ldr r0, [r0, #4] - bl func_ov00_02088000 -_020858f8: - mov r0, r10 - bl _ZN10MapManager17Get_MapData_Unk28Ev - str r0, [sp, #0x10] - mov r0, r10 - bl _ZN10MapManager17Get_MapData_Unk2aEv - str r0, [sp, #0xc] - mvn r3, #0 - add r0, sp, #0x18 - mov r1, r10 - mov r2, r11 - str r3, [sp, #8] - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - ldrb r3, [sp, #0x18] - ldrb r2, [sp, #0x19] - ldr r1, _02085a30 ; =data_027e0f94 - add r0, r3, #1 - sub r7, r3, #1 - str r0, [sp, #4] - cmp r7, r0 - sub r0, r2, #1 - ldr r5, [r1, #4] - str r0, [sp] - add r6, r2, #1 - bgt _02085a20 -_02085958: - cmp r7, #0 - blt _02085a10 - ldr r0, [sp, #0x10] - cmp r7, r0 - bge _02085a10 - ldr r8, [sp] - mov r0, r8 - cmp r0, r6 - bgt _02085a10 - and r4, r7, #0xff -_02085980: - cmp r8, #0 - blt _02085a04 - ldr r0, [sp, #0xc] - cmp r8, r0 - bge _02085a04 - mov r0, r10 - add r1, sp, #0x16 - strb r4, [sp, #0x16] - strb r8, [sp, #0x17] - bl _ZN10MapManager16MapData_vfunc_60Ev - subs r0, r0, r5 - rsbmi r0, r0, #0 - cmp r0, #0xcd - bgt _02085a04 - mov r0, r10 - add r1, sp, #0x14 - strb r4, [sp, #0x14] - strb r8, [sp, #0x15] - bl _ZN10MapManager16MapData_vfunc_78Ev - cmp r0, #0 - beq _02085a04 - ldrb r1, [sp, #0x18] - ldr ip, [r0] - mov r3, r11 - cmp r7, r1 - ldreqb r1, [sp, #0x19] - ldr ip, [ip, #0x38] - cmpeq r8, r1 - moveq r2, #0 - movne r2, #1 - mov r1, r9 - blx ip - str r0, [sp, #8] -_02085a04: - add r8, r8, #1 - cmp r8, r6 - ble _02085980 -_02085a10: - ldr r0, [sp, #4] - add r7, r7, #1 - cmp r7, r0 - ble _02085958 -_02085a20: - ldr r0, [sp, #8] - add sp, sp, #0x1c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_020858b0Ev -_02085a2c: .word data_027e0f64 -_02085a30: .word data_027e0f94 - - .global _ZN10MapManager18func_ov00_02085a34Eii - arm_func_start _ZN10MapManager18func_ov00_02085a34Eii -_ZN10MapManager18func_ov00_02085a34Eii: ; 0x02085a34 - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x20 - mov r4, r2 - mov r5, r0 - mov r6, r1 - cmp r4, #1 - beq _02085a60 - cmp r4, #2 - cmpne r4, #3 - beq _02085bdc - b _02085c54 -_02085a60: - add r0, sp, #8 - mov r1, r5 - mov r2, r6 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - mov r0, r5 - mov r1, r6 - bl _ZN10MapManager18func_ov00_02084ebcEi - cmp r0, #0 - addeq sp, sp, #0x20 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, pc} - add r1, sp, #8 - mov r0, r5 - bl _ZN10MapManager16MapData_vfunc_78Ev - movs r6, r0 - beq _02085b24 - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x38 - bgt _02085ac4 - bge _02085ae0 - cmp r0, #1 - beq _02085ae0 - b _02085b18 -_02085ac4: - cmp r0, #0x59 - bgt _02085ad4 - beq _02085afc - b _02085b18 -_02085ad4: - cmp r0, #0x61 - beq _02085afc - b _02085b18 -_02085ae0: - ldr r1, [r6, #4] - mov r0, r5 - bic r2, r1, #1 - mov r1, r6 - str r2, [r6, #4] - bl _ZN10MapManager18func_ov00_020828f8EPi - b _02085b24 -_02085afc: - mov r0, r6 - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0x3c] - blx r2 - add sp, sp, #0x20 - ldmia sp!, {r4, r5, r6, pc} -_02085b18: - add sp, sp, #0x20 - mvn r0, #0 - ldmia sp!, {r4, r5, r6, pc} -_02085b24: - ldr r0, [r5, #4] - add r1, sp, #8 - bl func_ov00_02080b24 - mov r2, #0 - sub r1, r2, #1 - mov r0, #1 - strh r1, [sp, #0x1c] - str r2, [sp, #0x18] - strb r0, [sp, #0x1e] - mov r4, r2 - add r1, sp, #0xc -_02085b50: - mov r0, r2, lsl #0x1 - add r2, r2, #1 - strh r4, [r1, r0] - cmp r2, #4 - blo _02085b50 - mov r3, #0 -_02085b68: - strb r3, [r1, #8] - add r4, r4, #1 - strb r3, [r1, #0xa] - cmp r4, #2 - add r1, r1, #1 - blo _02085b68 - add r4, sp, #0xc - add r2, sp, #8 - mov r0, r5 - mov r1, #0x42 - str r4, [sp] - bl _ZN10MapManager16MapData_vfunc_7cEv - cmp r0, #0 - addeq sp, sp, #0x20 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, pc} - add r1, sp, #8 - mov r0, r5 - bl _ZN10MapManager16MapData_vfunc_78Ev - cmp r0, #0 - beq _02085bd0 - ldrsh r0, [r0, #0xe] - cmp r0, #0 - addgt sp, sp, #0x20 - movgt r0, #1 - ldmgtia sp!, {r4, r5, r6, pc} -_02085bd0: - add sp, sp, #0x20 - mov r0, #0 - ldmia sp!, {r4, r5, r6, pc} -_02085bdc: - add r0, sp, #6 - mov r1, r5 - mov r2, r6 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - add r1, sp, #6 - mov r0, r5 - bl _ZN10MapManager16MapData_vfunc_78Ev - movs r6, r0 - addeq sp, sp, #0x20 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, pc} - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x42 - bne _02085c38 - ldrb r2, [r6, #0x15] - ldrb r0, [r6, #0x14] - add r1, sp, #4 - strb r2, [sp, #5] - strb r0, [sp, #4] - ldr r0, [r5, #4] - bl func_ov00_02080d08 -_02085c38: - mov r0, r6 - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0x3c] - blx r2 - add sp, sp, #0x20 - ldmia sp!, {r4, r5, r6, pc} -_02085c54: - mvn r0, #0 - add sp, sp, #0x20 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end _ZN10MapManager18func_ov00_02085a34Eii - - .global _ZN10MapManager18func_ov00_02085c60Eiiii - arm_func_start _ZN10MapManager18func_ov00_02085c60Eiiii -_ZN10MapManager18func_ov00_02085c60Eiiii: ; 0x02085c60 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0xfc - ldr r11, [sp, #0x120] - ldr r8, [sp, #0x124] - ldr r7, [sp, #0x128] - ldr r6, [sp, #0x12c] - cmp r11, #0 - mov r10, r0 - mov r9, r1 - mov r5, r2 - mov r4, r3 - addeq sp, sp, #0xfc - moveq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - add r1, sp, #0x88 - str r1, [sp] - ldr r0, _0208603c ; =data_027e0d3c - ldmia r5, {r2, r3} - ldr r0, [r0] - mov r1, #0 - bl func_ov00_020792a0 - add r1, sp, #0x7c - str r1, [sp] - ldr r0, _0208603c ; =data_027e0d3c - ldmia r4, {r2, r3} - ldr r0, [r0] - mov r1, #0 - bl func_ov00_020792a0 - add r0, sp, #0x88 - add r5, sp, #0x70 - ldmia r0, {r0, r1, r2} - stmia r5, {r0, r1, r2} - add r0, sp, #0x7c - add r4, sp, #0x64 - ldmia r0, {r0, r1, r2} - stmia r4, {r0, r1, r2} - add r3, sp, #0x58 - ldmia r5, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r1, r4 - mov r0, r3 - mov r2, r3 - bl func_01ff9bf8 - mov r1, #0xc000 - mov r2, #0 - umull r5, r3, r11, r1 - mla r3, r11, r2, r3 - mov r4, r11, asr #0x1f - adds r2, r5, #0x800 - mla r3, r4, r1, r3 - adc r1, r3, #0 - mov r5, r2, lsr #0xc - add r0, sp, #0x58 - orr r5, r5, r1, lsl #20 - bl func_01ff9cec - cmp r0, r5 - ble _02085d9c - add r0, sp, #0x58 - mov r1, r0 - bl func_01ff9d4c - add r0, sp, #0x58 - mov r1, r5 - bl func_01fffbec - ldr r1, [sp, #0x7c] - ldr r0, [sp, #0x80] - str r1, [sp, #0x88] - ldr r1, [sp, #0x84] - str r0, [sp, #0x8c] - add r0, sp, #0x88 - str r1, [sp, #0x90] - add r1, sp, #0x58 - mov r2, r0 - bl func_01ff9bc4 - ldr r0, [sp, #0x8c] - ldr r1, [sp, #0x88] - str r0, [sp, #0x74] - ldr r0, [sp, #0x90] - str r1, [sp, #0x70] - str r0, [sp, #0x78] -_02085d9c: - add r0, sp, #0x58 - ldr ip, [sp, #0x88] - ldr r5, [sp, #0x8c] - ldr r3, [sp, #0x90] - add r1, sp, #0x7c - mov r2, r0 - str ip, [sp, #0x58] - str r5, [sp, #0x5c] - str r3, [sp, #0x60] - bl func_01ff9bf8 - mov r1, r4, lsl #0xb - mov r0, #0x800 - adds r2, r0, r11, lsl #11 - orr r1, r1, r11, lsr #21 - add r0, sp, #0x58 - adc r1, r1, #0 - mov r5, r2, lsr #0xc - orr r5, r5, r1, lsl #20 - bl func_01ff9cec - cmp r0, r11 - blt _02085e30 - add r0, sp, #0x58 - mov r1, r0 - bl func_01ff9d4c - add r0, sp, #0x58 - mov r1, r5 - bl func_01fffbec - ldr r2, [sp, #0x64] - ldr r1, [sp, #0x68] - str r2, [sp, #0x70] - ldr r2, [sp, #0x6c] - str r1, [sp, #0x74] - add r0, sp, #0x70 - str r2, [sp, #0x78] - add r1, sp, #0x58 - mov r2, r0 - bl func_01ff9bc4 -_02085e30: - mov r4, #0 - mov r0, r11, lsl #0x1 - str r4, [sp, #0x48] - str r0, [sp, #0x4c] - str r4, [sp, #0x50] - str r11, [sp, #0x54] -_02085e48: - add r0, sp, #0x48 - stmia sp, {r0, r8} - str r7, [sp, #8] - str r6, [sp, #0xc] - mov r0, #0 - str r0, [sp, #0x10] - mov r0, r10 - mov r1, r9 - add r2, sp, #0x70 - add r3, sp, #0x64 - bl func_01ffbe78 - cmp r0, #0 - beq _02085fb8 - ldr r1, [r9] - add r0, sp, #0x30 - str r1, [sp, #0x3c] - ldr r2, [r9, #4] - mov r1, r0 - str r2, [sp, #0x40] - ldr r2, [r9, #8] - str r2, [sp, #0x44] - ldr r2, [r9, #0xc] - str r2, [sp, #0x30] - ldr r2, [r9, #0x10] - str r2, [sp, #0x34] - ldr r2, [r9, #0x14] - str r2, [sp, #0x38] - bl func_01ff9d4c - add r0, sp, #0x30 - mov r1, r11 - bl func_01fffbec - add r0, sp, #0x3c - add r1, sp, #0x30 - mov r2, r0 - bl func_01ff9bc4 - ldr r1, [sp, #0x3c] - ldr r2, _02086040 ; =0x0000ffff - str r1, [r9] - ldr r1, [sp, #0x40] - mov r3, #0 - str r1, [r9, #4] - ldr r4, [sp, #0x44] - sub r1, r3, #1 - str r4, [r9, #8] - strh r2, [sp, #0xb8] - strh r2, [sp, #0xba] - strh r2, [sp, #0xbc] - strh r2, [sp, #0xbe] - strh r3, [sp, #0xc0] - strb r3, [sp, #0xe2] - strb r3, [sp, #0xe3] - strb r3, [sp, #0xe4] - strb r3, [sp, #0xe5] - strb r3, [sp, #0xec] - strb r3, [sp, #0xed] - strb r3, [sp, #0xee] - strb r3, [sp, #0xef] - strb r3, [sp, #0xf0] - strb r3, [sp, #0xf1] - str r1, [sp, #0xf4] - str r1, [sp, #0xf8] - add r2, sp, #0x48 - stmia sp, {r2, r8} - str r7, [sp, #8] - str r6, [sp, #0xc] - add r2, sp, #0x3c - str r3, [sp, #0x10] - mov r0, r10 - add r1, sp, #0x94 - mov r3, r2 - bl func_01ffbe78 - cmp r0, #0 - beq _02085f84 - ldr r2, [sp, #0x94] - ldr r1, [sp, #0x98] - ldr r0, [sp, #0x9c] - str r2, [sp, #0x3c] - str r1, [sp, #0x40] - str r0, [sp, #0x44] -_02085f84: - ldr r0, _0208603c ; =data_027e0d3c - add r1, sp, #0x3c - ldr r0, [r0] - add r2, sp, #0x1c - mov r3, #0 - bl func_ov00_0207920c - ldr r1, [sp, #0x1c] - mov r0, #1 - str r1, [r9, #0x60] - ldr r1, [sp, #0x20] - add sp, sp, #0xfc - str r1, [r9, #0x64] - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_02085fb8: - ldr r1, [sp, #0x70] - ldr r0, [sp, #0x74] - str r1, [sp, #0x64] - ldr r1, [sp, #0x78] - str r0, [sp, #0x68] - str r1, [sp, #0x6c] - add r0, sp, #0x70 - add r1, sp, #0x88 - mov r2, r5 - bl func_0202b2e8 - cmp r0, #0 - movne r4, #1 - cmp r4, #0 - beq _02085e48 - ldr r1, [sp, #0x88] - ldr r0, _0208603c ; =data_027e0d3c - str r1, [r9] - ldr r2, [sp, #0x8c] - add r1, sp, #0x88 - str r2, [r9, #4] - ldr r3, [sp, #0x90] - add r2, sp, #0x14 - str r3, [r9, #8] - ldr r0, [r0] - mov r3, #0 - bl func_ov00_0207920c - ldr r1, [sp, #0x14] - mov r0, #0 - str r1, [r9, #0x60] - ldr r1, [sp, #0x18] - str r1, [r9, #0x64] - add sp, sp, #0xfc - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02085c60Eiiii -_0208603c: .word data_027e0d3c -_02086040: .word 0x0000ffff - - .global _ZN10MapManager18func_ov00_02086044Eiii - arm_func_start _ZN10MapManager18func_ov00_02086044Eiii -_ZN10MapManager18func_ov00_02086044Eiii: ; 0x02086044 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0xb0 - add r5, sp, #0x98 - mov r9, r2 - mov r10, r0 - str r1, [sp] - ldmia r9, {r0, r1, r2} - stmia r5, {r0, r1, r2} - mov r8, r3 - ldmia r9, {r0, r1, r2} - add r4, sp, #0xa4 - stmia r4, {r0, r1, r2} - ldr r0, [sp] - add r3, sp, #0x50 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r5 - mov r1, r3 - bl func_ov00_0208ed74 - mov r0, r5 - mov r1, r8 - bl func_ov00_0208ee00 - ldr r1, [sp, #0x98] - mov r0, r10 - bl _ZN10MapManager18func_ov00_020839d4Ev - mov r6, r0 - ldr r1, [sp, #0xa0] - mov r0, r10 - bl _ZN10MapManager18func_ov00_020839f8Ev - str r0, [sp, #0xc] - ldr r1, [sp, #0xa4] - mov r0, r10 - bl _ZN10MapManager18func_ov00_020839d4Ev - str r0, [sp, #8] - ldr r1, [sp, #0xac] - mov r0, r10 - bl _ZN10MapManager18func_ov00_020839f8Ev - mov r11, r0 - add r5, sp, #0x8c - ldmia r9, {r0, r1, r2} - stmia r5, {r0, r1, r2} - ldr r0, [sp] - add r4, sp, #0x44 - ldmia r0, {r0, r1, r2} - stmia r4, {r0, r1, r2} - add r3, sp, #0x38 - ldmia r9, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r4 - mov r1, r3 - add r2, sp, #0x80 - bl func_01ff9bf8 - ldr r1, [r9] - mov r0, r10 - bl _ZN10MapManager18func_ov00_020839d4Ev - mov r4, r0 - ldr r1, [r9, #8] - mov r0, r10 - bl _ZN10MapManager18func_ov00_020839f8Ev - mov r2, r0 - mov r1, r4 - mov r0, r10 - bl _ZN10MapManager18func_ov00_02083e34Ecci - str r0, [sp, #4] - ldr r0, [sp, #8] - cmp r6, r0 - bgt _02086274 -_02086150: - ldr r7, [sp, #0xc] - mov r0, r7 - cmp r0, r11 - bgt _02086264 - and r5, r6, #0xff -_02086164: - mov r0, r10 - mov r1, r6 - mov r2, r7 - bl _ZN10MapManager18func_ov00_02083e34Ecci - ldr r1, [sp, #4] - cmp r0, r1 - ble _020861ec - ldr r0, _02086280 ; =data_027e0e60 - add r1, sp, #0x12 - ldr r0, [r0] - add r2, sp, #0x68 - strb r5, [sp, #0x12] - strb r7, [sp, #0x13] - bl _ZN10MapManager18func_ov00_02084024EiP4AABB - ldr r0, [sp] - mov r1, r9 - add r2, sp, #0x5c - bl func_01ff9bf8 - ldr r1, [r9] - add r0, sp, #0x68 - str r1, [sp, #0x28] - ldr r2, [r9, #4] - add r1, sp, #0x28 - str r2, [sp, #0x2c] - ldr r3, [r9, #8] - add r2, sp, #0x5c - str r3, [sp, #0x30] - add r3, sp, #0x14 - str r8, [sp, #0x34] - bl func_ov00_0208e87c - cmp r0, #0 - addne sp, sp, #0xb0 - movne r0, #1 - ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} -_020861ec: - mov r0, r10 - add r1, sp, #0x10 - strb r5, [sp, #0x10] - strb r7, [sp, #0x11] - bl _ZN10MapManager16MapData_vfunc_78Ev - movs r4, r0 - beq _02086258 - ldr r1, [r0] - ldr r1, [r1, #0x58] - blx r1 - cmp r0, #0 - beq _02086258 - ldr r2, [r9] - mov r0, r4 - str r2, [sp, #0x18] - ldr r3, [r9, #4] - add r1, sp, #0x18 - str r3, [sp, #0x1c] - ldr r3, [r9, #8] - add r2, sp, #0x80 - str r3, [sp, #0x20] - str r8, [sp, #0x24] - bl func_ov00_0208b804 - cmp r0, #0 - addne sp, sp, #0xb0 - movne r0, #1 - ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} -_02086258: - add r7, r7, #1 - cmp r7, r11 - ble _02086164 -_02086264: - ldr r0, [sp, #8] - add r6, r6, #1 - cmp r6, r0 - ble _02086150 -_02086274: - mov r0, #0 - add sp, sp, #0xb0 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end _ZN10MapManager18func_ov00_02086044Eiii -_02086280: .word data_027e0e60 - - .global _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ - arm_func_start _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ -_ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_: ; 0x02086284 - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x15c - mov r9, r1 - mov r0, r9 - ldr r1, [r0] - mov r8, r2 - ldr r1, [r1, #8] - mov r7, r3 - ldr r6, [sp, #0x178] - ldr r5, [sp, #0x180] - ldr r4, [sp, #0x184] - blx r1 - cmp r0, #0 - beq _020862d0 - cmp r0, #1 - beq _020863a8 - cmp r0, #2 - beq _02086520 - b _02086a78 -_020862d0: - mov r0, r9 - ldr r2, [r0] - add r1, sp, #0x14c - ldr r2, [r2, #0x24] - blx r2 - add r0, sp, #0x14c - add r3, sp, #0x140 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r8 - mov r1, r3 - bl func_01ff9ec0 - ldr r2, [sp, #0x158] - add r1, sp, #0x140 - add r2, r2, r6 - sub r6, r2, r0 - mov r0, r8 - mov r2, r1 - bl func_01ff9bf8 - add r0, sp, #0x140 - bl func_01fffb4c - cmp r0, #0 - bne _02086340 - mov r1, #0 - mov r0, #0x1000 - str r1, [sp, #0x140] - str r1, [sp, #0x144] - str r0, [sp, #0x148] -_02086340: - add r0, sp, #0x140 - mov r1, r6 - bl func_01fffbec - add r1, sp, #0x140 - mov r0, r8 - mov r2, r5 - bl func_01ff9bc4 - add r0, sp, #0x14c - add r3, sp, #0x128 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r2, sp, #0x134 - mov r0, r7 - mov r1, r3 - bl func_01ff9bf8 - add r0, sp, #0x134 - bl func_01fffb4c - ldr r1, [sp, #0x134] - mov r0, #0 - str r1, [r4] - ldr r1, [sp, #0x138] - str r1, [r4, #4] - ldr r1, [sp, #0x13c] - add sp, sp, #0x15c - str r1, [r4, #8] - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_020863a8: - mov r1, #0 - mov r0, r9 - str r1, [sp, #0x120] - str r1, [sp, #0x114] - str r1, [sp, #0x118] - str r1, [sp, #0x11c] - ldr r2, [r0] - add r1, sp, #0x114 - ldr r2, [r2, #0x28] - blx r2 - ldr r2, [r8, #4] - ldr r1, [sp, #0x114] - ldr r0, [sp, #0x11c] - str r1, [sp, #0x108] - str r2, [sp, #0x10c] - str r0, [sp, #0x110] - ldrb r0, [r9, #5] - cmp r0, #0 - beq _02086464 - add r0, sp, #0x168 - ldrh r0, [r0, #0x14] - tst r0, #0x80 - beq _02086464 - add r0, sp, #0x108 - mov r1, r8 - bl func_01ff9ec0 - ldr r1, [sp, #0x120] - cmp r0, r1 - bgt _02086464 - ldr r2, [sp, #0x118] - ldr r1, [sp, #0x124] - ldr r0, [r7, #4] - add r1, r2, r1 - cmp r0, r1 - blt _02086464 - ldr r0, [r8, #4] - add r1, r6, r1 - cmp r0, r1 - bgt _02086464 - str r1, [r5, #4] - mov r1, #0 - str r1, [r4] - mov r0, #0x1000 - stmib r4, {r0, r1} - add sp, sp, #0x15c - mov r0, #1 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_02086464: - add r1, sp, #0x108 - mov r0, r8 - bl func_01ff9ec0 - ldr r2, [sp, #0x120] - add r1, sp, #0x108 - add r2, r2, r6 - sub r6, r2, r0 - mov r0, r8 - mov r2, r1 - bl func_01ff9bf8 - add r0, sp, #0x108 - bl func_01fffb4c - cmp r0, #0 - bne _020864b0 - mov r1, #0 - mov r0, #0x1000 - str r1, [sp, #0x108] - str r1, [sp, #0x10c] - str r0, [sp, #0x110] -_020864b0: - add r0, sp, #0x108 - mov r1, r6 - bl func_01fffbec - add r1, sp, #0x108 - mov r0, r8 - mov r2, r5 - bl func_01ff9bc4 - add r0, sp, #0x114 - add r3, sp, #0xf0 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldr r0, [r7, #4] - add r2, sp, #0xfc - str r0, [sp, #0xf4] - mov r0, r7 - mov r1, r3 - bl func_01ff9bf8 - add r0, sp, #0xfc - bl func_01fffb4c - ldr r1, [sp, #0xfc] - mov r0, #0 - str r1, [r4] - ldr r1, [sp, #0x100] - str r1, [r4, #4] - ldr r1, [sp, #0x104] - add sp, sp, #0x15c - str r1, [r4, #8] - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_02086520: - mov r0, r9 - ldr r2, [r0] - add r1, sp, #0xd8 - ldr r2, [r2, #0x2c] - blx r2 - add r0, sp, #0xd8 - add r1, sp, #0xcc - bl func_ov00_0208e6b0 - ldr r2, [r8, #4] - ldr r0, [sp, #0xcc] - str r2, [sp, #0xc4] - ldr r2, [sp, #0xd4] - str r0, [sp, #0xc0] - add r1, sp, #0xc0 - str r2, [sp, #0xc8] - mov r0, r8 - mov r2, r1 - bl func_01ff9bf8 - add r0, sp, #0xc0 - add r3, sp, #0xb4 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r3 - bl func_01fffb4c - cmp r0, #0 - bne _0208659c - mov r1, #0 - mov r0, #0x1000 - str r1, [sp, #0xb4] - str r1, [sp, #0xb8] - str r0, [sp, #0xbc] -_0208659c: - ldrb r0, [r9, #5] - cmp r0, #0 - beq _0208662c - add r0, sp, #0x168 - ldrh r0, [r0, #0x14] - tst r0, #0x80 - beq _0208662c - ldr r1, [r8] - ldr r0, [sp, #0xe4] - cmp r1, r0 - bge _020865f0 - ldr r0, [sp, #0xd8] - cmp r1, r0 - blt _020865f0 - ldr r1, [r8, #8] - ldr r0, [sp, #0xec] - cmp r1, r0 - bge _020865f0 - ldr r0, [sp, #0xe0] - cmp r1, r0 - bge _02086604 -_020865f0: - ldr r0, [sp, #0xe8] - ldr r1, [r7, #4] - add r0, r0, r6 - cmp r1, r0 - blt _0208662c -_02086604: - ldr r0, [sp, #0xe8] - mov r1, #0 - add r0, r0, r6 - str r0, [r5, #4] - str r1, [r4] - mov r0, #0x1000 - stmib r4, {r0, r1} - add sp, sp, #0x15c - mov r0, #1 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_0208662c: - add r0, sp, #0xd8 - add r1, sp, #0xa8 - bl func_ov00_0208e6b0 - ldr r3, [sp, #0xec] - ldr r2, [r8, #8] - cmp r2, r3 - bge _020867f8 - ldr r0, [sp, #0xe0] - cmp r2, r0 - blt _020867f8 - ldr r1, [r8] - ldr r0, [sp, #0xe4] - cmp r1, r0 - bge _020867f8 - ldr r0, [sp, #0xd8] - cmp r1, r0 - blt _020867f8 - add r0, sp, #0xd8 - bl func_ov00_0208e6f0 - mov r7, r0 - add r0, sp, #0xd8 - bl func_ov00_0208e704 - cmp r7, r0 - bne _020866bc - ldr r1, [sp, #0xb0] - ldr r0, [r8, #8] - subs r2, r1, r0 - ldr r1, [sp, #0xa8] - ldr r0, [r8] - rsbmi r2, r2, #0 - subs r0, r1, r0 - rsbmi r0, r0, #0 - cmp r0, r2 - movgt r0, #1 - movle r0, #0 - b _020866dc -_020866bc: - add r0, sp, #0xd8 - bl func_ov00_0208e6f0 - mov r7, r0 - add r0, sp, #0xd8 - bl func_ov00_0208e704 - cmp r7, r0 - movlt r0, #1 - movge r0, #0 -_020866dc: - cmp r0, #0 - beq _02086770 - ldr r0, [sp, #0xb4] - cmp r0, #0 - add r0, sp, #0xd8 - blt _02086730 - ldr r7, [sp, #0xc0] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e6f0 - add r0, r6, r0, asr #1 - ldr r1, [r5] - sub r0, r0, r7 - add r0, r1, r0 - str r0, [r5] - mov r0, #0x1000 - str r0, [r4] - mov r0, #0 - str r0, [r4, #4] - str r0, [r4, #8] - b _02086a6c -_02086730: - ldr r7, [sp, #0xc0] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e6f0 - add r1, r6, r0, asr #1 - mov r0, #0x1000 - ldr r2, [r5] - sub r1, r1, r7 - sub r1, r2, r1 - str r1, [r5] - rsb r0, r0, #0 - str r0, [r4] - mov r0, #0 - str r0, [r4, #4] - str r0, [r4, #8] - b _02086a6c -_02086770: - ldr r0, [sp, #0xbc] - cmp r0, #0 - add r0, sp, #0xd8 - blt _020867bc - ldr r7, [sp, #0xc8] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e704 - add r0, r6, r0, asr #1 - ldr r1, [r5, #8] - sub r0, r0, r7 - add r0, r1, r0 - str r0, [r5, #8] - mov r0, #0 - str r0, [r4] - str r0, [r4, #4] - mov r0, #0x1000 - str r0, [r4, #8] - b _02086a6c -_020867bc: - ldr r7, [sp, #0xc8] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e704 - add r1, r6, r0, asr #1 - ldr r2, [r5, #8] - sub r1, r1, r7 - sub r1, r2, r1 - mov r0, #0 - str r1, [r5, #8] - str r0, [r4] - str r0, [r4, #4] - sub r0, r0, #0x1000 - str r0, [r4, #8] - b _02086a6c -_020867f8: - ldr r1, [r8] - ldr r0, [sp, #0xe4] - cmp r1, r0 - bge _0208689c - ldr r0, [sp, #0xd8] - cmp r1, r0 - blt _0208689c - ldr r0, [sp, #0xbc] - cmp r0, #0 - add r0, sp, #0xd8 - blt _02086860 - ldr r7, [sp, #0xc8] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e704 - add r0, r6, r0, asr #1 - ldr r1, [r5, #8] - sub r0, r0, r7 - add r0, r1, r0 - str r0, [r5, #8] - mov r0, #0 - str r0, [r4] - str r0, [r4, #4] - mov r0, #0x1000 - str r0, [r4, #8] - b _02086a6c -_02086860: - ldr r7, [sp, #0xc8] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e704 - add r1, r6, r0, asr #1 - ldr r2, [r5, #8] - sub r1, r1, r7 - sub r1, r2, r1 - mov r0, #0 - str r1, [r5, #8] - str r0, [r4] - str r0, [r4, #4] - sub r0, r0, #0x1000 - str r0, [r4, #8] - b _02086a6c -_0208689c: - cmp r2, r3 - bge _0208693c - ldr r0, [sp, #0xe0] - cmp r2, r0 - blt _0208693c - ldr r0, [sp, #0xb4] - cmp r0, #0 - add r0, sp, #0xd8 - blt _020868fc - ldr r7, [sp, #0xc0] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e6f0 - add r0, r6, r0, asr #1 - ldr r1, [r5] - sub r0, r0, r7 - add r0, r1, r0 - str r0, [r5] - mov r0, #0x1000 - str r0, [r4] - mov r0, #0 - str r0, [r4, #4] - str r0, [r4, #8] - b _02086a6c -_020868fc: - ldr r7, [sp, #0xc0] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e6f0 - add r1, r6, r0, asr #1 - mov r0, #0x1000 - ldr r2, [r5] - sub r1, r1, r7 - sub r1, r2, r1 - str r1, [r5] - rsb r0, r0, #0 - str r0, [r4] - mov r0, #0 - str r0, [r4, #4] - str r0, [r4, #8] - b _02086a6c -_0208693c: - ldr r0, [sp, #0xb0] - subs r2, r0, r2 - ldr r0, [sp, #0xa8] - rsbmi r2, r2, #0 - subs r0, r0, r1 - rsbmi r0, r0, #0 - cmp r0, r2 - ble _020869e8 - ldr r0, [sp, #0xb4] - cmp r0, #0 - add r0, sp, #0xd8 - blt _020869a8 - ldr r7, [sp, #0xc0] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e6f0 - add r0, r6, r0, asr #1 - ldr r1, [r5] - sub r0, r0, r7 - add r0, r1, r0 - str r0, [r5] - mov r0, #0x1000 - str r0, [r4] - mov r0, #0 - str r0, [r4, #4] - str r0, [r4, #8] - b _02086a6c -_020869a8: - ldr r7, [sp, #0xc0] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e6f0 - add r1, r6, r0, asr #1 - mov r0, #0x1000 - ldr r2, [r5] - sub r1, r1, r7 - sub r1, r2, r1 - str r1, [r5] - rsb r0, r0, #0 - str r0, [r4] - mov r0, #0 - str r0, [r4, #4] - str r0, [r4, #8] - b _02086a6c -_020869e8: - ldr r0, [sp, #0xbc] - cmp r0, #0 - add r0, sp, #0xd8 - blt _02086a34 - ldr r7, [sp, #0xc8] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e704 - add r0, r6, r0, asr #1 - ldr r1, [r5, #8] - sub r0, r0, r7 - add r0, r1, r0 - str r0, [r5, #8] - mov r0, #0 - str r0, [r4] - str r0, [r4, #4] - mov r0, #0x1000 - str r0, [r4, #8] - b _02086a6c -_02086a34: - ldr r7, [sp, #0xc8] - cmp r7, #0 - rsblt r7, r7, #0 - bl func_ov00_0208e704 - add r1, r6, r0, asr #1 - ldr r2, [r5, #8] - sub r1, r1, r7 - sub r1, r2, r1 - mov r0, #0 - str r1, [r5, #8] - str r0, [r4] - str r0, [r4, #4] - sub r0, r0, #0x1000 - str r0, [r4, #8] -_02086a6c: - add sp, sp, #0x15c - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_02086a78: - mov r0, #0 - add sp, sp, #0x15c - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} - arm_func_end _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ - - .global _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ - arm_func_start _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ -_ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_: ; 0x02086a84 - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x84 - mov r8, r2 - mov r7, r3 - mov r9, r1 - add r2, sp, #0x78 - mov r0, r8 - mov r1, r7 - ldr r6, [sp, #0xa4] - ldr r5, [sp, #0xac] - ldr r4, [sp, #0xb0] - bl func_01ff9bf8 - mov r0, r9 - ldr r1, [r0] - ldr r1, [r1, #8] - blx r1 - cmp r0, #0 - beq _02086ae0 - cmp r0, #1 - beq _02086be4 - cmp r0, #2 - beq _02086c64 - b _02086cc4 -_02086ae0: - mov r0, r9 - ldr r2, [r0] - add r1, sp, #0x68 - ldr r2, [r2, #0x24] - blx r2 - cmp r6, #0 - bne _02086b7c - add r0, sp, #0x68 - add r3, sp, #0x5c - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r8 - mov r1, r3 - bl func_01ff9ec0 - ldr r3, [sp, #0x74] - ldr r2, [sp, #0xa0] - add r1, sp, #0x68 - add r2, r3, r2 - sub r6, r2, r0 - add r2, sp, #0x5c - mov r0, r8 - bl func_01ff9bf8 - add r0, sp, #0x5c - bl func_01fffb4c - cmp r0, #0 - bne _02086b5c - mov r1, #0 - mov r0, #0x1000 - str r1, [sp, #0x5c] - str r1, [sp, #0x60] - str r0, [sp, #0x64] -_02086b5c: - add r0, sp, #0x5c - mov r1, r6 - bl func_01fffbec - add r1, sp, #0x5c - mov r0, r8 - mov r2, r5 - bl func_01ff9bc4 - b _02086b98 -_02086b7c: - add r0, sp, #0x78 - mov r1, r6 - bl func_01fffbec - add r1, sp, #0x78 - mov r0, r7 - mov r2, r5 - bl func_01ff9bc4 -_02086b98: - add r0, sp, #0x68 - add r3, sp, #0x44 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r2, sp, #0x50 - mov r0, r7 - mov r1, r3 - bl func_01ff9bf8 - add r0, sp, #0x50 - bl func_01fffb4c - ldr r1, [sp, #0x50] - mov r0, #0 - str r1, [r4] - ldr r1, [sp, #0x54] - str r1, [r4, #4] - ldr r1, [sp, #0x58] - add sp, sp, #0x84 - str r1, [r4, #8] - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_02086be4: - mov r1, #0 - mov r0, r9 - str r1, [sp, #0x3c] - str r1, [sp, #0x30] - str r1, [sp, #0x34] - str r1, [sp, #0x38] - ldr r2, [r0] - add r1, sp, #0x30 - ldr r2, [r2, #0x28] - blx r2 - add r0, sp, #0x78 - mov r1, r6 - bl func_01fffbec - add r1, sp, #0x78 - mov r0, r7 - mov r2, r5 - bl func_01ff9bc4 - add r0, sp, #0x30 - add r3, sp, #0x24 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldr r2, [r7, #4] - mov r1, r3 - str r2, [sp, #0x28] - mov r0, r7 - mov r2, r4 - bl func_01ff9bf8 - mov r0, r4 - bl func_01fffb4c - add sp, sp, #0x84 - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_02086c64: - mov r0, r9 - ldr r2, [r0] - add r1, sp, #0xc - ldr r2, [r2, #0x2c] - blx r2 - add r0, sp, #0xc - add r1, sp, #0 - bl func_ov00_0208e6b0 - add r0, sp, #0x78 - mov r1, r6 - bl func_01fffbec - add r1, sp, #0x78 - mov r2, r5 - mov r0, r7 - bl func_01ff9bc4 - mov r0, r7 - add r1, sp, #0 - mov r2, r4 - bl func_01ff9bf8 - mov r0, r4 - bl func_01fffb4c - add sp, sp, #0x84 - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} -_02086cc4: - mov r0, #0 - add sp, sp, #0x84 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} - arm_func_end _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ - - .global func_ov00_02086cd0 - arm_func_start func_ov00_02086cd0 -func_ov00_02086cd0: ; 0x02086cd0 - bx lr - arm_func_end func_ov00_02086cd0 - - .global func_ov00_02086cd4 - arm_func_start func_ov00_02086cd4 -func_ov00_02086cd4: ; 0x02086cd4 - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #0xc - mov r4, r0 - ldr r0, [r4, #0x14c] - bl func_ov00_0209da68 - ldr r0, [r4, #0x150] - bl func_ov00_020a1774 - ldr r1, _02086da4 ; =data_027e0f94 - mov r0, r4 - ldr r3, [r1, #4] - ldr r2, [r1, #8] - ldr r1, [r1] - str r1, [r4, #0x26c] - str r3, [r4, #0x270] - str r2, [r4, #0x274] - bl func_ov00_0208def0 - mov r7, #0 - str r7, [r4, #0x1a4] - str r7, [r4, #0x1a8] - str r7, [r4, #0x160] - str r7, [r4, #0x15c] - mov r6, r7 - mov r5, #1 -_02086d30: - ldr r0, [r4, #0x154] - ldr r0, [r0, r7, lsl #2] - cmp r0, #0 - beq _02086d58 - ldr ip, [r0] - mov r1, r6 - ldr ip, [ip, #8] - mov r2, r6 - mov r3, r5 - blx ip -_02086d58: - add r7, r7, #1 - cmp r7, #0x10 - blt _02086d30 - mov r0, r4 - bl func_ov00_020881f4 - ldr r0, [r4, #0x26c] - str r0, [r4, #0x308] - ldr r0, [r4, #0x270] - str r0, [r4, #0x30c] - ldr r0, [r4, #0x274] - str r0, [r4, #0x310] - ldr r0, [r4, #0x26c] - str r0, [r4, #0x314] - ldr r0, [r4, #0x270] - str r0, [r4, #0x318] - ldr r0, [r4, #0x274] - str r0, [r4, #0x31c] - add sp, sp, #0xc - ldmia sp!, {r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end func_ov00_02086cd4 -_02086da4: .word data_027e0f94 - - .global func_ov00_02086da8 - arm_func_start func_ov00_02086da8 -func_ov00_02086da8: ; 0x02086da8 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #0x18 - mov r5, r0 - add r0, r5, #0x260 - mov r4, r1 - add lr, sp, #0xc - ldmia r0, {r0, r1, r2} - stmia lr, {r0, r1, r2} - add ip, r5, #0x26c - add r3, sp, #0 - ldmia ip, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldr r0, [r5, #0x1b0] - add r0, r0, #1 - str r0, [r5, #0x1b0] - cmp r0, #0x12c - movge r0, #0x12c - strge r0, [r5, #0x1b0] - ldr r0, [r5, #0x150] - bl func_ov00_020a17d0 - ldr r2, [r5, #0x154] - ldr r0, [r5, #0x160] - mov r1, r4 - ldr r0, [r2, r0, lsl #2] - ldr r2, [r0] - ldr r2, [r2, #0xc] - blx r2 - mov r0, r5 - bl func_ov00_02089d0c - ldr r1, [r5, #0x154] - ldr r0, [r5, #0x160] - ldr r0, [r1, r0, lsl #2] - ldr r1, [r0] - ldr r1, [r1, #0x18] - blx r1 - mov r0, r5 - mov r1, r4 - bl func_ov00_0208df04 - mov r0, r5 - bl func_ov00_0208a464 - ldr r0, [sp, #0xc] - str r0, [r5, #0x284] - ldr r0, [sp, #0x10] - str r0, [r5, #0x288] - ldr r0, [sp, #0x14] - str r0, [r5, #0x28c] - ldr r0, [sp] - str r0, [r5, #0x290] - ldr r0, [sp, #4] - str r0, [r5, #0x294] - ldr r0, [sp, #8] - str r0, [r5, #0x298] - add sp, sp, #0x18 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02086da8 - - .global func_ov00_02086e80 - arm_func_start func_ov00_02086e80 -func_ov00_02086e80: ; 0x02086e80 - stmdb sp!, {r3, lr} - ldr r1, [r0, #0x154] - ldr r0, [r0, #0x160] - ldr r0, [r1, r0, lsl #2] - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02086e80 - - .global func_ov00_02086ea0 - arm_func_start func_ov00_02086ea0 -func_ov00_02086ea0: ; 0x02086ea0 - ldr r3, _02086ed0 ; =data_ov00_020d8aa8 - mov r2, #0 -_02086ea8: - ldr r1, [r3] - cmp r0, r1 - moveq r0, r2 - bxeq lr - add r2, r2, #1 - cmp r2, #0x5c - add r3, r3, #0x68 - blt _02086ea8 - mov r0, #0x5c - bx lr - .align 2, 0 - arm_func_end func_ov00_02086ea0 -_02086ed0: .word data_ov00_020d8aa8 - - .global func_ov00_02086ed4 - arm_func_start func_ov00_02086ed4 -func_ov00_02086ed4: ; 0x02086ed4 - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x90 - mov r6, r1 - ldr r1, [r6, #4] - mov r4, #1 - cmp r1, #0 - mov r5, r0 - movle r0, #0 - strle r0, [r6, #4] - mov r1, #0 - rsb r2, r4, #0x10000 - ldr r0, _0208707c ; =data_ov00_020e2fb4 - strh r2, [sp, #0x54] - strh r2, [sp, #0x56] - strh r2, [sp, #0x58] - strh r2, [sp, #0x5a] - strh r1, [sp, #0x5c] - strb r1, [sp, #0x7e] - strb r1, [sp, #0x7f] - strb r1, [sp, #0x80] - strb r1, [sp, #0x81] - strb r1, [sp, #0x88] - strb r1, [sp, #0x89] - strb r1, [sp, #0x8a] - strb r1, [sp, #0x8b] - strb r1, [sp, #0x8c] - strb r1, [sp, #0x8d] - str r0, [sp, #0x14] - ldr r0, [r6] - add r3, sp, #0x18 - str r0, [sp, #0x24] - ldr ip, [r6, #4] - add r0, r5, #0x290 - str ip, [sp, #0x28] - ldr r1, [r6, #8] - str r1, [sp, #0x2c] - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r0, sp, #0x24 - mov r1, r3 - str ip, [sp, #0x1c] - bl func_01ff9ec0 - cmp r0, #0xa000 - bge _02086fb0 - ldr r0, _02087080 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x28] - ldrb r0, [r0, #0x34] - cmp r0, #0 - bne _02086fb0 - bne _02086fd0 - ldr r0, _02087084 ; =data_027e071c - bl func_0202d7ac - cmp r0, #0 - beq _02086fd0 -_02086fb0: - ldr r1, [r5, #0x26c] - ldr r0, [sp, #0x28] - str r1, [sp, #0x18] - ldr r1, [r5, #0x270] - str r1, [sp, #0x1c] - ldr r1, [r5, #0x274] - str r1, [sp, #0x20] - str r0, [sp, #0x1c] -_02086fd0: - mov r0, #0x12c000 - ldr r1, [r5, #0x290] - rsb r0, r0, #0 - cmp r1, r0 - blt _02087068 - cmp r1, #0x12c000 - bgt _02087068 - ldr r0, _02087080 ; =data_027e0d38 - mov r5, #0x68 - ldr r0, [r0] - add r0, r0, #0xc - bl func_ov00_020a5e9c - cmp r0, #0x30 - mov r0, #0x3000 - str r0, [sp] - mvn r0, #0 - str r0, [sp, #4] - moveq r5, #0x69 - add r0, sp, #0x14 - str r5, [sp, #8] - str r0, [sp, #0xc] - mov r1, #1 - str r1, [sp, #0x10] - ldr r0, _02087088 ; =data_027e0e60 - add r1, sp, #0x30 - ldr r0, [r0] - add r2, sp, #0x24 - add r3, sp, #0x18 - bl func_01ffbf5c - cmp r0, #0 - beq _02087068 - ldr r0, [sp, #0x30] - mov r4, #0 - str r0, [r6] - ldr r0, [sp, #0x34] - str r0, [r6, #4] - ldr r0, [sp, #0x38] - str r0, [r6, #8] -_02087068: - add r0, sp, #0x14 - bl func_ov00_02081f4c - mov r0, r4 - add sp, sp, #0x90 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_02086ed4 -_0208707c: .word data_ov00_020e2fb4 -_02087080: .word data_027e0d38 -_02087084: .word data_027e071c -_02087088: .word data_027e0e60 - - .global func_ov00_0208708c - arm_func_start func_ov00_0208708c -func_ov00_0208708c: ; 0x0208708c - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02081f4c - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208708c - - .global func_ov00_020870a0 - arm_func_start func_ov00_020870a0 -func_ov00_020870a0: ; 0x020870a0 - stmdb sp!, {r3, lr} - ldr r3, [r0, #0x154] - ldr r2, [r0, #0x160] - add r1, r0, #0x1c - ldr r0, [r3, r2, lsl #2] - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020870a0 - - .global func_ov00_020870c4 - arm_func_start func_ov00_020870c4 -func_ov00_020870c4: ; 0x020870c4 - ldr ip, _020870cc ; =func_ov00_0208e420 - bx ip - .align 2, 0 - arm_func_end func_ov00_020870c4 -_020870cc: .word func_ov00_0208e420 - - .global func_ov00_020870d0 - arm_func_start func_ov00_020870d0 -func_ov00_020870d0: ; 0x020870d0 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0xc - mov r9, r0 - ldr r1, [r9, #8] - mov r0, #0x1000 - bl Divide - ldrh r1, [r9, #4] - ldr r2, _02087268 ; =data_02050f54 - mov r7, r0 - mov r0, r1, asr #0x4 - mov r3, r0, lsl #0x1 - add r0, r3, #1 - mov r0, r0, lsl #0x1 - ldrsh r1, [r2, r0] - mov r0, #0 - cmp r1, #0 - beq _02087120 - mov r0, r3, lsl #0x1 - ldrsh r0, [r2, r0] - bl Divide -_02087120: - mov r1, r0 - mov r0, #0x1000 - bl Divide - smull r1, r0, r7, r0 - adds r1, r1, #0x800 - adc r0, r0, #0 - mov r6, r1, lsr #0xc - orr r6, r6, r0, lsl #20 - smull r0, r2, r6, r6 - adds r3, r0, #0x800 - smull r1, r0, r7, r7 - adc r2, r2, #0 - adds r1, r1, #0x800 - mov r8, r3, lsr #0xc - adc r0, r0, #0 - mov r1, r1, lsr #0xc - orr r8, r8, r2, lsl #20 - orr r1, r1, r0, lsl #20 - add r0, r8, r1 - mov r11, r7, asr #0x1f - mov r5, r6, asr #0x1f - bl func_01ff9958 - bl func_01ff992c - mov r4, r0 - add r0, r8, #0x1000 - mov r8, r1 - bl func_01ff9958 - bl func_01ff992c - umull ip, r3, r4, r6 - mov r10, #0 - mla r3, r4, r5, r3 - mla r3, r8, r6, r3 - adds ip, ip, #0x80000000 - adc lr, r3, #0 - rsb r3, lr, #0 - str r10, [r9, #0x10c] - str r3, [sp, #4] - str r3, [r9, #0x110] - umull ip, r3, r4, r7 - mla r3, r4, r11, r3 - mov r2, r1, lsl #0xc - str r10, [sp] - str r10, [sp, #4] - mla r3, r8, r7, r3 - adds r4, ip, #0x80000000 - adc r3, r3, #0 - rsb r3, r3, #0 - str r3, [r9, #0x114] - str r10, [r9, #0x118] - str r10, [r9, #0x11c] - str r3, [sp, #8] - str lr, [r9, #0x120] - str r3, [r9, #0x124] - str r3, [sp, #8] - umull r4, r3, r0, r6 - mla r3, r0, r5, r3 - mla r3, r1, r6, r3 - adds r4, r4, #0x80000000 - adc r3, r3, #0 - mov r1, #0x80000000 - orr r2, r2, r0, lsr #20 - adds r0, r1, r0, lsl #12 - adc r0, r2, #0 - rsb r0, r0, #0 - str r0, [sp, #8] - str r10, [r9, #0x128] - rsb r1, r3, #0 - str r1, [r9, #0x13c] - str r10, [r9, #0x140] - str r0, [r9, #0x144] - str r10, [r9, #0x148] - str r3, [r9, #0x12c] - str r10, [sp] - str r10, [r9, #0x130] - str r1, [sp] - str r0, [r9, #0x134] - str r3, [sp] - str r10, [sp, #4] - str r0, [sp, #8] - str r10, [r9, #0x138] - add sp, sp, #0xc - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_020870d0 -_02087268: .word data_02050f54 - - .global func_ov00_0208726c - arm_func_start func_ov00_0208726c -func_ov00_0208726c: ; 0x0208726c - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0x1c - mov ip, #0 - mov r2, #0xff - mov r4, r1 - add r3, sp, #0 - mov r5, r0 - str ip, [sp] - strb r2, [sp, #4] - strh ip, [sp, #0x14] - strh ip, [sp, #0x16] - mov r1, ip -_0208729c: - add r0, r3, ip, lsl #1 - add ip, ip, #1 - strh r1, [r0, #0x18] - cmp ip, #2 - blo _0208729c - ldr r0, _020872e4 ; =data_027e0e60 - ldrb r2, [r5, #0x1b8] - ldr r0, [r0] - add r1, sp, #0 - bl _ZN10MapManager18func_ov00_02083928EPci - mov r3, #0 - add r1, sp, #0 - mov r0, r5 - mov r2, r4 - strb r3, [r5, #0x2ec] - bl func_ov00_02087400 - add sp, sp, #0x1c - ldmia sp!, {r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0208726c -_020872e4: .word data_027e0e60 - - .global func_ov00_020872e8 - arm_func_start func_ov00_020872e8 -func_ov00_020872e8: ; 0x020872e8 - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0x1c - mov r5, #0 - mov ip, #0xff - add r4, sp, #0 - str r5, [sp] - strb ip, [sp, #4] - strh r5, [sp, #0x14] - strh r5, [sp, #0x16] - mov lr, r5 -_02087310: - add ip, r4, r5, lsl #1 - add r5, r5, #1 - strh lr, [ip, #0x18] - cmp r5, #2 - blo _02087310 - str r1, [sp] - add r1, sp, #0 - bl func_ov00_02087400 - add sp, sp, #0x1c - ldmia sp!, {r4, r5, pc} - arm_func_end func_ov00_020872e8 - - .global func_ov00_02087338 - arm_func_start func_ov00_02087338 -func_ov00_02087338: ; 0x02087338 - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #0x1c - mov r6, r1 - mov r7, r0 - mov r0, r6 - mov r5, r2 - mov r4, r3 - bl func_ov00_02087d84 - ldr r0, [r0, #4] - cmp r0, #0xc - beq _02087380 - mov r0, r7 - mov r1, r6 - mov r2, r4 - mov r3, #0 - bl func_ov00_020872e8 - add sp, sp, #0x1c - ldmia sp!, {r4, r5, r6, r7, pc} -_02087380: - ldr r0, [r7, #0x154] - ldr r1, [r0, #0x30] - cmp r1, #0 - beq _020873b0 - ldr r0, [r5] - str r0, [r1, #0x30] - ldr r0, [r5, #4] - str r0, [r1, #0x34] - ldr r0, [r5, #8] - str r0, [r1, #0x38] - ldrsh r0, [r5, #0xc] - strh r0, [r1, #0x3c] -_020873b0: - mov r2, #0 - mov r0, #0xff - add r1, sp, #0 - str r2, [sp] - strb r0, [sp, #4] - strh r2, [sp, #0x14] - strh r2, [sp, #0x16] - mov r3, r2 -_020873d0: - add r0, r1, r2, lsl #1 - add r2, r2, #1 - strh r3, [r0, #0x18] - cmp r2, #2 - blo _020873d0 - add r1, sp, #0 - mov r0, r7 - mov r2, r4 - str r6, [sp] - bl func_ov00_02087400 - add sp, sp, #0x1c - ldmia sp!, {r4, r5, r6, r7, pc} - arm_func_end func_ov00_02087338 - - .global func_ov00_02087400 - arm_func_start func_ov00_02087400 -func_ov00_02087400: ; 0x02087400 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r7, r0 - mov r6, r1 - mov r5, r2 - mov r4, r3 - bl func_ov00_02089b00 - cmp r0, #0 - movne r0, #0 - ldmneia sp!, {r3, r4, r5, r6, r7, pc} - ldr r0, [r7, #0x150] - bl func_ov00_020a1838 - ldr r1, [r7, #0x15c] - add r0, r7, #0x100 - str r1, [r7, #0x180] - ldr r2, [r6] - mov r1, #0 - str r2, [r7, #0x15c] - ldr r2, [r7, #0x164] - str r2, [r7, #0x188] - ldrb r2, [r7, #0x168] - strb r2, [r7, #0x18c] - ldr r2, [r7, #0x16c] - str r2, [r7, #0x190] - ldr r2, [r7, #0x170] - str r2, [r7, #0x194] - ldr r2, [r7, #0x174] - str r2, [r7, #0x198] - ldrsh r2, [r0, #0x78] - strh r2, [r0, #0x9c] - ldrsh r2, [r0, #0x7a] - strh r2, [r0, #0x9e] - ldrh r3, [r0, #0x7c] - ldrh r2, [r0, #0x7e] - strh r3, [r0, #0xa0] - strh r2, [r0, #0xa2] - ldr r2, [r6] - str r2, [r7, #0x164] - ldrb r2, [r6, #4] - strb r2, [r7, #0x168] - ldr r2, [r6, #8] - str r2, [r7, #0x16c] - ldr r2, [r6, #0xc] - str r2, [r7, #0x170] - ldr r2, [r6, #0x10] - str r2, [r7, #0x174] - ldrsh r2, [r6, #0x14] - strh r2, [r0, #0x78] - ldrsh r2, [r6, #0x16] - strh r2, [r0, #0x7a] - ldrh r3, [r6, #0x18] - ldrh r2, [r6, #0x1a] - strh r3, [r0, #0x7c] - strh r2, [r0, #0x7e] - str r1, [r7, #0x1b0] - ldr r2, [r7, #0x15c] - cmp r2, #0x27 - bgt _02087504 - bge _02087520 - cmp r2, #0xc - bgt _02087544 - cmp r2, #0xa - blt _02087544 - cmpne r2, #0xc - beq _02087520 - b _02087544 -_02087504: - cmp r2, #0x2a - bgt _02087544 - cmp r2, #0x28 - blt _02087544 - cmpne r2, #0x29 - cmpne r2, #0x2a - bne _02087544 -_02087520: - ldr r1, _02087580 ; =data_ov00_020d8aa8 - mov r0, #0x68 - mla r1, r2, r0, r1 - mov r0, r7 - mov r2, r6 - mov r3, #1 - str r4, [sp] - bl func_ov00_02087b78 - b _02087564 -_02087544: - ldr r1, _02087580 ; =data_ov00_020d8aa8 - mov r0, #0x68 - mla r1, r2, r0, r1 - mov r0, r7 - mov r2, r6 - mov r3, r5 - str r4, [sp] - bl func_ov00_02087b78 -_02087564: - mov r0, r7 - ldr r2, [r0] - mov r1, #0 - ldr r2, [r2, #4] - blx r2 - mov r0, #1 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end func_ov00_02087400 -_02087580: .word data_ov00_020d8aa8 - - .global func_ov00_02087584 - arm_func_start func_ov00_02087584 -func_ov00_02087584: ; 0x02087584 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r7, r0 - ldr r0, [r7, #0x15c] - mov r6, r1 - cmp r6, r0 - mov r5, r2 - mov r4, r3 - moveq r0, #1 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - mov r0, r6 - bl func_ov00_02087d84 - ldr ip, [r0, #4] - ldr r1, [r7, #0x154] - ldr r0, [r5] - ldr lr, [r1, ip, lsl #2] - ldrb r2, [sp, #0x18] - str r0, [lr, #8] - ldr r1, [r5, #4] - mov r0, r7 - str r1, [lr, #0xc] - ldr r3, [r5, #8] - mov r1, r6 - str r3, [lr, #0x10] - ldr r5, [r7, #0x154] - mov r3, #0 - ldr r5, [r5, ip, lsl #2] - strh r4, [r5, #0x14] - bl func_ov00_020872e8 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_02087584 - - .global func_ov00_020875f8 - arm_func_start func_ov00_020875f8 -func_ov00_020875f8: ; 0x020875f8 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0x1c - mov lr, r0 - mov r3, #0 - strb r3, [lr, #0x2ec] - ldr r0, [lr, #0x188] - add ip, sp, #8 - str r0, [sp] - ldrb r2, [lr, #0x18c] - add r0, lr, #0x190 - mov r4, r1 - strb r2, [sp, #4] - ldmia r0, {r0, r1, r2} - stmia ip, {r0, r1, r2} - add ip, lr, #0x100 - ldrsh r2, [ip, #0x9c] - mov r0, lr - add r1, sp, #0 - strh r2, [sp, #0x14] - ldrsh lr, [ip, #0x9e] - mov r2, r4 - strh lr, [sp, #0x16] - ldrh lr, [ip, #0xa0] - ldrh ip, [ip, #0xa2] - strh lr, [sp, #0x18] - strh ip, [sp, #0x1a] - bl func_ov00_02087400 - add sp, sp, #0x1c - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_020875f8 - - .global func_ov00_0208766c - arm_func_start func_ov00_0208766c -func_ov00_0208766c: ; 0x0208766c - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0x1c - mov r5, #0 - mov ip, #0xff - add r4, sp, #0 - str r5, [sp] - strb ip, [sp, #4] - strh r5, [sp, #0x14] - strh r5, [sp, #0x16] - mov lr, r5 -_02087694: - add ip, r4, r5, lsl #1 - add r5, r5, #1 - strh lr, [ip, #0x18] - cmp r5, #2 - blo _02087694 - str r1, [sp] - add r1, sp, #0 - bl func_ov00_02087850 - add sp, sp, #0x1c - ldmia sp!, {r4, r5, pc} - arm_func_end func_ov00_0208766c - - .global func_ov00_020876bc - arm_func_start func_ov00_020876bc -func_ov00_020876bc: ; 0x020876bc - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} - sub sp, sp, #0x88 - mov r7, r0 - mov r6, r1 - mov r5, r2 - mov r4, r3 - bl func_ov00_02089b00 - cmp r0, #0 - addne sp, sp, #0x88 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - ldr r0, [r7, #0x15c] - bl func_ov00_02087d84 - ldr r1, [r0, #4] - mov r0, r7 - bl func_ov00_0208a8a0 - cmp r0, #0 - bne _020877c0 - mov r3, #0 - mov r0, #0xff - add r2, sp, #0x6c - str r3, [sp, #0x6c] - strb r0, [sp, #0x70] - strh r3, [sp, #0x80] - strh r3, [sp, #0x82] - mov r1, r3 -_02087724: - add r0, r2, r3, lsl #1 - add r3, r3, #1 - strh r1, [r0, #0x18] - cmp r3, #2 - blo _02087724 - ldr r0, _0208784c ; =data_027e0e60 - ldrb r2, [r7, #0x1b8] - ldr r0, [r0] - add r1, sp, #0x6c - bl _ZN10MapManager18func_ov00_02083928EPci - ldr r3, [r7, #0x260] - ldr r0, [r7, #0x264] - ldr r2, [r7, #0x268] - ldr r1, [r7, #0x26c] - ldr r10, [r7, #0x270] - ldr r8, [r7, #0x274] - str r3, [sp, #0x60] - str r0, [sp, #0x64] - str r8, [sp, #0x5c] - ldrsh r9, [r7, #4] - add r0, sp, #0x60 - add r3, sp, #0x38 - str r2, [sp, #0x68] - str r1, [sp, #0x54] - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - str r10, [sp, #0x58] - add r0, sp, #0x54 - add r8, sp, #0x44 - ldmia r0, {r0, r1, r2} - stmia r8, {r0, r1, r2} - strh r9, [sp, #0x50] - mov r0, #0 - str r0, [sp] - ldr r0, [r7, #0x14c] - ldr r1, [sp, #0x6c] - add r2, sp, #0x6c - bl func_ov00_0209da90 - b _02087830 -_020877c0: - ldr r10, [r7, #0x260] - ldr r2, [r7, #0x264] - ldr r1, [r7, #0x268] - ldr r9, [r7, #0x26c] - ldr r8, [r7, #0x270] - ldr lr, [r7, #0x274] - str r10, [sp, #0x2c] - ldrsh ip, [r7, #4] - add r0, sp, #0x2c - add r3, sp, #4 - str r2, [sp, #0x30] - str r1, [sp, #0x34] - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r0, sp, #0x20 - add r10, sp, #0x10 - str r9, [sp, #0x20] - str r8, [sp, #0x24] - str lr, [sp, #0x28] - ldmia r0, {r0, r1, r2} - stmia r10, {r0, r1, r2} - strh ip, [sp, #0x1c] - mov r0, #0 - str r0, [sp] - ldr r0, [r7, #0x14c] - ldr r1, [r7, #0x15c] - add r2, r7, #0x164 - bl func_ov00_0209da90 -_02087830: - mov r0, r7 - mov r1, r6 - mov r2, r5 - mov r3, r4 - bl func_ov00_02087338 - add sp, sp, #0x88 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - .align 2, 0 - arm_func_end func_ov00_020876bc -_0208784c: .word data_027e0e60 - - .global func_ov00_02087850 - arm_func_start func_ov00_02087850 -func_ov00_02087850: ; 0x02087850 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} - sub sp, sp, #0x88 - mov r7, r0 - mov r6, r1 - mov r5, r2 - mov r4, r3 - bl func_ov00_02089b00 - cmp r0, #0 - addne sp, sp, #0x88 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - ldr r0, [r7, #0x15c] - bl func_ov00_02087d84 - ldr r1, [r0, #4] - mov r0, r7 - bl func_ov00_0208a8a0 - cmp r0, #0 - bne _02087954 - mov r3, #0 - mov r0, #0xff - add r2, sp, #0x6c - str r3, [sp, #0x6c] - strb r0, [sp, #0x70] - strh r3, [sp, #0x80] - strh r3, [sp, #0x82] - mov r1, r3 -_020878b8: - add r0, r2, r3, lsl #1 - add r3, r3, #1 - strh r1, [r0, #0x18] - cmp r3, #2 - blo _020878b8 - ldr r0, _020879e0 ; =data_027e0e60 - ldrb r2, [r7, #0x1b8] - ldr r0, [r0] - add r1, sp, #0x6c - bl _ZN10MapManager18func_ov00_02083928EPci - ldr r3, [r7, #0x260] - ldr r0, [r7, #0x264] - ldr r2, [r7, #0x268] - ldr r1, [r7, #0x26c] - ldr r10, [r7, #0x270] - ldr r8, [r7, #0x274] - str r3, [sp, #0x60] - str r0, [sp, #0x64] - str r8, [sp, #0x5c] - ldrsh r9, [r7, #4] - add r0, sp, #0x60 - add r3, sp, #0x38 - str r2, [sp, #0x68] - str r1, [sp, #0x54] - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - str r10, [sp, #0x58] - add r0, sp, #0x54 - add r8, sp, #0x44 - ldmia r0, {r0, r1, r2} - stmia r8, {r0, r1, r2} - strh r9, [sp, #0x50] - mov r0, #0 - str r0, [sp] - ldr r0, [r7, #0x14c] - ldr r1, [sp, #0x6c] - add r2, sp, #0x6c - bl func_ov00_0209da90 - b _020879c4 -_02087954: - ldr r10, [r7, #0x260] - ldr r2, [r7, #0x264] - ldr r1, [r7, #0x268] - ldr r9, [r7, #0x26c] - ldr r8, [r7, #0x270] - ldr lr, [r7, #0x274] - str r10, [sp, #0x2c] - ldrsh ip, [r7, #4] - add r0, sp, #0x2c - add r3, sp, #4 - str r2, [sp, #0x30] - str r1, [sp, #0x34] - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r0, sp, #0x20 - add r10, sp, #0x10 - str r9, [sp, #0x20] - str r8, [sp, #0x24] - str lr, [sp, #0x28] - ldmia r0, {r0, r1, r2} - stmia r10, {r0, r1, r2} - strh ip, [sp, #0x1c] - mov r0, #0 - str r0, [sp] - ldr r0, [r7, #0x14c] - ldr r1, [r7, #0x15c] - add r2, r7, #0x164 - bl func_ov00_0209da90 -_020879c4: - mov r0, r7 - mov r1, r6 - mov r2, r5 - mov r3, r4 - bl func_ov00_02087400 - add sp, sp, #0x88 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - .align 2, 0 - arm_func_end func_ov00_02087850 -_020879e0: .word data_027e0e60 - - .global func_ov00_020879e4 - arm_func_start func_ov00_020879e4 -func_ov00_020879e4: ; 0x020879e4 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #0x40 - mov r5, r0 - ldr r0, [r5, #0x14c] - mov r4, r1 - bl func_ov00_0209dec4 - cmp r0, #0 - beq _02087a18 - mov r0, r5 - mov r1, #0 - bl func_ov00_020875f8 - add sp, sp, #0x40 - ldmia sp!, {r3, r4, r5, pc} -_02087a18: - mov ip, #0 - add r3, sp, #4 - mov r0, #0xff - add r2, sp, #0 - str ip, [r3] - strb r0, [r3, #4] - strh ip, [r3, #0x14] - strh ip, [r3, #0x16] - mov r1, ip -_02087a3c: - add r0, r3, ip, lsl #1 - add ip, ip, #1 - strh r1, [r0, #0x18] - cmp ip, #2 - blo _02087a3c - str r1, [r2, #0x24] - str r1, [r2, #0x28] - str r1, [r2, #0x2c] - str r1, [r2, #0x30] - str r1, [r2, #0x34] - str r1, [r2, #0x38] - strh r1, [r2, #0x3c] - ldr r0, [r5, #0x14c] - add r1, sp, #0 - bl func_ov00_0209dc60 - cmp r0, #0 - bne _02087a94 - mov r0, r5 - mov r1, #0 - bl func_ov00_020875f8 - add sp, sp, #0x40 - ldmia sp!, {r3, r4, r5, pc} -_02087a94: - add r1, sp, #4 - mov r0, r5 - mov r2, r4 - mov r3, #0 - bl func_ov00_02087400 - add sp, sp, #0x40 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_020879e4 - - .global func_ov00_02087ab0 - arm_func_start func_ov00_02087ab0 -func_ov00_02087ab0: ; 0x02087ab0 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r2, [r4, #0x160] - cmp r2, #6 - beq _02087b1c - cmp r2, #0xc - bne _02087b70 - cmp r1, #0 - ldr r2, [r4, #0x154] - ldr r0, [r4, #0x160] - beq _02087af4 - ldr r0, [r2, r0, lsl #2] - mvn r1, #0 - ldr r2, [r0] - ldr r2, [r2, #0x3c] - blx r2 - b _02087b14 -_02087af4: - ldr r0, [r2, r0, lsl #2] - mov r1, #0 - ldr r2, [r0] - ldr r2, [r2, #0x3c] - blx r2 - mov r0, r4 - mov r1, #0 - bl func_ov00_020879e4 -_02087b14: - mov r0, #1 - ldmia sp!, {r4, pc} -_02087b1c: - cmp r1, #0 - ldr r2, [r4, #0x154] - ldr r0, [r4, #0x160] - beq _02087b44 - ldr r0, [r2, r0, lsl #2] - mvn r1, #0 - ldr r2, [r0] - ldr r2, [r2, #0x3c] - blx r2 - b _02087b68 -_02087b44: - ldr r0, [r2, r0, lsl #2] - mov r1, #0 - ldr r2, [r0] - ldr r2, [r2, #0x3c] - blx r2 - mov r1, #0 - mov r0, r4 - strb r1, [r4, #0x2ec] - bl func_ov00_020879e4 -_02087b68: - mov r0, #1 - ldmia sp!, {r4, pc} -_02087b70: - bl func_ov00_020879e4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02087ab0 - - .global func_ov00_02087b78 - arm_func_start func_ov00_02087b78 -func_ov00_02087b78: ; 0x02087b78 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r7, r0 - mov r6, r1 - add r1, r7, #0x1bc - mov r5, r2 - mov r4, r3 - bl func_ov00_02087d34 - ldr r1, [r7, #0x160] - add r0, r7, #0x200 - str r1, [r7, #0x1c0] - ldrsh r1, [r7, #4] - str r1, [r7, #0x1c8] - ldrsh r1, [r0, #0x24] - str r1, [r7, #0x1cc] - ldrsh r0, [r0, #0x26] - str r0, [r7, #0x1d0] - ldr r0, [r7, #0x23c] - str r0, [r7, #0x1d4] - ldr r0, [r7, #0x244] - str r0, [r7, #0x1d8] - ldr r0, [r7, #0x240] - str r0, [r7, #0x1dc] - ldr r0, [r7, #0x248] - str r0, [r7, #0x1e0] - ldr r0, [r7, #0x14] - cmp r0, #0 - blt _02087bec - cmp r0, #0x1000 - strle r0, [r7, #0x1c4] -_02087bec: - ldr r0, [r7, #0x160] - str r0, [r7, #0x184] - ldr r2, [r6, #4] - str r2, [r7, #0x160] - cmp r2, #4 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - ldr r0, [r7, #0x154] - mov r1, r5 - ldr r0, [r0, r2, lsl #2] - ldr r2, [r0] - ldr r2, [r2, #0x38] - blx r2 - ldr r0, [r6, #8] - cmp r0, #0 - blt _02087c30 - cmp r0, #0x1000 - strle r0, [r7, #0x14] -_02087c30: - ldr r1, [r6, #0xc] - add r0, r7, #0x200 - strh r1, [r0, #0x2c] - ldr r1, [r6, #0x10] - cmp r4, #0 - strh r1, [r0, #0x28] - ldr r1, [r6, #0x14] - strh r1, [r0, #0x2a] - ldr r1, [r6, #0x18] - str r1, [r7, #0x24c] - ldr r1, [r6, #0x1c] - str r1, [r7, #0x254] - ldr r1, [r6, #0x20] - str r1, [r7, #0x250] - ldr r1, [r6, #0x24] - str r1, [r7, #0x258] - ldr r1, [r6, #0x28] - strh r1, [r0, #0x32] - ldr r1, [r6, #0x2c] - strh r1, [r0, #0x2e] - ldr r1, [r6, #0x30] - strh r1, [r0, #0x30] - ldr r1, [r6, #0x34] - str r1, [r7, #0x25c] - ldr r1, [r6, #0x38] - str r1, [r7, #0x2c0] - ldr r1, [r6, #0x38] - str r1, [r7, #0x2c4] - ldr r1, [r6, #0x38] - str r1, [r7, #0x2c8] - ldr r1, [r6, #0x1c] - str r1, [r7, #0x244] - ldr r1, [r6, #0x20] - str r1, [r7, #0x240] - ldr r1, [r6, #0x24] - str r1, [r7, #0x248] - bne _02087ce4 - ldr r1, [r6, #0xc] - strh r1, [r7, #4] - ldr r1, [r6, #0x10] - strh r1, [r0, #0x24] - ldr r1, [r6, #0x14] - strh r1, [r0, #0x26] - ldr r0, [r6, #0x18] - str r0, [r7, #0x23c] -_02087ce4: - mov r3, #0 - strb r3, [r7, #0x1b9] - strb r3, [r7, #0x1ba] - ldr r1, [r7, #0x154] - ldr r0, [r7, #0x160] - ldr r2, [sp, #0x18] - ldr r0, [r1, r0, lsl #2] - mov r1, r4 - ldr r4, [r0] - ldr r4, [r4, #8] - blx r4 - mov r0, r7 - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - mov r0, r7 - ldr r1, [r0] - ldr r1, [r1, #0x18] - blx r1 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_02087b78 - - .global func_ov00_02087d34 - arm_func_start func_ov00_02087d34 -func_ov00_02087d34: ; 0x02087d34 - ldr r3, [r0, #0x160] - add r2, r0, #0x200 - str r3, [r1, #4] - ldrsh r3, [r0, #4] - str r3, [r1, #0xc] - ldrsh r3, [r2, #0x24] - str r3, [r1, #0x10] - ldrsh r2, [r2, #0x26] - str r2, [r1, #0x14] - ldr r2, [r0, #0x23c] - str r2, [r1, #0x18] - ldr r2, [r0, #0x244] - str r2, [r1, #0x1c] - ldr r2, [r0, #0x240] - str r2, [r1, #0x20] - ldr r2, [r0, #0x248] - str r2, [r1, #0x24] - ldr r0, [r0, #0x14] - str r0, [r1, #8] - bx lr - arm_func_end func_ov00_02087d34 - - .global func_ov00_02087d84 - arm_func_start func_ov00_02087d84 -func_ov00_02087d84: ; 0x02087d84 - ldr r2, _02087d94 ; =data_ov00_020d8aa8 - mov r1, #0x68 - mla r0, r1, r0, r2 - bx lr - .align 2, 0 - arm_func_end func_ov00_02087d84 -_02087d94: .word data_ov00_020d8aa8 - - .global func_ov00_02087d98 - arm_func_start func_ov00_02087d98 -func_ov00_02087d98: ; 0x02087d98 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - mov r5, r1 - mov r4, #0 -_02087da8: - ldr r0, [r6, #0x154] - ldr r0, [r0, r4, lsl #2] - cmp r0, #0 - beq _02087dc8 - ldr r2, [r0] - mov r1, r5 - ldr r2, [r2, #0x30] - blx r2 -_02087dc8: - add r4, r4, #1 - cmp r4, #0x10 - blt _02087da8 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02087d98 - - .global func_ov00_02087dd8 - arm_func_start func_ov00_02087dd8 -func_ov00_02087dd8: ; 0x02087dd8 - stmdb sp!, {r3, lr} - ldr r1, [r0, #0x154] - ldr r0, [r0, #0x160] - ldr r0, [r1, r0, lsl #2] - ldr r1, [r0] - ldr r1, [r1, #0x34] - blx r1 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02087dd8 - - .global func_ov00_02087df8 - arm_func_start func_ov00_02087df8 -func_ov00_02087df8: ; 0x02087df8 - ldr r2, [r0, #0x24] - str r2, [r1] - ldr r2, [r0, #0x30] - str r2, [r1, #4] - ldr r0, [r0, #0x3c] - str r0, [r1, #8] - bx lr - arm_func_end func_ov00_02087df8 - - .global func_ov00_02087e14 - arm_func_start func_ov00_02087e14 -func_ov00_02087e14: ; 0x02087e14 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #0x40 - mov r5, r0 - ldr r0, [r5, #0x14c] - mov r4, r1 - bl func_ov00_0209dec4 - cmp r0, #0 - addne sp, sp, #0x40 - movne r0, #0 - ldmneia sp!, {r3, r4, r5, pc} - ldr r1, [r5, #0x14c] - add r0, sp, #0 - bl func_ov00_0209dd44 - ldr r1, [sp, #0x24] - mov r0, #1 - str r1, [r4] - ldr r1, [sp, #0x28] - str r1, [r4, #4] - ldr r1, [sp, #0x2c] - str r1, [r4, #8] - ldr r1, [sp, #0x30] - str r1, [r4, #0xc] - ldr r1, [sp, #0x34] - str r1, [r4, #0x10] - ldr r1, [sp, #0x38] - str r1, [r4, #0x14] - ldrsh r1, [sp, #0x3c] - strh r1, [r4, #0x18] - add sp, sp, #0x40 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02087e14 - - .global func_ov00_02087e8c - arm_func_start func_ov00_02087e8c -func_ov00_02087e8c: ; 0x02087e8c - stmdb sp!, {r3, lr} - ldr r0, _02087eec ; =data_027e0e60 - mov r1, #0 - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_02083938Ei - sub r0, r0, #0x11 - cmp r0, #0xa - addls pc, pc, r0, lsl #2 - b _02087ee4 -_02087eb0: ; jump table - b _02087edc ; case 0 - b _02087edc ; case 1 - b _02087edc ; case 2 - b _02087edc ; case 3 - b _02087edc ; case 4 - b _02087edc ; case 5 - b _02087ee4 ; case 6 - b _02087ee4 ; case 7 - b _02087ee4 ; case 8 - b _02087ee4 ; case 9 - b _02087edc ; case 10 -_02087edc: - mov r0, #1 - ldmia sp!, {r3, pc} -_02087ee4: - mov r0, #0 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_02087e8c -_02087eec: .word data_027e0e60 - - .global func_ov00_02087ef0 - arm_func_start func_ov00_02087ef0 -func_ov00_02087ef0: ; 0x02087ef0 - stmdb sp!, {r3, lr} - bl func_ov00_02087e8c - cmp r0, #0 - movne r0, #8 - moveq r0, #6 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02087ef0 - - .global func_ov00_02087f08 - arm_func_start func_ov00_02087f08 -func_ov00_02087f08: ; 0x02087f08 - ldr ip, _02087f1c ; =func_ov00_02087f20 - mov r2, r0 - mov r0, r1 - ldr r1, [r2, #0x15c] - bx ip - .align 2, 0 - arm_func_end func_ov00_02087f08 -_02087f1c: .word func_ov00_02087f20 - - .global func_ov00_02087f20 - arm_func_start func_ov00_02087f20 -func_ov00_02087f20: ; 0x02087f20 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #0x68 - mov r5, r0 - mov r0, r1 - bl func_ov00_02087d84 - add lr, sp, #0 - mov r4, r0 - mov ip, #6 -_02087f40: - ldmia r4!, {r0, r1, r2, r3} - stmia lr!, {r0, r1, r2, r3} - subs ip, ip, #1 - bne _02087f40 - ldmia r4, {r0, r1} - stmia lr, {r0, r1} - cmp r5, #7 - addls pc, pc, r5, lsl #2 - b _02087fb4 -_02087f64: ; jump table - b _02087fb4 ; case 0 - b _02087fb4 ; case 1 - b _02087f9c ; case 2 - b _02087fb4 ; case 3 - b _02087fb4 ; case 4 - b _02087f84 ; case 5 - b _02087fa8 ; case 6 - b _02087f90 ; case 7 -_02087f84: - ldrb r0, [sp, #0x60] - add sp, sp, #0x68 - ldmia sp!, {r3, r4, r5, pc} -_02087f90: - ldrb r0, [sp, #0x63] - add sp, sp, #0x68 - ldmia sp!, {r3, r4, r5, pc} -_02087f9c: - ldrb r0, [sp, #0x61] - add sp, sp, #0x68 - ldmia sp!, {r3, r4, r5, pc} -_02087fa8: - ldrb r0, [sp, #0x62] - add sp, sp, #0x68 - ldmia sp!, {r3, r4, r5, pc} -_02087fb4: - mov r0, #0 - add sp, sp, #0x68 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02087f20 - - .global func_ov00_02087fc0 - arm_func_start func_ov00_02087fc0 -func_ov00_02087fc0: ; 0x02087fc0 - stmdb sp!, {r3, lr} - ldr r2, [r0, #0x154] - ldr r0, [r0, #0x160] - ldr r0, [r2, r0, lsl #2] - ldr r2, [r0] - ldr r2, [r2, #0x40] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02087fc0 - - .global func_ov00_02087fe0 - arm_func_start func_ov00_02087fe0 -func_ov00_02087fe0: ; 0x02087fe0 - stmdb sp!, {r3, lr} - ldr r3, [r0, #0x154] - ldr r0, [r0, #0x160] - ldr r0, [r3, r0, lsl #2] - ldr r3, [r0] - ldr r3, [r3, #0x44] - blx r3 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02087fe0 - - .global func_ov00_02088000 - arm_func_start func_ov00_02088000 -func_ov00_02088000: ; 0x02088000 - ldr ip, _0208800c ; =func_ov00_020a1888 - ldr r0, [r0, #0x150] - bx ip - .align 2, 0 - arm_func_end func_ov00_02088000 -_0208800c: .word func_ov00_020a1888 - - .global func_ov00_02088010 - arm_func_start func_ov00_02088010 -func_ov00_02088010: ; 0x02088010 - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0xc - ldr r2, _02088070 ; =data_027e0e60 - mov r5, r0 - ldr r0, [r2] - mov r4, r1 - bl _ZN10MapManager18func_ov00_02084934Ev - cmp r0, #0 - addeq sp, sp, #0xc - moveq r0, #0 - ldmeqia sp!, {r4, r5, pc} - ldr r0, [r4] - add r1, sp, #0 - str r0, [sp] - ldr r2, [r4, #4] - add r0, r5, #0x2f0 - str r2, [sp, #4] - ldr r2, [r4, #8] - str r2, [sp, #8] - bl func_ov00_0208ed74 - mov r0, #1 - strb r0, [r5, #0x2ed] - add sp, sp, #0xc - ldmia sp!, {r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02088010 -_02088070: .word data_027e0e60 - - .global func_ov00_02088074 - arm_func_start func_ov00_02088074 -func_ov00_02088074: ; 0x02088074 - stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} - sub sp, sp, #0xc - add r3, sp, #0 - mov r8, r0 - mov r7, r1 - ldmia r7, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r3 - mov r2, r3 - add r1, r8, #0x1c - bl func_01ff9158 - add r6, r8, #0x10c - mov r5, #0 - add r4, sp, #0 -_020880ac: - mov r0, r6 - mov r1, r4 - bl func_01ff9c2c - add r1, r8, r5, lsl #4 - ldr r2, [r1, #0x118] - ldr r1, [r7, #0xc] - sub r2, r0, r2 - rsb r0, r1, #0 - cmp r2, r0 - addlt sp, sp, #0xc - movlt r0, #0 - ldmltia sp!, {r3, r4, r5, r6, r7, r8, pc} - add r5, r5, #1 - cmp r5, #4 - add r6, r6, #0x10 - blt _020880ac - mov r0, #1 - add sp, sp, #0xc - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} - arm_func_end func_ov00_02088074 - - .global func_ov00_020880f8 - arm_func_start func_ov00_020880f8 -func_ov00_020880f8: ; 0x020880f8 - stmdb sp!, {r3, lr} - sub sp, sp, #0x10 - ldr r3, [r1] - mov r2, #0 - str r3, [sp] - ldr r3, [r1, #4] - str r3, [sp, #4] - ldr r3, [r1, #8] - add r1, sp, #0 - str r3, [sp, #8] - str r2, [sp, #0xc] - bl func_ov00_02088074 - add sp, sp, #0x10 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020880f8 - - .global func_ov00_02088130 - arm_func_start func_ov00_02088130 -func_ov00_02088130: ; 0x02088130 - ldrb r2, [r1, #0x320] - strb r2, [r0] - ldrb r1, [r1, #0x322] - strb r1, [r0, #1] - bx lr - arm_func_end func_ov00_02088130 - - .global func_ov00_02088144 - arm_func_start func_ov00_02088144 -func_ov00_02088144: ; 0x02088144 - ldrb r2, [r1, #0x321] - strb r2, [r0] - ldrb r1, [r1, #0x323] - strb r1, [r0, #1] - bx lr - arm_func_end func_ov00_02088144 - - .global func_ov00_02088158 - arm_func_start func_ov00_02088158 -func_ov00_02088158: ; 0x02088158 - ldrb r3, [r1] - ldrb r2, [r0, #0x320] - cmp r3, r2 - blo _02088194 - ldrb r2, [r0, #0x322] - cmp r3, r2 - bhi _02088194 - ldrb r2, [r1, #1] - ldrb r1, [r0, #0x321] - cmp r2, r1 - blo _02088194 - ldrb r0, [r0, #0x323] - cmp r2, r0 - movls r0, #1 - bxls lr -_02088194: - mov r0, #0 - bx lr - arm_func_end func_ov00_02088158 - - .global func_ov00_0208819c - arm_func_start func_ov00_0208819c -func_ov00_0208819c: ; 0x0208819c - stmdb sp!, {r3, r4, r5, lr} - ldrb r3, [r0, #0x320] - ldrb r5, [r0, #0x322] - ldrb r4, [r0, #0x321] - ldrb lr, [r0, #0x323] - ldrb ip, [r1] - sub r0, r3, r2 - add r5, r5, r2 - cmp ip, r0 - sub r3, r4, r2 - add r2, lr, r2 - blt _020881ec - cmp ip, r5 - bgt _020881ec - ldrb r0, [r1, #1] - cmp r0, r3 - blt _020881ec - cmp r0, r2 - movle r0, #1 - ldmleia sp!, {r3, r4, r5, pc} -_020881ec: - mov r0, #0 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0208819c - - .global func_ov00_020881f4 - arm_func_start func_ov00_020881f4 -func_ov00_020881f4: ; 0x020881f4 - stmdb sp!, {r3} - sub sp, sp, #0x24 - ldr r1, _02088240 ; =data_027e0f94 - add r3, sp, #0x18 - mov ip, r0 - ldmia r1, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldr r2, [sp, #0x18] - ldr r1, [sp, #0x1c] - ldr r0, [sp, #0x20] - str r2, [ip, #0x2f0] - str r1, [ip, #0x2f4] - str r0, [ip, #0x2f8] - str r2, [ip, #0x2fc] - str r1, [ip, #0x300] - str r0, [ip, #0x304] - add sp, sp, #0x24 - ldmia sp!, {r3} - bx lr - .align 2, 0 - arm_func_end func_ov00_020881f4 -_02088240: .word data_027e0f94 - - .global func_ov00_02088244 - arm_func_start func_ov00_02088244 -func_ov00_02088244: ; 0x02088244 - add r1, r0, #0x200 - ldrsh r1, [r1, #0x24] - ldrsh r0, [r0, #4] - cmp r1, r0 - movle r0, #1 - movgt r0, #0 - bx lr - arm_func_end func_ov00_02088244 - - .global func_ov00_02088260 - arm_func_start func_ov00_02088260 -func_ov00_02088260: ; 0x02088260 - stmdb sp!, {r3, r4, r5, lr} - ldr r0, [r0, #0x158] - mov lr, r1 - ldr r2, [r0, #4] - cmp r2, #4 - ldmhsia sp!, {r3, r4, r5, pc} - mov r4, #0 - strb r4, [sp, #1] - ldr r3, [r0, #4] - ldr r2, [r0, #8] - cmp r3, r2 - bhs _02088300 - add r1, r3, #1 - str r1, [r0, #4] - ldr r2, [r0] - sub r1, r1, #1 - mov r0, #0x28 - mla ip, r1, r0, r2 - mov r5, lr - mov r4, ip - ldmia r5!, {r0, r1, r2, r3} - stmia r4!, {r0, r1, r2, r3} - ldmia r5, {r0, r1, r2} - stmia r4, {r0, r1, r2} - add r4, lr, #0x1c - add r3, ip, #0x1c - mov r2, #3 -_020882cc: - ldrb r1, [r4] - ldrb r0, [r4, #1] - add r4, r4, #2 - subs r2, r2, #1 - strb r1, [r3] - strb r0, [r3, #1] - add r3, r3, #2 - bne _020882cc - ldrb r0, [r4] - strb r0, [r3] - ldr r0, [lr, #0x24] - str r0, [ip, #0x24] - ldmia sp!, {r3, r4, r5, pc} -_02088300: - strb r4, [sp] - sub r3, sp, #4 - and r2, r4, #0xff - strb r2, [r3] - ldr r2, [r3] - bl func_ov00_0208a8ec - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02088260 - - .global func_ov00_0208831c - arm_func_start func_ov00_0208831c -func_ov00_0208831c: ; 0x0208831c - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #0xc - ldr r5, [r0, #0x158] - mov r0, #0x28 - ldr r2, [r5, #4] - ldr r3, [r5] - movs r1, r2 - mla r4, r2, r0, r3 - str r4, [sp, #8] - beq _02088380 - sub r6, sp, #4 - mov r7, #0 -_0208834c: - strb r7, [sp, #1] - and r0, r7, #0xff - strb r0, [r6] - sub r4, r4, #0x28 - ldr r2, [r6] - mov r0, r5 - mov r1, r4 - bl func_ov00_0208a958 - ldr r0, [r5, #4] - cmp r0, #0 - bne _0208834c - str r4, [sp, #4] - str r4, [sp, #8] -_02088380: - ldr r1, [r5, #4] - mov r2, #0 - strb r2, [sp] - sub r0, sp, #4 - strb r2, [r0] - ldr r2, [r0] - mov r0, r5 - bl func_ov00_0208a91c - add sp, sp, #0xc - ldmia sp!, {r4, r5, r6, r7, pc} - arm_func_end func_ov00_0208831c - - .global func_ov00_020883a8 - arm_func_start func_ov00_020883a8 -func_ov00_020883a8: ; 0x020883a8 - stmdb sp!, {r3, r4, r5, lr} - ldr r0, [r0, #0x158] - mov r4, r2 - ldr r2, [r0, #4] - cmp r2, #0 - ldmeqia sp!, {r3, r4, r5, pc} - cmp r2, r1 - ldmloia sp!, {r3, r4, r5, pc} - bl func_ov00_0208aa3c - mov ip, r0 - mov r5, r4 - mov lr, ip - ldmia r5!, {r0, r1, r2, r3} - stmia lr!, {r0, r1, r2, r3} - ldmia r5, {r0, r1, r2} - stmia lr, {r0, r1, r2} - add lr, r4, #0x1c - add r3, ip, #0x1c - mov r2, #3 -_020883f4: - ldrb r1, [lr] - ldrb r0, [lr, #1] - add lr, lr, #2 - subs r2, r2, #1 - strb r1, [r3] - strb r0, [r3, #1] - add r3, r3, #2 - bne _020883f4 - ldrb r0, [lr] - strb r0, [r3] - ldr r0, [r4, #0x24] - str r0, [ip, #0x24] - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_020883a8 - - .global func_ov00_02088428 - arm_func_start func_ov00_02088428 -func_ov00_02088428: ; 0x02088428 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r2, [r4, #0x158] - mov r0, #0x1000 - str r1, [r2, #0x14] - mov r1, #0x1e000 - bl Divide - mov r1, r0 - ldr r0, [r4, #0x158] - bl func_ov00_020a0848 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02088428 - - .global func_ov00_02088454 - arm_func_start func_ov00_02088454 -func_ov00_02088454: ; 0x02088454 - stmdb sp!, {r3, lr} - ldr ip, [r0, #0x154] - ldr r0, [r0, #0x160] - ldr r0, [ip, r0, lsl #2] - ldr ip, [r0] - ldr ip, [ip, #0x20] - blx ip - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02088454 - - .global func_ov00_02088474 - arm_func_start func_ov00_02088474 -func_ov00_02088474: ; 0x02088474 - stmdb sp!, {r3, lr} - ldr ip, [r0, #0x154] - ldr r0, [r0, #0x160] - ldr r0, [ip, r0, lsl #2] - ldr ip, [r0] - ldr ip, [ip, #0x24] - blx ip - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02088474 - - .global func_ov00_02088494 - arm_func_start func_ov00_02088494 -func_ov00_02088494: ; 0x02088494 - stmdb sp!, {r3, lr} - ldr ip, [r0, #0x154] - ldr r0, [r0, #0x160] - ldr r0, [ip, r0, lsl #2] - ldr ip, [r0] - ldr ip, [ip, #0x28] - blx ip - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02088494 - - .global func_ov00_020884b4 - arm_func_start func_ov00_020884b4 -func_ov00_020884b4: ; 0x020884b4 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x98 - mov r5, r0 - ldr r0, [r5, #0x15c] - mov r11, r1 - sub r0, r0, #0xb - mov r4, r2 - str r3, [sp, #4] - cmp r0, #4 - addls pc, pc, r0, lsl #2 - b _020884fc -_020884e0: ; jump table - b _020884f4 ; case 0 - b _020884f4 ; case 1 - b _020884f4 ; case 2 - b _020884f4 ; case 3 - b _020884f4 ; case 4 -_020884f4: - add sp, sp, #0x98 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} -_020884fc: - ldr r1, [r5, #0x160] - mov r0, r5 - bl func_ov00_0208a84c - cmp r0, #0 - beq _02088564 - ldr r1, [r5, #0x164] - add r0, r5, #0x100 - str r1, [r5, #0x188] - ldrb r1, [r5, #0x168] - strb r1, [r5, #0x18c] - ldr r1, [r5, #0x16c] - str r1, [r5, #0x190] - ldr r1, [r5, #0x170] - str r1, [r5, #0x194] - ldr r1, [r5, #0x174] - str r1, [r5, #0x198] - ldrsh r1, [r0, #0x78] - strh r1, [r0, #0x9c] - ldrsh r1, [r0, #0x7a] - strh r1, [r0, #0x9e] - ldrh r2, [r0, #0x7c] - ldrh r1, [r0, #0x7e] - strh r2, [r0, #0xa0] - strh r1, [r0, #0xa2] - ldr r0, [r5, #0x15c] - str r0, [r5, #0x180] -_02088564: - ldr r2, [r5, #0x180] - mov r0, #0x68 - cmp r2, #0x5c - ldrlt r1, _020888e4 ; =data_ov00_020d8aa8 - mlalt r0, r2, r0, r1 - blt _02088588 - ldr r1, [r5, #0x15c] - ldr r2, _020888e4 ; =data_ov00_020d8aa8 - mla r0, r1, r0, r2 -_02088588: - ldr ip, [r0, #0xc] - ldr lr, [r0, #0x10] - mov r2, #0 - ldr r6, [r0, #0x14] - ldr r7, [r0, #0x18] - ldr r8, [r0, #0x1c] - ldr r9, [r0, #0x20] - ldr r10, [r0, #0x24] - mov r1, #4 - str r1, [r5, #0x15c] - mov r0, #0xff - str r1, [sp, #8] - add r1, sp, #8 - strb r0, [sp, #0xc] - strh r2, [sp, #0x1c] - strh r2, [sp, #0x1e] - mov r3, r2 -_020885cc: - add r0, r1, r2, lsl #1 - strh r3, [r0, #0x18] - add r2, r2, #1 - cmp r2, #2 - blo _020885cc - ldr r1, [sp, #8] - ldrb r0, [sp, #0xc4] - str r1, [r5, #0x164] - ldrb r1, [sp, #0xc] - cmp r0, #0 - add r0, r5, #0x100 - strb r1, [r5, #0x168] - ldr r1, [sp, #0x10] - str r1, [r5, #0x16c] - ldr r1, [sp, #0x14] - str r1, [r5, #0x170] - ldr r1, [sp, #0x18] - str r1, [r5, #0x174] - ldrsh r1, [sp, #0x1c] - strh r1, [r0, #0x78] - ldrsh r1, [sp, #0x1e] - strh r1, [r0, #0x7a] - ldrh r2, [sp, #0x20] - ldrh r1, [sp, #0x22] - strh r2, [r0, #0x7c] - strh r1, [r0, #0x7e] - mov r0, #5 - str r0, [r5, #0x160] - ldmia r4, {r0, r1, r2} - add r4, sp, #0x24 - stmia r4, {r0, r1, r2} - ldr r0, [r5, #0x154] - ldr r1, [sp, #0x24] - ldr r0, [r0, #0x14] - str r1, [r0, #8] - ldr r1, [sp, #0x28] - str r1, [r0, #0xc] - ldr r1, [sp, #0x2c] - str r1, [r0, #0x10] - ldr r0, [r5, #0x154] - ldr r0, [r0, #0x14] - strh r3, [r0, #0x14] - str r11, [r5, #0x1a4] - str r3, [r5, #0x1a8] - ldr r1, [r5, #0x15c] - mov r0, #0x68 - beq _02088764 - mul r3, r1, r0 - ldr r4, _020888e4 ; =data_ov00_020d8aa8 - str ip, [sp, #0x3c] - add r11, r4, r3 - ldrb r2, [r11, #0x60] - ldrb r1, [r11, #0x61] - ldr r3, [r4, r3] - strb r2, [sp, #0x90] - ldr r2, [r11, #4] - strb r1, [sp, #0x91] - ldr r1, [r11, #8] - str r2, [sp, #0x34] - ldr r2, [r11, #0x28] - str r1, [sp, #0x38] - ldr r1, [r11, #0x2c] - str r2, [sp, #0x58] - ldr r2, [r11, #0x30] - str r1, [sp, #0x5c] - ldr r1, [r11, #0x34] - str r2, [sp, #0x60] - ldr r2, [r11, #0x38] - str r1, [sp, #0x64] - ldr r1, [r11, #0x3c] - str r2, [sp, #0x68] - ldr r2, [r11, #0x40] - str r1, [sp, #0x6c] - ldr r1, [r11, #0x44] - str r2, [sp, #0x70] - ldr r2, [r11, #0x48] - str r1, [sp, #0x74] - ldr r1, [r11, #0x4c] - str r2, [sp, #0x78] - ldr r2, [r11, #0x50] - str r1, [sp, #0x7c] - ldr r1, [r11, #0x54] - ldrb r0, [r11, #0x62] - ldrb r4, [r11, #0x63] - str r3, [sp, #0x30] - ldrb r3, [r11, #0x64] - str r2, [sp, #0x80] - ldr r2, [r11, #0x58] - str r1, [sp, #0x84] - ldr r1, [r11, #0x5c] - str r2, [sp, #0x88] - str r1, [sp, #0x8c] - strb r0, [sp, #0x92] - strb r4, [sp, #0x93] - strb r3, [sp, #0x94] - str lr, [sp, #0x40] - str r6, [sp, #0x44] - str r7, [sp, #0x48] - str r8, [sp, #0x4c] - str r9, [sp, #0x50] - str r10, [sp, #0x54] - b _02088858 -_02088764: - mul r7, r1, r0 - ldr r8, _020888e4 ; =data_ov00_020d8aa8 - add r0, r8, r7 - ldr r11, [r8, r7] - ldr r10, [r0, #4] - ldr r9, [r0, #8] - ldr r8, [r0, #0xc] - ldr r7, [r0, #0x10] - ldr ip, [r0, #0x14] - str r11, [sp, #0x30] - ldr r11, [r0, #0x18] - str r10, [sp, #0x34] - ldr r10, [r0, #0x1c] - str r9, [sp, #0x38] - ldr r9, [r0, #0x20] - str r8, [sp, #0x3c] - ldr r8, [r0, #0x24] - str r7, [sp, #0x40] - ldr r7, [r0, #0x28] - str ip, [sp, #0x44] - ldr ip, [r0, #0x2c] - str r11, [sp, #0x48] - ldr r11, [r0, #0x30] - str r10, [sp, #0x4c] - ldr r10, [r0, #0x34] - str r9, [sp, #0x50] - ldr r9, [r0, #0x38] - str r8, [sp, #0x54] - ldr r8, [r0, #0x3c] - str r7, [sp, #0x58] - ldr r7, [r0, #0x40] - ldrb r6, [r0, #0x60] - ldrb r4, [r0, #0x61] - ldrb r3, [r0, #0x62] - ldrb r2, [r0, #0x63] - ldrb r1, [r0, #0x64] - str ip, [sp, #0x5c] - ldr ip, [r0, #0x44] - str r11, [sp, #0x60] - ldr r11, [r0, #0x48] - str r10, [sp, #0x64] - ldr r10, [r0, #0x4c] - str r9, [sp, #0x68] - ldr r9, [r0, #0x50] - str r8, [sp, #0x6c] - ldr r8, [r0, #0x54] - str r7, [sp, #0x70] - ldr r7, [r0, #0x58] - ldr r0, [r0, #0x5c] - str ip, [sp, #0x74] - str r11, [sp, #0x78] - str r10, [sp, #0x7c] - str r9, [sp, #0x80] - str r8, [sp, #0x84] - str r7, [sp, #0x88] - str r0, [sp, #0x8c] - strb r6, [sp, #0x90] - strb r4, [sp, #0x91] - strb r3, [sp, #0x92] - strb r2, [sp, #0x93] - strb r1, [sp, #0x94] -_02088858: - ldr r1, [r5, #0x154] - ldr r0, [r5, #0x160] - ldrb r3, [sp, #0xc8] - ldr r0, [r1, r0, lsl #2] - mov r2, #0 - strb r3, [r0, #0x18] - str r2, [sp] - add r1, sp, #0x30 - mov r0, r5 - add r2, r5, #0x164 - mov r3, #1 - bl func_ov00_02087b78 - ldr r1, [r5, #0x154] - ldr r0, [r5, #0x160] - ldr r2, [sp, #0xc0] - ldr r0, [r1, r0, lsl #2] - add r1, sp, #0x24 - str r2, [r0, #0x1c] - ldr r3, [r5, #0x154] - ldr r2, [r5, #0x160] - mov r0, r5 - ldr r3, [r3, r2, lsl #2] - ldr r2, [sp, #4] - str r2, [r3, #0x20] - bl func_ov00_02089b94 - ldr r1, [sp, #0x24] - mov r0, #1 - str r1, [r5, #0x2a8] - ldr r1, [sp, #0x28] - str r1, [r5, #0x2ac] - ldr r1, [sp, #0x2c] - str r1, [r5, #0x2b0] - strb r0, [r5, #0x2ec] - add sp, sp, #0x98 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_020884b4 -_020888e4: .word data_ov00_020d8aa8 - - .global func_ov00_020888e8 - arm_func_start func_ov00_020888e8 -func_ov00_020888e8: ; 0x020888e8 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} - sub sp, sp, #0x94 - mov r7, r0 - ldr r0, [r7, #0x15c] - mov r6, r1 - sub r0, r0, #0xb - mov r5, r2 - mov r4, r3 - cmp r0, #4 - addls pc, pc, r0, lsl #2 - b _02088930 -_02088914: ; jump table - b _02088928 ; case 0 - b _02088928 ; case 1 - b _02088928 ; case 2 - b _02088928 ; case 3 - b _02088928 ; case 4 -_02088928: - add sp, sp, #0x94 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} -_02088930: - ldr r1, [r7, #0x160] - mov r0, r7 - bl func_ov00_0208a84c - cmp r0, #0 - beq _02088998 - ldr r1, [r7, #0x15c] - add r0, r7, #0x100 - str r1, [r7, #0x180] - ldr r1, [r7, #0x164] - str r1, [r7, #0x188] - ldrb r1, [r7, #0x168] - strb r1, [r7, #0x18c] - ldr r1, [r7, #0x16c] - str r1, [r7, #0x190] - ldr r1, [r7, #0x170] - str r1, [r7, #0x194] - ldr r1, [r7, #0x174] - str r1, [r7, #0x198] - ldrsh r1, [r0, #0x78] - strh r1, [r0, #0x9c] - ldrsh r1, [r0, #0x7a] - strh r1, [r0, #0x9e] - ldrh r2, [r0, #0x7c] - ldrh r1, [r0, #0x7e] - strh r2, [r0, #0xa0] - strh r1, [r0, #0xa2] -_02088998: - mov r1, #4 - str r1, [r7, #0x15c] - mov r3, #0 - mov r0, #0xff - add r2, sp, #4 - str r1, [sp, #4] - strb r0, [sp, #8] - strh r3, [sp, #0x18] - strh r3, [sp, #0x1a] - mov r10, r3 -_020889c0: - add r0, r2, r3, lsl #1 - add r3, r3, #1 - strh r10, [r0, #0x18] - cmp r3, #2 - blo _020889c0 - ldr r1, [sp, #4] - add r0, r7, #0x100 - str r1, [r7, #0x164] - ldrb r1, [sp, #8] - add r9, sp, #0x20 - mov r3, #5 - strb r1, [r7, #0x168] - ldr r1, [sp, #0xc] - add lr, sp, #0x2c - str r1, [r7, #0x16c] - ldr r1, [sp, #0x10] - mov r8, r4 - str r1, [r7, #0x170] - ldr r1, [sp, #0x14] - mov ip, #6 - str r1, [r7, #0x174] - ldrsh r1, [sp, #0x18] - strh r1, [r0, #0x78] - ldrsh r1, [sp, #0x1a] - strh r1, [r0, #0x7a] - ldrh r2, [sp, #0x1c] - ldrh r1, [sp, #0x1e] - strh r2, [r0, #0x7c] - strh r1, [r0, #0x7e] - ldmia r5, {r0, r1, r2} - stmia r9, {r0, r1, r2} - ldr r1, [r7, #0x154] - ldr r0, [sp, #0x20] - ldr r1, [r1, #0x14] - str r0, [r1, #8] - ldr r0, [sp, #0x24] - str r0, [r1, #0xc] - ldr r0, [sp, #0x28] - str r0, [r1, #0x10] - ldr r0, [r7, #0x154] - ldr r0, [r0, #0x14] - strh r10, [r0, #0x14] - str r3, [r7, #0x160] -_02088a6c: - ldmia r8!, {r0, r1, r2, r3} - stmia lr!, {r0, r1, r2, r3} - subs ip, ip, #1 - bne _02088a6c - ldmia r8, {r0, r1} - stmia lr, {r0, r1} - mov r0, #5 - str r0, [sp, #0x30] - str r6, [r7, #0x1a4] - mov r3, #0 - str r3, [r7, #0x1a8] - ldr r1, [r7, #0x154] - ldr r0, [r7, #0x160] - ldrb r2, [sp, #0xc0] - ldr r0, [r1, r0, lsl #2] - add r1, sp, #0x2c - strb r2, [r0, #0x18] - str r3, [sp] - mov r0, r7 - add r2, r7, #0x164 - mov r3, #1 - bl func_ov00_02087b78 - ldr r1, [r7, #0x154] - ldr r0, [r7, #0x160] - ldr r2, [sp, #0xbc] - ldr r0, [r1, r0, lsl #2] - ldr r3, [sp, #0xb8] - str r2, [r0, #0x1c] - ldr r2, [r7, #0x154] - ldr r0, [r7, #0x160] - add r1, sp, #0x20 - ldr r2, [r2, r0, lsl #2] - mov r0, r7 - str r3, [r2, #0x20] - ldr r2, [r4, #0x14] - mov r2, r2, lsl #0x10 - mov r2, r2, asr #0x10 - bl func_ov00_02089c50 - ldr r1, [sp, #0x20] - mov r0, #1 - str r1, [r7, #0x2a8] - ldr r1, [sp, #0x24] - str r1, [r7, #0x2ac] - ldr r1, [sp, #0x28] - str r1, [r7, #0x2b0] - strb r0, [r7, #0x2ec] - add sp, sp, #0x94 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} - arm_func_end func_ov00_020888e8 - - .global func_ov00_02088b2c - arm_func_start func_ov00_02088b2c -func_ov00_02088b2c: ; 0x02088b2c - stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} - sub sp, sp, #0x94 - mov r7, r0 - ldr r0, [r7, #0x15c] - mov r6, r1 - sub r0, r0, #0xb - mov r5, r2 - mov r4, r3 - cmp r0, #4 - addls pc, pc, r0, lsl #2 - b _02088b74 -_02088b58: ; jump table - b _02088b6c ; case 0 - b _02088b6c ; case 1 - b _02088b6c ; case 2 - b _02088b6c ; case 3 - b _02088b6c ; case 4 -_02088b6c: - add sp, sp, #0x94 - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} -_02088b74: - ldr r1, [r7, #0x160] - mov r0, r7 - bl func_ov00_0208a84c - cmp r0, #0 - beq _02088bdc - ldr r1, [r7, #0x15c] - add r0, r7, #0x100 - str r1, [r7, #0x180] - ldr r1, [r7, #0x164] - str r1, [r7, #0x188] - ldrb r1, [r7, #0x168] - strb r1, [r7, #0x18c] - ldr r1, [r7, #0x16c] - str r1, [r7, #0x190] - ldr r1, [r7, #0x170] - str r1, [r7, #0x194] - ldr r1, [r7, #0x174] - str r1, [r7, #0x198] - ldrsh r1, [r0, #0x78] - strh r1, [r0, #0x9c] - ldrsh r1, [r0, #0x7a] - strh r1, [r0, #0x9e] - ldrh r2, [r0, #0x7c] - ldrh r1, [r0, #0x7e] - strh r2, [r0, #0xa0] - strh r1, [r0, #0xa2] -_02088bdc: - ldr r0, [sp, #0xb0] - bl func_ov00_02087d84 - ldr r0, [r0, #4] - cmp r0, #5 - addne sp, sp, #0x94 - ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} - ldr r1, [sp, #0xb0] - mov r8, #0 - str r1, [r7, #0x15c] - mov r0, #0xff - add r2, sp, #4 - str r1, [sp, #4] - strb r0, [sp, #8] - strh r8, [sp, #0x18] - strh r8, [sp, #0x1a] - mov r3, r8 -_02088c1c: - add r0, r2, r8, lsl #1 - add r8, r8, #1 - strh r3, [r0, #0x18] - cmp r8, #2 - blo _02088c1c - ldr r1, [sp, #4] - add r0, r7, #0x100 - str r1, [r7, #0x164] - ldrb r2, [sp, #8] - mov r1, #5 - add lr, sp, #0x20 - strb r2, [r7, #0x168] - ldr r2, [sp, #0xc] - ldrb ip, [sp, #0xbc] - str r2, [r7, #0x16c] - ldr r2, [sp, #0x10] - str r2, [r7, #0x170] - ldr r2, [sp, #0x14] - str r2, [r7, #0x174] - ldrsh r2, [sp, #0x18] - strh r2, [r0, #0x78] - ldrsh r2, [sp, #0x1a] - strh r2, [r0, #0x7a] - ldrh r8, [sp, #0x1c] - ldrh r2, [sp, #0x1e] - strh r8, [r0, #0x7c] - strh r2, [r0, #0x7e] - str r1, [r7, #0x160] - ldmia r5, {r0, r1, r2} - stmia lr, {r0, r1, r2} - ldr r0, [r7, #0x154] - ldr r1, [sp, #0x20] - ldr r2, [r0, #0x14] - ldr r0, [sp, #0xb0] - str r1, [r2, #8] - ldr r1, [sp, #0x24] - str r1, [r2, #0xc] - ldr r1, [sp, #0x28] - str r1, [r2, #0x10] - ldr r1, [r7, #0x154] - ldr r1, [r1, #0x14] - strh r4, [r1, #0x14] - str r6, [r7, #0x1a4] - str r3, [r7, #0x1a8] - ldr r2, [r7, #0x154] - ldr r1, [r7, #0x160] - ldr r1, [r2, r1, lsl #2] - strb ip, [r1, #0x18] - bl func_ov00_02087d84 - add r6, sp, #0x2c - mov ip, r0 - mov r5, #6 -_02088cec: - ldmia ip!, {r0, r1, r2, r3} - stmia r6!, {r0, r1, r2, r3} - subs r5, r5, #1 - bne _02088cec - ldmia ip, {r0, r1} - stmia r6, {r0, r1} - ldr r0, [sp, #0x40] - mov r2, #0 - add r0, r0, r4 - mov r0, r0, lsl #0x10 - mov r0, r0, asr #0x10 - str r0, [sp, #0x40] - str r2, [sp] - add r1, sp, #0x2c - mov r0, r7 - add r2, r7, #0x164 - mov r3, #1 - bl func_ov00_02087b78 - ldr r1, [r7, #0x154] - ldr r0, [r7, #0x160] - ldr r2, [sp, #0xb8] - ldr r0, [r1, r0, lsl #2] - ldr r3, [sp, #0xb4] - str r2, [r0, #0x1c] - ldr r2, [r7, #0x154] - ldr r0, [r7, #0x160] - add r1, sp, #0x20 - ldr r2, [r2, r0, lsl #2] - mov r0, r7 - str r3, [r2, #0x20] - ldr r2, [sp, #0x40] - mov r2, r2, lsl #0x10 - mov r2, r2, asr #0x10 - bl func_ov00_02089c50 - ldr r1, [sp, #0x20] - mov r0, #1 - str r1, [r7, #0x2a8] - ldr r1, [sp, #0x24] - str r1, [r7, #0x2ac] - ldr r1, [sp, #0x28] - str r1, [r7, #0x2b0] - strb r0, [r7, #0x2ec] - add sp, sp, #0x94 - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} - arm_func_end func_ov00_02088b2c - - .global func_ov00_02088d9c - arm_func_start func_ov00_02088d9c -func_ov00_02088d9c: ; 0x02088d9c - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} - sub sp, sp, #0x94 - mov r7, r0 - ldr r0, [r7, #0x15c] - mov r6, r1 - sub r0, r0, #0xb - mov r5, r2 - mov r4, r3 - cmp r0, #4 - addls pc, pc, r0, lsl #2 - b _02088de4 -_02088dc8: ; jump table - b _02088ddc ; case 0 - b _02088ddc ; case 1 - b _02088ddc ; case 2 - b _02088ddc ; case 3 - b _02088ddc ; case 4 -_02088ddc: - add sp, sp, #0x94 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} -_02088de4: - ldr r1, [r7, #0x160] - mov r0, r7 - bl func_ov00_0208a84c - cmp r0, #0 - beq _02088e4c - ldr r1, [r7, #0x164] - add r0, r7, #0x100 - str r1, [r7, #0x188] - ldrb r1, [r7, #0x168] - strb r1, [r7, #0x18c] - ldr r1, [r7, #0x16c] - str r1, [r7, #0x190] - ldr r1, [r7, #0x170] - str r1, [r7, #0x194] - ldr r1, [r7, #0x174] - str r1, [r7, #0x198] - ldrsh r1, [r0, #0x78] - strh r1, [r0, #0x9c] - ldrsh r1, [r0, #0x7a] - strh r1, [r0, #0x9e] - ldrh r2, [r0, #0x7c] - ldrh r1, [r0, #0x7e] - strh r2, [r0, #0xa0] - strh r1, [r0, #0xa2] - ldr r0, [r7, #0x15c] - str r0, [r7, #0x180] -_02088e4c: - mov r1, #5 - str r1, [r7, #0x15c] - mov r3, #0 - mov r0, #0xff - add r2, sp, #4 - str r1, [sp, #4] - strb r0, [sp, #8] - strh r3, [sp, #0x18] - strh r3, [sp, #0x1a] - mov r10, r3 -_02088e74: - add r0, r2, r3, lsl #1 - add r3, r3, #1 - strh r10, [r0, #0x18] - cmp r3, #2 - blo _02088e74 - ldr r1, [sp, #4] - add r0, r7, #0x100 - str r1, [r7, #0x164] - ldrb r1, [sp, #8] - mov r9, #6 - add r8, sp, #0x20 - strb r1, [r7, #0x168] - ldr r1, [sp, #0xc] - ldr lr, _02089018 ; =data_ov00_020d8aa8 - str r1, [r7, #0x16c] - ldr r1, [sp, #0x10] - mov r3, #0x68 - str r1, [r7, #0x170] - ldr r1, [sp, #0x14] - add ip, sp, #0x2c - str r1, [r7, #0x174] - ldrsh r1, [sp, #0x18] - strh r1, [r0, #0x78] - ldrsh r1, [sp, #0x1a] - strh r1, [r0, #0x7a] - ldrh r2, [sp, #0x1c] - ldrh r1, [sp, #0x1e] - strh r2, [r0, #0x7c] - strh r1, [r0, #0x7e] - str r9, [r7, #0x160] - ldr r0, [r5] - str r0, [r7, #0x2a8] - ldr r0, [r5, #4] - str r0, [r7, #0x2ac] - ldr r0, [r5, #8] - str r0, [r7, #0x2b0] - ldr r0, [r4] - str r0, [r7, #0x29c] - ldr r0, [r4, #4] - str r0, [r7, #0x2a0] - ldr r0, [r4, #8] - str r0, [r7, #0x2a4] - ldmia r5, {r0, r1, r2} - stmia r8, {r0, r1, r2} - ldr r1, [r7, #0x154] - ldr r0, [sp, #0x20] - ldr r1, [r1, #0x18] - str r0, [r1, #8] - ldr r0, [sp, #0x24] - str r0, [r1, #0xc] - ldr r0, [sp, #0x28] - str r0, [r1, #0x10] - ldr r0, [r7, #0x154] - ldr r0, [r0, #0x18] - strh r10, [r0, #0x14] - str r6, [r7, #0x1a4] - str r10, [r7, #0x1a8] - ldr r0, [r7, #0x15c] - mla r6, r0, r3, lr -_02088f60: - ldmia r6!, {r0, r1, r2, r3} - stmia ip!, {r0, r1, r2, r3} - subs r9, r9, #1 - bne _02088f60 - ldrsh r3, [sp, #0xb8] - ldmia r6, {r0, r1} - stmia ip, {r0, r1} - add r6, sp, #0x2c - mov r0, r7 - mov r1, r5 - mov r2, r4 - str r6, [sp] - bl func_ov00_0208901c - mov r2, #0 - str r2, [sp] - mov r1, r6 - mov r0, r7 - add r2, r7, #0x164 - mov r3, #1 - bl func_ov00_02087b78 - ldr r1, [r7, #0x154] - ldr r0, [r7, #0x160] - ldr r2, [sp, #0xc0] - ldr r0, [r1, r0, lsl #2] - ldr r3, [sp, #0xbc] - str r2, [r0, #0x18] - ldr r2, [r7, #0x154] - ldr r1, [r7, #0x160] - mov r0, #1 - ldr r1, [r2, r1, lsl #2] - str r3, [r1, #0x1c] - ldr r1, [r5] - str r1, [r7, #0x2a8] - ldr r1, [r5, #4] - str r1, [r7, #0x2ac] - ldr r1, [r5, #8] - str r1, [r7, #0x2b0] - ldr r1, [r4] - str r1, [r7, #0x29c] - ldr r1, [r4, #4] - str r1, [r7, #0x2a0] - ldr r1, [r4, #8] - str r1, [r7, #0x2a4] - strb r0, [r7, #0x2ec] - add sp, sp, #0x94 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} - .align 2, 0 - arm_func_end func_ov00_02088d9c -_02089018: .word data_ov00_020d8aa8 - - .global func_ov00_0208901c - arm_func_start func_ov00_0208901c -func_ov00_0208901c: ; 0x0208901c - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0xc - ldr r4, [sp, #0x18] - mov r0, r1 - str r3, [r4, #0xc] - add ip, sp, #4 - mov r1, r2 - add r2, sp, #8 - add r3, sp, #6 - str ip, [sp] - bl func_0202b734 - ldr r0, [sp, #8] - str r0, [r4, #0x18] - ldrsh r0, [sp, #6] - str r0, [r4, #0x10] - ldrsh r0, [sp, #4] - str r0, [r4, #0x14] - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_0208901c - - .global func_ov00_02089068 - arm_func_start func_ov00_02089068 -func_ov00_02089068: ; 0x02089068 - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0x4c - ldr r3, _02089164 ; =data_027e0e60 - mov r5, r0 - ldr r0, [r3] - mov r4, r2 - add r2, sp, #0x30 - bl _ZN10MapManager18func_ov00_02083968EjPc - cmp r0, #0 - addeq sp, sp, #0x4c - moveq r0, #0 - ldmeqia sp!, {r4, r5, pc} - ldrb r0, [sp, #0x31] - cmp r0, #0 - beq _020890b8 - cmp r0, #1 - beq _020890ec - cmp r0, #2 - beq _02089120 - b _0208912c -_020890b8: - ldr lr, [sp, #0x34] - ldr ip, [sp, #0x38] - ldr r3, [sp, #0x3c] - ldr r2, [sp, #0x40] - ldr r1, [sp, #0x44] - ldr r0, [sp, #0x48] - str lr, [sp, #0x24] - str ip, [sp, #0x28] - str r3, [sp, #0x2c] - str r2, [sp, #0x18] - str r1, [sp, #0x1c] - str r0, [sp, #0x20] - b _0208912c -_020890ec: - ldr r0, _02089164 ; =data_027e0e60 - add r1, sp, #0xc - ldr r0, [r0] - bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p - add r0, sp, #0x34 - add r1, sp, #0xc - add r2, sp, #0x24 - bl func_01ff9bc4 - add r0, sp, #0x40 - add r1, sp, #0xc - add r2, sp, #0x18 - bl func_01ff9bc4 - b _0208912c -_02089120: - add sp, sp, #0x4c - mov r0, #0 - ldmia sp!, {r4, r5, pc} -_0208912c: - ldrsh r0, [sp, #0x32] - mov r1, r4 - mvn ip, #0 - str r0, [sp] - add r2, sp, #0x18 - add r3, sp, #0x24 - mov r0, r5 - str ip, [sp, #4] - mov r4, #0 - str r4, [sp, #8] - bl func_ov00_02088d9c - mov r0, #1 - add sp, sp, #0x4c - ldmia sp!, {r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02089068 -_02089164: .word data_027e0e60 - - .global func_ov00_02089168 - arm_func_start func_ov00_02089168 -func_ov00_02089168: ; 0x02089168 - stmdb sp!, {lr} - sub sp, sp, #0xc - cmp r3, #0 - mvn r3, #0 - movne r3, #1 - ldr ip, [sp, #0x10] - mov lr, r1 - cmp r2, #0xa - addls pc, pc, r2, lsl #2 - b _02089310 -_02089190: ; jump table - b _02089310 ; case 0 - b _02089310 ; case 1 - b _020891bc ; case 2 - b _020891e0 ; case 3 - b _02089208 ; case 4 - b _02089230 ; case 5 - b _02089258 ; case 6 - b _0208927c ; case 7 - b _020892a4 ; case 8 - b _020892cc ; case 9 - b _020892f4 ; case 10 -_020891bc: - mov r1, #0 - str r1, [sp] - mov r2, #1 - str r2, [sp, #4] - mov r2, lr - str ip, [sp, #8] - bl func_ov00_020884b4 - add sp, sp, #0xc - ldmia sp!, {pc} -_020891e0: - mov r1, #0 - str r1, [sp] - mov r1, #1 - str r1, [sp, #4] - mov r2, lr - mov r1, #0xf - str ip, [sp, #8] - bl func_ov00_020884b4 - add sp, sp, #0xc - ldmia sp!, {pc} -_02089208: - mov r1, #0 - str r1, [sp] - mov r1, #1 - str r1, [sp, #4] - mov r2, lr - mov r1, #0x1e - str ip, [sp, #8] - bl func_ov00_020884b4 - add sp, sp, #0xc - ldmia sp!, {pc} -_02089230: - mov r1, #0xf - str r1, [sp] - mov r1, #1 - str r1, [sp, #4] - mov r2, lr - mov r1, #0 - str ip, [sp, #8] - bl func_ov00_020884b4 - add sp, sp, #0xc - ldmia sp!, {pc} -_02089258: - mov r1, #0xf - str r1, [sp] - mov r2, #1 - str r2, [sp, #4] - mov r2, lr - str ip, [sp, #8] - bl func_ov00_020884b4 - add sp, sp, #0xc - ldmia sp!, {pc} -_0208927c: - mov r1, #0xf - str r1, [sp] - mov r1, #1 - str r1, [sp, #4] - mov r2, lr - mov r1, #0x1e - str ip, [sp, #8] - bl func_ov00_020884b4 - add sp, sp, #0xc - ldmia sp!, {pc} -_020892a4: - mov r1, #0x1e - str r1, [sp] - mov r1, #1 - str r1, [sp, #4] - mov r2, lr - mov r1, #0 - str ip, [sp, #8] - bl func_ov00_020884b4 - add sp, sp, #0xc - ldmia sp!, {pc} -_020892cc: - mov r1, #0x1e - str r1, [sp] - mov r1, #1 - str r1, [sp, #4] - mov r2, lr - mov r1, #0xf - str ip, [sp, #8] - bl func_ov00_020884b4 - add sp, sp, #0xc - ldmia sp!, {pc} -_020892f4: - mov r1, #0x1e - str r1, [sp] - mov r2, #1 - str r2, [sp, #4] - mov r2, lr - str ip, [sp, #8] - bl func_ov00_020884b4 -_02089310: - add sp, sp, #0xc - ldmia sp!, {pc} - arm_func_end func_ov00_02089168 - - .global func_ov00_02089318 - arm_func_start func_ov00_02089318 -func_ov00_02089318: ; 0x02089318 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0xc - ldrb r4, [sp, #0x18] - mov lr, r1 - ldr ip, [sp, #0x1c] - mvn r1, #0 - cmp r4, #0 - movne r1, #1 - cmp r2, #0xa - addls pc, pc, r2, lsl #2 - b _02089494 -_02089344: ; jump table - b _02089494 ; case 0 - b _02089494 ; case 1 - b _02089370 ; case 2 - b _0208938c ; case 3 - b _020893b0 ; case 4 - b _020893d4 ; case 5 - b _020893f8 ; case 6 - b _02089414 ; case 7 - b _02089438 ; case 8 - b _0208945c ; case 9 - b _02089480 ; case 10 -_02089370: - str r1, [sp] - mov r1, #0 - mov r2, lr - stmib sp, {r1, ip} - bl func_ov00_020888e8 - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} -_0208938c: - str r1, [sp] - mov r1, #0 - str r1, [sp, #4] - mov r2, lr - mov r1, #0xf - str ip, [sp, #8] - bl func_ov00_020888e8 - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} -_020893b0: - str r1, [sp] - mov r1, #0 - str r1, [sp, #4] - mov r2, lr - mov r1, #0x1e - str ip, [sp, #8] - bl func_ov00_020888e8 - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} -_020893d4: - str r1, [sp] - mov r1, #0xf - str r1, [sp, #4] - mov r2, lr - mov r1, #0 - str ip, [sp, #8] - bl func_ov00_020888e8 - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} -_020893f8: - str r1, [sp] - mov r1, #0xf - mov r2, lr - stmib sp, {r1, ip} - bl func_ov00_020888e8 - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} -_02089414: - str r1, [sp] - mov r1, #0xf - str r1, [sp, #4] - mov r2, lr - mov r1, #0x1e - str ip, [sp, #8] - bl func_ov00_020888e8 - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} -_02089438: - str r1, [sp] - mov r1, #0x1e - str r1, [sp, #4] - mov r2, lr - mov r1, #0 - str ip, [sp, #8] - bl func_ov00_020888e8 - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} -_0208945c: - str r1, [sp] - mov r1, #0x1e - str r1, [sp, #4] - mov r2, lr - mov r1, #0xf - str ip, [sp, #8] - bl func_ov00_020888e8 - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} -_02089480: - str r1, [sp] - mov r1, #0x1e - mov r2, lr - stmib sp, {r1, ip} - bl func_ov00_020888e8 -_02089494: - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02089318 - - .global func_ov00_0208949c - arm_func_start func_ov00_0208949c -func_ov00_0208949c: ; 0x0208949c - stmdb sp!, {r4, lr} - sub sp, sp, #0x10 - ldrb ip, [sp, #0x1c] - mov r4, r1 - mov lr, r2 - cmp ip, #0 - mvn r1, #0 - movne r1, #1 - ldr r2, [sp, #0x18] - ldr ip, [sp, #0x20] - cmp r3, #0xa - addls pc, pc, r3, lsl #2 - b _02089674 -_020894d0: ; jump table - b _02089674 ; case 0 - b _02089674 ; case 1 - b _020894fc ; case 2 - b _02089524 ; case 3 - b _02089550 ; case 4 - b _0208957c ; case 5 - b _020895a8 ; case 6 - b _020895d0 ; case 7 - b _020895fc ; case 8 - b _02089628 ; case 9 - b _02089654 ; case 10 -_020894fc: - str r2, [sp] - str r1, [sp, #4] - mov r1, #0 - str r1, [sp, #8] - mov r2, r4 - mov r3, lr - str ip, [sp, #0xc] - bl func_ov00_02088b2c - add sp, sp, #0x10 - ldmia sp!, {r4, pc} -_02089524: - str r2, [sp] - str r1, [sp, #4] - mov r1, #0 - str r1, [sp, #8] - mov r2, r4 - mov r3, lr - mov r1, #0xf - str ip, [sp, #0xc] - bl func_ov00_02088b2c - add sp, sp, #0x10 - ldmia sp!, {r4, pc} -_02089550: - str r2, [sp] - str r1, [sp, #4] - mov r1, #0 - str r1, [sp, #8] - mov r2, r4 - mov r3, lr - mov r1, #0x1e - str ip, [sp, #0xc] - bl func_ov00_02088b2c - add sp, sp, #0x10 - ldmia sp!, {r4, pc} -_0208957c: - str r2, [sp] - str r1, [sp, #4] - mov r1, #0xf - str r1, [sp, #8] - mov r2, r4 - mov r3, lr - mov r1, #0 - str ip, [sp, #0xc] - bl func_ov00_02088b2c - add sp, sp, #0x10 - ldmia sp!, {r4, pc} -_020895a8: - str r2, [sp] - str r1, [sp, #4] - mov r1, #0xf - str r1, [sp, #8] - mov r2, r4 - mov r3, lr - str ip, [sp, #0xc] - bl func_ov00_02088b2c - add sp, sp, #0x10 - ldmia sp!, {r4, pc} -_020895d0: - str r2, [sp] - str r1, [sp, #4] - mov r1, #0xf - str r1, [sp, #8] - mov r2, r4 - mov r3, lr - mov r1, #0x1e - str ip, [sp, #0xc] - bl func_ov00_02088b2c - add sp, sp, #0x10 - ldmia sp!, {r4, pc} -_020895fc: - str r2, [sp] - str r1, [sp, #4] - mov r1, #0x1e - str r1, [sp, #8] - mov r2, r4 - mov r3, lr - mov r1, #0 - str ip, [sp, #0xc] - bl func_ov00_02088b2c - add sp, sp, #0x10 - ldmia sp!, {r4, pc} -_02089628: - str r2, [sp] - str r1, [sp, #4] - mov r1, #0x1e - str r1, [sp, #8] - mov r2, r4 - mov r3, lr - mov r1, #0xf - str ip, [sp, #0xc] - bl func_ov00_02088b2c - add sp, sp, #0x10 - ldmia sp!, {r4, pc} -_02089654: - str r2, [sp] - str r1, [sp, #4] - mov r1, #0x1e - str r1, [sp, #8] - mov r2, r4 - mov r3, lr - str ip, [sp, #0xc] - bl func_ov00_02088b2c -_02089674: - add sp, sp, #0x10 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208949c - - .global func_ov00_0208967c - arm_func_start func_ov00_0208967c -func_ov00_0208967c: ; 0x0208967c - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x130 - mov r9, r0 - mov r8, r1 - mov r7, r2 - bl func_ov00_02087f08 - cmp r0, #0 - addeq sp, sp, #0x130 - ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - ldr r0, _02089a24 ; =gAdventureFlags - ldr r0, [r0] - bl _ZN14AdventureFlags18func_ov00_02097738Ev - cmp r0, #0 - addne sp, sp, #0x130 - ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - ldr r1, [r7] - add r0, r9, #0x200 - str r1, [sp, #0x54] - ldr r2, [r7, #4] - cmp r8, #7 - str r2, [sp, #0x58] - ldr r1, [r7, #8] - mov r4, #1 - str r1, [sp, #0x5c] - ldrsh r6, [r0, #0x26] - mov r5, #0x34 - addls pc, pc, r8, lsl #2 - b _02089770 -_020896ec: ; jump table - b _02089770 ; case 0 - b _02089770 ; case 1 - b _0208976c ; case 2 - b _02089770 ; case 3 - b _02089770 ; case 4 - b _0208970c ; case 5 - b _0208976c ; case 6 - b _0208973c ; case 7 -_0208970c: - ldr r8, [r9, #0x298] - ldr r3, [r9, #0x290] - add r0, sp, #0x54 - add r1, sp, #0x48 - str r3, [sp, #0x48] - str r2, [sp, #0x4c] - str r8, [sp, #0x50] - bl func_01ff9ec0 - cmp r0, #0 - bne _02089770 - add sp, sp, #0x130 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} -_0208973c: - ldrb r0, [sp, #0x150] - cmp r0, #0 - movne r4, #0x1e - ldr r0, [sp, #0x154] - moveq r4, #5 - cmp r0, #1 - bne _02089760 - mov r5, #0x37 - b _02089764 -_02089760: - mov r5, #0x36 -_02089764: - mov r6, #0 - b _02089770 -_0208976c: - mov r5, #0x35 -_02089770: - ldr r1, [r9, #0x160] - mov r0, r9 - bl func_ov00_0208a84c - cmp r0, #0 - beq _020897d8 - ldr r1, [r9, #0x15c] - add r0, r9, #0x100 - str r1, [r9, #0x180] - ldr r1, [r9, #0x164] - str r1, [r9, #0x188] - ldrb r1, [r9, #0x168] - strb r1, [r9, #0x18c] - ldr r1, [r9, #0x16c] - str r1, [r9, #0x190] - ldr r1, [r9, #0x170] - str r1, [r9, #0x194] - ldr r1, [r9, #0x174] - str r1, [r9, #0x198] - ldrsh r1, [r0, #0x78] - strh r1, [r0, #0x9c] - ldrsh r1, [r0, #0x7a] - strh r1, [r0, #0x9e] - ldrh r2, [r0, #0x7c] - ldrh r1, [r0, #0x7e] - strh r2, [r0, #0xa0] - strh r1, [r0, #0xa2] -_020897d8: - str r5, [r9, #0x15c] - mov r3, #0 - mov r0, #0xff - add r2, sp, #4 - str r5, [sp, #4] - strb r0, [sp, #8] - strh r3, [sp, #0x18] - strh r3, [sp, #0x1a] - mov r1, r3 -_020897fc: - add r0, r2, r3, lsl #1 - add r3, r3, #1 - strh r1, [r0, #0x18] - cmp r3, #2 - blo _020897fc - ldr r1, [sp, #4] - add r0, r9, #0x100 - str r1, [r9, #0x164] - ldrb r1, [sp, #8] - strb r1, [r9, #0x168] - ldr r1, [sp, #0xc] - str r1, [r9, #0x16c] - ldr r1, [sp, #0x10] - str r1, [r9, #0x170] - ldr r1, [sp, #0x14] - str r1, [r9, #0x174] - ldrsh r1, [sp, #0x18] - strh r1, [r0, #0x78] - ldrsh r1, [sp, #0x1a] - strh r1, [r0, #0x7a] - ldrh r2, [sp, #0x1c] - ldrh r1, [sp, #0x1e] - strh r2, [r0, #0x7c] - strh r1, [r0, #0x7e] - ldr r0, [r9, #0x15c] - bl func_ov00_02087d84 - add r8, sp, #0xc8 - mov ip, r0 - mov r5, #6 -_02089870: - ldmia ip!, {r0, r1, r2, r3} - stmia r8!, {r0, r1, r2, r3} - subs r5, r5, #1 - bne _02089870 - ldmia ip, {r0, r1} - stmia r8, {r0, r1} - ldr r3, [r7] - ldr r0, [sp, #0x118] - str r3, [sp, #0x3c] - ldr r1, [r7, #4] - mov r5, #0 - str r1, [sp, #0x40] - ldr r1, [r7, #8] - str r1, [sp, #0x44] - ldr r1, [r9, #0x154] - ldr r2, [r1, #0x34] - str r3, [r2, #8] - ldr r1, [sp, #0x40] - mov r3, #0 - str r1, [r2, #0xc] - ldr r1, [sp, #0x44] - str r1, [r2, #0x10] - ldr r1, [r9, #0x154] - add r2, sp, #0x20 - ldr r1, [r1, #0x34] - strh r6, [r1, #0x14] - ldr r1, [r9, #0x160] - cmp r1, #0xd - mov r1, #0xd - str r1, [r9, #0x160] - str r1, [sp, #0xcc] - str r0, [r9, #0x1a4] - str r3, [r9, #0x1a8] - mov r0, #0xff - movne r5, #1 - str r3, [sp, #0x20] - strb r0, [sp, #0x24] - strh r3, [sp, #0x34] - strh r3, [sp, #0x36] - mov r1, r3 -_02089910: - add r0, r2, r3, lsl #1 - add r3, r3, #1 - strh r1, [r0, #0x18] - cmp r3, #2 - blo _02089910 - ldr r0, _02089a28 ; =data_027e0e60 - ldrb r2, [r9, #0x1b8] - ldr r0, [r0] - add r1, sp, #0x20 - bl _ZN10MapManager18func_ov00_02083928EPci - ldr r0, [sp, #0x20] - bl func_ov00_02087d84 - add r8, sp, #0x60 - mov ip, r0 - mov r7, #6 -_0208994c: - ldmia ip!, {r0, r1, r2, r3} - stmia r8!, {r0, r1, r2, r3} - subs r7, r7, #1 - bne _0208994c - ldmia ip, {r0, r1} - stmia r8, {r0, r1} - ldr r0, [sp, #0x64] - cmp r0, #1 - beq _020899a8 - ldr r0, [sp, #0x11c] - str r6, [sp, #0xdc] - cmp r0, #0 - ldreq r0, [sp, #0x70] - streq r0, [sp, #0xd8] - ldr r0, [sp, #0x108] - cmp r0, #0 - ldreq r0, [sp, #0x6c] - streq r0, [sp, #0xd4] - ldr r0, [sp, #0x124] - cmp r0, #0 - ldreq r0, [sp, #0x78] - streq r0, [sp, #0xe0] - b _020899b4 -_020899a8: - cmp r5, #0 - movne r0, #2 - strne r0, [r9, #0x1a4] -_020899b4: - mov r2, #0 - str r2, [sp] - add r1, sp, #0xc8 - mov r0, r9 - add r2, r9, #0x164 - mov r3, #1 - bl func_ov00_02087b78 - ldr r1, [r9, #0x154] - ldr r0, [r9, #0x160] - mov r2, #0 - ldr r0, [r1, r0, lsl #2] - add r1, sp, #0x3c - str r2, [r0, #0x18] - ldr r3, [r9, #0x154] - ldr r2, [r9, #0x160] - mov r0, r9 - ldr r3, [r3, r2, lsl #2] - mov r2, r6 - str r4, [r3, #0x1c] - bl func_ov00_02089c50 - ldr r0, [sp, #0x3c] - str r0, [r9, #0x2a8] - ldr r0, [sp, #0x40] - str r0, [r9, #0x2ac] - ldr r0, [sp, #0x44] - str r0, [r9, #0x2b0] - add sp, sp, #0x130 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - .align 2, 0 - arm_func_end func_ov00_0208967c -_02089a24: .word gAdventureFlags -_02089a28: .word data_027e0e60 - - .global func_ov00_02089a2c - arm_func_start func_ov00_02089a2c -func_ov00_02089a2c: ; 0x02089a2c - ldr r1, [r0, #0x160] - cmp r1, #0xc - bgt _02089a58 - bge _02089a60 - cmp r1, #6 - bgt _02089a7c - cmp r1, #5 - blt _02089a7c - cmpne r1, #6 - beq _02089a60 - b _02089a7c -_02089a58: - cmp r1, #0xd - bne _02089a7c -_02089a60: - ldrb r1, [r0, #0x1b9] - cmp r1, #0 - ldreqb r0, [r0, #0x1ba] - cmpeq r0, #0 - movne r0, #1 - moveq r0, #0 - bx lr -_02089a7c: - mov r0, #0 - bx lr - arm_func_end func_ov00_02089a2c - - .global func_ov00_02089a84 - arm_func_start func_ov00_02089a84 -func_ov00_02089a84: ; 0x02089a84 - ldr r1, [r0, #0x160] - cmp r1, #0xc - bgt _02089ab0 - bge _02089ab8 - cmp r1, #6 - bgt _02089ac0 - cmp r1, #5 - blt _02089ac0 - cmpne r1, #6 - beq _02089ab8 - b _02089ac0 -_02089ab0: - cmp r1, #0xd - bne _02089ac0 -_02089ab8: - ldr r0, [r0, #0x1a4] - bx lr -_02089ac0: - mov r0, #0 - bx lr - arm_func_end func_ov00_02089a84 - - .global func_ov00_02089ac8 - arm_func_start func_ov00_02089ac8 -func_ov00_02089ac8: ; 0x02089ac8 - ldr r1, [r0, #0x160] - cmp r1, #5 - cmpne r1, #6 - cmpne r1, #0xc - bne _02089af8 - ldrb r1, [r0, #0x1b9] - cmp r1, #0 - ldreqb r0, [r0, #0x1ba] - cmpeq r0, #0 - movne r0, #1 - moveq r0, #0 - bx lr -_02089af8: - mov r0, #0 - bx lr - arm_func_end func_ov00_02089ac8 - - .global func_ov00_02089b00 - arm_func_start func_ov00_02089b00 -func_ov00_02089b00: ; 0x02089b00 - ldrb r0, [r0, #0x2ec] - bx lr - arm_func_end func_ov00_02089b00 - - .global func_ov00_02089b08 - arm_func_start func_ov00_02089b08 -func_ov00_02089b08: ; 0x02089b08 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r1, [r4, #0x15c] - cmp r1, #3 - beq _02089b34 - mov r2, #0 - mov r3, r2 - mov r1, #3 - bl func_ov00_020872e8 - mov r0, #1 - strb r0, [r4, #0x2ec] -_02089b34: - mov r0, r4 - mov r1, #1 - bl func_ov00_0208df04 - mov r0, r4 - bl func_ov00_0208a464 - mov r0, #1 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02089b08 - - .global func_ov00_02089b50 - arm_func_start func_ov00_02089b50 -func_ov00_02089b50: ; 0x02089b50 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r2, [r4, #0x154] - ldr r0, [r4, #0x160] - ldr r0, [r2, r0, lsl #2] - ldr r2, [r0] - ldr r2, [r2, #0x2c] - blx r2 - mov r0, r4 - mov r1, #1 - bl func_ov00_0208df04 - mov r0, r4 - bl func_ov00_0208a464 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02089b50 - - .global func_ov00_02089b88 - arm_func_start func_ov00_02089b88 -func_ov00_02089b88: ; 0x02089b88 - mov r1, #0 - strb r1, [r0, #0x2ec] - bx lr - arm_func_end func_ov00_02089b88 - - .global func_ov00_02089b94 - arm_func_start func_ov00_02089b94 -func_ov00_02089b94: ; 0x02089b94 - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0xc - add r2, r0, #0x200 - ldrh r3, [r2, #0x26] - mov r2, r1 - ldr r4, _02089c4c ; =data_02050f54 - mov r1, r3, asr #0x4 - mov r3, r1, lsl #0x1 - mov r5, r3, lsl #0x1 - add r1, r3, #1 - mov r3, r1, lsl #0x1 - ldrsh r8, [r4, r5] - ldrsh r5, [r4, r3] - ldr r1, [r0, #0x248] - ldr r4, [r0, #0x244] - ldr lr, [r0, #0x240] - smull r0, r3, r4, r8 - adds r9, r0, #0x800 - smull r7, r6, r1, r8 - smull r8, r0, r1, r5 - adc r3, r3, #0 - adds r1, r8, #0x800 - mov ip, r9, lsr #0xc - smull r8, r5, r4, r5 - adc r0, r0, #0 - adds r8, r8, #0x800 - adc r5, r5, #0 - adds r4, r7, #0x800 - mov r9, r1, lsr #0xc - mov r7, r8, lsr #0xc - orr r9, r9, r0, lsl #20 - adc r1, r6, #0 - mov r4, r4, lsr #0xc - orr ip, ip, r3, lsl #20 - orr r4, r4, r1, lsl #20 - orr r7, r7, r5, lsl #20 - add r6, ip, r9 - sub r3, r7, r4 - add r1, sp, #0 - mov r0, r2 - str r6, [sp] - str lr, [sp, #4] - str r3, [sp, #8] - bl func_01ff9bc4 - add sp, sp, #0xc - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} - .align 2, 0 - arm_func_end func_ov00_02089b94 -_02089c4c: .word data_02050f54 - - .global func_ov00_02089c50 - arm_func_start func_ov00_02089c50 -func_ov00_02089c50: ; 0x02089c50 - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0xc - mov r2, r2, lsl #0x10 - mov r2, r2, lsr #0x10 - mov r2, r2, asr #0x4 - mov r3, r2, lsl #0x1 - add r2, r3, #1 - ldr r4, _02089d08 ; =data_02050f54 - mov r3, r3, lsl #0x1 - mov r2, r2, lsl #0x1 - ldrsh r8, [r4, r3] - ldrsh r5, [r4, r2] - ldr r3, [r0, #0x248] - ldr r4, [r0, #0x244] - ldr lr, [r0, #0x240] - smull r7, r6, r3, r8 - smull r0, r8, r4, r8 - adds r9, r0, #0x800 - mov r2, r1 - smull r1, r0, r3, r5 - adc r3, r8, #0 - adds r1, r1, #0x800 - mov ip, r9, lsr #0xc - smull r8, r5, r4, r5 - adc r0, r0, #0 - adds r8, r8, #0x800 - adc r5, r5, #0 - adds r4, r7, #0x800 - mov r9, r1, lsr #0xc - mov r7, r8, lsr #0xc - orr r9, r9, r0, lsl #20 - adc r1, r6, #0 - mov r4, r4, lsr #0xc - orr ip, ip, r3, lsl #20 - orr r4, r4, r1, lsl #20 - orr r7, r7, r5, lsl #20 - add r6, ip, r9 - sub r3, r7, r4 - add r1, sp, #0 - mov r0, r2 - str r6, [sp] - str lr, [sp, #4] - str r3, [sp, #8] - bl func_01ff9bc4 - add sp, sp, #0xc - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} - .align 2, 0 - arm_func_end func_ov00_02089c50 -_02089d08: .word data_02050f54 - - .global func_ov00_02089d0c - arm_func_start func_ov00_02089d0c -func_ov00_02089d0c: ; 0x02089d0c - stmdb sp!, {r4, r5, r6, r7, r8, lr} - sub sp, sp, #0x10 - mov r4, r0 - ldr r1, [r4, #0x160] - cmp r1, #0xd - addls pc, pc, r1, lsl #2 - b _0208a190 -_02089d28: ; jump table - b _0208a190 ; case 0 - b _0208a190 ; case 1 - b _0208a190 ; case 2 - b _0208a190 ; case 3 - b _0208a298 ; case 4 - b _02089f10 ; case 5 - b _02089d60 ; case 6 - b _0208a190 ; case 7 - b _0208a190 ; case 8 - b _0208a190 ; case 9 - b _0208a190 ; case 10 - b _0208a190 ; case 11 - b _02089d60 ; case 12 - b _0208a050 ; case 13 -_02089d60: - ldr r0, [r4, #0x154] - cmp r1, #0xc - ldr r0, [r0, r1, lsl #2] - bne _02089d80 - ldr r0, [r0, #0x18] - cmp r0, #0 - ble _02089d8c - b _0208a298 -_02089d80: - ldr r0, [r0, #0x18] - cmp r0, #0 - bgt _0208a298 -_02089d8c: - ldr r0, [r4, #0x1a4] - cmp r0, #0 - ldrlt r0, [r4, #0x1a8] - cmplt r0, #0 - blt _0208a298 - ldr r6, [r4, #0x158] - mov r0, r6 - bl func_ov00_020a0508 - ldr r1, [r4, #0x1a4] - mov r5, r0 - cmp r1, #0 - mov r7, #0 - blt _02089df4 - mov r0, #0x1000 - mov r1, #0x1e000 - bl func_01ff98f0 - ldr r2, [r4, #0x1a4] - sub r2, r5, r2 - mov r3, r2, lsl #0xc - umull r7, r5, r0, r3 - mov r2, r3, asr #0x1f - mla r5, r0, r2, r5 - mla r5, r1, r3, r5 - adds r0, r7, #0x80000000 - adc r7, r5, #0 - b _02089e30 -_02089df4: - ldr r0, [r4, #0x1a8] - cmp r0, #0 - blt _02089e30 - mov r0, #0x1000 - mov r1, #0x1e000 - bl func_01ff98f0 - ldr r2, [r4, #0x1a8] - sub r2, r5, r2 - mov r3, r2, lsl #0xc - umull r7, r5, r0, r3 - mov r2, r3, asr #0x1f - mla r5, r0, r2, r5 - mla r5, r1, r3, r5 - adds r0, r7, #0x80000000 - adc r7, r5, #0 -_02089e30: - add r0, r6, #0x20c - ldr r2, [r0] - mov r1, r7 - ldr r2, [r2, #0x14] - blx r2 - ldr r1, _0208a308 ; =0x0b60b60b - mov r2, #0xb6 - umull r5, r3, r0, r1 - mla r3, r0, r2, r3 - mov r0, r0, asr #0x1f - mla r3, r0, r1, r3 - adds r0, r5, #0 - adc r0, r3, #0x800 - mov r0, r0, asr #0xc - strh r0, [r4, #4] - add r0, r6, #0xcc - ldr r2, [r0] - mov r1, r7 - ldr r2, [r2, #0x14] - blx r2 - mov r8, r0 - add r0, r6, #0x7c - ldr r2, [r0] - mov r1, r7 - ldr r2, [r2, #0x14] - blx r2 - mov r5, r0 - add r0, r6, #0x2c - mov r1, r7 - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - str r0, [r4, #0x260] - str r5, [r4, #0x264] - str r8, [r4, #0x268] - add r0, r6, #0x1bc - mov r1, r7 - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - mov r8, r0 - add r0, r6, #0x16c - mov r1, r7 - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - mov r1, r7 - mov r5, r0 - add r0, r6, #0x11c - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - str r0, [r4, #0x26c] - str r5, [r4, #0x270] - str r8, [r4, #0x274] - b _0208a298 -_02089f10: - ldr r0, [r4, #0x154] - ldr r0, [r0, r1, lsl #2] - ldr r0, [r0, #0x1c] - cmp r0, #0 - bgt _0208a298 - ldr r0, [r4, #0x1a4] - cmp r0, #0 - blt _0208a298 - ldr r6, [r4, #0x158] - mov r0, r6 - bl func_ov00_020a0508 - mov r5, r0 - mov r0, #0x1000 - mov r1, #0x1e000 - bl func_01ff98f0 - ldr r2, [r4, #0x1a4] - sub r2, r5, r2 - mov r3, r2, lsl #0xc - umull r7, r5, r0, r3 - mov r2, r3, asr #0x1f - mla r5, r0, r2, r5 - add r0, r6, #0x20c - ldr r2, [r0] - mla r5, r1, r3, r5 - adds r1, r7, #0x80000000 - adc r5, r5, #0 - ldr r2, [r2, #0x14] - mov r1, r5 - blx r2 - ldr r2, _0208a308 ; =0x0b60b60b - mov r3, #0xb6 - mov r7, r0, asr #0x1f - mov r1, r5 - umull ip, r8, r0, r2 - adds ip, ip, #0 - mla r8, r0, r3, r8 - mla r8, r7, r2, r8 - adc r0, r8, #0x800 - mov r0, r0, asr #0xc - strh r0, [r4, #4] - add r0, r6, #0xcc - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - mov r8, r0 - add r0, r6, #0x7c - mov r1, r5 - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - mov r7, r0 - add r0, r6, #0x2c - mov r1, r5 - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - str r0, [r4, #0x260] - str r7, [r4, #0x264] - str r8, [r4, #0x268] - add r0, r6, #0x1bc - mov r1, r5 - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - mov r7, r0 - add r0, r6, #0x16c - mov r1, r5 - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - mov r1, r5 - mov r5, r0 - add r0, r6, #0x11c - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - str r0, [r4, #0x26c] - str r5, [r4, #0x270] - str r7, [r4, #0x274] - b _0208a298 -_0208a050: - ldr r0, [r4, #0x154] - ldr r0, [r0, r1, lsl #2] - ldr r0, [r0, #0x18] - cmp r0, #0 - bgt _0208a298 - ldr r0, [r4, #0x1a4] - cmp r0, #0 - blt _0208a298 - ldr r6, [r4, #0x158] - mov r0, r6 - bl func_ov00_020a0508 - mov r5, r0 - mov r0, #0x1000 - mov r1, #0x1e000 - bl func_01ff98f0 - ldr r2, [r4, #0x1a4] - sub r2, r5, r2 - mov r3, r2, lsl #0xc - umull r7, r5, r0, r3 - mov r2, r3, asr #0x1f - mla r5, r0, r2, r5 - add r0, r6, #0x20c - ldr r2, [r0] - mla r5, r1, r3, r5 - adds r1, r7, #0x80000000 - adc r5, r5, #0 - ldr r2, [r2, #0x14] - mov r1, r5 - blx r2 - ldr r2, _0208a308 ; =0x0b60b60b - mov r3, #0xb6 - mov r7, r0, asr #0x1f - mov r1, r5 - umull ip, r8, r0, r2 - adds ip, ip, #0 - mla r8, r0, r3, r8 - mla r8, r7, r2, r8 - adc r0, r8, #0x800 - mov r0, r0, asr #0xc - strh r0, [r4, #4] - add r0, r6, #0xcc - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - mov r8, r0 - add r0, r6, #0x7c - mov r1, r5 - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - mov r7, r0 - add r0, r6, #0x2c - mov r1, r5 - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - str r0, [r4, #0x260] - str r7, [r4, #0x264] - str r8, [r4, #0x268] - add r0, r6, #0x1bc - mov r1, r5 - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - mov r7, r0 - add r0, r6, #0x16c - mov r1, r5 - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - mov r1, r5 - mov r5, r0 - add r0, r6, #0x11c - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - str r0, [r4, #0x26c] - str r5, [r4, #0x270] - str r7, [r4, #0x274] - b _0208a298 -_0208a190: - mvn r0, #0x80000000 - str r0, [sp] - ldr r1, [r4, #0x24c] - ldr r2, [r4, #0x25c] - add r0, r4, #0x23c - mov r3, #0 - bl func_0202b418 - mvn r0, #0x80000000 - str r0, [sp] - ldr r1, [r4, #0x258] - ldr r2, [r4, #0x25c] - add r0, r4, #0x248 - mov r3, #0 - bl func_0202b418 - mvn r0, #0x80000000 - str r0, [sp] - ldr r1, [r4, #0x250] - ldr r2, [r4, #0x25c] - add r0, r4, #0x240 - mov r3, #0 - bl func_0202b418 - mvn r0, #0x80000000 - str r0, [sp] - ldr r1, [r4, #0x254] - add r0, r4, #0x244 - ldr r2, [r4, #0x25c] - mov r3, #0 - bl func_0202b418 - add r0, r4, #0x224 - add r2, r4, #0x200 - ldrsh r1, [r2, #0x28] - ldrsh r3, [r2, #0x2e] - mov r2, #0x28 - smulbb r2, r3, r2 - mov r2, r2, lsl #0x10 - mov r2, r2, asr #0x10 - bl func_0202b154 - add r0, r4, #0x26 - add r0, r0, #0x200 - add r2, r4, #0x200 - ldrsh r1, [r2, #0x2a] - ldrsh r3, [r2, #0x30] - mov r2, #0xa - smulbb r2, r3, r2 - mov r2, r2, lsl #0x10 - mov r2, r2, asr #0x10 - bl func_0202b154 - mov r2, #0 - add r0, r4, #0x200 - ldrsh r0, [r0, #0x32] - cmp r0, #0 - beq _0208a26c - mov r0, r0, lsl #0xc - bl func_01ff991c - mov r2, r0 -_0208a26c: - add r0, r4, #0x200 - ldrsh r1, [r0, #0x2c] - add r0, r4, #4 - bl func_0202b3bc - mvn r0, #0x80000000 - str r0, [sp] - ldr r2, [r4, #0x2c4] - add r0, r4, #0x26c - add r1, r4, #0x2a8 - mov r3, #0 - bl func_0202b4e4 -_0208a298: - ldr r0, [r4, #0x150] - mov r5, #0 - mov r3, #1 -_0208a2a4: - mov r1, r5, lsr #0x5 - add r1, r0, r1, lsl #2 - ldr r1, [r1, #4] - and r2, r5, #0x1f - tst r1, r3, lsl r2 - bne _0208a2cc - add r5, r5, #1 - cmp r5, #2 - blo _0208a2a4 - mov r3, #0 -_0208a2cc: - cmp r3, #0 - addeq sp, sp, #0x10 - ldmeqia sp!, {r4, r5, r6, r7, r8, pc} - add r1, sp, #4 - bl func_ov00_020a19c8 - add r0, r4, #0x260 - add r1, sp, #4 - mov r2, r0 - bl func_01ff9bc4 - add r0, r4, #0x26c - add r1, sp, #4 - mov r2, r0 - bl func_01ff9bc4 - add sp, sp, #0x10 - ldmia sp!, {r4, r5, r6, r7, r8, pc} - .align 2, 0 - arm_func_end func_ov00_02089d0c -_0208a308: .word 0x0b60b60b - - .global func_ov00_0208a30c - arm_func_start func_ov00_0208a30c -func_ov00_0208a30c: ; 0x0208a30c - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0xc - mov r6, r1 - mov r4, r0 - mov r0, r6 - bl func_ov00_0208e680 - cmp r0, #0 - addeq sp, sp, #0xc - ldmeqia sp!, {r3, r4, r5, r6, pc} - mov r5, #0 - add r2, sp, #8 - add r3, sp, #4 - mov r0, r4 - mov r1, r6 - str r5, [sp] - bl func_01ffe468 - ldr r0, [sp, #8] - cmp r0, #0 - blt _0208a374 - cmp r0, #0xff - bgt _0208a374 - ldr r0, [sp, #4] - cmp r0, #0 - blt _0208a374 - cmp r0, #0xbf - ble _0208a378 -_0208a374: - mov r5, #1 -_0208a378: - mov r1, #0 - str r1, [sp] - add r2, sp, #8 - add r3, sp, #4 - mov r0, r4 - add r1, r6, #0xc - bl func_01ffe468 - ldr r0, [sp, #8] - cmp r0, #0 - blt _0208a3bc - cmp r0, #0xff - bgt _0208a3bc - ldr r0, [sp, #4] - cmp r0, #0 - blt _0208a3bc - cmp r0, #0xbf - ble _0208a3c0 -_0208a3bc: - mov r5, #1 -_0208a3c0: - cmp r5, #0 - beq _0208a414 - ldr r0, [r4, #0x24c] - add r0, r0, #0x33 - add r0, r0, #0x300 - str r0, [r4, #0x24c] - ldr r0, [r4, #0x15c] - bl func_ov00_02087d84 - ldr r1, [r0, #0x5c] - cmp r1, #0 - bne _0208a3f8 - ldr r0, [r4, #0x15c] - bl func_ov00_02087d84 - ldr r1, [r0, #0x18] -_0208a3f8: - ldr r0, [r4, #0x24c] - add sp, sp, #0xc - cmp r0, r1 - strge r1, [r4, #0x24c] - mov r0, #0 - str r0, [r4, #0x1ac] - ldmia sp!, {r3, r4, r5, r6, pc} -_0208a414: - ldr r0, [r4, #0x1ac] - add r0, r0, #1 - cmp r0, #0x2d - addle sp, sp, #0xc - str r0, [r4, #0x1ac] - ldmleia sp!, {r3, r4, r5, r6, pc} - ldr r1, [r4, #0x24c] - mov r0, #0x68 - sub r3, r1, #0x66 - sub r3, r3, #0x200 - str r3, [r4, #0x24c] - ldr r2, [r4, #0x15c] - ldr r1, _0208a460 ; =data_ov00_020d8ac0 - mul r0, r2, r0 - ldr r0, [r1, r0] - cmp r3, r0 - strle r0, [r4, #0x24c] - add sp, sp, #0xc - ldmia sp!, {r3, r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0208a30c -_0208a460: .word data_ov00_020d8ac0 - - .global func_ov00_0208a464 - arm_func_start func_ov00_0208a464 -func_ov00_0208a464: ; 0x0208a464 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0x5c - mov r6, r0 - ldr r1, [r6, #0x26c] - str r1, [r6, #0x308] - ldr r1, [r6, #0x270] - str r1, [r6, #0x30c] - ldr r1, [r6, #0x274] - str r1, [r6, #0x310] - ldr r1, [r6, #0x26c] - str r1, [r6, #0x314] - ldr r1, [r6, #0x270] - str r1, [r6, #0x318] - ldr r1, [r6, #0x274] - str r1, [r6, #0x31c] - bl func_ov00_02088244 - cmp r0, #0 - beq _0208a4d0 - mov r3, #0x8000 - mov r2, #0 - add r1, sp, #0x50 - add r0, r6, #0x308 - str r3, [sp, #0x50] - str r2, [sp, #0x54] - str r3, [sp, #0x58] - bl func_ov00_0208edd8 - b _0208a77c -_0208a4d0: - ldr r1, _0208a844 ; =data_027e0e60 - add r0, sp, #0x18 - ldr r1, [r1] - bl _ZN10MapManager18func_ov00_02084100EiPS_ - ldrsh r2, [r6, #4] - add r1, r6, #0x260 - mov r0, #0 - str r2, [sp] - ldr r3, [r6, #8] - add r2, r6, #0x1c - str r3, [sp, #4] - str r1, [sp, #8] - str r2, [sp, #0xc] - add r1, sp, #0x44 - str r1, [sp, #0x10] - mov r1, r0 - mov r2, r0 - str r0, [sp, #0x14] - mov r3, #0x59 - bl func_01ffb7ec - ldrsh r2, [r6, #4] - add r0, r6, #0x260 - mov r1, #0 - str r2, [sp] - ldr r3, [r6, #8] - add r2, r6, #0x1c - str r3, [sp, #4] - str r0, [sp, #8] - str r2, [sp, #0xc] - add r0, sp, #0x2c - str r0, [sp, #0x10] - mov r2, r1 - str r1, [sp, #0x14] - mov r0, #0xff - mov r3, #0x59 - bl func_01ffb7ec - ldrsh r0, [r6, #4] - add r2, r6, #0x260 - add r1, r6, #0x1c - str r0, [sp] - ldr r3, [r6, #8] - add r0, sp, #0x38 - str r3, [sp, #4] - str r2, [sp, #8] - str r1, [sp, #0xc] - str r0, [sp, #0x10] - mov r0, #0 - str r0, [sp, #0x14] - mov r1, #0xbf - mov r2, r0 - mov r3, #0x59 - bl func_01ffb7ec - ldrsh r0, [r6, #4] - add r2, r6, #0x260 - add r1, r6, #0x1c - str r0, [sp] - ldr r3, [r6, #8] - add r0, sp, #0x20 - str r3, [sp, #4] - str r2, [sp, #8] - str r1, [sp, #0xc] - str r0, [sp, #0x10] - mov r2, #0 - str r2, [sp, #0x14] - mov r0, #0xff - mov r1, #0xbf - mov r3, #0x59 - bl func_01ffb7ec - ldr r1, [sp, #0x48] - mov r0, #0x1000 - add r1, r1, #0x3000 - rsb r0, r0, #0 - str r1, [sp, #0x48] - str r0, [sp, #0x24] - add r0, r6, #0x308 - add r1, sp, #0x44 - bl func_ov00_0208ed74 - add r0, r6, #0x308 - add r1, sp, #0x2c - bl func_ov00_0208ed74 - add r1, sp, #0x38 - add r0, r6, #0x308 - bl func_ov00_0208ed74 - add r1, sp, #0x20 - add r0, r6, #0x308 - bl func_ov00_0208ed74 - ldr r0, _0208a848 ; =data_027e0f94 - ldrsh r2, [r6, #4] - ldr r4, [sp, #0x1c] - ldr r0, [r0, #4] - add r1, r6, #0x260 - str r2, [sp] - ldr r3, [r6, #8] - cmp r4, r0 - str r3, [sp, #4] - str r1, [sp, #8] - add r2, r6, #0x1c - movle r4, r0 - str r2, [sp, #0xc] - add r1, sp, #0x44 - mov r0, #0 - str r1, [sp, #0x10] - mov r1, r0 - mov r2, r4 - str r0, [sp, #0x14] - mov r3, #0x59 - bl func_01ffb7ec - ldrsh r0, [r6, #4] - add r2, r6, #0x260 - add r1, r6, #0x1c - str r0, [sp] - ldr r3, [r6, #8] - add r0, sp, #0x2c - str r3, [sp, #4] - str r2, [sp, #8] - str r1, [sp, #0xc] - str r0, [sp, #0x10] - mov r1, #0 - mov r2, r4 - str r1, [sp, #0x14] - mov r0, #0xff - mov r3, #0x59 - bl func_01ffb7ec - ldrsh r0, [r6, #4] - add r2, r6, #0x260 - add r1, r6, #0x1c - str r0, [sp] - ldr r3, [r6, #8] - add r0, sp, #0x38 - str r3, [sp, #4] - str r2, [sp, #8] - str r1, [sp, #0xc] - str r0, [sp, #0x10] - mov r0, #0 - mov r2, r4 - str r0, [sp, #0x14] - mov r1, #0xbf - mov r3, #0x59 - bl func_01ffb7ec - ldrsh r0, [r6, #4] - mov r2, r4 - add r3, r6, #0x260 - str r0, [sp] - ldr r4, [r6, #8] - add r1, r6, #0x1c - str r4, [sp, #4] - str r3, [sp, #8] - str r1, [sp, #0xc] - add r0, sp, #0x20 - str r0, [sp, #0x10] - mov r0, #0 - str r0, [sp, #0x14] - mov r0, #0xff - mov r1, #0xbf - mov r3, #0x59 - bl func_01ffb7ec - ldr r1, [sp, #0x48] - add r0, r6, #0x308 - add r1, r1, #0x3000 - str r1, [sp, #0x48] - add r1, sp, #0x44 - bl func_ov00_0208ed74 - add r0, r6, #0x308 - add r1, sp, #0x2c - bl func_ov00_0208ed74 - add r0, r6, #0x308 - add r1, sp, #0x38 - bl func_ov00_0208ed74 - add r0, r6, #0x308 - add r1, sp, #0x20 - bl func_ov00_0208ed74 -_0208a77c: - ldr r0, _0208a844 ; =data_027e0e60 - ldr r0, [r0] - bl _ZN10MapManager17Get_MapData_Unk28Ev - ldr r1, _0208a844 ; =data_027e0e60 - mov r4, r0 - ldr r0, [r1] - bl _ZN10MapManager17Get_MapData_Unk2aEv - ldr r1, _0208a844 ; =data_027e0e60 - mov r5, r0 - ldr r0, [r1] - ldr r1, [r6, #0x308] - bl _ZN10MapManager18func_ov00_020839d4Ev - strb r0, [r6, #0x320] - ldr r0, _0208a844 ; =data_027e0e60 - ldr r1, [r6, #0x310] - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_020839f8Ev - strb r0, [r6, #0x321] - ldr r0, _0208a844 ; =data_027e0e60 - ldr r1, [r6, #0x314] - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_020839d4Ev - and r1, r0, #0xff - add r0, r1, #2 - strb r0, [r6, #0x322] - ldrb r0, [r6, #0x320] - cmp r0, #0 - moveq r0, #0 - streqb r0, [r6, #0x320] - ldrb r0, [r6, #0x322] - cmp r0, r4 - subge r0, r4, #1 - strgeb r0, [r6, #0x322] - ldr r0, _0208a844 ; =data_027e0e60 - ldr r1, [r6, #0x31c] - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_020839f8Ev - and r1, r0, #0xff - add r0, r1, #1 - strb r0, [r6, #0x323] - ldrb r0, [r6, #0x321] - cmp r0, #0 - moveq r0, #0 - streqb r0, [r6, #0x321] - ldrb r0, [r6, #0x323] - cmp r0, r5 - subge r0, r5, #1 - strgeb r0, [r6, #0x323] - add sp, sp, #0x5c - ldmia sp!, {r3, r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0208a464 -_0208a844: .word data_027e0e60 -_0208a848: .word data_027e0f94 - - .global func_ov00_0208a84c - arm_func_start func_ov00_0208a84c -func_ov00_0208a84c: ; 0x0208a84c - cmp r1, #0xd - addls pc, pc, r1, lsl #2 - b _0208a898 -_0208a858: ; jump table - b _0208a898 ; case 0 - b _0208a898 ; case 1 - b _0208a898 ; case 2 - b _0208a898 ; case 3 - b _0208a890 ; case 4 - b _0208a890 ; case 5 - b _0208a890 ; case 6 - b _0208a898 ; case 7 - b _0208a898 ; case 8 - b _0208a898 ; case 9 - b _0208a898 ; case 10 - b _0208a898 ; case 11 - b _0208a898 ; case 12 - b _0208a890 ; case 13 -_0208a890: - mov r0, #0 - bx lr -_0208a898: - mov r0, #1 - bx lr - arm_func_end func_ov00_0208a84c - - .global func_ov00_0208a8a0 - arm_func_start func_ov00_0208a8a0 -func_ov00_0208a8a0: ; 0x0208a8a0 - cmp r1, #4 - cmpne r1, #0xd - bne _0208a8b4 - mov r0, #0 - bx lr -_0208a8b4: - mov r0, #1 - bx lr - arm_func_end func_ov00_0208a8a0 - - .global func_ov00_0208a8bc - arm_func_start func_ov00_0208a8bc -func_ov00_0208a8bc: ; 0x0208a8bc - stmdb sp!, {lr} - sub sp, sp, #0xc - mov r3, #0x2000 - mov r2, #0 - add r1, sp, #0 - add r0, r0, #0x2f0 - str r3, [sp] - str r2, [sp, #4] - str r3, [sp, #8] - bl func_ov00_0208edd8 - add sp, sp, #0xc - ldmia sp!, {pc} - arm_func_end func_ov00_0208a8bc - - .global func_ov00_0208a8ec - arm_func_start func_ov00_0208a8ec -func_ov00_0208a8ec: ; 0x0208a8ec - stmdb sp!, {r3, r4, r5, lr} - mov r4, r1 - mov r2, #0 - mov r5, r0 - mov r1, #1 - strb r2, [sp] - bl func_ov00_0208ac68 - mov r0, r5 - mov r2, r4 - mov r1, #1 - bl func_ov00_0208aa74 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0208a8ec - - .global func_ov00_0208a91c - arm_func_start func_ov00_0208a91c -func_ov00_0208a91c: ; 0x0208a91c - stmdb sp!, {r3, r4, r5, lr} - ldr ip, [r0] - ldr r3, [r0, #4] - mov r2, #0x28 - mla r4, r3, r2, ip - movs r5, r1 - sub r1, r3, r5 - str r1, [r0, #4] - ldmeqia sp!, {r3, r4, r5, pc} -_0208a940: - sub r4, r4, #0x28 - mov r0, r4 - bl func_ov00_020a0368 - subs r5, r5, #1 - bne _0208a940 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0208a91c - - .global func_ov00_0208a958 - arm_func_start func_ov00_0208a958 -func_ov00_0208a958: ; 0x0208a958 - stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} - sub sp, sp, #4 - mov r6, r0 - ldr r3, [r6] - ldr r2, [r6, #4] - mov r0, #0x28 - mla r4, r2, r0, r3 - mov r5, r1 - sub r1, r4, r5 - ldr r2, _0208aa38 ; =0x66666667 - mov r0, r1, lsr #0x1f - smull r1, r3, r2, r1 - add r3, r0, r3, asr #4 - subs r0, r3, #1 - beq _0208aa08 - add ip, r5, #0x28 - mov lr, r5 - cmp ip, r4 - bhs _0208aa08 -_0208a9a4: - mov r8, ip - mov r7, lr - ldmia r8!, {r0, r1, r2, r3} - stmia r7!, {r0, r1, r2, r3} - ldmia r8, {r0, r1, r2} - stmia r7, {r0, r1, r2} - add r7, ip, #0x1c - add r3, lr, #0x1c - mov r2, #3 -_0208a9c8: - ldrb r1, [r7] - ldrb r0, [r7, #1] - add r7, r7, #2 - subs r2, r2, #1 - strb r1, [r3] - strb r0, [r3, #1] - add r3, r3, #2 - bne _0208a9c8 - ldrb r0, [r7] - strb r0, [r3] - ldr r0, [ip, #0x24] - add ip, ip, #0x28 - str r0, [lr, #0x24] - cmp ip, r4 - add lr, lr, #0x28 - blo _0208a9a4 -_0208aa08: - mov r0, #0 - strb r0, [sp] - ldr r1, [r6, #4] - mov r0, #0x28 - sub r2, r1, #1 - str r2, [r6, #4] - ldr r1, [r6] - mla r0, r2, r0, r1 - bl func_ov00_020a0368 - mov r0, r5 - add sp, sp, #4 - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} - .align 2, 0 - arm_func_end func_ov00_0208a958 -_0208aa38: .word 0x66666667 - - .global func_ov00_0208aa3c - arm_func_start func_ov00_0208aa3c -func_ov00_0208aa3c: ; 0x0208aa3c - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r0, [r5, #4] - mov r4, r1 - cmp r4, r0 - blo _0208aa60 - ldr r0, _0208aa70 ; =data_ov00_020e2568 - bl func_02045810 - bl func_02042d50 -_0208aa60: - ldr r1, [r5] - mov r0, #0x28 - mla r0, r4, r0, r1 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0208aa3c -_0208aa70: .word data_ov00_020e2568 - - .global func_ov00_0208aa74 - arm_func_start func_ov00_0208aa74 -func_ov00_0208aa74: ; 0x0208aa74 - stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} - sub sp, sp, #0x1c - mov r4, r0 - mov r6, r1 - add r0, sp, #8 - add r1, r4, #8 - mov r5, r2 - bl func_ov00_0208ae28 - mov r0, #0 - str r0, [sp, #0x18] - ldmib r4, {r0, r1} - add r2, r0, r6 - mov r0, r4 - sub r1, r2, r1 - bl func_ov00_0208ac68 - mov r3, #0 - mov r1, r0 - strb r3, [sp, #4] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - add r0, sp, #8 - strb r3, [sp] - bl func_ov00_0208add4 - ldr r3, [r4, #4] - mov r0, #0 - strb r0, [sp, #3] - ldr r1, [sp, #8] - mov r0, #0x28 - mla r2, r3, r0, r1 - ldr r1, [sp, #0xc] - str r3, [sp, #0x18] - mla ip, r1, r0, r2 - cmp r6, #0 - mov lr, r6 - beq _0208ab64 -_0208ab04: - mov r8, r5 - mov r7, ip - ldmia r8!, {r0, r1, r2, r3} - stmia r7!, {r0, r1, r2, r3} - ldmia r8, {r0, r1, r2} - stmia r7, {r0, r1, r2} - add r7, r5, #0x1c - add r3, ip, #0x1c - mov r2, #3 -_0208ab28: - ldrb r1, [r7] - ldrb r0, [r7, #1] - add r7, r7, #2 - subs r2, r2, #1 - strb r1, [r3] - strb r0, [r3, #1] - add r3, r3, #2 - bne _0208ab28 - ldrb r0, [r7] - subs lr, lr, #1 - strb r0, [r3] - ldr r0, [r5, #0x24] - str r0, [ip, #0x24] - add ip, ip, #0x28 - bne _0208ab04 -_0208ab64: - ldr r1, [sp, #0xc] - mov r0, #0x28 - add r1, r1, r6 - str r1, [sp, #0xc] - ldr r5, [r4] - ldr r1, [r4, #4] - mov r3, #0 - mla ip, r1, r0, r5 - ldr r2, [sp, #8] - ldr r1, [sp, #0x18] - strb r3, [sp, #2] - mla lr, r1, r0, r2 - cmp ip, r5 - bls _0208ac1c -_0208ab9c: - sub ip, ip, #0x28 - subs lr, lr, #0x28 - beq _0208abfc - mov r7, ip - mov r6, lr - ldmia r7!, {r0, r1, r2, r3} - stmia r6!, {r0, r1, r2, r3} - ldmia r7, {r0, r1, r2} - stmia r6, {r0, r1, r2} - add r6, ip, #0x1c - add r3, lr, #0x1c - mov r2, #3 -_0208abcc: - ldrb r1, [r6] - ldrb r0, [r6, #1] - add r6, r6, #2 - subs r2, r2, #1 - strb r1, [r3] - strb r0, [r3, #1] - add r3, r3, #2 - bne _0208abcc - ldrb r0, [r6] - strb r0, [r3] - ldr r0, [ip, #0x24] - str r0, [lr, #0x24] -_0208abfc: - ldr r1, [sp, #0x18] - ldr r0, [sp, #0xc] - sub r1, r1, #1 - add r0, r0, #1 - str r1, [sp, #0x18] - str r0, [sp, #0xc] - cmp ip, r5 - bhi _0208ab9c -_0208ac1c: - mov r0, #0 - strb r0, [sp, #1] - add r3, sp, #0x10 - ldr r2, [r4, #8] - ldr r1, [r3] - add r0, sp, #8 - str r1, [r4, #8] - str r2, [r3] - ldr r2, [r4] - ldr r1, [sp, #8] - str r1, [r4] - str r2, [sp, #8] - ldr r2, [r4, #4] - ldr r1, [sp, #0xc] - str r1, [r4, #4] - str r2, [sp, #0xc] - bl func_ov00_0208ad38 - add sp, sp, #0x1c - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} - arm_func_end func_ov00_0208aa74 - - .global func_ov00_0208ac68 - arm_func_start func_ov00_0208ac68 -func_ov00_0208ac68: ; 0x0208ac68 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, lr} - sub sp, sp, #8 - ldr r4, [r0, #8] - ldr r0, _0208ad2c ; =0x06666666 - ldr r1, [sp, #0x14] - sub r0, r0, r4 - cmp r1, r0 - bls _0208ac90 - bl func_0204dd9c -_0208ac90: - ldr r0, _0208ad30 ; =0x02222222 - cmp r4, r0 - bhs _0208acdc - add r1, r4, #1 - ldr r0, _0208ad34 ; =0xcccccccd - add r1, r1, r1, lsl #1 - umull r0, r2, r1, r0 - mov r2, r2, lsr #0x2 - ldr r0, [sp, #0x14] - str r2, [sp, #4] - cmp r0, r2 - addhi r0, sp, #0x14 - addls r0, sp, #4 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_0208acdc: - cmp r4, r0, lsl #1 - bhs _0208ad18 - ldr r0, [sp, #0x14] - add r1, r4, #1 - mov r2, r1, lsr #0x1 - cmp r0, r1, lsr #1 - addhi r0, sp, #0x14 - str r2, [sp] - addls r0, sp, #0 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_0208ad18: - ldr r0, _0208ad2c ; =0x06666666 - add sp, sp, #8 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr - .align 2, 0 - arm_func_end func_ov00_0208ac68 -_0208ad2c: .word 0x06666666 -_0208ad30: .word 0x02222222 -_0208ad34: .word 0xcccccccd - - .global func_ov00_0208ad38 - arm_func_start func_ov00_0208ad38 -func_ov00_0208ad38: ; 0x0208ad38 - stmdb sp!, {r4, r5, r6, lr} - mov r4, r0 - ldr r2, [r4] - ldr r1, [r4, #0x10] - mov r0, #0x28 - mla r5, r1, r0, r2 - ldr r1, [r4, #4] - mla r6, r1, r0, r5 - cmp r6, r5 - bls _0208ad74 -_0208ad60: - sub r6, r6, #0x28 - mov r0, r6 - bl func_ov00_020a0368 - cmp r6, r5 - bhi _0208ad60 -_0208ad74: - mov r1, #0 - mov r0, r4 - str r1, [r4, #4] - bl func_ov00_0208ad8c - mov r0, r4 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_0208ad38 - - .global func_ov00_0208ad8c - arm_func_start func_ov00_0208ad8c -func_ov00_0208ad8c: ; 0x0208ad8c - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r1, [r4] - cmp r1, #0 - beq _0208adc8 - ldr r1, [r4, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_0208ae58 - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_0208adc8: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_0208ad8c - - .global func_ov00_0208add4 - arm_func_start func_ov00_0208add4 -func_ov00_0208add4: ; 0x0208add4 - stmdb sp!, {r3, r4, r5, lr} - ldr r2, _0208ae20 ; =0x06666666 - mov r4, r1 - mov r5, r0 - cmp r4, r2 - bls _0208adf0 - bl func_0204dd9c -_0208adf0: - ldr r0, _0208ae24 ; =data_027e0f80 - mov r2, #4 - ldr r0, [r0] - cmp r0, #0 - moveq r1, #0 - ldrne r1, [r0] - mov r0, #0x28 - mul r0, r4, r0 - bl _ZN9SysObjectnwEmPjj - str r0, [r5] - str r4, [r5, #8] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0208add4 -_0208ae20: .word 0x06666666 -_0208ae24: .word data_027e0f80 - - .global func_ov00_0208ae28 - arm_func_start func_ov00_0208ae28 -func_ov00_0208ae28: ; 0x0208ae28 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r2, r1 - mov r1, #0 - str r1, [r4] - add r0, r4, #8 - str r1, [r4, #4] - bl func_ov00_0208ae50 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208ae28 - - .global func_ov00_0208ae50 - arm_func_start func_ov00_0208ae50 -func_ov00_0208ae50: ; 0x0208ae50 - stmia r0, {r1, r2} - bx lr - arm_func_end func_ov00_0208ae50 - - .global func_ov00_0208ae58 - arm_func_start func_ov00_0208ae58 -func_ov00_0208ae58: ; 0x0208ae58 - stmdb sp!, {r3, r4, r5, lr} - ldr ip, [r0] - ldr r3, [r0, #4] - mov r2, #0x28 - mla r4, r3, r2, ip - movs r5, r1 - sub r1, r3, r5 - str r1, [r0, #4] - ldmeqia sp!, {r3, r4, r5, pc} -_0208ae7c: - sub r4, r4, #0x28 - mov r0, r4 - bl func_ov00_020a0368 - subs r5, r5, #1 - bne _0208ae7c - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0208ae58 - - .global func_ov00_0208ae94 - arm_func_start func_ov00_0208ae94 -func_ov00_0208ae94: ; 0x0208ae94 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r0, [r4, #4] - ldr r1, [r0] - ldr r1, [r1] - blx r1 - ldr r0, [r4, #8] - ldr r1, [r0] - ldr r1, [r1] - blx r1 - ldr r0, [r4, #4] - mov r1, #0 - bl func_ov00_0208726c - ldr r0, [r4, #8] - mov r1, #0 - bl func_ov00_0208726c - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208ae94 - - .global func_ov00_0208aed8 - arm_func_start func_ov00_0208aed8 -func_ov00_0208aed8: ; 0x0208aed8 - stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} - sub sp, sp, #0x104 - mov r5, #0 - mov r0, #0xff - add r3, sp, #0x18 - mov r4, r1 - str r5, [sp, #0x18] - strb r0, [sp, #0x1c] - strh r5, [sp, #0x2c] - strh r5, [sp, #0x2e] - mov r2, r5 -_0208af04: - add r0, r3, r5, lsl #1 - add r5, r5, #1 - strh r2, [r0, #0x18] - cmp r5, #2 - blo _0208af04 - ldr r0, _0208b114 ; =data_027e0e60 - add r1, sp, #0x18 - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_02083928EPci - ldr r0, [sp, #0x18] - cmp r0, #0x31 - bne _0208b0dc - ldr r0, _0208b118 ; =data_027e0f64 - add r1, sp, #0x9c - ldr r0, [r0] - ldr r0, [r0, #4] - bl func_ov00_02087d34 - mov r0, #4 - bl func_ov00_02087d84 - ldr r1, [r0] - ldr r7, [sp, #0xa8] - str r1, [sp, #0x34] - ldr r1, [r0, #4] - ldr r6, [sp, #0xac] - str r1, [sp, #0x38] - ldr r1, [r0, #8] - ldr r5, [sp, #0xb0] - str r1, [sp, #0x3c] - ldr r1, [r0, #0xc] - ldr lr, [sp, #0xb4] - str r1, [sp, #0x40] - ldr r1, [r0, #0x10] - ldr ip, [sp, #0xb8] - str r1, [sp, #0x44] - ldr r1, [r0, #0x14] - ldr r2, [sp, #0xbc] - str r1, [sp, #0x48] - ldr r3, [r0, #0x18] - ldr r1, [sp, #0xc0] - str r3, [sp, #0x4c] - ldr r8, [r0, #0x1c] - add r3, sp, #0xc - str r8, [sp, #0x50] - ldr r8, [r0, #0x20] - str r8, [sp, #0x54] - ldr r8, [r0, #0x24] - str r8, [sp, #0x58] - ldr r8, [r0, #0x28] - str r8, [sp, #0x5c] - ldr r8, [r0, #0x2c] - str r8, [sp, #0x60] - ldr r8, [r0, #0x30] - str r8, [sp, #0x64] - ldr r8, [r0, #0x34] - str r8, [sp, #0x68] - ldr r8, [r0, #0x38] - str r8, [sp, #0x6c] - ldr r8, [r0, #0x3c] - str r8, [sp, #0x70] - ldr r8, [r0, #0x40] - str r8, [sp, #0x74] - ldr r8, [r0, #0x44] - str r8, [sp, #0x78] - ldr r8, [r0, #0x48] - str r8, [sp, #0x7c] - ldr r8, [r0, #0x4c] - str r8, [sp, #0x80] - ldr r8, [r0, #0x50] - str r8, [sp, #0x84] - ldr r8, [r0, #0x54] - str r8, [sp, #0x88] - ldr r8, [r0, #0x58] - str r8, [sp, #0x8c] - ldr r8, [r0, #0x5c] - str r8, [sp, #0x90] - ldrb r8, [r0, #0x60] - strb r8, [sp, #0x94] - ldrb r8, [r0, #0x61] - strb r8, [sp, #0x95] - ldrb r8, [r0, #0x62] - strb r8, [sp, #0x96] - ldrb r8, [r0, #0x63] - strb r8, [sp, #0x97] - ldrb r0, [r0, #0x64] - str r7, [sp, #0x40] - str r6, [sp, #0x44] - str r5, [sp, #0x48] - str lr, [sp, #0x4c] - str ip, [sp, #0x50] - strb r0, [sp, #0x98] - str r2, [sp, #0x54] - str r1, [sp, #0x58] - ldmia r4, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r1, sp, #0x20 - mov r0, r3 - mov r2, r3 - bl func_01ff9bf8 - ldr r0, [sp, #0xc] - ldr r1, [sp, #0x14] - bl func_01ffa0f4 - mov r0, r0, lsl #0x10 - mov r0, r0, asr #0x10 - str r0, [sp, #0x48] - mov r0, #2 - str r0, [sp] - mov r1, #0 - str r1, [sp, #4] - str r1, [sp, #8] - ldr r0, _0208b118 ; =data_027e0f64 - add r3, sp, #0x34 - ldr r0, [r0] - mov r2, r4 - ldr r0, [r0, #4] - mov r1, #0xf - bl func_ov00_020888e8 - add sp, sp, #0x104 - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} -_0208b0dc: - mov r1, #0 - str r1, [sp] - mov r0, #1 - str r0, [sp, #4] - ldr r0, _0208b118 ; =data_027e0f64 - str r1, [sp, #8] - ldr r0, [r0] - mov r2, r4 - ldr r0, [r0, #4] - mov r1, #0xf - mov r3, #2 - bl func_ov00_020884b4 - add sp, sp, #0x104 - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} - .align 2, 0 - arm_func_end func_ov00_0208aed8 -_0208b114: .word data_027e0e60 -_0208b118: .word data_027e0f64 - - .global func_ov00_0208b11c - arm_func_start func_ov00_0208b11c -func_ov00_0208b11c: ; 0x0208b11c - stmdb sp!, {r3, lr} - add r0, r0, r1, lsl #2 - ldr r0, [r0, #4] - mov r1, r2 - arm_func_end func_ov00_0208b11c - - .global func_ov00_0208b12c - arm_func_start func_ov00_0208b12c -func_ov00_0208b12c: ; 0x0208b12c - ldr r2, [r0] - ldr r2, [r2, #4] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208b12c - - .global func_ov00_0208b13c - arm_func_start func_ov00_0208b13c -func_ov00_0208b13c: ; 0x0208b13c - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r0, [r4, #4] - bl func_ov00_02086e80 - ldr r0, [r4, #8] - bl func_ov00_02086e80 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208b13c - - .global func_ov00_0208b158 - arm_func_start func_ov00_0208b158 -func_ov00_0208b158: ; 0x0208b158 - ldr r1, _0208b178 ; =data_027e077c - ldr r2, _0208b17c ; =data_02056be4 - ldr r1, [r1] - ldrb r1, [r2, r1] - tst r1, #1 - ldrne r0, [r0, #4] - ldreq r0, [r0, #8] - bx lr - .align 2, 0 - arm_func_end func_ov00_0208b158 -_0208b178: .word data_027e077c -_0208b17c: .word data_02056be4 - - .global func_ov00_0208b180 - arm_func_start func_ov00_0208b180 -func_ov00_0208b180: ; 0x0208b180 - ldr r1, _0208b1a0 ; =data_027e077c - ldr r2, _0208b1a4 ; =data_02056be4 - ldr r1, [r1] - ldrb r1, [r2, r1] - tst r1, #1 - ldrne r0, [r0, #8] - ldreq r0, [r0, #4] - bx lr - .align 2, 0 - arm_func_end func_ov00_0208b180 -_0208b1a0: .word data_027e077c -_0208b1a4: .word data_02056be4 - - .global func_ov00_0208b1a8 - arm_func_start func_ov00_0208b1a8 -func_ov00_0208b1a8: ; 0x0208b1a8 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r1 - mov r5, r2 - mov r4, r3 - bl func_ov00_0208b180 - mov r1, r6 - mov r2, r5 - mov r3, r4 - bl func_ov00_02088454 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_0208b1a8 - - .global func_ov00_0208b1d0 - arm_func_start func_ov00_0208b1d0 -func_ov00_0208b1d0: ; 0x0208b1d0 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r1 - mov r5, r2 - mov r4, r3 - bl func_ov00_0208b180 - mov r1, r6 - mov r2, r5 - mov r3, r4 - bl func_ov00_02088474 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_0208b1d0 - - .global func_ov00_0208b1f8 - arm_func_start func_ov00_0208b1f8 -func_ov00_0208b1f8: ; 0x0208b1f8 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r1 - mov r5, r2 - mov r4, r3 - bl func_ov00_0208b180 - mov r1, r6 - mov r2, r5 - mov r3, r4 - bl func_ov00_02088494 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_0208b1f8 - - .global func_ov00_0208b220 - arm_func_start func_ov00_0208b220 -func_ov00_0208b220: ; 0x0208b220 - stmdb sp!, {r3, lr} - sub sp, sp, #8 - add r3, r0, r0, lsl #1 - add r1, r3, #1 - add r0, r3, #2 - ldr r2, _0208b274 ; =data_ov00_020e25b0 - mov ip, r3, lsl #0x1 - mov r0, r0, lsl #0x1 - ldrh r3, [r2, r0] - mov r1, r1, lsl #0x1 - ldrh ip, [r2, ip] - ldrh r2, [r2, r1] - add r1, sp, #0 - mov r0, #0x23 - orr ip, ip, r2, lsl #16 - mov r2, #2 - str ip, [sp] - str r3, [sp, #4] - bl func_01ffa9fc - add sp, sp, #8 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0208b220 -_0208b274: .word data_ov00_020e25b0 - - .global func_ov00_0208b278 - arm_func_start func_ov00_0208b278 -func_ov00_0208b278: ; 0x0208b278 - stmdb sp!, {r3, lr} - ldr r2, _0208b29c ; =data_ov00_020e2588 - add r1, sp, #0 - ldr r3, [r2, r0, lsl #2] - mov r0, #0x21 - mov r2, #1 - str r3, [sp] - bl func_01ffa9fc - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0208b278 -_0208b29c: .word data_ov00_020e2588 - - .global func_ov00_0208b2a0 - arm_func_start func_ov00_0208b2a0 -func_ov00_0208b2a0: ; 0x0208b2a0 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0xc - mov r6, r0 - mov r0, r3 - mov r5, r1 - mov r4, r2 - bl func_ov00_0208b278 - ldrh r0, [sp, #0x24] - ldrh r3, [sp, #0x20] - add r1, sp, #8 - mov r0, r0, lsl #0x14 - mov r2, r0, asr #0x10 - mov r0, r3, lsl #0x14 - mov r2, r2, lsl #0x10 - mov r0, r0, asr #0x10 - mov r2, r2, lsr #0x10 - mov r0, r0, lsl #0x10 - mov r2, r2, lsl #0x10 - orr r3, r2, r0, lsr #16 - mov r0, #0x22 - mov r2, #1 - str r3, [sp, #8] - bl func_01ffa9fc - mov r0, r6 - bl func_ov00_0208b220 - ldrh r2, [sp, #0x2c] - ldrh r1, [sp, #0x28] - mov r0, #0x22 - mov r2, r2, lsl #0x14 - mov r2, r2, asr #0x10 - mov r1, r1, lsl #0x14 - mov r2, r2, lsl #0x10 - mov r1, r1, asr #0x10 - mov r2, r2, lsr #0x10 - mov r1, r1, lsl #0x10 - mov r2, r2, lsl #0x10 - orr r1, r2, r1, lsr #16 - str r1, [sp, #4] - add r1, sp, #4 - mov r2, #1 - bl func_01ffa9fc - mov r0, r5 - bl func_ov00_0208b220 - ldrh r2, [sp, #0x34] - ldrh r1, [sp, #0x30] - mov r0, #0x22 - mov r2, r2, lsl #0x14 - mov r2, r2, asr #0x10 - mov r1, r1, lsl #0x14 - mov r2, r2, lsl #0x10 - mov r1, r1, asr #0x10 - mov r2, r2, lsr #0x10 - mov r1, r1, lsl #0x10 - mov r2, r2, lsl #0x10 - orr r1, r2, r1, lsr #16 - str r1, [sp] - add r1, sp, #0 - mov r2, #1 - bl func_01ffa9fc - mov r0, r4 - bl func_ov00_0208b220 - add sp, sp, #0xc - ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end func_ov00_0208b2a0 - - .global func_ov00_0208b39c - arm_func_start func_ov00_0208b39c -func_ov00_0208b39c: ; 0x0208b39c - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x10 - mov r4, r0 - ldr r0, [sp, #0x30] - mov r9, r1 - mov r8, r2 - mov r7, r3 - bl func_ov00_0208b278 - ldrh r0, [sp, #0x40] - ldrh r2, [sp, #0x3c] - add r1, sp, #0xc - mov r0, r0, lsl #0x14 - mov r2, r2, lsl #0x14 - mov r0, r0, asr #0x10 - mov r2, r2, asr #0x10 - mov r0, r0, lsl #0x10 - mov r2, r2, lsl #0x10 - mov r6, r2, lsr #0x10 - mov r5, r0, lsr #0x10 - orr r0, r6, r5, lsl #16 - str r0, [sp, #0xc] - mov r0, #0x22 - mov r2, #1 - bl func_01ffa9fc - mov r0, r4 - bl func_ov00_0208b220 - ldrh r2, [sp, #0x38] - mov r0, #0x22 - add r1, sp, #8 - mov r2, r2, lsl #0x14 - mov r2, r2, asr #0x10 - mov r2, r2, lsl #0x10 - mov r4, r2, lsr #0x10 - orr r2, r6, r4, lsl #16 - str r2, [sp, #8] - mov r2, #1 - bl func_01ffa9fc - mov r0, r9 - bl func_ov00_0208b220 - ldrh r2, [sp, #0x34] - mov r0, #0x22 - add r1, sp, #4 - mov r2, r2, lsl #0x14 - mov r2, r2, asr #0x10 - mov r2, r2, lsl #0x10 - mov r6, r2, lsr #0x10 - orr r2, r6, r4, lsl #16 - str r2, [sp, #4] - mov r2, #1 - bl func_01ffa9fc - mov r0, r8 - bl func_ov00_0208b220 - orr r0, r6, r5, lsl #16 - str r0, [sp] - mov r0, #0x22 - add r1, sp, #0 - mov r2, #1 - bl func_01ffa9fc - mov r0, r7 - bl func_ov00_0208b220 - add sp, sp, #0x10 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - arm_func_end func_ov00_0208b39c - - .global func_ov00_0208b494 - arm_func_start func_ov00_0208b494 -func_ov00_0208b494: ; 0x0208b494 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x10 - mov r4, r0 - ldr r0, [sp, #0x30] - mov r9, r1 - mov r8, r2 - mov r7, r3 - bl func_ov00_0208b278 - ldrh r0, [sp, #0x4c] - ldrh r2, [sp, #0x48] - add r1, sp, #0xc - mov r0, r0, lsl #0x14 - mov r2, r2, lsl #0x14 - mov r0, r0, asr #0x10 - mov r2, r2, asr #0x10 - mov r0, r0, lsl #0x10 - mov r2, r2, lsl #0x10 - mov r6, r2, lsr #0x10 - mov r5, r0, lsr #0x10 - orr r0, r6, r5, lsl #16 - str r0, [sp, #0xc] - mov r0, #0x22 - mov r2, #1 - bl func_01ffa9fc - mov r0, r4 - bl func_ov00_0208b220 - ldr r0, [sp, #0x34] - bl func_ov00_0208b278 - ldrh r2, [sp, #0x44] - mov r0, #0x22 - add r1, sp, #8 - mov r2, r2, lsl #0x14 - mov r2, r2, asr #0x10 - mov r2, r2, lsl #0x10 - mov r4, r2, lsr #0x10 - orr r2, r6, r4, lsl #16 - str r2, [sp, #8] - mov r2, #1 - bl func_01ffa9fc - mov r0, r9 - bl func_ov00_0208b220 - ldr r0, [sp, #0x38] - bl func_ov00_0208b278 - ldrh r2, [sp, #0x40] - mov r0, #0x22 - add r1, sp, #4 - mov r2, r2, lsl #0x14 - mov r2, r2, asr #0x10 - mov r2, r2, lsl #0x10 - mov r6, r2, lsr #0x10 - orr r2, r6, r4, lsl #16 - str r2, [sp, #4] - mov r2, #1 - bl func_01ffa9fc - mov r0, r8 - bl func_ov00_0208b220 - ldr r0, [sp, #0x3c] - bl func_ov00_0208b278 - orr r0, r6, r5, lsl #16 - str r0, [sp] - mov r0, #0x22 - add r1, sp, #0 - mov r2, #1 - bl func_01ffa9fc - mov r0, r7 - bl func_ov00_0208b220 - add sp, sp, #0x10 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - arm_func_end func_ov00_0208b494 - - .global func_ov00_0208b5a4 - arm_func_start func_ov00_0208b5a4 -func_ov00_0208b5a4: ; 0x0208b5a4 - bx lr - arm_func_end func_ov00_0208b5a4 - - .global func_ov00_0208b5a8 - arm_func_start func_ov00_0208b5a8 -func_ov00_0208b5a8: ; 0x0208b5a8 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208b5a8 - - .global func_ov00_0208b5bc - arm_func_start func_ov00_0208b5bc -func_ov00_0208b5bc: ; 0x0208b5bc - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r3, _0208b688 ; =data_ov00_020e27dc - mov r4, r1 - add r1, r5, #4 - mov r0, #0 - mov r2, #4 - str r3, [r5] - bl func_020078f4 - mov r0, #0 - str r0, [r5, #8] - strh r0, [r5, #0xc] - strh r0, [r5, #0xe] - strh r0, [r5, #0x10] - strb r0, [r5, #0x12] - strb r0, [r5, #0x14] - strb r0, [r5, #0x15] - strb r0, [r5, #0x16] - str r0, [r5, #0x18] - str r0, [r5, #0x1c] - str r0, [r5, #0x20] - ldrh ip, [r4] - ldrh r3, [r4, #2] - add r1, r5, #4 - mov r2, #4 - strh ip, [r5, #0x24] - strh r3, [r5, #0x26] - ldrh ip, [r4, #4] - ldrh r3, [r4, #6] - strh ip, [r5, #0x28] - strh r3, [r5, #0x2a] - ldrb ip, [r4, #8] - ldrb r3, [r4, #9] - strb ip, [r5, #0x2c] - strb r3, [r5, #0x2d] - ldrb ip, [r4, #0xa] - ldrb r3, [r4, #0xb] - strb ip, [r5, #0x2e] - strb r3, [r5, #0x2f] - ldr r3, [r4, #0xc] - str r3, [r5, #0x30] - ldrsh r3, [r4, #0x10] - strh r3, [r5, #0x34] - ldrb r3, [r4, #0x12] - strb r3, [r5, #0x36] - bl func_020078f4 - ldr r1, [r5, #4] - mov r0, r5 - orr r1, r1, #9 - str r1, [r5, #4] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0208b5bc -_0208b688: .word data_ov00_020e27dc - - .global func_ov00_0208b68c - arm_func_start func_ov00_0208b68c -func_ov00_0208b68c: ; 0x0208b68c - bx lr - arm_func_end func_ov00_0208b68c - - .global func_ov00_0208b690 - arm_func_start func_ov00_0208b690 -func_ov00_0208b690: ; 0x0208b690 - bx lr - arm_func_end func_ov00_0208b690 - - .global func_ov00_0208b694 - arm_func_start func_ov00_0208b694 -func_ov00_0208b694: ; 0x0208b694 - bx lr - arm_func_end func_ov00_0208b694 - - .global func_ov00_0208b698 - arm_func_start func_ov00_0208b698 -func_ov00_0208b698: ; 0x0208b698 - stmdb sp!, {r3, lr} - ldr r2, [r0, #4] - tst r2, #8 - ldmeqia sp!, {r3, pc} - ldr r2, [r0] - ldr r2, [r2, #0x7c] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208b698 - - .global func_ov00_0208b6b8 - arm_func_start func_ov00_0208b6b8 -func_ov00_0208b6b8: ; 0x0208b6b8 - bx lr - arm_func_end func_ov00_0208b6b8 - - .global func_ov00_0208b6bc - arm_func_start func_ov00_0208b6bc -func_ov00_0208b6bc: ; 0x0208b6bc - mov r0, #0 - bx lr - arm_func_end func_ov00_0208b6bc - - .global func_ov00_0208b6c4 - arm_func_start func_ov00_0208b6c4 -func_ov00_0208b6c4: ; 0x0208b6c4 - bx lr - arm_func_end func_ov00_0208b6c4 - - .global func_ov00_0208b6c8 - arm_func_start func_ov00_0208b6c8 -func_ov00_0208b6c8: ; 0x0208b6c8 - mvn r0, #0 - bx lr - arm_func_end func_ov00_0208b6c8 - - .global func_ov00_0208b6d0 - arm_func_start func_ov00_0208b6d0 -func_ov00_0208b6d0: ; 0x0208b6d0 - mvn r0, #0 - bx lr - arm_func_end func_ov00_0208b6d0 - - .global func_ov00_0208b6d8 - arm_func_start func_ov00_0208b6d8 -func_ov00_0208b6d8: ; 0x0208b6d8 - mvn r0, #0 - bx lr - arm_func_end func_ov00_0208b6d8 - - .global func_ov00_0208b6e0 - arm_func_start func_ov00_0208b6e0 -func_ov00_0208b6e0: ; 0x0208b6e0 - mvn r0, #0 - bx lr - arm_func_end func_ov00_0208b6e0 - - .global func_ov00_0208b6e8 - arm_func_start func_ov00_0208b6e8 -func_ov00_0208b6e8: ; 0x0208b6e8 - mvn r0, #0 - bx lr - arm_func_end func_ov00_0208b6e8 - - .global func_ov00_0208b6f0 - arm_func_start func_ov00_0208b6f0 -func_ov00_0208b6f0: ; 0x0208b6f0 - mvn r0, #0 - bx lr - arm_func_end func_ov00_0208b6f0 - - .global func_ov00_0208b6f8 - arm_func_start func_ov00_0208b6f8 -func_ov00_0208b6f8: ; 0x0208b6f8 - mvn r0, #0 - bx lr - arm_func_end func_ov00_0208b6f8 - - .global func_ov00_0208b700 - arm_func_start func_ov00_0208b700 -func_ov00_0208b700: ; 0x0208b700 - bx lr - arm_func_end func_ov00_0208b700 - - .global func_ov00_0208b704 - arm_func_start func_ov00_0208b704 -func_ov00_0208b704: ; 0x0208b704 - mov r0, #1 - bx lr - arm_func_end func_ov00_0208b704 - - .global func_ov00_0208b70c - arm_func_start func_ov00_0208b70c -func_ov00_0208b70c: ; 0x0208b70c - bx lr - arm_func_end func_ov00_0208b70c - - .global func_ov00_0208b710 - arm_func_start func_ov00_0208b710 -func_ov00_0208b710: ; 0x0208b710 - bx lr - arm_func_end func_ov00_0208b710 - - .global func_ov00_0208b714 - arm_func_start func_ov00_0208b714 -func_ov00_0208b714: ; 0x0208b714 - mov r0, #0 - bx lr - arm_func_end func_ov00_0208b714 - - .global func_ov00_0208b71c - arm_func_start func_ov00_0208b71c -func_ov00_0208b71c: ; 0x0208b71c - stmdb sp!, {r3, lr} - ldr r1, [r0] - ldr r1, [r1, #0x54] - blx r1 - cmp r0, #0 - moveq r0, #0 - ldrneb r0, [r0, #4] - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208b71c - - .global func_ov00_0208b73c - arm_func_start func_ov00_0208b73c -func_ov00_0208b73c: ; 0x0208b73c - stmdb sp!, {r4, lr} - sub sp, sp, #0x10 - ldr r2, [r0] - mov r4, r1 - ldr r2, [r2, #0x54] - blx r2 - cmp r0, #0 - addeq sp, sp, #0x10 - moveq r0, #0 - ldmeqia sp!, {r4, pc} - ldr r1, [r4] - mov r2, #0 - str r1, [sp] - ldr r3, [r4, #4] - add r1, sp, #0 - str r3, [sp, #4] - ldr r3, [r4, #8] - str r3, [sp, #8] - str r2, [sp, #0xc] - ldr r2, [r0] - ldr r2, [r2, #0x50] - blx r2 - add sp, sp, #0x10 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208b73c - - .global func_ov00_0208b79c - arm_func_start func_ov00_0208b79c -func_ov00_0208b79c: ; 0x0208b79c - stmdb sp!, {r4, lr} - ldr r2, [r0] - mov r4, r1 - ldr r2, [r2, #0x54] - blx r2 - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r4, pc} - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0x48] - blx r2 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208b79c - - .global func_ov00_0208b7d0 - arm_func_start func_ov00_0208b7d0 -func_ov00_0208b7d0: ; 0x0208b7d0 - stmdb sp!, {r4, lr} - ldr r2, [r0] - mov r4, r1 - ldr r2, [r2, #0x54] - blx r2 - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r4, pc} - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0x50] - blx r2 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208b7d0 - - .global func_ov00_0208b804 - arm_func_start func_ov00_0208b804 -func_ov00_0208b804: ; 0x0208b804 - stmdb sp!, {r3, r4, r5, lr} - ldr r3, [r0] - mov r5, r1 - ldr r3, [r3, #0x54] - mov r4, r2 - blx r3 - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, pc} - ldr ip, [r0] - add r3, sp, #0 - ldr ip, [ip, #0x54] - mov r1, r5 - mov r2, r4 - blx ip - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0208b804 - - .global func_ov00_0208b844 - arm_func_start func_ov00_0208b844 -func_ov00_0208b844: ; 0x0208b844 - stmdb sp!, {r3, lr} - ldr r1, [r0] - ldr r1, [r1, #0x54] - blx r1 - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - ldr r1, [r0] - ldr r1, [r1, #0x40] - blx r1 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208b844 - - .global func_ov00_0208b870 - arm_func_start func_ov00_0208b870 -func_ov00_0208b870: ; 0x0208b870 - stmdb sp!, {r3, lr} - ldr r1, [r0] - ldr r1, [r1, #0x54] - blx r1 - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - ldr r1, [r0] - ldr r1, [r1, #0x40] - blx r1 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208b870 - - .global func_ov00_0208b89c - arm_func_start func_ov00_0208b89c -func_ov00_0208b89c: ; 0x0208b89c - stmdb sp!, {r4, lr} - ldr r2, [r0] - mov r4, r1 - ldr r2, [r2, #0x54] - blx r2 - cmp r0, #0 - bne _0208b8cc - mov r0, #0 - str r0, [r4] - str r0, [r4, #4] - str r0, [r4, #8] - ldmia sp!, {r4, pc} -_0208b8cc: - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0x3c] - blx r2 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208b89c - - .global func_ov00_0208b8e0 - arm_func_start func_ov00_0208b8e0 -func_ov00_0208b8e0: ; 0x0208b8e0 - stmdb sp!, {r3, lr} - sub sp, sp, #0x18 - mov lr, r0 - str r3, [sp] - ldrsh r1, [lr, #0xc] - ldr r0, [sp, #0x24] - mov r3, r2 - str r1, [sp, #4] - str r0, [sp, #8] - mov ip, #1 - str ip, [sp, #0xc] - str ip, [sp, #0x10] - ldr r1, [sp, #0x20] - ldr r0, _0208b92c ; =data_ov00_020e9370 - add r2, lr, #0x18 - str ip, [sp, #0x14] - bl func_ov05_02102c2c - add sp, sp, #0x18 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0208b8e0 -_0208b92c: .word data_ov00_020e9370 - - .global func_ov00_0208b930 - arm_func_start func_ov00_0208b930 -func_ov00_0208b930: ; 0x0208b930 - stmdb sp!, {r3, lr} - sub sp, sp, #0x18 - ldr r1, _0208b984 ; =data_027e0f94 - mov ip, r0 - ldr r2, [r1] - ldr r0, [r1, #4] - str r2, [sp] - str r0, [sp, #4] - ldr r3, [r1, #8] - add r0, sp, #0 - add r2, sp, #0xc - add r1, ip, #0x18 - str r3, [sp, #8] - bl func_01ff9bf8 - ldr r0, [sp, #0xc] - ldr r1, [sp, #0x14] - bl func_01ffa0f4 - mov r0, r0, lsl #0x10 - mov r0, r0, asr #0x10 - add sp, sp, #0x18 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0208b930 -_0208b984: .word data_027e0f94 - - .global func_ov00_0208b988 - arm_func_start func_ov00_0208b988 -func_ov00_0208b988: ; 0x0208b988 - stmdb sp!, {lr} - sub sp, sp, #0xc - ldr r2, _0208b9c8 ; =data_027e0f94 - mov ip, r0 - ldr r0, [r2, #4] - ldr r3, [r2] - str r0, [sp, #4] - str r3, [sp] - ldr r3, [r2, #8] - mov r2, r1 - add r0, sp, #0 - add r1, ip, #0x18 - str r3, [sp, #8] - bl func_01ff9bf8 - add sp, sp, #0xc - ldmia sp!, {pc} - .align 2, 0 - arm_func_end func_ov00_0208b988 -_0208b9c8: .word data_027e0f94 - - .global func_ov00_0208b9cc - arm_func_start func_ov00_0208b9cc -func_ov00_0208b9cc: ; 0x0208b9cc - ldr ip, _0208b9e0 ; =func_ov00_0208ba58 - mov r1, r0 - ldrb r0, [r1, #0x14] - ldrb r1, [r1, #0x15] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208b9cc -_0208b9e0: .word func_ov00_0208ba58 - - .global func_ov00_0208b9e4 - arm_func_start func_ov00_0208b9e4 -func_ov00_0208b9e4: ; 0x0208b9e4 - add r2, r0, r1 - ldr r0, _0208ba00 ; =data_027e0e60 - ldrb r1, [r2, #0x2e] - ldr ip, _0208ba04 ; =_ZN10MapManager18func_ov00_02084be0Eii - ldrb r2, [r2, #0x2c] - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208b9e4 -_0208ba00: .word data_027e0e60 -_0208ba04: .word _ZN10MapManager18func_ov00_02084be0Eii - - .global func_ov00_0208ba08 - arm_func_start func_ov00_0208ba08 -func_ov00_0208ba08: ; 0x0208ba08 - stmdb sp!, {r3, lr} - add ip, r0, r1 - ldr r0, _0208ba2c ; =data_027e0e60 - mov r3, r2 - ldrb r1, [ip, #0x2e] - ldrb r2, [ip, #0x2c] - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_02084b38Eiii - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0208ba08 -_0208ba2c: .word data_027e0e60 - - .global func_ov00_0208ba30 - arm_func_start func_ov00_0208ba30 -func_ov00_0208ba30: ; 0x0208ba30 - mov r0, #0 - bx lr - arm_func_end func_ov00_0208ba30 - - .global func_ov00_0208ba38 - arm_func_start func_ov00_0208ba38 -func_ov00_0208ba38: ; 0x0208ba38 - mov r0, #0 - bx lr - arm_func_end func_ov00_0208ba38 - - .global func_ov00_0208ba40 - arm_func_start func_ov00_0208ba40 -func_ov00_0208ba40: ; 0x0208ba40 - mov r0, #0 - bx lr - arm_func_end func_ov00_0208ba40 - - .global func_ov00_0208ba48 - arm_func_start func_ov00_0208ba48 -func_ov00_0208ba48: ; 0x0208ba48 - mov r0, #0 - bx lr - arm_func_end func_ov00_0208ba48 - - .global func_ov00_0208ba50 - arm_func_start func_ov00_0208ba50 -func_ov00_0208ba50: ; 0x0208ba50 - mov r0, #0 - bx lr - arm_func_end func_ov00_0208ba50 - - .global func_ov00_0208ba58 - arm_func_start func_ov00_0208ba58 -func_ov00_0208ba58: ; 0x0208ba58 - orr r0, r1, r0, lsl #16 - add r0, r0, #1 - rsb r0, r0, #0 - bx lr - arm_func_end func_ov00_0208ba58 - - .global func_ov00_0208ba68 - arm_func_start func_ov00_0208ba68 -func_ov00_0208ba68: ; 0x0208ba68 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} - sub sp, sp, #0x98 - ldr r8, [sp, #0xbc] - ldr r7, [sp, #0xc0] - ldr r6, [sp, #0xc4] - ldr r5, [sp, #0xc8] - ldr lr, _0208bed8 ; =0x04000444 - mov r9, #0 - ldr r0, _0208bedc ; =data_027e0d44 - str r9, [lr] - ldr r10, [r0] - ldr r4, [sp, #0xcc] - add r10, r10, r2, lsl #3 - ldr r10, [r10, #8] - ldmib r4, {r0, ip} - mov r10, r10, lsl #0x10 - mov r10, r10, lsr #0x10 - bic r10, r10, #0xe0000000 - orr r10, r10, r0, lsl #26 - ldr r0, [r4, #0xc] - orr r10, r10, ip, lsl #20 - orr r0, r10, r0, lsl #23 - orr r0, r0, #0x20000000 - str r0, [lr, #0x64] - ldr r0, [r4, #4] - cmp r0, #0 - cmpne r0, #7 - beq _0208bb08 - cmp r0, #2 - ldr r0, _0208bedc ; =data_027e0d44 - moveq r9, #1 - ldr r10, [r0] - rsb r9, r9, #4 - add r2, r10, r2, lsl #3 - ldr r2, [r2, #0xc] - ldr r0, _0208bee0 ; =0x040004ac - mov r2, r2, lsl #0x10 - mov r2, r2, lsr #0xd - mov r2, r2, lsr sb - str r2, [r0] -_0208bb08: - ldr r0, _0208bee4 ; =data_ov00_020ec9d4 - ldrb r2, [sp, #0xd0] - ldrh ip, [r4] - ldrh r0, [r0] - ldr r10, _0208bee8 ; =0x040004c0 - mov r9, #0 - orr r0, ip, r0, lsl #16 - str r0, [r10] - ldr r0, _0208beec ; =0x001f0081 - str r9, [r10, #4] - str r0, [r10, #-0x1c] - cmp r2, #0 - beq _0208bb78 - ldr r0, _0208bef0 ; =data_027e0f64 - ldr r9, [r3] - ldr r2, [r0] - add r0, sp, #0xc - add r1, r2, r1, lsl #2 - ldr r1, [r1, #4] - add r2, sp, #0x58 - str r9, [sp, #0xc] - ldr r9, [r3, #4] - add r1, r1, #0x1c - str r9, [sp, #0x10] - ldr r3, [r3, #8] - str r3, [sp, #0x14] - bl func_0202b7e4 - b _0208bbb8 -_0208bb78: - ldr r0, _0208bef0 ; =data_027e0f64 - ldr r9, [r3] - ldr r2, [r0] - add r0, sp, #0 - add r1, r2, r1, lsl #2 - ldr r1, [r1, #4] - add r2, sp, #0x58 - str r9, [sp] - ldr r10, [r3, #4] - ldr r9, [r4, #0x18] - add r1, r1, #0x1c - add r9, r10, r9, asr #1 - str r9, [sp, #4] - ldr r3, [r3, #8] - str r3, [sp, #8] - bl func_0202b7e4 -_0208bbb8: - ldrsh r0, [sp, #0xb8] - cmp r0, #0 - beq _0208bc04 - mov r0, r0, lsl #0x10 - mov r0, r0, lsr #0x10 - mov r0, r0, asr #0x4 - mov r1, r0, lsl #0x1 - add r0, r1, #1 - ldr r2, _0208bef4 ; =data_02050f54 - mov r1, r1, lsl #0x1 - mov r0, r0, lsl #0x1 - ldrsh r1, [r2, r1] - ldrsh r2, [r2, r0] - add r0, sp, #0x18 - blx func_01ff9258 - add r1, sp, #0x58 - add r0, sp, #0x18 - mov r2, r1 - bl func_01ff927c -_0208bc04: - add r0, sp, #0x58 - bl func_02005660 - ldr r0, [r4, #0x14] - ldr r2, [r4, #0x18] - ldr r1, _0208bef8 ; =0x0400046c - mov r0, r0, lsl #0x1 - str r0, [r1] - str r2, [r1] - mov r0, #0 - str r0, [r1] - ldrb r0, [r4, #0x10] - ldrb r1, [sp, #0xd0] - mov r2, #1 - cmp r0, #0 - movne r0, r8 - movne r8, r6 - movne r6, r0 - ldrb r0, [r4, #0x11] - cmp r0, #0 - movne r0, r7 - movne r7, r5 - movne r5, r0 - ldr r0, _0208befc ; =0x04000500 - cmp r1, #0 - str r2, [r0] - ldr r1, [r4, #4] - beq _0208bd98 - cmp r1, #0 - beq _0208bca0 - mov r1, r5, lsl #0x14 - mov r2, r1, asr #0x10 - mov r1, r6, lsl #0x14 - mov r2, r2, lsl #0x10 - mov r1, r1, asr #0x10 - mov r2, r2, lsr #0x10 - mov r1, r1, lsl #0x10 - mov r2, r2, lsl #0x10 - orr r1, r2, r1, lsr #16 - str r1, [r0, #-0x78] -_0208bca0: - ldr r2, _0208bf00 ; =0x1ff00000 - ldr r0, _0208bf04 ; =0x04000484 - mov r1, #0x800 - str r2, [r0] - str r1, [r0, #8] - mov r1, #0 - str r1, [r0, #8] - ldr r1, [r4, #4] - cmp r1, #0 - beq _0208bcf0 - mov r1, r7, lsl #0x14 - mov r2, r1, asr #0x10 - mov r1, r6, lsl #0x14 - mov r2, r2, lsl #0x10 - mov r1, r1, asr #0x10 - mov r2, r2, lsr #0x10 - mov r1, r1, lsl #0x10 - mov r2, r2, lsl #0x10 - orr r1, r2, r1, lsr #16 - str r1, [r0, #4] -_0208bcf0: - ldr r2, _0208bf08 ; =0x10000800 - ldr r0, _0208bf0c ; =0x0400048c - mov r1, #0 - str r2, [r0] - str r1, [r0] - ldr r1, [r4, #4] - cmp r1, #0 - beq _0208bd38 - mov r1, r7, lsl #0x14 - mov r2, r1, asr #0x10 - mov r1, r8, lsl #0x14 - mov r2, r2, lsl #0x10 - mov r1, r1, asr #0x10 - mov r2, r2, lsr #0x10 - mov r1, r1, lsl #0x10 - mov r2, r2, lsl #0x10 - orr r1, r2, r1, lsr #16 - str r1, [r0, #-4] -_0208bd38: - ldr r2, _0208bf10 ; =0x1000f800 - ldr r0, _0208bf0c ; =0x0400048c - mov r1, #0 - str r2, [r0] - str r1, [r0] - ldr r1, [r4, #4] - cmp r1, #0 - beq _0208bd80 - mov r1, r5, lsl #0x14 - mov r2, r1, asr #0x10 - mov r1, r8, lsl #0x14 - mov r2, r2, lsl #0x10 - mov r1, r1, asr #0x10 - mov r2, r2, lsr #0x10 - mov r1, r1, lsl #0x10 - mov r2, r2, lsl #0x10 - orr r1, r2, r1, lsr #16 - str r1, [r0, #-4] -_0208bd80: - ldr r1, _0208bf0c ; =0x0400048c - mov r0, #0xf800 - str r0, [r1] - mov r0, #0 - str r0, [r1] - b _0208bebc -_0208bd98: - cmp r1, #0 - beq _0208bdc8 - mov r1, r5, lsl #0x14 - mov r2, r1, asr #0x10 - mov r1, r6, lsl #0x14 - mov r2, r2, lsl #0x10 - mov r1, r1, asr #0x10 - mov r2, r2, lsr #0x10 - mov r1, r1, lsl #0x10 - mov r2, r2, lsl #0x10 - orr r1, r2, r1, lsr #16 - str r1, [r0, #-0x78] -_0208bdc8: - ldr r2, _0208bf00 ; =0x1ff00000 - ldr r0, _0208bf04 ; =0x04000484 - ldr r1, _0208bf14 ; =0xf8000800 - str r2, [r0] - str r1, [r0, #8] - mov r1, #0 - str r1, [r0, #8] - ldr r1, [r4, #4] - cmp r1, #0 - beq _0208be18 - mov r1, r7, lsl #0x14 - mov r2, r1, asr #0x10 - mov r1, r6, lsl #0x14 - mov r2, r2, lsl #0x10 - mov r1, r1, asr #0x10 - mov r2, r2, lsr #0x10 - mov r1, r1, lsl #0x10 - mov r2, r2, lsl #0x10 - orr r1, r2, r1, lsr #16 - str r1, [r0, #4] -_0208be18: - ldr r2, _0208bf18 ; =0x08000800 - ldr r0, _0208bf0c ; =0x0400048c - mov r1, #0 - str r2, [r0] - str r1, [r0] - ldr r1, [r4, #4] - cmp r1, #0 - beq _0208be60 - mov r1, r7, lsl #0x14 - mov r2, r1, asr #0x10 - mov r1, r8, lsl #0x14 - mov r2, r2, lsl #0x10 - mov r1, r1, asr #0x10 - mov r2, r2, lsr #0x10 - mov r1, r1, lsl #0x10 - mov r2, r2, lsl #0x10 - orr r1, r2, r1, lsr #16 - str r1, [r0, #-4] -_0208be60: - ldr r2, _0208bf1c ; =0x0800f800 - ldr r0, _0208bf0c ; =0x0400048c - mov r1, #0 - str r2, [r0] - str r1, [r0] - ldr r1, [r4, #4] - cmp r1, #0 - beq _0208bea8 - mov r1, r5, lsl #0x14 - mov r2, r1, asr #0x10 - mov r1, r8, lsl #0x14 - mov r2, r2, lsl #0x10 - mov r1, r1, asr #0x10 - mov r2, r2, lsr #0x10 - mov r1, r1, lsl #0x10 - mov r2, r2, lsl #0x10 - orr r1, r2, r1, lsr #16 - str r1, [r0, #-4] -_0208bea8: - ldr r2, _0208bf20 ; =0xf800f800 - ldr r1, _0208bf0c ; =0x0400048c - mov r0, #0 - str r2, [r1] - str r0, [r1] -_0208bebc: - ldr r1, _0208bf24 ; =0x04000504 - mov r0, #0 - str r0, [r1] - mov r0, #1 - str r0, [r1, #-0xbc] - add sp, sp, #0x98 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - .align 2, 0 - arm_func_end func_ov00_0208ba68 -_0208bed8: .word 0x04000444 -_0208bedc: .word data_027e0d44 -_0208bee0: .word 0x040004ac -_0208bee4: .word data_ov00_020ec9d4 -_0208bee8: .word 0x040004c0 -_0208beec: .word 0x001f0081 -_0208bef0: .word data_027e0f64 -_0208bef4: .word data_02050f54 -_0208bef8: .word 0x0400046c -_0208befc: .word 0x04000500 -_0208bf00: .word 0x1ff00000 -_0208bf04: .word 0x04000484 -_0208bf08: .word 0x10000800 -_0208bf0c: .word 0x0400048c -_0208bf10: .word 0x1000f800 -_0208bf14: .word 0xf8000800 -_0208bf18: .word 0x08000800 -_0208bf1c: .word 0x0800f800 -_0208bf20: .word 0xf800f800 -_0208bf24: .word 0x04000504 - - .global func_ov00_0208bf28 - arm_func_start func_ov00_0208bf28 -func_ov00_0208bf28: ; 0x0208bf28 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0x2c - ldr ip, _0208bfec ; =0x0000ffff - mov r5, r1 - cmp r5, ip - mov r6, r0 - mov r4, r3 - addeq sp, sp, #0x2c - ldmeqia sp!, {r3, r4, r5, r6, pc} - ldrh r0, [r2] - tst r0, #4 - bne _0208bf64 - tst r0, #8 - addeq sp, sp, #0x2c - ldmeqia sp!, {r3, r4, r5, r6, pc} -_0208bf64: - add r0, sp, #0xc - bl func_01ffbe34 - ldr r0, _0208bff0 ; =data_027e0d3c - mov r3, #2 - mov r2, #1 - ldrb r1, [sp, #0x40] - ldr r0, [r0] - str r3, [sp, #0x10] - strb r2, [sp, #0x17] - bl func_ov00_02079008 - str r0, [sp, #0xc] - strb r4, [sp, #0x15] - ldrsh r2, [r6, #0xe] - ldr r0, _0208bff0 ; =data_027e0d3c - add r1, sp, #8 - str r2, [sp, #8] - ldrsh r4, [r6, #0x10] - ldr r0, [r0] - add r2, sp, #4 - mov r3, #0 - str r4, [sp, #4] - bl func_ov00_02079680 - cmp r0, #0 - addeq sp, sp, #0x2c - ldmeqia sp!, {r3, r4, r5, r6, pc} - add r1, sp, #0xc - str r1, [sp] - ldr r0, _0208bff4 ; =data_02063e4c - ldr r1, [sp, #8] - ldr r2, [sp, #4] - mov r3, r5 - bl func_020313c8 - add sp, sp, #0x2c - ldmia sp!, {r3, r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0208bf28 -_0208bfec: .word 0x0000ffff -_0208bff0: .word data_027e0d3c -_0208bff4: .word data_02063e4c - - .global func_ov00_0208bff8 - arm_func_start func_ov00_0208bff8 -func_ov00_0208bff8: ; 0x0208bff8 - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #0x2c - ldr ip, _0208c0d0 ; =0x0000ffff - mov r6, r1 - cmp r6, ip - mov r7, r0 - mov r5, r2 - mov r4, r3 - addeq sp, sp, #0x2c - ldmeqia sp!, {r4, r5, r6, r7, pc} - ldr r0, [sp, #0x40] - ldrh r0, [r0] - tst r0, #4 - bne _0208c03c - tst r0, #8 - addeq sp, sp, #0x2c - ldmeqia sp!, {r4, r5, r6, r7, pc} -_0208c03c: - add r0, sp, #0xc - bl func_01ffbe34 - ldr r0, _0208c0d4 ; =data_027e0d3c - mov r3, #2 - mov r2, #1 - ldrb r1, [sp, #0x48] - ldr r0, [r0] - str r3, [sp, #0x10] - strb r2, [sp, #0x17] - bl func_ov00_02079008 - ldrsb r1, [sp, #0x44] - str r0, [sp, #0xc] - ldr r0, _0208c0d4 ; =data_027e0d3c - strb r1, [sp, #0x15] - ldrsh r2, [r7, #0xe] - ldr r0, [r0] - add r1, sp, #8 - add r2, r2, r5 - str r2, [sp, #8] - ldrsh r5, [r7, #0x10] - add r2, sp, #4 - mov r3, #0 - add r4, r5, r4 - str r4, [sp, #4] - bl func_ov00_02079680 - cmp r0, #0 - addeq sp, sp, #0x2c - ldmeqia sp!, {r4, r5, r6, r7, pc} - add r1, sp, #0xc - str r1, [sp] - ldr r0, _0208c0d8 ; =data_02063e4c - ldr r1, [sp, #8] - ldr r2, [sp, #4] - mov r3, r6 - bl func_020313c8 - add sp, sp, #0x2c - ldmia sp!, {r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end func_ov00_0208bff8 -_0208c0d0: .word 0x0000ffff -_0208c0d4: .word data_027e0d3c -_0208c0d8: .word data_02063e4c - - .global func_ov00_0208c0dc - arm_func_start func_ov00_0208c0dc -func_ov00_0208c0dc: ; 0x0208c0dc - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0x4c - ldr ip, _0208c204 ; =0x0000ffff - mov r4, r2 - cmp r4, ip - mov r5, r0 - addeq sp, sp, #0x4c - ldmeqia sp!, {r4, r5, pc} - ldrh r0, [r3] - tst r0, #4 - bne _0208c114 - tst r0, #8 - addeq sp, sp, #0x4c - ldmeqia sp!, {r4, r5, pc} -_0208c114: - add r0, r1, #0xf - mov r0, r0, lsl #0x10 - mov r0, r0, lsr #0x10 - mov r0, r0, asr #0x4 - mov r1, r0, lsl #0x1 - add r0, r1, #1 - ldr r2, _0208c208 ; =data_02050f54 - mov r1, r1, lsl #0x1 - mov r0, r0, lsl #0x1 - ldrsh r1, [r2, r1] - ldrsh r2, [r2, r0] - add r0, sp, #0x3c - blx func_01ff8018 - ldr r0, _0208c20c ; =data_027e0d3c - ldrb r1, [sp, #0x5c] - ldr r0, [r0] - bl func_ov00_02079008 - add ip, sp, #0x2c - ldmia r0, {r0, r1, r2, r3} - stmia ip, {r0, r1, r2, r3} - add r0, sp, #0xc - bl func_01ffbe34 - ldrsb r2, [sp, #0x58] - mov r0, #2 - str r0, [sp, #0x10] - mov r0, #1 - strb r0, [sp, #0x17] - add r1, sp, #0x2c - strb r2, [sp, #0x15] - add r0, sp, #0x3c - mov r2, r1 - bl func_01ff8024 - add r0, sp, #0x2c - str r0, [sp, #0xc] - ldr r0, _0208c20c ; =data_027e0d3c - ldrsh r3, [r5, #0xe] - ldr r1, [sp, #0x60] - ldr r2, [sp, #0x64] - add r1, r3, r1 - str r1, [sp, #8] - ldrsh r3, [r5, #0x10] - ldr r0, [r0] - add r1, sp, #8 - add r2, r3, r2 - str r2, [sp, #4] - add r2, sp, #4 - mov r3, #0 - bl func_ov00_02079680 - cmp r0, #0 - addeq sp, sp, #0x4c - ldmeqia sp!, {r4, r5, pc} - add r1, sp, #0xc - str r1, [sp] - ldr r0, _0208c210 ; =data_02063e4c - ldr r1, [sp, #8] - ldr r2, [sp, #4] - mov r3, r4 - bl func_020313c8 - add sp, sp, #0x4c - ldmia sp!, {r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0208c0dc -_0208c204: .word 0x0000ffff -_0208c208: .word data_02050f54 -_0208c20c: .word data_027e0d3c -_0208c210: .word data_02063e4c - - .global func_ov00_0208c214 - arm_func_start func_ov00_0208c214 -func_ov00_0208c214: ; 0x0208c214 - stmdb sp!, {r4, lr} - sub sp, sp, #0x18 - add r2, sp, #0x14 - str r2, [sp] - mov r2, #0 - add r1, sp, #0x10 - stmib sp, {r1, r2} - mov r4, r0 - ldr r0, _0208c27c ; =data_027e0d3c - str r2, [sp, #0xc] - ldr r0, [r0] - mov r3, r2 - add r1, r4, #0x18 - bl func_ov00_02079470 - cmp r0, #0 - mvneq r0, #0x7f - streqh r0, [r4, #0xe] - addeq sp, sp, #0x18 - streqh r0, [r4, #0x10] - ldmeqia sp!, {r4, pc} - ldr r0, [sp, #0x14] - strh r0, [r4, #0xe] - ldr r0, [sp, #0x10] - strh r0, [r4, #0x10] - add sp, sp, #0x18 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0208c214 -_0208c27c: .word data_027e0d3c - - .global func_ov00_0208c280 - arm_func_start func_ov00_0208c280 -func_ov00_0208c280: ; 0x0208c280 - stmdb sp!, {r3, lr} - sub sp, sp, #0x18 - ldrh lr, [sp, #0x24] - ldrh ip, [sp, #0x28] - ldrh r0, [sp, #0x2c] - str lr, [sp] - str ip, [sp, #4] - ldrh ip, [sp, #0x30] - str r0, [sp, #8] - mov r0, r1 - mov r1, r2 - mov r2, r3 - ldrh r3, [sp, #0x34] - str ip, [sp, #0xc] - ldrh ip, [sp, #0x38] - str r3, [sp, #0x10] - ldr r3, [sp, #0x20] - str ip, [sp, #0x14] - bl func_ov00_0208b2a0 - add sp, sp, #0x18 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208c280 - - .global func_ov00_0208c2d4 - arm_func_start func_ov00_0208c2d4 -func_ov00_0208c2d4: ; 0x0208c2d4 - stmdb sp!, {lr} - sub sp, sp, #0x14 - ldr ip, [sp, #0x1c] - ldrh r0, [sp, #0x20] - str ip, [sp] - ldrh ip, [sp, #0x24] - str r0, [sp, #4] - mov r0, r1 - mov r1, r2 - mov r2, r3 - ldrh r3, [sp, #0x28] - str ip, [sp, #8] - ldrh ip, [sp, #0x2c] - str r3, [sp, #0xc] - ldr r3, [sp, #0x18] - str ip, [sp, #0x10] - bl func_ov00_0208b39c - add sp, sp, #0x14 - ldmia sp!, {pc} - arm_func_end func_ov00_0208c2d4 - - .global func_ov00_0208c320 - arm_func_start func_ov00_0208c320 -func_ov00_0208c320: ; 0x0208c320 - stmdb sp!, {r3, lr} - sub sp, sp, #0x20 - ldr r0, [sp, #0x2c] - ldr ip, [sp, #0x30] - str r0, [sp] - ldr r0, [sp, #0x34] - str ip, [sp, #4] - ldr ip, [sp, #0x38] - str r0, [sp, #8] - mov r0, r1 - mov r1, r2 - mov r2, r3 - ldrh r3, [sp, #0x3c] - str ip, [sp, #0xc] - ldrh ip, [sp, #0x40] - str r3, [sp, #0x10] - ldrh r3, [sp, #0x44] - str ip, [sp, #0x14] - ldrh ip, [sp, #0x48] - str r3, [sp, #0x18] - ldr r3, [sp, #0x28] - str ip, [sp, #0x1c] - bl func_ov00_0208b494 - add sp, sp, #0x20 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208c320 - - .global func_ov00_0208c384 - arm_func_start func_ov00_0208c384 -func_ov00_0208c384: ; 0x0208c384 - mov r0, #0 - bx lr - arm_func_end func_ov00_0208c384 - - .global func_ov00_0208c38c - arm_func_start func_ov00_0208c38c -func_ov00_0208c38c: ; 0x0208c38c - cmp r1, #0 - moveq r0, #1 - movne r0, #0 - bx lr - arm_func_end func_ov00_0208c38c - - .global func_ov00_0208c39c - arm_func_start func_ov00_0208c39c -func_ov00_0208c39c: ; 0x0208c39c - mov r0, #1 - bx lr - arm_func_end func_ov00_0208c39c - - .global func_ov00_0208c3a4 - arm_func_start func_ov00_0208c3a4 -func_ov00_0208c3a4: ; 0x0208c3a4 - stmdb sp!, {r3, lr} - ldr r0, _0208c450 ; =gAdventureFlags - ldr r0, [r0] - bl _ZN14AdventureFlags18func_ov00_02097738Ev - cmp r0, #0 - movne r0, #0 - ldmneia sp!, {r3, pc} - ldr r0, _0208c454 ; =data_027e0c68 - ldrb r0, [r0, #4] - cmp r0, #0 - movne r0, #0 - ldmneia sp!, {r3, pc} - ldr r0, _0208c458 ; =data_027e077c - ldr r1, [r0] - cmp r1, #1 - movne r0, #0 - ldmneia sp!, {r3, pc} - ldr r0, [r0, #4] - cmp r1, r0 - movne r0, #0 - ldmneia sp!, {r3, pc} - ldr r0, _0208c45c ; =data_027e103c - ldr r0, [r0] - bl func_ov05_02103f4c - cmp r0, #0 - movne r0, #0 - ldmneia sp!, {r3, pc} - ldr r0, _0208c460 ; =data_027e0f90 - ldr r0, [r0] - ldrsh r0, [r0, #0xa] - cmp r0, #0 - movle r0, #0 - ldmleia sp!, {r3, pc} - ldr r0, _0208c464 ; =data_027e0fc8 - ldr r0, [r0] - cmp r0, #0 - beq _0208c448 - bl func_ov00_020bd304 - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, pc} -_0208c448: - mov r0, #1 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0208c3a4 -_0208c450: .word gAdventureFlags -_0208c454: .word data_027e0c68 -_0208c458: .word data_027e077c -_0208c45c: .word data_027e103c -_0208c460: .word data_027e0f90 -_0208c464: .word data_027e0fc8 - - .global func_ov00_0208c468 - arm_func_start func_ov00_0208c468 -func_ov00_0208c468: ; 0x0208c468 - stmdb sp!, {r3, lr} - ldr r0, _0208c4e8 ; =data_027e077c - ldr r1, [r0] - cmp r1, #1 - movne r0, #0 - ldmneia sp!, {r3, pc} - ldr r0, [r0, #4] - cmp r1, r0 - movne r0, #0 - ldmneia sp!, {r3, pc} - ldr r0, _0208c4ec ; =data_027e103c - ldr r0, [r0] - bl func_ov05_02103f4c - cmp r0, #0 - movne r0, #0 - ldmneia sp!, {r3, pc} - ldr r0, _0208c4f0 ; =data_027e0f90 - ldr r0, [r0] - ldrsh r0, [r0, #0xa] - cmp r0, #0 - movle r0, #0 - ldmleia sp!, {r3, pc} - ldr r0, _0208c4f4 ; =data_027e0fc8 - ldr r0, [r0] - cmp r0, #0 - beq _0208c4e0 - bl func_ov00_020bd304 - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, pc} -_0208c4e0: - mov r0, #1 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0208c468 -_0208c4e8: .word data_027e077c -_0208c4ec: .word data_027e103c -_0208c4f0: .word data_027e0f90 -_0208c4f4: .word data_027e0fc8 - - .global func_ov00_0208c4f8 - arm_func_start func_ov00_0208c4f8 -func_ov00_0208c4f8: ; 0x0208c4f8 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x48 - mov r6, r0 - bl func_ov00_0208c968 - mov r4, r0 - bl func_ov03_020fb3e0 - ldr r1, _0208c920 ; =0x4e554c4c - mov r5, r0 - cmp r5, r1 - addeq sp, sp, #0x48 - ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _0208c924 ; =data_027e0d38 - ldr r0, [r0] - bl func_ov00_02078b40 - cmp r0, #2 - bne _0208c564 - ldr r0, _0208c928 ; =0x48415254 - cmp r5, r0 - beq _0208c558 - ldr r0, _0208c92c ; =0x52555059 - cmp r5, r0 - beq _0208c560 - add sp, sp, #0x48 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0208c558: - ldr r5, _0208c930 ; =0x53485254 - b _0208c564 -_0208c560: - add r5, r0, #0xfd0000 -_0208c564: - add r0, r6, #0x18 - add r3, sp, #0x3c - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r0, sp, #0x10 - bl func_ov00_020c1500 - mvn r1, #0 - add r0, sp, #0x10 - str r1, [sp, #0x2c] - str r1, [sp, #0x30] - bl func_ov00_020c3348 - ldrsh r1, [r6, #0xc] - mov r0, r4 - strh r1, [sp, #0x24] - bl func_ov03_020fb3f0 - ldr r1, _0208c934 ; =0x464c544d - strh r0, [sp, #0x10] - cmp r5, r1 - bhi _0208c5e4 - bhs _0208c670 - sub r0, r1, #0x1200 - cmp r5, r0 - bhi _0208c5d4 - bhs _0208c670 - ldr r0, _0208c938 ; =0x464c414c - cmp r5, r0 - beq _0208c670 - b _0208c708 -_0208c5d4: - ldr r0, _0208c93c ; =0x464c4254 - cmp r5, r0 - beq _0208c670 - b _0208c708 -_0208c5e4: - ldr r0, _0208c92c ; =0x52555059 - cmp r5, r0 - bhi _0208c604 - bhs _0208c610 - ldr r0, _0208c940 ; =0x4c53544d - cmp r5, r0 - beq _0208c670 - b _0208c708 -_0208c604: - add r0, r0, #0xfd0000 - cmp r5, r0 - bne _0208c708 -_0208c610: - ldr r1, _0208c944 ; =data_027e0764 - mov r2, #0 - ldr r3, [r1] - ldmib r1, {r0, r4} - umull r7, r6, r4, r3 - mla r6, r4, r0, r6 - ldr r0, [r1, #0xc] - ldr r4, [r1, #0x10] - mla r6, r0, r3, r6 - ldr r0, [r1, #0x14] - adds r7, r4, r7 - adc r6, r0, r6 - mov r0, #0xa - umull r3, r4, r6, r0 - str r7, [r1] - mla r4, r6, r2, r4 - mov r3, r2 - mla r4, r3, r0, r4 - cmp r4, #3 - movle r0, #1 - strleh r0, [sp, #0x10] - str r6, [r1, #4] - strgth r2, [sp, #0x10] - b _0208c708 -_0208c670: - ldr r3, _0208c944 ; =data_027e0764 - ldr r1, _0208c948 ; =0x00000335 - ldr r2, [r3] - ldmib r3, {r0, r7} - umull r4, r8, r7, r2 - ldr r10, [r3, #0x10] - mla r8, r7, r0, r8 - ldr r6, [r3, #0xc] - adds r11, r10, r4 - mla r8, r6, r2, r8 - ldr r9, [r3, #0x14] - umull r4, r2, r7, r11 - adc r0, r9, r8 - mla r2, r7, r0, r2 - str r11, [r3] - adds r4, r10, r4 - str r0, [r3, #4] - mla r2, r6, r11, r2 - str r4, [r3] - adc r7, r9, r2 - umull r4, r8, r0, r1 - mov r2, #0 - umull r4, r6, r7, r1 - mla r8, r0, r2, r8 - mov r4, r2 - mla r6, r7, r2, r6 - mla r8, r4, r1, r8 - mla r6, r4, r1, r6 - ldr r0, _0208c94c ; =0xfffffe66 - ldr r2, [sp, #0x3c] - add r1, r8, r0 - add r2, r2, r1 - ldr r1, [sp, #0x44] - add r0, r6, r0 - add r0, r1, r0 - str r7, [r3, #4] - str r2, [sp, #0x3c] - str r0, [sp, #0x44] -_0208c708: - mov r1, #0 - str r1, [sp] - ldr r0, _0208c950 ; =data_027e0fe8 - add r2, sp, #0x3c - ldr r0, [r0] - add r3, sp, #0x10 - mov r1, r5 - bl func_ov00_020c4048 - movs r1, r0 - addmi sp, sp, #0x48 - ldmmiia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _0208c954 ; =data_027e0fe4 - ldr r0, [r0] - bl _ZN12ActorManager13FindActorByIdEj - cmp r0, #0 - addeq sp, sp, #0x48 - ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r3, [r0, #4] - ldr r2, _0208c934 ; =0x464c544d - cmp r3, r2 - bhi _0208c798 - bhs _0208c7d0 - sub r1, r2, #0x1200 - cmp r3, r1 - bhi _0208c784 - bhs _0208c7d0 - ldr r1, _0208c938 ; =0x464c414c - cmp r3, r1 - beq _0208c7d0 - add sp, sp, #0x48 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0208c784: - ldr r1, _0208c93c ; =0x464c4254 - cmp r3, r1 - beq _0208c7d0 - add sp, sp, #0x48 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0208c798: - ldr r1, _0208c940 ; =0x4c53544d - cmp r3, r1 - bhi _0208c7bc - bhs _0208c7d0 - ldr r1, _0208c958 ; =0x4b4f4b4f - cmp r3, r1 - beq _0208c7d0 - add sp, sp, #0x48 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0208c7bc: - ldr r1, _0208c92c ; =0x52555059 - cmp r3, r1 - beq _0208c838 - add sp, sp, #0x48 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0208c7d0: - ldr r2, _0208c944 ; =data_027e0764 - ldr r1, _0208c95c ; =0x0000019a - ldr r4, [r2] - ldmib r2, {r3, r5} - umull r7, r6, r5, r4 - mla r6, r5, r3, r6 - ldr r3, [r2, #0xc] - ldr r5, [r2, #0x10] - mla r6, r3, r4, r6 - ldr r3, [r2, #0x14] - adds r4, r5, r7 - adc r6, r3, r6 - str r4, [r2] - mov r3, #0 - str r6, [r2, #4] - umull r4, r5, r6, r1 - mla r5, r6, r3, r5 - mov r2, r3 - mla r5, r2, r1, r5 - add r1, r5, #0x33 - str r3, [r0, #0x60] - add r1, r1, #0x300 - str r1, [r0, #0x64] - add sp, sp, #0x48 - str r3, [r0, #0x68] - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0208c838: - ldr r3, _0208c944 ; =data_027e0764 - ldr r1, _0208c960 ; =0x00002001 - ldr r4, [r3] - ldmib r3, {r2, r7} - umull r5, r10, r7, r4 - mla r10, r7, r2, r10 - ldr r6, [r3, #0xc] - ldr r9, [r3, #0x10] - mla r10, r6, r4, r10 - adds r11, r9, r5 - ldr r8, [r3, #0x14] - umull r5, r4, r7, r11 - adc r2, r8, r10 - mla r4, r7, r2, r4 - adds ip, r9, r5 - mla r4, r6, r11, r4 - adc lr, r8, r4 - str r11, [r3] - str r2, [r3, #4] - umull r5, r10, r2, r1 - mov r4, #0 - mov r5, r4 - mla r10, r2, r5, r10 - mla r10, r4, r1, r10 - sub r5, r10, #0x1000 - ldr r2, _0208c964 ; =0x51eb851f - mov r10, r5, lsr #0x1f - smull r11, r5, r2, r5 - add r5, r10, r5, asr #4 - umull r11, r10, r7, ip - mla r10, r7, lr, r10 - mla r10, r6, ip, r10 - stmia r3, {ip, lr} - adds r9, r9, r11 - str r9, [r3] - adc ip, r8, r10 - str ip, [r3, #4] - ldr r3, _0208c95c ; =0x0000019a - umull r3, r6, lr, r3 - mov r3, r4 - mla r6, lr, r3, r6 - ldr r3, _0208c95c ; =0x0000019a - mla r6, r4, r3, r6 - add r3, r6, #0x33 - add r7, r3, #0x300 - umull r3, r6, ip, r1 - mov r3, r4 - mla r6, ip, r3, r6 - mla r6, r4, r1, r6 - sub r3, r6, #0x1000 - smull r1, r4, r2, r3 - mov r1, r3, lsr #0x1f - add r4, r1, r4, asr #4 - str r4, [r0, #0x60] - str r7, [r0, #0x64] - str r5, [r0, #0x68] - add sp, sp, #0x48 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_0208c4f8 -_0208c920: .word 0x4e554c4c -_0208c924: .word data_027e0d38 -_0208c928: .word 0x48415254 -_0208c92c: .word 0x52555059 -_0208c930: .word 0x53485254 -_0208c934: .word 0x464c544d -_0208c938: .word 0x464c414c -_0208c93c: .word 0x464c4254 -_0208c940: .word 0x4c53544d -_0208c944: .word data_027e0764 -_0208c948: .word 0x00000335 -_0208c94c: .word 0xfffffe66 -_0208c950: .word data_027e0fe8 -_0208c954: .word data_027e0fe4 -_0208c958: .word 0x4b4f4b4f -_0208c95c: .word 0x0000019a -_0208c960: .word 0x00002001 -_0208c964: .word 0x51eb851f - - .global func_ov00_0208c968 - arm_func_start func_ov00_0208c968 -func_ov00_0208c968: ; 0x0208c968 - stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r2, _0208c9f4 ; =data_027e0764 - mov r4, #0 - ldr r3, [r2] - ldmib r2, {r0, r5} - umull lr, ip, r5, r3 - mla ip, r5, r0, ip - ldr r0, [r2, #0xc] - ldr r5, [r2, #0x10] - mla ip, r0, r3, ip - ldr r0, [r2, #0x14] - adds lr, r5, lr - adc ip, r0, ip - mov r0, #0x64 - umull r3, r5, ip, r0 - str lr, [r2] - mla r5, ip, r4, r5 - mov r3, r4 - mla r5, r3, r0, r5 - mov r8, r1 - mov r6, r4 - mov r7, r4 - str ip, [r2, #4] -_0208c9c4: - mov r0, r8 - mov r1, r7 - bl func_ov03_020fb404 - add r6, r6, r0 - cmp r5, r6 - movlt r4, r7 - blt _0208c9ec - add r7, r7, #1 - cmp r7, #0x11 - blt _0208c9c4 -_0208c9ec: - mov r0, r4 - ldmia sp!, {r4, r5, r6, r7, r8, pc} - .align 2, 0 - arm_func_end func_ov00_0208c968 -_0208c9f4: .word data_027e0764 - - .global func_ov00_0208c9f8 - arm_func_start func_ov00_0208c9f8 -func_ov00_0208c9f8: ; 0x0208c9f8 - add r0, r0, #0x38 - bx lr - arm_func_end func_ov00_0208c9f8 - - .global func_ov00_0208ca00 - arm_func_start func_ov00_0208ca00 -func_ov00_0208ca00: ; 0x0208ca00 - add r0, r0, #0x38 - bx lr - arm_func_end func_ov00_0208ca00 - - .global func_ov00_0208ca08 - arm_func_start func_ov00_0208ca08 -func_ov00_0208ca08: ; 0x0208ca08 - add r0, r0, #0x38 - bx lr - arm_func_end func_ov00_0208ca08 - - .global func_ov00_0208ca10 - arm_func_start func_ov00_0208ca10 -func_ov00_0208ca10: ; 0x0208ca10 - stmdb sp!, {r4, lr} - mov r4, r0 - add r0, r4, #0x38 - bl func_ov00_02094824 - mov r0, r4 - bl func_ov00_0208b5a4 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208ca10 - - .global func_ov00_0208ca30 - arm_func_start func_ov00_0208ca30 -func_ov00_0208ca30: ; 0x0208ca30 - stmdb sp!, {r4, lr} - mov r4, r0 - add r0, r4, #0x38 - bl func_ov00_02094824 - mov r0, r4 - bl func_ov00_0208b5a4 - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208ca30 - - .global func_ov00_0208ca58 - arm_func_start func_ov00_0208ca58 -func_ov00_0208ca58: ; 0x0208ca58 - stmdb sp!, {r4, lr} - mov r4, r0 - add r0, r4, #0x38 - bl func_ov00_02094824 - mov r0, r4 - bl func_ov00_0208b5a4 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208ca58 - - .global func_ov00_0208ca78 - arm_func_start func_ov00_0208ca78 -func_ov00_0208ca78: ; 0x0208ca78 - stmdb sp!, {r4, lr} - mov r4, r0 - add r0, r4, #0x38 - bl func_ov00_02094824 - mov r0, r4 - bl func_ov00_0208b5a4 - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208ca78 - - .global func_ov00_0208caa0 - arm_func_start func_ov00_0208caa0 -func_ov00_0208caa0: ; 0x0208caa0 - stmdb sp!, {r4, lr} - mov r4, r0 - add r0, r4, #0x38 - bl func_ov00_02094824 - mov r0, r4 - bl func_ov00_0208b5a4 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208caa0 - - .global func_ov00_0208cac0 - arm_func_start func_ov00_0208cac0 -func_ov00_0208cac0: ; 0x0208cac0 - stmdb sp!, {r4, lr} - mov r4, r0 - add r0, r4, #0x38 - bl func_ov00_02094824 - mov r0, r4 - bl func_ov00_0208b5a4 - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208cac0 - - .global func_ov00_0208cae8 - arm_func_start func_ov00_0208cae8 -func_ov00_0208cae8: ; 0x0208cae8 - ldr r2, _0208caf4 ; =data_ov00_020ec9d8 - str r1, [r2, r0, lsl #2] - bx lr - .align 2, 0 - arm_func_end func_ov00_0208cae8 -_0208caf4: .word data_ov00_020ec9d8 - - .global func_ov00_0208caf8 - arm_func_start func_ov00_0208caf8 -func_ov00_0208caf8: ; 0x0208caf8 - ldr r1, _0208cb08 ; =data_ov00_020ec9d8 - mov r2, #0 - str r2, [r1, r0, lsl #2] - bx lr - .align 2, 0 - arm_func_end func_ov00_0208caf8 -_0208cb08: .word data_ov00_020ec9d8 - - .global func_ov00_0208cb0c - arm_func_start func_ov00_0208cb0c -func_ov00_0208cb0c: ; 0x0208cb0c - stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r4, _0208cb80 ; =data_ov00_020ec9d8 - ldr r0, [sp, #0x24] - ldr r1, [r4, r1, lsl #2] - ldr r5, [sp, #0x1c] - ldr r1, [r1, #4] - mov r7, r2 - mov r6, r3 - blx r1 - movs r4, r0 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - strb r7, [r4, #0x13] - ldr r1, [r5] - ldrsh r2, [sp, #0x20] - str r1, [r4, #0x18] - ldr r3, [r5, #4] - ldrb r1, [sp, #0x18] - str r3, [r4, #0x1c] - ldr r3, [r5, #8] - str r3, [r4, #0x20] - strh r2, [r4, #0xc] - strb r6, [r4, #0x14] - strb r1, [r4, #0x15] - ldr r1, [r0] - ldr r1, [r1, #8] - blx r1 - mov r0, r4 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end func_ov00_0208cb0c -_0208cb80: .word data_ov00_020ec9d8 - - .global func_ov00_0208cb84 - arm_func_start func_ov00_0208cb84 -func_ov00_0208cb84: ; 0x0208cb84 - sub sp, sp, #8 - ldrb r2, [r1, #0x14] - ldrb r3, [r0] - ldrb r1, [r1, #0x15] - ldrb r0, [r0, #1] - cmp r2, r3 - strb r1, [sp, #5] - strb r0, [sp, #1] - strb r1, [sp, #3] - andeq r1, r1, #0xff - andeq r0, r0, #0xff - cmpeq r1, r0 - moveq r0, #1 - strb r3, [sp] - strb r2, [sp, #4] - strb r2, [sp, #2] - movne r0, #0 - add sp, sp, #8 - bx lr - arm_func_end func_ov00_0208cb84 - - .global func_ov00_0208cbd0 - arm_func_start func_ov00_0208cbd0 -func_ov00_0208cbd0: ; 0x0208cbd0 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - sub sp, sp, #0x400 - mov r6, r1 - mov r7, r0 - mov r0, r6 - ldr r3, [r0] - mov r1, #0x10 - ldr r3, [r3, #8] - mov r5, r2 - blx r3 - ldrh r4, [r0, #0xc] - mov r3, #0 - cmp r4, #0 - ble _0208cc28 - add r2, sp, #0 -_0208cc0c: - add r1, r0, r3, lsl #2 - ldr r1, [r1, #0x10] - str r1, [r2, r3, lsl #2] - ldrh r1, [r0, #0xc] - add r3, r3, #1 - cmp r3, r1 - blt _0208cc0c -_0208cc28: - mov r0, r6 - ldr r1, [r0] - ldr r1, [r1, #0xc] - blx r1 - ldr r0, [r7] - add r1, sp, #0 - mov r2, r4 - mov r3, r5 - bl func_ov00_0209afc4 - add sp, sp, #0x400 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0208cbd0 - - .global func_ov00_0208cc54 - arm_func_start func_ov00_0208cc54 -func_ov00_0208cc54: ; 0x0208cc54 - ldr ip, _0208cc60 ; =func_ov00_0209b5a4 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208cc54 -_0208cc60: .word func_ov00_0209b5a4 - - .global func_ov00_0208cc64 - arm_func_start func_ov00_0208cc64 -func_ov00_0208cc64: ; 0x0208cc64 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r0, [r4, #4] - cmp r0, #0 - ldmeqia sp!, {r4, pc} - bl func_ov18_0216ac24 - ldr r0, [r4, #4] - bl func_ov18_0216ad38 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208cc64 - - .global func_ov00_0208cc88 - arm_func_start func_ov00_0208cc88 -func_ov00_0208cc88: ; 0x0208cc88 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r4, [r5, #0xc] - ldr r0, [r5, #0x10] - add r0, r4, r0, lsl #2 - cmp r4, r0 - ldmeqia sp!, {r3, r4, r5, pc} -_0208cca4: - ldr r0, [r4] - ldr r1, [r0, #4] - tst r1, #1 - beq _0208ccc0 - ldr r1, [r0] - ldr r1, [r1, #0x4c] - blx r1 -_0208ccc0: - ldr r1, [r5, #0xc] - ldr r0, [r5, #0x10] - add r4, r4, #4 - add r0, r1, r0, lsl #2 - cmp r4, r0 - bne _0208cca4 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0208cc88 - - .global func_ov00_0208ccdc - arm_func_start func_ov00_0208ccdc -func_ov00_0208ccdc: ; 0x0208ccdc - ldr ip, _0208cce8 ; =func_ov00_0209b6f4 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208ccdc -_0208cce8: .word func_ov00_0209b6f4 - - .global func_ov00_0208ccec - arm_func_start func_ov00_0208ccec -func_ov00_0208ccec: ; 0x0208ccec - ldr ip, _0208ccf8 ; =func_ov00_0209b7c4 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208ccec -_0208ccf8: .word func_ov00_0209b7c4 - - .global func_ov00_0208ccfc - arm_func_start func_ov00_0208ccfc -func_ov00_0208ccfc: ; 0x0208ccfc - ldr ip, _0208cd08 ; =func_ov00_0209b894 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208ccfc -_0208cd08: .word func_ov00_0209b894 - - .global func_ov00_0208cd0c - arm_func_start func_ov00_0208cd0c -func_ov00_0208cd0c: ; 0x0208cd0c - ldr ip, _0208cd18 ; =func_ov00_0209b960 - ldr r0, [r0] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208cd0c -_0208cd18: .word func_ov00_0209b960 - - .global func_ov00_0208cd1c - arm_func_start func_ov00_0208cd1c -func_ov00_0208cd1c: ; 0x0208cd1c - stmdb sp!, {r3, lr} - ldrb r3, [r1] - ldrb r2, [r1, #1] - sub r1, sp, #4 - strb r3, [sp] - strb r3, [r1] - strb r2, [r1, #1] - ldr r1, [r1] - strb r2, [sp, #1] - bl func_ov00_0208da44 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208cd1c - - .global func_ov00_0208cd48 - arm_func_start func_ov00_0208cd48 -func_ov00_0208cd48: ; 0x0208cd48 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x224 - sub sp, sp, #0x400 - movs r5, r2 - mov r10, r0 - mov r9, r1 - bne _0208cd78 - str r9, [sp, #4] - bl func_ov00_0208ce84 - add sp, sp, #0x224 - add sp, sp, #0x400 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0208cd78: - ldr r4, _0208ce78 ; =func_ov00_0207f100 - ldr r3, _0208ce7c ; =func_ov00_0208d018 - add r0, sp, #0x24 - mov r1, #0x40 - mov r2, #0x18 - str r4, [sp] - bl func_0204f614 - ldr r0, _0208ce80 ; =data_027e0e60 - add r2, sp, #0x24 - ldr r0, [r0] - mov r1, r5 - mov r3, #0x40 - bl _ZN10MapManager18func_ov00_020836ccEjP4AABBj - mov r6, r0 - cmp r6, #0 - bgt _0208cddc - add r0, sp, #0x24 - mov r3, r4 - mov r1, #0x40 - mov r2, #0x18 - bl func_0204f754 - add sp, sp, #0x224 - add sp, sp, #0x400 - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0208cddc: - cmp r6, #0 - mov r7, #0 - ble _0208ce54 - add r11, sp, #0xc - add r8, sp, #0x24 - add r5, r11, #0xc -_0208cdf4: - str r9, [sp, #8] - ldmia r8, {r0, r1, r2} - stmia r11, {r0, r1, r2} - add r0, r8, #0xc - ldmia r0, {r0, r1, r2} - stmia r5, {r0, r1, r2} - mov r0, r10 - add r1, sp, #8 - bl func_ov00_0208cf28 - movs r4, r0 - beq _0208ce44 - ldr r3, _0208ce78 ; =func_ov00_0207f100 - add r0, sp, #0x24 - mov r1, #0x40 - mov r2, #0x18 - bl func_0204f754 - add sp, sp, #0x224 - add sp, sp, #0x400 - mov r0, r4 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0208ce44: - add r7, r7, #1 - cmp r7, r6 - add r8, r8, #0x18 - blt _0208cdf4 -_0208ce54: - ldr r3, _0208ce78 ; =func_ov00_0207f100 - add r0, sp, #0x24 - mov r1, #0x40 - mov r2, #0x18 - bl func_0204f754 - mov r0, #0 - add sp, sp, #0x224 - add sp, sp, #0x400 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_0208cd48 -_0208ce78: .word func_ov00_0207f100 -_0208ce7c: .word func_ov00_0208d018 -_0208ce80: .word data_027e0e60 - - .global func_ov00_0208ce84 - arm_func_start func_ov00_0208ce84 -func_ov00_0208ce84: ; 0x0208ce84 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x14 - mov r6, r0 - ldr r4, [r6, #0xc] - ldr r0, [r6, #0x10] - ldr r5, [sp, #0x34] - add r9, r4, r0, lsl #2 - str r5, [sp] - str r9, [sp, #0xc] - str r9, [sp, #4] - str r4, [sp, #0x10] - str r4, [sp, #8] - mov r7, #0 - mov r8, #1 - b _0208cecc -_0208cec4: - add r4, r4, #4 - str r4, [sp, #8] -_0208cecc: - cmp r4, r9 - beq _0208cef8 - ldr r0, [r4] - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r5, r0 - moveq r0, r8 - movne r0, r7 - cmp r0, #0 - beq _0208cec4 -_0208cef8: - ldr r1, [r6, #0xc] - ldr r0, [r6, #0x10] - ldr r2, [sp, #8] - add r0, r1, r0, lsl #2 - cmp r2, r0 - ldrne r0, [sp, #8] - ldrne r0, [r0] - moveq r0, #0 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, r9, lr} - add sp, sp, #0x10 - bx lr - arm_func_end func_ov00_0208ce84 - - .global func_ov00_0208cf28 - arm_func_start func_ov00_0208cf28 -func_ov00_0208cf28: ; 0x0208cf28 - stmdb sp!, {r4, lr} - sub sp, sp, #0x28 - mov ip, r1 - ldr r1, [ip] - add r3, sp, #0x10 - str r1, [sp, #0xc] - add r1, ip, #4 - mov r4, r0 - ldmia r1, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r0, ip, #0x10 - add r3, r3, #0xc - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldr r1, [r4, #0xc] - ldr r2, [r4, #0x10] - add r0, sp, #8 - add r2, r1, r2, lsl #2 - add r3, sp, #0xc - str r2, [sp] - str r1, [sp, #4] - bl func_ov00_0208cfa4 - ldr r1, [r4, #0xc] - ldr r0, [r4, #0x10] - ldr r2, [sp, #8] - add r0, r1, r0, lsl #2 - cmp r2, r0 - ldrne r0, [r2] - moveq r0, #0 - add sp, sp, #0x28 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208cf28 - - .global func_ov00_0208cfa4 - arm_func_start func_ov00_0208cfa4 -func_ov00_0208cfa4: ; 0x0208cfa4 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - mov r8, r0 - mov r7, r3 - ldr r6, [sp, #0x28] - ldr r5, [sp, #0x24] - mov r9, #0 - b _0208cfc8 -_0208cfc4: - add r5, r5, #4 -_0208cfc8: - cmp r5, r6 - beq _0208d008 - ldr r4, [r5] - mov r0, r4 - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - ldr r1, [r7] - cmp r1, r0 - movne r0, r9 - bne _0208d000 - add r0, r7, #4 - add r1, r4, #0x18 - bl func_ov00_0208e7a4 -_0208d000: - cmp r0, #0 - beq _0208cfc4 -_0208d008: - str r5, [r8] - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - add sp, sp, #0x10 - bx lr - arm_func_end func_ov00_0208cfa4 - - .global func_ov00_0208d018 - arm_func_start func_ov00_0208d018 -func_ov00_0208d018: ; 0x0208d018 - bx lr - arm_func_end func_ov00_0208d018 - - .global func_ov00_0208d01c - arm_func_start func_ov00_0208d01c -func_ov00_0208d01c: ; 0x0208d01c - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x244 - sub sp, sp, #0x400 - movs r5, r2 - str r0, [sp, #4] - mov r10, r1 - mov r9, r3 - ldr r8, [sp, #0x668] - bne _0208d064 - mov r4, #0 - mov r2, r9 - mov r3, r8 - str r10, [sp, #8] - str r4, [sp] - bl func_ov00_0208d1f8 - add sp, sp, #0x244 - add sp, sp, #0x400 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0208d064: - ldr r4, _0208d1ec ; =func_ov00_0207f100 - ldr r3, _0208d1f0 ; =func_ov00_0208d018 - add r0, sp, #0x44 - mov r1, #0x40 - mov r2, #0x18 - str r4, [sp] - bl func_0204f614 - ldr r0, _0208d1f4 ; =data_027e0e60 - add r2, sp, #0x44 - ldr r0, [r0] - mov r1, r5 - mov r3, #0x40 - bl _ZN10MapManager18func_ov00_020836ccEjP4AABBj - mov r4, r0 - cmp r4, #0 - bgt _0208d0c8 - ldr r3, _0208d1ec ; =func_ov00_0207f100 - add r0, sp, #0x44 - mov r1, #0x40 - mov r2, #0x18 - bl func_0204f754 - add sp, sp, #0x244 - add sp, sp, #0x400 - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0208d0c8: - cmp r4, #1 - bne _0208d138 - add r0, sp, #0x44 - add r3, sp, #0x2c - str r10, [sp, #0x28] - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r0, sp, #0x50 - add r3, r3, #0xc - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r4, #0 - ldr r0, [sp, #4] - add r1, sp, #0x28 - mov r2, r9 - mov r3, r8 - str r4, [sp] - bl func_ov00_0208d310 - mov r4, r0 - ldr r3, _0208d1ec ; =func_ov00_0207f100 - add r0, sp, #0x44 - mov r1, #0x40 - mov r2, #0x18 - bl func_0204f754 - add sp, sp, #0x244 - add sp, sp, #0x400 - mov r0, r4 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0208d138: - mov r5, #0 - mov r6, r5 - cmp r4, #0 - ble _0208d1c8 - add r0, sp, #0x10 - add r7, sp, #0x44 - add r11, r0, #0xc -_0208d154: - str r10, [sp, #0xc] - add r3, sp, #0x10 - ldmia r7, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r0, r7, #0xc - ldmia r0, {r0, r1, r2} - stmia r11, {r0, r1, r2} - ldr r0, [sp, #4] - add r1, sp, #0xc - mov r2, r9 - mov r3, r8 - str r5, [sp] - bl func_ov00_0208d310 - add r5, r5, r0 - cmp r5, r8 - blo _0208d1b8 - ldr r3, _0208d1ec ; =func_ov00_0207f100 - add r0, sp, #0x44 - mov r1, #0x40 - mov r2, #0x18 - bl func_0204f754 - add sp, sp, #0x244 - add sp, sp, #0x400 - mov r0, r5 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0208d1b8: - add r6, r6, #1 - cmp r6, r4 - add r7, r7, #0x18 - blt _0208d154 -_0208d1c8: - ldr r3, _0208d1ec ; =func_ov00_0207f100 - add r0, sp, #0x44 - mov r1, #0x40 - mov r2, #0x18 - bl func_0204f754 - mov r0, r5 - add sp, sp, #0x244 - add sp, sp, #0x400 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_0208d01c -_0208d1ec: .word func_ov00_0207f100 -_0208d1f0: .word func_ov00_0208d018 -_0208d1f4: .word data_027e0e60 - - .global func_ov00_0208d1f8 - arm_func_start func_ov00_0208d1f8 -func_ov00_0208d1f8: ; 0x0208d1f8 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x1c - mov r10, r0 - ldr r1, [r10, #0xc] - ldr r0, [r10, #0x10] - str r2, [sp] - add r0, r1, r0, lsl #2 - str r3, [sp, #4] - str r1, [sp, #0x18] - cmp r1, r0 - ldr r11, [sp, #0x50] - mov r9, #0 - beq _0208d2fc -_0208d230: - ldr r0, [sp, #4] - add r1, r9, r11 - cmp r1, r0 - bhs _0208d2fc - ldr r1, [r10, #0xc] - ldr r0, [r10, #0x10] - ldr r8, [sp, #0x44] - add r7, r1, r0, lsl #2 - ldr r6, [sp, #0x18] - str r8, [sp, #8] - str r7, [sp, #0x14] - str r7, [sp, #0xc] - str r6, [sp, #0x10] - mov r4, #0 - mov r5, #1 - b _0208d278 -_0208d270: - add r6, r6, #4 - str r6, [sp, #0x10] -_0208d278: - cmp r6, r7 - beq _0208d2a4 - ldr r0, [r6] - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r8, r0 - moveq r0, r5 - movne r0, r4 - cmp r0, #0 - beq _0208d270 -_0208d2a4: - ldr r1, [r10, #0xc] - ldr r0, [r10, #0x10] - ldr r2, [sp, #0x10] - add r0, r1, r0, lsl #2 - cmp r2, r0 - beq _0208d2fc - ldr r0, [sp, #0x10] - ldr r1, [r0] - cmp r1, #0 - beq _0208d2dc - ldr r0, [sp] - add r0, r0, r11, lsl #2 - str r1, [r0, r9, lsl #2] - add r9, r9, #1 -_0208d2dc: - ldr r2, [sp, #0x10] - ldr r1, [r10, #0xc] - ldr r0, [r10, #0x10] - add r2, r2, #4 - add r0, r1, r0, lsl #2 - str r2, [sp, #0x18] - cmp r2, r0 - bne _0208d230 -_0208d2fc: - mov r0, r9 - add sp, sp, #0x1c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - add sp, sp, #0x10 - bx lr - arm_func_end func_ov00_0208d1f8 - - .global func_ov00_0208d310 - arm_func_start func_ov00_0208d310 -func_ov00_0208d310: ; 0x0208d310 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x2c - mov r10, r0 - ldr r4, [r10, #0xc] - ldr r0, [r10, #0x10] - mov r9, r1 - add r0, r4, r0, lsl #2 - str r3, [sp] - str r4, [sp, #0xc] - cmp r4, r0 - ldr r8, [sp, #0x50] - mov r7, #0 - beq _0208d3f0 - add r0, sp, #0x14 - add r6, r9, #4 - add r5, r9, #0x10 - add r4, r0, #0xc - add r11, r2, r8, lsl #2 -_0208d358: - ldr r0, [sp] - add r1, r7, r8 - cmp r1, r0 - bhs _0208d3f0 - ldr r0, [r9] - add ip, sp, #0x14 - str r0, [sp, #0x10] - ldmia r6, {r0, r1, r2} - stmia ip, {r0, r1, r2} - ldmia r5, {r0, r1, r2} - stmia r4, {r0, r1, r2} - ldr r2, [r10, #0xc] - ldr r1, [r10, #0x10] - add r3, sp, #0x10 - add r2, r2, r1, lsl #2 - add r1, sp, #0xc - ldr r1, [r1] - add r0, sp, #8 - str r2, [sp, #4] - bl func_ov00_0208cfa4 - ldr r1, [r10, #0xc] - ldr r0, [r10, #0x10] - ldr r2, [sp, #8] - add r0, r1, r0, lsl #2 - cmp r2, r0 - beq _0208d3f0 - ldr r0, [r2] - cmp r0, #0 - strne r0, [r11, r7, lsl #2] - ldr r0, [sp, #8] - ldr r1, [r10, #0xc] - add r2, r0, #4 - ldr r0, [r10, #0x10] - addne r7, r7, #1 - add r0, r1, r0, lsl #2 - str r2, [sp, #0xc] - cmp r2, r0 - bne _0208d358 -_0208d3f0: - mov r0, r7 - add sp, sp, #0x2c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end func_ov00_0208d310 - - .global func_ov00_0208d3fc - arm_func_start func_ov00_0208d3fc -func_ov00_0208d3fc: ; 0x0208d3fc - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x88 - ldrb r3, [sp, #4] - mov r4, #0 - str r4, [sp] - sub r4, sp, #4 - strb r3, [r4] - mov r9, r1 - mov r8, r2 - ldr r1, [r4] - add r2, sp, #8 - mov r3, #0x20 - bl func_ov00_0208d494 - mov r5, r0 - cmp r5, #0 - mov r6, #0 - ble _0208d488 - add r4, sp, #8 -_0208d444: - cmp r6, r8 - bhs _0208d478 - ldr r7, [r4, r6, lsl #2] - ldrsh r2, [r7, #0x10] - ldrsh r1, [r7, #0xe] - mov r0, r7 - strh r1, [r9] - strh r2, [r9, #2] - bl func_ov14_02125934 - strb r0, [r9, #4] - mov r0, r7 - bl func_ov14_02125948 - strb r0, [r9, #5] -_0208d478: - add r6, r6, #1 - cmp r6, r5 - add r9, r9, #6 - blt _0208d444 -_0208d488: - mov r0, r5 - add sp, sp, #0x88 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - arm_func_end func_ov00_0208d3fc - - .global func_ov00_0208d494 - arm_func_start func_ov00_0208d494 -func_ov00_0208d494: ; 0x0208d494 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x14 - mov r10, r0 - ldr r1, [r10, #0xc] - ldr r0, [r10, #0x10] - mov r11, r2 - add r0, r1, r0, lsl #2 - str r3, [sp] - str r1, [sp, #0x10] - cmp r1, r0 - ldr r9, [sp, #0x38] - mov r8, #0 - beq _0208d5d4 -_0208d4c8: - ldr r0, [sp] - add r1, r8, r9 - cmp r1, r0 - bhs _0208d5d4 - ldr r1, [r10, #0xc] - ldr r0, [r10, #0x10] - ldr r6, [sp, #0x10] - add r7, r1, r0, lsl #2 - str r7, [sp, #0xc] - str r7, [sp, #4] - str r6, [sp, #8] - mov r4, #0 - mov r5, #1 - b _0208d508 -_0208d500: - add r6, r6, #4 - str r6, [sp, #8] -_0208d508: - cmp r6, r7 - beq _0208d584 - ldr r0, [r6] - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x5b - bgt _0208d558 - bge _0208d570 - cmp r0, #0xc - bgt _0208d54c - cmp r0, #0xa - blt _0208d578 - cmpne r0, #0xb - cmpne r0, #0xc - beq _0208d570 - b _0208d578 -_0208d54c: - cmp r0, #0x5a - beq _0208d570 - b _0208d578 -_0208d558: - cmp r0, #0x5c - bgt _0208d568 - beq _0208d570 - b _0208d578 -_0208d568: - cmp r0, #0x87 - bne _0208d578 -_0208d570: - mov r0, r5 - b _0208d57c -_0208d578: - mov r0, r4 -_0208d57c: - cmp r0, #0 - beq _0208d500 -_0208d584: - ldr r1, [r10, #0xc] - ldr r0, [r10, #0x10] - ldr r2, [sp, #8] - add r0, r1, r0, lsl #2 - cmp r2, r0 - beq _0208d5d4 - ldr r0, [sp, #8] - ldr r2, [sp, #8] - ldr r1, [r0] - add r2, r2, #4 - cmp r1, #0 - addne r0, r11, r9, lsl #2 - strne r1, [r0, r8, lsl #2] - ldr r1, [r10, #0xc] - ldr r0, [r10, #0x10] - addne r8, r8, #1 - add r0, r1, r0, lsl #2 - str r2, [sp, #0x10] - cmp r2, r0 - bne _0208d4c8 -_0208d5d4: - mov r0, r8 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end func_ov00_0208d494 - - .global func_ov00_0208d5e0 - arm_func_start func_ov00_0208d5e0 -func_ov00_0208d5e0: ; 0x0208d5e0 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - ldr r0, [r6] - mov r5, r1 - mov r4, r2 - bl func_ov00_0209bbe8 - ldr r0, [r6] - mov r1, r4 - bl func_ov00_0209bc38 - ldr r1, _0208d618 ; =data_ov00_020ec9d4 - ldr r0, _0208d61c ; =data_ov00_020ec9d6 - strh r5, [r1] - strh r4, [r0] - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0208d5e0 -_0208d618: .word data_ov00_020ec9d4 -_0208d61c: .word data_ov00_020ec9d6 - - .global func_ov00_0208d620 - arm_func_start func_ov00_0208d620 -func_ov00_0208d620: ; 0x0208d620 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r4, [r5, #0xc] - ldr r0, [r5, #0x10] - add r0, r4, r0, lsl #2 - cmp r4, r0 - ldmeqia sp!, {r3, r4, r5, pc} -_0208d63c: - ldr r0, [r4] - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x25 - bne _0208d664 - ldr r0, [r4] - cmp r0, #0 - beq _0208d664 - bl func_ov15_0214c3c4 -_0208d664: - ldr r1, [r5, #0xc] - ldr r0, [r5, #0x10] - add r4, r4, #4 - add r0, r1, r0, lsl #2 - cmp r4, r0 - bne _0208d63c - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0208d620 - - .global func_ov00_0208d680 - arm_func_start func_ov00_0208d680 -func_ov00_0208d680: ; 0x0208d680 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r4, [r5, #0xc] - ldr r0, [r5, #0x10] - add r0, r4, r0, lsl #2 - cmp r4, r0 - ldmeqia sp!, {r3, r4, r5, pc} -_0208d69c: - ldr r0, [r4] - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x25 - bne _0208d6c4 - ldr r0, [r4] - cmp r0, #0 - beq _0208d6c4 - bl func_ov15_0214c414 -_0208d6c4: - ldr r1, [r5, #0xc] - ldr r0, [r5, #0x10] - add r4, r4, #4 - add r0, r1, r0, lsl #2 - cmp r4, r0 - bne _0208d69c - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0208d680 - - .global func_ov00_0208d6e0 - arm_func_start func_ov00_0208d6e0 -func_ov00_0208d6e0: ; 0x0208d6e0 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0x1c - mov r4, r0 - ldrh ip, [r4, #8] - cmp ip, #0 - addeq sp, sp, #0x1c - moveq r0, #0 - ldmeqia sp!, {r3, r4, pc} - ldr r0, [r4, #0x10] - cmp r0, ip - addhi sp, sp, #0x1c - movhi r0, #0 - ldmhiia sp!, {r3, r4, pc} - ldrb lr, [sp, #0x28] - ldr ip, [sp, #0x2c] - ldrsh r0, [sp, #0x30] - str lr, [sp] - str ip, [sp, #4] - str r0, [sp, #8] - ldr ip, [sp, #0x34] - add r0, sp, #0x14 - str ip, [sp, #0xc] - bl func_ov00_0208cb0c - str r0, [sp, #0x18] - cmp r0, #0 - beq _0208d814 - mov r2, #0 - strb r2, [sp, #0x13] - ldr r1, [r4, #0x10] - ldr r0, [r4, #0x14] - cmp r1, r0 - bhs _0208d77c - add r0, r1, #1 - str r0, [r4, #0x10] - ldr r2, [sp, #0x18] - ldr r1, [r4, #0xc] - sub r0, r0, #1 - str r2, [r1, r0, lsl #2] - b _0208d79c -_0208d77c: - strb r2, [sp, #0x11] - sub r1, sp, #4 - and r0, r2, #0xff - strb r0, [r1] - ldr r2, [r1] - add r1, sp, #0x18 - add r0, r4, #0xc - bl func_ov00_0208dadc -_0208d79c: - ldr r0, [sp, #0x18] - ldr r1, [r0] - ldr r1, [r1, #0x74] - blx r1 - cmp r0, #1 - bne _0208d814 - ldr r0, [r4, #0x1c] - cmp r0, #0x80 - bhi _0208d814 - mov r2, #0 - strb r2, [sp, #0x12] - ldr r1, [r4, #0x1c] - ldr r0, [r4, #0x20] - cmp r1, r0 - bhs _0208d7f4 - add r0, r1, #1 - str r0, [r4, #0x1c] - ldr r2, [sp, #0x18] - ldr r1, [r4, #0x18] - sub r0, r0, #1 - str r2, [r1, r0, lsl #2] - b _0208d814 -_0208d7f4: - strb r2, [sp, #0x10] - sub r1, sp, #4 - and r0, r2, #0xff - strb r0, [r1] - ldr r2, [r1] - add r1, sp, #0x18 - add r0, r4, #0x18 - bl func_ov00_0208dadc -_0208d814: - ldr r0, [sp, #0x18] - add sp, sp, #0x1c - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_0208d6e0 - - .global func_ov00_0208d820 - arm_func_start func_ov00_0208d820 -func_ov00_0208d820: ; 0x0208d820 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - sub sp, sp, #0x38 - movs r6, r1 - mov r7, r0 - addeq sp, sp, #0x38 - moveq r0, #1 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - ldrb r4, [r6, #0x14] - ldrb r5, [r6, #0x15] - ldr r1, [r7, #0xc] - ldr r2, [r7, #0x10] - sub r0, sp, #4 - strb r4, [r0] - add r2, r1, r2, lsl #2 - strb r5, [r0, #1] - ldr r3, [r0] - add r0, sp, #0x34 - str r2, [sp, #0x28] - str r2, [sp, #0x10] - strb r4, [sp, #4] - strb r5, [sp, #5] - str r2, [sp, #0x2c] - str r1, [sp, #0x30] - bl func_ov00_0208d930 - mov r2, #0 - ldr r1, [sp, #0x34] - strb r2, [sp, #1] - sub r0, sp, #4 - strb r2, [r0] - ldr r3, [r0] - ldr r2, [sp, #0x10] - add r0, r7, #0xc - str r1, [sp, #0x14] - bl func_ov00_0208d9e0 - ldr r1, [r7, #0x18] - ldr r0, [r7, #0x1c] - sub r3, sp, #4 - add r2, r1, r0, lsl #2 - strb r4, [r3] - strb r5, [r3, #1] - ldr r3, [r3] - add r0, sp, #0x24 - strb r4, [sp, #2] - str r2, [sp, #0x18] - str r2, [sp, #8] - strb r5, [sp, #3] - str r2, [sp, #0x1c] - str r1, [sp, #0x20] - bl func_ov00_0208d930 - ldr r1, [sp, #0x24] - mov r4, #0 - strb r4, [sp] - sub r3, sp, #4 - strb r4, [r3] - ldr r2, [sp, #8] - ldr r3, [r3] - add r0, r7, #0x18 - str r1, [sp, #0xc] - bl func_ov00_0208d9e0 - cmp r6, #0 - beq _0208d924 - mov r0, r6 - ldr r1, [r0] - ldr r1, [r1, #4] - blx r1 -_0208d924: - mov r0, #1 - add sp, sp, #0x38 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0208d820 - - .global func_ov00_0208d930 - arm_func_start func_ov00_0208d930 -func_ov00_0208d930: ; 0x0208d930 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, r5, r6, r7, r8, lr} - sub sp, sp, #8 - ldr r7, [sp, #0x28] - ldr r6, [sp, #0x24] - mov r4, r0 - str r7, [sp] - str r6, [sp, #4] - add r5, sp, #0x2c - b _0208d960 -_0208d958: - add r6, r6, #4 - str r6, [sp, #4] -_0208d960: - cmp r6, r7 - beq _0208d97c - ldr r1, [r6] - mov r0, r5 - bl func_ov00_0208cb84 - cmp r0, #0 - beq _0208d958 -_0208d97c: - ldr r7, [sp, #4] - ldr r6, [sp, #0x28] - mov r0, r7 - cmp r0, r6 - addne r8, r7, #4 - str r7, [sp, #0x24] - cmpne r8, r6 - beq _0208d9c8 - add r5, sp, #0x2c -_0208d9a0: - ldr r1, [r8] - mov r0, r5 - bl func_ov00_0208cb84 - cmp r0, #0 - ldreq r0, [r8] - add r8, r8, #4 - streq r0, [r7], #4 - streq r7, [sp, #0x24] - cmp r8, r6 - bne _0208d9a0 -_0208d9c8: - ldr r0, [sp, #0x24] - str r0, [r4] - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, lr} - add sp, sp, #0x10 - bx lr - arm_func_end func_ov00_0208d930 - - .global func_ov00_0208d9e0 - arm_func_start func_ov00_0208d9e0 -func_ov00_0208d9e0: ; 0x0208d9e0 - stmdb sp!, {r4, r5, r6, lr} - mov r5, r1 - mov r4, r2 - mov r6, r0 - cmp r5, r4 - beq _0208da3c - ldr r2, [r6] - ldr r1, [r6, #4] - mov r0, r5 - add r1, r2, r1, lsl #2 - sub r2, r1, r4 - mov r1, r2, asr #0x1 - add r1, r2, r1, lsr #30 - mov r2, r1, asr #0x2 - mov r1, r4 - mov r2, r2, lsl #0x2 - bl func_020435b4 - sub r1, r4, r5 - mov r0, r1, asr #0x1 - ldr r2, [r6, #4] - add r0, r1, r0, lsr #30 - sub r0, r2, r0, asr #2 - str r0, [r6, #4] -_0208da3c: - mov r0, r5 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_0208d9e0 - - .global func_ov00_0208da44 - arm_func_start func_ov00_0208da44 -func_ov00_0208da44: ; 0x0208da44 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #0x14 - ldrb r2, [sp, #0x2c] - ldrb r1, [sp, #0x2d] - mov r4, r0 - strb r2, [sp] - strb r1, [sp, #1] - ldr r6, [r4, #0xc] - ldr r0, [r4, #0x10] - str r6, [sp, #0x10] - add r5, r6, r0, lsl #2 - str r5, [sp, #0xc] - str r5, [sp, #4] - str r6, [sp, #8] - add r7, sp, #0 - b _0208da90 -_0208da88: - add r6, r6, #4 - str r6, [sp, #8] -_0208da90: - cmp r6, r5 - beq _0208daac - ldr r1, [r6] - mov r0, r7 - bl func_ov00_0208cb84 - cmp r0, #0 - beq _0208da88 -_0208daac: - ldr r1, [r4, #0xc] - ldr r0, [r4, #0x10] - ldr r2, [sp, #8] - add r0, r1, r0, lsl #2 - cmp r2, r0 - ldrne r0, [sp, #8] - ldrne r0, [r0] - moveq r0, #0 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, lr} - add sp, sp, #0x10 - bx lr - arm_func_end func_ov00_0208da44 - - .global func_ov00_0208dadc - arm_func_start func_ov00_0208dadc -func_ov00_0208dadc: ; 0x0208dadc - stmdb sp!, {r3, r4, r5, lr} - mov r4, r1 - mov r2, #0 - mov r5, r0 - mov r1, #1 - strb r2, [sp] - bl func_ov00_0208dc68 - mov r0, r5 - mov r2, r4 - mov r1, #1 - bl func_ov00_0208db0c - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0208dadc - - .global func_ov00_0208db0c - arm_func_start func_ov00_0208db0c -func_ov00_0208db0c: ; 0x0208db0c - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #0x1c - mov r6, r0 - mov r5, r1 - add r0, sp, #8 - add r1, r6, #8 - mov r4, r2 - bl func_ov00_0208ddd4 - mov r0, #0 - str r0, [sp, #0x18] - ldmib r6, {r0, r1} - add r2, r0, r5 - mov r0, r6 - sub r1, r2, r1 - bl func_ov00_0208dc68 - mov r3, #0 - mov r1, r0 - strb r3, [sp, #4] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - add r0, sp, #8 - strb r3, [sp] - bl func_ov00_0208dd94 - ldr r1, [r6, #4] - ldr r0, [sp, #8] - str r1, [sp, #0x18] - add r1, r0, r1, lsl #2 - ldr r0, [sp, #0xc] - cmp r5, #0 - add r1, r1, r0, lsl #2 - mov r0, #0 - strb r0, [sp, #3] - mov r2, r5 - beq _0208dba8 -_0208db98: - ldr r0, [r4] - subs r2, r2, #1 - str r0, [r1], #4 - bne _0208db98 -_0208dba8: - ldr r0, [sp, #0xc] - ldr r1, [sp, #0x18] - add r0, r0, r5 - str r0, [sp, #0xc] - ldr r4, [r6] - ldr r0, [r6, #4] - mov ip, #0 - add r0, r4, r0, lsl #2 - sub r2, r0, r4 - mov r0, r2, asr #0x1 - add r5, r2, r0, lsr #30 - sub r3, r1, r5, asr #2 - mov r2, r5, asr #0x2 - ldr r0, [sp, #8] - mov r7, r2, lsl #0x2 - mov r1, r4 - mov r2, r7 - add r0, r0, r3, lsl #2 - strb ip, [sp, #2] - str r3, [sp, #0x18] - bl func_02043594 - mov r0, r4 - mov r2, r7 - mov r1, #0 - bl func_02043600 - ldr r1, [sp, #0xc] - mov r0, #0 - add r1, r1, r5, asr #2 - str r1, [sp, #0xc] - strb r0, [sp, #1] - str r0, [r6, #4] - add r3, sp, #0x10 - ldr r2, [r6, #8] - ldr r1, [r3] - add r0, sp, #8 - str r1, [r6, #8] - str r2, [r3] - ldr r2, [r6] - ldr r1, [sp, #8] - str r1, [r6] - str r2, [sp, #8] - ldr r2, [r6, #4] - ldr r1, [sp, #0xc] - str r1, [r6, #4] - str r2, [sp, #0xc] - bl func_ov00_0208dd34 - add sp, sp, #0x1c - ldmia sp!, {r4, r5, r6, r7, pc} - arm_func_end func_ov00_0208db0c - - .global func_ov00_0208dc68 - arm_func_start func_ov00_0208dc68 -func_ov00_0208dc68: ; 0x0208dc68 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, lr} - sub sp, sp, #8 - ldr r4, [r0, #8] - mvn r0, #0xc0000000 - ldr r1, [sp, #0x14] - sub r0, r0, r4 - cmp r1, r0 - bls _0208dc90 - bl func_0204dd9c -_0208dc90: - ldr r0, _0208dd2c ; =0x15555555 - cmp r4, r0 - bhs _0208dcdc - add r1, r4, #1 - ldr r0, _0208dd30 ; =0xcccccccd - add r1, r1, r1, lsl #1 - umull r0, r2, r1, r0 - mov r2, r2, lsr #0x2 - ldr r0, [sp, #0x14] - str r2, [sp, #4] - cmp r0, r2 - addhi r0, sp, #0x14 - addls r0, sp, #4 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_0208dcdc: - cmp r4, r0, lsl #1 - bhs _0208dd18 - ldr r0, [sp, #0x14] - add r1, r4, #1 - mov r2, r1, lsr #0x1 - cmp r0, r1, lsr #1 - addhi r0, sp, #0x14 - str r2, [sp] - addls r0, sp, #0 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_0208dd18: - mvn r0, #0xc0000000 - add sp, sp, #8 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr - .align 2, 0 - arm_func_end func_ov00_0208dc68 -_0208dd2c: .word 0x15555555 -_0208dd30: .word 0xcccccccd - - .global func_ov00_0208dd34 - arm_func_start func_ov00_0208dd34 -func_ov00_0208dd34: ; 0x0208dd34 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r1, #0 - str r1, [r4, #4] - bl func_ov00_0208dd50 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208dd34 - - .global func_ov00_0208dd50 - arm_func_start func_ov00_0208dd50 -func_ov00_0208dd50: ; 0x0208dd50 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r0, [r4] - cmp r0, #0 - beq _0208dd88 - ldr r1, [r4, #4] - mov r0, #0 - strb r0, [sp] - ldr r0, [r4, #4] - sub r0, r0, r1 - str r0, [r4, #4] - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_0208dd88: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_0208dd50 - - .global func_ov00_0208dd94 - arm_func_start func_ov00_0208dd94 -func_ov00_0208dd94: ; 0x0208dd94 - stmdb sp!, {r3, r4, r5, lr} - mov r4, r1 - mvn r1, #0xc0000000 - mov r5, r0 - cmp r4, r1 - bls _0208ddb0 - bl func_0204dd9c -_0208ddb0: - ldr r1, _0208ddd0 ; =data_027e0ce0 - mov r0, r4, lsl #0x2 - ldr r1, [r1, #4] - mov r2, #4 - bl _ZN9SysObjectnwEmPjj - str r0, [r5] - str r4, [r5, #8] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0208dd94 -_0208ddd0: .word data_027e0ce0 - - .global func_ov00_0208ddd4 - arm_func_start func_ov00_0208ddd4 -func_ov00_0208ddd4: ; 0x0208ddd4 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r2, r1 - mov r1, #0 - str r1, [r4] - add r0, r4, #8 - str r1, [r4, #4] - bl func_ov00_0208ddfc - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208ddd4 - - .global func_ov00_0208ddfc - arm_func_start func_ov00_0208ddfc -func_ov00_0208ddfc: ; 0x0208ddfc - stmia r0, {r1, r2} - bx lr - arm_func_end func_ov00_0208ddfc - - .global func_ov00_0208de04 - arm_func_start func_ov00_0208de04 -func_ov00_0208de04: ; 0x0208de04 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - ldr ip, _0208de64 ; =data_ov00_020e2870 - mov r4, r0 - str ip, [r4] - strh r1, [r4, #4] - str r2, [r4, #8] - str r3, [r4, #0xc] - ldr r0, [sp, #0x10] - ldr r1, [sp, #0x14] - str r0, [r4, #0x10] - ldr r0, [sp, #0x18] - str r1, [r4, #0x14] - ldr ip, _0208de68 ; =func_ov00_0207e968 - str r0, [r4, #0x18] - ldr r3, _0208de6c ; =func_ov00_0207e96c - add r0, r4, #0x10c - mov r1, #4 - mov r2, #0x10 - str ip, [sp] - bl func_0204f614 - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - .align 2, 0 - arm_func_end func_ov00_0208de04 -_0208de64: .word data_ov00_020e2870 -_0208de68: .word func_ov00_0207e968 -_0208de6c: .word func_ov00_0207e96c - - .global func_ov00_0208de70 - arm_func_start func_ov00_0208de70 -func_ov00_0208de70: ; 0x0208de70 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r3, _0208de94 ; =func_ov00_0207e968 - add r0, r4, #0x10c - mov r1, #4 - mov r2, #0x10 - bl func_0204f754 - mov r0, r4 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0208de70 -_0208de94: .word func_ov00_0207e968 - - .global func_ov00_0208de98 - arm_func_start func_ov00_0208de98 -func_ov00_0208de98: ; 0x0208de98 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r3, _0208dec4 ; =func_ov00_0207e968 - add r0, r4, #0x10c - mov r1, #4 - mov r2, #0x10 - bl func_0204f754 - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0208de98 -_0208dec4: .word func_ov00_0207e968 - - .global func_ov00_0208dec8 - arm_func_start func_ov00_0208dec8 -func_ov00_0208dec8: ; 0x0208dec8 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r3, _0208deec ; =func_ov00_0207e968 - add r0, r4, #0x10c - mov r1, #4 - mov r2, #0x10 - bl func_0204f754 - mov r0, r4 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0208dec8 -_0208deec: .word func_ov00_0207e968 - - .global func_ov00_0208def0 - arm_func_start func_ov00_0208def0 -func_ov00_0208def0: ; 0x0208def0 - stmdb sp!, {r3, lr} - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208def0 - - .global func_ov00_0208df04 - arm_func_start func_ov00_0208df04 -func_ov00_0208df04: ; 0x0208df04 - stmdb sp!, {r4, lr} - ldr r1, [r0] - mov r4, r0 - ldr r1, [r1, #0x18] - blx r1 - mov r0, r4 - ldr r1, [r0] - ldr r1, [r1, #0x20] - blx r1 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208df04 - - .global func_ov00_0208df2c - arm_func_start func_ov00_0208df2c -func_ov00_0208df2c: ; 0x0208df2c - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - ldr r1, [r0] - mov r4, r0 - ldr r1, [r1, #0x1c] - blx r1 - mov r3, #2 - add r1, sp, #0 - mov r0, #0x10 - mov r2, #1 - str r3, [sp] - bl func_01ffa9fc - add r1, r4, #0x1c - mov r0, #0x17 - mov r2, #0xc - bl func_01ffa9fc - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_0208df2c - - .global func_ov00_0208df74 - arm_func_start func_ov00_0208df74 -func_ov00_0208df74: ; 0x0208df74 - bx lr - arm_func_end func_ov00_0208df74 - - .global func_ov00_0208df78 - arm_func_start func_ov00_0208df78 -func_ov00_0208df78: ; 0x0208df78 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x14 - mov r6, r0 - mov r0, r1, lsl #0xc - mov r5, r2 - mov r1, #0xff000 - mov r11, r3 - ldr r4, [sp, #0x38] - bl Divide - mov r1, #0xbf000 - sub r2, r5, #0xbf - mov r5, r0 - mov r0, r2, lsl #0xc - rsb r1, r1, #0 - bl Divide - cmp r5, #0 - cmpge r0, #0 - blt _0208dfcc - cmp r5, #0x1000 - cmple r0, #0x1000 - ble _0208dfd8 -_0208dfcc: - mvn r1, #0 - str r1, [sp, #0x10] - b _0208dfe0 -_0208dfd8: - mov r1, #0 - str r1, [sp, #0x10] -_0208dfe0: - sub r1, r0, #0x800 - sub r2, r5, #0x800 - mov r0, r6 - mov r8, r2, lsl #0x1 - mov r10, r1, lsl #0x1 - bl func_ov00_0208e3d0 - mov r5, r0 - ldr r0, [r5, #0x1c] - ldr r1, [r5, #0xc] - smull r2, r0, r10, r0 - smlal r2, r0, r8, r1 - mov r2, r2, lsr #0xc - orr r2, r2, r0, lsl #20 - ldr r0, [r5, #0x3c] - ldr r1, [r5, #0x2c] - add r0, r0, r2 - str r0, [sp, #0xc] - sub r0, r0, r1 - bl func_01ff9a50 - ldr r0, [r5, #0x10] - ldr r2, [r5] - smull r3, r0, r10, r0 - smlal r3, r0, r8, r2 - mov r2, r3, lsr #0xc - orr r2, r2, r0, lsl #20 - ldr r6, [r5, #0x30] - ldr r3, [r5, #4] - add r6, r6, r2 - ldr r2, [r5, #0x14] - ldr r1, [r5, #0x34] - smull r7, r2, r10, r2 - smlal r7, r2, r8, r3 - mov r3, r7, lsr #0xc - orr r3, r3, r2, lsl #20 - add r7, r1, r3 - ldr r1, [r5, #0x18] - ldr r2, [r5, #8] - smull r3, r1, r10, r1 - smlal r3, r1, r8, r2 - mov r2, r3, lsr #0xc - ldr r0, [r5, #0x38] - orr r2, r2, r1, lsl #20 - cmp r4, #0 - add r8, r0, r2 - beq _0208e0c4 - ldr r0, [r5, #0x20] - ldr r3, [r5, #0x24] - add r0, r6, r0 - str r0, [sp, #4] - add r0, r7, r3 - str r0, [sp] - ldr r2, [r5, #0x28] - ldr r1, [r5, #0x2c] - ldr r0, [sp, #0xc] - add r9, r8, r2 - add r0, r0, r1 - str r0, [sp, #8] -_0208e0c4: - ldr r2, [r5, #0x20] - ldr r1, [r5, #0x24] - ldr r0, [r5, #0x28] - sub r6, r6, r2 - sub r7, r7, r1 - sub r8, r8, r0 - bl func_01ff99f4 - mov r5, r0 - mov r10, r1 - cmp r4, #0 - beq _0208e0f8 - ldr r0, [sp, #8] - bl func_01ff9a50 -_0208e0f8: - mov r0, r6, asr #0x1f - umull r2, r1, r5, r6 - adds r2, r2, #0x80000000 - mla r1, r5, r0, r1 - mla r1, r10, r6, r1 - adc r2, r1, #0 - umull r0, r1, r5, r7 - str r2, [r11] - adds r0, r0, #0x80000000 - mov r0, r7, asr #0x1f - mla r1, r5, r0, r1 - mla r1, r10, r7, r1 - adc r0, r1, #0 - str r0, [r11, #4] - umull r0, r1, r5, r8 - adds r0, r0, #0x80000000 - mov r0, r8, asr #0x1f - mla r1, r5, r0, r1 - mla r1, r10, r8, r1 - adc r0, r1, #0 - str r0, [r11, #8] - cmp r4, #0 - beq _0208e1bc - bl func_01ff99f4 - ldr r2, [sp, #4] - umull r6, r5, r0, r2 - mov r2, r2, asr #0x1f - mla r5, r0, r2, r5 - ldr r2, [sp] - adds r6, r6, #0x80000000 - mov r7, r2, asr #0x1f - umull r3, r2, r0, r2 - mla r2, r0, r7, r2 - mov r7, r9, asr #0x1f - umull r8, r6, r0, r9 - mla r6, r0, r7, r6 - ldr r0, [sp, #4] - mla r6, r1, r9, r6 - mla r5, r1, r0, r5 - adc r0, r5, #0 - str r0, [r4] - ldr r0, [sp] - mla r2, r1, r0, r2 - adds r0, r3, #0x80000000 - adc r2, r2, #0 - adds r0, r8, #0x80000000 - str r2, [r4, #4] - adc r0, r6, #0 - str r0, [r4, #8] -_0208e1bc: - ldr r0, [sp, #0x10] - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end func_ov00_0208df78 - - .global func_ov00_0208e1c8 - arm_func_start func_ov00_0208e1c8 -func_ov00_0208e1c8: ; 0x0208e1c8 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x48 - str r1, [sp] - add r1, sp, #8 - bl func_02007a18 - ldr r0, [sp] - bl func_01ff91f8 - mov r11, #0 -_0208e1e8: - mov r3, r11 - mov r1, r11 - cmp r11, #4 - mov r2, #0 - bge _0208e228 - add r0, sp, #8 - add r0, r0, r11, lsl #2 -_0208e204: - ldr r4, [r0, r1, lsl #4] - cmp r4, #0 - rsblt r4, r4, #0 - cmp r4, r2 - movgt r3, r1 - add r1, r1, #1 - movgt r2, r4 - cmp r1, #4 - blt _0208e204 -_0208e228: - cmp r2, #0 - addeq sp, sp, #0x48 - mvneq r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - cmp r3, r11 - beq _0208e288 - ldr r1, [sp] - add r2, sp, #8 - mov r0, #0 - add r4, r1, r11, lsl #4 - add r6, r2, r11, lsl #4 - add r5, r2, r3, lsl #4 - add r2, r1, r3, lsl #4 -_0208e25c: - ldr r3, [r6, r0, lsl #2] - ldr r1, [r5, r0, lsl #2] - str r1, [r6, r0, lsl #2] - str r3, [r5, r0, lsl #2] - ldr r3, [r4, r0, lsl #2] - ldr r1, [r2, r0, lsl #2] - str r1, [r4, r0, lsl #2] - str r3, [r2, r0, lsl #2] - add r0, r0, #1 - cmp r0, #4 - blt _0208e25c -_0208e288: - add r0, sp, #8 - add r0, r0, r11, lsl #4 - ldr r0, [r0, r11, lsl #2] - bl func_01ff992c - ldr r2, [sp] - mov r3, #0 - mov lr, #0x80000000 - add r4, sp, #8 - add r9, r2, r11, lsl #4 - add r2, r4, r11, lsl #4 - mov r4, r3 - mov r6, r3 - mov r5, lr -_0208e2bc: - ldr r8, [r2, r3, lsl #2] - mov r7, r8, asr #0x1f - umull ip, r10, r0, r8 - adds ip, ip, lr - mla r10, r0, r7, r10 - mla r10, r1, r8, r10 - adc r7, r10, r4 - str r7, [r2, r3, lsl #2] - ldr r8, [r9, r3, lsl #2] - mov r7, r8, asr #0x1f - umull ip, r10, r0, r8 - adds ip, ip, r5 - mla r10, r0, r7, r10 - mla r10, r1, r8, r10 - adc r7, r10, r6 - str r7, [r9, r3, lsl #2] - add r3, r3, #1 - cmp r3, #4 - blt _0208e2bc - ldr r0, [sp] - add r1, sp, #8 - add r6, r0, r11, lsl #4 - add r0, sp, #8 - add r1, r1, r11, lsl #2 - mov ip, #0 - add r0, r0, r11, lsl #4 - str r1, [sp, #4] -_0208e328: - cmp ip, r11 - beq _0208e3ac - ldr r1, [sp, #4] - ldr r4, [sp] - ldr r3, [r1, ip, lsl #4] - add r1, sp, #8 - mov lr, #0 - mov r2, r3, asr #0x1f - add r1, r1, ip, lsl #4 - add r10, r4, ip, lsl #4 -_0208e350: - ldr r5, [r0, lr, lsl #2] - ldr r9, [r1, lr, lsl #2] - mov r4, r5, asr #0x1f - umull r8, r7, r3, r5 - mla r7, r3, r4, r7 - mla r7, r2, r5, r7 - mov r4, r8, lsr #0xc - orr r4, r4, r7, lsl #20 - subs r4, r9, r4 - str r4, [r1, lr, lsl #2] - ldr r9, [r10, lr, lsl #2] - ldr r5, [r6, lr, lsl #2] - mov r4, r5, asr #0x1f - umull r8, r7, r3, r5 - mla r7, r3, r4, r7 - mla r7, r2, r5, r7 - mov r4, r8, lsr #0xc - orr r4, r4, r7, lsl #20 - subs r4, r9, r4 - str r4, [r10, lr, lsl #2] - add lr, lr, #1 - cmp lr, #4 - blt _0208e350 -_0208e3ac: - add ip, ip, #1 - cmp ip, #4 - blt _0208e328 - add r11, r11, #1 - cmp r11, #4 - blt _0208e1e8 - mov r0, #0 - add sp, sp, #0x48 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end func_ov00_0208e1c8 - - .global func_ov00_0208e3d0 - arm_func_start func_ov00_0208e3d0 -func_ov00_0208e3d0: ; 0x0208e3d0 - stmdb sp!, {r4, lr} - sub sp, sp, #0xb0 - mov r4, r0 - add r1, sp, #0x40 - add r0, r4, #0x1c - bl func_01ff8af8 - add r1, sp, #0 - add r0, r4, #0x8c - bl func_ov00_0208e1c8 - add r0, sp, #0x40 - add r1, sp, #0x70 - bl func_01ff8954 - add r0, sp, #0 - add r1, sp, #0x70 - add r2, r4, #0xcc - bl func_01ff927c - add r0, r4, #0xcc - add sp, sp, #0xb0 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208e3d0 - - .global func_ov00_0208e41c - arm_func_start func_ov00_0208e41c -func_ov00_0208e41c: ; 0x0208e41c - bx lr - arm_func_end func_ov00_0208e41c - - .global func_ov00_0208e420 - arm_func_start func_ov00_0208e420 -func_ov00_0208e420: ; 0x0208e420 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0x14 - mov r4, r0 - ldrh r1, [r4, #4] - ldr r0, [r4, #0x10] - mov ip, #0 - str r0, [sp] - mov r0, r1, asr #0x4 - ldr r1, [r4, #0x18] - mov r3, r0, lsl #0x1 - add r0, r3, #1 - str r1, [sp, #4] - mov r1, r0, lsl #0x1 - ldr r2, _0208e4f0 ; =data_02050f54 - mov r3, r3, lsl #0x1 - str ip, [sp, #8] - add r0, r4, #0x8c - str r0, [sp, #0xc] - ldrsh r0, [r2, r3] - ldrsh r1, [r2, r1] - ldr r2, [r4, #8] - ldr r3, [r4, #0xc] - bl func_02005bfc - bl func_01ffa8d4 - ldrh r2, [r4, #4] - ldr r0, [r4, #0x10] - mov r1, #1 - str r0, [sp] - mov r0, r2, asr #0x4 - ldr r2, [r4, #0x14] - mov r3, r0, lsl #0x1 - str r2, [sp, #4] - add r0, r3, #1 - str r1, [sp, #8] - add r1, r4, #0x4c - str r1, [sp, #0xc] - ldr r2, _0208e4f0 ; =data_02050f54 - mov r1, r0, lsl #0x1 - mov r3, r3, lsl #0x1 - ldrsh r0, [r2, r3] - ldrsh r1, [r2, r1] - ldr r2, [r4, #8] - ldr r3, [r4, #0xc] - bl func_02005bfc - mov r0, #0 - str r0, [sp, #0x10] - add r1, sp, #0x10 - mov r0, #0x13 - mov r2, #1 - bl func_01ffa9fc - add sp, sp, #0x14 - ldmia sp!, {r3, r4, pc} - .align 2, 0 - arm_func_end func_ov00_0208e420 -_0208e4f0: .word data_02050f54 - - .global func_ov00_0208e4f4 - arm_func_start func_ov00_0208e4f4 -func_ov00_0208e4f4: ; 0x0208e4f4 - bx lr - arm_func_end func_ov00_0208e4f4 - - .global func_ov00_0208e4f8 - arm_func_start func_ov00_0208e4f8 -func_ov00_0208e4f8: ; 0x0208e4f8 - ldr r3, _0208e50c ; =data_027e0f6c - ldr ip, _0208e510 ; =func_ov00_02093a4c - ldrh r2, [r1, #6] - ldr r1, [r3] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208e4f8 -_0208e50c: .word data_027e0f6c -_0208e510: .word func_ov00_02093a4c - - .global func_ov00_0208e514 - arm_func_start func_ov00_0208e514 -func_ov00_0208e514: ; 0x0208e514 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r0, [r4, #0x48] - ldrh r2, [r4] - ldr lr, [r0, #8] - mov r0, #0xc - ldrh r3, [r4, #2] - mla r1, r2, r0, lr - ldrh ip, [r4, #4] - mla r2, r3, r0, lr - mla r3, ip, r0, lr - add r0, r4, #8 - bl func_01fffc44 - ldr r0, [r4, #0x48] - ldrh r2, [r4] - ldr r1, [r0, #8] - mov r0, #0xc - mla r1, r2, r0, r1 - add r0, r4, #8 - bl func_01ff9c2c - str r0, [r4, #0x14] - ldr r0, [r4, #0x48] - ldrh r3, [r4, #2] - ldrh r2, [r4] - ldr ip, [r0, #8] - mov r1, #0xc - mla r0, r3, r1, ip - mla r1, r2, r1, ip - add r2, r4, #0x18 - bl func_01ff9bf8 - add r0, r4, #0x18 - add r1, r4, #8 - mov r2, r0 - bl func_01ff9c68 - add r0, r4, #0x18 - bl func_01fffb4c - ldr r1, [r4, #0x48] - ldrh r2, [r4] - ldr r3, [r1, #8] - mov r1, #0xc - mla r1, r2, r1, r3 - add r0, r4, #0x18 - bl func_01ff9c2c - str r0, [r4, #0x24] - ldr r0, [r4, #0x48] - ldrh r2, [r4, #4] - ldrh r3, [r4, #2] - ldr ip, [r0, #8] - mov r1, #0xc - mla r0, r2, r1, ip - mla r1, r3, r1, ip - add r2, r4, #0x28 - bl func_01ff9bf8 - add r0, r4, #0x28 - add r1, r4, #8 - mov r2, r0 - bl func_01ff9c68 - add r0, r4, #0x28 - bl func_01fffb4c - ldr r1, [r4, #0x48] - ldrh r2, [r4, #2] - ldr r3, [r1, #8] - mov r1, #0xc - mla r1, r2, r1, r3 - add r0, r4, #0x28 - bl func_01ff9c2c - str r0, [r4, #0x34] - ldr r0, [r4, #0x48] - ldrh r3, [r4] - ldrh r2, [r4, #4] - ldr ip, [r0, #8] - mov r1, #0xc - mla r0, r3, r1, ip - mla r1, r2, r1, ip - add r2, r4, #0x38 - bl func_01ff9bf8 - add r0, r4, #0x38 - add r1, r4, #8 - mov r2, r0 - bl func_01ff9c68 - add r0, r4, #0x38 - bl func_01fffb4c - ldr r0, [r4, #0x48] - ldrh r2, [r4, #4] - ldr r1, [r0, #8] - mov r0, #0xc - mla r1, r2, r0, r1 - add r0, r4, #0x38 - bl func_01ff9c2c - str r0, [r4, #0x44] - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208e514 - - .global func_ov00_0208e680 - arm_func_start func_ov00_0208e680 -func_ov00_0208e680: ; 0x0208e680 - ldr r2, [r0, #0xc] - ldr r1, [r0] - cmp r2, r1 - ldrge r2, [r0, #0x10] - ldrge r1, [r0, #4] - cmpge r2, r1 - ldrge r1, [r0, #0x14] - ldrge r0, [r0, #8] - cmpge r1, r0 - movge r0, #1 - movlt r0, #0 - bx lr - arm_func_end func_ov00_0208e680 - - .global func_ov00_0208e6b0 - arm_func_start func_ov00_0208e6b0 -func_ov00_0208e6b0: ; 0x0208e6b0 - ldr r3, [r0] - ldr r2, [r0, #0xc] - add r2, r3, r2 - mov r2, r2, asr #0x1 - str r2, [r1] - ldr r3, [r0, #4] - ldr r2, [r0, #0x10] - add r2, r3, r2 - mov r2, r2, asr #0x1 - str r2, [r1, #4] - ldr r2, [r0, #8] - ldr r0, [r0, #0x14] - add r0, r2, r0 - mov r0, r0, asr #0x1 - str r0, [r1, #8] - bx lr - arm_func_end func_ov00_0208e6b0 - - .global func_ov00_0208e6f0 - arm_func_start func_ov00_0208e6f0 -func_ov00_0208e6f0: ; 0x0208e6f0 - ldr r1, [r0, #0xc] - ldr r0, [r0] - subs r0, r1, r0 - rsbmi r0, r0, #0 - bx lr - arm_func_end func_ov00_0208e6f0 - - .global func_ov00_0208e704 - arm_func_start func_ov00_0208e704 -func_ov00_0208e704: ; 0x0208e704 - ldr r1, [r0, #0x14] - ldr r0, [r0, #8] - subs r0, r1, r0 - rsbmi r0, r0, #0 - bx lr - arm_func_end func_ov00_0208e704 - - .global func_ov00_0208e718 - arm_func_start func_ov00_0208e718 -func_ov00_0208e718: ; 0x0208e718 - ldr r1, [r0, #0x10] - ldr r0, [r0, #4] - subs r0, r1, r0 - rsbmi r0, r0, #0 - bx lr - arm_func_end func_ov00_0208e718 - - .global func_ov00_0208e72c - arm_func_start func_ov00_0208e72c -func_ov00_0208e72c: ; 0x0208e72c - stmdb sp!, {r3, r4, r5, lr} - ldr r5, [r1] - ldr r2, [r0] - mov ip, #0 - cmp r5, r2 - ldrge r3, [r1, #4] - ldrge r2, [r0, #4] - mov r4, ip - cmpge r3, r2 - movge r4, #1 - mov lr, ip - cmp r4, #0 - beq _0208e770 - ldr r3, [r1, #8] - ldr r2, [r0, #8] - cmp r3, r2 - movge lr, #1 -_0208e770: - cmp lr, #0 - beq _0208e79c - ldr r2, [r0, #0xc] - cmp r5, r2 - ldrlt r3, [r1, #4] - ldrlt r2, [r0, #0x10] - cmplt r3, r2 - ldrlt r1, [r1, #8] - ldrlt r0, [r0, #0x14] - cmplt r1, r0 - movlt ip, #1 -_0208e79c: - mov r0, ip - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0208e72c - - .global func_ov00_0208e7a4 - arm_func_start func_ov00_0208e7a4 -func_ov00_0208e7a4: ; 0x0208e7a4 - ldr r3, [r1] - ldr r2, [r0] - cmp r3, r2 - blt _0208e7e0 - ldr r2, [r0, #0xc] - cmp r3, r2 - bge _0208e7e0 - ldr r2, [r1, #8] - ldr r1, [r0, #8] - cmp r2, r1 - blt _0208e7e0 - ldr r0, [r0, #0x14] - cmp r2, r0 - movlt r0, #1 - bxlt lr -_0208e7e0: - mov r0, #0 - bx lr - arm_func_end func_ov00_0208e7a4 - - .global func_ov00_0208e7e8 - arm_func_start func_ov00_0208e7e8 -func_ov00_0208e7e8: ; 0x0208e7e8 - ldr r3, [r1] - ldr r2, [r0] - cmp r3, r2 - blt _0208e824 - ldr r2, [r0, #0xc] - cmp r3, r2 - bge _0208e824 - ldr r2, [r1, #4] - ldr r1, [r0, #4] - cmp r2, r1 - blt _0208e824 - ldr r0, [r0, #0x10] - cmp r2, r0 - movlt r0, #1 - bxlt lr -_0208e824: - mov r0, #0 - bx lr - arm_func_end func_ov00_0208e7e8 - - .global func_ov00_0208e82c - arm_func_start func_ov00_0208e82c -func_ov00_0208e82c: ; 0x0208e82c - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0x24 - mov r4, r1 - ldr r3, [r4, #0xc] - add r1, sp, #0x18 - add r2, sp, #0 - mov r5, r0 - str r3, [sp, #0x18] - str r3, [sp, #0x1c] - str r3, [sp, #0x20] - bl func_01ff9bf8 - add r1, sp, #0x18 - add r2, sp, #0xc - add r0, r5, #0xc - bl func_01ff9bc4 - add r0, sp, #0 - mov r1, r4 - bl func_ov00_0208e72c - add sp, sp, #0x24 - ldmia sp!, {r4, r5, pc} - arm_func_end func_ov00_0208e82c - - .global func_ov00_0208e87c - arm_func_start func_ov00_0208e87c -func_ov00_0208e87c: ; 0x0208e87c - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x60 - add ip, sp, #0x48 - mov r4, r0 - mov r6, r1 - mov r5, r2 - ldmia r4, {r0, r1, r2} - stmia ip, {r0, r1, r2} - add r0, r4, #0xc - add r4, sp, #0x54 - ldmia r0, {r0, r1, r2} - stmia r4, {r0, r1, r2} - ldr r1, [r6, #0xc] - mov r0, ip - mov r4, r3 - bl func_ov00_0208ee00 - mov r0, #0 - str r0, [sp, #0x3c] - str r0, [sp, #0x40] - sub r0, r0, #0x1000 - str r0, [sp, #0x44] - add r1, sp, #0x3c - mov r0, r5 - bl func_01ff9c2c - cmp r0, #0 - ble _0208e984 - ldr r2, [sp, #0x5c] - ldr r0, [r6, #8] - ldr r1, [r5, #8] - sub r0, r2, r0 - bl Divide - cmp r0, #0 - blt _0208e984 - cmp r0, #0x1000 - bgt _0208e984 - ldr r2, [r5] - ldr r1, [r5, #4] - smull r2, r3, r0, r2 - adds ip, r2, #0x800 - smull r2, r1, r0, r1 - adc r3, r3, #0 - adds r2, r2, #0x800 - mov ip, ip, lsr #0xc - ldr lr, [r6] - orr ip, ip, r3, lsl #20 - adc r1, r1, #0 - mov r2, r2, lsr #0xc - ldr r3, [r6, #4] - orr r2, r2, r1, lsl #20 - ldr r1, [sp, #0x48] - add ip, lr, ip - cmp r1, ip - add r2, r3, r2 - bgt _0208e984 - ldr r1, [sp, #0x54] - cmp ip, r1 - bge _0208e984 - ldr r1, [sp, #0x4c] - cmp r1, r2 - bgt _0208e984 - ldr r1, [sp, #0x58] - cmp r2, r1 - strlt r0, [r4] - addlt sp, sp, #0x60 - movlt r0, #1 - ldmltia sp!, {r4, r5, r6, pc} -_0208e984: - mov r3, #0 - mov r2, #0x1000 - add r1, sp, #0x30 - mov r0, r5 - str r3, [sp, #0x30] - str r3, [sp, #0x34] - str r2, [sp, #0x38] - bl func_01ff9c2c - cmp r0, #0 - ble _0208ea4c - ldr r2, [sp, #0x50] - ldr r0, [r6, #8] - ldr r1, [r5, #8] - sub r0, r2, r0 - bl Divide - cmp r0, #0 - blt _0208ea4c - cmp r0, #0x1000 - bgt _0208ea4c - ldr r2, [r5] - ldr r1, [r5, #4] - smull r2, r3, r0, r2 - adds ip, r2, #0x800 - smull r2, r1, r0, r1 - adc r3, r3, #0 - adds r2, r2, #0x800 - mov ip, ip, lsr #0xc - ldr lr, [r6] - orr ip, ip, r3, lsl #20 - adc r1, r1, #0 - mov r2, r2, lsr #0xc - ldr r3, [r6, #4] - orr r2, r2, r1, lsl #20 - ldr r1, [sp, #0x48] - add ip, lr, ip - cmp r1, ip - add r2, r3, r2 - bgt _0208ea4c - ldr r1, [sp, #0x54] - cmp ip, r1 - bge _0208ea4c - ldr r1, [sp, #0x4c] - cmp r1, r2 - bgt _0208ea4c - ldr r1, [sp, #0x58] - cmp r2, r1 - strlt r0, [r4] - addlt sp, sp, #0x60 - movlt r0, #1 - ldmltia sp!, {r4, r5, r6, pc} -_0208ea4c: - mov r3, #0x1000 - mov r2, #0 - rsb r3, r3, #0 - add r1, sp, #0x24 - mov r0, r5 - str r3, [sp, #0x24] - str r2, [sp, #0x28] - str r2, [sp, #0x2c] - bl func_01ff9c2c - cmp r0, #0 - ble _0208eb14 - ldr r2, [sp, #0x54] - ldr r0, [r6] - ldr r1, [r5] - sub r0, r2, r0 - bl Divide - cmp r0, #0 - blt _0208eb14 - cmp r0, #0x1000 - bgt _0208eb14 - ldmib r5, {r1, r2} - smull r2, r3, r0, r2 - adds ip, r2, #0x800 - smull r2, r1, r0, r1 - adc r3, r3, #0 - adds r2, r2, #0x800 - mov ip, ip, lsr #0xc - orr ip, ip, r3, lsl #20 - ldr lr, [r6, #8] - adc r1, r1, #0 - mov r2, r2, lsr #0xc - orr r2, r2, r1, lsl #20 - ldr r3, [r6, #4] - ldr r1, [sp, #0x50] - add ip, lr, ip - cmp r1, ip - add r2, r3, r2 - bgt _0208eb14 - ldr r1, [sp, #0x5c] - cmp ip, r1 - bge _0208eb14 - ldr r1, [sp, #0x4c] - cmp r1, r2 - bgt _0208eb14 - ldr r1, [sp, #0x58] - cmp r2, r1 - strlt r0, [r4] - addlt sp, sp, #0x60 - movlt r0, #1 - ldmltia sp!, {r4, r5, r6, pc} -_0208eb14: - mov r2, #0 - mov r3, #0x1000 - add r1, sp, #0x18 - mov r0, r5 - str r3, [sp, #0x18] - str r2, [sp, #0x1c] - str r2, [sp, #0x20] - bl func_01ff9c2c - cmp r0, #0 - ble _0208ebd8 - ldr r2, [sp, #0x48] - ldr r0, [r6] - ldr r1, [r5] - sub r0, r2, r0 - bl Divide - cmp r0, #0 - blt _0208ebd8 - cmp r0, #0x1000 - bgt _0208ebd8 - ldmib r5, {r1, r2} - smull r2, r3, r0, r2 - adds ip, r2, #0x800 - smull r2, r1, r0, r1 - adc r3, r3, #0 - adds r2, r2, #0x800 - mov ip, ip, lsr #0xc - orr ip, ip, r3, lsl #20 - ldr lr, [r6, #8] - adc r1, r1, #0 - mov r2, r2, lsr #0xc - orr r2, r2, r1, lsl #20 - ldr r3, [r6, #4] - ldr r1, [sp, #0x50] - add ip, lr, ip - cmp r1, ip - add r2, r3, r2 - bgt _0208ebd8 - ldr r1, [sp, #0x5c] - cmp ip, r1 - bge _0208ebd8 - ldr r1, [sp, #0x4c] - cmp r1, r2 - bgt _0208ebd8 - ldr r1, [sp, #0x58] - cmp r2, r1 - strlt r0, [r4] - addlt sp, sp, #0x60 - movlt r0, #1 - ldmltia sp!, {r4, r5, r6, pc} -_0208ebd8: - mov r3, #0 - sub r2, r3, #0x1000 - add r1, sp, #0xc - mov r0, r5 - str r3, [sp, #0xc] - str r2, [sp, #0x10] - str r3, [sp, #0x14] - bl func_01ff9c2c - cmp r0, #0 - ble _0208eca0 - ldr r2, [sp, #0x58] - ldr r0, [r6, #4] - ldr r1, [r5, #4] - sub r0, r2, r0 - bl Divide - cmp r0, #0 - blt _0208eca0 - cmp r0, #0x1000 - bgt _0208eca0 - ldr r2, [r5] - ldr r1, [r5, #8] - smull r2, r3, r0, r2 - adds ip, r2, #0x800 - smull r2, r1, r0, r1 - adc r3, r3, #0 - adds r2, r2, #0x800 - mov ip, ip, lsr #0xc - ldr lr, [r6] - orr ip, ip, r3, lsl #20 - adc r1, r1, #0 - mov r2, r2, lsr #0xc - ldr r3, [r6, #8] - orr r2, r2, r1, lsl #20 - ldr r1, [sp, #0x48] - add ip, lr, ip - cmp r1, ip - add r2, r3, r2 - bgt _0208eca0 - ldr r1, [sp, #0x54] - cmp ip, r1 - bge _0208eca0 - ldr r1, [sp, #0x50] - cmp r1, r2 - bgt _0208eca0 - ldr r1, [sp, #0x5c] - cmp r2, r1 - strlt r0, [r4] - addlt sp, sp, #0x60 - movlt r0, #1 - ldmltia sp!, {r4, r5, r6, pc} -_0208eca0: - mov r3, #0 - mov r2, #0x1000 - add r1, sp, #0 - mov r0, r5 - str r3, [sp] - str r2, [sp, #4] - str r3, [sp, #8] - bl func_01ff9c2c - cmp r0, #0 - ble _0208ed68 - ldr r2, [sp, #0x4c] - ldr r0, [r6, #4] - ldr r1, [r5, #4] - sub r0, r2, r0 - bl Divide - cmp r0, #0 - blt _0208ed68 - cmp r0, #0x1000 - bgt _0208ed68 - ldr r2, [r5] - ldr r1, [r5, #8] - smull r2, r3, r0, r2 - adds r5, r2, #0x800 - smull r2, r1, r0, r1 - adc r3, r3, #0 - adds r2, r2, #0x800 - mov r5, r5, lsr #0xc - ldr ip, [r6] - orr r5, r5, r3, lsl #20 - adc r1, r1, #0 - mov r2, r2, lsr #0xc - ldr r3, [r6, #8] - orr r2, r2, r1, lsl #20 - ldr r1, [sp, #0x48] - add r5, ip, r5 - cmp r1, r5 - add r2, r3, r2 - bgt _0208ed68 - ldr r1, [sp, #0x54] - cmp r5, r1 - bge _0208ed68 - ldr r1, [sp, #0x50] - cmp r1, r2 - bgt _0208ed68 - ldr r1, [sp, #0x5c] - cmp r2, r1 - strlt r0, [r4] - addlt sp, sp, #0x60 - movlt r0, #1 - ldmltia sp!, {r4, r5, r6, pc} -_0208ed68: - mov r0, #0 - add sp, sp, #0x60 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_0208e87c - - .global func_ov00_0208ed74 - arm_func_start func_ov00_0208ed74 -func_ov00_0208ed74: ; 0x0208ed74 - ldr r3, [r1] - ldr r2, [r0] - cmp r2, r3 - strge r3, [r0] - ldr r3, [r1, #4] - ldr r2, [r0, #4] - cmp r2, r3 - strge r3, [r0, #4] - ldr r3, [r1, #8] - ldr r2, [r0, #8] - cmp r2, r3 - strge r3, [r0, #8] - ldr r3, [r1] - ldr r2, [r0, #0xc] - cmp r2, r3 - strle r3, [r0, #0xc] - ldr r3, [r1, #4] - ldr r2, [r0, #0x10] - cmp r2, r3 - strle r3, [r0, #0x10] - ldr r2, [r1, #8] - ldr r1, [r0, #0x14] - cmp r1, r2 - strle r2, [r0, #0x14] - bx lr - arm_func_end func_ov00_0208ed74 - - .global func_ov00_0208edd8 - arm_func_start func_ov00_0208edd8 -func_ov00_0208edd8: ; 0x0208edd8 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r2, r5 - mov r4, r1 - bl func_01ff9bf8 - add r0, r5, #0xc - mov r1, r4 - mov r2, r0 - bl func_01ff9bc4 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0208edd8 - - .global func_ov00_0208ee00 - arm_func_start func_ov00_0208ee00 -func_ov00_0208ee00: ; 0x0208ee00 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #0x18 - mov r5, r0 - mov r4, r1 - add r1, sp, #0xc - mov r2, r5 - str r4, [sp, #0xc] - str r4, [sp, #0x10] - str r4, [sp, #0x14] - bl func_01ff9bf8 - add r0, r5, #0xc - add r1, sp, #0 - mov r2, r0 - str r4, [sp] - str r4, [sp, #4] - str r4, [sp, #8] - bl func_01ff9bc4 - add sp, sp, #0x18 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0208ee00 - - .global func_ov00_0208ee4c - arm_func_start func_ov00_0208ee4c -func_ov00_0208ee4c: ; 0x0208ee4c - stmdb sp!, {r4, lr} - sub sp, sp, #0x18 - mov ip, #0 - mov r4, r1 - mov lr, r2 - str ip, [sp, #0xc] - str ip, [sp, #0x10] - str ip, [sp, #0x14] - str r3, [sp] - add ip, sp, #8 - add r1, sp, #0xc - mov r2, r4 - mov r3, lr - str ip, [sp, #4] - bl func_ov00_0208ee90 - add sp, sp, #0x18 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208ee4c - - .global func_ov00_0208ee90 - arm_func_start func_ov00_0208ee90 -func_ov00_0208ee90: ; 0x0208ee90 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x18 - mov r5, r2 - mov r9, r0 - mov r8, r1 - add r2, sp, #0xc - mov r0, r5 - mov r1, r9 - mov r4, r3 - ldr r7, [sp, #0x38] - ldr r6, [sp, #0x3c] - bl func_01ff9bf8 - add r2, sp, #0 - mov r0, r4 - mov r1, r8 - bl func_01ff9bf8 - add r0, sp, #0xc - ldr r3, [r9, #0xc] - ldr r2, [r5, #0xc] - mov r1, r0 - add r4, r3, r2 - smull r3, r2, r4, r4 - adds r3, r3, #0x800 - adc r2, r2, #0 - mov r8, r3, lsr #0xc - orr r8, r8, r2, lsl #20 - bl func_01ff9c2c - cmp r0, r8 - bgt _0208ef1c - mov r0, #0 - str r0, [r7] - str r0, [r6] - add sp, sp, #0x18 - mov r0, #1 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} -_0208ef1c: - add r0, sp, #0 - mov r1, r0 - bl func_01ff9c2c - mov r4, r0 - cmp r4, #0 - addle sp, sp, #0x18 - movle r0, #0 - ldmleia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - add r0, sp, #0xc - add r1, sp, #0 - bl func_01ff9c2c - mov r5, r0, lsl #0x1 - add r0, sp, #0xc - mov r1, r0 - bl func_01ff9c2c - smull r1, r2, r5, r5 - adds r3, r1, #0x800 - sub r0, r0, r8 - smull r1, r0, r4, r0 - adc r2, r2, #0 - adds r1, r1, #0x800 - mov r3, r3, lsr #0xc - adc r0, r0, #0 - mov r1, r1, lsr #0xc - orr r3, r3, r2, lsl #20 - orr r1, r1, r0, lsl #20 - subs r0, r3, r1, lsl #2 - mov r1, #0 - addmi sp, sp, #0x18 - movmi r0, r1 - ldmmiia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - bl func_01ff9958 - mov r8, r0 - mov r0, r4, lsl #0x1 - bl func_01ff992c - sub ip, r8, r5 - add r2, r5, r8 - rsb r3, r2, #0 - umull r8, lr, r0, ip - mov r2, ip, asr #0x1f - mla lr, r0, r2, lr - mov r2, r3, asr #0x1f - umull r5, r4, r0, r3 - mla r4, r0, r2, r4 - mla lr, r1, ip, lr - adds r0, r8, #0x80000000 - adc r2, lr, #0 - mla r4, r1, r3, r4 - adds r0, r5, #0x80000000 - adc r0, r4, #0 - cmp r2, #0 - blt _0208eff4 - cmp r2, #0x1000 - ble _0208f010 -_0208eff4: - cmp r0, #0 - blt _0208f004 - cmp r0, #0x1000 - ble _0208f010 -_0208f004: - add sp, sp, #0x18 - mov r0, #0 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} -_0208f010: - cmp r2, r0 - strlt r2, [r7] - strlt r0, [r6] - strge r0, [r7] - strge r2, [r6] - mov r0, #1 - add sp, sp, #0x18 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - arm_func_end func_ov00_0208ee90 - - .global func_ov00_0208f030 - arm_func_start func_ov00_0208f030 -func_ov00_0208f030: ; 0x0208f030 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - sub sp, sp, #0x28 - mov r7, r0 - mov r5, r1 - ldr r4, [r7, #0xc] - mov r6, r2 - add r2, sp, #0x1c - mov r0, r5 - mov r1, r7 - add r4, r3, r4 - bl func_01ff9bf8 - add r2, sp, #0x10 - mov r0, r6 - mov r1, r5 - bl func_01ff9bf8 - add r0, sp, #0x10 - mov r1, r0 - bl func_01ff9c2c - movs r6, r0 - bne _0208f0b4 - ldr r3, [r7, #0xc] - ldr r0, [r5] - add r1, sp, #0 - str r0, [sp] - ldr r2, [r5, #4] - mov r0, r7 - str r2, [sp, #4] - ldr r2, [r5, #8] - str r2, [sp, #8] - str r3, [sp, #0xc] - bl func_01ffec34 - add sp, sp, #0x28 - ldmia sp!, {r3, r4, r5, r6, r7, pc} -_0208f0b4: - add r0, sp, #0x10 - add r1, sp, #0x1c - bl func_01ff9c2c - mov r5, r0 - add r0, sp, #0x1c - mov r1, r0 - bl func_01ff9c2c - smull r2, r1, r5, r5 - adds r7, r2, #0x800 - smull r2, r3, r4, r4 - adc r1, r1, #0 - adds r4, r2, #0x800 - adc r3, r3, #0 - mov r4, r4, lsr #0xc - orr r4, r4, r3, lsl #20 - sub r0, r0, r4 - smull r3, r0, r6, r0 - adds r3, r3, #0x800 - mov r2, r7, lsr #0xc - orr r2, r2, r1, lsl #20 - adc r0, r0, #0 - mov r3, r3, lsr #0xc - orr r3, r3, r0, lsl #20 - subs r0, r2, r3 - mov r1, #0 - addmi sp, sp, #0x28 - movmi r0, r1 - ldmmiia sp!, {r3, r4, r5, r6, r7, pc} - bl func_01ff9958 - mov r4, r0 - mov r0, r6 - bl func_01ff991c - add r1, r5, r4 - rsb r1, r1, #0 - smull r2, r3, r1, r0 - adds r6, r2, #0x800 - sub r1, r4, r5 - smull r2, r0, r1, r0 - adc r3, r3, #0 - adds r1, r2, #0x800 - mov r2, r6, lsr #0xc - orr r2, r2, r3, lsl #20 - adc r0, r0, #0 - mov r1, r1, lsr #0xc - cmp r2, #0 - orr r1, r1, r0, lsl #20 - blt _0208f178 - cmp r2, #0x1000 - ble _0208f194 -_0208f178: - cmp r1, #0 - blt _0208f188 - cmp r1, #0x1000 - ble _0208f194 -_0208f188: - add sp, sp, #0x28 - mov r0, #0 - ldmia sp!, {r3, r4, r5, r6, r7, pc} -_0208f194: - mov r0, #1 - add sp, sp, #0x28 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0208f030 - - .global func_ov00_0208f1a0 - arm_func_start func_ov00_0208f1a0 -func_ov00_0208f1a0: ; 0x0208f1a0 - stmdb sp!, {r4, r5, r6, r7, r8, lr} - sub sp, sp, #0x28 - mov r7, r0 - mov r6, r1 - ldr r4, [r7, #0xc] - mov r8, r2 - add r2, sp, #0x1c - mov r0, r6 - mov r1, r7 - add r5, r3, r4 - bl func_01ff9bf8 - add r2, sp, #0x10 - mov r0, r8 - mov r1, r6 - bl func_01ff9bf8 - add r0, sp, #0x10 - mov r1, r0 - bl func_01ff9c2c - movs r4, r0 - bne _0208f224 - ldr r3, [r7, #0xc] - ldr r0, [r6] - add r1, sp, #0 - str r0, [sp] - ldr r2, [r6, #4] - mov r0, r7 - str r2, [sp, #4] - ldr r2, [r6, #8] - str r2, [sp, #8] - str r3, [sp, #0xc] - bl func_01ffec34 - add sp, sp, #0x28 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0208f224: - add r0, sp, #0x10 - add r1, sp, #0x1c - bl func_01ff9c2c - mov r6, r0 - add r0, sp, #0x1c - mov r1, r0 - bl func_01ff9c2c - smull r1, r3, r6, r6 - adds r6, r1, #0x800 - smull r2, r1, r5, r5 - adc r3, r3, #0 - adds r2, r2, #0x800 - adc r1, r1, #0 - mov r2, r2, lsr #0xc - orr r2, r2, r1, lsl #20 - sub r0, r0, r2 - smull r1, r0, r4, r0 - adds r1, r1, #0x800 - mov r5, r6, lsr #0xc - adc r0, r0, #0 - mov r1, r1, lsr #0xc - orr r5, r5, r3, lsl #20 - orr r1, r1, r0, lsl #20 - subs r0, r5, r1 - mov r0, #0 - movpl r0, #1 - add sp, sp, #0x28 - ldmia sp!, {r4, r5, r6, r7, r8, pc} - arm_func_end func_ov00_0208f1a0 - - .global func_ov00_0208f294 - arm_func_start func_ov00_0208f294 -func_ov00_0208f294: ; 0x0208f294 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0xc - mov r4, r0 - ldr ip, [r4, #4] - ldr r3, [r1, #4] - ldr r2, [r4, #0x10] - sub r3, r3, ip - cmp r3, r2 - bgt _0208f30c - cmp r3, #0 - blt _0208f30c - ldr r3, [r1, #8] - ldr r2, [r1] - add r1, sp, #0 - str r2, [sp] - str ip, [sp, #4] - str r3, [sp, #8] - bl func_01fffb80 - ldr r3, [r4, #0xc] - mov ip, #0 - smull r2, r1, r3, r3 - adds r2, r2, #0x800 - adc r1, r1, #0 - mov r2, r2, lsr #0xc - orr r2, r2, r1, lsl #20 - cmp r0, r2 - movle ip, #1 - add sp, sp, #0xc - mov r0, ip - ldmia sp!, {r3, r4, pc} -_0208f30c: - mov r0, #0 - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_0208f294 - - .global func_ov00_0208f318 - arm_func_start func_ov00_0208f318 -func_ov00_0208f318: ; 0x0208f318 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0xc - mov r4, r0 - ldr ip, [r1, #8] - ldr r2, [r1] - ldr r3, [r4, #4] - add r1, sp, #0 - str r2, [sp] - str r3, [sp, #4] - str ip, [sp, #8] - bl func_01fffb80 - ldr r3, [r4, #0xc] - mov ip, #0 - smull r2, r1, r3, r3 - adds r2, r2, #0x800 - adc r1, r1, #0 - mov r2, r2, lsr #0xc - orr r2, r2, r1, lsl #20 - cmp r0, r2 - movle ip, #1 - mov r0, ip - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_0208f318 - - .global func_ov00_0208f374 - arm_func_start func_ov00_0208f374 -func_ov00_0208f374: ; 0x0208f374 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #0x18 - mov r5, r0 - mov r4, r1 - ldr r2, [r5, #4] - ldr r1, [r4, #4] - ldr ip, [r5, #0x10] - sub r3, r1, r2 - cmp r3, ip - bgt _0208f3f8 - cmp r3, #0 - blt _0208f3f8 - ldr ip, [r4, #8] - ldr r3, [r4] - add r1, sp, #0xc - str r3, [sp, #0xc] - str r2, [sp, #0x10] - str ip, [sp, #0x14] - bl func_01fffb80 - ldr r1, [r4, #0xc] - ldr r2, [r5, #0xc] - mov r4, #0 - add r3, r2, r1 - smull r2, r1, r3, r3 - adds r2, r2, #0x800 - adc r1, r1, #0 - mov r2, r2, lsr #0xc - orr r2, r2, r1, lsl #20 - cmp r0, r2 - movle r4, #1 - add sp, sp, #0x18 - mov r0, r4 - ldmia sp!, {r3, r4, r5, pc} -_0208f3f8: - ldr r1, [r4, #0xc] - add r0, ip, r1 - cmp r3, r0 - bgt _0208f414 - rsb r0, r1, #0 - cmp r3, r0 - bge _0208f420 -_0208f414: - add sp, sp, #0x18 - mov r0, #0 - ldmia sp!, {r3, r4, r5, pc} -_0208f420: - ldr ip, [r4, #8] - ldr r3, [r4] - add r1, sp, #0 - mov r0, r5 - str r3, [sp] - str r2, [sp, #4] - str ip, [sp, #8] - bl func_01fffb80 - ldr r1, [r4, #0xc] - ldr r2, [r5, #0xc] - mov r4, #0 - add r3, r2, r1 - smull r2, r1, r3, r3 - adds r2, r2, #0x800 - adc r1, r1, #0 - mov r2, r2, lsr #0xc - orr r2, r2, r1, lsl #20 - cmp r0, r2 - movle r4, #1 - mov r0, r4 - add sp, sp, #0x18 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0208f374 - - .global func_ov00_0208f478 - arm_func_start func_ov00_0208f478 -func_ov00_0208f478: ; 0x0208f478 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} - sub sp, sp, #0x24 - mov r9, r0 - mov r8, r1 - mov r7, r2 - ldr r6, [r9, #0xc] - ldr r5, [r8, #0xc] - add r4, sp, #0x18 - ldmia r7, {r0, r1, r2} - stmia r4, {r0, r1, r2} - add r4, r6, r5 - add r2, sp, #0xc - mov r0, r8 - mov r1, r9 - mov r6, r3 - bl func_01ff9bf8 - ldr r0, [sp, #0xc] - ldr r5, [sp, #0x14] - smull r3, r2, r0, r0 - smull ip, r10, r4, r4 - smull r1, r0, r5, r5 - adds r5, ip, #0x800 - adc r4, r10, #0 - adds r3, r3, #0x800 - adc r2, r2, #0 - adds r1, r1, #0x800 - mov r3, r3, lsr #0xc - mov r10, r5, lsr #0xc - adc r0, r0, #0 - mov r1, r1, lsr #0xc - orr r3, r3, r2, lsl #20 - orr r1, r1, r0, lsl #20 - orr r10, r10, r4, lsl #20 - add r0, r3, r1 - cmp r0, r10 - mov r0, #0 - bgt _0208f544 - ldr r3, [r9, #4] - ldr r2, [r8, #4] - cmp r2, r3 - blt _0208f538 - ldr r1, [r9, #0x10] - add r1, r3, r1 - cmp r2, r1 - strle r0, [r6] - addle sp, sp, #0x24 - movle r0, #1 - ldmleia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} -_0208f538: - add sp, sp, #0x24 - mov r0, #0 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} -_0208f544: - add r0, sp, #0x18 - mov r1, r0 - bl func_01ff9c2c - mov r4, r0 - add r0, sp, #0xc - add r1, sp, #0x18 - bl func_01ff9c2c - mov r5, r0, lsl #0x1 - add r0, sp, #0xc - mov r1, r0 - bl func_01ff9c2c - sub r1, r0, r10 - smull r2, r0, r5, r5 - adds r3, r2, #0x800 - adc r2, r0, #0 - mov r0, r3, lsr #0xc - orr r0, r0, r2, lsl #20 - smull r2, r1, r4, r1 - adds r2, r2, #0x800 - adc r1, r1, #0 - mov r2, r2, lsr #0xc - orr r2, r2, r1, lsl #20 - subs r0, r0, r2, lsl #2 - mov r1, #0 - addmi sp, sp, #0x24 - movmi r0, r1 - ldmmiia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} - bl func_01ff9958 - mov r10, r0 - mov r0, r4, lsl #0x1 - bl func_01ff992c - sub r3, r10, r5 - add r2, r5, r10 - rsb r4, r2, #0 - umull r5, ip, r0, r4 - mov r2, r4, asr #0x1f - mla ip, r0, r2, ip - mov r2, r3, asr #0x1f - adds r5, r5, #0x80000000 - umull r10, r5, r0, r3 - mla r5, r0, r2, r5 - mla ip, r1, r4, ip - mla r5, r1, r3, r5 - adc r4, ip, #0 - adds r0, r10, #0x80000000 - adc r0, r5, #0 - cmp r4, #0 - blt _0208f60c - cmp r4, #0x1000 - ble _0208f628 -_0208f60c: - cmp r0, #0 - blt _0208f61c - cmp r0, #0x1000 - ble _0208f628 -_0208f61c: - add sp, sp, #0x24 - mov r0, #0 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} -_0208f628: - add r3, sp, #0 - ldmia r8, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r3 - mov r1, r7 - mov r2, r3 - bl func_01ff9bc4 - ldr r0, [r7, #4] - ldr r3, [r8, #4] - smull r1, r0, r4, r0 - adds r1, r1, #0x800 - mov r2, r1, lsr #0xc - adc r0, r0, #0 - orr r2, r2, r0, lsl #20 - ldr r1, [r9, #4] - add r2, r3, r2 - cmp r2, r1 - blt _0208f680 - ldr r0, [r9, #0x10] - add r0, r1, r0 - cmp r2, r0 - ble _0208f68c -_0208f680: - add sp, sp, #0x24 - mov r0, #0 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} -_0208f68c: - str r4, [r6] - mov r0, #1 - add sp, sp, #0x24 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} - arm_func_end func_ov00_0208f478 - - .global func_ov00_0208f69c - arm_func_start func_ov00_0208f69c -func_ov00_0208f69c: ; 0x0208f69c - stmdb sp!, {r4, lr} - ldr r1, _0208f6d0 ; =data_027e0f84 - mov r4, r0 - ldr r1, [r1] - mov r0, #0x48 - ldr r1, [r1] - mov r2, #4 - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - ldmeqia sp!, {r4, pc} - mov r1, r4 - bl func_ov00_0208f6d4 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0208f69c -_0208f6d0: .word data_027e0f84 - - .global func_ov00_0208f6d4 - arm_func_start func_ov00_0208f6d4 -func_ov00_0208f6d4: ; 0x0208f6d4 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_0208b5bc - mov r1, #0 - ldr r0, _0208f708 ; =data_ov00_020e289c - mov r2, r1 - str r0, [r4] - mov r3, r1 - add r0, r4, #0x3c - str r1, [r4, #0x38] - blx func_ov00_020bd618 - mov r0, r4 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0208f6d4 -_0208f708: .word data_ov00_020e289c - - .global func_ov00_0208f70c - arm_func_start func_ov00_0208f70c -func_ov00_0208f70c: ; 0x0208f70c - stmdb sp!, {r4, lr} - mov r4, r0 - blx func_ov00_020b3ea8 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208f70c - - .global func_ov00_0208f720 - arm_func_start func_ov00_0208f720 -func_ov00_0208f720: ; 0x0208f720 - stmdb sp!, {r4, lr} - mov r4, r0 - add r0, r4, #0x3c - blx func_ov00_020b3ea8 - mov r0, r4 - bl func_ov00_0208b5a4 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208f720 - - .global func_ov00_0208f740 - arm_func_start func_ov00_0208f740 -func_ov00_0208f740: ; 0x0208f740 - stmdb sp!, {r4, lr} - mov r4, r0 - add r0, r4, #0x3c - blx func_ov00_020b3ea8 - mov r0, r4 - bl func_ov00_0208b5a4 - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208f740 - - .global func_ov00_0208f768 - arm_func_start func_ov00_0208f768 -func_ov00_0208f768: ; 0x0208f768 - stmdb sp!, {r3, lr} - ldr r2, [r0, #4] - mov r1, #0 - bic r2, r2, #2 - orr r2, r2, #0x10 - str r2, [r0, #4] - ldr r3, [r0] - mov r2, r1 - ldr r3, [r3, #0x80] - blx r3 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208f768 - - .global func_ov00_0208f794 - arm_func_start func_ov00_0208f794 -func_ov00_0208f794: ; 0x0208f794 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x28 - mov r10, r0 - add r1, sp, #4 - mov r0, #0 - mov r2, #4 - bl func_020078f4 - add r1, sp, #4 - mov r0, #0 - mov r2, #4 - bl func_020078f4 - ldr r6, _0208f9dc ; =data_ov00_020db010 - ldr r11, _0208f9e0 ; =data_ov00_020db030 - ldr r4, _0208f9e4 ; =data_027e0e60 - mov r9, #0 - add r5, sp, #4 -_0208f7d4: - ldrb r2, [r10, #0x14] - ldr r3, [r6, r9, lsl #2] - ldrb r0, [r10, #0x15] - ldr r1, [r11, r9, lsl #2] - adds r7, r3, r2 - add r8, r1, r0 - bmi _0208f868 - cmp r8, #0 - blt _0208f868 - ldr r0, [r4] - bl _ZN10MapManager17Get_MapData_Unk28Ev - cmp r7, r0 - bge _0208f868 - ldr r0, [r4] - bl _ZN10MapManager17Get_MapData_Unk2aEv - cmp r8, r0 - bge _0208f868 - ldr r0, [r4] - add r1, sp, #0 - strb r7, [sp] - strb r8, [sp, #1] - bl _ZN10MapManager16MapData_vfunc_78Ev - add r1, sp, #8 - str r0, [r1, r9, lsl #2] - cmp r0, #0 - beq _0208f868 - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #4 - bne _0208f868 - mov r3, r9, lsr #0x5 - ldr r2, [r5, r3, lsl #2] - and r1, r9, #0x1f - mov r0, #1 - orr r0, r2, r0, lsl r1 - str r0, [r5, r3, lsl #2] -_0208f868: - add r0, r9, #1 - mov r0, r0, lsl #0x10 - mov r9, r0, lsr #0x10 - cmp r9, #8 - blo _0208f7d4 - ldr r0, [sp, #4] - mov r1, r0 - ands r0, r0, #4 - beq _0208f89c - tst r1, #8 - movne r0, #0 - strne r0, [r10, #0x38] - bne _0208f9ac -_0208f89c: - ands r3, r1, #1 - beq _0208f8c0 - tst r1, #2 - beq _0208f8c0 - mov r0, #0 - str r0, [r10, #0x38] - sub r0, r0, #0x4000 - strh r0, [r10, #0xc] - b _0208f9ac -_0208f8c0: - cmp r0, #0 - beq _0208f8d8 - tst r1, #2 - movne r0, #1 - strne r0, [r10, #0x38] - bne _0208f9ac -_0208f8d8: - ands r2, r1, #8 - beq _0208f8fc - tst r1, #2 - beq _0208f8fc - mov r0, #1 - str r0, [r10, #0x38] - mov r0, #0x4000 - strh r0, [r10, #0xc] - b _0208f9ac -_0208f8fc: - cmp r2, #0 - cmpne r3, #0 - beq _0208f920 - mov r1, #1 - mov r0, #0x8000 - str r1, [r10, #0x38] - rsb r0, r0, #0 - strh r0, [r10, #0xc] - b _0208f9ac -_0208f920: - cmp r0, #0 - cmpne r3, #0 - beq _0208f944 - mov r1, #1 - mov r0, #0x4000 - str r1, [r10, #0x38] - rsb r0, r0, #0 - strh r0, [r10, #0xc] - b _0208f9ac -_0208f944: - cmp r0, #0 - cmpeq r2, #0 - beq _0208f97c - mov r0, #2 - str r0, [r10, #0x38] - ldr r0, [sp, #4] - tst r0, #4 - movne r0, #0 - strneh r0, [r10, #0xc] - bne _0208f9ac - mov r0, #0x8000 - rsb r0, r0, #0 - strh r0, [r10, #0xc] - b _0208f9ac -_0208f97c: - cmp r3, #0 - bne _0208f98c - tst r1, #2 - beq _0208f9ac -_0208f98c: - mov r0, #2 - str r0, [r10, #0x38] - ldr r0, [sp, #4] - tst r0, #1 - mov r0, #0x4000 - rsbne r0, r0, #0 - strneh r0, [r10, #0xc] - streqh r0, [r10, #0xc] -_0208f9ac: - ldr r0, _0208f9e8 ; =data_027e0f68 - ldr r2, [r10, #0x38] - ldr r0, [r0] - mov r1, #0xe - bl func_ov00_0208ccdc - mov r1, r0 - add r0, r10, #0x3c - ldr r2, [r0] - ldr r2, [r2, #0xc] - blx r2 - add sp, sp, #0x28 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_0208f794 -_0208f9dc: .word data_ov00_020db010 -_0208f9e0: .word data_ov00_020db030 -_0208f9e4: .word data_027e0e60 -_0208f9e8: .word data_027e0f68 - - .global func_ov00_0208f9ec - arm_func_start func_ov00_0208f9ec -func_ov00_0208f9ec: ; 0x0208f9ec - bx lr - arm_func_end func_ov00_0208f9ec - - .global func_ov00_0208f9f0 - arm_func_start func_ov00_0208f9f0 -func_ov00_0208f9f0: ; 0x0208f9f0 - str r1, [r0, #8] - cmp r1, #1 - ldreq r1, [r0, #4] - biceq r1, r1, #1 - streq r1, [r0, #4] - mov r0, #1 - bx lr - arm_func_end func_ov00_0208f9f0 - - .global func_ov00_0208fa0c - arm_func_start func_ov00_0208fa0c -func_ov00_0208fa0c: ; 0x0208fa0c - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0x24 - mov r4, r0 - ldrh r1, [r4, #0xc] - ldr r3, _0208fa64 ; =data_02050f54 - add r0, sp, #0 - mov r1, r1, asr #0x4 - mov r2, r1, lsl #0x1 - add r1, r2, #1 - mov ip, r2, lsl #0x1 - mov r2, r1, lsl #0x1 - ldrsh r1, [r3, ip] - ldrsh r2, [r3, r2] - blx func_01ff8214 - add r0, r4, #0x3c - ldr r3, [r0] - add r1, sp, #0 - ldr r3, [r3, #0x14] - add r2, r4, #0x18 - blx r3 - add sp, sp, #0x24 - ldmia sp!, {r3, r4, pc} - .align 2, 0 - arm_func_end func_ov00_0208fa0c -_0208fa64: .word data_02050f54 - - .global func_ov00_0208fa68 - arm_func_start func_ov00_0208fa68 -func_ov00_0208fa68: ; 0x0208fa68 - mov r0, #4 - bx lr - arm_func_end func_ov00_0208fa68 - - .global func_ov00_0208fa70 - arm_func_start func_ov00_0208fa70 -func_ov00_0208fa70: ; 0x0208fa70 - stmdb sp!, {r4, lr} - ldr r1, _0208fae0 ; =data_027e0fe0 - mov r0, #0x198 - ldr r1, [r1] - mov r2, #4 - ldr r1, [r1] - bl _ZN9SysObjectnwEmPjj - movs r4, r0 - beq _0208fad8 - bl _ZN5ActorC2Ev - ldr r1, _0208fae4 ; =data_ov00_020e2930 - mov r0, #0 - str r1, [r4] - str r0, [r4, #0x158] - str r0, [r4, #0x15c] - str r0, [r4, #0x160] - str r0, [r4, #0x164] - str r0, [r4, #0x168] - add r2, r4, #0x170 - add r0, r4, #0x198 - mvn r1, #0 -_0208fac4: - str r1, [r2] - str r1, [r2, #4] - add r2, r2, #8 - cmp r2, r0 - blo _0208fac4 -_0208fad8: - mov r0, r4 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0208fa70 -_0208fae0: .word data_027e0fe0 -_0208fae4: .word data_ov00_020e2930 - - .global func_ov00_0208fae8 - arm_func_start func_ov00_0208fae8 -func_ov00_0208fae8: ; 0x0208fae8 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN5Actor8vfunc_08Ev - mov r0, r4 - bl func_ov00_0208fc7c - mov r0, #0 - str r0, [r4, #0x130] - mov r0, #1 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208fae8 - - .global func_ov00_0208fb0c - arm_func_start func_ov00_0208fb0c -func_ov00_0208fb0c: ; 0x0208fb0c - stmdb sp!, {r4, lr} - mov r1, #0 - mov r4, r0 - bl _ZN5Actor18func_Ov00_020c1bfcEi - cmp r0, #0 - mov r0, r4 - beq _0208fb34 - mov r1, #1 - bl func_ov00_0208fc10 - ldmia sp!, {r4, pc} -_0208fb34: - mov r1, #0 - bl func_ov00_0208fc10 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208fb0c - - .global func_ov00_0208fb40 - arm_func_start func_ov00_0208fb40 -func_ov00_0208fb40: ; 0x0208fb40 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN5Actor18func_ov00_020c313cEj - cmp r0, #0 - ldmeqia sp!, {r4, pc} - ldr r0, [r4, #0x130] - cmp r0, #0 - beq _0208fb74 - cmp r0, #1 - beq _0208fbb0 - cmp r0, #2 - beq _0208fbd0 - ldmia sp!, {r4, pc} -_0208fb74: - mov r0, r4 - bl func_ov00_0208fcb4 - cmp r0, #1 - beq _0208fb90 - cmp r0, #2 - beq _0208fba0 - ldmia sp!, {r4, pc} -_0208fb90: - mov r0, r4 - mov r1, #1 - bl func_ov00_0208fc10 - ldmia sp!, {r4, pc} -_0208fba0: - mov r0, r4 - mov r1, #2 - bl func_ov00_0208fc10 - ldmia sp!, {r4, pc} -_0208fbb0: - mov r0, r4 - bl func_ov00_0208fcb4 - cmp r0, #1 - ldmeqia sp!, {r4, pc} - mov r0, r4 - mov r1, #0 - bl func_ov00_0208fc10 - ldmia sp!, {r4, pc} -_0208fbd0: - ldr r0, [r4, #0x138] - add r0, r0, #1 - str r0, [r4, #0x138] - cmp r0, #0x1e - ldmltia sp!, {r4, pc} - mov r0, r4 - bl func_ov00_0209032c - mov r0, r4 - mov r1, #0 - bl func_ov00_0208fc10 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208fb40 - - .global func_ov00_0208fbfc - arm_func_start func_ov00_0208fbfc -func_ov00_0208fbfc: ; 0x0208fbfc - stmdb sp!, {r3, lr} - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208fbfc - - .global func_ov00_0208fc10 - arm_func_start func_ov00_0208fc10 -func_ov00_0208fc10: ; 0x0208fc10 - stmdb sp!, {r4, lr} - mov r4, r0 - str r1, [r4, #0x130] - cmp r1, #0 - beq _0208fc38 - cmp r1, #1 - beq _0208fc48 - cmp r1, #2 - beq _0208fc68 - b _0208fc74 -_0208fc38: - mov r1, #0 - mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii - b _0208fc74 -_0208fc48: - mov r1, #0 - mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii - ldr r0, [r4, #0x158] - cmp r0, #0 - moveq r0, #0 - streqb r0, [r4, #0x118] - b _0208fc74 -_0208fc68: - bl func_ov00_0208fef8 - mov r0, #0 - str r0, [r4, #0x138] -_0208fc74: - mov r0, #1 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208fc10 - - .global func_ov00_0208fc7c - arm_func_start func_ov00_0208fc7c -func_ov00_0208fc7c: ; 0x0208fc7c - ldrh r1, [r0, #0x22] - str r1, [r0, #0x158] - ldrh r1, [r0, #0x24] - str r1, [r0, #0x15c] - ldrb r2, [r0, #0x2b] - str r2, [r0, #0x164] - ldrh r1, [r0, #0x20] - add r1, r2, r1 - str r1, [r0, #0x168] - ldrb r1, [r0, #0x29] - str r1, [r0, #0x16c] - ldr r1, [r0, #0x164] - str r1, [r0, #0x160] - bx lr - arm_func_end func_ov00_0208fc7c - - .global func_ov00_0208fcb4 - arm_func_start func_ov00_0208fcb4 -func_ov00_0208fcb4: ; 0x0208fcb4 - stmdb sp!, {r4, r5, r6, r7, r8, lr} - mov r5, r0 - ldr r0, [r5, #0x15c] - cmp r0, #1 - beq _0208fcd4 - cmp r0, #2 - beq _0208fdc0 - b _0208fea8 -_0208fcd4: - ldr r6, [r5, #0x164] - ldr r1, [r5, #0x160] - cmp r1, r6 - ble _0208fd30 - ldr r0, [r5, #0x168] - cmp r1, r0 - cmplt r6, r1 - bge _0208fd30 - ldr r4, _0208fef4 ; =data_027e0e60 -_0208fcf8: - ldr r0, [r4] - ldr r2, [r5, #0x16c] - mov r1, r6 - bl _ZN10MapManager18func_ov00_02084be0Eii - cmp r0, #0 - bne _0208fd20 - ldr r1, [r5, #0x164] - mov r0, #0 - str r1, [r5, #0x160] - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0208fd20: - ldr r1, [r5, #0x160] - add r6, r6, #1 - cmp r6, r1 - blt _0208fcf8 -_0208fd30: - ldr r0, _0208fef4 ; =data_027e0e60 - ldr r2, [r5, #0x16c] - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_02084be0Eii - cmp r0, #0 - beq _0208fda8 - ldr r0, [r5, #0x160] - ldr r1, [r5, #0x168] - add r6, r0, #1 - cmp r6, r1 - bge _0208fd98 - ldr r4, _0208fef4 ; =data_027e0e60 -_0208fd60: - ldr r0, [r4] - ldr r2, [r5, #0x16c] - mov r1, r6 - bl _ZN10MapManager18func_ov00_02084be0Eii - cmp r0, #0 - beq _0208fd88 - ldr r1, [r5, #0x164] - mov r0, #0 - str r1, [r5, #0x160] - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0208fd88: - ldr r1, [r5, #0x168] - add r6, r6, #1 - cmp r6, r1 - blt _0208fd60 -_0208fd98: - ldr r0, [r5, #0x160] - cmp r0, r1 - addlt r0, r0, #1 - strlt r0, [r5, #0x160] -_0208fda8: - ldr r1, [r5, #0x160] - ldr r0, [r5, #0x168] - cmp r1, r0 - moveq r0, #1 - movne r0, #0 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0208fdc0: - ldr r0, _0208fef4 ; =data_027e0e60 - ldr r1, [r5, #0x160] - ldr r0, [r0] - ldr r2, [r5, #0x16c] - bl _ZN10MapManager18func_ov00_02084be0Eii - cmp r0, #0 - beq _0208fe3c - ldr r1, [r5, #0x160] - ldr r0, [r5, #0x168] - add r4, r1, #1 - cmp r4, r0 - mov r8, #0 - bge _0208fe2c - ldr r6, _0208fef4 ; =data_027e0e60 - mov r7, #1 -_0208fdfc: - ldr r0, [r6] - ldr r2, [r5, #0x16c] - mov r1, r4 - bl _ZN10MapManager18func_ov00_02084be0Eii - cmp r0, #0 - ldrne r0, [r5, #0x164] - add r4, r4, #1 - strne r0, [r5, #0x160] - ldr r0, [r5, #0x168] - movne r8, r7 - cmp r4, r0 - blt _0208fdfc -_0208fe2c: - cmp r8, #0 - ldreq r0, [r5, #0x160] - addeq r0, r0, #1 - streq r0, [r5, #0x160] -_0208fe3c: - ldr r7, [r5, #0x164] - ldr r0, [r5, #0x168] - mov r6, #1 - cmp r7, r0 - bge _0208fe80 - ldr r4, _0208fef4 ; =data_027e0e60 -_0208fe54: - ldr r0, [r4] - ldr r2, [r5, #0x16c] - mov r1, r7 - bl _ZN10MapManager18func_ov00_02084be0Eii - cmp r0, #0 - moveq r6, #0 - beq _0208fe80 - ldr r0, [r5, #0x168] - add r7, r7, #1 - cmp r7, r0 - blt _0208fe54 -_0208fe80: - cmp r6, #0 - beq _0208fea0 - ldr r1, [r5, #0x160] - ldr r0, [r5, #0x168] - cmp r1, r0 - moveq r0, #1 - movne r0, #2 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0208fea0: - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0208fea8: - ldrh r0, [r5, #0x20] - mov r6, #0 - cmp r0, #0 - ble _0208feec - ldr r4, _0208fef4 ; =data_027e0e60 -_0208febc: - ldr r1, [r5, #0x164] - ldr r0, [r4] - ldr r2, [r5, #0x16c] - add r1, r1, r6 - bl _ZN10MapManager18func_ov00_02084be0Eii - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, r8, pc} - ldrh r0, [r5, #0x20] - add r6, r6, #1 - cmp r6, r0 - blt _0208febc -_0208feec: - mov r0, #1 - ldmia sp!, {r4, r5, r6, r7, r8, pc} - .align 2, 0 - arm_func_end func_ov00_0208fcb4 -_0208fef4: .word data_027e0e60 - - .global func_ov00_0208fef8 - arm_func_start func_ov00_0208fef8 -func_ov00_0208fef8: ; 0x0208fef8 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x80 - str r0, [sp, #4] - ldr r0, [r0, #0x130] - cmp r0, #1 - addeq sp, sp, #0x80 - ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, [sp, #4] - ldrh r0, [r0, #0x26] - cmp r0, #1 - beq _0208ff34 - cmp r0, #2 - beq _0208ff48 - add sp, sp, #0x80 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0208ff34: - ldr r0, _0209030c ; =data_ov00_020eec9c - mov r1, #0xb - bl func_ov00_020d77e4 - add sp, sp, #0x80 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0208ff48: - ldr r0, _0209030c ; =data_ov00_020eec9c - mov r1, #0xb - bl func_ov00_020d77e4 - ldr r1, _02090310 ; =data_027e0f94 - add r0, sp, #0x30 - ldr r3, [r1, #4] - ldr r4, [r1] - str r3, [sp, #0x78] - str r4, [sp, #0x74] - ldr r2, [r1, #8] - add r1, r3, #0x3000 - str r2, [sp, #0x7c] - str r4, [sp, #0x68] - str r1, [sp, #0x6c] - str r2, [sp, #0x70] - bl func_ov00_020c1500 - mvn r1, #0 - add r0, sp, #0x30 - str r1, [sp, #0x4c] - str r1, [sp, #0x50] - bl func_ov00_020c3348 - ldr r0, [sp, #4] - mov r5, #0 - add r0, r0, #0x170 - mov r6, r5 - str r0, [sp, #8] - mvn r4, #0 -_0208ffb4: - ldr r0, [sp, #4] - add r0, r0, r6, lsl #3 - ldr r0, [r0, #0x170] - cmp r0, r4 - beq _02090004 - ldr r0, _02090314 ; =data_027e0fe4 - ldr r1, [sp, #8] - ldr r0, [r0] - add r1, r1, r6, lsl #3 - bl _ZN12ActorManager8GetActorEP8ActorRef - cmp r0, #0 - beq _0208fff4 - ldr r1, [r0, #4] - ldr r0, _02090318 ; =0x534e414b - cmp r1, r0 - beq _020902f8 -_0208fff4: - ldr r0, [sp, #4] - add r0, r0, r6, lsl #3 - str r4, [r0, #0x170] - str r4, [r0, #0x174] -_02090004: - ldr r0, _0209031c ; =data_027e0764 - add r1, sp, #0x68 - ldr r8, [r0, #0x10] - ldr r7, [r0, #0x14] - ldr r0, [r0, #8] - str r0, [sp, #0x10] - ldr r0, _0209031c ; =data_027e0764 - ldr r10, [sp, #0x10] - ldr lr, [r0, #0xc] - ldr r0, [r0] - str r0, [sp, #0x14] - mov r0, #0 - str r0, [sp, #0x60] - ldr r0, _0209031c ; =data_027e0764 - ldr r3, [sp, #0x14] - ldr ip, [r0, #4] - umull r9, r3, r10, r3 - mla r3, r10, ip, r3 - ldr r10, [sp, #0x14] - adds r9, r8, r9 - mla r3, lr, r10, r3 - adc r3, r7, r3 - str r3, [sp, #0xc] - ldr r3, _0209031c ; =data_027e0764 - ldr r10, [sp, #0xc] - str r9, [r3] - str r10, [r3, #4] - mov r3, r10 - mov r10, #0xb - umull r10, ip, r3, r10 - mov r10, r3 - mov r3, #0 - mla ip, r10, r3, ip - mov r10, r3 - mov r3, #0xb - mla ip, r10, r3, ip - sub r3, ip, #5 - mov r3, r3, lsl #0xc - str r3, [sp, #0x64] - ldr r3, [sp, #0x10] - add r0, sp, #0x5c - umull r11, r10, r3, r9 - mov ip, r3 - ldr r3, [sp, #0xc] - adds r8, r8, r11 - mla r10, ip, r3, r10 - mla r10, lr, r9, r10 - adc r3, r7, r10 - ldr r7, _0209031c ; =data_027e0764 - mov r2, r0 - str r8, [r7] - str r3, [r7, #4] - mov r7, #0xb - umull r7, r8, r3, r7 - mov r7, #0 - mla r8, r3, r7, r8 - mov r3, #0xb - mla r8, r7, r3, r8 - sub r3, r8, #5 - mov r3, r3, lsl #0xc - str r3, [sp, #0x5c] - bl func_01ff9bc4 - cmp r5, #0xa - bge _020902d4 - ldr r1, _02090320 ; =data_027e0e60 - add r0, sp, #0x18 - ldr r1, [r1] - add r2, sp, #0x5c - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - add r0, sp, #0x74 - add r1, sp, #0x5c - bl func_01ff9ec0 - cmp r0, #0x2000 - blt _02090144 - ldr r0, _02090320 ; =data_027e0e60 - add r1, sp, #0x18 - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_02083e70Ev - cmp r0, #0 - beq _02090150 -_02090144: - sub r6, r6, #1 - add r5, r5, #1 - b _020902f8 -_02090150: - ldr r0, _02090320 ; =data_027e0e60 - add r1, sp, #0x18 - ldr r0, [r0] - bl _ZN10MapManager16MapData_vfunc_78Ev - cmp r0, #0 - bne _020902f8 - ldr r0, _02090320 ; =data_027e0e60 - add r1, sp, #0x18 - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_02084164Ev - cmp r0, #0 - subeq r6, r6, #1 - addeq r5, r5, #1 - beq _020902f8 - ldr r0, _02090320 ; =data_027e0e60 - add r1, sp, #0x18 - ldr r0, [r0] - bl _ZN10MapManager16MapData_vfunc_54Ev - cmp r0, #0x37 - bgt _02090210 - bge _02090250 - cmp r0, #0x14 - bgt _020901cc - bge _02090250 - cmp r0, #6 - bgt _0209025c - cmp r0, #5 - blt _0209025c - cmpne r0, #6 - beq _02090250 - b _0209025c -_020901cc: - cmp r0, #0x1f - bgt _02090204 - subs r1, r0, #0x17 - addpl pc, pc, r1, lsl #2 - b _0209025c -_020901e0: ; jump table - b _02090250 ; case 0 - b _0209025c ; case 1 - b _0209025c ; case 2 - b _0209025c ; case 3 - b _02090250 ; case 4 - b _02090250 ; case 5 - b _02090250 ; case 6 - b _02090250 ; case 7 - b _02090250 ; case 8 -_02090204: - cmp r0, #0x2b - beq _02090250 - b _0209025c -_02090210: - cmp r0, #0x48 - bgt _02090238 - bge _02090250 - cmp r0, #0x46 - bgt _0209022c - beq _02090250 - b _0209025c -_0209022c: - cmp r0, #0x47 - beq _02090250 - b _0209025c -_02090238: - cmp r0, #0x4e - bgt _02090248 - beq _02090250 - b _0209025c -_02090248: - cmp r0, #0x4f - bne _0209025c -_02090250: - sub r6, r6, #1 - add r5, r5, #1 - b _020902f8 -_0209025c: - ldr r1, _02090314 ; =data_027e0fe4 - ldr r2, _02090324 ; =0x5053424c - ldr r1, [r1] - add r0, sp, #0x1c - add r3, sp, #0x5c - bl _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p - ldr r0, [sp, #0x1c] - cmp r0, r4 - beq _020902d4 - ldr r0, _02090314 ; =data_027e0fe4 - add r1, sp, #0x1c - ldr r0, [r0] - bl _ZN12ActorManager8GetActorEP8ActorRef - cmp r0, #0 - beq _020902d4 - ldr r1, [r0, #0x48] - ldr r2, [sp, #0x60] - str r1, [sp, #0x24] - ldr r3, [r0, #0x4c] - add r1, sp, #0x5c - str r3, [sp, #0x28] - ldr r3, [r0, #0x50] - add r0, sp, #0x24 - str r3, [sp, #0x2c] - str r2, [sp, #0x28] - bl func_01ff9ec0 - cmp r0, #0x1800 - sublt r6, r6, #1 - addlt r5, r5, #1 - blt _020902f8 -_020902d4: - ldr r0, [sp, #8] - ldr r1, _02090318 ; =0x534e414b - add r0, r0, r6, lsl #3 - str r0, [sp] - ldr r0, _02090328 ; =data_027e0fe8 - add r2, sp, #0x5c - ldr r0, [r0] - add r3, sp, #0x30 - bl func_ov00_020c4048 -_020902f8: - add r6, r6, #1 - cmp r6, #5 - blo _0208ffb4 - add sp, sp, #0x80 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_0208fef8 -_0209030c: .word data_ov00_020eec9c -_02090310: .word data_027e0f94 -_02090314: .word data_027e0fe4 -_02090318: .word 0x534e414b -_0209031c: .word data_027e0764 -_02090320: .word data_027e0e60 -_02090324: .word 0x5053424c -_02090328: .word data_027e0fe8 - - .global func_ov00_0209032c - arm_func_start func_ov00_0209032c -func_ov00_0209032c: ; 0x0209032c - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r7, r0 - ldr r6, [r7, #0x164] - ldr r0, [r7, #0x168] - cmp r6, r0 - ldmgeia sp!, {r3, r4, r5, r6, r7, pc} - ldr r4, _02090374 ; =data_027e0e60 - mov r5, #0 -_0209034c: - ldr r0, [r4] - ldr r2, [r7, #0x16c] - mov r1, r6 - mov r3, r5 - bl _ZN10MapManager18func_ov00_02084b38Eiii - ldr r0, [r7, #0x168] - add r6, r6, #1 - cmp r6, r0 - blt _0209034c - ldmia sp!, {r3, r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end func_ov00_0209032c -_02090374: .word data_027e0e60 - - .global func_ov00_02090378 - arm_func_start func_ov00_02090378 -func_ov00_02090378: ; 0x02090378 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN5ActorD2Ev - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02090378 - - .global func_ov00_0209038c - arm_func_start func_ov00_0209038c -func_ov00_0209038c: ; 0x0209038c - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN5ActorD2Ev - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0209038c - - .global func_ov00_020903a8 - arm_func_start func_ov00_020903a8 -func_ov00_020903a8: ; 0x020903a8 - stmdb sp!, {r4, lr} - ldr r1, _020903e0 ; =data_027e0fe0 - mov r0, #0x158 - ldr r1, [r1] - mov r2, #4 - ldr r1, [r1] - bl _ZN9SysObjectnwEmPjj - movs r4, r0 - beq _020903d8 - bl _ZN5ActorC2Ev - ldr r0, _020903e4 ; =data_ov00_020e29ec - str r0, [r4] -_020903d8: - mov r0, r4 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_020903a8 -_020903e0: .word data_027e0fe0 -_020903e4: .word data_ov00_020e29ec - - .global func_ov00_020903e8 - arm_func_start func_ov00_020903e8 -func_ov00_020903e8: ; 0x020903e8 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN5Actor8vfunc_08Ev - mov r0, #0 - str r0, [r4, #0x130] - mov r0, #1 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_020903e8 - - .global func_ov00_02090404 - arm_func_start func_ov00_02090404 -func_ov00_02090404: ; 0x02090404 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN5Actor18func_ov00_020c313cEj - cmp r0, #0 - ldmeqia sp!, {r4, pc} - ldr r0, [r4, #0x130] - cmp r0, #0 - beq _0209042c - cmp r0, #1 - ldmia sp!, {r4, pc} -_0209042c: - ldrh r1, [r4, #0x20] - cmp r1, #0 - beq _02090460 - ldr r0, _02090488 ; =data_027e0fe4 - mov r2, #0 - ldr r0, [r0] - bl _ZN12ActorManager18func_ov00_020c3bb0EiPi - cmp r0, #0 - ldmneia sp!, {r4, pc} - mov r0, r4 - mov r1, #1 - bl func_ov00_0209048c - ldmia sp!, {r4, pc} -_02090460: - ldr r0, _02090488 ; =data_027e0fe4 - mov r1, #0 - ldr r0, [r0] - bl _ZN12ActorManager18func_ov00_020c3b2cEPi - cmp r0, #0 - ldmneia sp!, {r4, pc} - mov r0, r4 - mov r1, #1 - bl func_ov00_0209048c - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_02090404 -_02090488: .word data_027e0fe4 - - .global func_ov00_0209048c - arm_func_start func_ov00_0209048c -func_ov00_0209048c: ; 0x0209048c - stmdb sp!, {r4, lr} - mov r4, r0 - str r1, [r4, #0x130] - cmp r1, #0 - beq _020904bc - cmp r1, #1 - bne _020904bc - mov r1, #0 - mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii - mov r0, #0 - strb r0, [r4, #0x118] -_020904bc: - mov r0, #1 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0209048c - - .global func_ov00_020904c4 - arm_func_start func_ov00_020904c4 -func_ov00_020904c4: ; 0x020904c4 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN5ActorD2Ev - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_020904c4 - - .global func_ov00_020904d8 - arm_func_start func_ov00_020904d8 -func_ov00_020904d8: ; 0x020904d8 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN5ActorD2Ev - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_020904d8 - - .global func_ov00_020904f4 - arm_func_start func_ov00_020904f4 -func_ov00_020904f4: ; 0x020904f4 - stmdb sp!, {r3, lr} - ldr r1, _02090520 ; =data_027e0fe0 - mov r0, #0x1e8 - ldr r1, [r1] - mov r2, #4 - ldr r1, [r1] - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - ldmeqia sp!, {r3, pc} - bl func_ov00_02090524 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020904f4 -_02090520: .word data_027e0fe0 - - .global func_ov00_02090524 - arm_func_start func_ov00_02090524 -func_ov00_02090524: ; 0x02090524 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN5ActorC2Ev - ldr r0, _0209057c ; =data_ov00_020e2aa8 - mov r1, #0 - str r0, [r4] - str r1, [r4, #0x158] - add r0, r4, #0x160 - str r1, [r4, #0x15c] - bl func_02035064 - mov r0, #0 - str r0, [r4, #0x7c] - mov r1, #0x4000 - str r1, [r4, #0x80] - str r0, [r4, #0x84] - str r1, [r4, #0x88] - str r0, [r4, #0x8c] - str r1, [r4, #0x90] - str r0, [r4, #0x94] - mov r0, r4 - str r1, [r4, #0x98] - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_02090524 -_0209057c: .word data_ov00_020e2aa8 - - .global func_ov00_02090580 - arm_func_start func_ov00_02090580 -func_ov00_02090580: ; 0x02090580 - stmdb sp!, {r4, lr} - sub sp, sp, #8 - mov r4, r0 - ldr r0, [r4, #0x144] - mov r1, #3 - cmp r0, #1 - cmpne r0, #2 - bne _020905e0 - mvn r0, #0xd - str r0, [r4, #0x15c] - mov ip, #0 - str ip, [sp] - mov r2, r1 - add r0, r4, #0x160 - mov r3, #0x19 - str ip, [sp, #4] - bl func_020350b4 - mov r2, #0 - mov r3, r2 - add r0, r4, #0x160 - mov r1, #1 - str r2, [sp] - bl func_020351b8 - b _02090618 -_020905e0: - mvn r0, #0xb - str r0, [r4, #0x15c] - mov r2, #0 - str r2, [sp] - add r0, r4, #0x160 - mov r3, #0x19 - str r2, [sp, #4] - bl func_020350b4 - mov r1, #0 - mov r2, r1 - mov r3, r1 - add r0, r4, #0x160 - str r1, [sp] - bl func_020351b8 -_02090618: - mov r0, r4 - mov r1, #0 - bl func_ov00_02090774 - mov r0, #1 - add sp, sp, #8 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02090580 - - .global func_ov00_02090630 - arm_func_start func_ov00_02090630 -func_ov00_02090630: ; 0x02090630 - ldr ip, _02090638 ; =func_ov00_02090648 - bx ip - .align 2, 0 - arm_func_end func_ov00_02090630 -_02090638: .word func_ov00_02090648 - - .global func_ov00_0209063c - arm_func_start func_ov00_0209063c -func_ov00_0209063c: ; 0x0209063c - ldr ip, _02090644 ; =func_ov00_02090648 - bx ip - .align 2, 0 - arm_func_end func_ov00_0209063c -_02090644: .word func_ov00_02090648 - - .global func_ov00_02090648 - arm_func_start func_ov00_02090648 -func_ov00_02090648: ; 0x02090648 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN5Actor18func_ov00_020c313cEj - cmp r0, #0 - ldmeqia sp!, {r4, pc} - ldr r0, [r4, #0x48] - str r0, [r4, #0x54] - ldr r0, [r4, #0x4c] - str r0, [r4, #0x58] - ldr r0, [r4, #0x50] - str r0, [r4, #0x5c] - ldr r0, [r4, #0x130] - cmp r0, #0 - beq _02090688 - cmp r0, #1 - b _02090760 -_02090688: - ldr r0, [r4, #0x140] - cmp r0, #0 - beq _020906a8 - cmp r0, #1 - beq _020906fc - cmp r0, #2 - beq _020906cc - b _020906fc -_020906a8: - ldr r1, _0209076c ; =data_027e0f94 - add r0, r4, #0x48 - bl func_01ff9ec0 - cmp r0, #0x1000 - bgt _020906fc - mov r0, r4 - mov r1, #1 - bl func_ov00_02090774 - ldmia sp!, {r4, pc} -_020906cc: - ldr r0, [r4, #0x1c4] - cmp r0, #0x5a000 - blt _020906fc - ldr r1, _0209076c ; =data_027e0f94 - add r0, r4, #0x48 - bl func_01ff9ec0 - cmp r0, #0x1000 - ble _020906fc - mov r0, r4 - mov r1, #1 - bl func_ov00_02090774 - ldmia sp!, {r4, pc} -_020906fc: - add r0, r4, #0x100 - ldrh r0, [r0, #0xbc] - cmp r0, #1 - bne _0209072c - add r0, r4, #0x1bc - bl func_0202e58c - cmp r0, #0 - beq _02090760 - mov r0, r4 - mov r1, #1 - bl func_ov00_02090774 - b _02090760 -_0209072c: - ldr r0, _02090770 ; =gAdventureFlags - ldr r0, [r0] - bl _ZN14AdventureFlags18func_ov00_02097738Ev - cmp r0, #0 - ldreq r0, [r4, #0x158] - addeq r0, r0, #1 - streq r0, [r4, #0x158] - ldr r0, [r4, #0x158] - cmp r0, #0x258 - blo _02090760 - mov r0, r4 - mov r1, #1 - bl func_ov00_02090774 -_02090760: - add r0, r4, #0x160 - bl func_0203516c - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_02090648 -_0209076c: .word data_027e0f94 -_02090770: .word gAdventureFlags - - .global func_ov00_02090774 - arm_func_start func_ov00_02090774 -func_ov00_02090774: ; 0x02090774 - str r1, [r0, #0x130] - cmp r1, #0 - beq _02090790 - cmp r1, #1 - moveq r1, #0 - streqb r1, [r0, #0x118] - b _02090798 -_02090790: - mov r1, #0 - str r1, [r0, #0x158] -_02090798: - mov r0, #1 - bx lr - arm_func_end func_ov00_02090774 - - .global func_ov00_020907a0 - arm_func_start func_ov00_020907a0 -func_ov00_020907a0: ; 0x020907a0 - stmdb sp!, {r4, lr} - sub sp, sp, #0x18 - ldrh r1, [r1] - mov r4, r0 - tst r1, #4 - bne _020907c4 - tst r1, #8 - addeq sp, sp, #0x18 - ldmeqia sp!, {r4, pc} -_020907c4: - add r1, sp, #0x14 - str r1, [sp] - mov r2, #0 - add r0, sp, #0x10 - stmib sp, {r0, r2} - ldr r0, _020908ac ; =data_027e0d3c - str r2, [sp, #0xc] - ldr r0, [r0] - mov r3, r2 - add r1, r4, #0x48 - bl func_ov00_02079470 - cmp r0, #0 - addeq sp, sp, #0x18 - ldmeqia sp!, {r4, pc} - ldr r0, [r4, #0x144] - cmp r0, #1 - beq _02090814 - cmp r0, #2 - beq _02090844 - b _02090880 -_02090814: - add r0, r4, #0x100 - ldrsh r0, [r0, #0xe0] - cmp r0, #8 - blt _02090834 - ldr r0, [sp, #0x10] - sub r0, r0, #8 - str r0, [sp, #0x10] - b _02090890 -_02090834: - ldr r0, [sp, #0x10] - sub r0, r0, #0xe - str r0, [sp, #0x10] - b _02090890 -_02090844: - ldr r1, [sp, #0x14] - add r0, r4, #0x100 - add r1, r1, #1 - str r1, [sp, #0x14] - ldrsh r0, [r0, #0xe0] - cmp r0, #8 - blt _02090870 - ldr r0, [sp, #0x10] - sub r0, r0, #0xb - str r0, [sp, #0x10] - b _02090890 -_02090870: - ldr r0, [sp, #0x10] - sub r0, r0, #0x11 - str r0, [sp, #0x10] - b _02090890 -_02090880: - ldr r1, [sp, #0x10] - ldr r0, [r4, #0x15c] - add r0, r1, r0 - str r0, [sp, #0x10] -_02090890: - ldr r1, [sp, #0x14] - ldr r2, [sp, #0x10] - add r0, r4, #0x160 - mov r3, #0 - bl func_02034a1c - add sp, sp, #0x18 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_020907a0 -_020908ac: .word data_027e0d3c - - .global func_ov00_020908b0 - arm_func_start func_ov00_020908b0 -func_ov00_020908b0: ; 0x020908b0 - stmdb sp!, {r4, lr} - mov r4, r0 - add r0, r4, #0x160 - bl func_020350ac - mov r0, r4 - bl _ZN5ActorD2Ev - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_020908b0 - - .global func_ov00_020908d0 - arm_func_start func_ov00_020908d0 -func_ov00_020908d0: ; 0x020908d0 - stmdb sp!, {r4, lr} - mov r4, r0 - add r0, r4, #0x160 - bl func_020350ac - mov r0, r4 - bl _ZN5ActorD2Ev - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_020908d0 - - .global func_ov00_020908f8 - arm_func_start func_ov00_020908f8 -func_ov00_020908f8: ; 0x020908f8 - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0xc - ldr r2, _02090974 ; =data_027e0f94 - mov r4, r1 - ldr r3, [r2] - ldr r1, [r2, #4] - str r3, [sp] - str r1, [sp, #4] - ldr r2, [r2, #8] - add r1, sp, #0 - mov r5, r0 - str r2, [sp, #8] - bl func_ov00_02090e10 - add r1, sp, #0 - mov r0, r5 - bl func_ov00_02090c28 - cmp r4, #0 - bne _0209094c - add r1, sp, #0 - mov r0, r5 - bl func_ov00_02090b08 -_0209094c: - ldr r1, [sp] - mov r0, #0 - str r1, [r5, #8] - ldr r1, [sp, #4] - str r1, [r5, #0xc] - ldr r1, [sp, #8] - str r1, [r5, #0x10] - strh r0, [r5, #0x14] - add sp, sp, #0xc - ldmia sp!, {r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_020908f8 -_02090974: .word data_027e0f94 - - .global func_ov00_02090978 - arm_func_start func_ov00_02090978 -func_ov00_02090978: ; 0x02090978 - bx lr - arm_func_end func_ov00_02090978 - - .global func_ov00_0209097c - arm_func_start func_ov00_0209097c -func_ov00_0209097c: ; 0x0209097c - bx lr - arm_func_end func_ov00_0209097c - - .global func_ov00_02090980 - arm_func_start func_ov00_02090980 -func_ov00_02090980: ; 0x02090980 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #0x10 - mov r5, r0 - ldr ip, [r5, #4] - mov r4, r1 - add r2, ip, #0x200 - ldrsh r3, [r2, #0x26] - add r1, sp, #4 - add r0, ip, #0x26c - str r3, [sp] - ldrsh r3, [r2, #0x24] - ldr r2, [ip, #0x23c] - bl func_0202b66c - add r1, sp, #4 - mov r0, r5 - bl func_ov00_02090b38 - ldr r2, [r5, #4] - mov r3, #0 - add r0, r2, #0x260 - add r1, r2, #0x278 - add r2, r2, #0x26c - str r4, [sp] - bl func_02005dcc - add sp, sp, #0x10 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02090980 - - .global func_ov00_020909e4 - arm_func_start func_ov00_020909e4 -func_ov00_020909e4: ; 0x020909e4 - bx lr - arm_func_end func_ov00_020909e4 - - .global func_ov00_020909e8 - arm_func_start func_ov00_020909e8 -func_ov00_020909e8: ; 0x020909e8 - bx lr - arm_func_end func_ov00_020909e8 - - .global func_ov00_020909ec - arm_func_start func_ov00_020909ec -func_ov00_020909ec: ; 0x020909ec - bx lr - arm_func_end func_ov00_020909ec - - .global func_ov00_020909f0 - arm_func_start func_ov00_020909f0 -func_ov00_020909f0: ; 0x020909f0 - bx lr - arm_func_end func_ov00_020909f0 - - .global func_ov00_020909f4 - arm_func_start func_ov00_020909f4 -func_ov00_020909f4: ; 0x020909f4 - bx lr - arm_func_end func_ov00_020909f4 - - .global func_ov00_020909f8 - arm_func_start func_ov00_020909f8 -func_ov00_020909f8: ; 0x020909f8 - bx lr - arm_func_end func_ov00_020909f8 - - .global func_ov00_020909fc - arm_func_start func_ov00_020909fc -func_ov00_020909fc: ; 0x020909fc - bx lr - arm_func_end func_ov00_020909fc - - .global func_ov00_02090a00 - arm_func_start func_ov00_02090a00 -func_ov00_02090a00: ; 0x02090a00 - mov r0, #0 - bx lr - arm_func_end func_ov00_02090a00 - - .global func_ov00_02090a08 - arm_func_start func_ov00_02090a08 -func_ov00_02090a08: ; 0x02090a08 - bx lr - arm_func_end func_ov00_02090a08 - - .global func_ov00_02090a0c - arm_func_start func_ov00_02090a0c -func_ov00_02090a0c: ; 0x02090a0c - bx lr - arm_func_end func_ov00_02090a0c - - .global func_ov00_02090a10 - arm_func_start func_ov00_02090a10 -func_ov00_02090a10: ; 0x02090a10 - bx lr - arm_func_end func_ov00_02090a10 - - .global func_ov00_02090a14 - arm_func_start func_ov00_02090a14 -func_ov00_02090a14: ; 0x02090a14 - bx lr - arm_func_end func_ov00_02090a14 - - .global func_ov00_02090a18 - arm_func_start func_ov00_02090a18 -func_ov00_02090a18: ; 0x02090a18 - ldr r0, [r0, #4] - ldr r0, [r0, #0x24c] - bx lr - arm_func_end func_ov00_02090a18 - - .global func_ov00_02090a24 - arm_func_start func_ov00_02090a24 -func_ov00_02090a24: ; 0x02090a24 - ldr r0, [r0, #4] - add r0, r0, #0x200 - ldrsh r0, [r0, #0x30] - bx lr - arm_func_end func_ov00_02090a24 - - .global func_ov00_02090a34 - arm_func_start func_ov00_02090a34 -func_ov00_02090a34: ; 0x02090a34 - ldr r0, [r0, #4] - add r0, r0, #0x200 - ldrsh r0, [r0, #0x28] - bx lr - arm_func_end func_ov00_02090a34 - - .global func_ov00_02090a44 - arm_func_start func_ov00_02090a44 -func_ov00_02090a44: ; 0x02090a44 - ldr r0, [r0, #4] - add r0, r0, #0x200 - ldrsh r0, [r0, #0x2a] - bx lr - arm_func_end func_ov00_02090a44 - - .global func_ov00_02090a54 - arm_func_start func_ov00_02090a54 -func_ov00_02090a54: ; 0x02090a54 - ldr r0, [r0, #4] - add r0, r0, #0x200 - ldrsh r0, [r0, #0x2c] - bx lr - arm_func_end func_ov00_02090a54 - - .global func_ov00_02090a64 - arm_func_start func_ov00_02090a64 -func_ov00_02090a64: ; 0x02090a64 - ldr r0, [r0, #4] - add r0, r0, #0x29c - bx lr - arm_func_end func_ov00_02090a64 - - .global func_ov00_02090a70 - arm_func_start func_ov00_02090a70 -func_ov00_02090a70: ; 0x02090a70 - ldr r0, [r0, #4] - add r0, r0, #0x2a8 - bx lr - arm_func_end func_ov00_02090a70 - - .global func_ov00_02090a7c - arm_func_start func_ov00_02090a7c -func_ov00_02090a7c: ; 0x02090a7c - ldr r0, [r0, #4] - ldr ip, _02090a8c ; =func_ov00_02087d84 - ldr r0, [r0, #0x15c] - bx ip - .align 2, 0 - arm_func_end func_ov00_02090a7c -_02090a8c: .word func_ov00_02087d84 - - .global func_ov00_02090a90 - arm_func_start func_ov00_02090a90 -func_ov00_02090a90: ; 0x02090a90 - ldr ip, _02090a9c ; =func_ov00_02087e14 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02090a90 -_02090a9c: .word func_ov00_02087e14 - - .global func_ov00_02090aa0 - arm_func_start func_ov00_02090aa0 -func_ov00_02090aa0: ; 0x02090aa0 - ldr r0, [r0, #4] - ldr r0, [r0, #0x2c4] - bx lr - arm_func_end func_ov00_02090aa0 - - .global func_ov00_02090aac - arm_func_start func_ov00_02090aac -func_ov00_02090aac: ; 0x02090aac - ldr r0, [r0, #4] - strh r1, [r0, #4] - bx lr - arm_func_end func_ov00_02090aac - - .global func_ov00_02090ab8 - arm_func_start func_ov00_02090ab8 -func_ov00_02090ab8: ; 0x02090ab8 - ldr r0, [r0, #4] - add r0, r0, #0x200 - strh r1, [r0, #0x24] - bx lr - arm_func_end func_ov00_02090ab8 - - .global func_ov00_02090ac8 - arm_func_start func_ov00_02090ac8 -func_ov00_02090ac8: ; 0x02090ac8 - ldr r0, [r0, #4] - add r0, r0, #0x200 - strh r1, [r0, #0x26] - bx lr - arm_func_end func_ov00_02090ac8 - - .global func_ov00_02090ad8 - arm_func_start func_ov00_02090ad8 -func_ov00_02090ad8: ; 0x02090ad8 - ldr r0, [r0, #4] - str r1, [r0, #0x23c] - bx lr - arm_func_end func_ov00_02090ad8 - - .global func_ov00_02090ae4 - arm_func_start func_ov00_02090ae4 -func_ov00_02090ae4: ; 0x02090ae4 - ldr r0, [r0, #4] - str r1, [r0, #0x240] - bx lr - arm_func_end func_ov00_02090ae4 - - .global func_ov00_02090af0 - arm_func_start func_ov00_02090af0 -func_ov00_02090af0: ; 0x02090af0 - ldr r0, [r0, #4] - str r1, [r0, #0x244] - bx lr - arm_func_end func_ov00_02090af0 - - .global func_ov00_02090afc - arm_func_start func_ov00_02090afc -func_ov00_02090afc: ; 0x02090afc - ldr r0, [r0, #4] - str r1, [r0, #0x248] - bx lr - arm_func_end func_ov00_02090afc - - .global func_ov00_02090b08 - arm_func_start func_ov00_02090b08 -func_ov00_02090b08: ; 0x02090b08 - stmdb sp!, {r3} - sub sp, sp, #0xc - ldr ip, [r1, #4] - ldr r3, [r1, #8] - ldr r2, [r0, #4] - ldr r0, [r1] - str r0, [r2, #0x26c] - str ip, [r2, #0x270] - str r3, [r2, #0x274] - add sp, sp, #0xc - ldmia sp!, {r3} - bx lr - arm_func_end func_ov00_02090b08 - - .global func_ov00_02090b38 - arm_func_start func_ov00_02090b38 -func_ov00_02090b38: ; 0x02090b38 - stmdb sp!, {r3} - sub sp, sp, #0xc - ldr ip, [r1, #4] - ldr r3, [r1, #8] - ldr r2, [r0, #4] - ldr r0, [r1] - str r0, [r2, #0x260] - str ip, [r2, #0x264] - str r3, [r2, #0x268] - add sp, sp, #0xc - ldmia sp!, {r3} - bx lr - arm_func_end func_ov00_02090b38 - - .global func_ov00_02090b68 - arm_func_start func_ov00_02090b68 -func_ov00_02090b68: ; 0x02090b68 - stmdb sp!, {r3} - sub sp, sp, #0xc - ldr ip, [r1, #4] - ldr r3, [r1, #8] - ldr r2, [r0, #4] - ldr r0, [r1] - str r0, [r2, #0x290] - str ip, [r2, #0x294] - str r3, [r2, #0x298] - add sp, sp, #0xc - ldmia sp!, {r3} - bx lr - arm_func_end func_ov00_02090b68 - - .global func_ov00_02090b98 - arm_func_start func_ov00_02090b98 -func_ov00_02090b98: ; 0x02090b98 - stmdb sp!, {r3} - sub sp, sp, #0xc - ldr ip, [r1, #4] - ldr r3, [r1, #8] - ldr r2, [r0, #4] - ldr r0, [r1] - str r0, [r2, #0x284] - str ip, [r2, #0x288] - str r3, [r2, #0x28c] - add sp, sp, #0xc - ldmia sp!, {r3} - bx lr - arm_func_end func_ov00_02090b98 - - .global func_ov00_02090bc8 - arm_func_start func_ov00_02090bc8 -func_ov00_02090bc8: ; 0x02090bc8 - ldr r0, [r0, #4] - add r0, r0, #0x200 - strh r1, [r0, #0x2c] - bx lr - arm_func_end func_ov00_02090bc8 - - .global func_ov00_02090bd8 - arm_func_start func_ov00_02090bd8 -func_ov00_02090bd8: ; 0x02090bd8 - ldr r0, [r0, #4] - add r0, r0, #0x200 - strh r1, [r0, #0x28] - bx lr - arm_func_end func_ov00_02090bd8 - - .global func_ov00_02090be8 - arm_func_start func_ov00_02090be8 -func_ov00_02090be8: ; 0x02090be8 - ldr r0, [r0, #4] - add r0, r0, #0x200 - strh r1, [r0, #0x2a] - bx lr - arm_func_end func_ov00_02090be8 - - .global func_ov00_02090bf8 - arm_func_start func_ov00_02090bf8 -func_ov00_02090bf8: ; 0x02090bf8 - ldr r0, [r0, #4] - str r1, [r0, #0x24c] - bx lr - arm_func_end func_ov00_02090bf8 - - .global func_ov00_02090c04 - arm_func_start func_ov00_02090c04 -func_ov00_02090c04: ; 0x02090c04 - ldr r0, [r0, #4] - str r1, [r0, #0x250] - bx lr - arm_func_end func_ov00_02090c04 - - .global func_ov00_02090c10 - arm_func_start func_ov00_02090c10 -func_ov00_02090c10: ; 0x02090c10 - ldr r0, [r0, #4] - str r1, [r0, #0x254] - bx lr - arm_func_end func_ov00_02090c10 - - .global func_ov00_02090c1c - arm_func_start func_ov00_02090c1c -func_ov00_02090c1c: ; 0x02090c1c - ldr r0, [r0, #4] - str r1, [r0, #0x258] - bx lr - arm_func_end func_ov00_02090c1c - - .global func_ov00_02090c28 - arm_func_start func_ov00_02090c28 -func_ov00_02090c28: ; 0x02090c28 - stmdb sp!, {r3} - sub sp, sp, #0xc - ldr ip, [r1, #4] - ldr r3, [r1, #8] - ldr r2, [r0, #4] - ldr r0, [r1] - str r0, [r2, #0x2a8] - str ip, [r2, #0x2ac] - str r3, [r2, #0x2b0] - add sp, sp, #0xc - ldmia sp!, {r3} - bx lr - arm_func_end func_ov00_02090c28 - - .global func_ov00_02090c58 - arm_func_start func_ov00_02090c58 -func_ov00_02090c58: ; 0x02090c58 - stmdb sp!, {r3} - sub sp, sp, #0xc - ldr ip, [r1, #4] - ldr r3, [r1, #8] - ldr r2, [r0, #4] - ldr r0, [r1] - str r0, [r2, #0x29c] - str ip, [r2, #0x2a0] - str r3, [r2, #0x2a4] - add sp, sp, #0xc - ldmia sp!, {r3} - bx lr - arm_func_end func_ov00_02090c58 - - .global func_ov00_02090c88 - arm_func_start func_ov00_02090c88 -func_ov00_02090c88: ; 0x02090c88 - ldr r0, [r0, #4] - add r0, r0, #0x200 - strh r1, [r0, #0x30] - bx lr - arm_func_end func_ov00_02090c88 - - .global func_ov00_02090c98 - arm_func_start func_ov00_02090c98 -func_ov00_02090c98: ; 0x02090c98 - ldr r0, [r0, #4] - str r1, [r0, #0x25c] - bx lr - arm_func_end func_ov00_02090c98 - - .global func_ov00_02090ca4 - arm_func_start func_ov00_02090ca4 -func_ov00_02090ca4: ; 0x02090ca4 - ldr r0, [r0, #4] - str r1, [r0, #0x2c4] - bx lr - arm_func_end func_ov00_02090ca4 - - .global func_ov00_02090cb0 - arm_func_start func_ov00_02090cb0 -func_ov00_02090cb0: ; 0x02090cb0 - ldr r0, [r0, #4] - str r1, [r0, #0x2c0] - bx lr - arm_func_end func_ov00_02090cb0 - - .global func_ov00_02090cbc - arm_func_start func_ov00_02090cbc -func_ov00_02090cbc: ; 0x02090cbc - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r2, [r4, #4] - add r2, r2, #0x200 - ldrsh r3, [r2, #0x24] - add r1, r3, r1 - strh r1, [r2, #0x24] - bl func_ov00_02090a7c - ldr r2, [r4, #4] - ldr r1, [r0, #0x44] - add r0, r2, #0x200 - ldrsh r0, [r0, #0x24] - cmp r0, r1 - bge _02090d0c - mov r0, r4 - bl func_ov00_02090a7c - ldr r1, [r4, #4] - ldr r2, [r0, #0x44] - add r0, r1, #0x200 - strh r2, [r0, #0x24] -_02090d0c: - mov r0, r4 - bl func_ov00_02090a7c - ldr r2, [r4, #4] - ldr r1, [r0, #0x54] - add r0, r2, #0x200 - ldrsh r0, [r0, #0x24] - cmp r0, r1 - ldmleia sp!, {r4, pc} - mov r0, r4 - bl func_ov00_02090a7c - ldr r1, [r4, #4] - ldr r2, [r0, #0x54] - add r0, r1, #0x200 - strh r2, [r0, #0x24] - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02090cbc - - .global func_ov00_02090d48 - arm_func_start func_ov00_02090d48 -func_ov00_02090d48: ; 0x02090d48 - ldr r0, [r0, #4] - add r0, r0, #0x200 - ldrsh r2, [r0, #0x26] - add r1, r2, r1 - strh r1, [r0, #0x26] - bx lr - arm_func_end func_ov00_02090d48 - - .global func_ov00_02090d60 - arm_func_start func_ov00_02090d60 -func_ov00_02090d60: ; 0x02090d60 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r2, [r4, #4] - add r2, r2, #0x200 - ldrsh r3, [r2, #0x28] - add r1, r3, r1 - strh r1, [r2, #0x28] - bl func_ov00_02090a7c - ldr r2, [r4, #4] - ldr r1, [r0, #0x44] - add r0, r2, #0x200 - ldrsh r0, [r0, #0x28] - cmp r0, r1 - bge _02090db0 - mov r0, r4 - bl func_ov00_02090a7c - ldr r1, [r4, #4] - ldr r2, [r0, #0x44] - add r0, r1, #0x200 - strh r2, [r0, #0x28] -_02090db0: - mov r0, r4 - bl func_ov00_02090a7c - ldr r2, [r4, #4] - ldr r1, [r0, #0x54] - add r0, r2, #0x200 - ldrsh r0, [r0, #0x28] - cmp r0, r1 - ldmleia sp!, {r4, pc} - mov r0, r4 - bl func_ov00_02090a7c - ldr r1, [r4, #4] - ldr r2, [r0, #0x54] - add r0, r1, #0x200 - strh r2, [r0, #0x28] - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02090d60 - - .global func_ov00_02090dec - arm_func_start func_ov00_02090dec -func_ov00_02090dec: ; 0x02090dec - ldr r0, [r0, #4] - add r0, r0, #0x200 - ldrsh r2, [r0, #0x2a] - add r1, r2, r1 - strh r1, [r0, #0x2a] - bx lr - arm_func_end func_ov00_02090dec - - .global func_ov00_02090e04 - arm_func_start func_ov00_02090e04 -func_ov00_02090e04: ; 0x02090e04 - ldr r0, [r0, #4] - add r0, r0, #0x24c - bx lr - arm_func_end func_ov00_02090e04 - - .global func_ov00_02090e10 - arm_func_start func_ov00_02090e10 -func_ov00_02090e10: ; 0x02090e10 - ldr ip, _02090e1c ; =func_ov00_02089b94 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02090e10 -_02090e1c: .word func_ov00_02089b94 - - .global func_ov00_02090e20 - arm_func_start func_ov00_02090e20 -func_ov00_02090e20: ; 0x02090e20 - ldr ip, _02090e2c ; =func_ov00_02089c50 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02090e20 -_02090e2c: .word func_ov00_02089c50 - - .global func_ov00_02090e30 - arm_func_start func_ov00_02090e30 -func_ov00_02090e30: ; 0x02090e30 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r4, r1 - bl func_ov00_02090a44 - mov r2, r0 - ldr r0, [r5, #4] - mov r1, r4 - bl func_ov00_02089c50 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02090e30 - - .global func_ov00_02090e54 - arm_func_start func_ov00_02090e54 -func_ov00_02090e54: ; 0x02090e54 - ldr r2, [r0, #4] - ldr r1, [r2, #0x1a4] - sub r1, r1, #1 - str r1, [r2, #0x1a4] - ldr r3, [r0, #4] - ldr r1, [r3, #0x1a4] - cmp r1, #0 - bgt _02090e84 - mov r2, #0 - str r2, [r3, #0x1a4] - ldr r1, [r0, #4] - strb r2, [r1, #0x1b9] -_02090e84: - ldr r0, [r0, #4] - ldr r0, [r0, #0x1a4] - bx lr - arm_func_end func_ov00_02090e54 - - .global func_ov00_02090e90 - arm_func_start func_ov00_02090e90 -func_ov00_02090e90: ; 0x02090e90 - ldr r0, [r0, #4] - ldr r0, [r0, #0x1a4] - bx lr - arm_func_end func_ov00_02090e90 - - .global func_ov00_02090e9c - arm_func_start func_ov00_02090e9c -func_ov00_02090e9c: ; 0x02090e9c - ldr r0, [r0, #4] - str r1, [r0, #0x1a4] - bx lr - arm_func_end func_ov00_02090e9c - - .global func_ov00_02090ea8 - arm_func_start func_ov00_02090ea8 -func_ov00_02090ea8: ; 0x02090ea8 - ldr r0, [r0, #4] - strb r1, [r0, #0x1b9] - bx lr - arm_func_end func_ov00_02090ea8 - - .global func_ov00_02090eb4 - arm_func_start func_ov00_02090eb4 -func_ov00_02090eb4: ; 0x02090eb4 - ldr r2, [r0, #4] - ldr r1, [r2, #0x1a8] - sub r1, r1, #1 - str r1, [r2, #0x1a8] - ldr r3, [r0, #4] - ldr r1, [r3, #0x1a8] - cmp r1, #0 - bgt _02090ee4 - mov r2, #0 - str r2, [r3, #0x1a8] - ldr r1, [r0, #4] - strb r2, [r1, #0x1ba] -_02090ee4: - ldr r0, [r0, #4] - ldr r0, [r0, #0x1a8] - bx lr - arm_func_end func_ov00_02090eb4 - - .global func_ov00_02090ef0 - arm_func_start func_ov00_02090ef0 -func_ov00_02090ef0: ; 0x02090ef0 - ldr r0, [r0, #4] - ldr r0, [r0, #0x1a8] - bx lr - arm_func_end func_ov00_02090ef0 - - .global func_ov00_02090efc - arm_func_start func_ov00_02090efc -func_ov00_02090efc: ; 0x02090efc - ldr r0, [r0, #4] - str r1, [r0, #0x1a8] - bx lr - arm_func_end func_ov00_02090efc - - .global func_ov00_02090f08 - arm_func_start func_ov00_02090f08 -func_ov00_02090f08: ; 0x02090f08 - ldr r0, [r0, #4] - strb r1, [r0, #0x1ba] - bx lr - arm_func_end func_ov00_02090f08 - - .global func_ov00_02090f14 - arm_func_start func_ov00_02090f14 -func_ov00_02090f14: ; 0x02090f14 - ldr ip, _02090f20 ; =func_ov00_020883a8 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02090f14 -_02090f20: .word func_ov00_020883a8 - - .global func_ov00_02090f24 - arm_func_start func_ov00_02090f24 -func_ov00_02090f24: ; 0x02090f24 - ldr ip, _02090f30 ; =func_ov00_02088428 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02090f24 -_02090f30: .word func_ov00_02088428 - - .global func_ov00_02090f34 - arm_func_start func_ov00_02090f34 -func_ov00_02090f34: ; 0x02090f34 - ldr ip, _02090f40 ; =func_ov00_0208a8bc - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02090f34 -_02090f40: .word func_ov00_0208a8bc - - .global func_ov00_02090f44 - arm_func_start func_ov00_02090f44 -func_ov00_02090f44: ; 0x02090f44 - ldr r0, [r0, #4] - ldr ip, _02090f54 ; =func_ov00_0208a30c - add r1, r0, #0x2f0 - bx ip - .align 2, 0 - arm_func_end func_ov00_02090f44 -_02090f54: .word func_ov00_0208a30c - - .global func_ov00_02090f58 - arm_func_start func_ov00_02090f58 -func_ov00_02090f58: ; 0x02090f58 - ldr r0, [r0, #4] - strb r1, [r0, #0x2ed] - bx lr - arm_func_end func_ov00_02090f58 - - .global func_ov00_02090f64 - arm_func_start func_ov00_02090f64 -func_ov00_02090f64: ; 0x02090f64 - ldr ip, _02090f70 ; =func_ov00_020881f4 - ldr r0, [r0, #4] - bx ip - .align 2, 0 - arm_func_end func_ov00_02090f64 -_02090f70: .word func_ov00_020881f4 - - .global func_ov00_02090f74 - arm_func_start func_ov00_02090f74 -func_ov00_02090f74: ; 0x02090f74 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0x2c - ldr r1, _0209103c ; =data_027e0d38 - mov r4, r0 - ldr r0, [r1] - bl func_ov00_02078b40 - cmp r0, #2 - addne sp, sp, #0x2c - ldmneia sp!, {r3, r4, pc} - ldr r0, _02091040 ; =data_027e0f78 - add r3, sp, #0x20 - ldr r0, [r0] - add r0, r0, #0xc - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldr ip, [r4, #4] - mov r1, r3 - ldr r2, [ip, #0x260] - add r0, sp, #0x14 - str r2, [sp, #0x14] - ldr r3, [ip, #0x264] - mov r2, r0 - str r3, [sp, #0x18] - ldr r3, [ip, #0x268] - str r3, [sp, #0x1c] - bl func_01ff9bf8 - ldr r0, [r4, #4] - add r1, sp, #8 - bl func_ov00_02087df8 - add r0, sp, #0x14 - add r1, sp, #8 - bl func_01fffc94 - cmp r0, #0x1000 - blt _02091010 - mvn r1, #0xff - add r0, r1, #0x40 - str r1, [sp, #4] - str r0, [sp] - b _02091020 -_02091010: - add r0, sp, #0x20 - add r1, sp, #4 - add r2, sp, #0 - bl func_0201b5e4 -_02091020: - ldr r2, [sp] - ldr r1, [r4, #4] - ldr r0, [sp, #4] - str r0, [r1, #0x2e4] - str r2, [r1, #0x2e8] - add sp, sp, #0x2c - ldmia sp!, {r3, r4, pc} - .align 2, 0 - arm_func_end func_ov00_02090f74 -_0209103c: .word data_027e0d38 -_02091040: .word data_027e0f78 - - .global func_ov00_02091044 - arm_func_start func_ov00_02091044 -func_ov00_02091044: ; 0x02091044 - bx lr - arm_func_end func_ov00_02091044 - - .global func_ov00_02091048 - arm_func_start func_ov00_02091048 -func_ov00_02091048: ; 0x02091048 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02091048 - - .global func_ov00_0209105c - arm_func_start func_ov00_0209105c -func_ov00_0209105c: ; 0x0209105c - bx lr - arm_func_end func_ov00_0209105c - - .global func_ov00_02091060 - arm_func_start func_ov00_02091060 -func_ov00_02091060: ; 0x02091060 - bx lr - arm_func_end func_ov00_02091060 - - .global func_ov00_02091064 - arm_func_start func_ov00_02091064 -func_ov00_02091064: ; 0x02091064 - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0xc - mov r5, r0 - ldr ip, [r5, #4] - add r0, sp, #4 - mov r4, r1 - str r0, [sp] - add r2, sp, #8 - add r3, sp, #6 - add r0, ip, #0x26c - add r1, ip, #0x260 - bl func_0202b734 - ldr r1, [sp, #8] - mov r0, r5 - bl func_ov00_02090ad8 - ldrsh r1, [sp, #6] - mov r0, r5 - bl func_ov00_02090ab8 - ldrsh r1, [sp, #4] - mov r0, r5 - bl func_ov00_02090ac8 - ldr r2, [r5, #4] - mov r3, #0 - add r0, r2, #0x260 - add r1, r2, #0x278 - add r2, r2, #0x26c - str r4, [sp] - bl func_02005dcc - add sp, sp, #0xc - ldmia sp!, {r4, r5, pc} - arm_func_end func_ov00_02091064 - - .global func_ov00_020910dc - arm_func_start func_ov00_020910dc -func_ov00_020910dc: ; 0x020910dc - bx lr - arm_func_end func_ov00_020910dc - - .global func_ov00_020910e0 - arm_func_start func_ov00_020910e0 -func_ov00_020910e0: ; 0x020910e0 - stmdb sp!, {r3, r4, r5, lr} - mov r4, r1 - ldr r2, [r4] - ldr r1, [r4, #0xc] - mov r5, r0 - cmp r2, r1 - ldreq r1, [r4, #4] - ldreq r0, [r4, #0x10] - cmpeq r1, r0 - ldreq r1, [r4, #8] - ldreq r0, [r4, #0x14] - cmpeq r1, r0 - beq _0209112c - mov r0, r5 - mov r1, r4 - bl func_ov00_02090b38 - mov r0, r5 - add r1, r4, #0xc - bl func_ov00_02090b08 -_0209112c: - ldrsh r1, [r4, #0x18] - cmp r1, #0 - ldmeqia sp!, {r3, r4, r5, pc} - mov r0, r5 - bl func_ov00_02090aac - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_020910e0 - - .global func_ov00_02091144 - arm_func_start func_ov00_02091144 -func_ov00_02091144: ; 0x02091144 - bx lr - arm_func_end func_ov00_02091144 - - .global func_ov00_02091148 - arm_func_start func_ov00_02091148 -func_ov00_02091148: ; 0x02091148 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02091148 - - .global func_ov00_0209115c - arm_func_start func_ov00_0209115c -func_ov00_0209115c: ; 0x0209115c - ldr ip, _02091168 ; =func_ov00_020908f8 - mov r3, #0 - bx ip - .align 2, 0 - arm_func_end func_ov00_0209115c -_02091168: .word func_ov00_020908f8 - - .global func_ov00_0209116c - arm_func_start func_ov00_0209116c -func_ov00_0209116c: ; 0x0209116c - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0xc - ldr r2, _020911c8 ; =data_027e0f94 - add r1, sp, #0 - ldr ip, [r2] - ldr r3, [r2, #4] - str ip, [sp] - str r3, [sp, #4] - ldr r2, [r2, #8] - mov r4, r0 - str r2, [sp, #8] - bl func_ov00_02090e10 - add r1, sp, #0 - mov r0, r4 - bl func_ov00_02090c28 - mov r0, r4 - add r1, r4, #0x18 - bl func_ov00_02090c58 - mov r0, r4 - add r1, r4, #0x18 - bl func_ov00_02090b38 - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} - .align 2, 0 - arm_func_end func_ov00_0209116c -_020911c8: .word data_027e0f94 - - .global func_ov00_020911cc - arm_func_start func_ov00_020911cc -func_ov00_020911cc: ; 0x020911cc - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0xc - mov r5, r0 - ldr ip, [r5, #4] - add r0, sp, #4 - mov r4, r1 - str r0, [sp] - add r2, sp, #8 - add r3, sp, #6 - add r0, ip, #0x26c - add r1, ip, #0x260 - bl func_0202b734 - ldr r1, [sp, #8] - mov r0, r5 - bl func_ov00_02090ad8 - ldrsh r1, [sp, #6] - mov r0, r5 - bl func_ov00_02090ab8 - ldrsh r1, [sp, #4] - mov r0, r5 - bl func_ov00_02090ac8 - ldr r2, [r5, #4] - mov r3, #0 - add r0, r2, #0x260 - add r1, r2, #0x278 - add r2, r2, #0x26c - str r4, [sp] - bl func_02005dcc - add sp, sp, #0xc - ldmia sp!, {r4, r5, pc} - arm_func_end func_ov00_020911cc - - .global func_ov00_02091244 - arm_func_start func_ov00_02091244 -func_ov00_02091244: ; 0x02091244 - ldr r2, [r1, #8] - str r2, [r0, #0x18] - ldr r2, [r1, #0xc] - str r2, [r0, #0x1c] - ldr r1, [r1, #0x10] - str r1, [r0, #0x20] - bx lr - arm_func_end func_ov00_02091244 - - .global func_ov00_02091260 - arm_func_start func_ov00_02091260 -func_ov00_02091260: ; 0x02091260 - bx lr - arm_func_end func_ov00_02091260 - - .global func_ov00_02091264 - arm_func_start func_ov00_02091264 -func_ov00_02091264: ; 0x02091264 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02091264 - - .global func_ov00_02091278 - arm_func_start func_ov00_02091278 -func_ov00_02091278: ; 0x02091278 - stmdb sp!, {r4, lr} - mov r4, r0 - mvn r1, #0 - str r1, [r4, #0x20] - ldr r3, [r4, #4] - ldr r2, [r3, #0x15c] - cmp r2, #0x29 - bgt _020912dc - bge _0209138c - cmp r2, #0x27 - bgt _020912d0 - bge _0209138c - sub r1, r2, #0xa - cmp r1, #5 - addls pc, pc, r1, lsl #2 - b _020913b0 -_020912b8: ; jump table - b _02091380 ; case 0 - b _0209130c ; case 1 - b _02091300 ; case 2 - b _020913b0 ; case 3 - b _02091350 ; case 4 - b _0209136c ; case 5 -_020912d0: - cmp r2, #0x28 - beq _0209138c - b _020913b0 -_020912dc: - cmp r2, #0x38 - bgt _020912f4 - bge _0209139c - cmp r2, #0x2a - beq _0209138c - b _020913b0 -_020912f4: - cmp r2, #0x48 - beq _020913a8 - b _020913b0 -_02091300: - mov r1, #0xa - bl func_ov00_02090e9c - b _020913b0 -_0209130c: - mov r1, #0 - bl func_ov00_02090e9c - mvn r1, #0 - ldr r0, _020913fc ; =data_027e0d38 - str r1, [r4, #0x20] - ldr r0, [r0] - add r0, r0, #0xc - bl func_ov00_020a5e9c - cmp r0, #0x31 - bne _020913b0 - mov r0, r4 - mov r1, #0x6000 - bl func_ov00_02090bf8 - mov r0, r4 - mov r1, #0x6000 - bl func_ov00_02090ad8 - b _020913b0 -_02091350: - mov r0, r3 - mov r1, #0xc - bl func_ov00_02088000 - mov r0, r4 - mov r1, #0 - bl func_ov00_02090e9c - b _020913b0 -_0209136c: - mov r1, #0 - bl func_ov00_02090e9c - mvn r0, #0 - str r0, [r4, #0x20] - b _020913b0 -_02091380: - mov r1, #2 - bl func_ov00_02090e9c - b _020913b0 -_0209138c: - mov r0, r4 - mov r1, #0 - bl func_ov00_02090e9c - b _020913b0 -_0209139c: - mov r1, #0x12 - bl func_ov00_02090e9c - b _020913b0 -_020913a8: - mov r1, #0xf - bl func_ov00_02090e9c -_020913b0: - mov r0, r4 - mov r1, #0 - bl func_ov00_020917b8 - mov r0, r4 - bl func_ov00_02091d58 - mov r0, r4 - bl func_ov00_02090e90 - cmp r0, #0 - mov r0, r4 - ble _020913e4 - mov r1, #1 - bl func_ov00_02090ea8 - b _020913ec -_020913e4: - mov r1, #0 - bl func_ov00_02090ea8 -_020913ec: - mov r0, r4 - mov r1, #0 - bl func_ov00_02090f08 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_02091278 -_020913fc: .word data_027e0d38 - - .global func_ov00_02091400 - arm_func_start func_ov00_02091400 -func_ov00_02091400: ; 0x02091400 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #0x68 - mov r4, r0 - ldr r0, [r4, #4] - ldr r0, [r0, #0x15c] - bl func_ov00_02087d84 - add lr, sp, #0 - mov r5, r0 - mov ip, #6 -_02091424: - ldmia r5!, {r0, r1, r2, r3} - stmia lr!, {r0, r1, r2, r3} - subs ip, ip, #1 - bne _02091424 - ldmia r5, {r0, r1} - stmia lr, {r0, r1} - ldr r0, [r4, #4] - ldr r0, [r0, #0x15c] - cmp r0, #0x27 - bgt _0209146c - bge _02091540 - cmp r0, #0xf - bgt _02091554 - cmp r0, #0xb - blt _02091554 - cmpne r0, #0xf - beq _0209148c - b _02091554 -_0209146c: - cmp r0, #0x2a - bgt _02091554 - cmp r0, #0x28 - blt _02091554 - cmpne r0, #0x29 - cmpne r0, #0x2a - beq _02091540 - b _02091554 -_0209148c: - ldr r0, _020915e4 ; =data_027e0d38 - ldr r0, [r0] - add r0, r0, #0xc - bl func_ov00_020a5e9c - cmp r0, #0x31 - bne _020914f0 - ldr r0, [r4, #4] - ldr r1, [r0, #0x23c] - cmp r1, #0x8000 - bgt _02091554 - ldr r5, [sp, #0x34] - mov r0, r4 - add r1, r5, r1 - bl func_ov00_02090bf8 - ldr r1, [r4, #4] - mov r0, r4 - ldr r1, [r1, #0x23c] - add r1, r5, r1 - bl func_ov00_02090ad8 - mov r0, r4 - mov r1, #0 - bl func_ov00_020917b8 - mov r0, r4 - bl func_ov00_02091d58 - b _02091554 -_020914f0: - ldr r1, [r4, #4] - ldr r0, [sp, #0x5c] - ldr r1, [r1, #0x23c] - cmp r1, r0 - bgt _02091554 - ldr r5, [sp, #0x34] - mov r0, r4 - add r1, r5, r1 - bl func_ov00_02090bf8 - ldr r1, [r4, #4] - mov r0, r4 - ldr r1, [r1, #0x23c] - add r1, r5, r1 - bl func_ov00_02090ad8 - mov r0, r4 - mov r1, #0 - bl func_ov00_020917b8 - mov r0, r4 - bl func_ov00_02091d58 - b _02091554 -_02091540: - mov r0, r4 - mov r1, #0 - bl func_ov00_020917b8 - mov r0, r4 - bl func_ov00_02091d58 -_02091554: - ldr r0, [r4, #0x1c] - sub r0, r0, #1 - cmp r0, #0 - addgt sp, sp, #0x68 - str r0, [r4, #0x1c] - ldmgtia sp!, {r3, r4, r5, pc} - mov r1, #0 - mov r0, r4 - str r1, [r4, #0x1c] - bl func_ov00_02090e54 - cmp r0, #0 - addgt sp, sp, #0x68 - ldmgtia sp!, {r3, r4, r5, pc} - ldr r0, [r4, #0x20] - cmp r0, #0 - addle sp, sp, #0x68 - ldmleia sp!, {r3, r4, r5, pc} - sub r0, r0, #1 - cmp r0, #0 - addgt sp, sp, #0x68 - str r0, [r4, #0x20] - ldmgtia sp!, {r3, r4, r5, pc} - ldr r0, [r4, #4] - ldr r1, [r0, #0x15c] - cmp r1, #0xb - cmpne r1, #0xf - addeq sp, sp, #0x68 - ldmeqia sp!, {r3, r4, r5, pc} - ldrb r1, [r4, #0x16] - bl func_ov00_020875f8 - mov r0, #0 - strb r0, [r4, #0x16] - sub r0, r0, #1 - str r0, [r4, #0x20] - add sp, sp, #0x68 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02091400 -_020915e4: .word data_027e0d38 - - .global func_ov00_020915e8 - arm_func_start func_ov00_020915e8 -func_ov00_020915e8: ; 0x020915e8 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0x94 - mov r5, r0 - ldr r3, [r5, #4] - ldr r0, _020917a4 ; =data_027e0d38 - ldr r2, [r3, #0x260] - ldr r0, [r0] - str r2, [sp, #0x28] - ldr r2, [r3, #0x264] - add r0, r0, #0xc - str r2, [sp, #0x2c] - ldr r2, [r3, #0x268] - mov r4, r1 - str r2, [sp, #0x30] - bl func_ov00_020a5e9c - cmp r0, #0 - bne _0209173c - ldr r0, _020917a8 ; =data_027e10a4 - mov r1, #0 - ldr r3, [r0] - ldr r2, [r3, #0x2c] - cmp r2, #5 - ldreq r0, [r3, #0x324] - cmpeq r0, #6 - moveq r1, #1 - cmp r1, #0 - bne _0209173c - cmp r2, #6 - mov r1, #0 - bne _0209167c - ldr r0, [r3, #0x430] - mov r2, #1 - cmp r0, #2 - cmpne r0, #3 - movne r2, r1 - cmp r2, #0 - movne r1, #1 -_0209167c: - cmp r1, #0 - bne _0209173c - ldr r0, _020917ac ; =data_027e0e60 - ldr r6, _020917b0 ; =0x000004cd - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_020848b8Ev - mov r1, #0 - cmp r0, #0 - ldr r0, _020917b4 ; =0x0000ffff - strh r1, [sp, #0x60] - strh r0, [sp, #0x58] - add r2, sp, #0x28 - strh r0, [sp, #0x5a] - strh r0, [sp, #0x5c] - strh r0, [sp, #0x5e] - strb r1, [sp, #0x82] - strb r1, [sp, #0x83] - strb r1, [sp, #0x84] - strb r1, [sp, #0x85] - strb r1, [sp, #0x8c] - strb r1, [sp, #0x8d] - strb r1, [sp, #0x8e] - strb r1, [sp, #0x8f] - strb r1, [sp, #0x90] - strb r1, [sp, #0x91] - str r6, [sp] - sub r0, r1, #1 - str r0, [sp, #4] - mov r0, #2 - str r0, [sp, #8] - str r1, [sp, #0xc] - str r1, [sp, #0x10] - ldr r0, _020917ac ; =data_027e0e60 - add r1, sp, #0x34 - ldr r0, [r0] - mov r3, r2 - bl func_01ffbf5c - cmp r0, #0 - beq _0209173c - ldr ip, [sp, #0x34] - ldr r3, [sp, #0x38] - ldr r2, [sp, #0x3c] - add r1, sp, #0x28 - mov r0, r5 - str ip, [sp, #0x28] - str r3, [sp, #0x2c] - str r2, [sp, #0x30] - bl func_ov00_02090b38 -_0209173c: - add r0, sp, #0x14 - str r0, [sp] - ldr r0, [r5, #4] - add r1, sp, #0x28 - add r2, sp, #0x18 - add r3, sp, #0x16 - add r0, r0, #0x26c - bl func_0202b734 - ldr r1, [sp, #0x18] - mov r0, r5 - bl func_ov00_02090ad8 - ldrsh r1, [sp, #0x16] - mov r0, r5 - bl func_ov00_02090ab8 - ldrsh r1, [sp, #0x14] - mov r0, r5 - bl func_ov00_02090ac8 - ldr r2, [r5, #4] - mov r3, #0 - add r0, r2, #0x260 - add r1, r2, #0x278 - add r2, r2, #0x26c - str r4, [sp] - bl func_02005dcc - add sp, sp, #0x94 - ldmia sp!, {r3, r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_020915e8 -_020917a4: .word data_027e0d38 -_020917a8: .word data_027e10a4 -_020917ac: .word data_027e0e60 -_020917b0: .word 0x000004cd -_020917b4: .word 0x0000ffff - - .global func_ov00_020917b8 - arm_func_start func_ov00_020917b8 -func_ov00_020917b8: ; 0x020917b8 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0x18c - ldr r1, _02091d3c ; =data_027e0f94 - ldr r2, _02091d40 ; =data_027e0fac - ldr r4, [r1] - ldr r3, [r1, #4] - str r4, [sp, #0x50] - str r3, [sp, #0x54] - ldr r3, [r1, #8] - add r1, sp, #0x50 - mov r5, r0 - str r3, [sp, #0x58] - ldrsh r4, [r2] - bl func_ov00_02090e30 - ldr r0, [r5, #4] - ldr r1, [r0, #0x15c] - cmp r1, #0x28 - bgt _0209183c - bge _02091998 - cmp r1, #0xf - bgt _02091830 - subs r0, r1, #0xa - addpl pc, pc, r0, lsl #2 - b _02091b44 -_02091818: ; jump table - b _02091988 ; case 0 - b _02091880 ; case 1 - b _02091870 ; case 2 - b _02091860 ; case 3 - b _02091890 ; case 4 - b _0209190c ; case 5 -_02091830: - cmp r1, #0x27 - beq _02091a6c - b _02091b44 -_0209183c: - cmp r1, #0x2a - bgt _02091854 - bge _02091998 - cmp r1, #0x29 - beq _02091a6c - b _02091b44 -_02091854: - cmp r1, #0x2b - beq _02091abc - b _02091b44 -_02091860: - add r1, sp, #0x50 - mov r0, r5 - bl func_ov00_02090c28 - b _02091bd4 -_02091870: - add r1, sp, #0x50 - mov r0, r5 - bl func_ov00_02090c28 - b _02091bd4 -_02091880: - add r1, sp, #0x50 - mov r0, r5 - bl func_ov00_02090c28 - b _02091bd4 -_02091890: - mov r0, r5 - bl func_ov00_02090a7c - ldr r1, [r0, #0x14] - mov r0, r5 - add r1, r4, r1 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090be8 - mov r0, r5 - bl func_ov00_02090a7c - ldr r1, [r0, #0x14] - mov r0, r5 - add r1, r4, r1 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090ac8 - ldr r0, _02091d3c ; =data_027e0f94 - strh r4, [r5, #0x14] - ldr r1, [r0, #4] - ldr r2, [r0] - str r1, [sp, #0x54] - str r2, [sp, #0x50] - ldr r2, [r0, #8] - add r1, sp, #0x50 - mov r0, r5 - str r2, [sp, #0x58] - bl func_ov00_02090e30 - add r1, sp, #0x50 - mov r0, r5 - bl func_ov00_02090c28 - b _02091bd4 -_0209190c: - mov r0, r5 - bl func_ov00_02090a7c - ldr r1, [r0, #0x14] - mov r0, r5 - add r1, r4, r1 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090be8 - mov r0, r5 - bl func_ov00_02090a7c - ldr r1, [r0, #0x14] - mov r0, r5 - add r1, r4, r1 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090ac8 - ldr r0, _02091d3c ; =data_027e0f94 - strh r4, [r5, #0x14] - ldr r1, [r0, #4] - ldr r2, [r0] - str r1, [sp, #0x54] - str r2, [sp, #0x50] - ldr r2, [r0, #8] - add r1, sp, #0x50 - mov r0, r5 - str r2, [sp, #0x58] - bl func_ov00_02090e30 - add r1, sp, #0x50 - mov r0, r5 - bl func_ov00_02090c28 - b _02091bd4 -_02091988: - add r1, sp, #0x50 - mov r0, r5 - bl func_ov00_02090c28 - b _02091bd4 -_02091998: - mov r0, r5 - bl func_ov00_02090a7c - add r6, sp, #0x124 - mov ip, r0 - mov r4, #6 -_020919ac: - ldmia ip!, {r0, r1, r2, r3} - stmia r6!, {r0, r1, r2, r3} - subs r4, r4, #1 - bne _020919ac - ldmia ip, {r0, r1} - stmia r6, {r0, r1} - add r0, sp, #0xbc - str r0, [sp] - ldr r1, [sp, #0x178] - add r3, sp, #0x44 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - str r1, [sp, #4] - mov r0, r5 - mov r1, #0 - mov r2, #1 - bl func_ov00_02091fe8 - ldr r4, [sp, #0x44] - ldr r3, [sp, #0x48] - ldr r2, [sp, #0x4c] - add r1, sp, #0x50 - mov r0, r5 - str r4, [sp, #0x50] - str r3, [sp, #0x54] - str r2, [sp, #0x58] - bl func_ov00_02090c28 - add r1, sp, #0x50 - mov r0, r5 - bl func_ov00_02090b08 - ldr r1, [sp, #0xcc] - mov r0, r5 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090bd8 - ldr r1, [sp, #0xd4] - mov r0, r5 - bl func_ov00_02090bf8 - ldr r1, [sp, #0xd0] - mov r0, r5 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090be8 - ldr r1, [sp, #0xc8] - mov r0, r5 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090bc8 - b _02091bd4 -_02091a6c: - ldr r0, _02091d44 ; =data_027e10a4 - add r1, sp, #0x38 - ldr r0, [r0] - bl func_ov15_02175cc4 - ldr r4, [sp, #0x38] - ldr r3, [sp, #0x3c] - ldr r2, [sp, #0x40] - add r1, sp, #0x50 - mov r0, r5 - str r4, [sp, #0x50] - str r3, [sp, #0x54] - str r2, [sp, #0x58] - bl func_ov00_02090e30 - add r1, sp, #0x50 - mov r0, r5 - bl func_ov00_02090c28 - add r1, sp, #0x50 - mov r0, r5 - bl func_ov00_02090b08 - b _02091bd4 -_02091abc: - mov r0, r5 - bl func_ov00_02090a7c - ldr r1, [r0, #0x14] - ldrsh r2, [r5, #0x14] - mov r0, r5 - add r1, r2, r1 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090be8 - mov r0, r5 - bl func_ov00_02090a7c - ldr r1, [r0, #0x14] - ldrsh r2, [r5, #0x14] - mov r0, r5 - add r1, r2, r1 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090ac8 - ldr r0, [r5, #8] - add r1, sp, #0x50 - str r0, [sp, #0x50] - ldr r2, [r5, #0xc] - mov r0, r5 - str r2, [sp, #0x54] - ldr r2, [r5, #0x10] - str r2, [sp, #0x58] - bl func_ov00_02090e30 - add r1, sp, #0x50 - mov r0, r5 - bl func_ov00_02090c28 - add r1, sp, #0x50 - mov r0, r5 - bl func_ov00_02090b08 - b _02091bd4 -_02091b44: - ldr r1, [r5, #8] - ldr r0, _02091d48 ; =data_027e0d38 - str r1, [sp, #0x50] - ldr r1, [r5, #0xc] - ldr r0, [r0] - str r1, [sp, #0x54] - ldr r1, [r5, #0x10] - str r1, [sp, #0x58] - bl func_ov00_02078b40 - cmp r0, #2 - ldrneb r0, [r5, #0x18] - cmpne r0, #0 - beq _02091bbc - add r0, sp, #0x50 - add r3, sp, #0x2c - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldr r0, [r5, #4] - mov r1, r3 - bl func_ov00_02086ed4 - cmp r0, #0 - bne _02091bb4 - ldr r2, [sp, #0x2c] - ldr r1, [sp, #0x30] - ldr r0, [sp, #0x34] - str r2, [sp, #0x50] - str r1, [sp, #0x54] - str r0, [sp, #0x58] -_02091bb4: - mov r0, #0 - strb r0, [r5, #0x18] -_02091bbc: - add r1, sp, #0x50 - mov r0, r5 - bl func_ov00_02090e30 - add r1, sp, #0x50 - mov r0, r5 - bl func_ov00_02090c28 -_02091bd4: - mov r0, r5 - bl func_ov00_02090a18 - mov r6, r0 - mov r0, r5 - bl func_ov00_02090a34 - mov r4, r0 - mov r0, r5 - bl func_ov00_02090a44 - str r0, [sp] - mov r2, r6 - mov r3, r4 - add r0, sp, #0x50 - add r1, sp, #0x20 - bl func_0202b66c - ldr r0, _02091d48 ; =data_027e0d38 - ldr r0, [r0] - bl func_ov00_02078b40 - cmp r0, #2 - bne _02091ce0 - ldrb r0, [r5, #0x18] - cmp r0, #0 - beq _02091ce0 - ldr r0, _02091d4c ; =data_027e0e60 - ldr r4, _02091d50 ; =0x000004cd - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_020848b8Ev - mov r1, #0 - cmp r0, #0 - ldr r0, _02091d54 ; =0x0000ffff - strh r1, [sp, #0x88] - strh r0, [sp, #0x80] - add r2, sp, #0x20 - strh r0, [sp, #0x82] - strh r0, [sp, #0x84] - strh r0, [sp, #0x86] - strb r1, [sp, #0xaa] - strb r1, [sp, #0xab] - strb r1, [sp, #0xac] - strb r1, [sp, #0xad] - strb r1, [sp, #0xb4] - strb r1, [sp, #0xb5] - strb r1, [sp, #0xb6] - strb r1, [sp, #0xb7] - strb r1, [sp, #0xb8] - strb r1, [sp, #0xb9] - str r4, [sp] - sub r0, r1, #1 - str r0, [sp, #4] - mov r0, #2 - str r0, [sp, #8] - str r1, [sp, #0xc] - str r1, [sp, #0x10] - ldr r0, _02091d4c ; =data_027e0e60 - add r1, sp, #0x5c - ldr r0, [r0] - mov r3, r2 - bl func_01ffbf5c - cmp r0, #0 - beq _02091cd8 - ldr r2, [sp, #0x5c] - ldr r1, [sp, #0x60] - ldr r0, [sp, #0x64] - str r2, [sp, #0x20] - str r1, [sp, #0x24] - str r0, [sp, #0x28] -_02091cd8: - mov r0, #0 - strb r0, [r5, #0x18] -_02091ce0: - add r1, sp, #0x20 - mov r0, r5 - bl func_ov00_02090c58 - ldr r0, [r5, #4] - ldr r0, [r0, #0x15c] - sub r0, r0, #0x27 - cmp r0, #3 - addls pc, pc, r0, lsl #2 - b _02091d34 -_02091d04: ; jump table - b _02091d28 ; case 0 - b _02091d14 ; case 1 - b _02091d28 ; case 2 - b _02091d14 ; case 3 -_02091d14: - add r1, sp, #0x20 - mov r0, r5 - bl func_ov00_02090b38 - add sp, sp, #0x18c - ldmia sp!, {r3, r4, r5, r6, pc} -_02091d28: - add r1, sp, #0x20 - mov r0, r5 - bl func_ov00_02090b38 -_02091d34: - add sp, sp, #0x18c - ldmia sp!, {r3, r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_020917b8 -_02091d3c: .word data_027e0f94 -_02091d40: .word data_027e0fac -_02091d44: .word data_027e10a4 -_02091d48: .word data_027e0d38 -_02091d4c: .word data_027e0e60 -_02091d50: .word 0x000004cd -_02091d54: .word 0x0000ffff - - .global func_ov00_02091d58 - arm_func_start func_ov00_02091d58 -func_ov00_02091d58: ; 0x02091d58 - stmdb sp!, {r4, r5, r6, r7, r8, lr} - sub sp, sp, #0x40 - mov r6, r0 - add r0, sp, #0x18 - bl func_ov00_020a0330 - add r2, sp, #0x18 - mov r1, #0 - mov r0, #1 -_02091d78: - add r1, r1, #1 - strb r0, [r2, #0x1c] - cmp r1, #7 - add r2, r2, #1 - blt _02091d78 - mov r0, r6 - bl func_ov00_02090e90 - cmp r0, #0 - blt _02091fc8 - mov r0, r6 - bl func_ov00_02090e90 - cmp r0, #0 - mov r0, r6 - bne _02091e78 - bl func_ov00_02090a64 - ldr r1, [r0] - str r1, [sp, #0x18] - ldr r1, [r0, #4] - str r1, [sp, #0x1c] - ldr r1, [r0, #8] - mov r0, r6 - str r1, [sp, #0x20] - bl func_ov00_02090a70 - ldr r1, [r0] - str r1, [sp, #0x24] - ldr r1, [r0, #4] - str r1, [sp, #0x28] - ldr r1, [r0, #8] - mov r0, r6 - str r1, [sp, #0x2c] - bl func_ov00_02090a54 - mov r2, #0x1680000 - umull r3, r4, r0, r2 - mov r1, #0 - adds r3, r3, #0x80000 - mov r5, r3, lsr #0x14 - mla r4, r0, r1, r4 - mov r3, r0, asr #0x1f - mla r4, r3, r2, r4 - adc r0, r4, #0 - orr r5, r5, r0, lsl #12 - mov r0, r6 - add r2, sp, #0x18 - str r1, [sp, #0x3c] - str r5, [sp, #0x30] - bl func_ov00_02090f14 - mov r1, #1 - mov r0, r6 - add r2, sp, #0x18 - str r1, [sp, #0x3c] - bl func_ov00_02090f14 - mov r0, #1 - str r0, [sp, #0x3c] - mov r0, r6 - mov r1, #2 - add r2, sp, #0x18 - bl func_ov00_02090f14 - mov r0, #1 - str r0, [sp, #0x3c] - mov r0, r6 - mov r1, #3 - add r2, sp, #0x18 - bl func_ov00_02090f14 - b _02091fc8 -_02091e78: - bl func_ov00_02090e90 - ldr r3, _02091fe4 ; =0x92492493 - mov r1, r0, lsr #0x1f - smull r2, r4, r3, r0 - add r4, r0, r4 - mov r0, r6 - add r4, r1, r4, asr #2 - bl func_ov00_02090e90 - ldr r2, [r6, #4] - sub r5, r0, r4, lsl #1 - ldr r7, [r2, #0x264] - ldr r3, [r2, #0x268] - ldr r2, [r2, #0x260] - mov r1, #0 - str r3, [sp, #0x20] - str r2, [sp, #0x18] - str r7, [sp, #0x1c] - ldr r0, [r6, #4] - mov r3, #0x1680000 - ldr r8, [r0, #0x270] - ldr r7, [r0, #0x274] - ldr r2, [r0, #0x26c] - mov r0, r6 - str r2, [sp, #0x24] - str r8, [sp, #0x28] - str r7, [sp, #0x2c] - ldr r7, [r6, #4] - add r2, sp, #0x18 - ldrsh ip, [r7, #4] - umull r8, lr, ip, r3 - mla lr, ip, r1, lr - mov r7, ip, asr #0x1f - mla lr, r7, r3, lr - adds r7, r8, #0x80000 - adc r3, lr, #0 - mov r7, r7, lsr #0x14 - orr r7, r7, r3, lsl #12 - str r1, [sp, #0x3c] - str r7, [sp, #0x30] - bl func_ov00_02090f14 - mov r0, r6 - mov r1, #1 - add r2, sp, #0x18 - str r4, [sp, #0x3c] - bl func_ov00_02090f14 - mov r0, r6 - bl func_ov00_02090a64 - ldr r1, [r0] - str r1, [sp, #0x18] - ldr r1, [r0, #4] - str r1, [sp, #0x1c] - ldr r1, [r0, #8] - mov r0, r6 - str r1, [sp, #0x20] - bl func_ov00_02090a70 - ldr r1, [r0] - str r1, [sp, #0x24] - ldr r1, [r0, #4] - str r1, [sp, #0x28] - ldr r1, [r0, #8] - mov r0, r6 - str r1, [sp, #0x2c] - bl func_ov00_02090a54 - str r5, [sp, #0x3c] - mov r3, #0x1680000 - mov r5, #0 - umull r7, lr, r0, r3 - mla lr, r0, r5, lr - mov ip, r0, asr #0x1f - mla lr, ip, r3, lr - adds r3, r7, #0x80000 - adc r0, lr, #0 - mov r3, r3, lsr #0x14 - orr r3, r3, r0, lsl #12 - mov r1, #2 - add r2, sp, #0x18 - mov r0, r6 - str r3, [sp, #0x30] - bl func_ov00_02090f14 - mov r0, r6 - mov r1, #3 - add r2, sp, #0x18 - str r4, [sp, #0x3c] - bl func_ov00_02090f14 -_02091fc8: - mov r0, r6 - mov r1, #3 - bl func_ov00_02090f24 - add r0, sp, #0x18 - bl func_ov00_020a0368 - add sp, sp, #0x40 - ldmia sp!, {r4, r5, r6, r7, r8, pc} - .align 2, 0 - arm_func_end func_ov00_02091d58 -_02091fe4: .word 0x92492493 - - .global func_ov00_02091fe8 - arm_func_start func_ov00_02091fe8 -func_ov00_02091fe8: ; 0x02091fe8 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - sub sp, sp, #0x80 - ldr r0, _020921e4 ; =data_027e0f64 - mov r7, r2 - ldr r0, [r0] - mov r6, r3 - add r0, r0, r1, lsl #2 - ldr r4, [r0, #4] - add r1, sp, #0x18 - mov r0, r4 - ldr r5, [sp, #0x98] - bl func_ov00_02087d34 - ldr r1, [r4, #0x260] - add r0, sp, #0 - str r1, [sp, #0xc] - ldr r2, [r4, #0x264] - add r1, sp, #0xc - str r2, [sp, #0x10] - ldr r3, [r4, #0x268] - mov r2, r0 - str r3, [sp, #0x14] - ldr r3, [r4, #0x26c] - str r3, [sp] - ldr r3, [r4, #0x270] - str r3, [sp, #4] - ldr r3, [r4, #0x274] - str r3, [sp, #8] - bl func_01ff9bf8 - ldr r1, [sp, #0x2c] - add r0, sp, #0 - rsb r1, r1, #0 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_020a61ac - cmp r7, #0 - ldreqsh r1, [sp, #0x9c] - ldreq r0, [sp, #0x24] - addeq r0, r1, r0, lsl #1 - beq _02092098 - ldr r0, [sp, #0x24] - ldrsh r1, [sp, #0x9c] - mov r0, r0, lsl #0x1 - rsb r0, r0, #0 - sub r0, r0, r1 -_02092098: - mov r0, r0, lsl #0x10 - mov r4, r0, asr #0x10 - add r0, sp, #0 - mov r1, r4 - bl func_ov00_020a6110 - ldr r1, [sp, #0x2c] - add r0, sp, #0 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_020a61ac - add r0, sp, #0 - add r1, sp, #0xc - mov r2, r6 - bl func_01ff9bc4 - ldr r0, [sp, #0x18] - mov r1, #0 - str r0, [r5] - ldr r0, [sp, #0x1c] - str r0, [r5, #4] - ldr r0, [sp, #0x20] - str r0, [r5, #8] - ldr r0, [sp, #0x24] - str r0, [r5, #0xc] - ldr r0, [sp, #0x28] - str r0, [r5, #0x10] - ldr r0, [sp, #0x2c] - str r0, [r5, #0x14] - ldr r0, [sp, #0x30] - str r0, [r5, #0x18] - ldr r0, [sp, #0x34] - str r0, [r5, #0x1c] - ldr r0, [sp, #0x38] - str r0, [r5, #0x20] - ldr r0, [sp, #0x3c] - str r0, [r5, #0x24] - ldr r0, [sp, #0x40] - str r0, [r5, #0x28] - ldr r0, [sp, #0x44] - str r0, [r5, #0x2c] - ldr r0, [sp, #0x48] - str r0, [r5, #0x30] - ldr r0, [sp, #0x4c] - str r0, [r5, #0x34] - ldr r0, [sp, #0x50] - str r0, [r5, #0x38] - ldr r0, [sp, #0x54] - str r0, [r5, #0x3c] - ldr r0, [sp, #0x58] - str r0, [r5, #0x40] - ldr r0, [sp, #0x5c] - str r0, [r5, #0x44] - ldr r0, [sp, #0x60] - str r0, [r5, #0x48] - ldr r0, [sp, #0x64] - str r0, [r5, #0x4c] - ldr r0, [sp, #0x68] - str r0, [r5, #0x50] - ldr r0, [sp, #0x6c] - str r0, [r5, #0x54] - ldr r0, [sp, #0x70] - str r0, [r5, #0x58] - ldr r0, [sp, #0x74] - str r0, [r5, #0x5c] - ldrb r0, [sp, #0x78] - strb r0, [r5, #0x60] - ldrb r0, [sp, #0x79] - strb r0, [r5, #0x61] - ldrb r0, [sp, #0x7a] - strb r0, [r5, #0x62] - ldrb r0, [sp, #0x7b] - strb r0, [r5, #0x63] - ldrb r0, [sp, #0x7c] - strb r0, [r5, #0x64] - ldr r0, [sp, #0x28] - sub r0, r0, r4 - mov r0, r0, lsl #0x10 - mov r0, r0, asr #0x10 - str r0, [r5, #0x10] - str r1, [r5, #0x24] - str r1, [r5, #0x20] - str r1, [r5, #0x1c] - add sp, sp, #0x80 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end func_ov00_02091fe8 -_020921e4: .word data_027e0f64 - - .global func_ov00_020921e8 - arm_func_start func_ov00_020921e8 -func_ov00_020921e8: ; 0x020921e8 - ldr ip, _020921f0 ; =func_ov00_02090f74 - bx ip - .align 2, 0 - arm_func_end func_ov00_020921e8 -_020921f0: .word func_ov00_02090f74 - - .global func_ov00_020921f4 - arm_func_start func_ov00_020921f4 -func_ov00_020921f4: ; 0x020921f4 - bx lr - arm_func_end func_ov00_020921f4 - - .global func_ov00_020921f8 - arm_func_start func_ov00_020921f8 -func_ov00_020921f8: ; 0x020921f8 - strb r1, [r0, #0x17] - bx lr - arm_func_end func_ov00_020921f8 - - .global func_ov00_02092200 - arm_func_start func_ov00_02092200 -func_ov00_02092200: ; 0x02092200 - ldrb r0, [r0, #0x17] - bx lr - arm_func_end func_ov00_02092200 - - .global func_ov00_02092208 - arm_func_start func_ov00_02092208 -func_ov00_02092208: ; 0x02092208 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02092208 - - .global func_ov00_0209221c - arm_func_start func_ov00_0209221c -func_ov00_0209221c: ; 0x0209221c - stmdb sp!, {r3, r4, r5, r6, r7, lr} - sub sp, sp, #0x68 - mov r4, r1 - mov r3, #0 - mov r5, r0 - bl func_ov00_020908f8 - cmp r4, #0 - bne _02092258 - mov r0, #0 - str r0, [r5, #0x1c] - str r0, [r5, #0x20] - str r0, [r5, #0x24] - str r0, [r5, #0x28] - str r0, [r5, #0x2c] - str r0, [r5, #0x30] -_02092258: - add r0, r5, #8 - add r3, sp, #0x5c - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r5 - mov r1, r3 - mov r2, #1 - bl func_ov00_020933d4 - ldr r0, [sp, #0x5c] - mov r1, #0 - str r0, [r5, #0x34] - ldr r2, [sp, #0x60] - mov r0, r5 - str r2, [r5, #0x38] - ldr r2, [sp, #0x64] - str r2, [r5, #0x3c] - str r1, [r5, #0x18] - str r1, [r5, #0x5c] - bl func_ov00_02090a7c - ldrb r0, [r0, #0x64] - cmp r0, #0 - beq _02092368 - add r0, sp, #0xa - str r0, [sp] - add r6, sp, #0x10 - add r1, sp, #0x50 - add r2, sp, #0xc - add r3, sp, #8 - mov r0, r5 - str r6, [sp, #4] - bl func_ov00_02093508 - add r0, sp, #0x50 - add r3, sp, #0x44 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r5 - mov r1, r3 - bl func_ov00_02090e10 - add r1, sp, #0x44 - mov r0, r5 - bl func_ov00_02090c28 - ldrsh r1, [sp, #0xc] - mov r0, r5 - bl func_ov00_02090bd8 - ldrsh r1, [sp, #8] - mov r0, r5 - bl func_ov00_02090be8 - ldrsh r1, [sp, #0xa] - mov r0, r5 - bl func_ov00_02090bc8 - ldr r1, [sp, #0x10] - mov r0, r5 - bl func_ov00_02090bf8 - mov r0, r5 - add r1, sp, #0x44 - bl func_ov00_02090b08 - ldrsh r1, [sp, #0xc] - mov r0, r5 - bl func_ov00_02090ab8 - ldrsh r1, [sp, #8] - mov r0, r5 - bl func_ov00_02090ac8 - ldrsh r1, [sp, #0xa] - mov r0, r5 - bl func_ov00_02090aac - ldr r1, [sp, #0x10] - mov r0, r5 - bl func_ov00_02090ad8 -_02092368: - ldr r0, [r5, #4] - ldr r0, [r0, #0x15c] - cmp r0, #0x31 - beq _0209242c - cmp r0, #0x54 - beq _020923dc - cmp r0, #0x57 - addne sp, sp, #0x68 - ldmneia sp!, {r3, r4, r5, r6, r7, pc} - add r2, sp, #0x38 - add r0, r5, #0x40 - add r1, r5, #0x4c - bl func_01ff9bf8 - ldr r1, [r5, #4] - ldr r0, [sp, #0x38] - ldr r6, [r1, #0x15c] - ldr r1, [sp, #0x40] - bl func_01ffa0f4 - mov r4, r0, lsl #0x10 - mov r0, r6 - bl func_ov00_02087d84 - ldr r1, [r0, #0x14] - mov r0, r5 - add r1, r1, r4, asr #16 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090be8 - add sp, sp, #0x68 - ldmia sp!, {r3, r4, r5, r6, r7, pc} -_020923dc: - add r2, sp, #0x2c - add r0, r5, #8 - add r1, r5, #0x4c - bl func_01ff9bf8 - ldr r1, [r5, #4] - ldr r0, [sp, #0x2c] - ldr r6, [r1, #0x15c] - ldr r1, [sp, #0x34] - bl func_01ffa0f4 - mov r4, r0, lsl #0x10 - mov r0, r6 - bl func_ov00_02087d84 - ldr r1, [r0, #0x14] - mov r0, r5 - add r1, r1, r4, asr #16 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090be8 - add sp, sp, #0x68 - ldmia sp!, {r3, r4, r5, r6, r7, pc} -_0209242c: - add r1, sp, #0x20 - mov r0, r5 - mov r2, #0 - bl func_ov00_020933d4 - add r0, sp, #0x20 - add r3, sp, #0x14 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r3 - mov r2, r3 - add r1, r5, #0x40 - bl func_01ff9bf8 - ldr r1, [r5, #4] - ldr r0, [sp, #0x14] - ldr r7, [r1, #0x15c] - ldr r1, [sp, #0x1c] - bl func_01ffa0f4 - mov r6, r0, lsl #0x10 - mov r0, r7 - bl func_ov00_02087d84 - ldr r1, [r0, #0x14] - mov r0, r5 - add r1, r1, r6, asr #16 - mov r1, r1, lsl #0x10 - mov r6, r1, asr #0x10 - mov r1, r6 - bl func_ov00_02090be8 - cmp r4, #0 - addne sp, sp, #0x68 - ldmneia sp!, {r3, r4, r5, r6, r7, pc} - mov r0, r5 - mov r1, r6 - bl func_ov00_02090ac8 - add sp, sp, #0x68 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0209221c - - .global func_ov00_020924b8 - arm_func_start func_ov00_020924b8 -func_ov00_020924b8: ; 0x020924b8 - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #0x174 - ldr r1, _020931d8 ; =data_027e0f90 - mov r4, r0 - ldr r0, [r1] - ldr r1, [r0] - ldr r1, [r1, #0xc] - blx r1 - cmp r0, #0 - addeq sp, sp, #0x174 - ldmeqia sp!, {r4, r5, r6, r7, pc} - add r1, sp, #0x100 - mov r0, r4 - mov r2, #0 - bl func_ov00_020933d4 - ldr r0, _020931dc ; =data_027e0fa0 - add r1, sp, #0xf4 - ldr r6, [r0] - ldr r2, [r0, #4] - ldr r0, [r0, #8] - str r6, [sp, #0xf4] - add r5, sp, #0xe8 - str r2, [sp, #0xf8] - str r0, [sp, #0xfc] - ldmia r1, {r0, r1, r2} - stmia r5, {r0, r1, r2} - ldr r0, [r4, #4] - ldr r3, _020931e0 ; =data_027e0fac - ldr r0, [r0, #0x15c] - mov r6, #0x1c000 - cmp r0, #0x54 - mov r7, #0x21000 - add r0, sp, #0xe8 - ldrh r5, [r3] - moveq r6, #0xa000 - moveq r7, #0xd000 - bl func_01ff9cec - cmp r0, #0x29 - blt _02092684 - add r0, sp, #0xe8 - bl func_01ff9cec - ldr r1, _020931e4 ; =0x0000028f - cmp r0, r1 - bge _02092684 - ldr r1, [sp, #0xe8] - ldr r0, [sp, #0xf0] - smull r2, r3, r1, r6 - adds r6, r2, #0x800 - smull r2, r1, r0, r7 - adc r0, r3, #0 - mov r3, r6, lsr #0xc - orr r3, r3, r0, lsl #20 - adds r2, r2, #0x800 - adc r0, r1, #0 - mov r1, r2, lsr #0xc - orr r1, r1, r0, lsl #20 - add r0, sp, #0xe8 - str r3, [sp, #0xe8] - str r1, [sp, #0xf0] - bl func_01ff9cec - mov r6, r0 - add r0, r4, #0x28 - bl func_01ff9cec - add r0, r4, #0x1c - bl func_01ff9cec - cmp r0, r6 - ble _02092634 - ldr r2, [sp, #0xe8] - ldr r1, [sp, #0xec] - rsb r3, r2, #0 - rsb r2, r1, #0 - ldr r0, [sp, #0xf0] - str r3, [sp, #0xdc] - rsb r1, r0, #0 - ldr r0, _020931e8 ; =data_ov00_020e2fa8 - str r2, [sp, #0xe0] - str r1, [sp, #0xe4] - ldr r3, [r4, #0x30] - ldr r2, [r4, #0x2c] - ldr r1, [r4, #0x28] - rsb r3, r3, #0 - rsb r2, r2, #0 - rsb r1, r1, #0 - str r1, [sp, #0xd0] - str r2, [sp, #0xd4] - str r3, [sp, #0xd8] - mov r3, #0x1000 - ldr r6, [r0] - str r3, [sp] - add r1, sp, #0xdc - add r2, sp, #0xd0 - add r0, r4, #0x1c - stmib sp, {r3, r6} - bl func_ov00_0209320c - b _02092658 -_02092634: - ldr r0, _020931e8 ; =data_ov00_020e2fa8 - mov r3, #0x1000 - ldr r6, [r0] - str r3, [sp] - add r1, sp, #0xe8 - add r0, r4, #0x1c - add r2, r4, #0x28 - stmib sp, {r3, r6} - bl func_ov00_0209320c -_02092658: - add r0, sp, #0x100 - add r1, r4, #0x1c - mov r2, r0 - bl func_01ff9bc4 - ldr r0, [sp, #0xe8] - str r0, [r4, #0x28] - ldr r0, [sp, #0xec] - str r0, [r4, #0x2c] - ldr r0, [sp, #0xf0] - str r0, [r4, #0x30] - b _020926ac -_02092684: - add r0, sp, #0x100 - add r1, r4, #0x1c - mov r2, r0 - bl func_01ff9bc4 - ldr r0, [r4, #0x1c] - str r0, [r4, #0x28] - ldr r0, [r4, #0x20] - str r0, [r4, #0x2c] - ldr r0, [r4, #0x24] - str r0, [r4, #0x30] -_020926ac: - ldr r0, [r4, #4] - ldr r0, [r0, #0x15c] - cmp r0, #0x31 - bgt _020926c4 - beq _02092750 - b _0209272c -_020926c4: - sub r0, r0, #0x50 - cmp r0, #0xb - addls pc, pc, r0, lsl #2 - b _0209272c -_020926d4: ; jump table - b _02092704 ; case 0 - b _0209272c ; case 1 - b _02092704 ; case 2 - b _02092704 ; case 3 - b _02092750 ; case 4 - b _0209272c ; case 5 - b _0209272c ; case 6 - b _02092750 ; case 7 - b _0209272c ; case 8 - b _0209272c ; case 9 - b _0209272c ; case 10 - b _02092750 ; case 11 -_02092704: - mov r0, r4 - bl func_ov00_02090e04 - mov r6, r0 - mov r0, r4 - bl func_ov00_02090a7c - ldr r1, [r0, #0x18] - ldr r2, _020931ec ; =0x0000019a - mov r0, r6 - bl Approach_thunk - b _02092750 -_0209272c: - mov r0, r4 - bl func_ov00_02090e04 - mov r6, r0 - mov r0, r4 - bl func_ov00_02090a7c - ldr r1, [r0, #0x18] - mov r0, r6 - mov r2, #0x1000 - bl Approach_thunk -_02092750: - ldr r0, [r4, #4] - ldr r0, [r0, #0x15c] - bl func_ov00_02087d84 - ldr r0, [r0, #0x10] - ldr r2, [r4, #4] - mov r1, r0, lsl #0x10 - ldr r0, [r2, #0x15c] - mov r6, r1, asr #0x10 - cmp r0, #0x31 - bgt _02092798 - bge _02092824 - cmp r0, #0x26 - bgt _02092b34 - cmp r0, #0x23 - blt _02092b34 - cmpne r0, #0x26 - beq _020927e0 - b _02092b34 -_02092798: - cmp r0, #0x50 - bgt _020927a8 - beq _0209295c - b _02092b34 -_020927a8: - sub r1, r0, #0x52 - cmp r1, #9 - addls pc, pc, r1, lsl #2 - b _02092b34 -_020927b8: ; jump table - b _0209295c ; case 0 - b _0209295c ; case 1 - b _02092a50 ; case 2 - b _02092b34 ; case 3 - b _02092b34 ; case 4 - b _020929c8 ; case 5 - b _02092b34 ; case 6 - b _02092b34 ; case 7 - b _02092b34 ; case 8 - b _02092ad8 ; case 9 -_020927e0: - bl func_ov00_02087d84 - ldr r1, [r0, #0x14] - mov r0, r4 - add r1, r5, r1 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090be8 - ldr r0, [r4, #4] - ldr r0, [r0, #0x15c] - bl func_ov00_02087d84 - ldr r1, [r0, #0x14] - mov r0, r4 - add r1, r5, r1 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090ac8 - b _02092b4c -_02092824: - add r0, sp, #0x100 - add r3, sp, #0xc4 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r3 - mov r2, r3 - add r1, r4, #0x40 - bl func_01ff9bf8 - ldr r1, [r4, #4] - ldr r0, [sp, #0xc4] - ldr r7, [r1, #0x15c] - ldr r1, [sp, #0xcc] - bl func_01ffa0f4 - mov r5, r0, lsl #0x10 - mov r0, r7 - bl func_ov00_02087d84 - ldr r1, [r0, #0x14] - add r0, sp, #0xc4 - add r1, r1, r5, asr #16 - mov r1, r1, lsl #0x10 - mov r5, r1, asr #0x10 - bl func_01ff9cec - mov r7, r0 - mov r0, r4 - bl func_ov00_02090a7c - cmp r7, #0x5000 - ldr r7, [r0, #0x18] - mov r0, r4 - bgt _02092914 - bl func_ov00_02090a24 - strh r0, [sp, #0x14] - add r0, sp, #0x14 - mov r1, #0x32 - mov r2, #0x1f4 - bl func_0202b154 - ldrsh r1, [sp, #0x14] - mov r0, r4 - bl func_ov00_02090c88 - ldr r0, _020931dc ; =data_027e0fa0 - ldr r2, [r0] - ldr r1, [r0, #4] - ldr r0, [r0, #8] - cmp r2, #0 - str r2, [sp, #0xb8] - str r1, [sp, #0xbc] - str r0, [sp, #0xc0] - cmpne r0, #0 - beq _020928f4 - mov r0, r4 - mov r1, r5 - bl func_ov00_02090be8 - b _02092908 -_020928f4: - ldr r1, [r4, #4] - mov r0, r4 - add r1, r1, #0x200 - ldrsh r1, [r1, #0x26] - bl func_ov00_02090be8 -_02092908: - ldr r6, _020931f0 ; =0x00000ccd - mov r7, #0x9000 - b _02092944 -_02092914: - bl func_ov00_02090a24 - strh r0, [sp, #0x12] - ldr r1, _020931f4 ; =0x00001388 - add r0, sp, #0x12 - mov r2, #3 - bl func_0202b154 - ldrsh r1, [sp, #0x12] - mov r0, r4 - bl func_ov00_02090c88 - mov r0, r4 - mov r1, r5 - bl func_ov00_02090be8 -_02092944: - mov r0, r4 - bl func_ov00_02090e04 - mov r1, r7 - mov r2, #0x1000 - bl Approach_thunk - b _02092b4c -_0209295c: - add r0, sp, #0x100 - add r3, sp, #0xac - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r3 - mov r2, r3 - add r1, r4, #0x40 - bl func_01ff9bf8 - ldr r1, [r4, #4] - ldr r0, [sp, #0xac] - ldr r7, [r1, #0x15c] - ldr r1, [sp, #0xb4] - bl func_01ffa0f4 - mov r5, r0, lsl #0x10 - mov r0, r7 - bl func_ov00_02087d84 - ldr r1, [r0, #0x14] - mov r0, r4 - add r1, r1, r5, asr #16 - mov r1, r1, lsl #0x10 - mov r5, r1, asr #0x10 - mov r1, r5 - bl func_ov00_02090be8 - mov r1, r5 - mov r0, r4 - bl func_ov00_02090ac8 - b _02092b4c -_020929c8: - add r2, sp, #0xa0 - add r0, r4, #0x40 - add r1, r4, #0x4c - bl func_01ff9bf8 - ldr r1, [r4, #4] - ldr r0, [sp, #0xa0] - ldr r7, [r1, #0x15c] - ldr r1, [sp, #0xa8] - bl func_01ffa0f4 - mov r5, r0, lsl #0x10 - mov r0, r7 - bl func_ov00_02087d84 - ldr r1, [r0, #0x14] - mov r0, r4 - add r1, r1, r5, asr #16 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090be8 - ldr r0, [r4, #4] - ldrb r0, [r0, #0x2ed] - cmp r0, #0 - mov r0, r4 - beq _02092a2c - bl func_ov00_02090f44 - b _02092b4c -_02092a2c: - bl func_ov00_02090e04 - mov r5, r0 - mov r0, r4 - bl func_ov00_02090a7c - ldr r1, [r0, #0x18] - mov r0, r5 - mov r2, #0x1000 - bl Approach_thunk - b _02092b4c -_02092a50: - add r0, sp, #0x100 - add r2, sp, #0x94 - add r1, r4, #0x4c - bl func_01ff9bf8 - ldr r1, [r4, #4] - ldr r0, [sp, #0x94] - ldr r7, [r1, #0x15c] - ldr r1, [sp, #0x9c] - bl func_01ffa0f4 - mov r5, r0, lsl #0x10 - mov r0, r7 - bl func_ov00_02087d84 - ldr r1, [r0, #0x14] - mov r0, r4 - add r1, r1, r5, asr #16 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090be8 - ldr r0, [r4, #4] - ldrb r0, [r0, #0x2ed] - cmp r0, #0 - mov r0, r4 - beq _02092ab4 - bl func_ov00_02090f44 - b _02092b4c -_02092ab4: - bl func_ov00_02090e04 - mov r5, r0 - mov r0, r4 - bl func_ov00_02090a7c - ldr r1, [r0, #0x18] - mov r0, r5 - mov r2, #0x1000 - bl Approach_thunk - b _02092b4c -_02092ad8: - ldrb r0, [r2, #0x2ed] - cmp r0, #0 - mov r0, r4 - beq _02092af0 - bl func_ov00_02090f44 - b _02092b10 -_02092af0: - bl func_ov00_02090e04 - mov r5, r0 - mov r0, r4 - bl func_ov00_02090a7c - ldr r1, [r0, #0x18] - mov r0, r5 - mov r2, #0x1000 - bl Approach_thunk -_02092b10: - ldr r0, [r4, #4] - ldr r0, [r0, #0x15c] - bl func_ov00_02087d84 - ldr r1, [r0, #0x14] - mov r0, r4 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090be8 - b _02092b4c -_02092b34: - bl func_ov00_02087d84 - ldr r1, [r0, #0x14] - mov r0, r4 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090be8 -_02092b4c: - ldr r0, [r4, #4] - ldr r0, [r0, #0x15c] - cmp r0, #0x16 - beq _02092b68 - cmp r0, #0x31 - beq _02092c64 - b _02092c74 -_02092b68: - bl func_ov00_02087d84 - ldr r1, _020931f8 ; =data_027e0f94 - ldr r0, [r0, #0x10] - ldr r2, [r1, #4] - ldr r3, [r1] - ldr r1, [r1, #8] - mov r0, r0, lsl #0x10 - str r3, [sp, #0x88] - str r2, [sp, #0x8c] - str r1, [sp, #0x90] - cmp r2, #0 - mov r5, r0, asr #0x10 - ble _02092c54 - ldr r0, [r4, #4] - ldr r0, [r0, #0x15c] - bl func_ov00_02087d84 - add r7, sp, #0x10c - mov ip, r0 - mov r6, #6 -_02092bb4: - ldmia ip!, {r0, r1, r2, r3} - stmia r7!, {r0, r1, r2, r3} - subs r6, r6, #1 - bne _02092bb4 - ldmia ip, {r0, r1} - stmia r7, {r0, r1} - ldr r1, [sp, #0x150] - ldr r0, [sp, #0x8c] - mov r1, r1, lsl #0xc - smull r3, r2, r1, r0 - adds r3, r3, #0x800 - adc r1, r2, #0 - mov r2, r3, lsr #0xc - orr r2, r2, r1, lsl #20 - add r1, r2, #0x800 - mov r1, r1, lsl #0x4 - ldr r2, [sp, #0x160] - mov r3, r1, asr #0x10 - cmp r2, r1, asr #16 - movlt r1, r2, lsl #0x10 - movlt r3, r1, asr #0x10 - ldr r1, [sp, #0x158] - sub r5, r5, r3 - umull r3, r2, r1, r0 - mov r6, r0, asr #0x1f - mla r2, r1, r6, r2 - mov r1, r1, asr #0x1f - mla r2, r1, r0, r2 - adds r3, r3, #0x800 - mov r0, r5, lsl #0x10 - mov r5, r0, asr #0x10 - adc r2, r2, #0 - mov r3, r3, lsr #0xc - ldr r1, [sp, #0x168] - orr r3, r3, r2, lsl #20 - cmp r3, r1 - ldr r0, [sp, #0x104] - movgt r3, r1 - add r0, r0, r3 - str r0, [sp, #0x104] -_02092c54: - mov r0, r4 - mov r1, r5 - bl func_ov00_02090bd8 - b _02092c8c -_02092c64: - mov r0, r4 - mov r1, r6 - bl func_ov00_02090bd8 - b _02092c8c -_02092c74: - bl func_ov00_02087d84 - ldr r1, [r0, #0x10] - mov r0, r4 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090bd8 -_02092c8c: - ldr r1, [r4, #4] - ldr r0, [r1, #0x15c] - cmp r0, #0x54 - cmpne r0, #0x57 - cmpne r0, #0x5b - ldr r0, [r1, #0x1b0] - bne _02092e10 - cmp r0, #0x1e - bgt _02092cf0 - rsb r1, r0, #0x1e - mov r0, r4 - mov r5, r1, lsl #0xc - bl func_ov00_02090a7c - ldr r2, [r0, #0x34] - cmp r5, #0x1000 - strle r2, [r4, #0x5c] - ble _02092d00 - ldr r0, [r4, #0x5c] - mov r1, r5 - sub r0, r2, r0 - bl Divide - ldr r1, [r4, #0x5c] - add r0, r1, r0 - str r0, [r4, #0x5c] - b _02092d00 -_02092cf0: - mov r0, r4 - bl func_ov00_02090a7c - ldr r0, [r0, #0x34] - str r0, [r4, #0x5c] -_02092d00: - ldr r1, [r4, #0x5c] - mov r0, r4 - bl func_ov00_02090c98 - ldr r0, [r4, #4] - ldrb r0, [r0, #0x2ed] - cmp r0, #0 - beq _02092fe4 - mov r0, r4 - bl func_ov00_02090f34 - add r0, sp, #0x100 - add r3, sp, #0x70 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldr r0, [r4, #4] - add r1, sp, #0x7c - add r0, r0, #0x2f0 - bl func_ov00_0208e6b0 - add r0, sp, #0x70 - add r3, sp, #0x64 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r3 - mov r2, r3 - add r1, sp, #0x7c - bl func_01ff9bf8 - add r0, sp, #0x64 - bl func_01fffb4c - add r0, sp, #0x64 - mov r1, #0x1800 - bl func_01fffbec - add r0, sp, #0x7c - add r1, sp, #0x64 - mov r2, r0 - bl func_01ff9bc4 - add r0, sp, #0x7c - add r1, sp, #0x70 - add r2, sp, #0x58 - bl func_01ff9bf8 - add r0, sp, #0x58 - bl func_01ff9cec - mov r5, r0 - cmp r5, #0x5000 - blt _02092df4 - ldr r2, [sp, #0x58] - ldr r1, [sp, #0x5c] - rsb r3, r2, #0 - rsb r2, r1, #0 - ldr r0, [sp, #0x60] - str r3, [sp, #0x58] - rsb r1, r0, #0 - add r0, sp, #0x58 - str r2, [sp, #0x5c] - str r1, [sp, #0x60] - bl func_01fffb4c - add r0, sp, #0x58 - sub r1, r5, #0x5000 - bl func_01fffbec - add r0, sp, #0x7c - add r1, sp, #0x58 - mov r2, r0 - bl func_01ff9bc4 -_02092df4: - ldr r2, [sp, #0x7c] - ldr r1, [sp, #0x80] - ldr r0, [sp, #0x84] - str r2, [sp, #0x100] - str r1, [sp, #0x104] - str r0, [sp, #0x108] - b _02092fe4 -_02092e10: - cmp r0, #0x1e - bgt _02092e58 - rsb r1, r0, #0x1e - mov r0, r4 - mov r5, r1, lsl #0xc - bl func_ov00_02090a7c - ldr r2, [r0, #0x34] - cmp r5, #0x1000 - strle r2, [r4, #0x5c] - ble _02092e60 - ldr r0, [r4, #0x5c] - mov r1, r5 - sub r0, r2, r0 - bl Divide - ldr r1, [r4, #0x5c] - add r0, r1, r0 - str r0, [r4, #0x5c] - b _02092e60 -_02092e58: - ldr r0, _020931ec ; =0x0000019a - str r0, [r4, #0x5c] -_02092e60: - ldr r1, [r4, #0x5c] - mov r0, r4 - bl func_ov00_02090c98 - ldr r0, [r4, #4] - ldrb r0, [r0, #0x2ed] - cmp r0, #0 - beq _02092f68 - mov r0, r4 - bl func_ov00_02090f34 - add r0, sp, #0x100 - add r3, sp, #0x40 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldr r0, [r4, #4] - add r1, sp, #0x4c - add r0, r0, #0x2f0 - bl func_ov00_0208e6b0 - ldr r1, [sp, #0x40] - add r0, sp, #0x4c - str r1, [r4, #0x34] - ldr r1, [sp, #0x44] - add r3, sp, #0x34 - str r1, [r4, #0x38] - ldr r1, [sp, #0x48] - str r1, [r4, #0x3c] - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r3 - mov r2, r3 - add r1, sp, #0x40 - bl func_01ff9bf8 - add r0, sp, #0x34 - mov r1, #0x800 - bl func_01fffbec - add r0, sp, #0x34 - bl func_01ff9cec - mov r5, r0 - ldr r0, _020931fc ; =0x00001ccd - cmp r5, r0 - blt _02092f28 - add r0, sp, #0x34 - mov r1, r0 - bl func_01ff9d4c - ldr r0, _02093200 ; =0xffffe333 - add r1, r5, r0 - rsb r0, r0, #0 - subs r1, r0, r1 - movmi r1, #0 - add r0, sp, #0x34 - bl func_01fffbec -_02092f28: - add r0, r4, #0x34 - add r1, sp, #0x34 - mov r2, r0 - bl func_01ff9bc4 - mov r0, #0x3c - str r0, [r4, #0x18] - ldr r0, [r4, #0x34] - ldr r1, _02093204 ; =0x000004cd - str r0, [sp, #0x100] - ldr r2, [r4, #0x38] - mov r0, r4 - str r2, [sp, #0x104] - ldr r2, [r4, #0x3c] - str r2, [sp, #0x108] - bl func_ov00_02090ca4 - b _02092fe4 -_02092f68: - ldr r0, [sp, #0x100] - str r0, [r4, #0x34] - ldr r0, [sp, #0x104] - str r0, [r4, #0x38] - ldr r0, [sp, #0x108] - str r0, [r4, #0x3c] - ldr r0, [r4, #0x18] - sub r0, r0, #1 - str r0, [r4, #0x18] - cmp r0, #0 - movle r0, #0 - strle r0, [r4, #0x18] - mov r0, r4 - bl func_ov00_02090aa0 - ldr r1, [r4, #0x18] - mov r5, r0 - mov r1, r1, lsl #0xc - cmp r1, #0x1000 - movle r1, #0x1000 - ble _02092fc4 - rsb r0, r5, #0x1000 - bl Divide - add r1, r5, r0 -_02092fc4: - mov r0, r4 - bl func_ov00_02090ca4 - ldr r0, [r4, #0x34] - str r0, [sp, #0x100] - ldr r0, [r4, #0x38] - str r0, [sp, #0x104] - ldr r0, [r4, #0x3c] - str r0, [sp, #0x108] -_02092fe4: - ldr r0, [r4, #4] - ldr r0, [r0, #0x15c] - cmp r0, #0x23 - bgt _02093004 - bge _020930b4 - cmp r0, #0x1d - beq _02093074 - b _020930d4 -_02093004: - cmp r0, #0x31 - bgt _02093014 - beq _0209309c - b _020930d4 -_02093014: - sub r0, r0, #0x46 - cmp r0, #0x13 - addls pc, pc, r0, lsl #2 - b _020930d4 -_02093024: ; jump table - b _02093074 ; case 0 - b _020930d4 ; case 1 - b _020930d4 ; case 2 - b _020930d4 ; case 3 - b _020930d4 ; case 4 - b _020930d4 ; case 5 - b _020930d4 ; case 6 - b _02093074 ; case 7 - b _020930d4 ; case 8 - b _020930d4 ; case 9 - b _0209309c ; case 10 - b _020930d4 ; case 11 - b _0209309c ; case 12 - b _0209309c ; case 13 - b _0209309c ; case 14 - b _020930d4 ; case 15 - b _020930d4 ; case 16 - b _020930d4 ; case 17 - b _02093074 ; case 18 - b _02093074 ; case 19 -_02093074: - ldr r0, [sp, #0x104] - cmp r0, #0x800 - movge r0, #0x800 - strge r0, [sp, #0x104] - mov r0, #0x1000 - ldr r1, [sp, #0x104] - rsb r0, r0, #0 - cmp r1, r0 - strle r0, [sp, #0x104] - b _020930d4 -_0209309c: - mov r0, #0x1000 - ldr r1, [sp, #0x104] - rsb r0, r0, #0 - cmp r1, r0 - strle r0, [sp, #0x104] - b _020930d4 -_020930b4: - ldr r0, _02093208 ; =data_027e0e60 - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_02082538Ev - add r3, sp, #0x28 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldr r0, [sp, #0x2c] - str r0, [sp, #0x104] -_020930d4: - mov r0, r4 - bl func_ov00_02090a7c - ldrb r0, [r0, #0x64] - cmp r0, #0 - beq _02093184 - add r0, sp, #0xc - str r0, [sp] - add r5, sp, #0x18 - add r1, sp, #0x1c - add r2, sp, #0x10 - add r3, sp, #0xe - mov r0, r4 - str r5, [sp, #4] - bl func_ov00_02093508 - ldr r5, [sp, #0x1c] - ldr r3, [sp, #0x20] - ldr r2, [sp, #0x24] - ldrsh r1, [sp, #0x10] - mov r0, r4 - str r5, [sp, #0x100] - str r3, [sp, #0x104] - str r2, [sp, #0x108] - bl func_ov00_02090bd8 - ldrsh r1, [sp, #0xe] - mov r0, r4 - bl func_ov00_02090be8 - ldrsh r1, [sp, #0xc] - mov r0, r4 - bl func_ov00_02090bc8 - ldr r1, [sp, #0x18] - mov r0, r4 - bl func_ov00_02090bf8 - ldrsh r1, [sp, #0x10] - mov r0, r4 - bl func_ov00_02090ab8 - ldrsh r1, [sp, #0xe] - mov r0, r4 - bl func_ov00_02090ac8 - ldrsh r1, [sp, #0xc] - mov r0, r4 - bl func_ov00_02090aac - ldr r1, [sp, #0x18] - mov r0, r4 - bl func_ov00_02090ad8 -_02093184: - add r1, sp, #0x100 - mov r0, r4 - bl func_ov00_02090e10 - add r1, sp, #0x100 - mov r0, r4 - bl func_ov00_02090c28 - mov r0, r4 - bl func_ov00_02090a7c - ldrb r0, [r0, #0x64] - cmp r0, #0 - beq _020931bc - add r1, sp, #0x100 - mov r0, r4 - bl func_ov00_02090b08 -_020931bc: - mov r0, r4 - bl func_ov00_02090f64 - mov r0, r4 - mov r1, #0 - bl func_ov00_02090f58 - add sp, sp, #0x174 - ldmia sp!, {r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end func_ov00_020924b8 -_020931d8: .word data_027e0f90 -_020931dc: .word data_027e0fa0 -_020931e0: .word data_027e0fac -_020931e4: .word 0x0000028f -_020931e8: .word data_ov00_020e2fa8 -_020931ec: .word 0x0000019a -_020931f0: .word 0x00000ccd -_020931f4: .word 0x00001388 -_020931f8: .word data_027e0f94 -_020931fc: .word 0x00001ccd -_02093200: .word 0xffffe333 -_02093204: .word 0x000004cd -_02093208: .word data_027e0e60 - - .global func_ov00_0209320c - arm_func_start func_ov00_0209320c -func_ov00_0209320c: ; 0x0209320c - stmdb sp!, {r3, r4, r5, r6, r7, lr} - sub sp, sp, #0x18 - mov r5, r2 - add r2, sp, #0xc - mov r6, r1 - mov r4, r0 - mov r7, r3 - bl func_01ff9bf8 - add r2, sp, #0 - mov r0, r5 - mov r1, r6 - bl func_01ff9bf8 - ldr r1, [sp, #0x38] - add r0, sp, #0 - bl func_01fffbec - add r0, sp, #0xc - bl func_01ff9cec - mov r6, r0 - add r0, sp, #0xc - add r1, sp, #0 - bl func_01ff9c2c - mov r1, r6 - bl Divide - mov r5, r0 - add r0, sp, #0xc - mov r1, r0 - bl func_01ff9d4c - ldr r3, [sp, #0x30] - sub r2, r7, r6 - smull lr, ip, r3, r2 - ldr r1, [sp, #0x34] - adds lr, lr, #0x800 - smull r3, r2, r1, r5 - adc r1, ip, #0 - mov ip, lr, lsr #0xc - adds r3, r3, #0x800 - orr ip, ip, r1, lsl #20 - adc r1, r2, #0 - mov r2, r3, lsr #0xc - orr r2, r2, r1, lsl #20 - ldr r1, [sp, #0x38] - add r2, ip, r2 - smull r3, r1, r2, r1 - adds r3, r3, #0x800 - adc r2, r1, #0 - mov r1, r3, lsr #0xc - add r0, sp, #0xc - orr r1, r1, r2, lsl #20 - bl func_01fffbec - mov r0, r4 - mov r2, r4 - add r1, sp, #0xc - bl func_01ff9bc4 - add sp, sp, #0x18 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0209320c - - .global func_ov00_020932e8 - arm_func_start func_ov00_020932e8 -func_ov00_020932e8: ; 0x020932e8 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #0x18 - mov r4, r0 - ldr r2, [r4, #4] - add r1, sp, #0xc - ldr r0, [r2, #0x26c] - str r0, [sp, #0xc] - ldr r0, [r2, #0x270] - str r0, [sp, #0x10] - ldr r0, [r2, #0x274] - str r0, [sp, #0x14] - ldr r0, [r4, #4] - bl func_ov00_02086ed4 - mov r5, r0 - add r1, sp, #0xc - mov r0, r4 - bl func_ov00_02090c28 - ldr r0, [r4, #4] - ldr r0, [r0, #0x1b0] - cmp r0, #0x1e - ble _02093348 - add r1, sp, #0xc - mov r0, r4 - bl func_ov00_02090b08 -_02093348: - cmp r5, #0 - addne sp, sp, #0x18 - ldmneia sp!, {r3, r4, r5, pc} - add r1, sp, #0 - mov r0, r4 - mov r2, #0 - bl func_ov00_020933d4 - ldr r2, [sp, #0xc] - ldr r0, [sp] - add r1, sp, #0xc - sub r0, r2, r0 - str r0, [r4, #0x1c] - ldr r3, [sp, #0x14] - ldr r2, [sp, #8] - mov r0, r4 - sub r2, r3, r2 - str r2, [r4, #0x24] - ldr r3, [sp, #0xc] - ldr r2, [sp] - sub r2, r3, r2 - str r2, [r4, #0x28] - ldr r3, [sp, #0x14] - ldr r2, [sp, #8] - sub r2, r3, r2 - str r2, [r4, #0x30] - bl func_ov00_02090b08 - add sp, sp, #0x18 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_020932e8 - - .global func_ov00_020933b8 - arm_func_start func_ov00_020933b8 -func_ov00_020933b8: ; 0x020933b8 - ldr r2, [r1, #8] - str r2, [r0, #0x40] - ldr r2, [r1, #0xc] - str r2, [r0, #0x44] - ldr r1, [r1, #0x10] - str r1, [r0, #0x48] - bx lr - arm_func_end func_ov00_020933b8 - - .global func_ov00_020933d4 - arm_func_start func_ov00_020933d4 -func_ov00_020933d4: ; 0x020933d4 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0xc - ldr r2, _02093500 ; =data_027e0f94 - mov r4, r1 - ldr r1, [r2] - str r1, [r4] - ldr r1, [r2, #4] - str r1, [r4, #4] - ldr r1, [r2, #8] - str r1, [r4, #8] - ldr r1, [r0, #4] - ldr r1, [r1, #0x15c] - cmp r1, #0x46 - bgt _0209344c - bge _0209348c - cmp r1, #0x16 - bgt _0209343c - cmp r1, #0x14 - addlt sp, sp, #0xc - ldmltia sp!, {r3, r4, pc} - cmpne r1, #0x15 - cmpne r1, #0x16 - ldreq r0, [r0, #0x40] - add sp, sp, #0xc - streq r0, [r4] - ldmia sp!, {r3, r4, pc} -_0209343c: - cmp r1, #0x23 - beq _020934c8 - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} -_0209344c: - cmp r1, #0x4e - bgt _0209347c - cmp r1, #0x4d - blt _0209346c - cmpne r1, #0x4e - beq _0209349c - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} -_0209346c: - cmp r1, #0x47 - beq _0209348c - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} -_0209347c: - cmp r1, #0x59 - beq _0209349c - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} -_0209348c: - ldr r0, [r0, #0x48] - add sp, sp, #0xc - str r0, [r4, #8] - ldmia sp!, {r3, r4, pc} -_0209349c: - ldr r0, [r0, #0x48] - ldr r1, [r4, #8] - cmp r1, r0 - addle sp, sp, #0xc - strle r0, [r4, #8] - ldmleia sp!, {r3, r4, pc} - add r0, r0, #0x1000 - cmp r1, r0 - add sp, sp, #0xc - strgt r0, [r4, #8] - ldmia sp!, {r3, r4, pc} -_020934c8: - ldr r0, _02093504 ; =data_027e0e60 - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_02082538Ev - add r3, sp, #0 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldr r0, [sp] - str r0, [r4] - ldr r0, [sp, #4] - str r0, [r4, #4] - ldr r0, [sp, #8] - str r0, [r4, #8] - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} - .align 2, 0 - arm_func_end func_ov00_020933d4 -_02093500: .word data_027e0f94 -_02093504: .word data_027e0e60 - - .global func_ov00_02093508 - arm_func_start func_ov00_02093508 -func_ov00_02093508: ; 0x02093508 - stmdb sp!, {r4, r5, r6, r7, r8, lr} - sub sp, sp, #0x80 - ldr r0, _020935f8 ; =data_027e0f64 - mov r7, r1 - ldr r0, [r0] - add r1, sp, #0x18 - ldr r4, [r0, #4] - mov r6, r2 - mov r0, r4 - mov r5, r3 - bl func_ov00_02087d34 - ldr r1, [r4, #0x260] - add r0, sp, #0 - str r1, [sp, #0xc] - ldr r2, [r4, #0x264] - add r1, sp, #0xc - str r2, [sp, #0x10] - ldr r3, [r4, #0x268] - mov r2, r0 - str r3, [sp, #0x14] - ldr r3, [r4, #0x26c] - str r3, [sp] - ldr r3, [r4, #0x270] - str r3, [sp, #4] - ldr r3, [r4, #0x274] - str r3, [sp, #8] - bl func_01ff9bf8 - add r0, r4, #0x200 - ldrsh r1, [r0, #0x26] - add r0, sp, #0 - rsb r1, r1, #0 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_020a61ac - ldr r1, [sp, #0x24] - add r0, sp, #0 - mov r8, r1, lsl #0x11 - mov r1, r8, asr #0x10 - bl func_ov00_020a6110 - add r0, r4, #0x200 - ldrsh r1, [r0, #0x26] - add r0, sp, #0 - bl func_ov00_020a61ac - mov r2, r7 - add r0, sp, #0xc - add r1, sp, #0 - bl func_01ff9bc4 - ldr r0, [sp, #0x28] - ldr r1, [sp, #0x98] - sub r0, r0, r8, asr #16 - strh r0, [r6] - ldr r2, [sp, #0x24] - ldr r0, [sp, #0x9c] - strh r2, [r1] - ldr r1, [sp, #0x2c] - strh r1, [r5] - ldr r1, [sp, #0x30] - str r1, [r0] - add sp, sp, #0x80 - ldmia sp!, {r4, r5, r6, r7, r8, pc} - .align 2, 0 - arm_func_end func_ov00_02093508 -_020935f8: .word data_027e0f64 - - .global func_ov00_020935fc - arm_func_start func_ov00_020935fc -func_ov00_020935fc: ; 0x020935fc - ldr r3, [r1] - str r3, [r0, #0x4c] - ldr r3, [r1, #4] - str r3, [r0, #0x50] - ldr r1, [r1, #8] - str r1, [r0, #0x54] - strh r2, [r0, #0x58] - bx lr - arm_func_end func_ov00_020935fc - - .global func_ov00_0209361c - arm_func_start func_ov00_0209361c -func_ov00_0209361c: ; 0x0209361c - bx lr - arm_func_end func_ov00_0209361c - - .global func_ov00_02093620 - arm_func_start func_ov00_02093620 -func_ov00_02093620: ; 0x02093620 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02093620 - - .global func_ov00_02093634 - arm_func_start func_ov00_02093634 -func_ov00_02093634: ; 0x02093634 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r6, r0 - mov r0, #0 - strh r0, [r6, #0x1c] - strh r0, [r6, #0x1e] - str r0, [r6, #0x18] - ldr r3, [r6, #4] - mov r5, r1 - ldr r0, [r3, #0x1c0] - mov r4, r2 - cmp r0, #3 - beq _02093670 - cmp r0, #0x10 - beq _02093680 - b _0209368c -_02093670: - ldr r0, [r3, #0x1d0] - mov r0, r0, lsl #0x10 - mov r7, r0, asr #0x10 - b _0209369c -_02093680: - ldr r0, _020936d4 ; =data_027e0fac - ldrsh r7, [r0] - b _0209369c -_0209368c: - ldr r0, [r3, #0x1d0] - sub r0, r0, #0x8000 - mov r0, r0, lsl #0x10 - mov r7, r0, asr #0x10 -_0209369c: - mov r0, r6 - mov r1, r7 - bl func_ov00_02090be8 - cmp r5, #0 - bne _020936bc - mov r0, r6 - mov r1, r7 - bl func_ov00_02090ac8 -_020936bc: - mov r0, r6 - mov r1, r5 - mov r2, r4 - mov r3, #0 - bl func_ov00_020908f8 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end func_ov00_02093634 -_020936d4: .word data_027e0fac - - .global func_ov00_020936d8 - arm_func_start func_ov00_020936d8 -func_ov00_020936d8: ; 0x020936d8 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0xc - mov r4, r0 - bl func_ov00_02090a7c - ldr r1, [r0, #0xc] - mov r0, r4 - mov r1, r1, lsl #0x10 - mov r1, r1, asr #0x10 - bl func_ov00_02090aac - mov r0, r4 - bl func_ov00_02090a7c - ldr r1, [r0, #0x20] - mov r0, r4 - bl func_ov00_02090ae4 - mov r0, r4 - bl func_ov00_02090a7c - ldr r1, [r0, #0x1c] - mov r0, r4 - bl func_ov00_02090af0 - mov r0, r4 - bl func_ov00_02090a7c - ldr r1, [r0, #0x18] - mov r0, r4 - bl func_ov00_02090bf8 - mov r0, r4 - bl func_ov00_02090a7c - ldr r1, [r0, #0x18] - mov r0, r4 - bl func_ov00_02090ad8 - ldr r1, _020937d4 ; =data_027e0f94 - mov r0, r4 - ldr r3, [r1] - ldr r2, [r1, #4] - str r3, [sp] - str r2, [sp, #4] - ldr r2, [r1, #8] - add r1, sp, #0 - str r2, [sp, #8] - bl func_ov00_02090e10 - mov r0, r4 - add r1, sp, #0 - bl func_ov00_02090c58 - mov r0, r4 - add r1, sp, #0 - bl func_ov00_02090b38 - ldr r0, [r4, #0x18] - cmp r0, #0 - addlt sp, sp, #0xc - ldmltia sp!, {r3, r4, pc} - ldrsh r1, [r4, #0x1c] - mov r0, r4 - bl func_ov00_02090d60 - ldrsh r1, [r4, #0x1c] - mov r0, r4 - bl func_ov00_02090cbc - ldrsh r1, [r4, #0x1e] - mov r0, r4 - bl func_ov00_02090dec - ldrsh r1, [r4, #0x1e] - mov r0, r4 - bl func_ov00_02090d48 - add sp, sp, #0xc - ldmia sp!, {r3, r4, pc} - .align 2, 0 - arm_func_end func_ov00_020936d8 -_020937d4: .word data_027e0f94 - - .global func_ov00_020937d8 - arm_func_start func_ov00_020937d8 -func_ov00_020937d8: ; 0x020937d8 - bx lr - arm_func_end func_ov00_020937d8 - - .global func_ov00_020937dc - arm_func_start func_ov00_020937dc -func_ov00_020937dc: ; 0x020937dc - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #0x10 - mov r5, r0 - ldr ip, [r5, #4] - mov r4, r1 - add r2, ip, #0x200 - ldrsh r3, [r2, #0x26] - add r1, sp, #4 - add r0, ip, #0x260 - str r3, [sp] - ldrsh r3, [r2, #0x24] - ldr r2, [ip, #0x23c] - bl func_0202b66c - add r1, sp, #4 - mov r0, r5 - bl func_ov00_02090b08 - ldr r2, [r5, #4] - mov r3, #0 - add r0, r2, #0x260 - add r1, r2, #0x278 - add r2, r2, #0x26c - str r4, [sp] - bl func_02005dcc - add sp, sp, #0x10 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_020937dc - - .global func_ov00_02093840 - arm_func_start func_ov00_02093840 -func_ov00_02093840: ; 0x02093840 - mov r1, #0 - strh r1, [r0, #0x1c] - strh r1, [r0, #0x1e] - str r1, [r0, #0x18] - bx lr - arm_func_end func_ov00_02093840 - - .global func_ov00_02093854 - arm_func_start func_ov00_02093854 -func_ov00_02093854: ; 0x02093854 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - rsb r2, r2, #0x60 - cmp r2, #3 - mov r5, r0 - sub r4, r1, #0x80 - addge r6, r2, #3 - bge _02093880 - mvn r0, #2 - cmp r2, r0 - suble r6, r2, #3 - movgt r6, #0 -_02093880: - cmp r4, #4 - subge r4, r4, #4 - bge _0209389c - mvn r0, #3 - cmp r4, r0 - addle r4, r4, #4 - movgt r4, #0 -_0209389c: - ldr r0, [r5, #0x18] - adds r0, r0, #1 - str r0, [r5, #0x18] - ldmmiia sp!, {r3, r4, r5, r6, r7, pc} - bl func_02002540 - mov r1, #0x3f800000 - mov r7, r0 - bl func_02001fb0 - mov r0, r5 - movhs r7, #0x3f800000 - bl func_ov00_02090a7c - ldr r0, [r0, #0x2c] - mul r0, r6, r0 - bl func_02002540 - mov r1, r0 - mov r0, r7 - bl func_02002588 - bl func_0200250c - strh r0, [r5, #0x1c] - mov r0, r5 - bl func_ov00_02090a7c - ldr r0, [r0, #0x30] - mul r0, r4, r0 - bl func_02002540 - mov r1, r0 - mov r0, r7 - bl func_02002588 - mov r1, r0 - mov r0, #0 - bl func_02002774 - bl func_0200250c - strh r0, [r5, #0x1e] - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_02093854 - - .global func_ov00_02093920 - arm_func_start func_ov00_02093920 -func_ov00_02093920: ; 0x02093920 - mov r1, #0 - strh r1, [r0, #0x1c] - strh r1, [r0, #0x1e] - str r1, [r0, #0x18] - bx lr - arm_func_end func_ov00_02093920 - - .global func_ov00_02093934 - arm_func_start func_ov00_02093934 -func_ov00_02093934: ; 0x02093934 - bx lr - arm_func_end func_ov00_02093934 - - .global func_ov00_02093938 - arm_func_start func_ov00_02093938 -func_ov00_02093938: ; 0x02093938 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02093938 - - .global func_ov00_0209394c - arm_func_start func_ov00_0209394c -func_ov00_0209394c: ; 0x0209394c - stmib r0, {r1, r2} - str r1, [r0] - bx lr - arm_func_end func_ov00_0209394c - - .global func_ov00_02093958 - arm_func_start func_ov00_02093958 -func_ov00_02093958: ; 0x02093958 - str r2, [r0, #0x14] - str r1, [r0, #0x10] - str r1, [r0, #0xc] - bx lr - arm_func_end func_ov00_02093958 - - .global func_ov00_02093968 - arm_func_start func_ov00_02093968 -func_ov00_02093968: ; 0x02093968 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #8 - mov r4, r1 - mov r1, #0x4c - mul r2, r4, r1 - ldr r1, _020939d4 ; =data_027e0ce0 - mov r5, r0 - ldr r1, [r1, #4] - add r0, r2, #8 - mov r2, #4 - bl func_0202e9f4 - cmp r0, #0 - beq _020939bc - ldr r1, _020939d8 ; =func_ov00_020939e0 - ldr ip, _020939dc ; =func_ov00_0207e940 - str r1, [sp] - mov r1, r4 - mov r2, #0x4c - mov r3, #8 - str ip, [sp, #4] - bl func_0204f558 -_020939bc: - str r0, [r5, #0x20] - mov r0, #0 - str r0, [r5, #0x1c] - str r4, [r5, #0x18] - add sp, sp, #8 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02093968 -_020939d4: .word data_027e0ce0 -_020939d8: .word func_ov00_020939e0 -_020939dc: .word func_ov00_0207e940 - - .global func_ov00_020939e0 - arm_func_start func_ov00_020939e0 -func_ov00_020939e0: ; 0x020939e0 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr ip, _02093a14 ; =func_ov00_0207e968 - ldr r3, _02093a18 ; =func_ov00_0207e96c - add r0, r4, #0x18 - mov r1, #3 - mov r2, #0x10 - str ip, [sp] - bl func_0204f614 - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - .align 2, 0 - arm_func_end func_ov00_020939e0 -_02093a14: .word func_ov00_0207e968 -_02093a18: .word func_ov00_0207e96c - - .global func_ov00_02093a1c - arm_func_start func_ov00_02093a1c -func_ov00_02093a1c: ; 0x02093a1c - ldr ip, [r1, #0x20] - mov r3, #0x4c - mla r3, r2, r3, ip - ldrh r2, [r3, #6] - ldr r1, [r1, #0x14] - ldr r1, [r1, r2, lsl #2] - str r1, [r0] - bx lr - arm_func_end func_ov00_02093a1c - - .global func_ov00_02093a3c - arm_func_start func_ov00_02093a3c -func_ov00_02093a3c: ; 0x02093a3c - ldr r2, [r2] - ldr r0, [r0, #0x14] - str r2, [r0, r1, lsl #2] - bx lr - arm_func_end func_ov00_02093a3c - - .global func_ov00_02093a4c - arm_func_start func_ov00_02093a4c -func_ov00_02093a4c: ; 0x02093a4c - ldr r1, [r1, #0x14] - ldr r1, [r1, r2, lsl #2] - str r1, [r0] - bx lr - arm_func_end func_ov00_02093a4c - - .global func_ov00_02093a5c - arm_func_start func_ov00_02093a5c -func_ov00_02093a5c: ; 0x02093a5c - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r3, [r5, #0x3c] - ldr r2, [r5, #0x38] - mov r4, r1 - cmp r3, r2 - movhs r0, #0 - ldmhsia sp!, {r3, r4, r5, pc} - bl func_01fff4c8 - cmp r0, #0 - movne r0, #0 - ldmneia sp!, {r3, r4, r5, pc} - ldr r0, [r5, #0x3c] - mov r1, #0 - mov r2, r1 - cmp r0, #0 - bls _02093ac8 - ldr r3, [r5, #0x40] -_02093aa4: - ldr r0, [r3, r2, lsl #2] - cmp r0, #0 - streq r4, [r3, r2, lsl #2] - moveq r1, #1 - beq _02093ac8 - ldr r0, [r5, #0x3c] - add r2, r2, #1 - cmp r2, r0 - blo _02093aa4 -_02093ac8: - cmp r1, #0 - bne _02093ae8 - ldr r1, [r5, #0x40] - ldr r0, [r5, #0x3c] - str r4, [r1, r0, lsl #2] - ldr r0, [r5, #0x3c] - add r0, r0, #1 - str r0, [r5, #0x3c] -_02093ae8: - mov r0, #1 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02093a5c - - .global func_ov00_02093af0 - arm_func_start func_ov00_02093af0 -func_ov00_02093af0: ; 0x02093af0 - ldr r2, [r0, #0x3c] - mov r3, #0 - cmp r2, #0 - bls _02093b50 - ldr ip, [r0, #0x40] -_02093b04: - ldr r2, [ip, r3, lsl #2] - cmp r2, r1 - bne _02093b40 - mov r1, #0 - str r1, [ip, r3, lsl #2] - ldr r1, [r0, #0x3c] - sub r1, r1, #1 - cmp r3, r1 - bne _02093b38 - ldr r1, [r0, #0x3c] - cmp r1, #0 - subne r1, r1, #1 - strne r1, [r0, #0x3c] -_02093b38: - mov r0, #1 - bx lr -_02093b40: - ldr r2, [r0, #0x3c] - add r3, r3, #1 - cmp r3, r2 - blo _02093b04 -_02093b50: - mov r0, #0 - bx lr - arm_func_end func_ov00_02093af0 - - .global func_ov00_02093b58 - arm_func_start func_ov00_02093b58 -func_ov00_02093b58: ; 0x02093b58 - stmdb sp!, {r4, r5, r6, r7, r8, lr} - sub sp, sp, #0x50 - mov r6, r3 - ldr ip, _02093c94 ; =func_ov00_0207e968 - mov r4, r0 - mov r8, r1 - mov r7, r2 - ldr r3, _02093c98 ; =func_ov00_0207e96c - add r0, sp, #0x1c - mov r1, #3 - mov r2, #0x10 - add r5, sp, #4 - str ip, [sp] - bl func_0204f614 - mov r0, r5 - strh r8, [r5] - str r4, [r5, #0x48] - strh r7, [r5, #2] - strh r6, [r5, #4] - bl func_ov00_0208e514 - ldrh r1, [sp, #0x68] - mov r0, #0x4c - ldrh r2, [sp, #4] - strh r1, [sp, #0xa] - ldr r3, [r4, #0x1c] - ldrh r1, [sp, #6] - mul r0, r3, r0 - ldr ip, [r4, #0x20] - ldr r3, _02093c94 ; =func_ov00_0207e968 - strh r2, [ip, r0] - add ip, ip, r0 - strh r1, [ip, #2] - ldrh r2, [sp, #8] - add r0, sp, #0x1c - mov r1, #3 - strh r2, [ip, #4] - ldrh lr, [sp, #0xa] - mov r2, #0x10 - strh lr, [ip, #6] - ldr lr, [sp, #0xc] - str lr, [ip, #8] - ldr lr, [sp, #0x10] - str lr, [ip, #0xc] - ldr lr, [sp, #0x14] - str lr, [ip, #0x10] - ldr lr, [sp, #0x18] - str lr, [ip, #0x14] - ldr lr, [sp, #0x1c] - str lr, [ip, #0x18] - ldr lr, [sp, #0x20] - str lr, [ip, #0x1c] - ldr lr, [sp, #0x24] - str lr, [ip, #0x20] - ldr lr, [sp, #0x28] - str lr, [ip, #0x24] - ldr lr, [sp, #0x2c] - str lr, [ip, #0x28] - ldr lr, [sp, #0x30] - str lr, [ip, #0x2c] - ldr lr, [sp, #0x34] - str lr, [ip, #0x30] - ldr lr, [sp, #0x38] - str lr, [ip, #0x34] - ldr lr, [sp, #0x3c] - str lr, [ip, #0x38] - ldr lr, [sp, #0x40] - str lr, [ip, #0x3c] - ldr lr, [sp, #0x44] - str lr, [ip, #0x40] - ldr lr, [sp, #0x48] - str lr, [ip, #0x44] - ldr lr, [sp, #0x4c] - str lr, [ip, #0x48] - ldr ip, [r4, #0x1c] - add ip, ip, #1 - str ip, [r4, #0x1c] - bl func_0204f754 - add sp, sp, #0x50 - ldmia sp!, {r4, r5, r6, r7, r8, pc} - .align 2, 0 - arm_func_end func_ov00_02093b58 -_02093c94: .word func_ov00_0207e968 -_02093c98: .word func_ov00_0207e96c - - .global func_ov00_02093c9c - arm_func_start func_ov00_02093c9c -func_ov00_02093c9c: ; 0x02093c9c - stmdb sp!, {r4, lr} - ldr r1, _02093cd0 ; =data_027e0f84 - mov r4, r0 - ldr r1, [r1] - mov r0, #0x74 - ldr r1, [r1] - mov r2, #4 - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - ldmeqia sp!, {r4, pc} - mov r1, r4 - bl func_ov00_02093cd4 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_02093c9c -_02093cd0: .word data_027e0f84 - - .global func_ov00_02093cd4 - arm_func_start func_ov00_02093cd4 -func_ov00_02093cd4: ; 0x02093cd4 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_0208b5bc - mov r1, #0 - ldr r2, _02093d7c ; =data_ov00_020e26b4 - ldr r0, _02093d80 ; =data_ov00_020e2f04 - str r2, [r4] - str r0, [r4, #0x38] - mov ip, #1 - strb ip, [r4, #0x3c] - strb r1, [r4, #0x3d] - str r1, [r4, #0x40] - str r1, [r4, #0x44] - ldr r2, _02093d84 ; =data_ov00_020e2dd8 - str r1, [r4, #0x48] - ldr r0, _02093d88 ; =data_ov00_020e2d44 - str r2, [r4, #0x38] - str r0, [r4] - strb r1, [r4, #0x64] - mov r2, r1 - mov r3, r1 - add r0, r4, #0x68 - strb ip, [r4, #0x65] - blx func_ov00_020bd618 - ldr r0, _02093d8c ; =data_027e0d38 - ldr r0, [r0] - add r0, r0, #0xc - bl func_ov00_020a5e9c - cmp r0, #0x29 - bne _02093d74 - ldr r0, _02093d90 ; =data_027e0f68 - mov r1, #0xe4 - ldr r0, [r0] - mov r2, #0 - bl func_ov00_0208ccdc - mov r1, r0 - add r0, r4, #0x68 - ldr r2, [r0] - ldr r2, [r2, #0xc] - blx r2 -_02093d74: - mov r0, r4 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_02093cd4 -_02093d7c: .word data_ov00_020e26b4 -_02093d80: .word data_ov00_020e2f04 -_02093d84: .word data_ov00_020e2dd8 -_02093d88: .word data_ov00_020e2d44 -_02093d8c: .word data_027e0d38 -_02093d90: .word data_027e0f68 - - .global func_ov00_02093d94 - arm_func_start func_ov00_02093d94 -func_ov00_02093d94: ; 0x02093d94 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02094824 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02093d94 - - .global func_ov00_02093da8 - arm_func_start func_ov00_02093da8 -func_ov00_02093da8: ; 0x02093da8 - stmdb sp!, {r4, lr} - mov r4, r0 - add r0, r4, #0x68 - blx func_ov00_020b3ea8 - add r0, r4, #0x38 - bl func_ov00_02094824 - mov r0, r4 - bl func_ov00_0208b5a4 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02093da8 - - .global func_ov00_02093dd0 - arm_func_start func_ov00_02093dd0 -func_ov00_02093dd0: ; 0x02093dd0 - stmdb sp!, {r4, lr} - mov r4, r0 - add r0, r4, #0x68 - blx func_ov00_020b3ea8 - add r0, r4, #0x38 - bl func_ov00_02094824 - mov r0, r4 - bl func_ov00_0208b5a4 - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02093dd0 - - .global func_ov00_02093e00 - arm_func_start func_ov00_02093e00 -func_ov00_02093e00: ; 0x02093e00 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x70 - mov r10, r0 - ldr r1, [r10, #4] - ldr r0, _020940cc ; =data_027e0e60 - orr r1, r1, #0x800 - str r1, [r10, #4] - ldr r2, [r10, #0x18] - add r1, sp, #8 - add r2, r2, #0x800 - str r2, [r10, #0x18] - ldrb r3, [r10, #0x15] - ldrb r2, [r10, #0x14] - ldr r0, [r0] - strb r2, [sp, #8] - strb r3, [sp, #9] - bl _ZN10MapManager16MapData_vfunc_60Ev - str r0, [r10, #0x1c] - ldr r0, [r10, #0x20] - add r0, r0, #0x800 - str r0, [r10, #0x20] - ldrh r0, [r10, #0x24] - cmp r0, #1 - bne _02093e70 - ldr r0, [r10, #0x1c] - add r0, r0, #0x66 - add r0, r0, #0x2600 - str r0, [r10, #0x1c] -_02093e70: - add r4, r10, #0x18 - ldmia r4, {r0, r1, r2} - add r5, sp, #0x64 - stmia r5, {r0, r1, r2} - ldmia r4, {r0, r1, r2} - ldr r4, _020940d0 ; =0x00000e66 - add r3, sp, #0x58 - stmia r3, {r0, r1, r2} - mov r3, #0 - add r1, sp, #0x34 - mov r0, r5 - mov r2, r5 - str r4, [sp, #0x34] - str r3, [sp, #0x38] - str r4, [sp, #0x3c] - bl func_01ff9bf8 - mov r3, r4 - add r2, r3, #0x1800 - add r0, sp, #0x58 - str r2, [sp, #0x2c] - add r1, sp, #0x28 - mov r2, r0 - str r3, [sp, #0x28] - str r3, [sp, #0x30] - bl func_01ff9bc4 - mov r0, #0 - bic r0, r0, #0x1f - orr r1, r0, #7 - ldrh r0, [r10, #0x26] - orr r1, r1, #0x10c00000 - bic r1, r1, #0x6000 - ldrh r4, [r10, #0x2a] - bic r1, r1, #0x3f0000 - and r0, r0, #0xff - orr r0, r1, r0, lsl #16 - str r0, [sp, #0xc] - cmp r4, #0 - beq _02093f80 - ldr r0, _020940d4 ; =gAdventureFlags - mov r1, r4 - ldr r0, [r0] - bl _ZN14AdventureFlags20Get_FlagsUnk_30_FlagEi - cmp r0, #0 - bne _02093f80 - mov r5, #0 - sub r3, r5, #2 - mov r6, #0x47 - mov r2, #0xff - add r1, sp, #0x40 - mov r0, r4 - str r6, [sp, #0x40] - str r5, [sp, #0x44] - str r5, [sp, #0x48] - str r3, [sp, #0x4c] - strh r5, [sp, #0x50] - strb r2, [sp, #0x52] - strb r5, [sp, #0x53] - strb r5, [sp, #0x54] - strb r5, [sp, #0x55] - bl _ZN14AdventureFlags15Get_FlagsUnk_00EiP9FlagsUnk2 - ldr r0, _020940cc ; =data_027e0e60 - add r1, sp, #0x40 - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_020838f8EPi - ldr r1, [sp, #0xc] - bic r1, r1, #0x3f0000 - orr r0, r1, r0, lsl #16 - str r0, [sp, #0xc] -_02093f80: - add r0, sp, #0x64 - add r3, sp, #0x10 - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - add r0, sp, #0x58 - add r3, sp, #0x1c - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r10 - bl func_ov00_0208b9cc - mov r1, #0 - mov r2, r0 - str r1, [sp] - add r0, r10, #0x38 - ldr r4, [r0] - ldr r3, [sp, #0xc] - ldr r4, [r4, #0x14] - add r1, sp, #0x10 - blx r4 - ldrb r8, [r10, #0x14] - add r0, r8, #2 - cmp r8, r0 - bge _0209406c - ldr r4, _020940cc ; =data_027e0e60 - add r6, sp, #6 - mov r5, #1 - add r11, sp, #4 -_02093fec: - ldrb r9, [r10, #0x15] - add r0, r9, #2 - cmp r9, r0 - bge _02094058 - and r7, r8, #0xff -_02094000: - ldr r0, [r4] - mov r1, r6 - mov r2, r5 - strb r7, [sp, #6] - strb r9, [sp, #7] - bl _ZN10MapManager18func_ov00_02082680Eii - ldr r0, [r4] - mov r1, r11 - mov r2, #1 - strb r7, [sp, #4] - strb r9, [sp, #5] - bl _ZN10MapManager18func_ov00_020826a0Eiii - ldr r0, [r4] - mov r1, r8 - mov r2, r9 - mov r3, #9 - bl _ZN10MapManager18func_ov00_02084d24Ecci - ldrb r0, [r10, #0x15] - add r9, r9, #1 - add r0, r0, #2 - cmp r9, r0 - blt _02094000 -_02094058: - ldrb r0, [r10, #0x14] - add r8, r8, #1 - add r0, r0, #2 - cmp r8, r0 - blt _02093fec -_0209406c: - ldrb r0, [r10, #0x2e] - cmp r0, #0 - beq _0209408c - mov r0, r10 - mov r1, #0 - bl func_ov00_0208b9e4 - cmp r0, #0 - beq _020940ac -_0209408c: - mov r0, r10 - ldr r3, [r0] - mov r1, #1 - ldr r3, [r3, #0x80] - mov r2, r1 - blx r3 - add sp, sp, #0x70 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} -_020940ac: - mov r0, r10 - ldr r3, [r0] - mov r1, #0 - ldr r3, [r3, #0x80] - mov r2, #1 - blx r3 - add sp, sp, #0x70 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_02093e00 -_020940cc: .word data_027e0e60 -_020940d0: .word 0x00000e66 -_020940d4: .word gAdventureFlags - - .global func_ov00_020940d8 - arm_func_start func_ov00_020940d8 -func_ov00_020940d8: ; 0x020940d8 - stmdb sp!, {r3, lr} - ldr lr, [r1] - ldr ip, [sp, #8] - str lr, [r0, #0x14] - ldr lr, [r1, #4] - str lr, [r0, #0x18] - ldr lr, [r1, #8] - str lr, [r0, #0x1c] - ldr lr, [r1, #0xc] - str lr, [r0, #0x20] - ldr lr, [r1, #0x10] - str lr, [r0, #0x24] - ldr r1, [r1, #0x14] - str r1, [r0, #0x28] - str r2, [r0, #8] - str r3, [r0, #0xc] - str ip, [r0, #0x10] - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020940d8 - - .global func_ov00_02094120 - arm_func_start func_ov00_02094120 -func_ov00_02094120: ; 0x02094120 - stmdb sp!, {r4, lr} - ldr r2, [r0] - mov r4, r0 - ldr r2, [r2, #0x84] - blx r2 - cmp r0, #0 - ldmeqia sp!, {r4, pc} - ldr r0, [r4, #8] - cmp r0, #0 - beq _02094158 - cmp r0, #1 - beq _02094188 - cmp r0, #2 - b _02094198 -_02094158: - mov r0, r4 - mov r1, #0 - bl func_ov00_0208b9e4 - cmp r0, #0 - beq _02094198 - mov r0, r4 - ldr r3, [r0] - mov r1, #1 - ldr r3, [r3, #0x80] - mov r2, #0 - blx r3 - b _02094198 -_02094188: - ldrb r0, [r4, #0x65] - cmp r0, #0 - moveq r0, #1 - streqb r0, [r4, #0x64] -_02094198: - mov r0, #0 - strb r0, [r4, #0x65] - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02094120 - - .global func_ov00_020941a4 - arm_func_start func_ov00_020941a4 -func_ov00_020941a4: ; 0x020941a4 - str r1, [r0, #8] - cmp r1, #0 - beq _020941c8 - cmp r1, #1 - beq _020941d8 - cmp r1, #2 - moveq r1, #0 - streqb r1, [r0, #0x3c] - b _020941e4 -_020941c8: - ldr r1, [r0, #4] - bic r1, r1, #8 - str r1, [r0, #4] - b _020941e4 -_020941d8: - ldr r1, [r0, #4] - orr r1, r1, #8 - str r1, [r0, #4] -_020941e4: - mov r0, #1 - bx lr - arm_func_end func_ov00_020941a4 - - .global func_ov00_020941ec - arm_func_start func_ov00_020941ec -func_ov00_020941ec: ; 0x020941ec - ldr r2, [r0, #8] - cmp r2, #1 - movne r0, #1 - bxne lr - cmp r1, #0 - bne _02094214 - mov r1, #1 - strb r1, [r0, #0x65] - mov r0, r1 - bx lr -_02094214: - mov r0, #1 - bx lr - arm_func_end func_ov00_020941ec - - .global func_ov00_0209421c - arm_func_start func_ov00_0209421c -func_ov00_0209421c: ; 0x0209421c - stmdb sp!, {r4, lr} - sub sp, sp, #0xd0 - mov r4, r0 - ldrh r0, [r4, #0x28] - cmp r0, #1 - addeq sp, sp, #0xd0 - ldmeqia sp!, {r4, pc} - ldr r0, _020947e4 ; =data_027e0d38 - ldr r0, [r0] - add r0, r0, #0xc - bl func_ov00_020a5e9c - cmp r0, #0x29 - ldreqh r0, [r4, #0x24] - cmpeq r0, #0 - bne _02094288 - ldrsh r1, [r4, #0xc] - mov r0, #0x4000 - rsb r0, r0, #0 - cmp r1, r0 - bne _02094288 - add r0, r4, #0x68 - ldr r2, [r0] - add r1, r4, #0x18 - ldr r2, [r2, #0x18] - blx r2 - add sp, sp, #0xd0 - ldmia sp!, {r4, pc} -_02094288: - mov r1, #0 - mov r2, r1 - mov r0, #0x11 - bl func_01ffa9fc - ldr r1, _020947e8 ; =data_ov00_020ec9d6 - ldr r0, _020947ec ; =data_ov00_020ec9d4 - ldrh r3, [r1] - ldrh r2, [r0] - add r1, sp, #0x54 - mov r0, #0x30 - orr r2, r3, r2, lsl #16 - orr r3, r2, #0x8000 - mov r2, #1 - str r3, [sp, #0x54] - bl func_01ffa9fc - ldr r0, _020947f0 ; =0x00004210 - add r1, sp, #0x50 - str r0, [sp, #0x50] - mov r0, #0x31 - mov r2, #1 - bl func_01ffa9fc - ldrh r0, [r4, #0x24] - cmp r0, #1 - bne _0209437c - ldr r1, [r4, #0x1c] - ldr r0, _020947f4 ; =0xffffeccd - ldr r3, [r4, #0x20] - ldr r2, [r4, #0x18] - add r0, r1, r0 - str r2, [sp, #0xc4] - str r0, [sp, #0xc8] - add r1, sp, #0xc4 - str r3, [sp, #0xcc] - mov r0, #0x1c - mov r2, #3 - bl func_01ffa9fc - ldrh r1, [r4, #0xc] - ldr r3, _020947f8 ; =data_02050f54 - add r0, sp, #0xa0 - mov r1, r1, asr #0x4 - mov r2, r1, lsl #0x1 - add r1, r2, #1 - mov ip, r2, lsl #0x1 - mov r2, r1, lsl #0x1 - ldrsh r1, [r3, ip] - ldrsh r2, [r3, r2] - blx func_01ff8214 - add r1, sp, #0xa0 - mov r0, #0x1a - mov r2, #9 - bl func_01ffa9fc - mov r3, #0x2000 - ldr r2, _020947fc ; =0x00002666 - add r1, sp, #0x94 - str r2, [sp, #0x98] - mov r0, #0x1b - mov r2, #3 - str r3, [sp, #0x94] - str r3, [sp, #0x9c] - bl func_01ffa9fc - b _0209440c -_0209437c: - ldr r0, [r4, #0x1c] - ldr r3, [r4, #0x20] - ldr r2, [r4, #0x18] - add r0, r0, #0x33 - add r0, r0, #0x1300 - str r2, [sp, #0x88] - str r0, [sp, #0x8c] - add r1, sp, #0x88 - str r3, [sp, #0x90] - mov r0, #0x1c - mov r2, #3 - bl func_01ffa9fc - ldrh r1, [r4, #0xc] - ldr r3, _020947f8 ; =data_02050f54 - add r0, sp, #0x64 - mov r1, r1, asr #0x4 - mov r2, r1, lsl #0x1 - add r1, r2, #1 - mov ip, r2, lsl #0x1 - mov r2, r1, lsl #0x1 - ldrsh r1, [r3, ip] - ldrsh r2, [r3, r2] - blx func_01ff8214 - add r1, sp, #0x64 - mov r0, #0x1a - mov r2, #9 - bl func_01ffa9fc - mov r3, #0x2000 - ldr r2, _020947fc ; =0x00002666 - add r1, sp, #0x58 - str r2, [sp, #0x5c] - mov r0, #0x1b - mov r2, #3 - str r3, [sp, #0x58] - str r3, [sp, #0x60] - bl func_01ffa9fc -_0209440c: - ldrh r0, [r4, #0x24] - cmp r0, #1 - bne _02094478 - ldr r0, _02094800 ; =data_027e0d44 - add r1, sp, #0x4c - ldr r2, [r0] - mov r0, #0x2a - ldr r3, [r2, #0x40] - mov r2, #1 - mov r3, r3, lsl #0x10 - mov r3, r3, lsr #0x10 - bic r3, r3, #0xe0000000 - orr r3, r3, #0x5b00000 - orr r3, r3, #0x30000000 - str r3, [sp, #0x4c] - bl func_01ffa9fc - ldr r0, _02094800 ; =data_027e0d44 - add r1, sp, #0x48 - ldr r2, [r0] - mov r0, #0x2b - ldr r3, [r2, #0x44] - mov r2, #1 - mov r3, r3, lsl #0x10 - mov r3, r3, lsr #0x11 - str r3, [sp, #0x48] - bl func_01ffa9fc - b _020944d4 -_02094478: - ldr r0, _02094800 ; =data_027e0d44 - add r1, sp, #0x44 - ldr r2, [r0] - mov r0, #0x2a - ldr r3, [r2, #0x38] - mov r2, #1 - mov r3, r3, lsl #0x10 - mov r3, r3, lsr #0x10 - bic r3, r3, #0xe0000000 - orr r3, r3, #0x320000 - orr r3, r3, #0x36000000 - str r3, [sp, #0x44] - bl func_01ffa9fc - ldr r0, _02094800 ; =data_027e0d44 - add r1, sp, #0x40 - ldr r2, [r0] - mov r0, #0x2b - ldr r3, [r2, #0x3c] - mov r2, #1 - mov r3, r3, lsl #0x10 - mov r3, r3, lsr #0x11 - str r3, [sp, #0x40] - bl func_01ffa9fc -_020944d4: - ldr r0, _02094804 ; =0x001f0081 - add r1, sp, #0x3c - str r0, [sp, #0x3c] - mov r0, #0x29 - mov r2, #1 - bl func_01ffa9fc - ldrh r0, [r4, #0x24] - mov r2, #1 - cmp r0, #1 - bne _0209455c - add r1, sp, #0x38 - mov r0, #0x40 - str r2, [sp, #0x38] - bl func_01ffa9fc - mov r0, #6 - str r0, [sp] - mov r2, #1 - str r2, [sp, #4] - mov r0, #0 - str r0, [sp, #8] - str r0, [sp, #0xc] - mov r1, #0x40 - str r1, [sp, #0x10] - mov ip, #0x80 - mov r0, r4 - mov r1, #2 - mov r3, #5 - str ip, [sp, #0x14] - bl func_ov00_0208c2d4 - mov r1, #0 - mov r2, r1 - mov r0, #0x41 - bl func_01ffa9fc - b _020945b8 -_0209455c: - add r1, sp, #0x34 - mov r0, #0x40 - str r2, [sp, #0x34] - bl func_01ffa9fc - mov r0, #6 - str r0, [sp] - mov r2, #1 - str r2, [sp, #4] - mov r0, #0 - str r0, [sp, #8] - str r0, [sp, #0xc] - mov r1, #0x40 - str r1, [sp, #0x10] - mov ip, #0x80 - mov r0, r4 - mov r1, #2 - mov r3, #5 - str ip, [sp, #0x14] - bl func_ov00_0208c2d4 - mov r1, #0 - mov r2, r1 - mov r0, #0x41 - bl func_01ffa9fc -_020945b8: - ldr r0, _02094800 ; =data_027e0d44 - add r1, sp, #0x30 - ldr r2, [r0] - mov r0, #0x2a - ldr r3, [r2, #0x30] - mov r2, #1 - mov r3, r3, lsl #0x10 - mov r3, r3, lsr #0x10 - bic r3, r3, #0xe0000000 - orr r3, r3, #0x5200000 - orr r3, r3, #0x30000000 - str r3, [sp, #0x30] - bl func_01ffa9fc - ldr r0, _02094800 ; =data_027e0d44 - add r1, sp, #0x2c - ldr r2, [r0] - mov r0, #0x2b - ldr r3, [r2, #0x34] - mov r2, #1 - mov r3, r3, lsl #0x10 - mov r3, r3, lsr #0x11 - str r3, [sp, #0x2c] - bl func_01ffa9fc - ldrh r0, [r4, #0x24] - cmp r0, #1 - bne _020946d4 - ldr r0, _020947e4 ; =data_027e0d38 - ldr r0, [r0] - bl func_ov00_02078b40 - cmp r0, #4 - beq _020947c8 - mov r3, #0 - add r1, sp, #0x28 - mov r0, #0x40 - mov r2, #1 - str r3, [sp, #0x28] - bl func_01ffa9fc - mov r0, #2 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - str r0, [sp, #8] - str r0, [sp, #0xc] - mov ip, #0x20 - str ip, [sp, #0x10] - str ip, [sp, #0x14] - mov r0, r4 - mov r1, #5 - mov r2, #4 - mov r3, #6 - str ip, [sp, #0x18] - bl func_ov00_0208c280 - mov r0, #3 - str r0, [sp] - mov r2, #0 - str r2, [sp, #4] - str r2, [sp, #8] - str r2, [sp, #0xc] - mov ip, #0x20 - str ip, [sp, #0x10] - str ip, [sp, #0x14] - mov r0, r4 - mov r1, #2 - mov r3, #1 - str ip, [sp, #0x18] - bl func_ov00_0208c280 - mov r1, #0 - mov r2, r1 - mov r0, #0x41 - bl func_01ffa9fc - b _020947c8 -_020946d4: - mov r3, #0 - add r1, sp, #0x24 - mov r0, #0x40 - mov r2, #1 - str r3, [sp, #0x24] - bl func_01ffa9fc - mov r2, #5 - str r2, [sp] - mov r0, #0 - str r0, [sp, #4] - str r0, [sp, #8] - str r0, [sp, #0xc] - mov ip, #0x20 - str ip, [sp, #0x10] - str ip, [sp, #0x14] - mov r0, r4 - mov r1, #6 - mov r3, #7 - str ip, [sp, #0x18] - bl func_ov00_0208c280 - mov r3, #2 - str r3, [sp] - mov r0, #0 - str r0, [sp, #4] - str r0, [sp, #8] - str r0, [sp, #0xc] - mov ip, #0x20 - str ip, [sp, #0x10] - str ip, [sp, #0x14] - mov r0, r4 - mov r1, #3 - mov r2, #1 - str ip, [sp, #0x18] - bl func_ov00_0208c280 - mov r1, #0 - mov r0, #0x41 - mov r2, r1 - bl func_01ffa9fc - mov r2, #1 - mov r0, #0x40 - add r1, sp, #0x20 - str r2, [sp, #0x20] - bl func_01ffa9fc - mov r1, #3 - str r1, [sp] - str r1, [sp, #4] - mov r1, #0 - str r1, [sp, #8] - str r1, [sp, #0xc] - mov r1, #0x20 - str r1, [sp, #0x10] - str r1, [sp, #0x14] - mov r0, r4 - mov r1, #7 - mov r2, #5 - mov r3, #1 - bl func_ov00_0208c2d4 - mov r1, #0 - mov r0, #0x41 - mov r2, r1 - bl func_01ffa9fc -_020947c8: - mov r2, #1 - add r1, sp, #0x1c - mov r0, #0x12 - str r2, [sp, #0x1c] - bl func_01ffa9fc - add sp, sp, #0xd0 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0209421c -_020947e4: .word data_027e0d38 -_020947e8: .word data_ov00_020ec9d6 -_020947ec: .word data_ov00_020ec9d4 -_020947f0: .word 0x00004210 -_020947f4: .word 0xffffeccd -_020947f8: .word data_02050f54 -_020947fc: .word 0x00002666 -_02094800: .word data_027e0d44 -_02094804: .word 0x001f0081 - - .global func_ov00_02094808 - arm_func_start func_ov00_02094808 -func_ov00_02094808: ; 0x02094808 - mov r0, #0x1a - bx lr - arm_func_end func_ov00_02094808 - - .global func_ov00_02094810 - arm_func_start func_ov00_02094810 -func_ov00_02094810: ; 0x02094810 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02094810 - - .global func_ov00_02094824 - arm_func_start func_ov00_02094824 -func_ov00_02094824: ; 0x02094824 - bx lr - arm_func_end func_ov00_02094824 - - .global func_ov00_02094828 - arm_func_start func_ov00_02094828 -func_ov00_02094828: ; 0x02094828 - bx lr - arm_func_end func_ov00_02094828 - - .global func_ov00_0209482c - arm_func_start func_ov00_0209482c -func_ov00_0209482c: ; 0x0209482c - bx lr - arm_func_end func_ov00_0209482c - - .global func_ov00_02094830 - arm_func_start func_ov00_02094830 -func_ov00_02094830: ; 0x02094830 - bx lr - arm_func_end func_ov00_02094830 - - .global func_ov00_02094834 - arm_func_start func_ov00_02094834 -func_ov00_02094834: ; 0x02094834 - bx lr - arm_func_end func_ov00_02094834 - - .global func_ov00_02094838 - arm_func_start func_ov00_02094838 -func_ov00_02094838: ; 0x02094838 - bx lr - arm_func_end func_ov00_02094838 - - .global func_ov00_0209483c - arm_func_start func_ov00_0209483c -func_ov00_0209483c: ; 0x0209483c - bx lr - arm_func_end func_ov00_0209483c - - .global func_ov00_02094840 - arm_func_start func_ov00_02094840 -func_ov00_02094840: ; 0x02094840 - bx lr - arm_func_end func_ov00_02094840 - - .global func_ov00_02094844 - arm_func_start func_ov00_02094844 -func_ov00_02094844: ; 0x02094844 - bx lr - arm_func_end func_ov00_02094844 - - .global func_ov00_02094848 - arm_func_start func_ov00_02094848 -func_ov00_02094848: ; 0x02094848 - bx lr - arm_func_end func_ov00_02094848 - - .global func_ov00_0209484c - arm_func_start func_ov00_0209484c -func_ov00_0209484c: ; 0x0209484c - stmdb sp!, {r3, lr} - ldr r0, [r0, #0x10] - cmp r0, #0 - moveq r0, #1 - ldmeqia sp!, {r3, pc} - cmp r3, #0 - ldr r3, [r0] - beq _02094878 - ldr r3, [r3, #8] - blx r3 - ldmia sp!, {r3, pc} -_02094878: - ldr r3, [r3, #0xc] - blx r3 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0209484c - - .global func_ov00_02094884 - arm_func_start func_ov00_02094884 -func_ov00_02094884: ; 0x02094884 - stmdb sp!, {r3} - sub sp, sp, #4 - ldr r2, [r0, #0xc] - bic r2, r2, #0x6000 - orr r1, r2, r1, lsl #13 - str r1, [r0, #0xc] - add sp, sp, #4 - ldmia sp!, {r3} - bx lr - arm_func_end func_ov00_02094884 - - .global func_ov00_020948a8 - arm_func_start func_ov00_020948a8 -func_ov00_020948a8: ; 0x020948a8 - ldr ip, _020948b4 ; =func_01ffebe0 - add r0, r0, #0x14 - bx ip - .align 2, 0 - arm_func_end func_ov00_020948a8 -_020948b4: .word func_01ffebe0 - - .global func_ov00_020948b8 - arm_func_start func_ov00_020948b8 -func_ov00_020948b8: ; 0x020948b8 - ldr ip, _020948c4 ; =func_01ffebe0 - add r0, r0, #0x14 - bx ip - .align 2, 0 - arm_func_end func_ov00_020948b8 -_020948c4: .word func_01ffebe0 - - .global func_ov00_020948c8 - arm_func_start func_ov00_020948c8 -func_ov00_020948c8: ; 0x020948c8 - ldr ip, _020948d4 ; =func_01ffec34 - add r0, r0, #0x14 - bx ip - .align 2, 0 - arm_func_end func_ov00_020948c8 -_020948d4: .word func_01ffec34 - - .global func_ov00_020948d8 - arm_func_start func_ov00_020948d8 -func_ov00_020948d8: ; 0x020948d8 - ldr ip, _020948e4 ; =func_ov00_0208ee4c - add r0, r0, #0x14 - bx ip - .align 2, 0 - arm_func_end func_ov00_020948d8 -_020948e4: .word func_ov00_0208ee4c - - .global func_ov00_020948e8 - arm_func_start func_ov00_020948e8 -func_ov00_020948e8: ; 0x020948e8 - ldr ip, _020948f4 ; =func_ov00_0208f318 - add r0, r0, #0x14 - bx ip - .align 2, 0 - arm_func_end func_ov00_020948e8 -_020948f4: .word func_ov00_0208f318 - - .global func_ov00_020948f8 - arm_func_start func_ov00_020948f8 -func_ov00_020948f8: ; 0x020948f8 - ldr ip, _02094904 ; =func_ov00_0208f294 - add r0, r0, #0x14 - bx ip - .align 2, 0 - arm_func_end func_ov00_020948f8 -_02094904: .word func_ov00_0208f294 - - .global func_ov00_02094908 - arm_func_start func_ov00_02094908 -func_ov00_02094908: ; 0x02094908 - ldr ip, _02094914 ; =func_ov00_0208f374 - add r0, r0, #0x14 - bx ip - .align 2, 0 - arm_func_end func_ov00_02094908 -_02094914: .word func_ov00_0208f374 - - .global func_ov00_02094918 - arm_func_start func_ov00_02094918 -func_ov00_02094918: ; 0x02094918 - ldr ip, _02094924 ; =func_ov00_0208f478 - add r0, r0, #0x14 - bx ip - .align 2, 0 - arm_func_end func_ov00_02094918 -_02094924: .word func_ov00_0208f478 - - .global func_ov00_02094928 - arm_func_start func_ov00_02094928 -func_ov00_02094928: ; 0x02094928 - ldr ip, _02094934 ; =func_ov00_0208e7a4 - add r0, r0, #0x14 - bx ip - .align 2, 0 - arm_func_end func_ov00_02094928 -_02094934: .word func_ov00_0208e7a4 - - .global func_ov00_02094938 - arm_func_start func_ov00_02094938 -func_ov00_02094938: ; 0x02094938 - ldr ip, _02094944 ; =func_ov00_0208e72c - add r0, r0, #0x14 - bx ip - .align 2, 0 - arm_func_end func_ov00_02094938 -_02094944: .word func_ov00_0208e72c - - .global func_ov00_02094948 - arm_func_start func_ov00_02094948 -func_ov00_02094948: ; 0x02094948 - ldr ip, _02094954 ; =func_ov00_0208e82c - add r0, r0, #0x14 - bx ip - .align 2, 0 - arm_func_end func_ov00_02094948 -_02094954: .word func_ov00_0208e82c - - .global func_ov00_02094958 - arm_func_start func_ov00_02094958 -func_ov00_02094958: ; 0x02094958 - ldr ip, _02094964 ; =func_ov00_0208e87c - add r0, r0, #0x14 - bx ip - .align 2, 0 - arm_func_end func_ov00_02094958 -_02094964: .word func_ov00_0208e87c - - .global func_ov00_02094968 - arm_func_start func_ov00_02094968 -func_ov00_02094968: ; 0x02094968 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02094824 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02094968 - - .global func_ov00_0209497c - arm_func_start func_ov00_0209497c -func_ov00_0209497c: ; 0x0209497c - mov r0, #0 - bx lr - arm_func_end func_ov00_0209497c - - .global func_ov00_02094984 - arm_func_start func_ov00_02094984 -func_ov00_02094984: ; 0x02094984 - ldr r2, [r1] - str r2, [r0, #0x14] - ldr r2, [r1, #4] - str r2, [r0, #0x18] - ldr r2, [r1, #8] - str r2, [r0, #0x1c] - ldr r1, [r1, #0xc] - str r1, [r0, #0x20] - bx lr - arm_func_end func_ov00_02094984 - - .global func_ov00_020949a8 - arm_func_start func_ov00_020949a8 -func_ov00_020949a8: ; 0x020949a8 - stmdb sp!, {r3, lr} - ldr lr, [r1] - ldr ip, [sp, #8] - str lr, [r0, #0x14] - ldr lr, [r1, #4] - str lr, [r0, #0x18] - ldr lr, [r1, #8] - str lr, [r0, #0x1c] - ldr r1, [r1, #0xc] - str r1, [r0, #0x20] - str r2, [r0, #8] - str r3, [r0, #0xc] - str ip, [r0, #0x10] - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020949a8 - - .global func_ov00_020949e0 - arm_func_start func_ov00_020949e0 -func_ov00_020949e0: ; 0x020949e0 - ldr r2, [r0, #0x14] - str r2, [r1] - ldr r2, [r0, #0x18] - str r2, [r1, #4] - ldr r2, [r0, #0x1c] - str r2, [r1, #8] - ldr r0, [r0, #0x20] - str r0, [r1, #0xc] - bx lr - arm_func_end func_ov00_020949e0 - - .global func_ov00_02094a04 - arm_func_start func_ov00_02094a04 -func_ov00_02094a04: ; 0x02094a04 - ldr r2, [r1] - str r2, [r0, #0x14] - ldr r2, [r1, #4] - str r2, [r0, #0x18] - ldr r1, [r1, #8] - str r1, [r0, #0x1c] - bx lr - arm_func_end func_ov00_02094a04 - - .global func_ov00_02094a20 - arm_func_start func_ov00_02094a20 -func_ov00_02094a20: ; 0x02094a20 - str r1, [r0, #0x20] - bx lr - arm_func_end func_ov00_02094a20 - - .global func_ov00_02094a28 - arm_func_start func_ov00_02094a28 -func_ov00_02094a28: ; 0x02094a28 - str r1, [r0, #0x20] - bx lr - arm_func_end func_ov00_02094a28 - - .global func_ov00_02094a30 - arm_func_start func_ov00_02094a30 -func_ov00_02094a30: ; 0x02094a30 - ldr r2, [r0, #0x14] - str r2, [r1] - ldr r2, [r0, #0x18] - str r2, [r1, #4] - ldr r0, [r0, #0x1c] - str r0, [r1, #8] - bx lr - arm_func_end func_ov00_02094a30 - - .global func_ov00_02094a4c - arm_func_start func_ov00_02094a4c -func_ov00_02094a4c: ; 0x02094a4c - ldr r0, [r0, #0x20] - bx lr - arm_func_end func_ov00_02094a4c - - .global func_ov00_02094a54 - arm_func_start func_ov00_02094a54 -func_ov00_02094a54: ; 0x02094a54 - ldr r0, [r0, #0x20] - bx lr - arm_func_end func_ov00_02094a54 - - .global func_ov00_02094a5c - arm_func_start func_ov00_02094a5c -func_ov00_02094a5c: ; 0x02094a5c - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02094824 - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02094a5c - - .global func_ov00_02094a78 - arm_func_start func_ov00_02094a78 -func_ov00_02094a78: ; 0x02094a78 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02094824 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02094a78 - - .global func_ov00_02094a8c - arm_func_start func_ov00_02094a8c -func_ov00_02094a8c: ; 0x02094a8c - mov r0, #1 - bx lr - arm_func_end func_ov00_02094a8c - - .global func_ov00_02094a94 - arm_func_start func_ov00_02094a94 -func_ov00_02094a94: ; 0x02094a94 - ldr ip, [r1, #0x10] - ldr r3, [r1, #0xc] - ldr r2, [r1] - str r2, [r0, #0x14] - ldr r2, [r1, #4] - str r2, [r0, #0x18] - ldr r1, [r1, #8] - str r1, [r0, #0x1c] - str r3, [r0, #0x20] - str ip, [r0, #0x24] - bx lr - arm_func_end func_ov00_02094a94 - - .global func_ov00_02094ac0 - arm_func_start func_ov00_02094ac0 -func_ov00_02094ac0: ; 0x02094ac0 - stmdb sp!, {r3, r4, r5, lr} - ldr r5, [r1, #0x10] - ldr r4, [r1, #0xc] - ldr lr, [r1] - ldr ip, [sp, #0x10] - str lr, [r0, #0x14] - ldr lr, [r1, #4] - str lr, [r0, #0x18] - ldr r1, [r1, #8] - str r1, [r0, #0x1c] - str r4, [r0, #0x20] - str r5, [r0, #0x24] - str r2, [r0, #8] - str r3, [r0, #0xc] - str ip, [r0, #0x10] - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02094ac0 - - .global func_ov00_02094b00 - arm_func_start func_ov00_02094b00 -func_ov00_02094b00: ; 0x02094b00 - ldr ip, [r0, #0x24] - ldr r3, [r0, #0x20] - ldr r2, [r0, #0x14] - str r2, [r1] - ldr r2, [r0, #0x18] - str r2, [r1, #4] - ldr r0, [r0, #0x1c] - str r0, [r1, #8] - str r3, [r1, #0xc] - str ip, [r1, #0x10] - bx lr - arm_func_end func_ov00_02094b00 - - .global func_ov00_02094b2c - arm_func_start func_ov00_02094b2c -func_ov00_02094b2c: ; 0x02094b2c - ldr r2, [r1] - str r2, [r0, #0x14] - ldr r2, [r1, #4] - str r2, [r0, #0x18] - ldr r1, [r1, #8] - str r1, [r0, #0x1c] - bx lr - arm_func_end func_ov00_02094b2c - - .global func_ov00_02094b48 - arm_func_start func_ov00_02094b48 -func_ov00_02094b48: ; 0x02094b48 - str r1, [r0, #0x20] - bx lr - arm_func_end func_ov00_02094b48 - - .global func_ov00_02094b50 - arm_func_start func_ov00_02094b50 -func_ov00_02094b50: ; 0x02094b50 - str r1, [r0, #0x24] - bx lr - arm_func_end func_ov00_02094b50 - - .global func_ov00_02094b58 - arm_func_start func_ov00_02094b58 -func_ov00_02094b58: ; 0x02094b58 - ldr r2, [r0, #0x14] - str r2, [r1] - ldr r2, [r0, #0x18] - str r2, [r1, #4] - ldr r0, [r0, #0x1c] - str r0, [r1, #8] - bx lr - arm_func_end func_ov00_02094b58 - - .global func_ov00_02094b74 - arm_func_start func_ov00_02094b74 -func_ov00_02094b74: ; 0x02094b74 - ldr r0, [r0, #0x20] - bx lr - arm_func_end func_ov00_02094b74 - - .global func_ov00_02094b7c - arm_func_start func_ov00_02094b7c -func_ov00_02094b7c: ; 0x02094b7c - ldr r0, [r0, #0x24] - bx lr - arm_func_end func_ov00_02094b7c - - .global func_ov00_02094b84 - arm_func_start func_ov00_02094b84 -func_ov00_02094b84: ; 0x02094b84 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02094824 - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02094b84 - - .global func_ov00_02094ba0 - arm_func_start func_ov00_02094ba0 -func_ov00_02094ba0: ; 0x02094ba0 - mov r0, #2 - bx lr - arm_func_end func_ov00_02094ba0 - - .global func_ov00_02094ba8 - arm_func_start func_ov00_02094ba8 -func_ov00_02094ba8: ; 0x02094ba8 - ldr r2, [r1] - str r2, [r0, #0x14] - ldr r2, [r1, #4] - str r2, [r0, #0x18] - ldr r2, [r1, #8] - str r2, [r0, #0x1c] - ldr r2, [r1, #0xc] - str r2, [r0, #0x20] - ldr r2, [r1, #0x10] - str r2, [r0, #0x24] - ldr r1, [r1, #0x14] - str r1, [r0, #0x28] - bx lr - arm_func_end func_ov00_02094ba8 - - .global func_ov00_02094bdc - arm_func_start func_ov00_02094bdc -func_ov00_02094bdc: ; 0x02094bdc - ldr r2, [r0, #0x14] - str r2, [r1] - ldr r2, [r0, #0x18] - str r2, [r1, #4] - ldr r2, [r0, #0x1c] - str r2, [r1, #8] - ldr r2, [r0, #0x20] - str r2, [r1, #0xc] - ldr r2, [r0, #0x24] - str r2, [r1, #0x10] - ldr r0, [r0, #0x28] - str r0, [r1, #0x14] - bx lr - arm_func_end func_ov00_02094bdc - - .global func_ov00_02094c10 - arm_func_start func_ov00_02094c10 -func_ov00_02094c10: ; 0x02094c10 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #0x18 - mov r5, r0 - mov r4, r1 - add r1, sp, #0 - add r0, r5, #0x14 - bl func_ov00_0208e6b0 - add r1, sp, #0 - add r2, sp, #0xc - mov r0, r4 - bl func_01ff9bf8 - add r0, r5, #0x14 - add r1, sp, #0xc - mov r2, r0 - bl func_01ff9bc4 - add r0, r5, #0x20 - add r1, sp, #0xc - mov r2, r0 - bl func_01ff9bc4 - add sp, sp, #0x18 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02094c10 - - .global func_ov00_02094c64 - arm_func_start func_ov00_02094c64 -func_ov00_02094c64: ; 0x02094c64 - cmp r1, #0 - bx lr - arm_func_end func_ov00_02094c64 - - .global func_ov00_02094c6c - arm_func_start func_ov00_02094c6c -func_ov00_02094c6c: ; 0x02094c6c - cmp r1, #0 - bx lr - arm_func_end func_ov00_02094c6c - - .global func_ov00_02094c74 - arm_func_start func_ov00_02094c74 -func_ov00_02094c74: ; 0x02094c74 - ldr ip, _02094c80 ; =func_ov00_0208e6b0 - add r0, r0, #0x14 - bx ip - .align 2, 0 - arm_func_end func_ov00_02094c74 -_02094c80: .word func_ov00_0208e6b0 - - .global func_ov00_02094c84 - arm_func_start func_ov00_02094c84 -func_ov00_02094c84: ; 0x02094c84 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - add r0, r5, #0x14 - bl func_ov00_0208e6f0 - mov r4, r0 - add r0, r5, #0x14 - bl func_ov00_0208e704 - cmp r4, r0 - movge r0, r4, asr #0x1 - movlt r0, r0, asr #0x1 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02094c84 - - .global func_ov00_02094cb0 - arm_func_start func_ov00_02094cb0 -func_ov00_02094cb0: ; 0x02094cb0 - ldr ip, _02094cbc ; =func_ov00_0208e718 - add r0, r0, #0x14 - bx ip - .align 2, 0 - arm_func_end func_ov00_02094cb0 -_02094cbc: .word func_ov00_0208e718 - - .global func_ov00_02094cc0 - arm_func_start func_ov00_02094cc0 -func_ov00_02094cc0: ; 0x02094cc0 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02094824 - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02094cc0 - - .global func_ov00_02094cdc - arm_func_start func_ov00_02094cdc -func_ov00_02094cdc: ; 0x02094cdc - mov r0, #1 - bx lr - arm_func_end func_ov00_02094cdc - - .global func_ov00_02094ce4 - arm_func_start func_ov00_02094ce4 -func_ov00_02094ce4: ; 0x02094ce4 - mov r0, #1 - bx lr - arm_func_end func_ov00_02094ce4 - - .global func_ov00_02094cec - arm_func_start func_ov00_02094cec -func_ov00_02094cec: ; 0x02094cec - mov r0, #1 - bx lr - arm_func_end func_ov00_02094cec - - .global func_ov00_02094cf4 - arm_func_start func_ov00_02094cf4 -func_ov00_02094cf4: ; 0x02094cf4 - mov r0, #1 - bx lr - arm_func_end func_ov00_02094cf4 - - .global func_ov00_02094cfc - arm_func_start func_ov00_02094cfc -func_ov00_02094cfc: ; 0x02094cfc - stmdb sp!, {lr} - sub sp, sp, #0xc - ldr r1, [r0, #4] - cmp r1, #0 - addeq sp, sp, #0xc - moveq r0, #0 - ldmeqia sp!, {pc} - mov r1, #0 - str r1, [sp] - str r1, [sp, #4] - str r1, [sp, #8] - ldr r0, [r0, #4] - mov r1, r2 - ldr r3, [r0] - add r2, sp, #0 - ldr r3, [r3, #0x48] - blx r3 - add sp, sp, #0xc - ldmia sp!, {pc} - arm_func_end func_ov00_02094cfc - - .global func_ov00_02094d48 - arm_func_start func_ov00_02094d48 -func_ov00_02094d48: ; 0x02094d48 - stmdb sp!, {lr} - sub sp, sp, #0xc - ldr r1, [r0, #4] - cmp r1, #0 - addeq sp, sp, #0xc - moveq r0, #0 - ldmeqia sp!, {pc} - mov r1, #0 - str r1, [sp] - str r1, [sp, #4] - str r1, [sp, #8] - ldr r0, [r0, #4] - mov r1, r2 - ldr r3, [r0] - add r2, sp, #0 - ldr r3, [r3, #0x48] - blx r3 - add sp, sp, #0xc - ldmia sp!, {pc} - arm_func_end func_ov00_02094d48 - - .global func_ov00_02094d94 - arm_func_start func_ov00_02094d94 -func_ov00_02094d94: ; 0x02094d94 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02081f6c - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02094d94 - - .global func_ov00_02094da8 - arm_func_start func_ov00_02094da8 -func_ov00_02094da8: ; 0x02094da8 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02081f6c - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02094da8 - - .global func_ov00_02094dc4 - arm_func_start func_ov00_02094dc4 -func_ov00_02094dc4: ; 0x02094dc4 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02081f6c - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02094dc4 - - .global func_ov00_02094dd8 - arm_func_start func_ov00_02094dd8 -func_ov00_02094dd8: ; 0x02094dd8 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02081f6c - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02094dd8 - - .global func_ov00_02094df4 - arm_func_start func_ov00_02094df4 -func_ov00_02094df4: ; 0x02094df4 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r1, #0 - str r1, [r4, #4] - bl func_ov00_02081f6c - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02094df4 - - .global func_ov00_02094e10 - arm_func_start func_ov00_02094e10 -func_ov00_02094e10: ; 0x02094e10 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r1, #0 - str r1, [r4, #4] - bl func_ov00_02081f6c - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02094e10 - - .global func_ov00_02094e34 - arm_func_start func_ov00_02094e34 -func_ov00_02094e34: ; 0x02094e34 - mov r1, #1 - strb r1, [r0] - mov r1, #0 - strh r1, [r0, #2] - strh r1, [r0, #4] - str r1, [r0, #8] - str r1, [r0, #0xc] - str r1, [r0, #0x10] - bx lr - arm_func_end func_ov00_02094e34 - - .global func_ov00_02094e58 - arm_func_start func_ov00_02094e58 -func_ov00_02094e58: ; 0x02094e58 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02095134 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02094e58 - - .global func_ov00_02094e6c - arm_func_start func_ov00_02094e6c -func_ov00_02094e6c: ; 0x02094e6c - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #8 - mov r10, r0 - mov r0, #1 - mov r6, r1 - strb r0, [r10] - mov r5, r2 - strh r6, [r10, #2] - ldr r0, _02094f84 ; =data_027e0e60 - strh r5, [r10, #4] - ldr r0, [r0] - mov r9, r3 - bl _ZN10MapManager17Get_MapData_Unk28Ev - ldrh r1, [r10, #2] - bl func_02002c14 - mov r1, r0, lsl #0xc - ldr r0, _02094f84 ; =data_027e0e60 - str r1, [r10, #0xc] - ldr r0, [r0] - bl _ZN10MapManager17Get_MapData_Unk2aEv - ldrh r1, [r10, #4] - bl func_02002c14 - mov r0, r0, lsl #0xc - str r0, [r10, #0x10] - ldr r0, [r10, #8] - cmp r0, #0 - bne _02094f24 - mul r4, r6, r5 - mov r0, #0xc - mul r0, r4, r0 - ldr r1, _02094f88 ; =data_027e0ce0 - add r0, r0, #8 - ldr r1, [r1, #4] - mov r2, #4 - bl func_0202e9f4 - cmp r0, #0 - beq _02094f20 - ldr r1, _02094f8c ; =func_ov00_02094fa8 - ldr r7, _02094f90 ; =func_ov00_02094f94 - str r1, [sp] - mov r1, r4 - mov r2, #0xc - mov r3, #8 - str r7, [sp, #4] - bl func_0204f558 -_02094f20: - str r0, [r10, #8] -_02094f24: - mul r8, r6, r5 - cmp r8, #0 - mov r5, #0 - addle sp, sp, #8 - ldmleia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - mov r7, r5 - mov r11, r9, lsl #0x1 -_02094f40: - ldr r0, _02094f88 ; =data_027e0ce0 - ldr r4, [r10, #8] - ldr r1, [r0, #4] - mov r0, r11 - mov r2, #4 - add r6, r4, r7 - bl func_0202e9f4 - str r0, [r6, #8] - mov r0, #0 - str r0, [r6, #4] - add r5, r5, #1 - str r9, [r4, r7] - cmp r5, r8 - add r7, r7, #0xc - blt _02094f40 - add sp, sp, #8 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_02094e6c -_02094f84: .word data_027e0e60 -_02094f88: .word data_027e0ce0 -_02094f8c: .word func_ov00_02094fa8 -_02094f90: .word func_ov00_02094f94 - - .global func_ov00_02094f94 - arm_func_start func_ov00_02094f94 -func_ov00_02094f94: ; 0x02094f94 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02095324 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02094f94 - - .global func_ov00_02094fa8 - arm_func_start func_ov00_02094fa8 -func_ov00_02094fa8: ; 0x02094fa8 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02095310 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02094fa8 - - .global func_ov00_02094fbc - arm_func_start func_ov00_02094fbc -func_ov00_02094fbc: ; 0x02094fbc - stmdb sp!, {r4, r5, r6, r7, r8, lr} - sub sp, sp, #8 - mov r4, r0 - mov r0, #0 - mov r6, r1 - strb r0, [r4] - ldrh r0, [r6, #8] - strh r0, [r4, #2] - ldrh r0, [r6, #0xa] - strh r0, [r4, #4] - ldrh r0, [r4, #2] - cmp r0, #0 - ldrneh r0, [r4, #4] - cmpne r0, #0 - addeq sp, sp, #8 - ldmeqia sp!, {r4, r5, r6, r7, r8, pc} - ldr r0, _02095124 ; =data_027e0e60 - ldr r0, [r0] - bl _ZN10MapManager17Get_MapData_Unk28Ev - ldrh r1, [r4, #2] - bl func_02002c14 - mov r1, r0, lsl #0xc - ldr r0, _02095124 ; =data_027e0e60 - str r1, [r4, #0xc] - ldr r0, [r0] - bl _ZN10MapManager17Get_MapData_Unk2aEv - ldrh r1, [r4, #4] - bl func_02002c14 - mov r0, r0, lsl #0xc - str r0, [r4, #0x10] - ldr r0, _02095128 ; =data_027e0ce0 - ldrh r7, [r4, #2] - ldr r1, [r0, #4] - ldrh r3, [r4, #4] - mov r0, #0xc - mov r2, #4 - mul r5, r7, r3 - mul r0, r5, r0 - add r0, r0, #8 - bl func_0202e9f4 - cmp r0, #0 - beq _02095084 - ldr r1, _0209512c ; =func_ov00_02094fa8 - ldr r7, _02095130 ; =func_ov00_02094f94 - str r1, [sp] - mov r1, r5 - mov r2, #0xc - mov r3, #8 - str r7, [sp, #4] - bl func_0204f558 -_02095084: - str r0, [r4, #8] - ldrh r0, [r4, #2] - add r2, r6, #0xc - mov r3, #0 - cmp r0, #0 - addle sp, sp, #8 - ldmleia sp!, {r4, r5, r6, r7, r8, pc} - mov r1, r3 - mov r5, #0xc -_020950a8: - ldrh r0, [r4, #4] - mov ip, r1 - cmp r0, #0 - ble _0209510c -_020950b8: - ldrh r6, [r4, #2] - ldrh r0, [r2] - ldr r8, [r4, #8] - mla r6, ip, r6, r3 - mul r7, r6, r5 - add lr, r8, r7 - add r6, r2, #2 - str r6, [lr, #8] - mov r6, r0, lsl #0x1 - str r0, [lr, #4] - add lr, r6, #2 - str r0, [r8, r7] - mov r6, lr, lsr #0x1f - rsb r0, r6, lr, lsl #30 - add r0, r6, r0, ror #30 - add r6, lr, r0 - ldrh r0, [r4, #4] - add ip, ip, #1 - add r2, r2, r6 - cmp ip, r0 - blt _020950b8 -_0209510c: - ldrh r0, [r4, #2] - add r3, r3, #1 - cmp r3, r0 - blt _020950a8 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} - .align 2, 0 - arm_func_end func_ov00_02094fbc -_02095124: .word data_027e0e60 -_02095128: .word data_027e0ce0 -_0209512c: .word func_ov00_02094fa8 -_02095130: .word func_ov00_02094f94 - - .global func_ov00_02095134 - arm_func_start func_ov00_02095134 -func_ov00_02095134: ; 0x02095134 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r0, [r4, #8] - cmp r0, #0 - beq _020951c0 - ldrb r0, [r4] - cmp r0, #0 - bne _020951a4 - ldrh r1, [r4, #2] - ldrh r0, [r4, #4] - mov r3, #0 - mul r0, r1, r0 - cmp r0, #0 - ble _020951a4 - mov ip, r3 - mov r2, r3 -_02095174: - ldr r0, [r4, #8] - add r3, r3, #1 - add r1, r0, ip - str r2, [r1, #8] - str r2, [r1, #4] - str r2, [r0, ip] - ldrh r1, [r4, #2] - ldrh r0, [r4, #4] - add ip, ip, #0xc - mul r0, r1, r0 - cmp r3, r0 - blt _02095174 -_020951a4: - ldr r0, [r4, #8] - ldr r3, _020951d0 ; =func_ov00_02094f94 - mov r1, #0xc - mov r2, #8 - bl func_0204f7b0 - mov r0, #0 - str r0, [r4, #8] -_020951c0: - mov r0, #0 - strh r0, [r4, #2] - strh r0, [r4, #4] - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_02095134 -_020951d0: .word func_ov00_02094f94 - - .global func_ov00_020951d4 - arm_func_start func_ov00_020951d4 -func_ov00_020951d4: ; 0x020951d4 - stmdb sp!, {r3, lr} - ldrh r2, [r0, #2] - ldrh r1, [r0, #4] - mov ip, #0 - mul r1, r2, r1 - cmp r1, #0 - ldmleia sp!, {r3, pc} - mov lr, ip - mov r3, ip -_020951f8: - ldr r1, [r0, #8] - add ip, ip, #1 - add r1, r1, lr - str r3, [r1, #4] - ldrh r2, [r0, #2] - ldrh r1, [r0, #4] - add lr, lr, #0xc - mul r1, r2, r1 - cmp ip, r1 - blt _020951f8 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020951d4 - - .global func_ov00_02095224 - arm_func_start func_ov00_02095224 -func_ov00_02095224: ; 0x02095224 - stmdb sp!, {r3, lr} - ldrh ip, [r0, #2] - ldr lr, [r0, #8] - mov r0, #0xc - mla r1, r2, ip, r1 - mla r2, r1, r0, lr - ldmib r2, {r0, r1} - mov r0, r0, lsl #0x1 - strh r3, [r1, r0] - ldr r0, [r2, #4] - add r0, r0, #1 - str r0, [r2, #4] - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02095224 - - .global func_ov00_02095258 - arm_func_start func_ov00_02095258 -func_ov00_02095258: ; 0x02095258 - ldrh r3, [r1] - ldrh r2, [r1, #2] - ldrh r1, [r0, #2] - ldr ip, [r0, #8] - mov r0, #0xc - mla r1, r2, r1, r3 - mla r0, r1, r0, ip - bx lr - arm_func_end func_ov00_02095258 - - .global func_ov00_02095278 - arm_func_start func_ov00_02095278 -func_ov00_02095278: ; 0x02095278 - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x18 - ldr r3, _0209530c ; =data_027e0e60 - add ip, sp, #0xc - mov r4, r0 - mov r6, r1 - ldmia r2, {r0, r1, r2} - stmia ip, {r0, r1, r2} - ldr r0, [r3] - add r1, sp, #0 - bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p - add r0, sp, #0xc - add r1, sp, #0 - mov r2, r0 - bl func_01ff9bf8 - ldr r0, [sp, #0xc] - ldr r1, [r6, #0xc] - bl Divide - mov r5, r0, asr #0xc - ldr r0, [sp, #0x14] - ldr r1, [r6, #0x10] - bl Divide - mov r1, r0, asr #0xc - cmp r5, #0 - ldrh r0, [r6, #2] - movlt r5, #0 - cmp r5, r0 - subge r5, r0, #1 - ldrh r0, [r6, #4] - cmp r1, #0 - movlt r1, #0 - cmp r1, r0 - subge r1, r0, #1 - strh r5, [r4] - strh r1, [r4, #2] - add sp, sp, #0x18 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_02095278 -_0209530c: .word data_027e0e60 - - .global func_ov00_02095310 - arm_func_start func_ov00_02095310 -func_ov00_02095310: ; 0x02095310 - mov r1, #0 - str r1, [r0] - str r1, [r0, #4] - str r1, [r0, #8] - bx lr - arm_func_end func_ov00_02095310 - - .global func_ov00_02095324 - arm_func_start func_ov00_02095324 -func_ov00_02095324: ; 0x02095324 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r0, [r4, #8] - cmp r0, #0 - beq _02095344 - bl func_0202ea18 - mov r0, #0 - str r0, [r4, #8] -_02095344: - mov r1, #0 - str r1, [r4, #4] - mov r0, r4 - str r1, [r4] - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02095324 - - .global func_ov00_02095358 - arm_func_start func_ov00_02095358 -func_ov00_02095358: ; 0x02095358 - stmdb sp!, {r3, lr} - ldr r0, _0209538c ; =data_027e0f6c - ldrh r2, [r1] - ldr r1, [r0] - add r0, sp, #0 - bl func_ov00_02093a1c - ldr r0, [sp] - mov r0, r0, lsr #0xf - and r0, r0, #1 - cmp r0, #1 - moveq r0, #1 - movne r0, #0 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_02095358 -_0209538c: .word data_027e0f6c - - .global func_ov00_02095390 - arm_func_start func_ov00_02095390 -func_ov00_02095390: ; 0x02095390 - mov r0, #0 - bx lr - arm_func_end func_ov00_02095390 - - .global func_ov00_02095398 - arm_func_start func_ov00_02095398 -func_ov00_02095398: ; 0x02095398 - mov r0, #0 - bx lr - arm_func_end func_ov00_02095398 - - .global func_ov00_020953a0 - arm_func_start func_ov00_020953a0 -func_ov00_020953a0: ; 0x020953a0 - ldr r0, _020953dc ; =data_027e0f6c - ldrh r1, [r1] - ldr r0, [r0] - ldr r0, [r0, #0x40] - ldr r0, [r0, r1, lsl #2] - cmp r0, #0 - moveq r0, #0 - bxeq lr - ldr r0, [r0, #0xc] - mov r0, r0, lsr #0xf - and r0, r0, #1 - cmp r0, #1 - moveq r0, #1 - movne r0, #0 - bx lr - .align 2, 0 - arm_func_end func_ov00_020953a0 -_020953dc: .word data_027e0f6c - - .global func_ov00_020953e0 - arm_func_start func_ov00_020953e0 -func_ov00_020953e0: ; 0x020953e0 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02081f4c - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_020953e0 - - .global func_ov00_020953fc - arm_func_start func_ov00_020953fc -func_ov00_020953fc: ; 0x020953fc - ldr r2, _02095440 ; =data_ov00_020e3064 - mov r3, #1 - str r2, [r0] - strb r3, [r0, #4] - ldrb r2, [r1] - strb r2, [r0, #5] - ldrb r2, [r1, #6] - str r2, [r0, #8] - ldrb r2, [r1, #7] - str r2, [r0, #0xc] - ldrb r1, [r1, #8] - str r1, [r0, #0x10] - ldr r1, [r0, #0xc] - cmp r1, #0x6c - subge r1, r3, #2 - strge r1, [r0, #0xc] - bx lr - .align 2, 0 - arm_func_end func_ov00_020953fc -_02095440: .word data_ov00_020e3064 - - .global func_ov00_02095444 - arm_func_start func_ov00_02095444 -func_ov00_02095444: ; 0x02095444 - stmdb sp!, {r3, lr} - ldr lr, _02095480 ; =data_ov00_020e3064 - mov ip, #0 - str lr, [r0] - strb ip, [r0, #4] - strb r1, [r0, #5] - str r2, [r0, #8] - ldr r1, [sp, #8] - str r3, [r0, #0xc] - str r1, [r0, #0x10] - ldr r1, [r0, #0xc] - cmp r1, #0x6c - subge r1, ip, #1 - strge r1, [r0, #0xc] - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_02095444 -_02095480: .word data_ov00_020e3064 - - .global func_ov00_02095484 - arm_func_start func_ov00_02095484 -func_ov00_02095484: ; 0x02095484 - bx lr - arm_func_end func_ov00_02095484 - - .global func_ov00_02095488 - arm_func_start func_ov00_02095488 -func_ov00_02095488: ; 0x02095488 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02095488 - - .global func_ov00_0209549c - arm_func_start func_ov00_0209549c -func_ov00_0209549c: ; 0x0209549c - bx lr - arm_func_end func_ov00_0209549c - - .global func_ov00_020954a0 - arm_func_start func_ov00_020954a0 -func_ov00_020954a0: ; 0x020954a0 - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x18 - mov r6, r0 - mov r5, r1 - bl func_ov00_020953fc - ldr r1, _0209554c ; =data_ov00_020e3040 - ldr r0, _02095550 ; =data_027e0e60 - str r1, [r6] - ldrb r1, [r5, #1] - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_02083bacEv - ldr r2, _02095550 ; =data_027e0e60 - mov r4, r0 - ldrb r1, [r5, #2] - ldr r0, [r2] - bl _ZN10MapManager18func_ov00_02083b84Ev - mov r3, #0x5000 - rsb r3, r3, #0 - ldr r2, _02095550 ; =data_027e0e60 - str r0, [sp, #0xc] - ldrb r1, [r5, #3] - ldr r0, [r2] - str r3, [sp, #0x10] - str r4, [sp, #0x14] - bl _ZN10MapManager18func_ov00_02083bfcEv - ldr r2, _02095550 ; =data_027e0e60 - mov r4, r0 - ldrb r1, [r5, #4] - ldr r0, [r2] - bl _ZN10MapManager18func_ov00_02083bd4Ev - ldr r1, [sp, #0xc] - ldr r2, [sp, #0x10] - str r1, [r6, #0x14] - ldr r1, [sp, #0x14] - str r2, [r6, #0x18] - str r1, [r6, #0x1c] - str r0, [r6, #0x20] - mov r0, #0xc000 - str r0, [r6, #0x24] - mov r0, r6 - str r4, [r6, #0x28] - add sp, sp, #0x18 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_020954a0 -_0209554c: .word data_ov00_020e3040 -_02095550: .word data_027e0e60 - - .global func_ov00_02095554 - arm_func_start func_ov00_02095554 -func_ov00_02095554: ; 0x02095554 - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x18 - mov r6, r0 - mov r5, r1 - bl func_ov00_020953fc - ldr r1, _02095600 ; =data_ov00_020e3040 - ldr r0, _02095604 ; =data_027e0e60 - str r1, [r6] - ldrb r1, [r5, #1] - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_02083bacEv - ldr r2, _02095604 ; =data_027e0e60 - mov r4, r0 - ldrb r1, [r5, #2] - ldr r0, [r2] - bl _ZN10MapManager18func_ov00_02083b84Ev - mov r3, #0x5000 - rsb r3, r3, #0 - ldr r2, _02095604 ; =data_027e0e60 - str r0, [sp, #0xc] - ldrb r1, [r5, #3] - ldr r0, [r2] - str r3, [sp, #0x10] - str r4, [sp, #0x14] - bl _ZN10MapManager18func_ov00_02083bfcEv - ldr r2, _02095604 ; =data_027e0e60 - mov r4, r0 - ldrb r1, [r5, #4] - ldr r0, [r2] - bl _ZN10MapManager18func_ov00_02083bd4Ev - ldr r1, [sp, #0xc] - ldr r2, [sp, #0x10] - str r1, [r6, #0x14] - ldr r1, [sp, #0x14] - str r2, [r6, #0x18] - str r1, [r6, #0x1c] - str r0, [r6, #0x20] - mov r0, #0xc000 - str r0, [r6, #0x24] - mov r0, r6 - str r4, [r6, #0x28] - add sp, sp, #0x18 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_02095554 -_02095600: .word data_ov00_020e3040 -_02095604: .word data_027e0e60 - - .global func_ov00_02095608 - arm_func_start func_ov00_02095608 -func_ov00_02095608: ; 0x02095608 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_0209549c - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02095608 - - .global func_ov00_0209561c - arm_func_start func_ov00_0209561c -func_ov00_0209561c: ; 0x0209561c - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_0209549c - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0209561c - - .global func_ov00_02095638 - arm_func_start func_ov00_02095638 -func_ov00_02095638: ; 0x02095638 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_0209549c - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02095638 - - .global func_ov00_0209564c - arm_func_start func_ov00_0209564c -func_ov00_0209564c: ; 0x0209564c - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0xc - mov r6, r0 - mov r5, r1 - bl func_ov00_020953fc - ldr r1, _02095718 ; =data_ov00_020e301c - mov r0, #0 - str r1, [r6] - str r0, [r6, #0x20] - str r0, [r6, #0x14] - str r0, [r6, #0x18] - str r0, [r6, #0x1c] - ldr r0, _0209571c ; =data_027e0e60 - ldrb r1, [r5, #1] - ldr r0, [r0] - bl _ZN10MapManager18func_ov00_02083bacEv - ldr r2, _0209571c ; =data_027e0e60 - mov r4, r0 - ldrb r1, [r5, #2] - ldr r0, [r2] - bl _ZN10MapManager18func_ov00_02083b84Ev - mov ip, #0x5000 - str r0, [sp] - rsb ip, ip, #0 - ldrb r3, [r5, #3] - ldrb r2, [r5, #4] - mov r0, #0x1000 - mov r1, #0x10000 - orr r2, r2, r3, lsl #8 - mov r5, r2, lsl #0x10 - str ip, [sp, #4] - str r4, [sp, #8] - bl Divide - mov r1, r5, lsr #0x4 - smull r2, r1, r0, r1 - ldr r3, [sp] - ldr r0, [sp, #4] - str r3, [r6, #0x14] - adds r2, r2, #0x800 - str r0, [r6, #0x18] - mov r3, r4 - adc r0, r1, #0 - mov r1, r2, lsr #0xc - orr r1, r1, r0, lsl #20 - str r3, [r6, #0x1c] - str r1, [r6, #0x20] - mov r1, #0xa000 - mov r0, r6 - str r1, [r6, #0x24] - add sp, sp, #0xc - ldmia sp!, {r3, r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0209564c -_02095718: .word data_ov00_020e301c -_0209571c: .word data_027e0e60 - - .global func_ov00_02095720 - arm_func_start func_ov00_02095720 -func_ov00_02095720: ; 0x02095720 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - ldr ip, [sp, #0x10] - mov r4, r0 - str ip, [sp] - bl func_ov00_02095444 - ldr r0, _02095760 ; =data_ov00_020e301c - mov r1, #0 - str r0, [r4] - str r1, [r4, #0x20] - str r1, [r4, #0x14] - str r1, [r4, #0x18] - mov r0, r4 - str r1, [r4, #0x1c] - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - .align 2, 0 - arm_func_end func_ov00_02095720 -_02095760: .word data_ov00_020e301c - - .global func_ov00_02095764 - arm_func_start func_ov00_02095764 -func_ov00_02095764: ; 0x02095764 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_0209549c - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02095764 - - .global func_ov00_02095778 - arm_func_start func_ov00_02095778 -func_ov00_02095778: ; 0x02095778 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_0209549c - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02095778 - - .global func_ov00_02095794 - arm_func_start func_ov00_02095794 -func_ov00_02095794: ; 0x02095794 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0x24 - mov ip, r0 - add r4, ip, #0x14 - mov r3, r1 - add lr, sp, #0x18 - ldmia r4, {r0, r1, r2} - stmia lr, {r0, r1, r2} - add lr, sp, #0xc - ldmia r4, {r0, r1, r2} - stmia lr, {r0, r1, r2} - ldr r0, [sp, #0x18] - add r1, sp, #0 - str r0, [r3] - ldr r2, [sp, #0x1c] - mov r0, r3 - str r2, [r3, #4] - ldr r2, [sp, #0x20] - str r2, [r3, #8] - ldr r2, [sp, #0xc] - str r2, [r3, #0xc] - ldr r2, [sp, #0x10] - str r2, [r3, #0x10] - ldr r2, [sp, #0x14] - str r2, [r3, #0x14] - ldr r3, [ip, #0x20] - ldr r2, [ip, #0x24] - str r3, [sp] - str r2, [sp, #4] - str r3, [sp, #8] - bl func_ov00_0208edd8 - mov r0, #1 - add sp, sp, #0x24 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02095794 - - .global func_ov00_0209581c - arm_func_start func_ov00_0209581c -func_ov00_0209581c: ; 0x0209581c - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - bl func_ov00_020954a0 - ldr r1, _02095864 ; =data_ov00_020e2ff8 - mov r0, #0 - str r1, [r4] - ldr ip, _02095868 ; =func_ov00_02093d94 - strb r0, [r4, #0x2c] - ldr r3, _0209586c ; =func_ov00_02095870 - add r0, r4, #0x30 - mov r1, #4 - mov r2, #0x2c - str ip, [sp] - bl func_0204f614 - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - .align 2, 0 - arm_func_end func_ov00_0209581c -_02095864: .word data_ov00_020e2ff8 -_02095868: .word func_ov00_02093d94 -_0209586c: .word func_ov00_02095870 - - .global func_ov00_02095870 - arm_func_start func_ov00_02095870 -func_ov00_02095870: ; 0x02095870 - ldr r2, _020958a0 ; =data_ov00_020e2f04 - mov r1, #1 - str r2, [r0] - strb r1, [r0, #4] - mov r2, #0 - strb r2, [r0, #5] - str r2, [r0, #8] - str r2, [r0, #0xc] - ldr r1, _020958a4 ; =data_ov00_020e2dd8 - str r2, [r0, #0x10] - str r1, [r0] - bx lr - .align 2, 0 - arm_func_end func_ov00_02095870 -_020958a0: .word data_ov00_020e2f04 -_020958a4: .word data_ov00_020e2dd8 - - .global func_ov00_020958a8 - arm_func_start func_ov00_020958a8 -func_ov00_020958a8: ; 0x020958a8 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r1, _02095904 ; =data_ov00_020e2ff8 - mov r7, r0 - ldr r4, _02095908 ; =data_027e0f6c - str r1, [r7] - add r6, r7, #0x30 - mov r5, #0 -_020958c4: - ldr r0, [r4] - mov r1, r6 - bl func_ov00_02093af0 - add r5, r5, #1 - cmp r5, #4 - add r6, r6, #0x2c - blo _020958c4 - ldr r3, _0209590c ; =func_ov00_02093d94 - add r0, r7, #0x30 - mov r1, #4 - mov r2, #0x2c - bl func_0204f754 - mov r0, r7 - bl func_ov00_02095638 - mov r0, r7 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end func_ov00_020958a8 -_02095904: .word data_ov00_020e2ff8 -_02095908: .word data_027e0f6c -_0209590c: .word func_ov00_02093d94 - - .global func_ov00_02095910 - arm_func_start func_ov00_02095910 -func_ov00_02095910: ; 0x02095910 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r1, _02095974 ; =data_ov00_020e2ff8 - mov r7, r0 - ldr r4, _02095978 ; =data_027e0f6c - str r1, [r7] - add r6, r7, #0x30 - mov r5, #0 -_0209592c: - ldr r0, [r4] - mov r1, r6 - bl func_ov00_02093af0 - add r5, r5, #1 - cmp r5, #4 - add r6, r6, #0x2c - blo _0209592c - ldr r3, _0209597c ; =func_ov00_02093d94 - add r0, r7, #0x30 - mov r1, #4 - mov r2, #0x2c - bl func_0204f754 - mov r0, r7 - bl func_ov00_02095638 - mov r0, r7 - bl _ZN9SysObjectdlEPv - mov r0, r7 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end func_ov00_02095910 -_02095974: .word data_ov00_020e2ff8 -_02095978: .word data_027e0f6c -_0209597c: .word func_ov00_02093d94 - - .global func_ov00_02095980 - arm_func_start func_ov00_02095980 -func_ov00_02095980: ; 0x02095980 - stmdb sp!, {r3, lr} - ldr r2, [r0] - mov r1, #0 - ldr r2, [r2, #0xc] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_02095980 - - .global func_ov00_02095998 - arm_func_start func_ov00_02095998 -func_ov00_02095998: ; 0x02095998 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0xac - str r0, [sp, #4] - mov r9, r1 - add r1, sp, #0xa0 - add r0, r0, #0x14 - bl func_ov00_0208e6b0 - ldr r0, [sp, #4] - add r0, r0, #0x14 - bl func_ov00_0208e6f0 - mov r6, r0, asr #0x1 - ldr r0, [sp, #4] - add r0, r0, #0x14 - bl func_ov00_0208e704 - mov r7, r0, asr #0x1 - ldr r0, [sp, #4] - mov r8, #0 - add r10, r0, #0x30 - mov r0, r8 - bic r0, r0, #0x1f - orr r0, r0, #1 - bic r0, r0, #0x6000 - orr r0, r0, #0x4000 - orr r0, r0, #0x33c00000 - add r4, r6, #0x1000 - add r5, r7, #0x1000 - str r0, [sp, #8] - add r11, sp, #0x94 -_02095a08: - ldr r0, [sp, #8] - cmp r8, #3 - str r0, [sp, #0xc] - addls pc, pc, r8, lsl #2 - b _02095c74 -_02095a1c: ; jump table - b _02095a2c ; case 0 - b _02095ac0 ; case 1 - b _02095b54 ; case 2 - b _02095be8 ; case 3 -_02095a2c: - ldr r1, [sp, #0xa0] - mov r0, #0 - add r1, r1, r6 - str r0, [sp, #0x64] - mov r0, #0x5000 - str r0, [sp, #0x68] - ldr r0, [sp, #0xa4] - str r1, [sp, #0x94] - str r1, [sp, #0x88] - ldr r1, [sp, #0xa8] - str r0, [sp, #0x98] - str r0, [sp, #0x8c] - mov r0, r11 - str r1, [sp, #0x9c] - str r1, [sp, #0x90] - add r1, sp, #0x64 - mov r2, r11 - str r5, [sp, #0x6c] - bl func_01ff9bf8 - mov r0, #0x1000 - str r0, [sp, #0x58] - mov r0, #0x5000 - str r0, [sp, #0x5c] - add r0, sp, #0x88 - add r1, sp, #0x58 - mov r2, r0 - str r5, [sp, #0x60] - bl func_01ff9bc4 - cmp r9, #0 - beq _02095c74 - cmp r6, #0x3000 - cmpge r7, #0x3000 - blt _02095c74 - ldr r0, [sp, #0xc] - orr r0, r0, #0x8000 - str r0, [sp, #0xc] - b _02095c74 -_02095ac0: - ldr r1, [sp, #0xa0] - mov r0, #0x1000 - sub r1, r1, r6 - str r0, [sp, #0x4c] - mov r0, #0x5000 - str r0, [sp, #0x50] - ldr r0, [sp, #0xa4] - str r1, [sp, #0x94] - str r1, [sp, #0x88] - ldr r1, [sp, #0xa8] - str r0, [sp, #0x98] - str r0, [sp, #0x8c] - mov r0, r11 - str r1, [sp, #0x9c] - str r1, [sp, #0x90] - add r1, sp, #0x4c - mov r2, r11 - str r5, [sp, #0x54] - bl func_01ff9bf8 - mov r0, #0 - str r0, [sp, #0x40] - mov r0, #0x5000 - str r0, [sp, #0x44] - add r0, sp, #0x88 - add r1, sp, #0x40 - mov r2, r0 - str r5, [sp, #0x48] - bl func_01ff9bc4 - cmp r9, #0 - beq _02095c74 - cmp r6, #0x3000 - cmpge r7, #0x3000 - blt _02095c74 - ldr r0, [sp, #0xc] - orr r0, r0, #0x8000 - str r0, [sp, #0xc] - b _02095c74 -_02095b54: - ldr r1, [sp, #0xa0] - mov r0, #0x5000 - str r0, [sp, #0x38] - mov r0, #0 - str r0, [sp, #0x3c] - ldr r0, [sp, #0xa4] - str r1, [sp, #0x94] - str r1, [sp, #0x88] - ldr r1, [sp, #0xa8] - str r0, [sp, #0x98] - add r1, r1, r7 - str r0, [sp, #0x8c] - mov r0, r11 - str r1, [sp, #0x9c] - str r1, [sp, #0x90] - add r1, sp, #0x34 - mov r2, r11 - str r4, [sp, #0x34] - bl func_01ff9bf8 - mov r0, #0x5000 - str r0, [sp, #0x2c] - mov r0, #0x1000 - str r0, [sp, #0x30] - add r0, sp, #0x88 - add r1, sp, #0x28 - mov r2, r0 - str r4, [sp, #0x28] - bl func_01ff9bc4 - cmp r9, #0 - beq _02095c74 - cmp r6, #0x3000 - cmpge r7, #0x3000 - blt _02095c74 - ldr r0, [sp, #0xc] - orr r0, r0, #0x8000 - str r0, [sp, #0xc] - b _02095c74 -_02095be8: - ldr r1, [sp, #0xa0] - mov r0, #0x5000 - str r0, [sp, #0x20] - mov r0, #0x1000 - str r0, [sp, #0x24] - ldr r0, [sp, #0xa4] - str r1, [sp, #0x94] - str r1, [sp, #0x88] - ldr r1, [sp, #0xa8] - str r0, [sp, #0x98] - sub r1, r1, r7 - str r0, [sp, #0x8c] - mov r0, r11 - str r1, [sp, #0x9c] - str r1, [sp, #0x90] - add r1, sp, #0x1c - mov r2, r11 - str r4, [sp, #0x1c] - bl func_01ff9bf8 - mov r0, #0x5000 - str r0, [sp, #0x14] - mov r0, #0 - str r0, [sp, #0x18] - add r0, sp, #0x88 - add r1, sp, #0x10 - mov r2, r0 - str r4, [sp, #0x10] - bl func_01ff9bc4 - cmp r9, #0 - beq _02095c74 - cmp r6, #0x3000 - cmpge r7, #0x3000 - ldrge r0, [sp, #0xc] - orrge r0, r0, #0x8000 - strge r0, [sp, #0xc] -_02095c74: - ldr r1, [sp, #0x94] - ldr r0, [sp, #0x98] - str r1, [sp, #0x70] - str r0, [sp, #0x74] - ldr r1, [sp, #0x9c] - ldr r0, [sp, #0x88] - str r1, [sp, #0x78] - str r0, [sp, #0x7c] - ldr r1, [sp, #0x8c] - ldr r0, [sp, #0x90] - str r1, [sp, #0x80] - str r0, [sp, #0x84] - mov r0, #0 - str r0, [sp] - mov r0, r10 - ldr ip, [r0] - ldr r3, [sp, #0xc] - ldr ip, [ip, #0x14] - add r1, sp, #0x70 - mov r2, #3 - blx ip - ldr r0, _02095d04 ; =data_027e0f6c - mov r1, r10 - ldr r0, [r0] - bl func_ov00_02093a5c - add r8, r8, #1 - add r10, r10, #0x2c - cmp r8, #4 - blo _02095a08 - cmp r9, #0 - ldrne r0, [sp, #4] - movne r1, #0 - strneb r1, [r0, #0x2c] - mov r0, #1 - add sp, sp, #0xac - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_02095998 -_02095d04: .word data_027e0f6c - - .global func_ov00_02095d08 - arm_func_start func_ov00_02095d08 -func_ov00_02095d08: ; 0x02095d08 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r7, r0 - ldrb r0, [r7, #0x2c] - cmp r0, #0 - movne r0, #1 - ldmneia sp!, {r3, r4, r5, r6, r7, pc} - ldr r4, _02095d54 ; =data_027e0f6c - add r6, r7, #0x30 - mov r5, #0 -_02095d2c: - ldr r0, [r4] - mov r1, r6 - bl func_ov00_02093af0 - add r5, r5, #1 - cmp r5, #4 - add r6, r6, #0x2c - blo _02095d2c - mov r0, #1 - strb r0, [r7, #0x2c] - ldmia sp!, {r3, r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end func_ov00_02095d08 -_02095d54: .word data_027e0f6c - - .global func_ov00_02095d58 - arm_func_start func_ov00_02095d58 -func_ov00_02095d58: ; 0x02095d58 - stmdb sp!, {r3, r4, r5, lr} - mov r4, r0 - mov r5, r1 - bl func_ov00_020954a0 - ldr r0, _02095dac ; =data_ov00_020e2fd4 - ldr r2, _02095db0 ; =data_ov00_020e2f04 - str r0, [r4] - ldrb r3, [r5, #5] - mov r1, #1 - mov r0, #0 - strb r3, [r4, #0x2c] - str r2, [r4, #0x30] - strb r1, [r4, #0x34] - strb r0, [r4, #0x35] - str r0, [r4, #0x38] - str r0, [r4, #0x3c] - ldr r1, _02095db4 ; =data_ov00_020e2dd8 - str r0, [r4, #0x40] - mov r0, r4 - str r1, [r4, #0x30] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02095d58 -_02095dac: .word data_ov00_020e2fd4 -_02095db0: .word data_ov00_020e2f04 -_02095db4: .word data_ov00_020e2dd8 - - .global func_ov00_02095db8 - arm_func_start func_ov00_02095db8 -func_ov00_02095db8: ; 0x02095db8 - stmdb sp!, {r4, lr} - ldr r1, _02095df0 ; =data_ov00_020e2fd4 - mov r4, r0 - ldr r0, _02095df4 ; =data_027e0f6c - str r1, [r4] - ldr r0, [r0] - add r1, r4, #0x30 - bl func_ov00_02093af0 - add r0, r4, #0x30 - bl func_ov00_02094824 - mov r0, r4 - bl func_ov00_02095638 - mov r0, r4 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_02095db8 -_02095df0: .word data_ov00_020e2fd4 -_02095df4: .word data_027e0f6c - - .global func_ov00_02095df8 - arm_func_start func_ov00_02095df8 -func_ov00_02095df8: ; 0x02095df8 - stmdb sp!, {r4, lr} - ldr r1, _02095e38 ; =data_ov00_020e2fd4 - mov r4, r0 - ldr r0, _02095e3c ; =data_027e0f6c - str r1, [r4] - ldr r0, [r0] - add r1, r4, #0x30 - bl func_ov00_02093af0 - add r0, r4, #0x30 - bl func_ov00_02094824 - mov r0, r4 - bl func_ov00_02095638 - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_02095df8 -_02095e38: .word data_ov00_020e2fd4 -_02095e3c: .word data_027e0f6c - - .global func_ov00_02095e40 - arm_func_start func_ov00_02095e40 -func_ov00_02095e40: ; 0x02095e40 - stmdb sp!, {r4, lr} - sub sp, sp, #8 - mov r4, r0 - mov r2, #0 - ldrb r0, [r4, #0x2c] - bic r1, r2, #0x1f - orr r1, r1, #7 - bic r1, r1, #0x6000 - orr r1, r1, #0x2000 - orr r1, r1, #0x23c00000 - bic r1, r1, #0x3f0000 - orr r3, r1, r0, lsl #16 - str r2, [sp] - add r0, r4, #0x30 - ldr ip, [r0] - add r1, r4, #0x14 - ldr ip, [ip, #0x14] - mov r2, #4 - str r3, [sp, #4] - blx ip - mov r1, #0 - ldr r0, _02095eb0 ; =data_027e0f6c - strb r1, [r4, #0x34] - ldr r0, [r0] - add r1, r4, #0x30 - bl func_ov00_02093a5c - add sp, sp, #8 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_02095e40 -_02095eb0: .word data_027e0f6c - - .global func_ov00_02095eb4 - arm_func_start func_ov00_02095eb4 -func_ov00_02095eb4: ; 0x02095eb4 - ldr ip, _02095ec0 ; =func_ov00_0208f318 - add r0, r0, #0x14 - bx ip - .align 2, 0 - arm_func_end func_ov00_02095eb4 -_02095ec0: .word func_ov00_0208f318 - - .global func_ov00_02095ec4 - arm_func_start func_ov00_02095ec4 -func_ov00_02095ec4: ; 0x02095ec4 - ldr ip, _02095ed0 ; =func_ov00_0208e7a4 - add r0, r0, #0x14 - bx ip - .align 2, 0 - arm_func_end func_ov00_02095ec4 -_02095ed0: .word func_ov00_0208e7a4 - - .global func_ov00_02095ed4 - arm_func_start func_ov00_02095ed4 -func_ov00_02095ed4: ; 0x02095ed4 - ldr r2, [r0, #0x14] - str r2, [r1] - ldr r2, [r0, #0x18] - str r2, [r1, #4] - ldr r2, [r0, #0x1c] - str r2, [r1, #8] - ldr r2, [r0, #0x20] - str r2, [r1, #0xc] - ldr r2, [r0, #0x24] - str r2, [r1, #0x10] - ldr r2, [r0, #0x28] - mov r0, #1 - str r2, [r1, #0x14] - bx lr - arm_func_end func_ov00_02095ed4 - - .global func_ov00_02095f0c - arm_func_start func_ov00_02095f0c -func_ov00_02095f0c: ; 0x02095f0c - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_020969fc - ldr r0, [r4, #8] - cmp r0, #0x20 - bhs _02095f30 - mov r0, r4 - mov r1, #0x20 - bl func_ov00_02096a98 -_02095f30: - mov r0, r4 - bl func_ov00_0209621c - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02095f0c - - .global func_ov00_02095f40 - arm_func_start func_ov00_02095f40 -func_ov00_02095f40: ; 0x02095f40 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_020961f8 - mov r0, r4 - bl func_ov00_02096a10 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02095f40 - - .global func_ov00_02095f5c - arm_func_start func_ov00_02095f5c -func_ov00_02095f5c: ; 0x02095f5c - stmdb sp!, {r3, lr} - ldr r0, _02095f9c ; =data_027e0f70 - ldr r0, [r0] - cmp r0, #0 - ldmneia sp!, {r3, pc} - ldr r1, _02095fa0 ; =data_027e0ce0 - mov r0, #0xc - ldr r1, [r1, #4] - mov r2, #4 - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _02095f90 - bl func_ov00_02095f0c -_02095f90: - ldr r1, _02095f9c ; =data_027e0f70 - str r0, [r1] - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_02095f5c -_02095f9c: .word data_027e0f70 -_02095fa0: .word data_027e0ce0 - - .global func_ov00_02095fa4 - arm_func_start func_ov00_02095fa4 -func_ov00_02095fa4: ; 0x02095fa4 - stmdb sp!, {r4, lr} - ldr r0, _02095fdc ; =data_027e0f70 - ldr r4, [r0] - cmp r4, #0 - ldmeqia sp!, {r4, pc} - beq _02095fcc - mov r0, r4 - bl func_ov00_02095f40 - mov r0, r4 - bl _ZN9SysObjectdlEPv -_02095fcc: - ldr r0, _02095fdc ; =data_027e0f70 - mov r1, #0 - str r1, [r0] - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_02095fa4 -_02095fdc: .word data_027e0f70 - - .global func_ov00_02095fe0 - arm_func_start func_ov00_02095fe0 -func_ov00_02095fe0: ; 0x02095fe0 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x34 - ldr r2, _0209614c ; =data_027e0d3c - mov r10, r0 - ldr r0, [r2] - mov r9, r1 - bl func_ov00_02078f54 - cmp r0, #0 - addeq sp, sp, #0x34 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _0209614c ; =data_027e0d3c - ldr r1, _02096150 ; =data_027e0e60 - ldr r2, [r0] - ldr r0, [r1] - ldr r1, [r2, #0x44] - add r2, sp, #0xc - add r3, sp, #2 - bl _ZN10MapManager18func_ov00_020835e4EiPiS0_ - cmp r0, #0 - addeq sp, sp, #0x34 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r8, [r10] - ldr r1, [r10, #4] - mov r0, #0x30 - mla r0, r1, r0, r8 - cmp r8, r0 - addeq sp, sp, #0x34 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r4, _02096150 ; =data_027e0e60 - add r6, sp, #0x1c - add r5, sp, #0x28 - add r11, sp, #0x10 -_02096060: - ldr r1, [r8] - ldr r0, [sp, #0xc] - cmp r0, r1 - ldreqb r2, [sp, #2] - ldreqb r0, [r8, #7] - cmpeq r2, r0 - bne _02096128 - ldr r1, [r8, #0xc] - ldr r0, _02096154 ; =0x43525953 - cmp r1, r0 - beq _020960a0 - ldr r0, _02096158 ; =0x464f5243 - cmp r1, r0 - bne _02096128 - mov r7, #0x21 - b _020960b0 -_020960a0: - ldrh r0, [r8, #0x1e] - mov r1, r0, lsl #0x1 - ldr r0, _0209615c ; =data_ov00_020db050 - ldrh r7, [r0, r1] -_020960b0: - ldr r1, [r8, #0x10] - add r0, sp, #0 - str r1, [sp, #0x28] - ldr r3, [r8, #0x14] - ldr r1, [r4] - str r3, [sp, #0x2c] - ldr r3, [r8, #0x18] - str r3, [sp, #0x30] - bl _ZN10MapManager18func_ov00_02083560EiPS_j - ldrb r2, [sp] - ldrb r3, [sp, #1] - ldr r0, [r4] - mov r1, r6 - bl _ZN10MapManager18func_ov00_020834bcEP5Vec3pii - mov r0, r5 - mov r1, r6 - mov r2, r5 - bl func_01ff9bf8 - ldr r0, [r4] - mov r1, r11 - bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p - mov r0, r5 - mov r1, r11 - mov r2, r5 - bl func_01ff9bc4 - mov r2, r7 - mov r0, r10 - mov r1, r5 - mov r3, r9 - bl func_ov00_02096160 -_02096128: - ldr r2, [r10] - ldr r1, [r10, #4] - mov r0, #0x30 - mla r0, r1, r0, r2 - add r8, r8, #0x30 - cmp r8, r0 - bne _02096060 - add sp, sp, #0x34 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_02095fe0 -_0209614c: .word data_027e0d3c -_02096150: .word data_027e0e60 -_02096154: .word 0x43525953 -_02096158: .word 0x464f5243 -_0209615c: .word data_ov00_020db050 - - .global func_ov00_02096160 - arm_func_start func_ov00_02096160 -func_ov00_02096160: ; 0x02096160 - stmdb sp!, {r4, lr} - sub sp, sp, #0x38 - ldrh r0, [r3] - mov r4, r2 - tst r0, #4 - bne _02096184 - tst r0, #8 - addeq sp, sp, #0x38 - ldmeqia sp!, {r4, pc} -_02096184: - add r2, sp, #0x14 - str r2, [sp] - add r0, sp, #0x10 - mov r2, #0 - stmib sp, {r0, r2} - mov r3, #1 - str r3, [sp, #0xc] - ldr r0, _020961f0 ; =data_027e0d3c - mov r3, r2 - ldr r0, [r0] - bl func_ov00_02079470 - cmp r0, #0 - addeq sp, sp, #0x38 - ldmeqia sp!, {r4, pc} - add r0, sp, #0x18 - bl func_01ffbe34 - mov r1, #1 - add r0, sp, #0x18 - str r1, [sp, #0x1c] - str r0, [sp] - ldr r1, [sp, #0x14] - ldr r2, [sp, #0x10] - ldr r0, _020961f4 ; =data_02063e4c - mov r3, r4 - bl func_020313c8 - add sp, sp, #0x38 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_02096160 -_020961f0: .word data_027e0d3c -_020961f4: .word data_02063e4c - - .global func_ov00_020961f8 - arm_func_start func_ov00_020961f8 -func_ov00_020961f8: ; 0x020961f8 - stmdb sp!, {r3, lr} - ldr r1, [r0, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_02096a88 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020961f8 - - .global func_ov00_0209621c - arm_func_start func_ov00_0209621c -func_ov00_0209621c: ; 0x0209621c - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x30 - ldr r6, _02096320 ; =data_ov00_020eab04 - mov r7, r0 - ldrb r4, [r6, #6] - mov r5, #0 - cmp r4, #0 - addle sp, sp, #0x30 - ldmleia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - add r9, sp, #0x10 - mov r8, r5 - add r11, sp, #0 -_0209624c: - ldrb r10, [r6, #0x34] - ldrb lr, [r6, #0x35] - ldrb ip, [r6, #0x36] - ldrb r3, [r6, #0x37] - ldr r0, [r6, #0x30] - ldr r2, [r6, #0x38] - ldr r1, [r6, #0x3c] - str r0, [sp] - add r0, r6, #0x40 - strb r10, [sp, #4] - strb lr, [sp, #5] - strb ip, [sp, #6] - strb r3, [sp, #7] - str r2, [sp, #8] - str r1, [sp, #0xc] - ldmia r0, {r0, r1, r2} - stmia r9, {r0, r1, r2} - ldrh r10, [r6, #0x4c] - ldrh r3, [r6, #0x4e] - ldrh r2, [r6, #0x50] - ldrh r0, [r6, #0x52] - ldrb r1, [r6, #0x54] - strh r10, [sp, #0x1c] - ldrb r10, [r6, #0x55] - strh r3, [sp, #0x1e] - ldrb r3, [r6, #0x56] - strh r2, [sp, #0x20] - ldrb r2, [r6, #0x57] - strh r0, [sp, #0x22] - ldrsb r0, [r6, #0x58] - strb r1, [sp, #0x24] - ldrb r1, [r6, #0x59] - strb r10, [sp, #0x25] - ldrb r10, [r6, #0x5a] - strb r3, [sp, #0x26] - ldrsb r3, [r6, #0x5b] - strb r2, [sp, #0x27] - ldr r2, [r6, #0x5c] - strb r0, [sp, #0x28] - mov r0, r7 - strb r1, [sp, #0x29] - mov r1, r11 - strb r10, [sp, #0x2a] - strb r3, [sp, #0x2b] - str r2, [sp, #0x2c] - strb r8, [sp, #6] - bl func_ov00_020965c0 - add r5, r5, #1 - cmp r5, r4 - add r6, r6, #0x30 - blt _0209624c - add sp, sp, #0x30 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_0209621c -_02096320: .word data_ov00_020eab04 - - .global func_ov00_02096324 - arm_func_start func_ov00_02096324 -func_ov00_02096324: ; 0x02096324 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - mov r7, r0 - ldr r5, [r7] - ldr r2, [r7, #4] - mov r0, #0x30 - mla r0, r2, r0, r5 - mov r6, r1 - cmp r5, r0 - mov r4, #0 - beq _0209640c - ldr r8, _02096414 ; =data_027e0f7c - mov r9, r4 - mov r11, #0x30 -_02096358: - ldrb r0, [r5, #5] - cmp r0, #0 - beq _020963f0 - ldr r0, [r8] - ldr r1, [r5] - bl func_ov00_0209d738 - cmp r0, #3 - beq _020963f0 - cmp r4, #8 - bhs _0209640c - mla ip, r4, r11, r6 - ldr r1, [r5] - add r0, r4, #1 - str r1, [ip, #0x30] - ldrb r2, [r5, #4] - add r1, r5, #0x10 - add r3, ip, #0x40 - strb r2, [ip, #0x34] - ldrb r2, [r5, #5] - add r10, r5, #0x1c - and r4, r0, #0xff - strb r2, [ip, #0x35] - ldrb r0, [r5, #6] - add lr, ip, #0x4c - strb r0, [ip, #0x36] - ldrb r0, [r5, #7] - strb r0, [ip, #0x37] - ldr r0, [r5, #8] - str r0, [ip, #0x38] - ldr r0, [r5, #0xc] - str r0, [ip, #0x3c] - ldmia r1, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldmia r10!, {r0, r1, r2, r3} - stmia lr!, {r0, r1, r2, r3} - ldr r0, [r10] - str r0, [lr] - strb r9, [ip, #0x36] -_020963f0: - ldr r2, [r7] - ldr r1, [r7, #4] - mov r0, #0x30 - mla r0, r1, r0, r2 - add r5, r5, #0x30 - cmp r5, r0 - bne _02096358 -_0209640c: - strb r4, [r6, #6] - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_02096324 -_02096414: .word data_027e0f7c - - .global func_ov00_02096418 - arm_func_start func_ov00_02096418 -func_ov00_02096418: ; 0x02096418 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0x1c - mov r4, r0 - ldr r1, [r4, #4] - mov r0, #0x30 - mul lr, r1, r0 - ldr r1, [r4] - add r0, r1, lr - mov ip, r1 - cmp r1, r0 - beq _02096470 - mov r3, #0xff - mov r0, #0x30 -_0209644c: - ldrb r1, [ip, #6] - cmp r1, #0 - strneb r3, [ip, #7] - ldmia r4, {r1, r2} - mul lr, r2, r0 - add ip, ip, #0x30 - add r2, r1, lr - cmp ip, r2 - bne _0209644c -_02096470: - ldrb r0, [sp, #1] - add r2, r1, lr - sub r3, sp, #4 - strb r0, [r3] - ldr r3, [r3] - add r0, sp, #0x18 - str r2, [sp, #0xc] - str r2, [sp, #4] - str r2, [sp, #0x10] - str r1, [sp, #0x14] - bl func_ov00_020964cc - mov r2, #0 - ldr r1, [sp, #0x18] - strb r2, [sp] - sub r0, sp, #4 - strb r2, [r0] - ldr r3, [r0] - ldr r2, [sp, #4] - mov r0, r4 - str r1, [sp, #8] - bl func_ov00_02096c3c - add sp, sp, #0x1c - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02096418 - - .global func_ov00_020964cc - arm_func_start func_ov00_020964cc -func_ov00_020964cc: ; 0x020964cc - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r3, r4, r5, r6, r7, lr} - sub sp, sp, #8 - ldr r2, [sp, #0x28] - ldr r1, [sp, #0x24] - mov r5, r0 - str r2, [sp] - str r1, [sp, #4] - b _020964f8 -_020964f0: - add r1, r1, #0x30 - str r1, [sp, #4] -_020964f8: - cmp r1, r2 - ldrneb r0, [r1, #7] - cmpne r0, #0xff - bne _020964f0 - ldr lr, [sp, #4] - ldr ip, [sp, #0x28] - mov r0, lr - cmp r0, ip - addne r4, lr, #0x30 - str lr, [sp, #0x24] - cmpne r4, ip - beq _020965a8 -_02096528: - ldrb r0, [r4, #7] - cmp r0, #0xff - beq _0209659c - ldr r1, [r4] - add r0, r4, #0x10 - str r1, [lr] - ldrb r1, [r4, #4] - add r3, lr, #0x10 - add r7, r4, #0x1c - strb r1, [lr, #4] - ldrb r1, [r4, #5] - add r6, lr, #0x1c - strb r1, [lr, #5] - ldrb r1, [r4, #6] - strb r1, [lr, #6] - ldrb r1, [r4, #7] - strb r1, [lr, #7] - ldr r1, [r4, #8] - str r1, [lr, #8] - ldr r1, [r4, #0xc] - str r1, [lr, #0xc] - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldmia r7!, {r0, r1, r2, r3} - stmia r6!, {r0, r1, r2, r3} - ldr r0, [r7] - add lr, lr, #0x30 - str r0, [r6] - str lr, [sp, #0x24] -_0209659c: - add r4, r4, #0x30 - cmp r4, ip - bne _02096528 -_020965a8: - ldr r0, [sp, #0x24] - str r0, [r5] - add sp, sp, #8 - ldmia sp!, {r3, r4, r5, r6, r7, lr} - add sp, sp, #0x10 - bx lr - arm_func_end func_ov00_020964cc - - .global func_ov00_020965c0 - arm_func_start func_ov00_020965c0 -func_ov00_020965c0: ; 0x020965c0 - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0x2c - mov ip, r0 - ldr r0, [ip, #4] - mov r3, r1 - cmp r0, #0x20 - addhs sp, sp, #0x2c - movhs r0, #0 - ldmhsia sp!, {r4, r5, pc} - ldr lr, [r3, #8] - cmp lr, #0 - blt _020966e8 - ldrb r1, [r3, #7] - ldr r2, [r3] - add r0, sp, #0x20 - add r4, sp, #0x14 - str lr, [sp, #0x28] - str r2, [sp, #0x20] - strb r1, [sp, #0x24] - ldmia r0, {r0, r1, r2} - stmia r4, {r0, r1, r2} - ldr r2, [ip] - ldr r1, [ip, #4] - mov r0, #0x30 - mla r5, r1, r0, r2 - str r5, [sp, #0xc] - str r5, [sp, #4] - str r2, [sp, #0x10] - str r2, [sp, #8] - ldrb r4, [sp, #0x18] - ldr lr, [sp, #0x1c] - ldr r1, [sp, #0x14] - b _0209664c -_02096644: - add r2, r2, #0x30 - str r2, [sp, #8] -_0209664c: - cmp r2, r5 - beq _02096670 - ldr r0, [r2] - cmp r1, r0 - ldreqb r0, [r2, #7] - cmpeq r4, r0 - ldreq r0, [r2, #8] - cmpeq lr, r0 - bne _02096644 -_02096670: - ldr r0, [sp, #8] - cmp r0, r5 - beq _020966e8 - ldr r2, [r3] - add r1, r3, #0x10 - str r2, [r0] - ldrb r2, [r3, #4] - add lr, r0, #0x10 - add ip, r3, #0x1c - strb r2, [r0, #4] - ldrb r2, [r3, #5] - add r4, r0, #0x1c - add sp, sp, #0x2c - strb r2, [r0, #5] - ldrb r2, [r3, #6] - strb r2, [r0, #6] - ldrb r2, [r3, #7] - strb r2, [r0, #7] - ldr r2, [r3, #8] - str r2, [r0, #8] - ldr r2, [r3, #0xc] - str r2, [r0, #0xc] - ldmia r1, {r0, r1, r2} - stmia lr, {r0, r1, r2} - ldmia ip!, {r0, r1, r2, r3} - stmia r4!, {r0, r1, r2, r3} - ldr r1, [ip] - mov r0, #1 - str r1, [r4] - ldmia sp!, {r4, r5, pc} -_020966e8: - mov r2, #0 - strb r2, [sp, #1] - ldr r1, [ip, #4] - ldr r0, [ip, #8] - cmp r1, r0 - bhs _02096780 - add r4, r1, #1 - sub r1, r4, #1 - mov r0, #0x30 - mul r2, r1, r0 - str r4, [ip, #4] - ldr r4, [ip] - ldr r1, [r3] - add r0, r4, r2 - str r1, [r4, r2] - ldrb r2, [r3, #4] - add r1, r3, #0x10 - add r4, r0, #0x10 - strb r2, [r0, #4] - ldrb r2, [r3, #5] - add lr, r3, #0x1c - add ip, r0, #0x1c - strb r2, [r0, #5] - ldrb r2, [r3, #6] - strb r2, [r0, #6] - ldrb r2, [r3, #7] - strb r2, [r0, #7] - ldr r2, [r3, #8] - str r2, [r0, #8] - ldr r2, [r3, #0xc] - str r2, [r0, #0xc] - ldmia r1, {r0, r1, r2} - stmia r4, {r0, r1, r2} - ldmia lr!, {r0, r1, r2, r3} - stmia ip!, {r0, r1, r2, r3} - ldr r0, [lr] - str r0, [ip] - b _020967a0 -_02096780: - strb r2, [sp] - sub r1, sp, #4 - and r0, r2, #0xff - strb r0, [r1] - ldr r2, [r1] - mov r0, ip - mov r1, r3 - bl func_ov00_02096a58 -_020967a0: - mov r0, #1 - add sp, sp, #0x2c - ldmia sp!, {r4, r5, pc} - arm_func_end func_ov00_020965c0 - - .global func_ov00_020967ac - arm_func_start func_ov00_020967ac -func_ov00_020967ac: ; 0x020967ac - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #0xe4 - mov r7, r0 - ldr r3, [r7, #4] - mov r0, #0x30 - mul ip, r3, r0 - mov r6, r1 - ldr r1, [r7] - mov r5, r2 - add r0, r1, ip - mov r4, r1 - cmp r1, r0 - beq _02096994 -_020967e0: - ldr r0, [r4] - cmp r6, r0 - ldreqb r0, [r4, #7] - cmpeq r5, r0 - bne _02096974 - ldrb r0, [r4, #4] - cmp r0, #0 - beq _020968b4 - ldr r0, [r4, #8] - cmp r0, #0 - bge _02096974 - add r0, sp, #0x2c - bl func_ov00_020c1500 - mvn r1, #0 - add r0, sp, #0x2c - str r1, [sp, #0x48] - str r1, [sp, #0x4c] - bl func_ov00_020c3348 - ldrh r2, [r4, #0x1c] - ldrh r0, [r4, #0x1e] - mov r1, #0 - add r3, sp, #0x2c - strh r2, [sp, #0x2c] - strh r0, [sp, #0x2e] - ldrh lr, [r4, #0x20] - ldrh ip, [r4, #0x22] - ldr r0, _020969f0 ; =data_027e0fe8 - add r2, r4, #0x10 - strh lr, [sp, #0x30] - strh ip, [sp, #0x32] - ldrb lr, [r4, #0x24] - ldrb ip, [r4, #0x25] - strb lr, [sp, #0x34] - strb ip, [sp, #0x35] - ldrb lr, [r4, #0x26] - ldrb ip, [r4, #0x27] - strb lr, [sp, #0x36] - strb ip, [sp, #0x37] - ldrsb ip, [r4, #0x28] - strb ip, [sp, #0x38] - ldrb ip, [r4, #0x29] - strb ip, [sp, #0x39] - ldrb ip, [r4, #0x2a] - strb ip, [sp, #0x3a] - ldrsb ip, [r4, #0x2b] - strb ip, [sp, #0x3b] - ldr ip, [r4, #0x2c] - str ip, [sp, #0x3c] - str r1, [sp] - ldr r0, [r0] - ldr r1, [r4, #0xc] - bl func_ov00_020c4048 - b _0209696c -_020968b4: - ldr ip, [r4, #8] - cmp ip, #0 - blt _02096974 - ldr r3, [r4, #0xc] - ldr r2, _020969f4 ; =data_ov00_020e30c8 - add lr, sp, #0x64 - mov r1, #0x10 - mov r0, #0 - str r1, [sp, #0x5c] - str r0, [sp, #0x60] - str r2, [sp, #0x20] - str ip, [sp, #0x24] - str r3, [sp, #0x28] - str lr, [sp, #0x58] - mvn r1, #0 - add r0, sp, #0xe4 -_020968f4: - str r1, [lr] - str r1, [lr, #4] - add lr, lr, #8 - cmp lr, r0 - blo _020968f4 - ldr r0, _020969f8 ; =data_027e0fe4 - add r1, sp, #0x20 - ldr r0, [r0] - add r2, sp, #0x58 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList - cmp r0, #0 - ble _02096974 - ldr r0, _020969f8 ; =data_027e0fe4 - ldr r1, [sp, #0x58] - ldr r0, [r0] - bl _ZN12ActorManager8GetActorEP8ActorRef - cmp r0, #0 - beq _02096974 - ldr r1, [r4, #0x10] - str r1, [r0, #0x48] - ldr r1, [r4, #0x14] - str r1, [r0, #0x4c] - ldr r1, [r4, #0x18] - str r1, [r0, #0x50] - ldr r1, [r4, #0x10] - str r1, [r0, #0x54] - ldr r1, [r4, #0x14] - str r1, [r0, #0x58] - ldr r1, [r4, #0x18] - str r1, [r0, #0x5c] -_0209696c: - mov r0, #0xff - strb r0, [r4, #7] -_02096974: - ldr r1, [r7, #4] - mov r0, #0x30 - mul ip, r1, r0 - ldr r1, [r7] - add r4, r4, #0x30 - add r0, r1, ip - cmp r4, r0 - bne _020967e0 -_02096994: - ldrb r0, [sp, #5] - add r2, r1, ip - sub r3, sp, #4 - strb r0, [r3] - ldr r3, [r3] - add r0, sp, #0x1c - str r2, [sp, #0x10] - str r2, [sp, #8] - str r2, [sp, #0x14] - str r1, [sp, #0x18] - bl func_ov00_020964cc - mov r2, #0 - ldr r1, [sp, #0x1c] - strb r2, [sp, #4] - sub r0, sp, #4 - strb r2, [r0] - ldr r3, [r0] - ldr r2, [sp, #8] - mov r0, r7 - str r1, [sp, #0xc] - bl func_ov00_02096c3c - add sp, sp, #0xe4 - ldmia sp!, {r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end func_ov00_020967ac -_020969f0: .word data_027e0fe8 -_020969f4: .word data_ov00_020e30c8 -_020969f8: .word data_027e0fe4 - - .global func_ov00_020969fc - arm_func_start func_ov00_020969fc -func_ov00_020969fc: ; 0x020969fc - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02096d38 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_020969fc - - .global func_ov00_02096a10 - arm_func_start func_ov00_02096a10 -func_ov00_02096a10: ; 0x02096a10 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r1, [r4] - cmp r1, #0 - beq _02096a4c - ldr r1, [r4, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_02096a88 - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_02096a4c: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02096a10 - - .global func_ov00_02096a58 - arm_func_start func_ov00_02096a58 -func_ov00_02096a58: ; 0x02096a58 - stmdb sp!, {r3, r4, r5, lr} - mov r4, r1 - mov r2, #0 - mov r5, r0 - mov r1, #1 - strb r2, [sp] - bl func_ov00_0209703c - mov r0, r5 - mov r2, r4 - mov r1, #1 - bl func_ov00_02096de0 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02096a58 - - .global func_ov00_02096a88 - arm_func_start func_ov00_02096a88 -func_ov00_02096a88: ; 0x02096a88 - ldr r2, [r0, #4] - sub r1, r2, r1 - str r1, [r0, #4] - bx lr - arm_func_end func_ov00_02096a88 - - .global func_ov00_02096a98 - arm_func_start func_ov00_02096a98 -func_ov00_02096a98: ; 0x02096a98 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #0x10 - mov r4, r0 - ldrb r3, [r4, #8] - mov r5, r1 - mov r1, #0 - str r1, [sp, #4] - str r1, [sp, #8] - sub r0, sp, #4 - strb r3, [r0] - ldr r2, [r0] - add r0, sp, #0xc - strb r3, [sp, #3] - bl func_ov00_02096dd8 - mov r1, #0 - strb r1, [sp, #2] - sub r0, sp, #4 - strb r1, [r0] - ldr r2, [r0] - add r0, sp, #4 - mov r1, r5 - bl func_ov00_0209710c - ldr ip, [r4] - ldr r1, [r4, #4] - mov r0, #0x30 - mla r3, r1, r0, ip - mov r5, #0 - ldr r2, [sp, #4] - ldr r1, [sp, #8] - strb r5, [sp, #1] - mla lr, r1, r0, r2 - cmp ip, r3 - bhs _02096bf0 -_02096b1c: - cmp lr, #0 - beq _02096bd4 - ldr r1, [ip] - add r0, ip, #0x10 - str r1, [lr] - ldrb r1, [ip, #4] - add r5, lr, #0x10 - strb r1, [lr, #4] - ldrb r1, [ip, #5] - strb r1, [lr, #5] - ldrb r1, [ip, #6] - strb r1, [lr, #6] - ldrb r1, [ip, #7] - strb r1, [lr, #7] - ldr r1, [ip, #8] - str r1, [lr, #8] - ldr r1, [ip, #0xc] - str r1, [lr, #0xc] - ldmia r0, {r0, r1, r2} - stmia r5, {r0, r1, r2} - ldrh r1, [ip, #0x1c] - ldrh r0, [ip, #0x1e] - strh r1, [lr, #0x1c] - strh r0, [lr, #0x1e] - ldrh r1, [ip, #0x20] - ldrh r0, [ip, #0x22] - strh r1, [lr, #0x20] - strh r0, [lr, #0x22] - ldrb r1, [ip, #0x24] - ldrb r0, [ip, #0x25] - strb r1, [lr, #0x24] - strb r0, [lr, #0x25] - ldrb r1, [ip, #0x26] - ldrb r0, [ip, #0x27] - strb r1, [lr, #0x26] - strb r0, [lr, #0x27] - ldrsb r0, [ip, #0x28] - strb r0, [lr, #0x28] - ldrb r0, [ip, #0x29] - strb r0, [lr, #0x29] - ldrb r0, [ip, #0x2a] - strb r0, [lr, #0x2a] - ldrsb r0, [ip, #0x2b] - strb r0, [lr, #0x2b] - ldr r0, [ip, #0x2c] - str r0, [lr, #0x2c] -_02096bd4: - ldr r0, [sp, #8] - add ip, ip, #0x30 - add r0, r0, #1 - str r0, [sp, #8] - cmp ip, r3 - add lr, lr, #0x30 - blo _02096b1c -_02096bf0: - mov r0, #0 - strb r0, [sp] - add r3, sp, #0xc - ldr r2, [r4, #8] - ldr r1, [r3] - add r0, sp, #4 - str r1, [r4, #8] - str r2, [r3] - ldr r2, [r4] - ldr r1, [sp, #4] - str r1, [r4] - str r2, [sp, #4] - ldr r2, [r4, #4] - ldr r1, [sp, #8] - str r1, [r4, #4] - str r2, [sp, #8] - bl func_ov00_02096d88 - add sp, sp, #0x10 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02096a98 - - .global func_ov00_02096c3c - arm_func_start func_ov00_02096c3c -func_ov00_02096c3c: ; 0x02096c3c - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - mov r6, r1 - mov r5, r2 - mov r7, r0 - cmp r6, r5 - beq _02096d2c - ldr r2, [r7] - ldr r1, [r7, #4] - mov r0, #0x30 - mla r4, r1, r0, r2 - sub r1, r4, r5 - ldr r2, _02096d34 ; =0x2aaaaaab - mov r0, r1, lsr #0x1f - smull r1, r3, r2, r1 - adds r3, r0, r3, asr #3 - beq _02096cfc - mov lr, r6 - mov ip, r5 - cmp r5, r4 - bhs _02096cfc -_02096c8c: - ldr r1, [ip] - add r0, ip, #0x10 - str r1, [lr] - ldrb r1, [ip, #4] - add r3, lr, #0x10 - add r9, ip, #0x1c - strb r1, [lr, #4] - ldrb r1, [ip, #5] - add r8, lr, #0x1c - strb r1, [lr, #5] - ldrb r1, [ip, #6] - strb r1, [lr, #6] - ldrb r1, [ip, #7] - strb r1, [lr, #7] - ldr r1, [ip, #8] - str r1, [lr, #8] - ldr r1, [ip, #0xc] - add ip, ip, #0x30 - str r1, [lr, #0xc] - ldmia r0, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldmia r9!, {r0, r1, r2, r3} - stmia r8!, {r0, r1, r2, r3} - ldr r0, [r9] - cmp ip, r4 - str r0, [r8] - add lr, lr, #0x30 - blo _02096c8c -_02096cfc: - mov r0, #0 - ldr r2, _02096d34 ; =0x2aaaaaab - sub r3, r5, r6 - strb r0, [sp] - sub r4, sp, #4 - strb r0, [r4] - smull r0, r1, r2, r3 - mov r3, r3, lsr #0x1f - ldr r2, [r4] - mov r0, r7 - add r1, r3, r1, asr #3 - bl func_ov00_02096a88 -_02096d2c: - mov r0, r6 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - .align 2, 0 - arm_func_end func_ov00_02096c3c -_02096d34: .word 0x2aaaaaab - - .global func_ov00_02096d38 - arm_func_start func_ov00_02096d38 -func_ov00_02096d38: ; 0x02096d38 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r1, #0 - str r1, [r4] - add r0, r4, #8 - str r1, [r4, #4] - bl func_ov00_02096dd0 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02096d38 - - .global func_ov00_02096d5c - arm_func_start func_ov00_02096d5c -func_ov00_02096d5c: ; 0x02096d5c - ldr r3, [r0, #4] - ldr r2, [r1, #0x3c] - cmp r3, r2 - movne r0, #0 - bxne lr - ldr r2, [r0, #8] - ldr r0, [r1, #4] - cmp r2, r0 - moveq r0, #1 - movne r0, #0 - bx lr - arm_func_end func_ov00_02096d5c - - .global func_ov00_02096d88 - arm_func_start func_ov00_02096d88 -func_ov00_02096d88: ; 0x02096d88 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r1, [r4] - cmp r1, #0 - beq _02096dc4 - ldr r1, [r4, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_02096a88 - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_02096dc4: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02096d88 - - .global func_ov00_02096dd0 - arm_func_start func_ov00_02096dd0 -func_ov00_02096dd0: ; 0x02096dd0 - str r1, [r0] - bx lr - arm_func_end func_ov00_02096dd0 - - .global func_ov00_02096dd8 - arm_func_start func_ov00_02096dd8 -func_ov00_02096dd8: ; 0x02096dd8 - str r1, [r0] - bx lr - arm_func_end func_ov00_02096dd8 - - .global func_ov00_02096de0 - arm_func_start func_ov00_02096de0 -func_ov00_02096de0: ; 0x02096de0 - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x1c - mov r4, r0 - mov r7, r1 - add r0, sp, #8 - add r1, r4, #8 - mov r6, r2 - bl func_ov00_02097200 - mov r0, #0 - str r0, [sp, #0x18] - ldmib r4, {r0, r1} - add r2, r0, r7 - mov r0, r4 - sub r1, r2, r1 - bl func_ov00_0209703c - mov r3, #0 - mov r1, r0 - strb r3, [sp, #4] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - add r0, sp, #8 - strb r3, [sp] - bl func_ov00_020971b8 - ldr r3, [r4, #4] - mov r0, #0 - strb r0, [sp, #3] - ldr r1, [sp, #8] - mov r0, #0x30 - mla r2, r3, r0, r1 - ldr r1, [sp, #0xc] - str r3, [sp, #0x18] - mla lr, r1, r0, r2 - cmp r7, #0 - mov r5, r7 - beq _02096edc - add ip, r6, #0x10 -_02096e74: - ldr r0, [r6] - add r3, lr, #0x10 - str r0, [lr] - ldrb r0, [r6, #4] - add r9, r6, #0x1c - add r8, lr, #0x1c - strb r0, [lr, #4] - ldrb r0, [r6, #5] - subs r5, r5, #1 - strb r0, [lr, #5] - ldrb r0, [r6, #6] - strb r0, [lr, #6] - ldrb r0, [r6, #7] - strb r0, [lr, #7] - ldr r0, [r6, #8] - str r0, [lr, #8] - ldr r0, [r6, #0xc] - str r0, [lr, #0xc] - ldmia ip, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldmia r9!, {r0, r1, r2, r3} - stmia r8!, {r0, r1, r2, r3} - ldr r0, [r9] - add lr, lr, #0x30 - str r0, [r8] - bne _02096e74 -_02096edc: - ldr r1, [sp, #0xc] - mov r0, #0x30 - add r1, r1, r7 - str r1, [sp, #0xc] - ldr r5, [r4] - ldr r1, [r4, #4] - mov r6, #0 - mla r3, r1, r0, r5 - ldr r2, [sp, #8] - ldr r1, [sp, #0x18] - strb r6, [sp, #2] - mla ip, r1, r0, r2 - cmp r3, r5 - bls _02096ff0 -_02096f14: - sub r3, r3, #0x30 - subs ip, ip, #0x30 - beq _02096fd0 - ldr r1, [r3] - add r0, r3, #0x10 - str r1, [ip] - ldrb r1, [r3, #4] - add r6, ip, #0x10 - strb r1, [ip, #4] - ldrb r1, [r3, #5] - strb r1, [ip, #5] - ldrb r1, [r3, #6] - strb r1, [ip, #6] - ldrb r1, [r3, #7] - strb r1, [ip, #7] - ldr r1, [r3, #8] - str r1, [ip, #8] - ldr r1, [r3, #0xc] - str r1, [ip, #0xc] - ldmia r0, {r0, r1, r2} - stmia r6, {r0, r1, r2} - ldrh r1, [r3, #0x1c] - ldrh r0, [r3, #0x1e] - strh r1, [ip, #0x1c] - strh r0, [ip, #0x1e] - ldrh r1, [r3, #0x20] - ldrh r0, [r3, #0x22] - strh r1, [ip, #0x20] - strh r0, [ip, #0x22] - ldrb r1, [r3, #0x24] - ldrb r0, [r3, #0x25] - strb r1, [ip, #0x24] - strb r0, [ip, #0x25] - ldrb r1, [r3, #0x26] - ldrb r0, [r3, #0x27] - strb r1, [ip, #0x26] - strb r0, [ip, #0x27] - ldrsb r0, [r3, #0x28] - strb r0, [ip, #0x28] - ldrb r0, [r3, #0x29] - strb r0, [ip, #0x29] - ldrb r0, [r3, #0x2a] - strb r0, [ip, #0x2a] - ldrsb r0, [r3, #0x2b] - strb r0, [ip, #0x2b] - ldr r0, [r3, #0x2c] - str r0, [ip, #0x2c] -_02096fd0: - ldr r1, [sp, #0x18] - ldr r0, [sp, #0xc] - sub r1, r1, #1 - add r0, r0, #1 - str r1, [sp, #0x18] - str r0, [sp, #0xc] - cmp r3, r5 - bhi _02096f14 -_02096ff0: - mov r0, #0 - strb r0, [sp, #1] - add r3, sp, #0x10 - ldr r2, [r4, #8] - ldr r1, [r3] - add r0, sp, #8 - str r1, [r4, #8] - str r2, [r3] - ldr r2, [r4] - ldr r1, [sp, #8] - str r1, [r4] - str r2, [sp, #8] - ldr r2, [r4, #4] - ldr r1, [sp, #0xc] - str r1, [r4, #4] - str r2, [sp, #0xc] - bl func_ov00_02097154 - add sp, sp, #0x1c - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} - arm_func_end func_ov00_02096de0 - - .global func_ov00_0209703c - arm_func_start func_ov00_0209703c -func_ov00_0209703c: ; 0x0209703c - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, lr} - sub sp, sp, #8 - ldr r4, [r0, #8] - ldr r0, _02097100 ; =0x05555555 - ldr r1, [sp, #0x14] - sub r0, r0, r4 - cmp r1, r0 - bls _02097064 - bl func_0204dd9c -_02097064: - ldr r0, _02097104 ; =0x01c71c71 - cmp r4, r0 - bhs _020970b0 - add r1, r4, #1 - ldr r0, _02097108 ; =0xcccccccd - add r1, r1, r1, lsl #1 - umull r0, r2, r1, r0 - mov r2, r2, lsr #0x2 - ldr r0, [sp, #0x14] - str r2, [sp, #4] - cmp r0, r2 - addhi r0, sp, #0x14 - addls r0, sp, #4 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_020970b0: - cmp r4, r0, lsl #1 - bhs _020970ec - ldr r0, [sp, #0x14] - add r1, r4, #1 - mov r2, r1, lsr #0x1 - cmp r0, r1, lsr #1 - addhi r0, sp, #0x14 - str r2, [sp] - addls r0, sp, #0 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_020970ec: - ldr r0, _02097100 ; =0x05555555 - add sp, sp, #8 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr - .align 2, 0 - arm_func_end func_ov00_0209703c -_02097100: .word 0x05555555 -_02097104: .word 0x01c71c71 -_02097108: .word 0xcccccccd - - .global func_ov00_0209710c - arm_func_start func_ov00_0209710c -func_ov00_0209710c: ; 0x0209710c - stmdb sp!, {r3, r4, r5, lr} - ldr r2, _0209714c ; =0x05555555 - mov r4, r1 - mov r5, r0 - cmp r4, r2 - bls _02097128 - bl func_0204dd9c -_02097128: - mov r0, #0x30 - mul r0, r4, r0 - ldr r1, _02097150 ; =data_027e0ce0 - mov r2, #4 - ldr r1, [r1, #4] - bl _ZN9SysObjectnwEmPjj - str r0, [r5] - str r4, [r5, #8] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0209710c -_0209714c: .word 0x05555555 -_02097150: .word data_027e0ce0 - - .global func_ov00_02097154 - arm_func_start func_ov00_02097154 -func_ov00_02097154: ; 0x02097154 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r1, #0 - str r1, [r4, #4] - bl func_ov00_02097170 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02097154 - - .global func_ov00_02097170 - arm_func_start func_ov00_02097170 -func_ov00_02097170: ; 0x02097170 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r1, [r4] - cmp r1, #0 - beq _020971ac - ldr r1, [r4, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_02097230 - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_020971ac: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02097170 - - .global func_ov00_020971b8 - arm_func_start func_ov00_020971b8 -func_ov00_020971b8: ; 0x020971b8 - stmdb sp!, {r3, r4, r5, lr} - ldr r2, _020971f8 ; =0x05555555 - mov r4, r1 - mov r5, r0 - cmp r4, r2 - bls _020971d4 - bl func_0204dd9c -_020971d4: - mov r0, #0x30 - mul r0, r4, r0 - ldr r1, _020971fc ; =data_027e0ce0 - mov r2, #4 - ldr r1, [r1, #4] - bl _ZN9SysObjectnwEmPjj - str r0, [r5] - str r4, [r5, #8] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_020971b8 -_020971f8: .word 0x05555555 -_020971fc: .word data_027e0ce0 - - .global func_ov00_02097200 - arm_func_start func_ov00_02097200 -func_ov00_02097200: ; 0x02097200 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r2, r1 - mov r1, #0 - str r1, [r4] - add r0, r4, #8 - str r1, [r4, #4] - bl func_ov00_02097228 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02097200 - - .global func_ov00_02097228 - arm_func_start func_ov00_02097228 -func_ov00_02097228: ; 0x02097228 - stmia r0, {r1, r2} - bx lr - arm_func_end func_ov00_02097228 - - .global func_ov00_02097230 - arm_func_start func_ov00_02097230 -func_ov00_02097230: ; 0x02097230 - ldr r2, [r0, #4] - sub r1, r2, r1 - str r1, [r0, #4] - bx lr - arm_func_end func_ov00_02097230 - - .global func_ov00_02097240 - arm_func_start func_ov00_02097240 -func_ov00_02097240: ; 0x02097240 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r0, #0 - strb r0, [r5] - ldrb r4, [r1] - ldr lr, [sp, #0x10] - ldr ip, [sp, #0x14] - strb r4, [r5, #1] - ldrh r4, [r1, #4] - strh r4, [r5, #2] - ldrh r4, [r1, #6] - add r1, r5, #0x20 - strh r4, [r5, #4] - str lr, [r5, #8] - str ip, [r5, #0xc] - strb r2, [r5, #0x10] - strb r3, [r5, #0x11] - str r0, [r5, #0x14] - str r0, [r5, #0x18] - mov r2, #4 - str r0, [r5, #0x1c] - bl func_020078f4 - add r1, r5, #0x24 - mov r0, #0 - mov r2, #0x20 - bl func_020078f4 - add r1, r5, #0x44 - mov r0, #0 - mov r2, #8 - bl func_020078f4 - add r1, r5, #0x4c - mov r0, #0 - mov r2, #8 - bl func_020078f4 - mov r0, #0 - add r1, r5, #0x54 - mov r2, #4 - bl func_020078f4 - mov r0, r5 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02097240 - - .global func_ov00_020972e0 - arm_func_start func_ov00_020972e0 -func_ov00_020972e0: ; 0x020972e0 - bx lr - arm_func_end func_ov00_020972e0 - - .global func_ov00_020972e4 - arm_func_start func_ov00_020972e4 -func_ov00_020972e4: ; 0x020972e4 - ldrh ip, [r0, #2] - cmp r3, #0 - strh ip, [r1] - beq _0209731c - ldr r1, [r0, #0x54] - str r1, [r2, #8] - ldrb r0, [r0] - cmp r0, #0 - ldr r0, [r2, #8] - orrne r0, r0, #0x80000000 - strne r0, [r2, #8] - biceq r0, r0, #0x80000000 - streq r0, [r2, #8] - bx lr -_0209731c: - ldr r3, [r0, #0x4c] - ldr r1, [r0, #0x50] - str r3, [r2] - str r1, [r2, #4] - ldr r1, [r0, #0x54] - str r1, [r2, #8] - ldrb r0, [r0] - cmp r0, #0 - ldr r0, [r2, #8] - orrne r0, r0, #0x80000000 - strne r0, [r2, #8] - biceq r0, r0, #0x80000000 - streq r0, [r2, #8] - bx lr - arm_func_end func_ov00_020972e4 - - .global func_ov00_02097354 - arm_func_start func_ov00_02097354 -func_ov00_02097354: ; 0x02097354 - stmdb sp!, {r4, lr} - mov r4, r0 - ldrh r1, [r4, #2] - ldr r0, _02097404 ; =0x0000ffff - cmp r1, r0 - beq _020973a8 - mov r0, #0xc - mul r0, r1, r0 - ldr r1, _02097408 ; =data_ov00_020ea110 - add r2, r1, r0 - ldr r1, [r1, r0] - ldr r0, [r2, #4] - str r1, [r4, #0x4c] - str r0, [r4, #0x50] - ldr r0, [r2, #8] - str r0, [r4, #0x54] - ldr r0, [r2, #8] - tst r0, #0x80000000 - movne r0, #1 - moveq r0, #0 - b _020973cc -_020973a8: - add r1, r4, #0x4c - mov r0, #0 - mov r2, #8 - bl func_020078f4 - add r1, r4, #0x54 - mov r0, #0 - mov r2, #4 - bl func_020078f4 - mov r0, #0 -_020973cc: - strb r0, [r4] - add r1, r4, #0x44 - mov r0, #0 - mov r2, #8 - bl func_020078f4 - add r1, r4, #0x20 - mov r0, #0 - mov r2, #4 - bl func_020078f4 - add r1, r4, #0x24 - mov r0, #0 - mov r2, #0x20 - bl func_020078f4 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_02097354 -_02097404: .word 0x0000ffff -_02097408: .word data_ov00_020ea110 - - .global func_ov00_0209740c - arm_func_start func_ov00_0209740c -func_ov00_0209740c: ; 0x0209740c - cmp r2, #0 - beq _02097434 - add ip, r0, #0x20 - mov r3, r1, lsr #0x5 - and r0, r1, #0x1f - ldr r2, [ip, r3, lsl #2] - mov r1, #1 - orr r0, r2, r1, lsl r0 - str r0, [ip, r3, lsl #2] - bx lr -_02097434: - add r3, r0, #0x20 - mov r2, r1, lsr #0x5 - and r0, r1, #0x1f - mov r1, #1 - mvn r0, r1, lsl r0 - ldr r1, [r3, r2, lsl #2] - and r0, r1, r0 - str r0, [r3, r2, lsl #2] - bx lr - arm_func_end func_ov00_0209740c - - .global func_ov00_02097458 - arm_func_start func_ov00_02097458 -func_ov00_02097458: ; 0x02097458 - mov r2, r1, lsr #0x5 - add r0, r0, r2, lsl #2 - ldr r2, [r0, #0x20] - and r1, r1, #0x1f - mov r0, #1 - tst r2, r0, lsl r1 - moveq r0, #0 - bx lr - arm_func_end func_ov00_02097458 - - .global func_ov00_02097478 - arm_func_start func_ov00_02097478 -func_ov00_02097478: ; 0x02097478 - cmp r2, #0 - beq _020974a0 - add ip, r0, #0x24 - mov r3, r1, lsr #0x5 - and r0, r1, #0x1f - ldr r2, [ip, r3, lsl #2] - mov r1, #1 - orr r0, r2, r1, lsl r0 - str r0, [ip, r3, lsl #2] - bx lr -_020974a0: - add r3, r0, #0x24 - mov r2, r1, lsr #0x5 - and r0, r1, #0x1f - mov r1, #1 - mvn r0, r1, lsl r0 - ldr r1, [r3, r2, lsl #2] - and r0, r1, r0 - str r0, [r3, r2, lsl #2] - bx lr - arm_func_end func_ov00_02097478 - - .global func_ov00_020974c4 - arm_func_start func_ov00_020974c4 -func_ov00_020974c4: ; 0x020974c4 - mov r2, r1, lsr #0x5 - add r0, r0, r2, lsl #2 - ldr r2, [r0, #0x24] - and r1, r1, #0x1f - mov r0, #1 - tst r2, r0, lsl r1 - moveq r0, #0 - bx lr - arm_func_end func_ov00_020974c4 - - .global func_ov00_020974e4 - arm_func_start func_ov00_020974e4 -func_ov00_020974e4: ; 0x020974e4 - cmp r2, #0 - beq _0209750c - add ip, r0, #0x44 - mov r3, r1, lsr #0x5 - and r0, r1, #0x1f - ldr r2, [ip, r3, lsl #2] - mov r1, #1 - orr r0, r2, r1, lsl r0 - str r0, [ip, r3, lsl #2] - bx lr -_0209750c: - add r3, r0, #0x44 - mov r2, r1, lsr #0x5 - and r0, r1, #0x1f - mov r1, #1 - mvn r0, r1, lsl r0 - ldr r1, [r3, r2, lsl #2] - and r0, r1, r0 - str r0, [r3, r2, lsl #2] - bx lr - arm_func_end func_ov00_020974e4 - - .global func_ov00_02097530 - arm_func_start func_ov00_02097530 -func_ov00_02097530: ; 0x02097530 - mov r2, r1, lsr #0x5 - add r0, r0, r2, lsl #2 - ldr r2, [r0, #0x44] - and r1, r1, #0x1f - mov r0, #1 - tst r2, r0, lsl r1 - moveq r0, #0 - bx lr - arm_func_end func_ov00_02097530 - - .global func_ov00_02097550 - arm_func_start func_ov00_02097550 -func_ov00_02097550: ; 0x02097550 - cmp r2, #0 - beq _02097578 - add ip, r0, #0x4c - mov r3, r1, lsr #0x5 - and r0, r1, #0x1f - ldr r2, [ip, r3, lsl #2] - mov r1, #1 - orr r0, r2, r1, lsl r0 - str r0, [ip, r3, lsl #2] - bx lr -_02097578: - add r3, r0, #0x4c - mov r2, r1, lsr #0x5 - and r0, r1, #0x1f - mov r1, #1 - mvn r0, r1, lsl r0 - ldr r1, [r3, r2, lsl #2] - and r0, r1, r0 - str r0, [r3, r2, lsl #2] - bx lr - arm_func_end func_ov00_02097550 - - .global func_ov00_0209759c - arm_func_start func_ov00_0209759c -func_ov00_0209759c: ; 0x0209759c - mov r2, r1, lsr #0x5 - add r0, r0, r2, lsl #2 - ldr r2, [r0, #0x4c] - and r1, r1, #0x1f - mov r0, #1 - tst r2, r0, lsl r1 - moveq r0, #0 - bx lr - arm_func_end func_ov00_0209759c - - .global func_ov00_020975bc - arm_func_start func_ov00_020975bc -func_ov00_020975bc: ; 0x020975bc - cmp r2, #0 - beq _020975e4 - add ip, r0, #0x54 - mov r3, r1, lsr #0x5 - and r0, r1, #0x1f - ldr r2, [ip, r3, lsl #2] - mov r1, #1 - orr r0, r2, r1, lsl r0 - str r0, [ip, r3, lsl #2] - bx lr -_020975e4: - add r3, r0, #0x54 - mov r2, r1, lsr #0x5 - and r0, r1, #0x1f - mov r1, #1 - mvn r0, r1, lsl r0 - ldr r1, [r3, r2, lsl #2] - and r0, r1, r0 - str r0, [r3, r2, lsl #2] - bx lr - arm_func_end func_ov00_020975bc - - .global func_ov00_02097608 - arm_func_start func_ov00_02097608 -func_ov00_02097608: ; 0x02097608 - mov r2, r1, lsr #0x5 - add r0, r0, r2, lsl #2 - ldr r2, [r0, #0x54] - and r1, r1, #0x1f - mov r0, #1 - tst r2, r0, lsl r1 - moveq r0, #0 - bx lr - arm_func_end func_ov00_02097608 - .rodata .global data_ov00_020d8798 data_ov00_020d8798: ; 0x020d8798 @@ -37104,1232 +10216,6 @@ data_ov00_020d88e8: ; 0x020d88e8 .global data_ov00_020d88ec data_ov00_020d88ec: ; 0x020d88ec .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d88f0 -data_ov00_020d88f0: ; 0x020d88f0 - .byte 0x51, 0x00, 0x00, 0x00 - .global data_ov00_020d88f4 -data_ov00_020d88f4: ; 0x020d88f4 - .byte 0x6e, 0x00, 0x00, 0x00 - .global data_ov00_020d88f8 -data_ov00_020d88f8: ; 0x020d88f8 - .byte 0x65, 0x00, 0x00, 0x00 - .global data_ov00_020d88fc -data_ov00_020d88fc: ; 0x020d88fc - .byte 0x50, 0x00, 0x00, 0x00 - .global data_ov00_020d8900 -data_ov00_020d8900: ; 0x020d8900 - .byte 0x30, 0x00, 0x00, 0x00 - .global data_ov00_020d8904 -data_ov00_020d8904: ; 0x020d8904 - .byte 0x74, 0x00, 0x00, 0x00 - .global data_ov00_020d8908 -data_ov00_020d8908: ; 0x020d8908 - .byte 0x49, 0x00, 0x00, 0x00 - .global data_ov00_020d890c -data_ov00_020d890c: ; 0x020d890c - .byte 0x50, 0x00, 0x00, 0x00 - .global data_ov00_020d8910 -data_ov00_020d8910: ; 0x020d8910 - .byte 0x51, 0x00, 0x00, 0x00 - .global data_ov00_020d8914 -data_ov00_020d8914: ; 0x020d8914 - .byte 0x54, 0x00, 0x00, 0x00 - .global data_ov00_020d8918 -data_ov00_020d8918: ; 0x020d8918 - .byte 0x52, 0x00, 0x00, 0x00 - .global data_ov00_020d891c -data_ov00_020d891c: ; 0x020d891c - .byte 0x53, 0x00, 0x00, 0x00 - .global data_ov00_020d8920 -data_ov00_020d8920: ; 0x020d8920 - .byte 0x55, 0x00, 0x00, 0x00 - .global data_ov00_020d8924 -data_ov00_020d8924: ; 0x020d8924 - .byte 0x56, 0x00, 0x00, 0x00 - .global data_ov00_020d8928 -data_ov00_020d8928: ; 0x020d8928 - .byte 0x57, 0x00, 0x00, 0x00 - .global data_ov00_020d892c -data_ov00_020d892c: ; 0x020d892c - .byte 0x58, 0x00, 0x00, 0x00 - .global data_ov00_020d8930 -data_ov00_020d8930: ; 0x020d8930 - .byte 0x59, 0x00, 0x00, 0x00 - .global data_ov00_020d8934 -data_ov00_020d8934: ; 0x020d8934 - .byte 0x5a, 0x00, 0x00, 0x00 - .global data_ov00_020d8938 -data_ov00_020d8938: ; 0x020d8938 - .byte 0x5f, 0x00, 0x00, 0x00 - .global data_ov00_020d893c -data_ov00_020d893c: ; 0x020d893c - .byte 0x60, 0x00, 0x00, 0x00 - .global data_ov00_020d8940 -data_ov00_020d8940: ; 0x020d8940 - .byte 0x61, 0x00, 0x00, 0x00 - .global data_ov00_020d8944 -data_ov00_020d8944: ; 0x020d8944 - .byte 0x5c, 0x00, 0x00, 0x00 - .global data_ov00_020d8948 -data_ov00_020d8948: ; 0x020d8948 - .byte 0x5b, 0x00, 0x00, 0x00 - .global data_ov00_020d894c -data_ov00_020d894c: ; 0x020d894c - .byte 0x5e, 0x00, 0x00, 0x00 - .global data_ov00_020d8950 -data_ov00_020d8950: ; 0x020d8950 - .byte 0x62, 0x00, 0x00, 0x00 - .global data_ov00_020d8954 -data_ov00_020d8954: ; 0x020d8954 - .byte 0x63, 0x00, 0x00, 0x00 - .global data_ov00_020d8958 -data_ov00_020d8958: ; 0x020d8958 - .byte 0x64, 0x00, 0x00, 0x00 - .global data_ov00_020d895c -data_ov00_020d895c: ; 0x020d895c - .byte 0x3f, 0x00, 0x00, 0x00 - .global data_ov00_020d8960 -data_ov00_020d8960: ; 0x020d8960 - .byte 0x40, 0x00, 0x00, 0x00 - .global data_ov00_020d8964 -data_ov00_020d8964: ; 0x020d8964 - .byte 0x41, 0x00, 0x00, 0x00 - .global data_ov00_020d8968 -data_ov00_020d8968: ; 0x020d8968 - .byte 0x42, 0x00, 0x00, 0x00 - .global data_ov00_020d896c -data_ov00_020d896c: ; 0x020d896c - .byte 0x43, 0x00, 0x00, 0x00 - .global data_ov00_020d8970 -data_ov00_020d8970: ; 0x020d8970 - .byte 0x44, 0x00, 0x00, 0x00 - .global data_ov00_020d8974 -data_ov00_020d8974: ; 0x020d8974 - .byte 0x45, 0x00, 0x00, 0x00 - .global data_ov00_020d8978 -data_ov00_020d8978: ; 0x020d8978 - .byte 0x46, 0x00, 0x00, 0x00 - .global data_ov00_020d897c -data_ov00_020d897c: ; 0x020d897c - .byte 0x5d, 0x00, 0x00, 0x00 - .global data_ov00_020d8980 -data_ov00_020d8980: ; 0x020d8980 - .byte 0x31, 0x00, 0x00, 0x00 - .global data_ov00_020d8984 -data_ov00_020d8984: ; 0x020d8984 - .byte 0x39, 0x00, 0x00, 0x00 - .global data_ov00_020d8988 -data_ov00_020d8988: ; 0x020d8988 - .byte 0x3a, 0x00, 0x00, 0x00 - .global data_ov00_020d898c -data_ov00_020d898c: ; 0x020d898c - .byte 0x3b, 0x00, 0x00, 0x00 - .global data_ov00_020d8990 -data_ov00_020d8990: ; 0x020d8990 - .byte 0x3c, 0x00, 0x00, 0x00 - .global data_ov00_020d8994 -data_ov00_020d8994: ; 0x020d8994 - .byte 0x32, 0x00, 0x00, 0x00 - .global data_ov00_020d8998 -data_ov00_020d8998: ; 0x020d8998 - .byte 0x33, 0x00, 0x00, 0x00 - .global data_ov00_020d899c -data_ov00_020d899c: ; 0x020d899c - .byte 0x34, 0x00, 0x00, 0x00 - .global data_ov00_020d89a0 -data_ov00_020d89a0: ; 0x020d89a0 - .byte 0x35, 0x00, 0x00, 0x00 - .global data_ov00_020d89a4 -data_ov00_020d89a4: ; 0x020d89a4 - .byte 0x38, 0x00, 0x00, 0x00 - .global data_ov00_020d89a8 -data_ov00_020d89a8: ; 0x020d89a8 - .byte 0x3d, 0x00, 0x00, 0x00 - .global data_ov00_020d89ac -data_ov00_020d89ac: ; 0x020d89ac - .byte 0xd9, 0x00, 0x00, 0x00 - .global data_ov00_020d89b0 -data_ov00_020d89b0: ; 0x020d89b0 - .byte 0xdc, 0x00, 0x00, 0x00 - .global data_ov00_020d89b4 -data_ov00_020d89b4: ; 0x020d89b4 - .byte 0xa1, 0x00, 0x00, 0x00 - .global data_ov00_020d89b8 -data_ov00_020d89b8: ; 0x020d89b8 - .byte 0xa2, 0x00, 0x00, 0x00 - .global data_ov00_020d89bc -data_ov00_020d89bc: ; 0x020d89bc - .byte 0xa3, 0x00, 0x00, 0x00 - .global data_ov00_020d89c0 -data_ov00_020d89c0: ; 0x020d89c0 - .byte 0xa4, 0x00, 0x00, 0x00 - .global data_ov00_020d89c4 -data_ov00_020d89c4: ; 0x020d89c4 - .byte 0xa5, 0x00, 0x00, 0x00 - .global data_ov00_020d89c8 -data_ov00_020d89c8: ; 0x020d89c8 - .byte 0xa6, 0x00, 0x00, 0x00 - .global data_ov00_020d89cc -data_ov00_020d89cc: ; 0x020d89cc - .byte 0x6f, 0x00, 0x00, 0x00 - .global data_ov00_020d89d0 -data_ov00_020d89d0: ; 0x020d89d0 - .byte 0x72, 0x00, 0x00, 0x00 - .global data_ov00_020d89d4 -data_ov00_020d89d4: ; 0x020d89d4 - .byte 0x75, 0x00, 0x00, 0x00 - .global data_ov00_020d89d8 -data_ov00_020d89d8: ; 0x020d89d8 - .byte 0x78, 0x00, 0x00, 0x00 - .global data_ov00_020d89dc -data_ov00_020d89dc: ; 0x020d89dc - .byte 0x79, 0x00, 0x00, 0x00 - .global data_ov00_020d89e0 -data_ov00_020d89e0: ; 0x020d89e0 - .byte 0x7a, 0x00, 0x00, 0x00 - .global data_ov00_020d89e4 -data_ov00_020d89e4: ; 0x020d89e4 - .byte 0x7b, 0x00, 0x00, 0x00 - .global data_ov00_020d89e8 -data_ov00_020d89e8: ; 0x020d89e8 - .byte 0x7f, 0x00, 0x00, 0x00 - .global data_ov00_020d89ec -data_ov00_020d89ec: ; 0x020d89ec - .byte 0x83, 0x00, 0x00, 0x00 - .global data_ov00_020d89f0 -data_ov00_020d89f0: ; 0x020d89f0 - .byte 0x87, 0x00, 0x00, 0x00 - .global data_ov00_020d89f4 -data_ov00_020d89f4: ; 0x020d89f4 - .byte 0x7c, 0x00, 0x00, 0x00 - .global data_ov00_020d89f8 -data_ov00_020d89f8: ; 0x020d89f8 - .byte 0x80, 0x00, 0x00, 0x00 - .global data_ov00_020d89fc -data_ov00_020d89fc: ; 0x020d89fc - .byte 0x84, 0x00, 0x00, 0x00 - .global data_ov00_020d8a00 -data_ov00_020d8a00: ; 0x020d8a00 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8a04 -data_ov00_020d8a04: ; 0x020d8a04 - .byte 0x88, 0x00, 0x00, 0x00 - .global data_ov00_020d8a08 -data_ov00_020d8a08: ; 0x020d8a08 - .byte 0x89, 0x00, 0x00, 0x00 - .global data_ov00_020d8a0c -data_ov00_020d8a0c: ; 0x020d8a0c - .byte 0x8a, 0x00, 0x00, 0x00 - .global data_ov00_020d8a10 -data_ov00_020d8a10: ; 0x020d8a10 - .byte 0x8b, 0x00, 0x00, 0x00 - .global data_ov00_020d8a14 -data_ov00_020d8a14: ; 0x020d8a14 - .byte 0x8c, 0x00, 0x00, 0x00 - .global data_ov00_020d8a18 -data_ov00_020d8a18: ; 0x020d8a18 - .byte 0x8d, 0x00, 0x00, 0x00 - .global data_ov00_020d8a1c -data_ov00_020d8a1c: ; 0x020d8a1c - .byte 0x8e, 0x00, 0x00, 0x00 - .global data_ov00_020d8a20 -data_ov00_020d8a20: ; 0x020d8a20 - .byte 0x8f, 0x00, 0x00, 0x00 - .global data_ov00_020d8a24 -data_ov00_020d8a24: ; 0x020d8a24 - .byte 0x90, 0x00, 0x00, 0x00 - .global data_ov00_020d8a28 -data_ov00_020d8a28: ; 0x020d8a28 - .byte 0x91, 0x00, 0x00, 0x00 - .global data_ov00_020d8a2c -data_ov00_020d8a2c: ; 0x020d8a2c - .byte 0x92, 0x00, 0x00, 0x00 - .global data_ov00_020d8a30 -data_ov00_020d8a30: ; 0x020d8a30 - .byte 0x93, 0x00, 0x00, 0x00 - .global data_ov00_020d8a34 -data_ov00_020d8a34: ; 0x020d8a34 - .byte 0x94, 0x00, 0x00, 0x00 - .global data_ov00_020d8a38 -data_ov00_020d8a38: ; 0x020d8a38 - .byte 0x95, 0x00, 0x00, 0x00 - .global data_ov00_020d8a3c -data_ov00_020d8a3c: ; 0x020d8a3c - .byte 0x96, 0x00, 0x00, 0x00 - .global data_ov00_020d8a40 -data_ov00_020d8a40: ; 0x020d8a40 - .byte 0x97, 0x00, 0x00, 0x00 - .global data_ov00_020d8a44 -data_ov00_020d8a44: ; 0x020d8a44 - .byte 0x98, 0x00, 0x00, 0x00 - .global data_ov00_020d8a48 -data_ov00_020d8a48: ; 0x020d8a48 - .byte 0x99, 0x00, 0x00, 0x00 - .global data_ov00_020d8a4c -data_ov00_020d8a4c: ; 0x020d8a4c - .byte 0x9a, 0x00, 0x00, 0x00 - .global data_ov00_020d8a50 -data_ov00_020d8a50: ; 0x020d8a50 - .byte 0x9b, 0x00, 0x00, 0x00 - .global data_ov00_020d8a54 -data_ov00_020d8a54: ; 0x020d8a54 - .byte 0x9d, 0x00, 0x00, 0x00 - .global data_ov00_020d8a58 -data_ov00_020d8a58: ; 0x020d8a58 - .byte 0x9e, 0x00, 0x00, 0x00 - .global data_ov00_020d8a5c -data_ov00_020d8a5c: ; 0x020d8a5c - .byte 0x9f, 0x00, 0x00, 0x00 - .global data_ov00_020d8a60 -data_ov00_020d8a60: ; 0x020d8a60 - .byte 0xa0, 0x00, 0x00, 0x00 - .global data_ov00_020d8a64 -data_ov00_020d8a64: ; 0x020d8a64 - .byte 0x70, 0x00, 0x00, 0x00 - .global data_ov00_020d8a68 -data_ov00_020d8a68: ; 0x020d8a68 - .byte 0x71, 0x00, 0x00, 0x00 - .global data_ov00_020d8a6c -data_ov00_020d8a6c: ; 0x020d8a6c - .byte 0x73, 0x00, 0x00, 0x00 - .global data_ov00_020d8a70 -data_ov00_020d8a70: ; 0x020d8a70 - .byte 0x76, 0x00, 0x00, 0x00 - .global data_ov00_020d8a74 -data_ov00_020d8a74: ; 0x020d8a74 - .byte 0x77, 0x00, 0x00, 0x00 - .global data_ov00_020d8a78 -data_ov00_020d8a78: ; 0x020d8a78 - .byte 0x7d, 0x00, 0x00, 0x00 - .global data_ov00_020d8a7c -data_ov00_020d8a7c: ; 0x020d8a7c - .byte 0x7e, 0x00, 0x00, 0x00 - .global data_ov00_020d8a80 -data_ov00_020d8a80: ; 0x020d8a80 - .byte 0x81, 0x00, 0x00, 0x00 - .global data_ov00_020d8a84 -data_ov00_020d8a84: ; 0x020d8a84 - .byte 0x82, 0x00, 0x00, 0x00 - .global data_ov00_020d8a88 -data_ov00_020d8a88: ; 0x020d8a88 - .byte 0x86, 0x00, 0x00, 0x00 - .global data_ov00_020d8a8c -data_ov00_020d8a8c: ; 0x020d8a8c - .byte 0x9c, 0x00, 0x00, 0x00 - .global data_ov00_020d8a90 -data_ov00_020d8a90: ; 0x020d8a90 - .byte 0x36, 0x00, 0x00, 0x00 - .global data_ov00_020d8a94 -data_ov00_020d8a94: ; 0x020d8a94 - .byte 0x37, 0x00, 0x00, 0x00 - .global data_ov00_020d8a98 -data_ov00_020d8a98: ; 0x020d8a98 - .byte 0xd0, 0x00, 0x00, 0x00 - .global data_ov00_020d8a9c -data_ov00_020d8a9c: ; 0x020d8a9c - .byte 0xd1, 0x00, 0x00, 0x00 - .global data_ov00_020d8aa0 -data_ov00_020d8aa0: ; 0x020d8aa0 - .byte 0xcd, 0x00, 0x00, 0x00 - .global data_ov00_020d8aa4 -data_ov00_020d8aa4: ; 0x020d8aa4 - .byte 0x9a, 0x01, 0x00, 0x00 - .global data_ov00_020d8aa8 -data_ov00_020d8aa8: ; 0x020d8aa8 - .byte 0x44, 0x46, 0x4d, 0x43, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8ac0 -data_ov00_020d8ac0: ; 0x020d8ac0 - .byte 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8b10 -data_ov00_020d8b10: ; 0x020d8b10 - .byte 0x47, 0x46, 0x4d, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0x28, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00 - .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8b78 -data_ov00_020d8b78: ; 0x020d8b78 - .byte 0x48, 0x46, 0x4d, 0x43, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x7c, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8be0 -data_ov00_020d8be0: ; 0x020d8be0 - .byte 0x4d, 0x44, 0x4d, 0x43, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0xe4, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8c48 -data_ov00_020d8c48: ; 0x020d8c48 - .byte 0x4c, 0x45, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8cb0 -data_ov00_020d8cb0: ; 0x020d8cb0 - .byte 0x32, 0x45, 0x4d, 0x43, 0x06, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8d18 -data_ov00_020d8d18: ; 0x020d8d18 - .byte 0x4b, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x5b, 0x10, 0x00, 0x00, 0x55, 0x15, 0x00, 0x00 - .byte 0x00, 0x18, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xf9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x9a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8d80 -data_ov00_020d8d80: ; 0x020d8d80 - .byte 0x44, 0x52, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0xc7, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 - .byte 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8de8 -data_ov00_020d8de8: ; 0x020d8de8 - .byte 0x49, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x28, 0x0a, 0x00, 0x00, 0x80, 0x0c, 0x00, 0x00, 0x38, 0x18, 0x00, 0x00 - .byte 0x00, 0x60, 0x00, 0x00, 0x66, 0xfe, 0xff, 0xff, 0x33, 0xfb, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x9a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8e50 -data_ov00_020d8e50: ; 0x020d8e50 - .byte 0x49, 0x52, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xc4, 0x09, 0x00, 0x00 - .byte 0xa0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xf4, 0xff, 0xff - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 - .byte 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8eb8 -data_ov00_020d8eb8: ; 0x020d8eb8 - .byte 0x54, 0x47, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00, 0x66, 0x21, 0x00, 0x00, 0x72, 0x06, 0x00, 0x00 - .byte 0xc9, 0x28, 0x00, 0x00, 0x89, 0xf7, 0xff, 0xff, 0x66, 0x06, 0x00, 0x00, 0x2d, 0x02, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8f20 -data_ov00_020d8f20: ; 0x020d8f20 - .byte 0x55, 0x47, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00 - .byte 0x08, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 - .byte 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8f88 -data_ov00_020d8f88: ; 0x020d8f88 - .byte 0x44, 0x47, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x50, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x70, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8ff0 -data_ov00_020d8ff0: ; 0x020d8ff0 - .byte 0x42, 0x52, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 - .byte 0x08, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x33, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9058 -data_ov00_020d9058: ; 0x020d9058 - .byte 0x45, 0x53, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0xb8, 0x0b, 0x00, 0x00, 0xb8, 0x0b, 0x00, 0x00, 0x90, 0xe8, 0xff, 0xff - .byte 0x9a, 0x19, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x66, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d90c0 -data_ov00_020d90c0: ; 0x020d90c0 - .byte 0x47, 0x53, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00 - .byte 0x28, 0x23, 0x00, 0x00, 0xc0, 0xe0, 0xff, 0xff, 0xcd, 0x14, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00 - .byte 0x66, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9128 -data_ov00_020d9128: ; 0x020d9128 - .byte 0x50, 0x48, 0x53, 0x43, 0x07, 0x00, 0x00, 0x00 - .byte 0x00, 0x10, 0x00, 0x00, 0xe4, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x33, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00 - .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9190 -data_ov00_020d9190: ; 0x020d9190 - .byte 0x31, 0x4d, 0x4f, 0x52, 0x09, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x28, 0x0a, 0x00, 0x00 - .byte 0x8c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xcd, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x33, 0x03, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d91f8 -data_ov00_020d91f8: ; 0x020d91f8 - .byte 0x32, 0x4d, 0x4f, 0x52, 0x09, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x6b, 0x0b, 0x00, 0x00, 0x80, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xb8, 0x8e, 0x00, 0x00, 0xb8, 0x1a, 0x00, 0x00, 0xcd, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 - .byte 0x33, 0x03, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9260 -data_ov00_020d9260: ; 0x020d9260 - .byte 0x33, 0x4d, 0x4f, 0x52, 0x09, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x6b, 0x0b, 0x00, 0x00 - .byte 0x94, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x8e, 0x00, 0x00, 0xcd, 0x14, 0x00, 0x00 - .byte 0xcd, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x33, 0x03, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d92c8 -data_ov00_020d92c8: ; 0x020d92c8 - .byte 0x35, 0x4d, 0x4f, 0x52, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x6b, 0x0b, 0x00, 0x00, 0x80, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xb8, 0x8e, 0x00, 0x00, 0xb8, 0x1a, 0x00, 0x00, 0xcd, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9330 -data_ov00_020d9330: ; 0x020d9330 - .byte 0x36, 0x4d, 0x4f, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00 - .byte 0xc7, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00 - .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9398 -data_ov00_020d9398: ; 0x020d9398 - .byte 0x37, 0x4d, 0x4f, 0x52, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00, 0xc7, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0xc0, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1f, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x33, 0x13, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9400 -data_ov00_020d9400: ; 0x020d9400 - .byte 0x4e, 0x41, 0x4d, 0x43, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x8e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 - .byte 0x1c, 0x07, 0x00, 0x00, 0x55, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x02, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9468 -data_ov00_020d9468: ; 0x020d9468 - .byte 0x50, 0x53, 0x4d, 0x43, 0x08, 0x00, 0x00, 0x00 - .byte 0x00, 0x10, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x10, 0x00, 0x00, 0x66, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x1c, 0x07, 0x00, 0x00, 0x55, 0xf5, 0xff, 0xff - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0xe4, 0x38, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d94d0 -data_ov00_020d94d0: ; 0x020d94d0 - .byte 0x31, 0x43, 0x4d, 0x43, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x13, 0x00, 0x00, 0x1f, 0x05, 0x00, 0x00 - .byte 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 - .byte 0x1c, 0x07, 0x00, 0x00, 0x30, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00 - .byte 0xe4, 0x38, 0x00, 0x00, 0xa0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9538 -data_ov00_020d9538: ; 0x020d9538 - .byte 0x4d, 0x43, 0x4d, 0x43, 0x08, 0x00, 0x00, 0x00 - .byte 0x00, 0x10, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x33, 0x13, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x9a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x1c, 0x07, 0x00, 0x00, 0x30, 0xf8, 0xff, 0xff - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0xe4, 0x38, 0x00, 0x00, 0xa0, 0x0f, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d95a0 -data_ov00_020d95a0: ; 0x020d95a0 - .byte 0x34, 0x4d, 0x4f, 0x52, 0x09, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xc4, 0x09, 0x00, 0x00 - .byte 0xb8, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00 - .byte 0x33, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x33, 0x03, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 - .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9608 -data_ov00_020d9608: ; 0x020d9608 - .byte 0x43, 0x42, 0x4d, 0x43, 0x0a, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00, 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9670 -data_ov00_020d9670: ; 0x020d9670 - .byte 0x4d, 0x57, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00 - .byte 0xcd, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d96d8 -data_ov00_020d96d8: ; 0x020d96d8 - .byte 0x53, 0x57, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00 - .byte 0x9a, 0x01, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00, 0xcd, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .global data_ov00_020d9740 -data_ov00_020d9740: ; 0x020d9740 - .byte 0x50, 0x42, 0x4d, 0x43, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d97a8 -data_ov00_020d97a8: ; 0x020d97a8 - .byte 0x4e, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x0b, 0x16, 0x00, 0x00, 0x0b, 0xf6, 0xff, 0xff - .byte 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xf9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9810 -data_ov00_020d9810: ; 0x020d9810 - .byte 0x32, 0x4e, 0x54, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0x0b, 0x16, 0x00, 0x00, 0x0b, 0xf6, 0xff, 0xff, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x9a, 0xf9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9878 -data_ov00_020d9878: ; 0x020d9878 - .byte 0x49, 0x4e, 0x54, 0x43, 0x0c, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x28, 0x0a, 0x00, 0x00, 0x0b, 0x16, 0x00, 0x00, 0x0b, 0xf6, 0xff, 0xff - .byte 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xf9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d98e0 -data_ov00_020d98e0: ; 0x020d98e0 - .byte 0x4d, 0x53, 0x4d, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 - .byte 0x8e, 0x03, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9948 -data_ov00_020d9948: ; 0x020d9948 - .byte 0x53, 0x53, 0x4d, 0x43, 0x0b, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00 - .byte 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xfb, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xfb, 0xff, 0xff - .byte 0x00, 0x00, 0x00, 0x00, 0xcd, 0xf4, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x66, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d99b0 -data_ov00_020d99b0: ; 0x020d99b0 - .byte 0x4d, 0x46, 0x4d, 0x43, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x3c, 0x0f, 0x00, 0x00 - .byte 0x1c, 0x25, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xd7, 0x0b, 0x00, 0x00, 0x29, 0xfc, 0xff, 0xff - .byte 0xf6, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9a18 -data_ov00_020d9a18: ; 0x020d9a18 - .byte 0x53, 0x46, 0x4d, 0x43, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x55, 0x15, 0x00, 0x00, 0x77, 0x17, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .global data_ov00_020d9a80 -data_ov00_020d9a80: ; 0x020d9a80 - .byte 0x46, 0x47, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 - .byte 0xf0, 0xd8, 0xff, 0xff, 0x38, 0xcd, 0xff, 0xff, 0x33, 0x07, 0x00, 0x00, 0xcd, 0x00, 0x00, 0x00 - .byte 0x85, 0x06, 0x00, 0x00, 0xac, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9ae8 -data_ov00_020d9ae8: ; 0x020d9ae8 - .byte 0x53, 0x47, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00, 0x55, 0xf5, 0xff, 0xff, 0xc7, 0x31, 0x00, 0x00 - .byte 0xae, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x07, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .global data_ov00_020d9b50 -data_ov00_020d9b50: ; 0x020d9b50 - .byte 0x42, 0x47, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 - .byte 0x66, 0xe6, 0xff, 0xff, 0x61, 0x8b, 0xff, 0xff, 0x33, 0x0f, 0x00, 0x00, 0xcd, 0x00, 0x00, 0x00 - .byte 0x5c, 0x0b, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9bb8 -data_ov00_020d9bb8: ; 0x020d9bb8 - .byte 0x43, 0x47, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00, 0x55, 0xf5, 0xff, 0xff, 0xc7, 0x31, 0x00, 0x00 - .byte 0xae, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x07, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .global data_ov00_020d9c20 -data_ov00_020d9c20: ; 0x020d9c20 - .byte 0x4f, 0x53, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 - .byte 0xab, 0x0a, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x33, 0x03, 0x00, 0x00, 0x33, 0x03, 0x00, 0x00 - .byte 0x33, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9c88 -data_ov00_020d9c88: ; 0x020d9c88 - .byte 0x4f, 0x44, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x88, 0x13, 0x00, 0x00, 0xbe, 0xf1, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x33, 0x53, 0x00, 0x00, 0x9a, 0xd9, 0xff, 0xff, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9cf0 -data_ov00_020d9cf0: ; 0x020d9cf0 - .byte 0x43, 0x44, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xa4, 0x06, 0x00, 0x00 - .byte 0x80, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00 - .byte 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9d58 -data_ov00_020d9d58: ; 0x020d9d58 - .byte 0x4c, 0x43, 0x4d, 0x43, 0x08, 0x00, 0x00, 0x00 - .byte 0x00, 0x10, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0x77, 0xf7, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x66, 0x16, 0x00, 0x00, 0x66, 0xfe, 0xff, 0xff, 0xcd, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x66, 0x02, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xf5, 0xff, 0xff - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0xe4, 0x38, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9dc0 -data_ov00_020d9dc0: ; 0x020d9dc0 - .byte 0x49, 0x50, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xc7, 0x11, 0x00, 0x00 - .byte 0xcb, 0x17, 0x00, 0x00, 0xb4, 0xe2, 0xff, 0xff, 0x00, 0x68, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00 - .byte 0x33, 0x2b, 0x00, 0x00, 0xcd, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9e28 -data_ov00_020d9e28: ; 0x020d9e28 - .byte 0x55, 0x50, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0xc7, 0x11, 0x00, 0x00, 0xe4, 0xf8, 0xff, 0xff, 0x83, 0x0d, 0x00, 0x00 - .byte 0x00, 0x60, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9e90 -data_ov00_020d9e90: ; 0x020d9e90 - .byte 0x4d, 0x49, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00 - .byte 0xa5, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9ef8 -data_ov00_020d9ef8: ; 0x020d9ef8 - .byte 0x53, 0x49, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00 - .byte 0x9a, 0x01, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00, 0xa5, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .global data_ov00_020d9f60 -data_ov00_020d9f60: ; 0x020d9f60 - .byte 0x32, 0x4d, 0x49, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00 - .byte 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00 - .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d9fc8 -data_ov00_020d9fc8: ; 0x020d9fc8 - .byte 0x41, 0x57, 0x4d, 0x43, 0x0d, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x33, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da030 -data_ov00_020da030: ; 0x020da030 - .byte 0x42, 0x57, 0x4d, 0x43, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da098 -data_ov00_020da098: ; 0x020da098 - .byte 0x54, 0x57, 0x4d, 0x43, 0x0d, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x33, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x06, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da100 -data_ov00_020da100: ; 0x020da100 - .byte 0x4c, 0x57, 0x4d, 0x43, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x06, 0x00 - .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da168 -data_ov00_020da168: ; 0x020da168 - .byte 0x47, 0x52, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0xc7, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da1d0 -data_ov00_020da1d0: ; 0x020da1d0 - .byte 0x47, 0x47, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0xc7, 0x11, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xcd, 0xfc, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 - .byte 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da238 -data_ov00_020da238: ; 0x020da238 - .byte 0x52, 0x42, 0x4d, 0x43, 0x0e, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x55, 0x15, 0x00, 0x00, 0xc7, 0xf1, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x48, 0x00, 0x00, 0x33, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da2a0 -data_ov00_020da2a0: ; 0x020da2a0 - .byte 0x46, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0x28, 0x23, 0x00, 0x00, 0x55, 0x15, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x33, 0x0b, 0x00, 0x00 - .byte 0x00, 0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 - .byte 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da308 -data_ov00_020da308: ; 0x020da308 - .byte 0x43, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0xb8, 0x0b, 0x00, 0x00, 0x55, 0x15, 0x00, 0x00 - .byte 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xf9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x66, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da370 -data_ov00_020da370: ; 0x020da370 - .byte 0x53, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0x5b, 0x10, 0x00, 0x00, 0x28, 0x23, 0x00, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x66, 0xf6, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 - .byte 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da3d8 -data_ov00_020da3d8: ; 0x020da3d8 - .byte 0x4d, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x28, 0x23, 0x00, 0x00, 0x55, 0x15, 0x00, 0x00 - .byte 0x00, 0x60, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xf1, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xcd, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da440 -data_ov00_020da440: ; 0x020da440 - .byte 0x54, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0x93, 0x08, 0x00, 0x00, 0xb4, 0x19, 0x00, 0x00, 0x33, 0x47, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0a, 0xf7, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da4a8 -data_ov00_020da4a8: ; 0x020da4a8 - .byte 0x4b, 0x43, 0x54, 0x43, 0x0c, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x93, 0x08, 0x00, 0x00, 0xb4, 0x19, 0x00, 0x00 - .byte 0x33, 0x47, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xf7, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x9a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da510 -data_ov00_020da510: ; 0x020da510 - .byte 0x52, 0x46, 0x54, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00 - .byte 0xb8, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x33, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 - .byte 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da578 -data_ov00_020da578: ; 0x020da578 - .byte 0x4d, 0x53, 0x53, 0x43, 0x09, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x30, 0x02, 0x00, 0xf6, 0x28, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da5e0 -data_ov00_020da5e0: ; 0x020da5e0 - .byte 0x53, 0x53, 0x53, 0x43, 0x09, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0x9a, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x02, 0x00, 0xa4, 0xa8, 0xff, 0xff - .byte 0x9a, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00 - .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da648 -data_ov00_020da648: ; 0x020da648 - .byte 0x4d, 0x49, 0x53, 0x43, 0x0c, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x28, 0x0a, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x38, 0x00, 0x00, 0x33, 0xff, 0xff, 0xff, 0x9a, 0xf9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da6b0 -data_ov00_020da6b0: ; 0x020da6b0 - .byte 0x49, 0x49, 0x53, 0x43, 0x09, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 - .byte 0x58, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00 - .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da718 -data_ov00_020da718: ; 0x020da718 - .byte 0x4d, 0x47, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0xab, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da780 -data_ov00_020da780: ; 0x020da780 - .byte 0x53, 0x47, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0xab, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00 - .global data_ov00_020da7e8 -data_ov00_020da7e8: ; 0x020da7e8 - .byte 0x5a, 0x54, 0x4d, 0x43, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da850 -data_ov00_020da850: ; 0x020da850 - .byte 0x55, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x88, 0x13, 0x00, 0x00 - .byte 0x77, 0xf7, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x14, 0xfa, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 - .byte 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da8b8 -data_ov00_020da8b8: ; 0x020da8b8 - .byte 0x4c, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0xa0, 0x0f, 0x00, 0x00, 0xac, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xf3, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x66, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x80, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da920 -data_ov00_020da920: ; 0x020da920 - .byte 0x4d, 0x59, 0x53, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x28, 0x0a, 0x00, 0x00 - .byte 0x8e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x66, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 - .byte 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da988 -data_ov00_020da988: ; 0x020da988 - .byte 0x4d, 0x4a, 0x53, 0x43, 0x0c, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x28, 0x0a, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xfb, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020da9f0 -data_ov00_020da9f0: ; 0x020da9f0 - .byte 0x4d, 0x43, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0x70, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020daa58 -data_ov00_020daa58: ; 0x020daa58 - .byte 0x53, 0x43, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00 - .global data_ov00_020daac0 -data_ov00_020daac0: ; 0x020daac0 - .byte 0x53, 0x42, 0x4d, 0x43, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00 - .byte 0xb8, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x66, 0x02, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020dab28 -data_ov00_020dab28: ; 0x020dab28 - .byte 0x4d, 0x4c, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00 - .byte 0x9a, 0x01, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00, 0x88, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x80, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0a, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020dab90 -data_ov00_020dab90: ; 0x020dab90 - .byte 0x53, 0x4c, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 - .byte 0x88, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x0a, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .global data_ov00_020dabf8 -data_ov00_020dabf8: ; 0x020dabf8 - .byte 0x32, 0x4d, 0x4c, 0x43, 0x00, 0x00, 0x00, 0x00 - .byte 0x9a, 0x01, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00, 0xf0, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0xe0, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0a, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020dac60 -data_ov00_020dac60: ; 0x020dac60 - .byte 0x33, 0x4d, 0x4c, 0x43, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 - .byte 0x40, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff - .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 - .byte 0x0a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020dacc8 -data_ov00_020dacc8: ; 0x020dacc8 - .byte 0x4d, 0x33, 0x42, 0x43, 0x0f, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x98, 0xff, 0xff, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020dad30 -data_ov00_020dad30: ; 0x020dad30 - .byte 0x53, 0x33, 0x42, 0x43, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x5f, 0x0c, 0x00, 0x00 - .byte 0xc2, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x9a, 0xa1, 0xff, 0xff - .byte 0x7b, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x64, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020dad98 -data_ov00_020dad98: ; 0x020dad98 - .byte 0x53, 0x53, 0x33, 0x43, 0x0e, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x58, 0x1b, 0x00, 0x00, 0x18, 0xfc, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0xcd, 0x64, 0x00, 0x00, 0x9a, 0xa1, 0xff, 0xff, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020dae00 -data_ov00_020dae00: ; 0x020dae00 - .byte 0x32, 0x4d, 0x33, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 - .byte 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020dae68 -data_ov00_020dae68: ; 0x020dae68 - .byte 0x4d, 0x44, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020daed0 -data_ov00_020daed0: ; 0x020daed0 - .byte 0x4d, 0x45, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020daf38 -data_ov00_020daf38: ; 0x020daf38 - .byte 0x46, 0x42, 0x4d, 0x43, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020dafa0 -data_ov00_020dafa0: ; 0x020dafa0 - .byte 0x57, 0x50, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 - .byte 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00 - .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x03, 0x00 - .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020db008 -data_ov00_020db008: ; 0x020db008 - .byte 0x00, 0x00, 0x01, 0x00 - .global data_ov00_020db00c -data_ov00_020db00c: ; 0x020db00c - .byte 0x00, 0x00, 0x02, 0x00 - .global data_ov00_020db010 -data_ov00_020db010: ; 0x020db010 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020db014 -data_ov00_020db014: ; 0x020db014 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020db018 -data_ov00_020db018: ; 0x020db018 - .byte 0xff, 0xff, 0xff, 0xff - .global data_ov00_020db01c -data_ov00_020db01c: ; 0x020db01c - .byte 0x01, 0x00, 0x00, 0x00 - .global data_ov00_020db020 -data_ov00_020db020: ; 0x020db020 - .byte 0xff, 0xff, 0xff, 0xff - .global data_ov00_020db024 -data_ov00_020db024: ; 0x020db024 - .byte 0x01, 0x00, 0x00, 0x00 - .global data_ov00_020db028 -data_ov00_020db028: ; 0x020db028 - .byte 0xff, 0xff, 0xff, 0xff - .global data_ov00_020db02c -data_ov00_020db02c: ; 0x020db02c - .byte 0x01, 0x00, 0x00, 0x00 - .global data_ov00_020db030 -data_ov00_020db030: ; 0x020db030 - .byte 0xff, 0xff, 0xff, 0xff - .global data_ov00_020db034 -data_ov00_020db034: ; 0x020db034 - .byte 0x01, 0x00, 0x00, 0x00 - .global data_ov00_020db038 -data_ov00_020db038: ; 0x020db038 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020db03c -data_ov00_020db03c: ; 0x020db03c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020db040 -data_ov00_020db040: ; 0x020db040 - .byte 0xff, 0xff, 0xff, 0xff - .global data_ov00_020db044 -data_ov00_020db044: ; 0x020db044 - .byte 0xff, 0xff, 0xff, 0xff - .global data_ov00_020db048 -data_ov00_020db048: ; 0x020db048 - .byte 0x01, 0x00, 0x00, 0x00 - .global data_ov00_020db04c -data_ov00_020db04c: ; 0x020db04c - .byte 0x01, 0x00, 0x00, 0x00 - .global data_ov00_020db050 -data_ov00_020db050: ; 0x020db050 - .byte 0x29, 0x00 - .global data_ov00_020db052 -data_ov00_020db052: ; 0x020db052 - .byte 0x2a, 0x00 - .global data_ov00_020db054 -data_ov00_020db054: ; 0x020db054 - .byte 0x28, 0x00 - .global data_ov00_020db056 -data_ov00_020db056: ; 0x020db056 - .byte 0x00, 0x00 .section .init, 4, 1, 4 .global func_ov00_020df378 @@ -40835,2465 +12721,6 @@ data_ov00_020e24bc: ; 0x020e24bc .global data_ov00_020e24c0 data_ov00_020e24c0: ; 0x020e24c0 .word data_ov00_020e2484 - .global data_ov00_020e24c4 -data_ov00_020e24c4: ; 0x020e24c4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24c8 -data_ov00_020e24c8: ; 0x020e24c8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24cc -data_ov00_020e24cc: ; 0x020e24cc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24d0 -data_ov00_020e24d0: ; 0x020e24d0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24d4 -data_ov00_020e24d4: ; 0x020e24d4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24d8 -data_ov00_020e24d8: ; 0x020e24d8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24dc -data_ov00_020e24dc: ; 0x020e24dc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24e0 -data_ov00_020e24e0: ; 0x020e24e0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24e4 -data_ov00_020e24e4: ; 0x020e24e4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24e8 -data_ov00_020e24e8: ; 0x020e24e8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24ec -data_ov00_020e24ec: ; 0x020e24ec - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24f0 -data_ov00_020e24f0: ; 0x020e24f0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24f4 -data_ov00_020e24f4: ; 0x020e24f4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24f8 -data_ov00_020e24f8: ; 0x020e24f8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e24fc -data_ov00_020e24fc: ; 0x020e24fc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2500 -data_ov00_020e2500: ; 0x020e2500 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2504 -data_ov00_020e2504: ; 0x020e2504 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2508 -data_ov00_020e2508: ; 0x020e2508 - .word data_ov00_020e2520 - .global data_ov00_020e250c -data_ov00_020e250c: ; 0x020e250c - .word data_ov00_020e2524 - .global data_ov00_020e2510 -data_ov00_020e2510: ; 0x020e2510 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2514 -data_ov00_020e2514: ; 0x020e2514 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2518 -data_ov00_020e2518: ; 0x020e2518 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e251c -data_ov00_020e251c: ; 0x020e251c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2520 -data_ov00_020e2520: ; 0x020e2520 - .ascii "MCS" - .byte 0x00 - .global data_ov00_020e2524 -data_ov00_020e2524: ; 0x020e2524 - .ascii "MRC" - .byte 0x00 - .global data_ov00_020e2528 -data_ov00_020e2528: ; 0x020e2528 - .ascii "Map/%s/course.bin" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e253c -data_ov00_020e253c: ; 0x020e253c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2540 -data_ov00_020e2540: ; 0x020e2540 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2544 -data_ov00_020e2544: ; 0x020e2544 - .word func_ov00_02086cd4 - .global data_ov00_020e2548 -data_ov00_020e2548: ; 0x020e2548 - .word func_ov00_02086da8 - .global data_ov00_020e254c -data_ov00_020e254c: ; 0x020e254c - .word func_ov05_0210199c ; func_ov06_0210199c, func_ov07_0210199c - .global data_ov00_020e2550 -data_ov00_020e2550: ; 0x020e2550 - .word func_ov05_02101ab8 - .global data_ov00_020e2554 -data_ov00_020e2554: ; 0x020e2554 - .word func_ov04_02103444 ; data_ov06_02103444, data_ov07_02103444 - .global data_ov00_020e2558 -data_ov00_020e2558: ; 0x020e2558 - .word func_ov04_021034fc ; data_ov06_021034fc, data_ov07_021034fc - .global data_ov00_020e255c -data_ov00_020e255c: ; 0x020e255c - .word func_ov00_020870a0 - .global data_ov00_020e2560 -data_ov00_020e2560: ; 0x020e2560 - .word func_ov00_020870c4 - .global data_ov00_020e2564 -data_ov00_020e2564: ; 0x020e2564 - .word func_ov00_020870d0 - .global data_ov00_020e2568 -data_ov00_020e2568: ; 0x020e2568 - .ascii "vector::at index out of range" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e2588 -data_ov00_020e2588: ; 0x020e2588 - .byte 0x00, 0x00 - .global data_ov00_020e258a -data_ov00_020e258a: ; 0x020e258a - .byte 0xf0, 0x1f - .global data_ov00_020e258c -data_ov00_020e258c: ; 0x020e258c - .byte 0x00, 0xfc - .global data_ov00_020e258e -data_ov00_020e258e: ; 0x020e258e - .byte 0x07, 0x00 - .global data_ov00_020e2590 -data_ov00_020e2590: ; 0x020e2590 - .byte 0xff, 0x01 - .global data_ov00_020e2592 -data_ov00_020e2592: ; 0x020e2592 - .byte 0x00, 0x00 - .global data_ov00_020e2594 -data_ov00_020e2594: ; 0x020e2594 - .byte 0x00, 0x00 - .global data_ov00_020e2596 -data_ov00_020e2596: ; 0x020e2596 - .byte 0x00, 0x20 - .global data_ov00_020e2598 -data_ov00_020e2598: ; 0x020e2598 - .byte 0x00, 0x00 - .global data_ov00_020e259a -data_ov00_020e259a: ; 0x020e259a - .byte 0x08, 0x00 - .global data_ov00_020e259c -data_ov00_020e259c: ; 0x020e259c - .byte 0x00, 0x02 - .global data_ov00_020e259e -data_ov00_020e259e: ; 0x020e259e - .byte 0x00, 0x00 - .global data_ov00_020e25a0 -data_ov00_020e25a0: ; 0x020e25a0 - .byte 0x00, 0xa8 - .global data_ov00_020e25a2 -data_ov00_020e25a2: ; 0x020e25a2 - .byte 0xa5, 0x16 - .global data_ov00_020e25a4 -data_ov00_020e25a4: ; 0x020e25a4 - .byte 0x00, 0x00 - .global data_ov00_020e25a6 -data_ov00_020e25a6: ; 0x020e25a6 - .byte 0x00, 0x00 - .global data_ov00_020e25a8 -data_ov00_020e25a8: ; 0x020e25a8 - .byte 0x00, 0x00 - .global data_ov00_020e25aa -data_ov00_020e25aa: ; 0x020e25aa - .byte 0x00, 0x00 - .global data_ov00_020e25ac -data_ov00_020e25ac: ; 0x020e25ac - .byte 0x00, 0x00 - .global data_ov00_020e25ae -data_ov00_020e25ae: ; 0x020e25ae - .byte 0x00, 0x00 - .global data_ov00_020e25b0 -data_ov00_020e25b0: ; 0x020e25b0 - .byte 0x00, 0x08 - .global data_ov00_020e25b2 -data_ov00_020e25b2: ; 0x020e25b2 - .byte 0x00, 0x08 - .global data_ov00_020e25b4 -data_ov00_020e25b4: ; 0x020e25b4 - .byte 0x00, 0x08 - .global data_ov00_020e25b6 -data_ov00_020e25b6: ; 0x020e25b6 - .byte 0x00, 0x08 - .global data_ov00_020e25b8 -data_ov00_020e25b8: ; 0x020e25b8 - .byte 0x00, 0x08 - .global data_ov00_020e25ba -data_ov00_020e25ba: ; 0x020e25ba - .byte 0x00, 0xf8 - .global data_ov00_020e25bc -data_ov00_020e25bc: ; 0x020e25bc - .byte 0x00, 0x08 - .global data_ov00_020e25be -data_ov00_020e25be: ; 0x020e25be - .byte 0x00, 0xf8 - .global data_ov00_020e25c0 -data_ov00_020e25c0: ; 0x020e25c0 - .byte 0x00, 0x08 - .global data_ov00_020e25c2 -data_ov00_020e25c2: ; 0x020e25c2 - .byte 0x00, 0x08 - .global data_ov00_020e25c4 -data_ov00_020e25c4: ; 0x020e25c4 - .byte 0x00, 0xf8 - .global data_ov00_020e25c6 -data_ov00_020e25c6: ; 0x020e25c6 - .byte 0x00, 0xf8 - .global data_ov00_020e25c8 -data_ov00_020e25c8: ; 0x020e25c8 - .byte 0x00, 0xf8 - .global data_ov00_020e25ca -data_ov00_020e25ca: ; 0x020e25ca - .byte 0x00, 0x08 - .global data_ov00_020e25cc -data_ov00_020e25cc: ; 0x020e25cc - .byte 0x00, 0x08 - .global data_ov00_020e25ce -data_ov00_020e25ce: ; 0x020e25ce - .byte 0x00, 0xf8 - .global data_ov00_020e25d0 -data_ov00_020e25d0: ; 0x020e25d0 - .byte 0x00, 0x08 - .global data_ov00_020e25d2 -data_ov00_020e25d2: ; 0x020e25d2 - .byte 0x00, 0xf8 - .global data_ov00_020e25d4 -data_ov00_020e25d4: ; 0x020e25d4 - .byte 0x00, 0xf8 - .global data_ov00_020e25d6 -data_ov00_020e25d6: ; 0x020e25d6 - .byte 0x00, 0xf8 - .global data_ov00_020e25d8 -data_ov00_020e25d8: ; 0x020e25d8 - .byte 0x00, 0x08 - .global data_ov00_020e25da -data_ov00_020e25da: ; 0x020e25da - .byte 0x00, 0xf8 - .global data_ov00_020e25dc -data_ov00_020e25dc: ; 0x020e25dc - .byte 0x00, 0xf8 - .global data_ov00_020e25de -data_ov00_020e25de: ; 0x020e25de - .byte 0x00, 0xf8 - .global data_ov00_020e25e0 -data_ov00_020e25e0: ; 0x020e25e0 - .byte 0x00, 0x10 - .global data_ov00_020e25e2 -data_ov00_020e25e2: ; 0x020e25e2 - .byte 0x00, 0x10 - .global data_ov00_020e25e4 -data_ov00_020e25e4: ; 0x020e25e4 - .byte 0x00, 0x08 - .global data_ov00_020e25e6 -data_ov00_020e25e6: ; 0x020e25e6 - .byte 0x00, 0x10 - .global data_ov00_020e25e8 -data_ov00_020e25e8: ; 0x020e25e8 - .byte 0x00, 0x10 - .global data_ov00_020e25ea -data_ov00_020e25ea: ; 0x020e25ea - .byte 0x00, 0xf8 - .global data_ov00_020e25ec -data_ov00_020e25ec: ; 0x020e25ec - .byte 0x00, 0x10 - .global data_ov00_020e25ee -data_ov00_020e25ee: ; 0x020e25ee - .byte 0x00, 0x00 - .global data_ov00_020e25f0 -data_ov00_020e25f0: ; 0x020e25f0 - .byte 0x00, 0x08 - .global data_ov00_020e25f2 -data_ov00_020e25f2: ; 0x020e25f2 - .byte 0x00, 0x10 - .global data_ov00_020e25f4 -data_ov00_020e25f4: ; 0x020e25f4 - .byte 0x00, 0x00 - .global data_ov00_020e25f6 -data_ov00_020e25f6: ; 0x020e25f6 - .byte 0x00, 0xf8 - .global data_ov00_020e25f8 -data_ov00_020e25f8: ; 0x020e25f8 - .byte 0x00, 0x00 - .global data_ov00_020e25fa -data_ov00_020e25fa: ; 0x020e25fa - .byte 0x00, 0x10 - .global data_ov00_020e25fc -data_ov00_020e25fc: ; 0x020e25fc - .byte 0x00, 0x08 - .global data_ov00_020e25fe -data_ov00_020e25fe: ; 0x020e25fe - .byte 0x00, 0x00 - .global data_ov00_020e2600 -data_ov00_020e2600: ; 0x020e2600 - .byte 0x00, 0x10 - .global data_ov00_020e2602 -data_ov00_020e2602: ; 0x020e2602 - .byte 0x00, 0xf8 - .global data_ov00_020e2604 -data_ov00_020e2604: ; 0x020e2604 - .byte 0x00, 0x00 - .global data_ov00_020e2606 -data_ov00_020e2606: ; 0x020e2606 - .byte 0x00, 0x00 - .global data_ov00_020e2608 -data_ov00_020e2608: ; 0x020e2608 - .byte 0x00, 0x08 - .global data_ov00_020e260a -data_ov00_020e260a: ; 0x020e260a - .byte 0x00, 0x00 - .global data_ov00_020e260c -data_ov00_020e260c: ; 0x020e260c - .byte 0x00, 0x00 - .global data_ov00_020e260e -data_ov00_020e260e: ; 0x020e260e - .byte 0x00, 0xf8 - .global data_ov00_020e2610 -data_ov00_020e2610: ; 0x020e2610 - .byte 0x00, 0x00 - .global data_ov00_020e2612 -data_ov00_020e2612: ; 0x020e2612 - .byte 0x00, 0x08 - .global data_ov00_020e2614 -data_ov00_020e2614: ; 0x020e2614 - .byte 0x00, 0x00 - .global data_ov00_020e2616 -data_ov00_020e2616: ; 0x020e2616 - .byte 0x00, 0x00 - .global data_ov00_020e2618 -data_ov00_020e2618: ; 0x020e2618 - .byte 0x00, 0x00 - .global data_ov00_020e261a -data_ov00_020e261a: ; 0x020e261a - .byte 0x00, 0x00 - .global data_ov00_020e261c -data_ov00_020e261c: ; 0x020e261c - .byte 0x00, 0x00 - .global data_ov00_020e261e -data_ov00_020e261e: ; 0x020e261e - .byte 0x00, 0x00 - .global data_ov00_020e2620 -data_ov00_020e2620: ; 0x020e2620 - .word func_ov00_0208caa0 - .global data_ov00_020e2624 -data_ov00_020e2624: ; 0x020e2624 - .word func_ov00_0208cac0 - .global data_ov00_020e2628 -data_ov00_020e2628: ; 0x020e2628 - .word func_ov00_0208b68c - .global data_ov00_020e262c -data_ov00_020e262c: ; 0x020e262c - .word func_ov00_0208b690 - .global data_ov00_020e2630 -data_ov00_020e2630: ; 0x020e2630 - .word func_ov00_0208b694 - .global data_ov00_020e2634 -data_ov00_020e2634: ; 0x020e2634 - .word func_ov00_0208b698 - .global data_ov00_020e2638 -data_ov00_020e2638: ; 0x020e2638 - .word func_ov00_0208b6b8 - .global data_ov00_020e263c -data_ov00_020e263c: ; 0x020e263c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2640 -data_ov00_020e2640: ; 0x020e2640 - .word func_ov00_0208b6bc - .global data_ov00_020e2644 -data_ov00_020e2644: ; 0x020e2644 - .word func_ov00_0208b6c4 - .global data_ov00_020e2648 -data_ov00_020e2648: ; 0x020e2648 - .word func_ov00_0208b6c8 - .global data_ov00_020e264c -data_ov00_020e264c: ; 0x020e264c - .word func_ov00_0208b6d0 - .global data_ov00_020e2650 -data_ov00_020e2650: ; 0x020e2650 - .word func_ov00_0208b6d8 - .global data_ov00_020e2654 -data_ov00_020e2654: ; 0x020e2654 - .word func_ov00_0208b6e0 - .global data_ov00_020e2658 -data_ov00_020e2658: ; 0x020e2658 - .word func_ov00_0208b6e8 - .global data_ov00_020e265c -data_ov00_020e265c: ; 0x020e265c - .word func_ov00_0208b6f0 - .global data_ov00_020e2660 -data_ov00_020e2660: ; 0x020e2660 - .word func_ov00_0208b6f8 - .global data_ov00_020e2664 -data_ov00_020e2664: ; 0x020e2664 - .word func_ov00_0208b700 - .global data_ov00_020e2668 -data_ov00_020e2668: ; 0x020e2668 - .word func_ov00_0208b704 - .global data_ov00_020e266c -data_ov00_020e266c: ; 0x020e266c - .word func_ov00_0208b70c - .global data_ov00_020e2670 -data_ov00_020e2670: ; 0x020e2670 - .word func_ov00_0208b710 - .global data_ov00_020e2674 -data_ov00_020e2674: ; 0x020e2674 - .word func_ov00_0208ca08 - .global data_ov00_020e2678 -data_ov00_020e2678: ; 0x020e2678 - .word func_ov00_0208b71c - .global data_ov00_020e267c -data_ov00_020e267c: ; 0x020e267c - .word func_ov00_0208b844 - .global data_ov00_020e2680 -data_ov00_020e2680: ; 0x020e2680 - .word func_ov00_0208b870 - .global data_ov00_020e2684 -data_ov00_020e2684: ; 0x020e2684 - .word func_ov00_0208b89c - .global data_ov00_020e2688 -data_ov00_020e2688: ; 0x020e2688 - .word func_ov00_0208ba30 - .global data_ov00_020e268c -data_ov00_020e268c: ; 0x020e268c - .word func_ov00_0208ba38 - .global data_ov00_020e2690 -data_ov00_020e2690: ; 0x020e2690 - .word func_ov00_0208ba40 - .global data_ov00_020e2694 -data_ov00_020e2694: ; 0x020e2694 - .word func_ov00_0208ba48 - .global data_ov00_020e2698 -data_ov00_020e2698: ; 0x020e2698 - .word func_ov00_0208ba50 - .global data_ov00_020e269c -data_ov00_020e269c: ; 0x020e269c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e26a0 -data_ov00_020e26a0: ; 0x020e26a0 - .word func_ov00_0208c384 - .global data_ov00_020e26a4 -data_ov00_020e26a4: ; 0x020e26a4 - .word func_ov00_0208c38c - .global data_ov00_020e26a8 -data_ov00_020e26a8: ; 0x020e26a8 - .word func_ov00_0208c39c - .global data_ov00_020e26ac -data_ov00_020e26ac: ; 0x020e26ac - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e26b0 -data_ov00_020e26b0: ; 0x020e26b0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e26b4 -data_ov00_020e26b4: ; 0x020e26b4 - .word func_ov00_0208ca58 - .global data_ov00_020e26b8 -data_ov00_020e26b8: ; 0x020e26b8 - .word func_ov00_0208ca78 - .global data_ov00_020e26bc -data_ov00_020e26bc: ; 0x020e26bc - .word func_ov00_0208b68c - .global data_ov00_020e26c0 -data_ov00_020e26c0: ; 0x020e26c0 - .word func_ov00_0208b690 - .global data_ov00_020e26c4 -data_ov00_020e26c4: ; 0x020e26c4 - .word func_ov00_0208b694 - .global data_ov00_020e26c8 -data_ov00_020e26c8: ; 0x020e26c8 - .word func_ov00_0208b698 - .global data_ov00_020e26cc -data_ov00_020e26cc: ; 0x020e26cc - .word func_ov00_0208b6b8 - .global data_ov00_020e26d0 -data_ov00_020e26d0: ; 0x020e26d0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e26d4 -data_ov00_020e26d4: ; 0x020e26d4 - .word func_ov00_0208b6bc - .global data_ov00_020e26d8 -data_ov00_020e26d8: ; 0x020e26d8 - .word func_ov00_0208b6c4 - .global data_ov00_020e26dc -data_ov00_020e26dc: ; 0x020e26dc - .word func_ov00_0208b6c8 - .global data_ov00_020e26e0 -data_ov00_020e26e0: ; 0x020e26e0 - .word func_ov00_0208b6d0 - .global data_ov00_020e26e4 -data_ov00_020e26e4: ; 0x020e26e4 - .word func_ov00_0208b6d8 - .global data_ov00_020e26e8 -data_ov00_020e26e8: ; 0x020e26e8 - .word func_ov00_0208b6e0 - .global data_ov00_020e26ec -data_ov00_020e26ec: ; 0x020e26ec - .word func_ov00_0208b6e8 - .global data_ov00_020e26f0 -data_ov00_020e26f0: ; 0x020e26f0 - .word func_ov00_0208b6f0 - .global data_ov00_020e26f4 -data_ov00_020e26f4: ; 0x020e26f4 - .word func_ov00_0208b6f8 - .global data_ov00_020e26f8 -data_ov00_020e26f8: ; 0x020e26f8 - .word func_ov00_0208b700 - .global data_ov00_020e26fc -data_ov00_020e26fc: ; 0x020e26fc - .word func_ov00_0208b704 - .global data_ov00_020e2700 -data_ov00_020e2700: ; 0x020e2700 - .word func_ov00_0208b70c - .global data_ov00_020e2704 -data_ov00_020e2704: ; 0x020e2704 - .word func_ov00_0208b710 - .global data_ov00_020e2708 -data_ov00_020e2708: ; 0x020e2708 - .word func_ov00_0208ca00 - .global data_ov00_020e270c -data_ov00_020e270c: ; 0x020e270c - .word func_ov00_0208b71c - .global data_ov00_020e2710 -data_ov00_020e2710: ; 0x020e2710 - .word func_ov00_0208b844 - .global data_ov00_020e2714 -data_ov00_020e2714: ; 0x020e2714 - .word func_ov00_0208b870 - .global data_ov00_020e2718 -data_ov00_020e2718: ; 0x020e2718 - .word func_ov00_0208b89c - .global data_ov00_020e271c -data_ov00_020e271c: ; 0x020e271c - .word func_ov00_0208ba30 - .global data_ov00_020e2720 -data_ov00_020e2720: ; 0x020e2720 - .word func_ov00_0208ba38 - .global data_ov00_020e2724 -data_ov00_020e2724: ; 0x020e2724 - .word func_ov00_0208ba40 - .global data_ov00_020e2728 -data_ov00_020e2728: ; 0x020e2728 - .word func_ov00_0208ba48 - .global data_ov00_020e272c -data_ov00_020e272c: ; 0x020e272c - .word func_ov00_0208ba50 - .global data_ov00_020e2730 -data_ov00_020e2730: ; 0x020e2730 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2734 -data_ov00_020e2734: ; 0x020e2734 - .word func_ov00_0208c384 - .global data_ov00_020e2738 -data_ov00_020e2738: ; 0x020e2738 - .word func_ov00_0208c38c - .global data_ov00_020e273c -data_ov00_020e273c: ; 0x020e273c - .word func_ov00_0208c39c - .global data_ov00_020e2740 -data_ov00_020e2740: ; 0x020e2740 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2744 -data_ov00_020e2744: ; 0x020e2744 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2748 -data_ov00_020e2748: ; 0x020e2748 - .word func_ov00_0208ca10 - .global data_ov00_020e274c -data_ov00_020e274c: ; 0x020e274c - .word func_ov00_0208ca30 - .global data_ov00_020e2750 -data_ov00_020e2750: ; 0x020e2750 - .word func_ov00_0208b68c - .global data_ov00_020e2754 -data_ov00_020e2754: ; 0x020e2754 - .word func_ov00_0208b690 - .global data_ov00_020e2758 -data_ov00_020e2758: ; 0x020e2758 - .word func_ov00_0208b694 - .global data_ov00_020e275c -data_ov00_020e275c: ; 0x020e275c - .word func_ov00_0208b698 - .global data_ov00_020e2760 -data_ov00_020e2760: ; 0x020e2760 - .word func_ov00_0208b6b8 - .global data_ov00_020e2764 -data_ov00_020e2764: ; 0x020e2764 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2768 -data_ov00_020e2768: ; 0x020e2768 - .word func_ov00_0208b6bc - .global data_ov00_020e276c -data_ov00_020e276c: ; 0x020e276c - .word func_ov00_0208b6c4 - .global data_ov00_020e2770 -data_ov00_020e2770: ; 0x020e2770 - .word func_ov00_0208b6c8 - .global data_ov00_020e2774 -data_ov00_020e2774: ; 0x020e2774 - .word func_ov00_0208b6d0 - .global data_ov00_020e2778 -data_ov00_020e2778: ; 0x020e2778 - .word func_ov00_0208b6d8 - .global data_ov00_020e277c -data_ov00_020e277c: ; 0x020e277c - .word func_ov00_0208b6e0 - .global data_ov00_020e2780 -data_ov00_020e2780: ; 0x020e2780 - .word func_ov00_0208b6e8 - .global data_ov00_020e2784 -data_ov00_020e2784: ; 0x020e2784 - .word func_ov00_0208b6f0 - .global data_ov00_020e2788 -data_ov00_020e2788: ; 0x020e2788 - .word func_ov00_0208b6f8 - .global data_ov00_020e278c -data_ov00_020e278c: ; 0x020e278c - .word func_ov00_0208b700 - .global data_ov00_020e2790 -data_ov00_020e2790: ; 0x020e2790 - .word func_ov00_0208b704 - .global data_ov00_020e2794 -data_ov00_020e2794: ; 0x020e2794 - .word func_ov00_0208b70c - .global data_ov00_020e2798 -data_ov00_020e2798: ; 0x020e2798 - .word func_ov00_0208b710 - .global data_ov00_020e279c -data_ov00_020e279c: ; 0x020e279c - .word func_ov00_0208c9f8 - .global data_ov00_020e27a0 -data_ov00_020e27a0: ; 0x020e27a0 - .word func_ov00_0208b71c - .global data_ov00_020e27a4 -data_ov00_020e27a4: ; 0x020e27a4 - .word func_ov00_0208b844 - .global data_ov00_020e27a8 -data_ov00_020e27a8: ; 0x020e27a8 - .word func_ov00_0208b870 - .global data_ov00_020e27ac -data_ov00_020e27ac: ; 0x020e27ac - .word func_ov00_0208b89c - .global data_ov00_020e27b0 -data_ov00_020e27b0: ; 0x020e27b0 - .word func_ov00_0208ba30 - .global data_ov00_020e27b4 -data_ov00_020e27b4: ; 0x020e27b4 - .word func_ov00_0208ba38 - .global data_ov00_020e27b8 -data_ov00_020e27b8: ; 0x020e27b8 - .word func_ov00_0208ba40 - .global data_ov00_020e27bc -data_ov00_020e27bc: ; 0x020e27bc - .word func_ov00_0208ba48 - .global data_ov00_020e27c0 -data_ov00_020e27c0: ; 0x020e27c0 - .word func_ov00_0208ba50 - .global data_ov00_020e27c4 -data_ov00_020e27c4: ; 0x020e27c4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e27c8 -data_ov00_020e27c8: ; 0x020e27c8 - .word func_ov00_0208c384 - .global data_ov00_020e27cc -data_ov00_020e27cc: ; 0x020e27cc - .word func_ov00_0208c38c - .global data_ov00_020e27d0 -data_ov00_020e27d0: ; 0x020e27d0 - .word func_ov00_0208c39c - .global data_ov00_020e27d4 -data_ov00_020e27d4: ; 0x020e27d4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e27d8 -data_ov00_020e27d8: ; 0x020e27d8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e27dc -data_ov00_020e27dc: ; 0x020e27dc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e27e0 -data_ov00_020e27e0: ; 0x020e27e0 - .word func_ov00_0208b5a8 - .global data_ov00_020e27e4 -data_ov00_020e27e4: ; 0x020e27e4 - .word func_ov00_0208b68c - .global data_ov00_020e27e8 -data_ov00_020e27e8: ; 0x020e27e8 - .word func_ov00_0208b690 - .global data_ov00_020e27ec -data_ov00_020e27ec: ; 0x020e27ec - .word func_ov00_0208b694 - .global data_ov00_020e27f0 -data_ov00_020e27f0: ; 0x020e27f0 - .word func_ov00_0208b698 - .global data_ov00_020e27f4 -data_ov00_020e27f4: ; 0x020e27f4 - .word func_ov00_0208b6b8 - .global data_ov00_020e27f8 -data_ov00_020e27f8: ; 0x020e27f8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e27fc -data_ov00_020e27fc: ; 0x020e27fc - .word func_ov00_0208b6bc - .global data_ov00_020e2800 -data_ov00_020e2800: ; 0x020e2800 - .word func_ov00_0208b6c4 - .global data_ov00_020e2804 -data_ov00_020e2804: ; 0x020e2804 - .word func_ov00_0208b6c8 - .global data_ov00_020e2808 -data_ov00_020e2808: ; 0x020e2808 - .word func_ov00_0208b6d0 - .global data_ov00_020e280c -data_ov00_020e280c: ; 0x020e280c - .word func_ov00_0208b6d8 - .global data_ov00_020e2810 -data_ov00_020e2810: ; 0x020e2810 - .word func_ov00_0208b6e0 - .global data_ov00_020e2814 -data_ov00_020e2814: ; 0x020e2814 - .word func_ov00_0208b6e8 - .global data_ov00_020e2818 -data_ov00_020e2818: ; 0x020e2818 - .word func_ov00_0208b6f0 - .global data_ov00_020e281c -data_ov00_020e281c: ; 0x020e281c - .word func_ov00_0208b6f8 - .global data_ov00_020e2820 -data_ov00_020e2820: ; 0x020e2820 - .word func_ov00_0208b700 - .global data_ov00_020e2824 -data_ov00_020e2824: ; 0x020e2824 - .word func_ov00_0208b704 - .global data_ov00_020e2828 -data_ov00_020e2828: ; 0x020e2828 - .word func_ov00_0208b70c - .global data_ov00_020e282c -data_ov00_020e282c: ; 0x020e282c - .word func_ov00_0208b710 - .global data_ov00_020e2830 -data_ov00_020e2830: ; 0x020e2830 - .word func_ov00_0208b714 - .global data_ov00_020e2834 -data_ov00_020e2834: ; 0x020e2834 - .word func_ov00_0208b71c - .global data_ov00_020e2838 -data_ov00_020e2838: ; 0x020e2838 - .word func_ov00_0208b844 - .global data_ov00_020e283c -data_ov00_020e283c: ; 0x020e283c - .word func_ov00_0208b870 - .global data_ov00_020e2840 -data_ov00_020e2840: ; 0x020e2840 - .word func_ov00_0208b89c - .global data_ov00_020e2844 -data_ov00_020e2844: ; 0x020e2844 - .word func_ov00_0208ba30 - .global data_ov00_020e2848 -data_ov00_020e2848: ; 0x020e2848 - .word func_ov00_0208ba38 - .global data_ov00_020e284c -data_ov00_020e284c: ; 0x020e284c - .word func_ov00_0208ba40 - .global data_ov00_020e2850 -data_ov00_020e2850: ; 0x020e2850 - .word func_ov00_0208ba48 - .global data_ov00_020e2854 -data_ov00_020e2854: ; 0x020e2854 - .word func_ov00_0208ba50 - .global data_ov00_020e2858 -data_ov00_020e2858: ; 0x020e2858 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e285c -data_ov00_020e285c: ; 0x020e285c - .word func_ov00_0208c384 - .global data_ov00_020e2860 -data_ov00_020e2860: ; 0x020e2860 - .word func_ov00_0208c38c - .global data_ov00_020e2864 -data_ov00_020e2864: ; 0x020e2864 - .word func_ov00_0208c39c - .global data_ov00_020e2868 -data_ov00_020e2868: ; 0x020e2868 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e286c -data_ov00_020e286c: ; 0x020e286c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2870 -data_ov00_020e2870: ; 0x020e2870 - .word func_ov00_0208def0 - .global data_ov00_020e2874 -data_ov00_020e2874: ; 0x020e2874 - .word func_ov00_0208df04 - .global data_ov00_020e2878 -data_ov00_020e2878: ; 0x020e2878 - .word func_ov00_0208df2c - .global data_ov00_020e287c -data_ov00_020e287c: ; 0x020e287c - .word func_ov00_0208df74 - .global data_ov00_020e2880 -data_ov00_020e2880: ; 0x020e2880 - .word func_ov00_0208de70 - .global data_ov00_020e2884 -data_ov00_020e2884: ; 0x020e2884 - .word func_ov00_0208de98 - .global data_ov00_020e2888 -data_ov00_020e2888: ; 0x020e2888 - .word func_ov00_0208e41c - .global data_ov00_020e288c -data_ov00_020e288c: ; 0x020e288c - .word func_ov00_0208e420 - .global data_ov00_020e2890 -data_ov00_020e2890: ; 0x020e2890 - .word func_ov00_0208e4f4 - .global data_ov00_020e2894 -data_ov00_020e2894: ; 0x020e2894 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2898 -data_ov00_020e2898: ; 0x020e2898 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e289c -data_ov00_020e289c: ; 0x020e289c - .word func_ov00_0208f720 - .global data_ov00_020e28a0 -data_ov00_020e28a0: ; 0x020e28a0 - .word func_ov00_0208f740 - .global data_ov00_020e28a4 -data_ov00_020e28a4: ; 0x020e28a4 - .word func_ov00_0208f768 - .global data_ov00_020e28a8 -data_ov00_020e28a8: ; 0x020e28a8 - .word func_ov00_0208f9ec - .global data_ov00_020e28ac -data_ov00_020e28ac: ; 0x020e28ac - .word func_ov00_0208b694 - .global data_ov00_020e28b0 -data_ov00_020e28b0: ; 0x020e28b0 - .word func_ov00_0208b698 - .global data_ov00_020e28b4 -data_ov00_020e28b4: ; 0x020e28b4 - .word func_ov00_0208f794 - .global data_ov00_020e28b8 -data_ov00_020e28b8: ; 0x020e28b8 - .word func_ov00_0208fa68 - .global data_ov00_020e28bc -data_ov00_020e28bc: ; 0x020e28bc - .word func_ov00_0208b6bc - .global data_ov00_020e28c0 -data_ov00_020e28c0: ; 0x020e28c0 - .word func_ov00_0208b6c4 - .global data_ov00_020e28c4 -data_ov00_020e28c4: ; 0x020e28c4 - .word func_ov00_0208b6c8 - .global data_ov00_020e28c8 -data_ov00_020e28c8: ; 0x020e28c8 - .word func_ov00_0208b6d0 - .global data_ov00_020e28cc -data_ov00_020e28cc: ; 0x020e28cc - .word func_ov00_0208b6d8 - .global data_ov00_020e28d0 -data_ov00_020e28d0: ; 0x020e28d0 - .word func_ov00_0208b6e0 - .global data_ov00_020e28d4 -data_ov00_020e28d4: ; 0x020e28d4 - .word func_ov00_0208b6e8 - .global data_ov00_020e28d8 -data_ov00_020e28d8: ; 0x020e28d8 - .word func_ov00_0208b6f0 - .global data_ov00_020e28dc -data_ov00_020e28dc: ; 0x020e28dc - .word func_ov00_0208b6f8 - .global data_ov00_020e28e0 -data_ov00_020e28e0: ; 0x020e28e0 - .word func_ov00_0208b700 - .global data_ov00_020e28e4 -data_ov00_020e28e4: ; 0x020e28e4 - .word func_ov00_0208b704 - .global data_ov00_020e28e8 -data_ov00_020e28e8: ; 0x020e28e8 - .word func_ov00_0208b70c - .global data_ov00_020e28ec -data_ov00_020e28ec: ; 0x020e28ec - .word func_ov00_0208b710 - .global data_ov00_020e28f0 -data_ov00_020e28f0: ; 0x020e28f0 - .word func_ov00_0208b714 - .global data_ov00_020e28f4 -data_ov00_020e28f4: ; 0x020e28f4 - .word func_ov00_0208b71c - .global data_ov00_020e28f8 -data_ov00_020e28f8: ; 0x020e28f8 - .word func_ov00_0208b844 - .global data_ov00_020e28fc -data_ov00_020e28fc: ; 0x020e28fc - .word func_ov00_0208b870 - .global data_ov00_020e2900 -data_ov00_020e2900: ; 0x020e2900 - .word func_ov00_0208b89c - .global data_ov00_020e2904 -data_ov00_020e2904: ; 0x020e2904 - .word func_ov00_0208ba30 - .global data_ov00_020e2908 -data_ov00_020e2908: ; 0x020e2908 - .word func_ov00_0208ba38 - .global data_ov00_020e290c -data_ov00_020e290c: ; 0x020e290c - .word func_ov00_0208ba40 - .global data_ov00_020e2910 -data_ov00_020e2910: ; 0x020e2910 - .word func_ov00_0208ba48 - .global data_ov00_020e2914 -data_ov00_020e2914: ; 0x020e2914 - .word func_ov00_0208ba50 - .global data_ov00_020e2918 -data_ov00_020e2918: ; 0x020e2918 - .word func_ov00_0208fa0c - .global data_ov00_020e291c -data_ov00_020e291c: ; 0x020e291c - .word func_ov00_0208f9f0 - .global data_ov00_020e2920 -data_ov00_020e2920: ; 0x020e2920 - .word func_ov00_0208c38c - .global data_ov00_020e2924 -data_ov00_020e2924: ; 0x020e2924 - .word func_ov00_0208c39c - .global data_ov00_020e2928 -data_ov00_020e2928: ; 0x020e2928 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e292c -data_ov00_020e292c: ; 0x020e292c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2930 -data_ov00_020e2930: ; 0x020e2930 - .word func_ov00_02090378 - .global data_ov00_020e2934 -data_ov00_020e2934: ; 0x020e2934 - .word func_ov00_0209038c - .global data_ov00_020e2938 -data_ov00_020e2938: ; 0x020e2938 - .word func_ov00_0208fae8 - .global data_ov00_020e293c -data_ov00_020e293c: ; 0x020e293c - .word func_ov00_0208fb0c - .global data_ov00_020e2940 -data_ov00_020e2940: ; 0x020e2940 - .word _ZN5Actor8vfunc_10Ej - .global data_ov00_020e2944 -data_ov00_020e2944: ; 0x020e2944 - .word func_ov00_0208fb40 - .global data_ov00_020e2948 -data_ov00_020e2948: ; 0x020e2948 - .word func_ov00_0208fbfc - .global data_ov00_020e294c -data_ov00_020e294c: ; 0x020e294c - .word _ZN5Actor8vfunc_1cEt - .global data_ov00_020e2950 -data_ov00_020e2950: ; 0x020e2950 - .word _ZN5Actor8vfunc_20Ei - .global data_ov00_020e2954 -data_ov00_020e2954: ; 0x020e2954 - .word _ZN5Actor8vfunc_24Ev - .global data_ov00_020e2958 -data_ov00_020e2958: ; 0x020e2958 - .word _ZN5Actor8vfunc_28Ev - .global data_ov00_020e295c -data_ov00_020e295c: ; 0x020e295c - .word _ZN5Actor8vfunc_2cEv - .global data_ov00_020e2960 -data_ov00_020e2960: ; 0x020e2960 - .word _ZN5Actor8vfunc_30Ev - .global data_ov00_020e2964 -data_ov00_020e2964: ; 0x020e2964 - .word _ZN5Actor12GetOffsetPosEP5Vec3p - .global data_ov00_020e2968 -data_ov00_020e2968: ; 0x020e2968 - .word _ZN5Actor8vfunc_38Ev - .global data_ov00_020e296c -data_ov00_020e296c: ; 0x020e296c - .word _ZN5Actor16CollidesWithLinkEv - .global data_ov00_020e2970 -data_ov00_020e2970: ; 0x020e2970 - .word _ZN5Actor15IsHitboxTouchedEb - .global data_ov00_020e2974 -data_ov00_020e2974: ; 0x020e2974 - .word _ZN5Actor12CollidesWithEPKS_ - .global data_ov00_020e2978 -data_ov00_020e2978: ; 0x020e2978 - .word _ZN5Actor8vfunc_48Ei - .global data_ov00_020e297c -data_ov00_020e297c: ; 0x020e297c - .word _ZN5Actor8vfunc_4cEPi - .global data_ov00_020e2980 -data_ov00_020e2980: ; 0x020e2980 - .word _ZN5Actor6GetPosEv - .global data_ov00_020e2984 -data_ov00_020e2984: ; 0x020e2984 - .word _ZN5Actor8vfunc_54Ev - .global data_ov00_020e2988 -data_ov00_020e2988: ; 0x020e2988 - .word _ZN5Actor10SetUnk_11bEv - .global data_ov00_020e298c -data_ov00_020e298c: ; 0x020e298c - .word _ZN5Actor11SetVelocityEP5Vec3p - .global data_ov00_020e2990 -data_ov00_020e2990: ; 0x020e2990 - .word _ZN5Actor8vfunc_60Ev - .global data_ov00_020e2994 -data_ov00_020e2994: ; 0x020e2994 - .word _ZN5Actor8vfunc_64Ev - .global data_ov00_020e2998 -data_ov00_020e2998: ; 0x020e2998 - .word _ZN5Actor8vfunc_68Ev - .global data_ov00_020e299c -data_ov00_020e299c: ; 0x020e299c - .word _ZN5Actor8vfunc_6cEv - .global data_ov00_020e29a0 -data_ov00_020e29a0: ; 0x020e29a0 - .word _ZN5Actor8vfunc_70Ev - .global data_ov00_020e29a4 -data_ov00_020e29a4: ; 0x020e29a4 - .word _ZN5Actor8vfunc_74Ev - .global data_ov00_020e29a8 -data_ov00_020e29a8: ; 0x020e29a8 - .word _ZN5Actor8vfunc_78Ev - .global data_ov00_020e29ac -data_ov00_020e29ac: ; 0x020e29ac - .word _ZN5Actor8vfunc_7cEv - .global data_ov00_020e29b0 -data_ov00_020e29b0: ; 0x020e29b0 - .word _ZN5Actor8vfunc_80Ev - .global data_ov00_020e29b4 -data_ov00_020e29b4: ; 0x020e29b4 - .word _ZN5Actor8vfunc_84Ev - .global data_ov00_020e29b8 -data_ov00_020e29b8: ; 0x020e29b8 - .word _ZN5Actor8vfunc_88Ev - .global data_ov00_020e29bc -data_ov00_020e29bc: ; 0x020e29bc - .word _ZN5Actor8vfunc_8cEv - .global data_ov00_020e29c0 -data_ov00_020e29c0: ; 0x020e29c0 - .word _ZN5Actor8vfunc_90Ev - .global data_ov00_020e29c4 -data_ov00_020e29c4: ; 0x020e29c4 - .word _ZN5Actor8vfunc_94Ev - .global data_ov00_020e29c8 -data_ov00_020e29c8: ; 0x020e29c8 - .word _ZN5Actor8vfunc_98Ev - .global data_ov00_020e29cc -data_ov00_020e29cc: ; 0x020e29cc - .word _ZN5Actor8vfunc_9cEv - .global data_ov00_020e29d0 -data_ov00_020e29d0: ; 0x020e29d0 - .word _ZN5Actor15TrySetTransformEP9Transform - .global data_ov00_020e29d4 -data_ov00_020e29d4: ; 0x020e29d4 - .word _ZN5Actor12SetTransformEP9Transform - .global data_ov00_020e29d8 -data_ov00_020e29d8: ; 0x020e29d8 - .word _ZN5Actor8vfunc_a8Ev - .global data_ov00_020e29dc -data_ov00_020e29dc: ; 0x020e29dc - .word _ZN5Actor8vfunc_acEv - .global data_ov00_020e29e0 -data_ov00_020e29e0: ; 0x020e29e0 - .word _ZN5Actor8vfunc_b0Ev - .global data_ov00_020e29e4 -data_ov00_020e29e4: ; 0x020e29e4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e29e8 -data_ov00_020e29e8: ; 0x020e29e8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e29ec -data_ov00_020e29ec: ; 0x020e29ec - .word func_ov00_020904c4 - .global data_ov00_020e29f0 -data_ov00_020e29f0: ; 0x020e29f0 - .word func_ov00_020904d8 - .global data_ov00_020e29f4 -data_ov00_020e29f4: ; 0x020e29f4 - .word func_ov00_020903e8 - .global data_ov00_020e29f8 -data_ov00_020e29f8: ; 0x020e29f8 - .word _ZN5Actor8vfunc_0cEv - .global data_ov00_020e29fc -data_ov00_020e29fc: ; 0x020e29fc - .word _ZN5Actor8vfunc_10Ej - .global data_ov00_020e2a00 -data_ov00_020e2a00: ; 0x020e2a00 - .word func_ov00_02090404 - .global data_ov00_020e2a04 -data_ov00_020e2a04: ; 0x020e2a04 - .word _ZN5Actor8vfunc_18Ej - .global data_ov00_020e2a08 -data_ov00_020e2a08: ; 0x020e2a08 - .word _ZN5Actor8vfunc_1cEt - .global data_ov00_020e2a0c -data_ov00_020e2a0c: ; 0x020e2a0c - .word _ZN5Actor8vfunc_20Ei - .global data_ov00_020e2a10 -data_ov00_020e2a10: ; 0x020e2a10 - .word _ZN5Actor8vfunc_24Ev - .global data_ov00_020e2a14 -data_ov00_020e2a14: ; 0x020e2a14 - .word _ZN5Actor8vfunc_28Ev - .global data_ov00_020e2a18 -data_ov00_020e2a18: ; 0x020e2a18 - .word _ZN5Actor8vfunc_2cEv - .global data_ov00_020e2a1c -data_ov00_020e2a1c: ; 0x020e2a1c - .word _ZN5Actor8vfunc_30Ev - .global data_ov00_020e2a20 -data_ov00_020e2a20: ; 0x020e2a20 - .word _ZN5Actor12GetOffsetPosEP5Vec3p - .global data_ov00_020e2a24 -data_ov00_020e2a24: ; 0x020e2a24 - .word _ZN5Actor8vfunc_38Ev - .global data_ov00_020e2a28 -data_ov00_020e2a28: ; 0x020e2a28 - .word _ZN5Actor16CollidesWithLinkEv - .global data_ov00_020e2a2c -data_ov00_020e2a2c: ; 0x020e2a2c - .word _ZN5Actor15IsHitboxTouchedEb - .global data_ov00_020e2a30 -data_ov00_020e2a30: ; 0x020e2a30 - .word _ZN5Actor12CollidesWithEPKS_ - .global data_ov00_020e2a34 -data_ov00_020e2a34: ; 0x020e2a34 - .word _ZN5Actor8vfunc_48Ei - .global data_ov00_020e2a38 -data_ov00_020e2a38: ; 0x020e2a38 - .word _ZN5Actor8vfunc_4cEPi - .global data_ov00_020e2a3c -data_ov00_020e2a3c: ; 0x020e2a3c - .word _ZN5Actor6GetPosEv - .global data_ov00_020e2a40 -data_ov00_020e2a40: ; 0x020e2a40 - .word _ZN5Actor8vfunc_54Ev - .global data_ov00_020e2a44 -data_ov00_020e2a44: ; 0x020e2a44 - .word _ZN5Actor10SetUnk_11bEv - .global data_ov00_020e2a48 -data_ov00_020e2a48: ; 0x020e2a48 - .word _ZN5Actor11SetVelocityEP5Vec3p - .global data_ov00_020e2a4c -data_ov00_020e2a4c: ; 0x020e2a4c - .word _ZN5Actor8vfunc_60Ev - .global data_ov00_020e2a50 -data_ov00_020e2a50: ; 0x020e2a50 - .word _ZN5Actor8vfunc_64Ev - .global data_ov00_020e2a54 -data_ov00_020e2a54: ; 0x020e2a54 - .word _ZN5Actor8vfunc_68Ev - .global data_ov00_020e2a58 -data_ov00_020e2a58: ; 0x020e2a58 - .word _ZN5Actor8vfunc_6cEv - .global data_ov00_020e2a5c -data_ov00_020e2a5c: ; 0x020e2a5c - .word _ZN5Actor8vfunc_70Ev - .global data_ov00_020e2a60 -data_ov00_020e2a60: ; 0x020e2a60 - .word _ZN5Actor8vfunc_74Ev - .global data_ov00_020e2a64 -data_ov00_020e2a64: ; 0x020e2a64 - .word _ZN5Actor8vfunc_78Ev - .global data_ov00_020e2a68 -data_ov00_020e2a68: ; 0x020e2a68 - .word _ZN5Actor8vfunc_7cEv - .global data_ov00_020e2a6c -data_ov00_020e2a6c: ; 0x020e2a6c - .word _ZN5Actor8vfunc_80Ev - .global data_ov00_020e2a70 -data_ov00_020e2a70: ; 0x020e2a70 - .word _ZN5Actor8vfunc_84Ev - .global data_ov00_020e2a74 -data_ov00_020e2a74: ; 0x020e2a74 - .word _ZN5Actor8vfunc_88Ev - .global data_ov00_020e2a78 -data_ov00_020e2a78: ; 0x020e2a78 - .word _ZN5Actor8vfunc_8cEv - .global data_ov00_020e2a7c -data_ov00_020e2a7c: ; 0x020e2a7c - .word _ZN5Actor8vfunc_90Ev - .global data_ov00_020e2a80 -data_ov00_020e2a80: ; 0x020e2a80 - .word _ZN5Actor8vfunc_94Ev - .global data_ov00_020e2a84 -data_ov00_020e2a84: ; 0x020e2a84 - .word _ZN5Actor8vfunc_98Ev - .global data_ov00_020e2a88 -data_ov00_020e2a88: ; 0x020e2a88 - .word _ZN5Actor8vfunc_9cEv - .global data_ov00_020e2a8c -data_ov00_020e2a8c: ; 0x020e2a8c - .word _ZN5Actor15TrySetTransformEP9Transform - .global data_ov00_020e2a90 -data_ov00_020e2a90: ; 0x020e2a90 - .word _ZN5Actor12SetTransformEP9Transform - .global data_ov00_020e2a94 -data_ov00_020e2a94: ; 0x020e2a94 - .word _ZN5Actor8vfunc_a8Ev - .global data_ov00_020e2a98 -data_ov00_020e2a98: ; 0x020e2a98 - .word _ZN5Actor8vfunc_acEv - .global data_ov00_020e2a9c -data_ov00_020e2a9c: ; 0x020e2a9c - .word _ZN5Actor8vfunc_b0Ev - .global data_ov00_020e2aa0 -data_ov00_020e2aa0: ; 0x020e2aa0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2aa4 -data_ov00_020e2aa4: ; 0x020e2aa4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2aa8 -data_ov00_020e2aa8: ; 0x020e2aa8 - .word func_ov00_020908b0 - .global data_ov00_020e2aac -data_ov00_020e2aac: ; 0x020e2aac - .word func_ov00_020908d0 - .global data_ov00_020e2ab0 -data_ov00_020e2ab0: ; 0x020e2ab0 - .word func_ov00_02090580 - .global data_ov00_020e2ab4 -data_ov00_020e2ab4: ; 0x020e2ab4 - .word _ZN5Actor8vfunc_0cEv - .global data_ov00_020e2ab8 -data_ov00_020e2ab8: ; 0x020e2ab8 - .word _ZN5Actor8vfunc_10Ej - .global data_ov00_020e2abc -data_ov00_020e2abc: ; 0x020e2abc - .word func_ov00_02090630 - .global data_ov00_020e2ac0 -data_ov00_020e2ac0: ; 0x020e2ac0 - .word func_ov00_0209063c - .global data_ov00_020e2ac4 -data_ov00_020e2ac4: ; 0x020e2ac4 - .word func_ov00_020907a0 - .global data_ov00_020e2ac8 -data_ov00_020e2ac8: ; 0x020e2ac8 - .word _ZN5Actor8vfunc_20Ei - .global data_ov00_020e2acc -data_ov00_020e2acc: ; 0x020e2acc - .word _ZN5Actor8vfunc_24Ev - .global data_ov00_020e2ad0 -data_ov00_020e2ad0: ; 0x020e2ad0 - .word _ZN5Actor8vfunc_28Ev - .global data_ov00_020e2ad4 -data_ov00_020e2ad4: ; 0x020e2ad4 - .word _ZN5Actor8vfunc_2cEv - .global data_ov00_020e2ad8 -data_ov00_020e2ad8: ; 0x020e2ad8 - .word _ZN5Actor8vfunc_30Ev - .global data_ov00_020e2adc -data_ov00_020e2adc: ; 0x020e2adc - .word _ZN5Actor12GetOffsetPosEP5Vec3p - .global data_ov00_020e2ae0 -data_ov00_020e2ae0: ; 0x020e2ae0 - .word _ZN5Actor8vfunc_38Ev - .global data_ov00_020e2ae4 -data_ov00_020e2ae4: ; 0x020e2ae4 - .word _ZN5Actor16CollidesWithLinkEv - .global data_ov00_020e2ae8 -data_ov00_020e2ae8: ; 0x020e2ae8 - .word _ZN5Actor15IsHitboxTouchedEb - .global data_ov00_020e2aec -data_ov00_020e2aec: ; 0x020e2aec - .word _ZN5Actor12CollidesWithEPKS_ - .global data_ov00_020e2af0 -data_ov00_020e2af0: ; 0x020e2af0 - .word _ZN5Actor8vfunc_48Ei - .global data_ov00_020e2af4 -data_ov00_020e2af4: ; 0x020e2af4 - .word _ZN5Actor8vfunc_4cEPi - .global data_ov00_020e2af8 -data_ov00_020e2af8: ; 0x020e2af8 - .word _ZN5Actor6GetPosEv - .global data_ov00_020e2afc -data_ov00_020e2afc: ; 0x020e2afc - .word _ZN5Actor8vfunc_54Ev - .global data_ov00_020e2b00 -data_ov00_020e2b00: ; 0x020e2b00 - .word _ZN5Actor10SetUnk_11bEv - .global data_ov00_020e2b04 -data_ov00_020e2b04: ; 0x020e2b04 - .word _ZN5Actor11SetVelocityEP5Vec3p - .global data_ov00_020e2b08 -data_ov00_020e2b08: ; 0x020e2b08 - .word _ZN5Actor8vfunc_60Ev - .global data_ov00_020e2b0c -data_ov00_020e2b0c: ; 0x020e2b0c - .word _ZN5Actor8vfunc_64Ev - .global data_ov00_020e2b10 -data_ov00_020e2b10: ; 0x020e2b10 - .word _ZN5Actor8vfunc_68Ev - .global data_ov00_020e2b14 -data_ov00_020e2b14: ; 0x020e2b14 - .word _ZN5Actor8vfunc_6cEv - .global data_ov00_020e2b18 -data_ov00_020e2b18: ; 0x020e2b18 - .word _ZN5Actor8vfunc_70Ev - .global data_ov00_020e2b1c -data_ov00_020e2b1c: ; 0x020e2b1c - .word _ZN5Actor8vfunc_74Ev - .global data_ov00_020e2b20 -data_ov00_020e2b20: ; 0x020e2b20 - .word _ZN5Actor8vfunc_78Ev - .global data_ov00_020e2b24 -data_ov00_020e2b24: ; 0x020e2b24 - .word _ZN5Actor8vfunc_7cEv - .global data_ov00_020e2b28 -data_ov00_020e2b28: ; 0x020e2b28 - .word _ZN5Actor8vfunc_80Ev - .global data_ov00_020e2b2c -data_ov00_020e2b2c: ; 0x020e2b2c - .word _ZN5Actor8vfunc_84Ev - .global data_ov00_020e2b30 -data_ov00_020e2b30: ; 0x020e2b30 - .word _ZN5Actor8vfunc_88Ev - .global data_ov00_020e2b34 -data_ov00_020e2b34: ; 0x020e2b34 - .word _ZN5Actor8vfunc_8cEv - .global data_ov00_020e2b38 -data_ov00_020e2b38: ; 0x020e2b38 - .word _ZN5Actor8vfunc_90Ev - .global data_ov00_020e2b3c -data_ov00_020e2b3c: ; 0x020e2b3c - .word _ZN5Actor8vfunc_94Ev - .global data_ov00_020e2b40 -data_ov00_020e2b40: ; 0x020e2b40 - .word _ZN5Actor8vfunc_98Ev - .global data_ov00_020e2b44 -data_ov00_020e2b44: ; 0x020e2b44 - .word _ZN5Actor8vfunc_9cEv - .global data_ov00_020e2b48 -data_ov00_020e2b48: ; 0x020e2b48 - .word _ZN5Actor15TrySetTransformEP9Transform - .global data_ov00_020e2b4c -data_ov00_020e2b4c: ; 0x020e2b4c - .word _ZN5Actor12SetTransformEP9Transform - .global data_ov00_020e2b50 -data_ov00_020e2b50: ; 0x020e2b50 - .word _ZN5Actor8vfunc_a8Ev - .global data_ov00_020e2b54 -data_ov00_020e2b54: ; 0x020e2b54 - .word _ZN5Actor8vfunc_acEv - .global data_ov00_020e2b58 -data_ov00_020e2b58: ; 0x020e2b58 - .word _ZN5Actor8vfunc_b0Ev - .global data_ov00_020e2b5c -data_ov00_020e2b5c: ; 0x020e2b5c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2b60 -data_ov00_020e2b60: ; 0x020e2b60 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2b64 -data_ov00_020e2b64: ; 0x020e2b64 - .word func_ov00_02091044 - .global data_ov00_020e2b68 -data_ov00_020e2b68: ; 0x020e2b68 - .word func_ov00_02091048 - .global data_ov00_020e2b6c -data_ov00_020e2b6c: ; 0x020e2b6c - .word func_ov00_020908f8 - .global data_ov00_020e2b70 -data_ov00_020e2b70: ; 0x020e2b70 - .word func_ov00_02090978 - .global data_ov00_020e2b74 -data_ov00_020e2b74: ; 0x020e2b74 - .word func_ov00_0209097c - .global data_ov00_020e2b78 -data_ov00_020e2b78: ; 0x020e2b78 - .word func_ov00_02090980 - .global data_ov00_020e2b7c -data_ov00_020e2b7c: ; 0x020e2b7c - .word func_ov00_020909e4 - .global data_ov00_020e2b80 -data_ov00_020e2b80: ; 0x020e2b80 - .word func_ov00_020909e8 - .global data_ov00_020e2b84 -data_ov00_020e2b84: ; 0x020e2b84 - .word func_ov00_020909ec - .global data_ov00_020e2b88 -data_ov00_020e2b88: ; 0x020e2b88 - .word func_ov00_020909f0 - .global data_ov00_020e2b8c -data_ov00_020e2b8c: ; 0x020e2b8c - .word func_ov00_020909f4 - .global data_ov00_020e2b90 -data_ov00_020e2b90: ; 0x020e2b90 - .word func_ov00_020909f8 - .global data_ov00_020e2b94 -data_ov00_020e2b94: ; 0x020e2b94 - .word func_ov00_020909fc - .global data_ov00_020e2b98 -data_ov00_020e2b98: ; 0x020e2b98 - .word func_ov00_02090a00 - .global data_ov00_020e2b9c -data_ov00_020e2b9c: ; 0x020e2b9c - .word func_ov00_02090a08 - .global data_ov00_020e2ba0 -data_ov00_020e2ba0: ; 0x020e2ba0 - .word func_ov00_02090a0c - .global data_ov00_020e2ba4 -data_ov00_020e2ba4: ; 0x020e2ba4 - .word func_ov00_02090a10 - .global data_ov00_020e2ba8 -data_ov00_020e2ba8: ; 0x020e2ba8 - .word func_ov00_02090a14 - .global data_ov00_020e2bac -data_ov00_020e2bac: ; 0x020e2bac - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2bb0 -data_ov00_020e2bb0: ; 0x020e2bb0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2bb4 -data_ov00_020e2bb4: ; 0x020e2bb4 - .word func_ov00_02091144 - .global data_ov00_020e2bb8 -data_ov00_020e2bb8: ; 0x020e2bb8 - .word func_ov00_02091148 - .global data_ov00_020e2bbc -data_ov00_020e2bbc: ; 0x020e2bbc - .word func_ov00_0209105c - .global data_ov00_020e2bc0 -data_ov00_020e2bc0: ; 0x020e2bc0 - .word func_ov00_02091060 - .global data_ov00_020e2bc4 -data_ov00_020e2bc4: ; 0x020e2bc4 - .word func_ov00_020910dc - .global data_ov00_020e2bc8 -data_ov00_020e2bc8: ; 0x020e2bc8 - .word func_ov00_02091064 - .global data_ov00_020e2bcc -data_ov00_020e2bcc: ; 0x020e2bcc - .word func_ov00_020909e4 - .global data_ov00_020e2bd0 -data_ov00_020e2bd0: ; 0x020e2bd0 - .word func_ov00_020909e8 - .global data_ov00_020e2bd4 -data_ov00_020e2bd4: ; 0x020e2bd4 - .word func_ov00_020909ec - .global data_ov00_020e2bd8 -data_ov00_020e2bd8: ; 0x020e2bd8 - .word func_ov00_020909f0 - .global data_ov00_020e2bdc -data_ov00_020e2bdc: ; 0x020e2bdc - .word func_ov00_020909f4 - .global data_ov00_020e2be0 -data_ov00_020e2be0: ; 0x020e2be0 - .word func_ov00_020910e0 - .global data_ov00_020e2be4 -data_ov00_020e2be4: ; 0x020e2be4 - .word func_ov00_020909fc - .global data_ov00_020e2be8 -data_ov00_020e2be8: ; 0x020e2be8 - .word func_ov00_02090a00 - .global data_ov00_020e2bec -data_ov00_020e2bec: ; 0x020e2bec - .word func_ov00_02090a08 - .global data_ov00_020e2bf0 -data_ov00_020e2bf0: ; 0x020e2bf0 - .word func_ov00_02090a0c - .global data_ov00_020e2bf4 -data_ov00_020e2bf4: ; 0x020e2bf4 - .word func_ov00_02090a10 - .global data_ov00_020e2bf8 -data_ov00_020e2bf8: ; 0x020e2bf8 - .word func_ov00_02090a14 - .global data_ov00_020e2bfc -data_ov00_020e2bfc: ; 0x020e2bfc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2c00 -data_ov00_020e2c00: ; 0x020e2c00 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2c04 -data_ov00_020e2c04: ; 0x020e2c04 - .word func_ov00_02091260 - .global data_ov00_020e2c08 -data_ov00_020e2c08: ; 0x020e2c08 - .word func_ov00_02091264 - .global data_ov00_020e2c0c -data_ov00_020e2c0c: ; 0x020e2c0c - .word func_ov00_0209115c - .global data_ov00_020e2c10 -data_ov00_020e2c10: ; 0x020e2c10 - .word func_ov00_0209116c - .global data_ov00_020e2c14 -data_ov00_020e2c14: ; 0x020e2c14 - .word func_ov00_0209097c - .global data_ov00_020e2c18 -data_ov00_020e2c18: ; 0x020e2c18 - .word func_ov00_020911cc - .global data_ov00_020e2c1c -data_ov00_020e2c1c: ; 0x020e2c1c - .word func_ov00_020909e4 - .global data_ov00_020e2c20 -data_ov00_020e2c20: ; 0x020e2c20 - .word func_ov00_020909e8 - .global data_ov00_020e2c24 -data_ov00_020e2c24: ; 0x020e2c24 - .word func_ov00_020909ec - .global data_ov00_020e2c28 -data_ov00_020e2c28: ; 0x020e2c28 - .word func_ov00_020909f0 - .global data_ov00_020e2c2c -data_ov00_020e2c2c: ; 0x020e2c2c - .word func_ov00_020909f4 - .global data_ov00_020e2c30 -data_ov00_020e2c30: ; 0x020e2c30 - .word func_ov00_020909f8 - .global data_ov00_020e2c34 -data_ov00_020e2c34: ; 0x020e2c34 - .word func_ov00_020909fc - .global data_ov00_020e2c38 -data_ov00_020e2c38: ; 0x020e2c38 - .word func_ov00_02090a00 - .global data_ov00_020e2c3c -data_ov00_020e2c3c: ; 0x020e2c3c - .word func_ov00_02091244 - .global data_ov00_020e2c40 -data_ov00_020e2c40: ; 0x020e2c40 - .word func_ov00_02090a0c - .global data_ov00_020e2c44 -data_ov00_020e2c44: ; 0x020e2c44 - .word func_ov00_02090a10 - .global data_ov00_020e2c48 -data_ov00_020e2c48: ; 0x020e2c48 - .word func_ov00_02090a14 - .global data_ov00_020e2c4c -data_ov00_020e2c4c: ; 0x020e2c4c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2c50 -data_ov00_020e2c50: ; 0x020e2c50 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2c54 -data_ov00_020e2c54: ; 0x020e2c54 - .word func_ov00_020921f4 - .global data_ov00_020e2c58 -data_ov00_020e2c58: ; 0x020e2c58 - .word func_ov00_02092208 - .global data_ov00_020e2c5c -data_ov00_020e2c5c: ; 0x020e2c5c - .word func_ov00_02091278 - .global data_ov00_020e2c60 -data_ov00_020e2c60: ; 0x020e2c60 - .word func_ov00_02091400 - .global data_ov00_020e2c64 -data_ov00_020e2c64: ; 0x020e2c64 - .word func_ov00_020921e8 - .global data_ov00_020e2c68 -data_ov00_020e2c68: ; 0x020e2c68 - .word func_ov00_020915e8 - .global data_ov00_020e2c6c -data_ov00_020e2c6c: ; 0x020e2c6c - .word func_ov00_020909e4 - .global data_ov00_020e2c70 -data_ov00_020e2c70: ; 0x020e2c70 - .word func_ov00_020909e8 - .global data_ov00_020e2c74 -data_ov00_020e2c74: ; 0x020e2c74 - .word func_ov00_020909ec - .global data_ov00_020e2c78 -data_ov00_020e2c78: ; 0x020e2c78 - .word func_ov00_020909f0 - .global data_ov00_020e2c7c -data_ov00_020e2c7c: ; 0x020e2c7c - .word func_ov00_020909f4 - .global data_ov00_020e2c80 -data_ov00_020e2c80: ; 0x020e2c80 - .word func_ov00_020909f8 - .global data_ov00_020e2c84 -data_ov00_020e2c84: ; 0x020e2c84 - .word func_ov00_020921f8 - .global data_ov00_020e2c88 -data_ov00_020e2c88: ; 0x020e2c88 - .word func_ov00_02092200 - .global data_ov00_020e2c8c -data_ov00_020e2c8c: ; 0x020e2c8c - .word func_ov00_02090a08 - .global data_ov00_020e2c90 -data_ov00_020e2c90: ; 0x020e2c90 - .word func_ov00_02090a0c - .global data_ov00_020e2c94 -data_ov00_020e2c94: ; 0x020e2c94 - .word func_ov00_02090a10 - .global data_ov00_020e2c98 -data_ov00_020e2c98: ; 0x020e2c98 - .word func_ov00_02090a14 - .global data_ov00_020e2c9c -data_ov00_020e2c9c: ; 0x020e2c9c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2ca0 -data_ov00_020e2ca0: ; 0x020e2ca0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2ca4 -data_ov00_020e2ca4: ; 0x020e2ca4 - .word func_ov00_0209361c - .global data_ov00_020e2ca8 -data_ov00_020e2ca8: ; 0x020e2ca8 - .word func_ov00_02093620 - .global data_ov00_020e2cac -data_ov00_020e2cac: ; 0x020e2cac - .word func_ov00_0209221c - .global data_ov00_020e2cb0 -data_ov00_020e2cb0: ; 0x020e2cb0 - .word func_ov00_020924b8 - .global data_ov00_020e2cb4 -data_ov00_020e2cb4: ; 0x020e2cb4 - .word func_ov00_0209097c - .global data_ov00_020e2cb8 -data_ov00_020e2cb8: ; 0x020e2cb8 - .word func_ov00_02090980 - .global data_ov00_020e2cbc -data_ov00_020e2cbc: ; 0x020e2cbc - .word func_ov00_020932e8 - .global data_ov00_020e2cc0 -data_ov00_020e2cc0: ; 0x020e2cc0 - .word func_ov00_020909e8 - .global data_ov00_020e2cc4 -data_ov00_020e2cc4: ; 0x020e2cc4 - .word func_ov00_020909ec - .global data_ov00_020e2cc8 -data_ov00_020e2cc8: ; 0x020e2cc8 - .word func_ov00_020909f0 - .global data_ov00_020e2ccc -data_ov00_020e2ccc: ; 0x020e2ccc - .word func_ov00_020909f4 - .global data_ov00_020e2cd0 -data_ov00_020e2cd0: ; 0x020e2cd0 - .word func_ov00_020909f8 - .global data_ov00_020e2cd4 -data_ov00_020e2cd4: ; 0x020e2cd4 - .word func_ov00_020909fc - .global data_ov00_020e2cd8 -data_ov00_020e2cd8: ; 0x020e2cd8 - .word func_ov00_02090a00 - .global data_ov00_020e2cdc -data_ov00_020e2cdc: ; 0x020e2cdc - .word func_ov00_020933b8 - .global data_ov00_020e2ce0 -data_ov00_020e2ce0: ; 0x020e2ce0 - .word func_ov00_02090a0c - .global data_ov00_020e2ce4 -data_ov00_020e2ce4: ; 0x020e2ce4 - .word func_ov00_02090a10 - .global data_ov00_020e2ce8 -data_ov00_020e2ce8: ; 0x020e2ce8 - .word func_ov00_020935fc - .global data_ov00_020e2cec -data_ov00_020e2cec: ; 0x020e2cec - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2cf0 -data_ov00_020e2cf0: ; 0x020e2cf0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2cf4 -data_ov00_020e2cf4: ; 0x020e2cf4 - .word func_ov00_02093934 - .global data_ov00_020e2cf8 -data_ov00_020e2cf8: ; 0x020e2cf8 - .word func_ov00_02093938 - .global data_ov00_020e2cfc -data_ov00_020e2cfc: ; 0x020e2cfc - .word func_ov00_02093634 - .global data_ov00_020e2d00 -data_ov00_020e2d00: ; 0x020e2d00 - .word func_ov00_020936d8 - .global data_ov00_020e2d04 -data_ov00_020e2d04: ; 0x020e2d04 - .word func_ov00_020937d8 - .global data_ov00_020e2d08 -data_ov00_020e2d08: ; 0x020e2d08 - .word func_ov00_020937dc - .global data_ov00_020e2d0c -data_ov00_020e2d0c: ; 0x020e2d0c - .word func_ov00_020909e4 - .global data_ov00_020e2d10 -data_ov00_020e2d10: ; 0x020e2d10 - .word func_ov00_020909e8 - .global data_ov00_020e2d14 -data_ov00_020e2d14: ; 0x020e2d14 - .word func_ov00_02093840 - .global data_ov00_020e2d18 -data_ov00_020e2d18: ; 0x020e2d18 - .word func_ov00_02093854 - .global data_ov00_020e2d1c -data_ov00_020e2d1c: ; 0x020e2d1c - .word func_ov00_02093920 - .global data_ov00_020e2d20 -data_ov00_020e2d20: ; 0x020e2d20 - .word func_ov00_020909f8 - .global data_ov00_020e2d24 -data_ov00_020e2d24: ; 0x020e2d24 - .word func_ov00_020909fc - .global data_ov00_020e2d28 -data_ov00_020e2d28: ; 0x020e2d28 - .word func_ov00_02090a00 - .global data_ov00_020e2d2c -data_ov00_020e2d2c: ; 0x020e2d2c - .word func_ov00_02090a08 - .global data_ov00_020e2d30 -data_ov00_020e2d30: ; 0x020e2d30 - .word func_ov00_02090a0c - .global data_ov00_020e2d34 -data_ov00_020e2d34: ; 0x020e2d34 - .word func_ov00_02090a10 - .global data_ov00_020e2d38 -data_ov00_020e2d38: ; 0x020e2d38 - .word func_ov00_02090a14 - .global data_ov00_020e2d3c -data_ov00_020e2d3c: ; 0x020e2d3c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2d40 -data_ov00_020e2d40: ; 0x020e2d40 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2d44 -data_ov00_020e2d44: ; 0x020e2d44 - .word func_ov00_02093da8 - .global data_ov00_020e2d48 -data_ov00_020e2d48: ; 0x020e2d48 - .word func_ov00_02093dd0 - .global data_ov00_020e2d4c -data_ov00_020e2d4c: ; 0x020e2d4c - .word func_ov00_02093e00 - .global data_ov00_020e2d50 -data_ov00_020e2d50: ; 0x020e2d50 - .word func_ov00_02094120 - .global data_ov00_020e2d54 -data_ov00_020e2d54: ; 0x020e2d54 - .word func_ov00_0208b694 - .global data_ov00_020e2d58 -data_ov00_020e2d58: ; 0x020e2d58 - .word func_ov00_0208b698 - .global data_ov00_020e2d5c -data_ov00_020e2d5c: ; 0x020e2d5c - .word func_ov00_0208b6b8 - .global data_ov00_020e2d60 -data_ov00_020e2d60: ; 0x020e2d60 - .word func_ov00_02094808 - .global data_ov00_020e2d64 -data_ov00_020e2d64: ; 0x020e2d64 - .word func_ov00_0208b6bc - .global data_ov00_020e2d68 -data_ov00_020e2d68: ; 0x020e2d68 - .word func_ov00_0208b6c4 - .global data_ov00_020e2d6c -data_ov00_020e2d6c: ; 0x020e2d6c - .word func_ov00_0208b6c8 - .global data_ov00_020e2d70 -data_ov00_020e2d70: ; 0x020e2d70 - .word func_ov00_0208b6d0 - .global data_ov00_020e2d74 -data_ov00_020e2d74: ; 0x020e2d74 - .word func_ov00_0208b6d8 - .global data_ov00_020e2d78 -data_ov00_020e2d78: ; 0x020e2d78 - .word func_ov00_0208b6e0 - .global data_ov00_020e2d7c -data_ov00_020e2d7c: ; 0x020e2d7c - .word func_ov00_0208b6e8 - .global data_ov00_020e2d80 -data_ov00_020e2d80: ; 0x020e2d80 - .word func_ov00_0208b6f0 - .global data_ov00_020e2d84 -data_ov00_020e2d84: ; 0x020e2d84 - .word func_ov00_0208b6f8 - .global data_ov00_020e2d88 -data_ov00_020e2d88: ; 0x020e2d88 - .word func_ov00_0208b700 - .global data_ov00_020e2d8c -data_ov00_020e2d8c: ; 0x020e2d8c - .word func_ov00_020941ec - .global data_ov00_020e2d90 -data_ov00_020e2d90: ; 0x020e2d90 - .word func_ov00_0208b70c - .global data_ov00_020e2d94 -data_ov00_020e2d94: ; 0x020e2d94 - .word func_ov00_0208b710 - .global data_ov00_020e2d98 -data_ov00_020e2d98: ; 0x020e2d98 - .word func_ov00_0208ca00 - .global data_ov00_020e2d9c -data_ov00_020e2d9c: ; 0x020e2d9c - .word func_ov00_0208b71c - .global data_ov00_020e2da0 -data_ov00_020e2da0: ; 0x020e2da0 - .word func_ov00_0208b844 - .global data_ov00_020e2da4 -data_ov00_020e2da4: ; 0x020e2da4 - .word func_ov00_0208b870 - .global data_ov00_020e2da8 -data_ov00_020e2da8: ; 0x020e2da8 - .word func_ov00_0208b89c - .global data_ov00_020e2dac -data_ov00_020e2dac: ; 0x020e2dac - .word func_ov00_0208ba30 - .global data_ov00_020e2db0 -data_ov00_020e2db0: ; 0x020e2db0 - .word func_ov00_0208ba38 - .global data_ov00_020e2db4 -data_ov00_020e2db4: ; 0x020e2db4 - .word func_ov00_0208ba40 - .global data_ov00_020e2db8 -data_ov00_020e2db8: ; 0x020e2db8 - .word func_ov00_0208ba48 - .global data_ov00_020e2dbc -data_ov00_020e2dbc: ; 0x020e2dbc - .word func_ov00_0208ba50 - .global data_ov00_020e2dc0 -data_ov00_020e2dc0: ; 0x020e2dc0 - .word func_ov00_0209421c - .global data_ov00_020e2dc4 -data_ov00_020e2dc4: ; 0x020e2dc4 - .word func_ov00_020941a4 - .global data_ov00_020e2dc8 -data_ov00_020e2dc8: ; 0x020e2dc8 - .word func_ov00_0208c38c - .global data_ov00_020e2dcc -data_ov00_020e2dcc: ; 0x020e2dcc - .word func_ov00_0208c39c - .global data_ov00_020e2dd0 -data_ov00_020e2dd0: ; 0x020e2dd0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2dd4 -data_ov00_020e2dd4: ; 0x020e2dd4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2dd8 -data_ov00_020e2dd8: ; 0x020e2dd8 - .word func_ov00_02093d94 - .global data_ov00_020e2ddc -data_ov00_020e2ddc: ; 0x020e2ddc - .word func_ov00_02094cc0 - .global data_ov00_020e2de0 -data_ov00_020e2de0: ; 0x020e2de0 - .word func_ov00_02094ba0 - .global data_ov00_020e2de4 -data_ov00_020e2de4: ; 0x020e2de4 - .word func_ov00_02094828 - .global data_ov00_020e2de8 -data_ov00_020e2de8: ; 0x020e2de8 - .word func_ov00_0209482c - .global data_ov00_020e2dec -data_ov00_020e2dec: ; 0x020e2dec - .word func_ov00_020940d8 - .global data_ov00_020e2df0 -data_ov00_020e2df0: ; 0x020e2df0 - .word func_ov00_02094834 - .global data_ov00_020e2df4 -data_ov00_020e2df4: ; 0x020e2df4 - .word func_ov00_02094838 - .global data_ov00_020e2df8 -data_ov00_020e2df8: ; 0x020e2df8 - .word func_ov00_02094ba8 - .global data_ov00_020e2dfc -data_ov00_020e2dfc: ; 0x020e2dfc - .word func_ov00_02094840 - .global data_ov00_020e2e00 -data_ov00_020e2e00: ; 0x020e2e00 - .word func_ov00_02094844 - .global data_ov00_020e2e04 -data_ov00_020e2e04: ; 0x020e2e04 - .word func_ov00_02094bdc - .global data_ov00_020e2e08 -data_ov00_020e2e08: ; 0x020e2e08 - .word func_ov00_02094c10 - .global data_ov00_020e2e0c -data_ov00_020e2e0c: ; 0x020e2e0c - .word func_ov00_02094c64 - .global data_ov00_020e2e10 -data_ov00_020e2e10: ; 0x020e2e10 - .word func_ov00_02094c6c - .global data_ov00_020e2e14 -data_ov00_020e2e14: ; 0x020e2e14 - .word func_ov00_02094c74 - .global data_ov00_020e2e18 -data_ov00_020e2e18: ; 0x020e2e18 - .word func_ov00_02094c84 - .global data_ov00_020e2e1c -data_ov00_020e2e1c: ; 0x020e2e1c - .word func_ov00_02094cb0 - .global data_ov00_020e2e20 -data_ov00_020e2e20: ; 0x020e2e20 - .word func_ov00_02094928 - .global data_ov00_020e2e24 -data_ov00_020e2e24: ; 0x020e2e24 - .word func_ov00_02094938 - .global data_ov00_020e2e28 -data_ov00_020e2e28: ; 0x020e2e28 - .word func_ov00_02094948 - .global data_ov00_020e2e2c -data_ov00_020e2e2c: ; 0x020e2e2c - .word func_ov00_02094958 - .global data_ov00_020e2e30 -data_ov00_020e2e30: ; 0x020e2e30 - .word func_ov00_0209484c - .global data_ov00_020e2e34 -data_ov00_020e2e34: ; 0x020e2e34 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2e38 -data_ov00_020e2e38: ; 0x020e2e38 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2e3c -data_ov00_020e2e3c: ; 0x020e2e3c - .word func_ov00_02094a78 - .global data_ov00_020e2e40 -data_ov00_020e2e40: ; 0x020e2e40 - .word func_ov00_02094b84 - .global data_ov00_020e2e44 -data_ov00_020e2e44: ; 0x020e2e44 - .word func_ov00_02094a8c - .global data_ov00_020e2e48 -data_ov00_020e2e48: ; 0x020e2e48 - .word func_ov00_02094828 - .global data_ov00_020e2e4c -data_ov00_020e2e4c: ; 0x020e2e4c - .word func_ov00_02094ac0 - .global data_ov00_020e2e50 -data_ov00_020e2e50: ; 0x020e2e50 - .word func_ov00_02094830 - .global data_ov00_020e2e54 -data_ov00_020e2e54: ; 0x020e2e54 - .word func_ov00_02094834 - .global data_ov00_020e2e58 -data_ov00_020e2e58: ; 0x020e2e58 - .word func_ov00_02094a94 - .global data_ov00_020e2e5c -data_ov00_020e2e5c: ; 0x020e2e5c - .word func_ov00_0209483c - .global data_ov00_020e2e60 -data_ov00_020e2e60: ; 0x020e2e60 - .word func_ov00_02094840 - .global data_ov00_020e2e64 -data_ov00_020e2e64: ; 0x020e2e64 - .word func_ov00_02094b00 - .global data_ov00_020e2e68 -data_ov00_020e2e68: ; 0x020e2e68 - .word func_ov00_02094848 - .global data_ov00_020e2e6c -data_ov00_020e2e6c: ; 0x020e2e6c - .word func_ov00_02094b2c - .global data_ov00_020e2e70 -data_ov00_020e2e70: ; 0x020e2e70 - .word func_ov00_02094b48 - .global data_ov00_020e2e74 -data_ov00_020e2e74: ; 0x020e2e74 - .word func_ov00_02094b50 - .global data_ov00_020e2e78 -data_ov00_020e2e78: ; 0x020e2e78 - .word func_ov00_02094b58 - .global data_ov00_020e2e7c -data_ov00_020e2e7c: ; 0x020e2e7c - .word func_ov00_02094b74 - .global data_ov00_020e2e80 -data_ov00_020e2e80: ; 0x020e2e80 - .word func_ov00_02094b7c - .global data_ov00_020e2e84 -data_ov00_020e2e84: ; 0x020e2e84 - .word func_ov00_020948e8 - .global data_ov00_020e2e88 -data_ov00_020e2e88: ; 0x020e2e88 - .word func_ov00_020948f8 - .global data_ov00_020e2e8c -data_ov00_020e2e8c: ; 0x020e2e8c - .word func_ov00_02094908 - .global data_ov00_020e2e90 -data_ov00_020e2e90: ; 0x020e2e90 - .word func_ov00_02094918 - .global data_ov00_020e2e94 -data_ov00_020e2e94: ; 0x020e2e94 - .word func_ov00_0209484c - .global data_ov00_020e2e98 -data_ov00_020e2e98: ; 0x020e2e98 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2e9c -data_ov00_020e2e9c: ; 0x020e2e9c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2ea0 -data_ov00_020e2ea0: ; 0x020e2ea0 - .word func_ov00_02094968 - .global data_ov00_020e2ea4 -data_ov00_020e2ea4: ; 0x020e2ea4 - .word func_ov00_02094a5c - .global data_ov00_020e2ea8 -data_ov00_020e2ea8: ; 0x020e2ea8 - .word func_ov00_0209497c - .global data_ov00_020e2eac -data_ov00_020e2eac: ; 0x020e2eac - .word func_ov00_020949a8 - .global data_ov00_020e2eb0 -data_ov00_020e2eb0: ; 0x020e2eb0 - .word func_ov00_0209482c - .global data_ov00_020e2eb4 -data_ov00_020e2eb4: ; 0x020e2eb4 - .word func_ov00_02094830 - .global data_ov00_020e2eb8 -data_ov00_020e2eb8: ; 0x020e2eb8 - .word func_ov00_02094984 - .global data_ov00_020e2ebc -data_ov00_020e2ebc: ; 0x020e2ebc - .word func_ov00_02094838 - .global data_ov00_020e2ec0 -data_ov00_020e2ec0: ; 0x020e2ec0 - .word func_ov00_0209483c - .global data_ov00_020e2ec4 -data_ov00_020e2ec4: ; 0x020e2ec4 - .word func_ov00_020949e0 - .global data_ov00_020e2ec8 -data_ov00_020e2ec8: ; 0x020e2ec8 - .word func_ov00_02094844 - .global data_ov00_020e2ecc -data_ov00_020e2ecc: ; 0x020e2ecc - .word func_ov00_02094848 - .global data_ov00_020e2ed0 -data_ov00_020e2ed0: ; 0x020e2ed0 - .word func_ov00_02094a04 - .global data_ov00_020e2ed4 -data_ov00_020e2ed4: ; 0x020e2ed4 - .word func_ov00_02094a20 - .global data_ov00_020e2ed8 -data_ov00_020e2ed8: ; 0x020e2ed8 - .word func_ov00_02094a28 - .global data_ov00_020e2edc -data_ov00_020e2edc: ; 0x020e2edc - .word func_ov00_02094a30 - .global data_ov00_020e2ee0 -data_ov00_020e2ee0: ; 0x020e2ee0 - .word func_ov00_02094a4c - .global data_ov00_020e2ee4 -data_ov00_020e2ee4: ; 0x020e2ee4 - .word func_ov00_02094a54 - .global data_ov00_020e2ee8 -data_ov00_020e2ee8: ; 0x020e2ee8 - .word func_ov00_020948a8 - .global data_ov00_020e2eec -data_ov00_020e2eec: ; 0x020e2eec - .word func_ov00_020948b8 - .global data_ov00_020e2ef0 -data_ov00_020e2ef0: ; 0x020e2ef0 - .word func_ov00_020948c8 - .global data_ov00_020e2ef4 -data_ov00_020e2ef4: ; 0x020e2ef4 - .word func_ov00_020948d8 - .global data_ov00_020e2ef8 -data_ov00_020e2ef8: ; 0x020e2ef8 - .word func_ov00_0209484c - .global data_ov00_020e2efc -data_ov00_020e2efc: ; 0x020e2efc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f00 -data_ov00_020e2f00: ; 0x020e2f00 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f04 -data_ov00_020e2f04: ; 0x020e2f04 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f08 -data_ov00_020e2f08: ; 0x020e2f08 - .word func_ov00_02094810 - .global data_ov00_020e2f0c -data_ov00_020e2f0c: ; 0x020e2f0c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f10 -data_ov00_020e2f10: ; 0x020e2f10 - .word func_ov00_02094828 - .global data_ov00_020e2f14 -data_ov00_020e2f14: ; 0x020e2f14 - .word func_ov00_0209482c - .global data_ov00_020e2f18 -data_ov00_020e2f18: ; 0x020e2f18 - .word func_ov00_02094830 - .global data_ov00_020e2f1c -data_ov00_020e2f1c: ; 0x020e2f1c - .word func_ov00_02094834 - .global data_ov00_020e2f20 -data_ov00_020e2f20: ; 0x020e2f20 - .word func_ov00_02094838 - .global data_ov00_020e2f24 -data_ov00_020e2f24: ; 0x020e2f24 - .word func_ov00_0209483c - .global data_ov00_020e2f28 -data_ov00_020e2f28: ; 0x020e2f28 - .word func_ov00_02094840 - .global data_ov00_020e2f2c -data_ov00_020e2f2c: ; 0x020e2f2c - .word func_ov00_02094844 - .global data_ov00_020e2f30 -data_ov00_020e2f30: ; 0x020e2f30 - .word func_ov00_02094848 - .global data_ov00_020e2f34 -data_ov00_020e2f34: ; 0x020e2f34 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f38 -data_ov00_020e2f38: ; 0x020e2f38 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f3c -data_ov00_020e2f3c: ; 0x020e2f3c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f40 -data_ov00_020e2f40: ; 0x020e2f40 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f44 -data_ov00_020e2f44: ; 0x020e2f44 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f48 -data_ov00_020e2f48: ; 0x020e2f48 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f4c -data_ov00_020e2f4c: ; 0x020e2f4c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f50 -data_ov00_020e2f50: ; 0x020e2f50 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f54 -data_ov00_020e2f54: ; 0x020e2f54 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f58 -data_ov00_020e2f58: ; 0x020e2f58 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f5c -data_ov00_020e2f5c: ; 0x020e2f5c - .word func_ov00_0209484c - .global data_ov00_020e2f60 -data_ov00_020e2f60: ; 0x020e2f60 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f64 -data_ov00_020e2f64: ; 0x020e2f64 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f68 -data_ov00_020e2f68: ; 0x020e2f68 - .word func_ov00_02094df4 - .global data_ov00_020e2f6c -data_ov00_020e2f6c: ; 0x020e2f6c - .word func_ov00_02094e10 - .global data_ov00_020e2f70 -data_ov00_020e2f70: ; 0x020e2f70 - .word func_ov00_02094cfc - .global data_ov00_020e2f74 -data_ov00_020e2f74: ; 0x020e2f74 - .word func_ov00_02094d48 - .global data_ov00_020e2f78 -data_ov00_020e2f78: ; 0x020e2f78 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f7c -data_ov00_020e2f7c: ; 0x020e2f7c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f80 -data_ov00_020e2f80: ; 0x020e2f80 - .word func_ov00_02094dc4 - .global data_ov00_020e2f84 -data_ov00_020e2f84: ; 0x020e2f84 - .word func_ov00_02094dd8 - .global data_ov00_020e2f88 -data_ov00_020e2f88: ; 0x020e2f88 - .word func_ov00_02094cec - .global data_ov00_020e2f8c -data_ov00_020e2f8c: ; 0x020e2f8c - .word func_ov00_02094cf4 - .global data_ov00_020e2f90 -data_ov00_020e2f90: ; 0x020e2f90 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f94 -data_ov00_020e2f94: ; 0x020e2f94 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2f98 -data_ov00_020e2f98: ; 0x020e2f98 - .word func_ov00_02094d94 - .global data_ov00_020e2f9c -data_ov00_020e2f9c: ; 0x020e2f9c - .word func_ov00_02094da8 - .global data_ov00_020e2fa0 -data_ov00_020e2fa0: ; 0x020e2fa0 - .word func_ov00_02094cdc - .global data_ov00_020e2fa4 -data_ov00_020e2fa4: ; 0x020e2fa4 - .word func_ov00_02094ce4 - .global data_ov00_020e2fa8 -data_ov00_020e2fa8: ; 0x020e2fa8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2fac -data_ov00_020e2fac: ; 0x020e2fac - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2fb0 -data_ov00_020e2fb0: ; 0x020e2fb0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2fb4 -data_ov00_020e2fb4: ; 0x020e2fb4 - .word func_ov00_0208708c - .global data_ov00_020e2fb8 -data_ov00_020e2fb8: ; 0x020e2fb8 - .word func_ov00_020953e0 - .global data_ov00_020e2fbc -data_ov00_020e2fbc: ; 0x020e2fbc - .word func_ov00_02095358 - .global data_ov00_020e2fc0 -data_ov00_020e2fc0: ; 0x020e2fc0 - .word func_ov00_02095390 - .global data_ov00_020e2fc4 -data_ov00_020e2fc4: ; 0x020e2fc4 - .word func_ov00_02095398 - .global data_ov00_020e2fc8 -data_ov00_020e2fc8: ; 0x020e2fc8 - .word func_ov00_020953a0 - .global data_ov00_020e2fcc -data_ov00_020e2fcc: ; 0x020e2fcc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2fd0 -data_ov00_020e2fd0: ; 0x020e2fd0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2fd4 -data_ov00_020e2fd4: ; 0x020e2fd4 - .word func_ov00_02095db8 - .global data_ov00_020e2fd8 -data_ov00_020e2fd8: ; 0x020e2fd8 - .word func_ov00_02095df8 - .global data_ov00_020e2fdc -data_ov00_020e2fdc: ; 0x020e2fdc - .word func_ov00_02095e40 - .global data_ov00_020e2fe0 -data_ov00_020e2fe0: ; 0x020e2fe0 - .word func_ov00_0207fe34 - .global data_ov00_020e2fe4 -data_ov00_020e2fe4: ; 0x020e2fe4 - .word func_ov00_02080ddc - .global data_ov00_020e2fe8 -data_ov00_020e2fe8: ; 0x020e2fe8 - .word func_ov00_02095ec4 - .global data_ov00_020e2fec -data_ov00_020e2fec: ; 0x020e2fec - .word func_ov00_02095ed4 - .global data_ov00_020e2ff0 -data_ov00_020e2ff0: ; 0x020e2ff0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2ff4 -data_ov00_020e2ff4: ; 0x020e2ff4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2ff8 -data_ov00_020e2ff8: ; 0x020e2ff8 - .word func_ov00_020958a8 - .global data_ov00_020e2ffc -data_ov00_020e2ffc: ; 0x020e2ffc - .word func_ov00_02095910 - .global data_ov00_020e3000 -data_ov00_020e3000: ; 0x020e3000 - .word func_ov00_02095980 - .global data_ov00_020e3004 -data_ov00_020e3004: ; 0x020e3004 - .word func_ov00_02095998 - .global data_ov00_020e3008 -data_ov00_020e3008: ; 0x020e3008 - .word func_ov00_02095d08 - .global data_ov00_020e300c -data_ov00_020e300c: ; 0x020e300c - .word func_ov00_02095ec4 - .global data_ov00_020e3010 -data_ov00_020e3010: ; 0x020e3010 - .word func_ov00_02095ed4 - .global data_ov00_020e3014 -data_ov00_020e3014: ; 0x020e3014 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e3018 -data_ov00_020e3018: ; 0x020e3018 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e301c -data_ov00_020e301c: ; 0x020e301c - .word func_ov00_02095764 - .global data_ov00_020e3020 -data_ov00_020e3020: ; 0x020e3020 - .word func_ov00_02095778 - .global data_ov00_020e3024 -data_ov00_020e3024: ; 0x020e3024 - .word func_ov00_0207faa8 - .global data_ov00_020e3028 -data_ov00_020e3028: ; 0x020e3028 - .word func_ov00_0207fe34 - .global data_ov00_020e302c -data_ov00_020e302c: ; 0x020e302c - .word func_ov00_02080ddc - .global data_ov00_020e3030 -data_ov00_020e3030: ; 0x020e3030 - .word func_ov00_02095eb4 - .global data_ov00_020e3034 -data_ov00_020e3034: ; 0x020e3034 - .word func_ov00_02095794 - .global data_ov00_020e3038 -data_ov00_020e3038: ; 0x020e3038 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e303c -data_ov00_020e303c: ; 0x020e303c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e3040 -data_ov00_020e3040: ; 0x020e3040 - .word func_ov00_02095608 - .global data_ov00_020e3044 -data_ov00_020e3044: ; 0x020e3044 - .word func_ov00_0209561c - .global data_ov00_020e3048 -data_ov00_020e3048: ; 0x020e3048 - .word func_ov00_0207faa8 - .global data_ov00_020e304c -data_ov00_020e304c: ; 0x020e304c - .word func_ov00_0207fe34 - .global data_ov00_020e3050 -data_ov00_020e3050: ; 0x020e3050 - .word func_ov00_02080ddc - .global data_ov00_020e3054 -data_ov00_020e3054: ; 0x020e3054 - .word func_ov00_02095ec4 - .global data_ov00_020e3058 -data_ov00_020e3058: ; 0x020e3058 - .word func_ov00_02095ed4 - .global data_ov00_020e305c -data_ov00_020e305c: ; 0x020e305c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e3060 -data_ov00_020e3060: ; 0x020e3060 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e3064 -data_ov00_020e3064: ; 0x020e3064 - .word func_ov00_02095484 - .global data_ov00_020e3068 -data_ov00_020e3068: ; 0x020e3068 - .word func_ov00_02095488 - .global data_ov00_020e306c -data_ov00_020e306c: ; 0x020e306c - .word func_ov00_0207faa8 - .global data_ov00_020e3070 -data_ov00_020e3070: ; 0x020e3070 - .word func_ov00_0207fe34 - .global data_ov00_020e3074 -data_ov00_020e3074: ; 0x020e3074 - .word func_ov00_02080ddc - .global data_ov00_020e3078 -data_ov00_020e3078: ; 0x020e3078 - .word func_ov00_0207fc90 - .global data_ov00_020e307c -data_ov00_020e307c: ; 0x020e307c - .word func_ov00_0207fb5c - .global data_ov00_020e3080 -data_ov00_020e3080: ; 0x020e3080 - .ascii "brg" - .byte 0x00 - .global data_ov00_020e3084 -data_ov00_020e3084: ; 0x020e3084 - .ascii "fnl" - .byte 0x00 - .global data_ov00_020e3088 -data_ov00_020e3088: ; 0x020e3088 - .ascii "pdl" - .byte 0x00 - .global data_ov00_020e308c -data_ov00_020e308c: ; 0x020e308c - .ascii "dco" - .byte 0x00 - .global data_ov00_020e3090 -data_ov00_020e3090: ; 0x020e3090 - .ascii "can" - .byte 0x00 - .global data_ov00_020e3094 -data_ov00_020e3094: ; 0x020e3094 - .ascii "hul" - .byte 0x00 - .global data_ov00_020e3098 -data_ov00_020e3098: ; 0x020e3098 - .ascii "bow" - .byte 0x00 - .global data_ov00_020e309c -data_ov00_020e309c: ; 0x020e309c - .ascii "anc" - .byte 0x00 - .global data_ov00_020e30a0 -data_ov00_020e30a0: ; 0x020e30a0 - .word data_ov00_020e309c - .global data_ov00_020e30a4 -data_ov00_020e30a4: ; 0x020e30a4 - .word data_ov00_020e3098 - .global data_ov00_020e30a8 -data_ov00_020e30a8: ; 0x020e30a8 - .word data_ov00_020e3094 - .global data_ov00_020e30ac -data_ov00_020e30ac: ; 0x020e30ac - .word data_ov00_020e3090 - .global data_ov00_020e30b0 -data_ov00_020e30b0: ; 0x020e30b0 - .word data_ov00_020e308c - .global data_ov00_020e30b4 -data_ov00_020e30b4: ; 0x020e30b4 - .word data_ov00_020e3088 - .global data_ov00_020e30b8 -data_ov00_020e30b8: ; 0x020e30b8 - .word data_ov00_020e3084 - .global data_ov00_020e30bc -data_ov00_020e30bc: ; 0x020e30bc - .word data_ov00_020e3080 - .global data_ov00_020e30c0 -data_ov00_020e30c0: ; 0x020e30c0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e30c4 -data_ov00_020e30c4: ; 0x020e30c4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e30c8 -data_ov00_020e30c8: ; 0x020e30c8 - .word func_ov00_02096d5c - .global data_ov00_020e30cc -data_ov00_020e30cc: ; 0x020e30cc - .ascii "brg" - .byte 0x00 - .global data_ov00_020e30d0 -data_ov00_020e30d0: ; 0x020e30d0 - .ascii "fnl" - .byte 0x00 - .global data_ov00_020e30d4 -data_ov00_020e30d4: ; 0x020e30d4 - .ascii "pdl" - .byte 0x00 - .global data_ov00_020e30d8 -data_ov00_020e30d8: ; 0x020e30d8 - .ascii "dco" - .byte 0x00 - .global data_ov00_020e30dc -data_ov00_020e30dc: ; 0x020e30dc - .ascii "can" - .byte 0x00 - .global data_ov00_020e30e0 -data_ov00_020e30e0: ; 0x020e30e0 - .ascii "hul" - .byte 0x00 - .global data_ov00_020e30e4 -data_ov00_020e30e4: ; 0x020e30e4 - .ascii "bow" - .byte 0x00 - .global data_ov00_020e30e8 -data_ov00_020e30e8: ; 0x020e30e8 - .ascii "anc" - .byte 0x00 - .global data_ov00_020e30ec -data_ov00_020e30ec: ; 0x020e30ec - .word data_ov00_020e30e8 - .global data_ov00_020e30f0 -data_ov00_020e30f0: ; 0x020e30f0 - .word data_ov00_020e30e4 - .global data_ov00_020e30f4 -data_ov00_020e30f4: ; 0x020e30f4 - .word data_ov00_020e30e0 - .global data_ov00_020e30f8 -data_ov00_020e30f8: ; 0x020e30f8 - .word data_ov00_020e30dc - .global data_ov00_020e30fc -data_ov00_020e30fc: ; 0x020e30fc - .word data_ov00_020e30d8 - .global data_ov00_020e3100 -data_ov00_020e3100: ; 0x020e3100 - .word data_ov00_020e30d4 - .global data_ov00_020e3104 -data_ov00_020e3104: ; 0x020e3104 - .word data_ov00_020e30d0 - .global data_ov00_020e3108 -data_ov00_020e3108: ; 0x020e3108 - .word data_ov00_020e30cc .bss .global data_ov00_020e9368 @@ -48053,4698 +17480,3 @@ data_ov00_020ec95c: .global data_ov00_020ec960 data_ov00_020ec960: .space 0x4 - .global data_ov00_020ec964 -data_ov00_020ec964: - .space 0x4 - .global data_ov00_020ec968 -data_ov00_020ec968: - .space 0x4 - .global data_ov00_020ec96c -data_ov00_020ec96c: - .space 0x4 - .global data_ov00_020ec970 -data_ov00_020ec970: - .space 0x4 - .global data_ov00_020ec974 -data_ov00_020ec974: - .space 0x4 - .global data_ov00_020ec978 -data_ov00_020ec978: - .space 0x4 - .global data_ov00_020ec97c -data_ov00_020ec97c: - .space 0x4 - .global data_ov00_020ec980 -data_ov00_020ec980: - .space 0x4 - .global data_ov00_020ec984 -data_ov00_020ec984: - .space 0x4 - .global data_ov00_020ec988 -data_ov00_020ec988: - .space 0x4 - .global data_ov00_020ec98c -data_ov00_020ec98c: - .space 0x4 - .global data_ov00_020ec990 -data_ov00_020ec990: - .space 0x4 - .global data_ov00_020ec994 -data_ov00_020ec994: - .space 0x4 - .global data_ov00_020ec998 -data_ov00_020ec998: - .space 0x4 - .global data_ov00_020ec99c -data_ov00_020ec99c: - .space 0x4 - .global data_ov00_020ec9a0 -data_ov00_020ec9a0: - .space 0x4 - .global data_ov00_020ec9a4 -data_ov00_020ec9a4: - .space 0x4 - .global data_ov00_020ec9a8 -data_ov00_020ec9a8: - .space 0x4 - .global data_ov00_020ec9ac -data_ov00_020ec9ac: - .space 0x4 - .global data_ov00_020ec9b0 -data_ov00_020ec9b0: - .space 0x4 - .global data_ov00_020ec9b4 -data_ov00_020ec9b4: - .space 0x4 - .global data_ov00_020ec9b8 -data_ov00_020ec9b8: - .space 0x4 - .global data_ov00_020ec9bc -data_ov00_020ec9bc: - .space 0x4 - .global data_ov00_020ec9c0 -data_ov00_020ec9c0: - .space 0x4 - .global data_ov00_020ec9c4 -data_ov00_020ec9c4: - .space 0x4 - .global data_ov00_020ec9c8 -data_ov00_020ec9c8: - .space 0x4 - .global data_ov00_020ec9cc -data_ov00_020ec9cc: - .space 0x4 - .global data_ov00_020ec9d0 -data_ov00_020ec9d0: - .space 0x4 - .global data_ov00_020ec9d4 -data_ov00_020ec9d4: - .space 0x2 - .global data_ov00_020ec9d6 -data_ov00_020ec9d6: - .space 0x2 - .global data_ov00_020ec9d8 -data_ov00_020ec9d8: - .space 0x4 - .global data_ov00_020ec9dc -data_ov00_020ec9dc: - .space 0x4 - .global data_ov00_020ec9e0 -data_ov00_020ec9e0: - .space 0x4 - .global data_ov00_020ec9e4 -data_ov00_020ec9e4: - .space 0x4 - .global data_ov00_020ec9e8 -data_ov00_020ec9e8: - .space 0x4 - .global data_ov00_020ec9ec -data_ov00_020ec9ec: - .space 0x4 - .global data_ov00_020ec9f0 -data_ov00_020ec9f0: - .space 0x4 - .global data_ov00_020ec9f4 -data_ov00_020ec9f4: - .space 0x4 - .global data_ov00_020ec9f8 -data_ov00_020ec9f8: - .space 0x4 - .global data_ov00_020ec9fc -data_ov00_020ec9fc: - .space 0x4 - .global data_ov00_020eca00 -data_ov00_020eca00: - .space 0x4 - .global data_ov00_020eca04 -data_ov00_020eca04: - .space 0x4 - .global data_ov00_020eca08 -data_ov00_020eca08: - .space 0x4 - .global data_ov00_020eca0c -data_ov00_020eca0c: - .space 0x4 - .global data_ov00_020eca10 -data_ov00_020eca10: - .space 0x4 - .global data_ov00_020eca14 -data_ov00_020eca14: - .space 0x4 - .global data_ov00_020eca18 -data_ov00_020eca18: - .space 0x4 - .global data_ov00_020eca1c -data_ov00_020eca1c: - .space 0x4 - .global data_ov00_020eca20 -data_ov00_020eca20: - .space 0x4 - .global data_ov00_020eca24 -data_ov00_020eca24: - .space 0x4 - .global data_ov00_020eca28 -data_ov00_020eca28: - .space 0x4 - .global data_ov00_020eca2c -data_ov00_020eca2c: - .space 0x4 - .global data_ov00_020eca30 -data_ov00_020eca30: - .space 0x4 - .global data_ov00_020eca34 -data_ov00_020eca34: - .space 0x4 - .global data_ov00_020eca38 -data_ov00_020eca38: - .space 0x4 - .global data_ov00_020eca3c -data_ov00_020eca3c: - .space 0x4 - .global data_ov00_020eca40 -data_ov00_020eca40: - .space 0x4 - .global data_ov00_020eca44 -data_ov00_020eca44: - .space 0x4 - .global data_ov00_020eca48 -data_ov00_020eca48: - .space 0x4 - .global data_ov00_020eca4c -data_ov00_020eca4c: - .space 0x4 - .global data_ov00_020eca50 -data_ov00_020eca50: - .space 0x4 - .global data_ov00_020eca54 -data_ov00_020eca54: - .space 0x4 - .global data_ov00_020eca58 -data_ov00_020eca58: - .space 0x4 - .global data_ov00_020eca5c -data_ov00_020eca5c: - .space 0x4 - .global data_ov00_020eca60 -data_ov00_020eca60: - .space 0x4 - .global data_ov00_020eca64 -data_ov00_020eca64: - .space 0x4 - .global data_ov00_020eca68 -data_ov00_020eca68: - .space 0x4 - .global data_ov00_020eca6c -data_ov00_020eca6c: - .space 0x4 - .global data_ov00_020eca70 -data_ov00_020eca70: - .space 0x4 - .global data_ov00_020eca74 -data_ov00_020eca74: - .space 0x4 - .global data_ov00_020eca78 -data_ov00_020eca78: - .space 0x4 - .global data_ov00_020eca7c -data_ov00_020eca7c: - .space 0x4 - .global data_ov00_020eca80 -data_ov00_020eca80: - .space 0x4 - .global data_ov00_020eca84 -data_ov00_020eca84: - .space 0x4 - .global data_ov00_020eca88 -data_ov00_020eca88: - .space 0x4 - .global data_ov00_020eca8c -data_ov00_020eca8c: - .space 0x4 - .global data_ov00_020eca90 -data_ov00_020eca90: - .space 0x4 - .global data_ov00_020eca94 -data_ov00_020eca94: - .space 0x4 - .global data_ov00_020eca98 -data_ov00_020eca98: - .space 0x4 - .global data_ov00_020eca9c -data_ov00_020eca9c: - .space 0x4 - .global data_ov00_020ecaa0 -data_ov00_020ecaa0: - .space 0x4 - .global data_ov00_020ecaa4 -data_ov00_020ecaa4: - .space 0x4 - .global data_ov00_020ecaa8 -data_ov00_020ecaa8: - .space 0x4 - .global data_ov00_020ecaac -data_ov00_020ecaac: - .space 0x4 - .global data_ov00_020ecab0 -data_ov00_020ecab0: - .space 0x4 - .global data_ov00_020ecab4 -data_ov00_020ecab4: - .space 0x4 - .global data_ov00_020ecab8 -data_ov00_020ecab8: - .space 0x4 - .global data_ov00_020ecabc -data_ov00_020ecabc: - .space 0x4 - .global data_ov00_020ecac0 -data_ov00_020ecac0: - .space 0x4 - .global data_ov00_020ecac4 -data_ov00_020ecac4: - .space 0x4 - .global data_ov00_020ecac8 -data_ov00_020ecac8: - .space 0x4 - .global data_ov00_020ecacc -data_ov00_020ecacc: - .space 0x4 - .global data_ov00_020ecad0 -data_ov00_020ecad0: - .space 0x4 - .global data_ov00_020ecad4 -data_ov00_020ecad4: - .space 0x4 - .global data_ov00_020ecad8 -data_ov00_020ecad8: - .space 0x4 - .global data_ov00_020ecadc -data_ov00_020ecadc: - .space 0x4 - .global data_ov00_020ecae0 -data_ov00_020ecae0: - .space 0x4 - .global data_ov00_020ecae4 -data_ov00_020ecae4: - .space 0x4 - .global data_ov00_020ecae8 -data_ov00_020ecae8: - .space 0x4 - .global data_ov00_020ecaec -data_ov00_020ecaec: - .space 0x4 - .global data_ov00_020ecaf0 -data_ov00_020ecaf0: - .space 0x4 - .global data_ov00_020ecaf4 -data_ov00_020ecaf4: - .space 0x4 - .global data_ov00_020ecaf8 -data_ov00_020ecaf8: - .space 0x4 - .global data_ov00_020ecafc -data_ov00_020ecafc: - .space 0x4 - .global data_ov00_020ecb00 -data_ov00_020ecb00: - .space 0x4 - .global data_ov00_020ecb04 -data_ov00_020ecb04: - .space 0x4 - .global data_ov00_020ecb08 -data_ov00_020ecb08: - .space 0x4 - .global data_ov00_020ecb0c -data_ov00_020ecb0c: - .space 0x4 - .global data_ov00_020ecb10 -data_ov00_020ecb10: - .space 0x4 - .global data_ov00_020ecb14 -data_ov00_020ecb14: - .space 0x4 - .global data_ov00_020ecb18 -data_ov00_020ecb18: - .space 0x4 - .global data_ov00_020ecb1c -data_ov00_020ecb1c: - .space 0x4 - .global data_ov00_020ecb20 -data_ov00_020ecb20: - .space 0x4 - .global data_ov00_020ecb24 -data_ov00_020ecb24: - .space 0x4 - .global data_ov00_020ecb28 -data_ov00_020ecb28: - .space 0x4 - .global data_ov00_020ecb2c -data_ov00_020ecb2c: - .space 0x4 - .global data_ov00_020ecb30 -data_ov00_020ecb30: - .space 0x4 - .global data_ov00_020ecb34 -data_ov00_020ecb34: - .space 0x4 - .global data_ov00_020ecb38 -data_ov00_020ecb38: - .space 0x4 - .global data_ov00_020ecb3c -data_ov00_020ecb3c: - .space 0x4 - .global data_ov00_020ecb40 -data_ov00_020ecb40: - .space 0x4 - .global data_ov00_020ecb44 -data_ov00_020ecb44: - .space 0x4 - .global data_ov00_020ecb48 -data_ov00_020ecb48: - .space 0x4 - .global data_ov00_020ecb4c -data_ov00_020ecb4c: - .space 0x4 - .global data_ov00_020ecb50 -data_ov00_020ecb50: - .space 0x4 - .global data_ov00_020ecb54 -data_ov00_020ecb54: - .space 0x4 - .global data_ov00_020ecb58 -data_ov00_020ecb58: - .space 0x4 - .global data_ov00_020ecb5c -data_ov00_020ecb5c: - .space 0x4 - .global data_ov00_020ecb60 -data_ov00_020ecb60: - .space 0x4 - .global data_ov00_020ecb64 -data_ov00_020ecb64: - .space 0x4 - .global data_ov00_020ecb68 -data_ov00_020ecb68: - .space 0x4 - .global data_ov00_020ecb6c -data_ov00_020ecb6c: - .space 0x4 - .global data_ov00_020ecb70 -data_ov00_020ecb70: - .space 0x4 - .global data_ov00_020ecb74 -data_ov00_020ecb74: - .space 0x4 - .global data_ov00_020ecb78 -data_ov00_020ecb78: - .space 0x4 - .global data_ov00_020ecb7c -data_ov00_020ecb7c: - .space 0x4 - .global data_ov00_020ecb80 -data_ov00_020ecb80: - .space 0x4 - .global data_ov00_020ecb84 -data_ov00_020ecb84: - .space 0x4 - .global data_ov00_020ecb88 -data_ov00_020ecb88: - .space 0x4 - .global data_ov00_020ecb8c -data_ov00_020ecb8c: - .space 0x4 - .global data_ov00_020ecb90 -data_ov00_020ecb90: - .space 0x4 - .global data_ov00_020ecb94 -data_ov00_020ecb94: - .space 0x4 - .global data_ov00_020ecb98 -data_ov00_020ecb98: - .space 0x4 - .global data_ov00_020ecb9c -data_ov00_020ecb9c: - .space 0x4 - .global data_ov00_020ecba0 -data_ov00_020ecba0: - .space 0x4 - .global data_ov00_020ecba4 -data_ov00_020ecba4: - .space 0x4 - .global data_ov00_020ecba8 -data_ov00_020ecba8: - .space 0x4 - .global data_ov00_020ecbac -data_ov00_020ecbac: - .space 0x4 - .global data_ov00_020ecbb0 -data_ov00_020ecbb0: - .space 0x4 - .global data_ov00_020ecbb4 -data_ov00_020ecbb4: - .space 0x4 - .global data_ov00_020ecbb8 -data_ov00_020ecbb8: - .space 0x4 - .global data_ov00_020ecbbc -data_ov00_020ecbbc: - .space 0x4 - .global data_ov00_020ecbc0 -data_ov00_020ecbc0: - .space 0x4 - .global data_ov00_020ecbc4 -data_ov00_020ecbc4: - .space 0x4 - .global data_ov00_020ecbc8 -data_ov00_020ecbc8: - .space 0x4 - .global data_ov00_020ecbcc -data_ov00_020ecbcc: - .space 0x4 - .global data_ov00_020ecbd0 -data_ov00_020ecbd0: - .space 0x4 - .global data_ov00_020ecbd4 -data_ov00_020ecbd4: - .space 0x4 - .global data_ov00_020ecbd8 -data_ov00_020ecbd8: - .space 0x4 - .global data_ov00_020ecbdc -data_ov00_020ecbdc: - .space 0x4 - .global data_ov00_020ecbe0 -data_ov00_020ecbe0: - .space 0x4 - .global data_ov00_020ecbe4 -data_ov00_020ecbe4: - .space 0x4 - .global data_ov00_020ecbe8 -data_ov00_020ecbe8: - .space 0x4 - .global data_ov00_020ecbec -data_ov00_020ecbec: - .space 0x4 - .global data_ov00_020ecbf0 -data_ov00_020ecbf0: - .space 0x4 - .global data_ov00_020ecbf4 -data_ov00_020ecbf4: - .space 0x4 - .global data_ov00_020ecbf8 -data_ov00_020ecbf8: - .space 0x4 - .global data_ov00_020ecbfc -data_ov00_020ecbfc: - .space 0x4 - .global data_ov00_020ecc00 -data_ov00_020ecc00: - .space 0x4 - .global data_ov00_020ecc04 -data_ov00_020ecc04: - .space 0x4 - .global data_ov00_020ecc08 -data_ov00_020ecc08: - .space 0x4 - .global data_ov00_020ecc0c -data_ov00_020ecc0c: - .space 0x4 - .global data_ov00_020ecc10 -data_ov00_020ecc10: - .space 0x4 - .global data_ov00_020ecc14 -data_ov00_020ecc14: - .space 0x4 - .global data_ov00_020ecc18 -data_ov00_020ecc18: - .space 0x4 - .global data_ov00_020ecc1c -data_ov00_020ecc1c: - .space 0x4 - .global data_ov00_020ecc20 -data_ov00_020ecc20: - .space 0x4 - .global data_ov00_020ecc24 -data_ov00_020ecc24: - .space 0x4 - .global data_ov00_020ecc28 -data_ov00_020ecc28: - .space 0x4 - .global data_ov00_020ecc2c -data_ov00_020ecc2c: - .space 0x4 - .global data_ov00_020ecc30 -data_ov00_020ecc30: - .space 0x4 - .global data_ov00_020ecc34 -data_ov00_020ecc34: - .space 0x4 - .global data_ov00_020ecc38 -data_ov00_020ecc38: - .space 0x4 - .global data_ov00_020ecc3c -data_ov00_020ecc3c: - .space 0x4 - .global data_ov00_020ecc40 -data_ov00_020ecc40: - .space 0x4 - .global data_ov00_020ecc44 -data_ov00_020ecc44: - .space 0x4 - .global data_ov00_020ecc48 -data_ov00_020ecc48: - .space 0x4 - .global data_ov00_020ecc4c -data_ov00_020ecc4c: - .space 0x4 - .global data_ov00_020ecc50 -data_ov00_020ecc50: - .space 0x4 - .global data_ov00_020ecc54 -data_ov00_020ecc54: - .space 0x4 - .global data_ov00_020ecc58 -data_ov00_020ecc58: - .space 0x4 - .global data_ov00_020ecc5c -data_ov00_020ecc5c: - .space 0x4 - .global data_ov00_020ecc60 -data_ov00_020ecc60: - .space 0x4 - .global data_ov00_020ecc64 -data_ov00_020ecc64: - .space 0x4 - .global data_ov00_020ecc68 -data_ov00_020ecc68: - .space 0x4 - .global data_ov00_020ecc6c -data_ov00_020ecc6c: - .space 0x4 - .global data_ov00_020ecc70 -data_ov00_020ecc70: - .space 0x4 - .global data_ov00_020ecc74 -data_ov00_020ecc74: - .space 0x4 - .global data_ov00_020ecc78 -data_ov00_020ecc78: - .space 0x4 - .global data_ov00_020ecc7c -data_ov00_020ecc7c: - .space 0x4 - .global data_ov00_020ecc80 -data_ov00_020ecc80: - .space 0x4 - .global data_ov00_020ecc84 -data_ov00_020ecc84: - .space 0x4 - .global data_ov00_020ecc88 -data_ov00_020ecc88: - .space 0x4 - .global data_ov00_020ecc8c -data_ov00_020ecc8c: - .space 0x4 - .global data_ov00_020ecc90 -data_ov00_020ecc90: - .space 0x4 - .global data_ov00_020ecc94 -data_ov00_020ecc94: - .space 0x4 - .global data_ov00_020ecc98 -data_ov00_020ecc98: - .space 0x4 - .global data_ov00_020ecc9c -data_ov00_020ecc9c: - .space 0x4 - .global data_ov00_020ecca0 -data_ov00_020ecca0: - .space 0x4 - .global data_ov00_020ecca4 -data_ov00_020ecca4: - .space 0x4 - .global data_ov00_020ecca8 -data_ov00_020ecca8: - .space 0x4 - .global data_ov00_020eccac -data_ov00_020eccac: - .space 0x4 - .global data_ov00_020eccb0 -data_ov00_020eccb0: - .space 0x4 - .global data_ov00_020eccb4 -data_ov00_020eccb4: - .space 0x4 - .global data_ov00_020eccb8 -data_ov00_020eccb8: - .space 0x4 - .global data_ov00_020eccbc -data_ov00_020eccbc: - .space 0x4 - .global data_ov00_020eccc0 -data_ov00_020eccc0: - .space 0x4 - .global data_ov00_020eccc4 -data_ov00_020eccc4: - .space 0x4 - .global data_ov00_020eccc8 -data_ov00_020eccc8: - .space 0x4 - .global data_ov00_020ecccc -data_ov00_020ecccc: - .space 0x4 - .global data_ov00_020eccd0 -data_ov00_020eccd0: - .space 0x4 - .global data_ov00_020eccd4 -data_ov00_020eccd4: - .space 0x4 - .global data_ov00_020eccd8 -data_ov00_020eccd8: - .space 0x4 - .global data_ov00_020eccdc -data_ov00_020eccdc: - .space 0x4 - .global data_ov00_020ecce0 -data_ov00_020ecce0: - .space 0x4 - .global data_ov00_020ecce4 -data_ov00_020ecce4: - .space 0x4 - .global data_ov00_020ecce8 -data_ov00_020ecce8: - .space 0x4 - .global data_ov00_020eccec -data_ov00_020eccec: - .space 0x4 - .global data_ov00_020eccf0 -data_ov00_020eccf0: - .space 0x4 - .global data_ov00_020eccf4 -data_ov00_020eccf4: - .space 0x4 - .global data_ov00_020eccf8 -data_ov00_020eccf8: - .space 0x4 - .global data_ov00_020eccfc -data_ov00_020eccfc: - .space 0x4 - .global data_ov00_020ecd00 -data_ov00_020ecd00: - .space 0x4 - .global data_ov00_020ecd04 -data_ov00_020ecd04: - .space 0x4 - .global data_ov00_020ecd08 -data_ov00_020ecd08: - .space 0x4 - .global data_ov00_020ecd0c -data_ov00_020ecd0c: - .space 0x4 - .global data_ov00_020ecd10 -data_ov00_020ecd10: - .space 0x4 - .global data_ov00_020ecd14 -data_ov00_020ecd14: - .space 0x4 - .global data_ov00_020ecd18 -data_ov00_020ecd18: - .space 0x4 - .global data_ov00_020ecd1c -data_ov00_020ecd1c: - .space 0x4 - .global data_ov00_020ecd20 -data_ov00_020ecd20: - .space 0x4 - .global data_ov00_020ecd24 -data_ov00_020ecd24: - .space 0x4 - .global data_ov00_020ecd28 -data_ov00_020ecd28: - .space 0x4 - .global data_ov00_020ecd2c -data_ov00_020ecd2c: - .space 0x4 - .global data_ov00_020ecd30 -data_ov00_020ecd30: - .space 0x4 - .global data_ov00_020ecd34 -data_ov00_020ecd34: - .space 0x4 - .global data_ov00_020ecd38 -data_ov00_020ecd38: - .space 0x4 - .global data_ov00_020ecd3c -data_ov00_020ecd3c: - .space 0x4 - .global data_ov00_020ecd40 -data_ov00_020ecd40: - .space 0x4 - .global data_ov00_020ecd44 -data_ov00_020ecd44: - .space 0x4 - .global data_ov00_020ecd48 -data_ov00_020ecd48: - .space 0x4 - .global data_ov00_020ecd4c -data_ov00_020ecd4c: - .space 0x4 - .global data_ov00_020ecd50 -data_ov00_020ecd50: - .space 0x4 - .global data_ov00_020ecd54 -data_ov00_020ecd54: - .space 0x4 - .global data_ov00_020ecd58 -data_ov00_020ecd58: - .space 0x4 - .global data_ov00_020ecd5c -data_ov00_020ecd5c: - .space 0x4 - .global data_ov00_020ecd60 -data_ov00_020ecd60: - .space 0x4 - .global data_ov00_020ecd64 -data_ov00_020ecd64: - .space 0x4 - .global data_ov00_020ecd68 -data_ov00_020ecd68: - .space 0x4 - .global data_ov00_020ecd6c -data_ov00_020ecd6c: - .space 0x4 - .global data_ov00_020ecd70 -data_ov00_020ecd70: - .space 0x4 - .global data_ov00_020ecd74 -data_ov00_020ecd74: - .space 0x4 - .global data_ov00_020ecd78 -data_ov00_020ecd78: - .space 0x4 - .global data_ov00_020ecd7c -data_ov00_020ecd7c: - .space 0x4 - .global data_ov00_020ecd80 -data_ov00_020ecd80: - .space 0x4 - .global data_ov00_020ecd84 -data_ov00_020ecd84: - .space 0x4 - .global data_ov00_020ecd88 -data_ov00_020ecd88: - .space 0x4 - .global data_ov00_020ecd8c -data_ov00_020ecd8c: - .space 0x4 - .global data_ov00_020ecd90 -data_ov00_020ecd90: - .space 0x4 - .global data_ov00_020ecd94 -data_ov00_020ecd94: - .space 0x4 - .global data_ov00_020ecd98 -data_ov00_020ecd98: - .space 0x4 - .global data_ov00_020ecd9c -data_ov00_020ecd9c: - .space 0x4 - .global data_ov00_020ecda0 -data_ov00_020ecda0: - .space 0x4 - .global data_ov00_020ecda4 -data_ov00_020ecda4: - .space 0x4 - .global data_ov00_020ecda8 -data_ov00_020ecda8: - .space 0x4 - .global data_ov00_020ecdac -data_ov00_020ecdac: - .space 0x4 - .global data_ov00_020ecdb0 -data_ov00_020ecdb0: - .space 0x4 - .global data_ov00_020ecdb4 -data_ov00_020ecdb4: - .space 0x4 - .global data_ov00_020ecdb8 -data_ov00_020ecdb8: - .space 0x4 - .global data_ov00_020ecdbc -data_ov00_020ecdbc: - .space 0x4 - .global data_ov00_020ecdc0 -data_ov00_020ecdc0: - .space 0x4 - .global data_ov00_020ecdc4 -data_ov00_020ecdc4: - .space 0x4 - .global data_ov00_020ecdc8 -data_ov00_020ecdc8: - .space 0x4 - .global data_ov00_020ecdcc -data_ov00_020ecdcc: - .space 0x4 - .global data_ov00_020ecdd0 -data_ov00_020ecdd0: - .space 0x4 - .global data_ov00_020ecdd4 -data_ov00_020ecdd4: - .space 0x4 - .global data_ov00_020ecdd8 -data_ov00_020ecdd8: - .space 0x4 - .global data_ov00_020ecddc -data_ov00_020ecddc: - .space 0x4 - .global data_ov00_020ecde0 -data_ov00_020ecde0: - .space 0x4 - .global data_ov00_020ecde4 -data_ov00_020ecde4: - .space 0x4 - .global data_ov00_020ecde8 -data_ov00_020ecde8: - .space 0x2 - .global data_ov00_020ecdea -data_ov00_020ecdea: - .space 0x2 - .global data_ov00_020ecdec -data_ov00_020ecdec: - .space 0x2 - .global data_ov00_020ecdee -data_ov00_020ecdee: - .space 0x2 - .global data_ov00_020ecdf0 -data_ov00_020ecdf0: - .space 0x2 - .global data_ov00_020ecdf2 -data_ov00_020ecdf2: - .space 0x2 - .global data_ov00_020ecdf4 -data_ov00_020ecdf4: - .space 0x2 - .global data_ov00_020ecdf6 -data_ov00_020ecdf6: - .space 0x2 - .global data_ov00_020ecdf8 -data_ov00_020ecdf8: - .space 0x2 - .global data_ov00_020ecdfa -data_ov00_020ecdfa: - .space 0x2 - .global data_ov00_020ecdfc -data_ov00_020ecdfc: - .space 0x2 - .global data_ov00_020ecdfe -data_ov00_020ecdfe: - .space 0x2 - .global data_ov00_020ece00 -data_ov00_020ece00: - .space 0x2 - .global data_ov00_020ece02 -data_ov00_020ece02: - .space 0x2 - .global data_ov00_020ece04 -data_ov00_020ece04: - .space 0x2 - .global data_ov00_020ece06 -data_ov00_020ece06: - .space 0x2 - .global data_ov00_020ece08 -data_ov00_020ece08: - .space 0x2 - .global data_ov00_020ece0a -data_ov00_020ece0a: - .space 0x2 - .global data_ov00_020ece0c -data_ov00_020ece0c: - .space 0x2 - .global data_ov00_020ece0e -data_ov00_020ece0e: - .space 0x2 - .global data_ov00_020ece10 -data_ov00_020ece10: - .space 0x2 - .global data_ov00_020ece12 -data_ov00_020ece12: - .space 0x2 - .global data_ov00_020ece14 -data_ov00_020ece14: - .space 0x2 - .global data_ov00_020ece16 -data_ov00_020ece16: - .space 0x2 - .global data_ov00_020ece18 -data_ov00_020ece18: - .space 0x2 - .global data_ov00_020ece1a -data_ov00_020ece1a: - .space 0x2 - .global data_ov00_020ece1c -data_ov00_020ece1c: - .space 0x2 - .global data_ov00_020ece1e -data_ov00_020ece1e: - .space 0x2 - .global data_ov00_020ece20 -data_ov00_020ece20: - .space 0x2 - .global data_ov00_020ece22 -data_ov00_020ece22: - .space 0x2 - .global data_ov00_020ece24 -data_ov00_020ece24: - .space 0x2 - .global data_ov00_020ece26 -data_ov00_020ece26: - .space 0x2 - .global data_ov00_020ece28 -data_ov00_020ece28: - .space 0x2 - .global data_ov00_020ece2a -data_ov00_020ece2a: - .space 0x2 - .global data_ov00_020ece2c -data_ov00_020ece2c: - .space 0x2 - .global data_ov00_020ece2e -data_ov00_020ece2e: - .space 0x2 - .global data_ov00_020ece30 -data_ov00_020ece30: - .space 0x2 - .global data_ov00_020ece32 -data_ov00_020ece32: - .space 0x2 - .global data_ov00_020ece34 -data_ov00_020ece34: - .space 0x2 - .global data_ov00_020ece36 -data_ov00_020ece36: - .space 0x2 - .global data_ov00_020ece38 -data_ov00_020ece38: - .space 0x4 - .global data_ov00_020ece3c -data_ov00_020ece3c: - .space 0x4 - .global data_ov00_020ece40 -data_ov00_020ece40: - .space 0x4 - .global data_ov00_020ece44 -data_ov00_020ece44: - .space 0x4 - .global data_ov00_020ece48 -data_ov00_020ece48: - .space 0x2 - .global data_ov00_020ece4a -data_ov00_020ece4a: - .space 0x2 - .global data_ov00_020ece4c -data_ov00_020ece4c: - .space 0x4 - .global data_ov00_020ece50 -data_ov00_020ece50: - .space 0x4 - .global data_ov00_020ece54 -data_ov00_020ece54: - .space 0x4 - .global data_ov00_020ece58 -data_ov00_020ece58: - .space 0x4 - .global data_ov00_020ece5c -data_ov00_020ece5c: - .space 0x4 - .global data_ov00_020ece60 -data_ov00_020ece60: - .space 0x4 - .global data_ov00_020ece64 -data_ov00_020ece64: - .space 0x4 - .global data_ov00_020ece68 -data_ov00_020ece68: - .space 0x4 - .global data_ov00_020ece6c -data_ov00_020ece6c: - .space 0x4 - .global data_ov00_020ece70 -data_ov00_020ece70: - .space 0x4 - .global data_ov00_020ece74 -data_ov00_020ece74: - .space 0x4 - .global data_ov00_020ece78 -data_ov00_020ece78: - .space 0x4 - .global data_ov00_020ece7c -data_ov00_020ece7c: - .space 0x4 - .global data_ov00_020ece80 -data_ov00_020ece80: - .space 0x4 - .global data_ov00_020ece84 -data_ov00_020ece84: - .space 0x4 - .global data_ov00_020ece88 -data_ov00_020ece88: - .space 0x4 - .global data_ov00_020ece8c -data_ov00_020ece8c: - .space 0x4 - .global data_ov00_020ece90 -data_ov00_020ece90: - .space 0x4 - .global data_ov00_020ece94 -data_ov00_020ece94: - .space 0x4 - .global data_ov00_020ece98 -data_ov00_020ece98: - .space 0x4 - .global data_ov00_020ece9c -data_ov00_020ece9c: - .space 0x4 - .global data_ov00_020ecea0 -data_ov00_020ecea0: - .space 0x4 - .global data_ov00_020ecea4 -data_ov00_020ecea4: - .space 0x4 - .global data_ov00_020ecea8 -data_ov00_020ecea8: - .space 0x4 - .global data_ov00_020eceac -data_ov00_020eceac: - .space 0x4 - .global data_ov00_020eceb0 -data_ov00_020eceb0: - .space 0x4 - .global data_ov00_020eceb4 -data_ov00_020eceb4: - .space 0x4 - .global data_ov00_020eceb8 -data_ov00_020eceb8: - .space 0x4 - .global data_ov00_020ecebc -data_ov00_020ecebc: - .space 0x4 - .global data_ov00_020ecec0 -data_ov00_020ecec0: - .space 0x4 - .global data_ov00_020ecec4 -data_ov00_020ecec4: - .space 0x4 - .global data_ov00_020ecec8 -data_ov00_020ecec8: - .space 0x4 - .global data_ov00_020ececc -data_ov00_020ececc: - .space 0x4 - .global data_ov00_020eced0 -data_ov00_020eced0: - .space 0x4 - .global data_ov00_020eced4 -data_ov00_020eced4: - .space 0x4 - .global data_ov00_020eced8 -data_ov00_020eced8: - .space 0x4 - .global data_ov00_020ecedc -data_ov00_020ecedc: - .space 0x4 - .global data_ov00_020ecee0 -data_ov00_020ecee0: - .space 0x4 - .global data_ov00_020ecee4 -data_ov00_020ecee4: - .space 0x4 - .global data_ov00_020ecee8 -data_ov00_020ecee8: - .space 0x4 - .global data_ov00_020eceec -data_ov00_020eceec: - .space 0x4 - .global data_ov00_020ecef0 -data_ov00_020ecef0: - .space 0x4 - .global data_ov00_020ecef4 -data_ov00_020ecef4: - .space 0x4 - .global data_ov00_020ecef8 -data_ov00_020ecef8: - .space 0x4 - .global data_ov00_020ecefc -data_ov00_020ecefc: - .space 0x4 - .global data_ov00_020ecf00 -data_ov00_020ecf00: - .space 0x4 - .global data_ov00_020ecf04 -data_ov00_020ecf04: - .space 0x4 - .global data_ov00_020ecf08 -data_ov00_020ecf08: - .space 0x4 - .global data_ov00_020ecf0c -data_ov00_020ecf0c: - .space 0x4 - .global data_ov00_020ecf10 -data_ov00_020ecf10: - .space 0x4 - .global data_ov00_020ecf14 -data_ov00_020ecf14: - .space 0x4 - .global data_ov00_020ecf18 -data_ov00_020ecf18: - .space 0x4 - .global data_ov00_020ecf1c -data_ov00_020ecf1c: - .space 0x4 - .global data_ov00_020ecf20 -data_ov00_020ecf20: - .space 0x4 - .global data_ov00_020ecf24 -data_ov00_020ecf24: - .space 0x4 - .global data_ov00_020ecf28 -data_ov00_020ecf28: - .space 0x4 - .global data_ov00_020ecf2c -data_ov00_020ecf2c: - .space 0x4 - .global data_ov00_020ecf30 -data_ov00_020ecf30: - .space 0x4 - .global data_ov00_020ecf34 -data_ov00_020ecf34: - .space 0x4 - .global data_ov00_020ecf38 -data_ov00_020ecf38: - .space 0x4 - .global data_ov00_020ecf3c -data_ov00_020ecf3c: - .space 0x4 - .global data_ov00_020ecf40 -data_ov00_020ecf40: - .space 0x4 - .global data_ov00_020ecf44 -data_ov00_020ecf44: - .space 0x4 - .global data_ov00_020ecf48 -data_ov00_020ecf48: - .space 0x4 - .global data_ov00_020ecf4c -data_ov00_020ecf4c: - .space 0x4 - .global data_ov00_020ecf50 -data_ov00_020ecf50: - .space 0x4 - .global data_ov00_020ecf54 -data_ov00_020ecf54: - .space 0x4 - .global data_ov00_020ecf58 -data_ov00_020ecf58: - .space 0x4 - .global data_ov00_020ecf5c -data_ov00_020ecf5c: - .space 0x4 - .global data_ov00_020ecf60 -data_ov00_020ecf60: - .space 0x4 - .global data_ov00_020ecf64 -data_ov00_020ecf64: - .space 0x4 - .global data_ov00_020ecf68 -data_ov00_020ecf68: - .space 0x4 - .global data_ov00_020ecf6c -data_ov00_020ecf6c: - .space 0x4 - .global data_ov00_020ecf70 -data_ov00_020ecf70: - .space 0x4 - .global data_ov00_020ecf74 -data_ov00_020ecf74: - .space 0x4 - .global data_ov00_020ecf78 -data_ov00_020ecf78: - .space 0x4 - .global data_ov00_020ecf7c -data_ov00_020ecf7c: - .space 0x4 - .global data_ov00_020ecf80 -data_ov00_020ecf80: - .space 0x4 - .global data_ov00_020ecf84 -data_ov00_020ecf84: - .space 0x4 - .global data_ov00_020ecf88 -data_ov00_020ecf88: - .space 0x4 - .global data_ov00_020ecf8c -data_ov00_020ecf8c: - .space 0x4 - .global data_ov00_020ecf90 -data_ov00_020ecf90: - .space 0x4 - .global data_ov00_020ecf94 -data_ov00_020ecf94: - .space 0x4 - .global data_ov00_020ecf98 -data_ov00_020ecf98: - .space 0x4 - .global data_ov00_020ecf9c -data_ov00_020ecf9c: - .space 0x4 - .global data_ov00_020ecfa0 -data_ov00_020ecfa0: - .space 0x4 - .global data_ov00_020ecfa4 -data_ov00_020ecfa4: - .space 0x4 - .global data_ov00_020ecfa8 -data_ov00_020ecfa8: - .space 0x4 - .global data_ov00_020ecfac -data_ov00_020ecfac: - .space 0x4 - .global data_ov00_020ecfb0 -data_ov00_020ecfb0: - .space 0x4 - .global data_ov00_020ecfb4 -data_ov00_020ecfb4: - .space 0x4 - .global data_ov00_020ecfb8 -data_ov00_020ecfb8: - .space 0x4 - .global data_ov00_020ecfbc -data_ov00_020ecfbc: - .space 0x4 - .global data_ov00_020ecfc0 -data_ov00_020ecfc0: - .space 0x4 - .global data_ov00_020ecfc4 -data_ov00_020ecfc4: - .space 0x4 - .global data_ov00_020ecfc8 -data_ov00_020ecfc8: - .space 0x4 - .global data_ov00_020ecfcc -data_ov00_020ecfcc: - .space 0x4 - .global data_ov00_020ecfd0 -data_ov00_020ecfd0: - .space 0x4 - .global data_ov00_020ecfd4 -data_ov00_020ecfd4: - .space 0x4 - .global data_ov00_020ecfd8 -data_ov00_020ecfd8: - .space 0x4 - .global data_ov00_020ecfdc -data_ov00_020ecfdc: - .space 0x4 - .global data_ov00_020ecfe0 -data_ov00_020ecfe0: - .space 0x4 - .global data_ov00_020ecfe4 -data_ov00_020ecfe4: - .space 0x4 - .global data_ov00_020ecfe8 -data_ov00_020ecfe8: - .space 0x4 - .global data_ov00_020ecfec -data_ov00_020ecfec: - .space 0x4 - .global data_ov00_020ecff0 -data_ov00_020ecff0: - .space 0x4 - .global data_ov00_020ecff4 -data_ov00_020ecff4: - .space 0x4 - .global data_ov00_020ecff8 -data_ov00_020ecff8: - .space 0x4 - .global data_ov00_020ecffc -data_ov00_020ecffc: - .space 0x4 - .global data_ov00_020ed000 -data_ov00_020ed000: - .space 0x4 - .global data_ov00_020ed004 -data_ov00_020ed004: - .space 0x4 - .global data_ov00_020ed008 -data_ov00_020ed008: - .space 0x4 - .global data_ov00_020ed00c -data_ov00_020ed00c: - .space 0x4 - .global data_ov00_020ed010 -data_ov00_020ed010: - .space 0x4 - .global data_ov00_020ed014 -data_ov00_020ed014: - .space 0x4 - .global data_ov00_020ed018 -data_ov00_020ed018: - .space 0x4 - .global data_ov00_020ed01c -data_ov00_020ed01c: - .space 0x4 - .global data_ov00_020ed020 -data_ov00_020ed020: - .space 0x4 - .global data_ov00_020ed024 -data_ov00_020ed024: - .space 0x4 - .global data_ov00_020ed028 -data_ov00_020ed028: - .space 0x4 - .global data_ov00_020ed02c -data_ov00_020ed02c: - .space 0x4 - .global data_ov00_020ed030 -data_ov00_020ed030: - .space 0x4 - .global data_ov00_020ed034 -data_ov00_020ed034: - .space 0x4 - .global data_ov00_020ed038 -data_ov00_020ed038: - .space 0x4 - .global data_ov00_020ed03c -data_ov00_020ed03c: - .space 0x4 - .global data_ov00_020ed040 -data_ov00_020ed040: - .space 0x4 - .global data_ov00_020ed044 -data_ov00_020ed044: - .space 0x4 - .global data_ov00_020ed048 -data_ov00_020ed048: - .space 0x4 - .global data_ov00_020ed04c -data_ov00_020ed04c: - .space 0x4 - .global data_ov00_020ed050 -data_ov00_020ed050: - .space 0x4 - .global data_ov00_020ed054 -data_ov00_020ed054: - .space 0x4 - .global data_ov00_020ed058 -data_ov00_020ed058: - .space 0x4 - .global data_ov00_020ed05c -data_ov00_020ed05c: - .space 0x4 - .global data_ov00_020ed060 -data_ov00_020ed060: - .space 0x4 - .global data_ov00_020ed064 -data_ov00_020ed064: - .space 0x4 - .global data_ov00_020ed068 -data_ov00_020ed068: - .space 0x4 - .global data_ov00_020ed06c -data_ov00_020ed06c: - .space 0x4 - .global data_ov00_020ed070 -data_ov00_020ed070: - .space 0x4 - .global data_ov00_020ed074 -data_ov00_020ed074: - .space 0x4 - .global data_ov00_020ed078 -data_ov00_020ed078: - .space 0x4 - .global data_ov00_020ed07c -data_ov00_020ed07c: - .space 0x4 - .global data_ov00_020ed080 -data_ov00_020ed080: - .space 0x4 - .global data_ov00_020ed084 -data_ov00_020ed084: - .space 0x4 - .global data_ov00_020ed088 -data_ov00_020ed088: - .space 0x4 - .global data_ov00_020ed08c -data_ov00_020ed08c: - .space 0x4 - .global data_ov00_020ed090 -data_ov00_020ed090: - .space 0x4 - .global data_ov00_020ed094 -data_ov00_020ed094: - .space 0x4 - .global data_ov00_020ed098 -data_ov00_020ed098: - .space 0x4 - .global data_ov00_020ed09c -data_ov00_020ed09c: - .space 0x4 - .global data_ov00_020ed0a0 -data_ov00_020ed0a0: - .space 0x4 - .global data_ov00_020ed0a4 -data_ov00_020ed0a4: - .space 0x4 - .global data_ov00_020ed0a8 -data_ov00_020ed0a8: - .space 0x4 - .global data_ov00_020ed0ac -data_ov00_020ed0ac: - .space 0x4 - .global data_ov00_020ed0b0 -data_ov00_020ed0b0: - .space 0x4 - .global data_ov00_020ed0b4 -data_ov00_020ed0b4: - .space 0x4 - .global data_ov00_020ed0b8 -data_ov00_020ed0b8: - .space 0x4 - .global data_ov00_020ed0bc -data_ov00_020ed0bc: - .space 0x4 - .global data_ov00_020ed0c0 -data_ov00_020ed0c0: - .space 0x4 - .global data_ov00_020ed0c4 -data_ov00_020ed0c4: - .space 0x4 - .global data_ov00_020ed0c8 -data_ov00_020ed0c8: - .space 0x4 - .global data_ov00_020ed0cc -data_ov00_020ed0cc: - .space 0x4 - .global data_ov00_020ed0d0 -data_ov00_020ed0d0: - .space 0x4 - .global data_ov00_020ed0d4 -data_ov00_020ed0d4: - .space 0x4 - .global data_ov00_020ed0d8 -data_ov00_020ed0d8: - .space 0x4 - .global data_ov00_020ed0dc -data_ov00_020ed0dc: - .space 0x4 - .global data_ov00_020ed0e0 -data_ov00_020ed0e0: - .space 0x4 - .global data_ov00_020ed0e4 -data_ov00_020ed0e4: - .space 0x4 - .global data_ov00_020ed0e8 -data_ov00_020ed0e8: - .space 0x4 - .global data_ov00_020ed0ec -data_ov00_020ed0ec: - .space 0x4 - .global data_ov00_020ed0f0 -data_ov00_020ed0f0: - .space 0x4 - .global data_ov00_020ed0f4 -data_ov00_020ed0f4: - .space 0x4 - .global data_ov00_020ed0f8 -data_ov00_020ed0f8: - .space 0x4 - .global data_ov00_020ed0fc -data_ov00_020ed0fc: - .space 0x4 - .global data_ov00_020ed100 -data_ov00_020ed100: - .space 0x4 - .global data_ov00_020ed104 -data_ov00_020ed104: - .space 0x4 - .global data_ov00_020ed108 -data_ov00_020ed108: - .space 0x4 - .global data_ov00_020ed10c -data_ov00_020ed10c: - .space 0x4 - .global data_ov00_020ed110 -data_ov00_020ed110: - .space 0x4 - .global data_ov00_020ed114 -data_ov00_020ed114: - .space 0x4 - .global data_ov00_020ed118 -data_ov00_020ed118: - .space 0x4 - .global data_ov00_020ed11c -data_ov00_020ed11c: - .space 0x4 - .global data_ov00_020ed120 -data_ov00_020ed120: - .space 0x4 - .global data_ov00_020ed124 -data_ov00_020ed124: - .space 0x4 - .global data_ov00_020ed128 -data_ov00_020ed128: - .space 0x4 - .global data_ov00_020ed12c -data_ov00_020ed12c: - .space 0x4 - .global data_ov00_020ed130 -data_ov00_020ed130: - .space 0x4 - .global data_ov00_020ed134 -data_ov00_020ed134: - .space 0x4 - .global data_ov00_020ed138 -data_ov00_020ed138: - .space 0x4 - .global data_ov00_020ed13c -data_ov00_020ed13c: - .space 0x4 - .global data_ov00_020ed140 -data_ov00_020ed140: - .space 0x4 - .global data_ov00_020ed144 -data_ov00_020ed144: - .space 0x4 - .global data_ov00_020ed148 -data_ov00_020ed148: - .space 0x4 - .global data_ov00_020ed14c -data_ov00_020ed14c: - .space 0x4 - .global data_ov00_020ed150 -data_ov00_020ed150: - .space 0x4 - .global data_ov00_020ed154 -data_ov00_020ed154: - .space 0x4 - .global data_ov00_020ed158 -data_ov00_020ed158: - .space 0x4 - .global data_ov00_020ed15c -data_ov00_020ed15c: - .space 0x4 - .global data_ov00_020ed160 -data_ov00_020ed160: - .space 0x4 - .global data_ov00_020ed164 -data_ov00_020ed164: - .space 0x4 - .global data_ov00_020ed168 -data_ov00_020ed168: - .space 0x4 - .global data_ov00_020ed16c -data_ov00_020ed16c: - .space 0x4 - .global data_ov00_020ed170 -data_ov00_020ed170: - .space 0x4 - .global data_ov00_020ed174 -data_ov00_020ed174: - .space 0x4 - .global data_ov00_020ed178 -data_ov00_020ed178: - .space 0x4 - .global data_ov00_020ed17c -data_ov00_020ed17c: - .space 0x4 - .global data_ov00_020ed180 -data_ov00_020ed180: - .space 0x4 - .global data_ov00_020ed184 -data_ov00_020ed184: - .space 0x4 - .global data_ov00_020ed188 -data_ov00_020ed188: - .space 0x4 - .global data_ov00_020ed18c -data_ov00_020ed18c: - .space 0x4 - .global data_ov00_020ed190 -data_ov00_020ed190: - .space 0x4 - .global data_ov00_020ed194 -data_ov00_020ed194: - .space 0x4 - .global data_ov00_020ed198 -data_ov00_020ed198: - .space 0x4 - .global data_ov00_020ed19c -data_ov00_020ed19c: - .space 0x4 - .global data_ov00_020ed1a0 -data_ov00_020ed1a0: - .space 0x4 - .global data_ov00_020ed1a4 -data_ov00_020ed1a4: - .space 0x4 - .global data_ov00_020ed1a8 -data_ov00_020ed1a8: - .space 0x4 - .global data_ov00_020ed1ac -data_ov00_020ed1ac: - .space 0x4 - .global data_ov00_020ed1b0 -data_ov00_020ed1b0: - .space 0x4 - .global data_ov00_020ed1b4 -data_ov00_020ed1b4: - .space 0x4 - .global data_ov00_020ed1b8 -data_ov00_020ed1b8: - .space 0x4 - .global data_ov00_020ed1bc -data_ov00_020ed1bc: - .space 0x4 - .global data_ov00_020ed1c0 -data_ov00_020ed1c0: - .space 0x4 - .global data_ov00_020ed1c4 -data_ov00_020ed1c4: - .space 0x4 - .global data_ov00_020ed1c8 -data_ov00_020ed1c8: - .space 0x4 - .global data_ov00_020ed1cc -data_ov00_020ed1cc: - .space 0x4 - .global data_ov00_020ed1d0 -data_ov00_020ed1d0: - .space 0x4 - .global data_ov00_020ed1d4 -data_ov00_020ed1d4: - .space 0x4 - .global data_ov00_020ed1d8 -data_ov00_020ed1d8: - .space 0x4 - .global data_ov00_020ed1dc -data_ov00_020ed1dc: - .space 0x4 - .global data_ov00_020ed1e0 -data_ov00_020ed1e0: - .space 0x4 - .global data_ov00_020ed1e4 -data_ov00_020ed1e4: - .space 0x4 - .global data_ov00_020ed1e8 -data_ov00_020ed1e8: - .space 0x4 - .global data_ov00_020ed1ec -data_ov00_020ed1ec: - .space 0x4 - .global data_ov00_020ed1f0 -data_ov00_020ed1f0: - .space 0x4 - .global data_ov00_020ed1f4 -data_ov00_020ed1f4: - .space 0x4 - .global data_ov00_020ed1f8 -data_ov00_020ed1f8: - .space 0x4 - .global data_ov00_020ed1fc -data_ov00_020ed1fc: - .space 0x4 - .global data_ov00_020ed200 -data_ov00_020ed200: - .space 0x4 - .global data_ov00_020ed204 -data_ov00_020ed204: - .space 0x4 - .global data_ov00_020ed208 -data_ov00_020ed208: - .space 0x4 - .global data_ov00_020ed20c -data_ov00_020ed20c: - .space 0x4 - .global data_ov00_020ed210 -data_ov00_020ed210: - .space 0x4 - .global data_ov00_020ed214 -data_ov00_020ed214: - .space 0x4 - .global data_ov00_020ed218 -data_ov00_020ed218: - .space 0x4 - .global data_ov00_020ed21c -data_ov00_020ed21c: - .space 0x4 - .global data_ov00_020ed220 -data_ov00_020ed220: - .space 0x4 - .global data_ov00_020ed224 -data_ov00_020ed224: - .space 0x4 - .global data_ov00_020ed228 -data_ov00_020ed228: - .space 0x4 - .global data_ov00_020ed22c -data_ov00_020ed22c: - .space 0x4 - .global data_ov00_020ed230 -data_ov00_020ed230: - .space 0x4 - .global data_ov00_020ed234 -data_ov00_020ed234: - .space 0x4 - .global data_ov00_020ed238 -data_ov00_020ed238: - .space 0x4 - .global data_ov00_020ed23c -data_ov00_020ed23c: - .space 0x4 - .global data_ov00_020ed240 -data_ov00_020ed240: - .space 0x4 - .global data_ov00_020ed244 -data_ov00_020ed244: - .space 0x4 - .global data_ov00_020ed248 -data_ov00_020ed248: - .space 0x4 - .global data_ov00_020ed24c -data_ov00_020ed24c: - .space 0x4 - .global data_ov00_020ed250 -data_ov00_020ed250: - .space 0x4 - .global data_ov00_020ed254 -data_ov00_020ed254: - .space 0x4 - .global data_ov00_020ed258 -data_ov00_020ed258: - .space 0x4 - .global data_ov00_020ed25c -data_ov00_020ed25c: - .space 0x4 - .global data_ov00_020ed260 -data_ov00_020ed260: - .space 0x4 - .global data_ov00_020ed264 -data_ov00_020ed264: - .space 0x4 - .global data_ov00_020ed268 -data_ov00_020ed268: - .space 0x4 - .global data_ov00_020ed26c -data_ov00_020ed26c: - .space 0x4 - .global data_ov00_020ed270 -data_ov00_020ed270: - .space 0x4 - .global data_ov00_020ed274 -data_ov00_020ed274: - .space 0x4 - .global data_ov00_020ed278 -data_ov00_020ed278: - .space 0x4 - .global data_ov00_020ed27c -data_ov00_020ed27c: - .space 0x4 - .global data_ov00_020ed280 -data_ov00_020ed280: - .space 0x4 - .global data_ov00_020ed284 -data_ov00_020ed284: - .space 0x4 - .global data_ov00_020ed288 -data_ov00_020ed288: - .space 0x4 - .global data_ov00_020ed28c -data_ov00_020ed28c: - .space 0x4 - .global data_ov00_020ed290 -data_ov00_020ed290: - .space 0x4 - .global data_ov00_020ed294 -data_ov00_020ed294: - .space 0x4 - .global data_ov00_020ed298 -data_ov00_020ed298: - .space 0x4 - .global data_ov00_020ed29c -data_ov00_020ed29c: - .space 0x4 - .global data_ov00_020ed2a0 -data_ov00_020ed2a0: - .space 0x4 - .global data_ov00_020ed2a4 -data_ov00_020ed2a4: - .space 0x4 - .global data_ov00_020ed2a8 -data_ov00_020ed2a8: - .space 0x4 - .global data_ov00_020ed2ac -data_ov00_020ed2ac: - .space 0x4 - .global data_ov00_020ed2b0 -data_ov00_020ed2b0: - .space 0x4 - .global data_ov00_020ed2b4 -data_ov00_020ed2b4: - .space 0x4 - .global data_ov00_020ed2b8 -data_ov00_020ed2b8: - .space 0x4 - .global data_ov00_020ed2bc -data_ov00_020ed2bc: - .space 0x4 - .global data_ov00_020ed2c0 -data_ov00_020ed2c0: - .space 0x4 - .global data_ov00_020ed2c4 -data_ov00_020ed2c4: - .space 0x4 - .global data_ov00_020ed2c8 -data_ov00_020ed2c8: - .space 0x4 - .global data_ov00_020ed2cc -data_ov00_020ed2cc: - .space 0x4 - .global data_ov00_020ed2d0 -data_ov00_020ed2d0: - .space 0x4 - .global data_ov00_020ed2d4 -data_ov00_020ed2d4: - .space 0x4 - .global data_ov00_020ed2d8 -data_ov00_020ed2d8: - .space 0x4 - .global data_ov00_020ed2dc -data_ov00_020ed2dc: - .space 0x4 - .global data_ov00_020ed2e0 -data_ov00_020ed2e0: - .space 0x4 - .global data_ov00_020ed2e4 -data_ov00_020ed2e4: - .space 0x4 - .global data_ov00_020ed2e8 -data_ov00_020ed2e8: - .space 0x4 - .global data_ov00_020ed2ec -data_ov00_020ed2ec: - .space 0x4 - .global data_ov00_020ed2f0 -data_ov00_020ed2f0: - .space 0x4 - .global data_ov00_020ed2f4 -data_ov00_020ed2f4: - .space 0x4 - .global data_ov00_020ed2f8 -data_ov00_020ed2f8: - .space 0x4 - .global data_ov00_020ed2fc -data_ov00_020ed2fc: - .space 0x4 - .global data_ov00_020ed300 -data_ov00_020ed300: - .space 0x4 - .global data_ov00_020ed304 -data_ov00_020ed304: - .space 0x4 - .global data_ov00_020ed308 -data_ov00_020ed308: - .space 0x4 - .global data_ov00_020ed30c -data_ov00_020ed30c: - .space 0x4 - .global data_ov00_020ed310 -data_ov00_020ed310: - .space 0x4 - .global data_ov00_020ed314 -data_ov00_020ed314: - .space 0x4 - .global data_ov00_020ed318 -data_ov00_020ed318: - .space 0x4 - .global data_ov00_020ed31c -data_ov00_020ed31c: - .space 0x4 - .global data_ov00_020ed320 -data_ov00_020ed320: - .space 0x4 - .global data_ov00_020ed324 -data_ov00_020ed324: - .space 0x4 - .global data_ov00_020ed328 -data_ov00_020ed328: - .space 0x4 - .global data_ov00_020ed32c -data_ov00_020ed32c: - .space 0x4 - .global data_ov00_020ed330 -data_ov00_020ed330: - .space 0x4 - .global data_ov00_020ed334 -data_ov00_020ed334: - .space 0x4 - .global data_ov00_020ed338 -data_ov00_020ed338: - .space 0x4 - .global data_ov00_020ed33c -data_ov00_020ed33c: - .space 0x4 - .global data_ov00_020ed340 -data_ov00_020ed340: - .space 0x4 - .global data_ov00_020ed344 -data_ov00_020ed344: - .space 0x4 - .global data_ov00_020ed348 -data_ov00_020ed348: - .space 0x4 - .global data_ov00_020ed34c -data_ov00_020ed34c: - .space 0x4 - .global data_ov00_020ed350 -data_ov00_020ed350: - .space 0x4 - .global data_ov00_020ed354 -data_ov00_020ed354: - .space 0x4 - .global data_ov00_020ed358 -data_ov00_020ed358: - .space 0x4 - .global data_ov00_020ed35c -data_ov00_020ed35c: - .space 0x4 - .global data_ov00_020ed360 -data_ov00_020ed360: - .space 0x4 - .global data_ov00_020ed364 -data_ov00_020ed364: - .space 0x4 - .global data_ov00_020ed368 -data_ov00_020ed368: - .space 0x4 - .global data_ov00_020ed36c -data_ov00_020ed36c: - .space 0x4 - .global data_ov00_020ed370 -data_ov00_020ed370: - .space 0x4 - .global data_ov00_020ed374 -data_ov00_020ed374: - .space 0x4 - .global data_ov00_020ed378 -data_ov00_020ed378: - .space 0x4 - .global data_ov00_020ed37c -data_ov00_020ed37c: - .space 0x4 - .global data_ov00_020ed380 -data_ov00_020ed380: - .space 0x4 - .global data_ov00_020ed384 -data_ov00_020ed384: - .space 0x4 - .global data_ov00_020ed388 -data_ov00_020ed388: - .space 0x4 - .global data_ov00_020ed38c -data_ov00_020ed38c: - .space 0x4 - .global data_ov00_020ed390 -data_ov00_020ed390: - .space 0x4 - .global data_ov00_020ed394 -data_ov00_020ed394: - .space 0x4 - .global data_ov00_020ed398 -data_ov00_020ed398: - .space 0x4 - .global data_ov00_020ed39c -data_ov00_020ed39c: - .space 0x4 - .global data_ov00_020ed3a0 -data_ov00_020ed3a0: - .space 0x4 - .global data_ov00_020ed3a4 -data_ov00_020ed3a4: - .space 0x4 - .global data_ov00_020ed3a8 -data_ov00_020ed3a8: - .space 0x4 - .global data_ov00_020ed3ac -data_ov00_020ed3ac: - .space 0x4 - .global data_ov00_020ed3b0 -data_ov00_020ed3b0: - .space 0x4 - .global data_ov00_020ed3b4 -data_ov00_020ed3b4: - .space 0x4 - .global data_ov00_020ed3b8 -data_ov00_020ed3b8: - .space 0x4 - .global data_ov00_020ed3bc -data_ov00_020ed3bc: - .space 0x4 - .global data_ov00_020ed3c0 -data_ov00_020ed3c0: - .space 0x4 - .global data_ov00_020ed3c4 -data_ov00_020ed3c4: - .space 0x4 - .global data_ov00_020ed3c8 -data_ov00_020ed3c8: - .space 0x4 - .global data_ov00_020ed3cc -data_ov00_020ed3cc: - .space 0x4 - .global data_ov00_020ed3d0 -data_ov00_020ed3d0: - .space 0x4 - .global data_ov00_020ed3d4 -data_ov00_020ed3d4: - .space 0x4 - .global data_ov00_020ed3d8 -data_ov00_020ed3d8: - .space 0x4 - .global data_ov00_020ed3dc -data_ov00_020ed3dc: - .space 0x4 - .global data_ov00_020ed3e0 -data_ov00_020ed3e0: - .space 0x4 - .global data_ov00_020ed3e4 -data_ov00_020ed3e4: - .space 0x4 - .global data_ov00_020ed3e8 -data_ov00_020ed3e8: - .space 0x4 - .global data_ov00_020ed3ec -data_ov00_020ed3ec: - .space 0x4 - .global data_ov00_020ed3f0 -data_ov00_020ed3f0: - .space 0x4 - .global data_ov00_020ed3f4 -data_ov00_020ed3f4: - .space 0x4 - .global data_ov00_020ed3f8 -data_ov00_020ed3f8: - .space 0x4 - .global data_ov00_020ed3fc -data_ov00_020ed3fc: - .space 0x4 - .global data_ov00_020ed400 -data_ov00_020ed400: - .space 0x4 - .global data_ov00_020ed404 -data_ov00_020ed404: - .space 0x4 - .global data_ov00_020ed408 -data_ov00_020ed408: - .space 0x4 - .global data_ov00_020ed40c -data_ov00_020ed40c: - .space 0x4 - .global data_ov00_020ed410 -data_ov00_020ed410: - .space 0x4 - .global data_ov00_020ed414 -data_ov00_020ed414: - .space 0x4 - .global data_ov00_020ed418 -data_ov00_020ed418: - .space 0x4 - .global data_ov00_020ed41c -data_ov00_020ed41c: - .space 0x4 - .global data_ov00_020ed420 -data_ov00_020ed420: - .space 0x4 - .global data_ov00_020ed424 -data_ov00_020ed424: - .space 0x4 - .global data_ov00_020ed428 -data_ov00_020ed428: - .space 0x4 - .global data_ov00_020ed42c -data_ov00_020ed42c: - .space 0x4 - .global data_ov00_020ed430 -data_ov00_020ed430: - .space 0x4 - .global data_ov00_020ed434 -data_ov00_020ed434: - .space 0x4 - .global data_ov00_020ed438 -data_ov00_020ed438: - .space 0x4 - .global data_ov00_020ed43c -data_ov00_020ed43c: - .space 0x4 - .global data_ov00_020ed440 -data_ov00_020ed440: - .space 0x4 - .global data_ov00_020ed444 -data_ov00_020ed444: - .space 0x4 - .global data_ov00_020ed448 -data_ov00_020ed448: - .space 0x4 - .global data_ov00_020ed44c -data_ov00_020ed44c: - .space 0x4 - .global data_ov00_020ed450 -data_ov00_020ed450: - .space 0x4 - .global data_ov00_020ed454 -data_ov00_020ed454: - .space 0x4 - .global data_ov00_020ed458 -data_ov00_020ed458: - .space 0x4 - .global data_ov00_020ed45c -data_ov00_020ed45c: - .space 0x4 - .global data_ov00_020ed460 -data_ov00_020ed460: - .space 0x4 - .global data_ov00_020ed464 -data_ov00_020ed464: - .space 0x4 - .global data_ov00_020ed468 -data_ov00_020ed468: - .space 0x4 - .global data_ov00_020ed46c -data_ov00_020ed46c: - .space 0x4 - .global data_ov00_020ed470 -data_ov00_020ed470: - .space 0x4 - .global data_ov00_020ed474 -data_ov00_020ed474: - .space 0x4 - .global data_ov00_020ed478 -data_ov00_020ed478: - .space 0x4 - .global data_ov00_020ed47c -data_ov00_020ed47c: - .space 0x4 - .global data_ov00_020ed480 -data_ov00_020ed480: - .space 0x4 - .global data_ov00_020ed484 -data_ov00_020ed484: - .space 0x4 - .global data_ov00_020ed488 -data_ov00_020ed488: - .space 0x4 - .global data_ov00_020ed48c -data_ov00_020ed48c: - .space 0x4 - .global data_ov00_020ed490 -data_ov00_020ed490: - .space 0x4 - .global data_ov00_020ed494 -data_ov00_020ed494: - .space 0x4 - .global data_ov00_020ed498 -data_ov00_020ed498: - .space 0x4 - .global data_ov00_020ed49c -data_ov00_020ed49c: - .space 0x4 - .global data_ov00_020ed4a0 -data_ov00_020ed4a0: - .space 0x4 - .global data_ov00_020ed4a4 -data_ov00_020ed4a4: - .space 0x4 - .global data_ov00_020ed4a8 -data_ov00_020ed4a8: - .space 0x4 - .global data_ov00_020ed4ac -data_ov00_020ed4ac: - .space 0x4 - .global data_ov00_020ed4b0 -data_ov00_020ed4b0: - .space 0x4 - .global data_ov00_020ed4b4 -data_ov00_020ed4b4: - .space 0x4 - .global data_ov00_020ed4b8 -data_ov00_020ed4b8: - .space 0x4 - .global data_ov00_020ed4bc -data_ov00_020ed4bc: - .space 0x4 - .global data_ov00_020ed4c0 -data_ov00_020ed4c0: - .space 0x4 - .global data_ov00_020ed4c4 -data_ov00_020ed4c4: - .space 0x4 - .global data_ov00_020ed4c8 -data_ov00_020ed4c8: - .space 0x4 - .global data_ov00_020ed4cc -data_ov00_020ed4cc: - .space 0x4 - .global data_ov00_020ed4d0 -data_ov00_020ed4d0: - .space 0x4 - .global data_ov00_020ed4d4 -data_ov00_020ed4d4: - .space 0x4 - .global data_ov00_020ed4d8 -data_ov00_020ed4d8: - .space 0x4 - .global data_ov00_020ed4dc -data_ov00_020ed4dc: - .space 0x4 - .global data_ov00_020ed4e0 -data_ov00_020ed4e0: - .space 0x4 - .global data_ov00_020ed4e4 -data_ov00_020ed4e4: - .space 0x4 - .global data_ov00_020ed4e8 -data_ov00_020ed4e8: - .space 0x4 - .global data_ov00_020ed4ec -data_ov00_020ed4ec: - .space 0x4 - .global data_ov00_020ed4f0 -data_ov00_020ed4f0: - .space 0x4 - .global data_ov00_020ed4f4 -data_ov00_020ed4f4: - .space 0x4 - .global data_ov00_020ed4f8 -data_ov00_020ed4f8: - .space 0x4 - .global data_ov00_020ed4fc -data_ov00_020ed4fc: - .space 0x4 - .global data_ov00_020ed500 -data_ov00_020ed500: - .space 0x4 - .global data_ov00_020ed504 -data_ov00_020ed504: - .space 0x4 - .global data_ov00_020ed508 -data_ov00_020ed508: - .space 0x4 - .global data_ov00_020ed50c -data_ov00_020ed50c: - .space 0x4 - .global data_ov00_020ed510 -data_ov00_020ed510: - .space 0x4 - .global data_ov00_020ed514 -data_ov00_020ed514: - .space 0x4 - .global data_ov00_020ed518 -data_ov00_020ed518: - .space 0x4 - .global data_ov00_020ed51c -data_ov00_020ed51c: - .space 0x4 - .global data_ov00_020ed520 -data_ov00_020ed520: - .space 0x4 - .global data_ov00_020ed524 -data_ov00_020ed524: - .space 0x4 - .global data_ov00_020ed528 -data_ov00_020ed528: - .space 0x4 - .global data_ov00_020ed52c -data_ov00_020ed52c: - .space 0x4 - .global data_ov00_020ed530 -data_ov00_020ed530: - .space 0x4 - .global data_ov00_020ed534 -data_ov00_020ed534: - .space 0x4 - .global data_ov00_020ed538 -data_ov00_020ed538: - .space 0x4 - .global data_ov00_020ed53c -data_ov00_020ed53c: - .space 0x4 - .global data_ov00_020ed540 -data_ov00_020ed540: - .space 0x4 - .global data_ov00_020ed544 -data_ov00_020ed544: - .space 0x4 - .global data_ov00_020ed548 -data_ov00_020ed548: - .space 0x4 - .global data_ov00_020ed54c -data_ov00_020ed54c: - .space 0x4 - .global data_ov00_020ed550 -data_ov00_020ed550: - .space 0x4 - .global data_ov00_020ed554 -data_ov00_020ed554: - .space 0x4 - .global data_ov00_020ed558 -data_ov00_020ed558: - .space 0x4 - .global data_ov00_020ed55c -data_ov00_020ed55c: - .space 0x4 - .global data_ov00_020ed560 -data_ov00_020ed560: - .space 0x4 - .global data_ov00_020ed564 -data_ov00_020ed564: - .space 0x4 - .global data_ov00_020ed568 -data_ov00_020ed568: - .space 0x4 - .global data_ov00_020ed56c -data_ov00_020ed56c: - .space 0x4 - .global data_ov00_020ed570 -data_ov00_020ed570: - .space 0x4 - .global data_ov00_020ed574 -data_ov00_020ed574: - .space 0x4 - .global data_ov00_020ed578 -data_ov00_020ed578: - .space 0x4 - .global data_ov00_020ed57c -data_ov00_020ed57c: - .space 0x4 - .global data_ov00_020ed580 -data_ov00_020ed580: - .space 0x4 - .global data_ov00_020ed584 -data_ov00_020ed584: - .space 0x4 - .global data_ov00_020ed588 -data_ov00_020ed588: - .space 0x4 - .global data_ov00_020ed58c -data_ov00_020ed58c: - .space 0x4 - .global data_ov00_020ed590 -data_ov00_020ed590: - .space 0x4 - .global data_ov00_020ed594 -data_ov00_020ed594: - .space 0x4 - .global data_ov00_020ed598 -data_ov00_020ed598: - .space 0x4 - .global data_ov00_020ed59c -data_ov00_020ed59c: - .space 0x4 - .global data_ov00_020ed5a0 -data_ov00_020ed5a0: - .space 0x4 - .global data_ov00_020ed5a4 -data_ov00_020ed5a4: - .space 0x4 - .global data_ov00_020ed5a8 -data_ov00_020ed5a8: - .space 0x4 - .global data_ov00_020ed5ac -data_ov00_020ed5ac: - .space 0x4 - .global data_ov00_020ed5b0 -data_ov00_020ed5b0: - .space 0x4 - .global data_ov00_020ed5b4 -data_ov00_020ed5b4: - .space 0x4 - .global data_ov00_020ed5b8 -data_ov00_020ed5b8: - .space 0x4 - .global data_ov00_020ed5bc -data_ov00_020ed5bc: - .space 0x4 - .global data_ov00_020ed5c0 -data_ov00_020ed5c0: - .space 0x4 - .global data_ov00_020ed5c4 -data_ov00_020ed5c4: - .space 0x4 - .global data_ov00_020ed5c8 -data_ov00_020ed5c8: - .space 0x4 - .global data_ov00_020ed5cc -data_ov00_020ed5cc: - .space 0x4 - .global data_ov00_020ed5d0 -data_ov00_020ed5d0: - .space 0x4 - .global data_ov00_020ed5d4 -data_ov00_020ed5d4: - .space 0x4 - .global data_ov00_020ed5d8 -data_ov00_020ed5d8: - .space 0x4 - .global data_ov00_020ed5dc -data_ov00_020ed5dc: - .space 0x4 - .global data_ov00_020ed5e0 -data_ov00_020ed5e0: - .space 0x4 - .global data_ov00_020ed5e4 -data_ov00_020ed5e4: - .space 0x4 - .global data_ov00_020ed5e8 -data_ov00_020ed5e8: - .space 0x4 - .global data_ov00_020ed5ec -data_ov00_020ed5ec: - .space 0x4 - .global data_ov00_020ed5f0 -data_ov00_020ed5f0: - .space 0x4 - .global data_ov00_020ed5f4 -data_ov00_020ed5f4: - .space 0x4 - .global data_ov00_020ed5f8 -data_ov00_020ed5f8: - .space 0x4 - .global data_ov00_020ed5fc -data_ov00_020ed5fc: - .space 0x4 - .global data_ov00_020ed600 -data_ov00_020ed600: - .space 0x4 - .global data_ov00_020ed604 -data_ov00_020ed604: - .space 0x4 - .global data_ov00_020ed608 -data_ov00_020ed608: - .space 0x4 - .global data_ov00_020ed60c -data_ov00_020ed60c: - .space 0x4 - .global data_ov00_020ed610 -data_ov00_020ed610: - .space 0x4 - .global data_ov00_020ed614 -data_ov00_020ed614: - .space 0x4 - .global data_ov00_020ed618 -data_ov00_020ed618: - .space 0x4 - .global data_ov00_020ed61c -data_ov00_020ed61c: - .space 0x4 - .global data_ov00_020ed620 -data_ov00_020ed620: - .space 0x4 - .global data_ov00_020ed624 -data_ov00_020ed624: - .space 0x4 - .global data_ov00_020ed628 -data_ov00_020ed628: - .space 0x4 - .global data_ov00_020ed62c -data_ov00_020ed62c: - .space 0x4 - .global data_ov00_020ed630 -data_ov00_020ed630: - .space 0x4 - .global data_ov00_020ed634 -data_ov00_020ed634: - .space 0x4 - .global data_ov00_020ed638 -data_ov00_020ed638: - .space 0x4 - .global data_ov00_020ed63c -data_ov00_020ed63c: - .space 0x4 - .global data_ov00_020ed640 -data_ov00_020ed640: - .space 0x4 - .global data_ov00_020ed644 -data_ov00_020ed644: - .space 0x4 - .global data_ov00_020ed648 -data_ov00_020ed648: - .space 0x4 - .global data_ov00_020ed64c -data_ov00_020ed64c: - .space 0x4 - .global data_ov00_020ed650 -data_ov00_020ed650: - .space 0x4 - .global data_ov00_020ed654 -data_ov00_020ed654: - .space 0x4 - .global data_ov00_020ed658 -data_ov00_020ed658: - .space 0x4 - .global data_ov00_020ed65c -data_ov00_020ed65c: - .space 0x4 - .global data_ov00_020ed660 -data_ov00_020ed660: - .space 0x4 - .global data_ov00_020ed664 -data_ov00_020ed664: - .space 0x4 - .global data_ov00_020ed668 -data_ov00_020ed668: - .space 0x4 - .global data_ov00_020ed66c -data_ov00_020ed66c: - .space 0x4 - .global data_ov00_020ed670 -data_ov00_020ed670: - .space 0x4 - .global data_ov00_020ed674 -data_ov00_020ed674: - .space 0x4 - .global data_ov00_020ed678 -data_ov00_020ed678: - .space 0x4 - .global data_ov00_020ed67c -data_ov00_020ed67c: - .space 0x4 - .global data_ov00_020ed680 -data_ov00_020ed680: - .space 0x4 - .global data_ov00_020ed684 -data_ov00_020ed684: - .space 0x4 - .global data_ov00_020ed688 -data_ov00_020ed688: - .space 0x4 - .global data_ov00_020ed68c -data_ov00_020ed68c: - .space 0x4 - .global data_ov00_020ed690 -data_ov00_020ed690: - .space 0x4 - .global data_ov00_020ed694 -data_ov00_020ed694: - .space 0x4 - .global data_ov00_020ed698 -data_ov00_020ed698: - .space 0x4 - .global data_ov00_020ed69c -data_ov00_020ed69c: - .space 0x4 - .global data_ov00_020ed6a0 -data_ov00_020ed6a0: - .space 0x4 - .global data_ov00_020ed6a4 -data_ov00_020ed6a4: - .space 0x4 - .global data_ov00_020ed6a8 -data_ov00_020ed6a8: - .space 0x4 - .global data_ov00_020ed6ac -data_ov00_020ed6ac: - .space 0x4 - .global data_ov00_020ed6b0 -data_ov00_020ed6b0: - .space 0x4 - .global data_ov00_020ed6b4 -data_ov00_020ed6b4: - .space 0x4 - .global data_ov00_020ed6b8 -data_ov00_020ed6b8: - .space 0x4 - .global data_ov00_020ed6bc -data_ov00_020ed6bc: - .space 0x4 - .global data_ov00_020ed6c0 -data_ov00_020ed6c0: - .space 0x4 - .global data_ov00_020ed6c4 -data_ov00_020ed6c4: - .space 0x4 - .global data_ov00_020ed6c8 -data_ov00_020ed6c8: - .space 0x4 - .global data_ov00_020ed6cc -data_ov00_020ed6cc: - .space 0x4 - .global data_ov00_020ed6d0 -data_ov00_020ed6d0: - .space 0x4 - .global data_ov00_020ed6d4 -data_ov00_020ed6d4: - .space 0x4 - .global data_ov00_020ed6d8 -data_ov00_020ed6d8: - .space 0x4 - .global data_ov00_020ed6dc -data_ov00_020ed6dc: - .space 0x4 - .global data_ov00_020ed6e0 -data_ov00_020ed6e0: - .space 0x4 - .global data_ov00_020ed6e4 -data_ov00_020ed6e4: - .space 0x4 - .global data_ov00_020ed6e8 -data_ov00_020ed6e8: - .space 0x4 - .global data_ov00_020ed6ec -data_ov00_020ed6ec: - .space 0x4 - .global data_ov00_020ed6f0 -data_ov00_020ed6f0: - .space 0x4 - .global data_ov00_020ed6f4 -data_ov00_020ed6f4: - .space 0x4 - .global data_ov00_020ed6f8 -data_ov00_020ed6f8: - .space 0x4 - .global data_ov00_020ed6fc -data_ov00_020ed6fc: - .space 0x4 - .global data_ov00_020ed700 -data_ov00_020ed700: - .space 0x4 - .global data_ov00_020ed704 -data_ov00_020ed704: - .space 0x4 - .global data_ov00_020ed708 -data_ov00_020ed708: - .space 0x4 - .global data_ov00_020ed70c -data_ov00_020ed70c: - .space 0x4 - .global data_ov00_020ed710 -data_ov00_020ed710: - .space 0x4 - .global data_ov00_020ed714 -data_ov00_020ed714: - .space 0x4 - .global data_ov00_020ed718 -data_ov00_020ed718: - .space 0x4 - .global data_ov00_020ed71c -data_ov00_020ed71c: - .space 0x4 - .global data_ov00_020ed720 -data_ov00_020ed720: - .space 0x4 - .global data_ov00_020ed724 -data_ov00_020ed724: - .space 0x4 - .global data_ov00_020ed728 -data_ov00_020ed728: - .space 0x4 - .global data_ov00_020ed72c -data_ov00_020ed72c: - .space 0x4 - .global data_ov00_020ed730 -data_ov00_020ed730: - .space 0x4 - .global data_ov00_020ed734 -data_ov00_020ed734: - .space 0x4 - .global data_ov00_020ed738 -data_ov00_020ed738: - .space 0x4 - .global data_ov00_020ed73c -data_ov00_020ed73c: - .space 0x4 - .global data_ov00_020ed740 -data_ov00_020ed740: - .space 0x4 - .global data_ov00_020ed744 -data_ov00_020ed744: - .space 0x4 - .global data_ov00_020ed748 -data_ov00_020ed748: - .space 0x4 - .global data_ov00_020ed74c -data_ov00_020ed74c: - .space 0x4 - .global data_ov00_020ed750 -data_ov00_020ed750: - .space 0x4 - .global data_ov00_020ed754 -data_ov00_020ed754: - .space 0x4 - .global data_ov00_020ed758 -data_ov00_020ed758: - .space 0x4 - .global data_ov00_020ed75c -data_ov00_020ed75c: - .space 0x4 - .global data_ov00_020ed760 -data_ov00_020ed760: - .space 0x4 - .global data_ov00_020ed764 -data_ov00_020ed764: - .space 0x4 - .global data_ov00_020ed768 -data_ov00_020ed768: - .space 0x4 - .global data_ov00_020ed76c -data_ov00_020ed76c: - .space 0x4 - .global data_ov00_020ed770 -data_ov00_020ed770: - .space 0x4 - .global data_ov00_020ed774 -data_ov00_020ed774: - .space 0x4 - .global data_ov00_020ed778 -data_ov00_020ed778: - .space 0x4 - .global data_ov00_020ed77c -data_ov00_020ed77c: - .space 0x4 - .global data_ov00_020ed780 -data_ov00_020ed780: - .space 0x4 - .global data_ov00_020ed784 -data_ov00_020ed784: - .space 0x4 - .global data_ov00_020ed788 -data_ov00_020ed788: - .space 0x4 - .global data_ov00_020ed78c -data_ov00_020ed78c: - .space 0x4 - .global data_ov00_020ed790 -data_ov00_020ed790: - .space 0x4 - .global data_ov00_020ed794 -data_ov00_020ed794: - .space 0x4 - .global data_ov00_020ed798 -data_ov00_020ed798: - .space 0x4 - .global data_ov00_020ed79c -data_ov00_020ed79c: - .space 0x4 - .global data_ov00_020ed7a0 -data_ov00_020ed7a0: - .space 0x4 - .global data_ov00_020ed7a4 -data_ov00_020ed7a4: - .space 0x4 - .global data_ov00_020ed7a8 -data_ov00_020ed7a8: - .space 0x4 - .global data_ov00_020ed7ac -data_ov00_020ed7ac: - .space 0x4 - .global data_ov00_020ed7b0 -data_ov00_020ed7b0: - .space 0x4 - .global data_ov00_020ed7b4 -data_ov00_020ed7b4: - .space 0x4 - .global data_ov00_020ed7b8 -data_ov00_020ed7b8: - .space 0x4 - .global data_ov00_020ed7bc -data_ov00_020ed7bc: - .space 0x4 - .global data_ov00_020ed7c0 -data_ov00_020ed7c0: - .space 0x4 - .global data_ov00_020ed7c4 -data_ov00_020ed7c4: - .space 0x4 - .global data_ov00_020ed7c8 -data_ov00_020ed7c8: - .space 0x4 - .global data_ov00_020ed7cc -data_ov00_020ed7cc: - .space 0x4 - .global data_ov00_020ed7d0 -data_ov00_020ed7d0: - .space 0x4 - .global data_ov00_020ed7d4 -data_ov00_020ed7d4: - .space 0x4 - .global data_ov00_020ed7d8 -data_ov00_020ed7d8: - .space 0x4 - .global data_ov00_020ed7dc -data_ov00_020ed7dc: - .space 0x4 - .global data_ov00_020ed7e0 -data_ov00_020ed7e0: - .space 0x4 - .global data_ov00_020ed7e4 -data_ov00_020ed7e4: - .space 0x4 - .global data_ov00_020ed7e8 -data_ov00_020ed7e8: - .space 0x4 - .global data_ov00_020ed7ec -data_ov00_020ed7ec: - .space 0x4 - .global data_ov00_020ed7f0 -data_ov00_020ed7f0: - .space 0x4 - .global data_ov00_020ed7f4 -data_ov00_020ed7f4: - .space 0x4 - .global data_ov00_020ed7f8 -data_ov00_020ed7f8: - .space 0x4 - .global data_ov00_020ed7fc -data_ov00_020ed7fc: - .space 0x4 - .global data_ov00_020ed800 -data_ov00_020ed800: - .space 0x4 - .global data_ov00_020ed804 -data_ov00_020ed804: - .space 0x4 - .global data_ov00_020ed808 -data_ov00_020ed808: - .space 0x4 - .global data_ov00_020ed80c -data_ov00_020ed80c: - .space 0x4 - .global data_ov00_020ed810 -data_ov00_020ed810: - .space 0x4 - .global data_ov00_020ed814 -data_ov00_020ed814: - .space 0x4 - .global data_ov00_020ed818 -data_ov00_020ed818: - .space 0x4 - .global data_ov00_020ed81c -data_ov00_020ed81c: - .space 0x4 - .global data_ov00_020ed820 -data_ov00_020ed820: - .space 0x4 - .global data_ov00_020ed824 -data_ov00_020ed824: - .space 0x4 - .global data_ov00_020ed828 -data_ov00_020ed828: - .space 0x4 - .global data_ov00_020ed82c -data_ov00_020ed82c: - .space 0x4 - .global data_ov00_020ed830 -data_ov00_020ed830: - .space 0x4 - .global data_ov00_020ed834 -data_ov00_020ed834: - .space 0x4 - .global data_ov00_020ed838 -data_ov00_020ed838: - .space 0x4 - .global data_ov00_020ed83c -data_ov00_020ed83c: - .space 0x4 - .global data_ov00_020ed840 -data_ov00_020ed840: - .space 0x4 - .global data_ov00_020ed844 -data_ov00_020ed844: - .space 0x4 - .global data_ov00_020ed848 -data_ov00_020ed848: - .space 0x4 - .global data_ov00_020ed84c -data_ov00_020ed84c: - .space 0x4 - .global data_ov00_020ed850 -data_ov00_020ed850: - .space 0x4 - .global data_ov00_020ed854 -data_ov00_020ed854: - .space 0x4 - .global data_ov00_020ed858 -data_ov00_020ed858: - .space 0x4 - .global data_ov00_020ed85c -data_ov00_020ed85c: - .space 0x4 - .global data_ov00_020ed860 -data_ov00_020ed860: - .space 0x4 - .global data_ov00_020ed864 -data_ov00_020ed864: - .space 0x4 - .global data_ov00_020ed868 -data_ov00_020ed868: - .space 0x4 - .global data_ov00_020ed86c -data_ov00_020ed86c: - .space 0x4 - .global data_ov00_020ed870 -data_ov00_020ed870: - .space 0x4 - .global data_ov00_020ed874 -data_ov00_020ed874: - .space 0x4 - .global data_ov00_020ed878 -data_ov00_020ed878: - .space 0x4 - .global data_ov00_020ed87c -data_ov00_020ed87c: - .space 0x4 - .global data_ov00_020ed880 -data_ov00_020ed880: - .space 0x4 - .global data_ov00_020ed884 -data_ov00_020ed884: - .space 0x4 - .global data_ov00_020ed888 -data_ov00_020ed888: - .space 0x4 - .global data_ov00_020ed88c -data_ov00_020ed88c: - .space 0x4 - .global data_ov00_020ed890 -data_ov00_020ed890: - .space 0x4 - .global data_ov00_020ed894 -data_ov00_020ed894: - .space 0x4 - .global data_ov00_020ed898 -data_ov00_020ed898: - .space 0x4 - .global data_ov00_020ed89c -data_ov00_020ed89c: - .space 0x4 - .global data_ov00_020ed8a0 -data_ov00_020ed8a0: - .space 0x4 - .global data_ov00_020ed8a4 -data_ov00_020ed8a4: - .space 0x4 - .global data_ov00_020ed8a8 -data_ov00_020ed8a8: - .space 0x4 - .global data_ov00_020ed8ac -data_ov00_020ed8ac: - .space 0x4 - .global data_ov00_020ed8b0 -data_ov00_020ed8b0: - .space 0x4 - .global data_ov00_020ed8b4 -data_ov00_020ed8b4: - .space 0x4 - .global data_ov00_020ed8b8 -data_ov00_020ed8b8: - .space 0x4 - .global data_ov00_020ed8bc -data_ov00_020ed8bc: - .space 0x4 - .global data_ov00_020ed8c0 -data_ov00_020ed8c0: - .space 0x4 - .global data_ov00_020ed8c4 -data_ov00_020ed8c4: - .space 0x4 - .global data_ov00_020ed8c8 -data_ov00_020ed8c8: - .space 0x4 - .global data_ov00_020ed8cc -data_ov00_020ed8cc: - .space 0x4 - .global data_ov00_020ed8d0 -data_ov00_020ed8d0: - .space 0x4 - .global data_ov00_020ed8d4 -data_ov00_020ed8d4: - .space 0x4 - .global data_ov00_020ed8d8 -data_ov00_020ed8d8: - .space 0x4 - .global data_ov00_020ed8dc -data_ov00_020ed8dc: - .space 0x4 - .global data_ov00_020ed8e0 -data_ov00_020ed8e0: - .space 0x4 - .global data_ov00_020ed8e4 -data_ov00_020ed8e4: - .space 0x4 - .global data_ov00_020ed8e8 -data_ov00_020ed8e8: - .space 0x4 - .global data_ov00_020ed8ec -data_ov00_020ed8ec: - .space 0x4 - .global data_ov00_020ed8f0 -data_ov00_020ed8f0: - .space 0x4 - .global data_ov00_020ed8f4 -data_ov00_020ed8f4: - .space 0x4 - .global data_ov00_020ed8f8 -data_ov00_020ed8f8: - .space 0x4 - .global data_ov00_020ed8fc -data_ov00_020ed8fc: - .space 0x4 - .global data_ov00_020ed900 -data_ov00_020ed900: - .space 0x4 - .global data_ov00_020ed904 -data_ov00_020ed904: - .space 0x4 - .global data_ov00_020ed908 -data_ov00_020ed908: - .space 0x4 - .global data_ov00_020ed90c -data_ov00_020ed90c: - .space 0x4 - .global data_ov00_020ed910 -data_ov00_020ed910: - .space 0x4 - .global data_ov00_020ed914 -data_ov00_020ed914: - .space 0x4 - .global data_ov00_020ed918 -data_ov00_020ed918: - .space 0x4 - .global data_ov00_020ed91c -data_ov00_020ed91c: - .space 0x4 - .global data_ov00_020ed920 -data_ov00_020ed920: - .space 0x4 - .global data_ov00_020ed924 -data_ov00_020ed924: - .space 0x4 - .global data_ov00_020ed928 -data_ov00_020ed928: - .space 0x4 - .global data_ov00_020ed92c -data_ov00_020ed92c: - .space 0x4 - .global data_ov00_020ed930 -data_ov00_020ed930: - .space 0x4 - .global data_ov00_020ed934 -data_ov00_020ed934: - .space 0x4 - .global data_ov00_020ed938 -data_ov00_020ed938: - .space 0x4 - .global data_ov00_020ed93c -data_ov00_020ed93c: - .space 0x4 - .global data_ov00_020ed940 -data_ov00_020ed940: - .space 0x4 - .global data_ov00_020ed944 -data_ov00_020ed944: - .space 0x4 - .global data_ov00_020ed948 -data_ov00_020ed948: - .space 0x4 - .global data_ov00_020ed94c -data_ov00_020ed94c: - .space 0x4 - .global data_ov00_020ed950 -data_ov00_020ed950: - .space 0x4 - .global data_ov00_020ed954 -data_ov00_020ed954: - .space 0x4 - .global data_ov00_020ed958 -data_ov00_020ed958: - .space 0x4 - .global data_ov00_020ed95c -data_ov00_020ed95c: - .space 0x4 - .global data_ov00_020ed960 -data_ov00_020ed960: - .space 0x4 - .global data_ov00_020ed964 -data_ov00_020ed964: - .space 0x4 - .global data_ov00_020ed968 -data_ov00_020ed968: - .space 0x4 - .global data_ov00_020ed96c -data_ov00_020ed96c: - .space 0x4 - .global data_ov00_020ed970 -data_ov00_020ed970: - .space 0x4 - .global data_ov00_020ed974 -data_ov00_020ed974: - .space 0x4 - .global data_ov00_020ed978 -data_ov00_020ed978: - .space 0x4 - .global data_ov00_020ed97c -data_ov00_020ed97c: - .space 0x4 - .global data_ov00_020ed980 -data_ov00_020ed980: - .space 0x4 - .global data_ov00_020ed984 -data_ov00_020ed984: - .space 0x4 - .global data_ov00_020ed988 -data_ov00_020ed988: - .space 0x4 - .global data_ov00_020ed98c -data_ov00_020ed98c: - .space 0x4 - .global data_ov00_020ed990 -data_ov00_020ed990: - .space 0x4 - .global data_ov00_020ed994 -data_ov00_020ed994: - .space 0x4 - .global data_ov00_020ed998 -data_ov00_020ed998: - .space 0x4 - .global data_ov00_020ed99c -data_ov00_020ed99c: - .space 0x4 - .global data_ov00_020ed9a0 -data_ov00_020ed9a0: - .space 0x4 - .global data_ov00_020ed9a4 -data_ov00_020ed9a4: - .space 0x4 - .global data_ov00_020ed9a8 -data_ov00_020ed9a8: - .space 0x4 - .global data_ov00_020ed9ac -data_ov00_020ed9ac: - .space 0x4 - .global data_ov00_020ed9b0 -data_ov00_020ed9b0: - .space 0x4 - .global data_ov00_020ed9b4 -data_ov00_020ed9b4: - .space 0x4 - .global data_ov00_020ed9b8 -data_ov00_020ed9b8: - .space 0x4 - .global data_ov00_020ed9bc -data_ov00_020ed9bc: - .space 0x4 - .global data_ov00_020ed9c0 -data_ov00_020ed9c0: - .space 0x4 - .global data_ov00_020ed9c4 -data_ov00_020ed9c4: - .space 0x4 - .global data_ov00_020ed9c8 -data_ov00_020ed9c8: - .space 0x4 - .global data_ov00_020ed9cc -data_ov00_020ed9cc: - .space 0x4 - .global data_ov00_020ed9d0 -data_ov00_020ed9d0: - .space 0x4 - .global data_ov00_020ed9d4 -data_ov00_020ed9d4: - .space 0x4 - .global data_ov00_020ed9d8 -data_ov00_020ed9d8: - .space 0x4 - .global data_ov00_020ed9dc -data_ov00_020ed9dc: - .space 0x4 - .global data_ov00_020ed9e0 -data_ov00_020ed9e0: - .space 0x4 - .global data_ov00_020ed9e4 -data_ov00_020ed9e4: - .space 0x4 - .global data_ov00_020ed9e8 -data_ov00_020ed9e8: - .space 0x4 - .global data_ov00_020ed9ec -data_ov00_020ed9ec: - .space 0x4 - .global data_ov00_020ed9f0 -data_ov00_020ed9f0: - .space 0x4 - .global data_ov00_020ed9f4 -data_ov00_020ed9f4: - .space 0x4 - .global data_ov00_020ed9f8 -data_ov00_020ed9f8: - .space 0x4 - .global data_ov00_020ed9fc -data_ov00_020ed9fc: - .space 0x4 - .global data_ov00_020eda00 -data_ov00_020eda00: - .space 0x4 - .global data_ov00_020eda04 -data_ov00_020eda04: - .space 0x4 - .global data_ov00_020eda08 -data_ov00_020eda08: - .space 0x4 - .global data_ov00_020eda0c -data_ov00_020eda0c: - .space 0x4 - .global data_ov00_020eda10 -data_ov00_020eda10: - .space 0x4 - .global data_ov00_020eda14 -data_ov00_020eda14: - .space 0x4 - .global data_ov00_020eda18 -data_ov00_020eda18: - .space 0x4 - .global data_ov00_020eda1c -data_ov00_020eda1c: - .space 0x4 - .global data_ov00_020eda20 -data_ov00_020eda20: - .space 0x4 - .global data_ov00_020eda24 -data_ov00_020eda24: - .space 0x4 - .global data_ov00_020eda28 -data_ov00_020eda28: - .space 0x4 - .global data_ov00_020eda2c -data_ov00_020eda2c: - .space 0x4 - .global data_ov00_020eda30 -data_ov00_020eda30: - .space 0x4 - .global data_ov00_020eda34 -data_ov00_020eda34: - .space 0x4 - .global data_ov00_020eda38 -data_ov00_020eda38: - .space 0x4 - .global data_ov00_020eda3c -data_ov00_020eda3c: - .space 0x4 - .global data_ov00_020eda40 -data_ov00_020eda40: - .space 0x4 - .global data_ov00_020eda44 -data_ov00_020eda44: - .space 0x4 - .global data_ov00_020eda48 -data_ov00_020eda48: - .space 0x4 - .global data_ov00_020eda4c -data_ov00_020eda4c: - .space 0x4 - .global data_ov00_020eda50 -data_ov00_020eda50: - .space 0x4 - .global data_ov00_020eda54 -data_ov00_020eda54: - .space 0x4 - .global data_ov00_020eda58 -data_ov00_020eda58: - .space 0x4 - .global data_ov00_020eda5c -data_ov00_020eda5c: - .space 0x4 - .global data_ov00_020eda60 -data_ov00_020eda60: - .space 0x4 - .global data_ov00_020eda64 -data_ov00_020eda64: - .space 0x4 - .global data_ov00_020eda68 -data_ov00_020eda68: - .space 0x4 - .global data_ov00_020eda6c -data_ov00_020eda6c: - .space 0x4 - .global data_ov00_020eda70 -data_ov00_020eda70: - .space 0x4 - .global data_ov00_020eda74 -data_ov00_020eda74: - .space 0x4 - .global data_ov00_020eda78 -data_ov00_020eda78: - .space 0x4 - .global data_ov00_020eda7c -data_ov00_020eda7c: - .space 0x4 - .global data_ov00_020eda80 -data_ov00_020eda80: - .space 0x4 - .global data_ov00_020eda84 -data_ov00_020eda84: - .space 0x4 - .global data_ov00_020eda88 -data_ov00_020eda88: - .space 0x4 - .global data_ov00_020eda8c -data_ov00_020eda8c: - .space 0x4 - .global data_ov00_020eda90 -data_ov00_020eda90: - .space 0x4 - .global data_ov00_020eda94 -data_ov00_020eda94: - .space 0x4 - .global data_ov00_020eda98 -data_ov00_020eda98: - .space 0x4 - .global data_ov00_020eda9c -data_ov00_020eda9c: - .space 0x4 - .global data_ov00_020edaa0 -data_ov00_020edaa0: - .space 0x4 - .global data_ov00_020edaa4 -data_ov00_020edaa4: - .space 0x4 - .global data_ov00_020edaa8 -data_ov00_020edaa8: - .space 0x4 - .global data_ov00_020edaac -data_ov00_020edaac: - .space 0x4 - .global data_ov00_020edab0 -data_ov00_020edab0: - .space 0x4 - .global data_ov00_020edab4 -data_ov00_020edab4: - .space 0x4 - .global data_ov00_020edab8 -data_ov00_020edab8: - .space 0x4 - .global data_ov00_020edabc -data_ov00_020edabc: - .space 0x4 - .global data_ov00_020edac0 -data_ov00_020edac0: - .space 0x4 - .global data_ov00_020edac4 -data_ov00_020edac4: - .space 0x4 - .global data_ov00_020edac8 -data_ov00_020edac8: - .space 0x4 - .global data_ov00_020edacc -data_ov00_020edacc: - .space 0x4 - .global data_ov00_020edad0 -data_ov00_020edad0: - .space 0x4 - .global data_ov00_020edad4 -data_ov00_020edad4: - .space 0x4 - .global data_ov00_020edad8 -data_ov00_020edad8: - .space 0x4 - .global data_ov00_020edadc -data_ov00_020edadc: - .space 0x4 - .global data_ov00_020edae0 -data_ov00_020edae0: - .space 0x4 - .global data_ov00_020edae4 -data_ov00_020edae4: - .space 0x4 - .global data_ov00_020edae8 -data_ov00_020edae8: - .space 0x4 - .global data_ov00_020edaec -data_ov00_020edaec: - .space 0x4 - .global data_ov00_020edaf0 -data_ov00_020edaf0: - .space 0x4 - .global data_ov00_020edaf4 -data_ov00_020edaf4: - .space 0x4 - .global data_ov00_020edaf8 -data_ov00_020edaf8: - .space 0x4 - .global data_ov00_020edafc -data_ov00_020edafc: - .space 0x4 - .global data_ov00_020edb00 -data_ov00_020edb00: - .space 0x4 - .global data_ov00_020edb04 -data_ov00_020edb04: - .space 0x4 - .global data_ov00_020edb08 -data_ov00_020edb08: - .space 0x4 - .global data_ov00_020edb0c -data_ov00_020edb0c: - .space 0x4 - .global data_ov00_020edb10 -data_ov00_020edb10: - .space 0x4 - .global data_ov00_020edb14 -data_ov00_020edb14: - .space 0x4 - .global data_ov00_020edb18 -data_ov00_020edb18: - .space 0x4 - .global data_ov00_020edb1c -data_ov00_020edb1c: - .space 0x4 - .global data_ov00_020edb20 -data_ov00_020edb20: - .space 0x4 - .global data_ov00_020edb24 -data_ov00_020edb24: - .space 0x4 - .global data_ov00_020edb28 -data_ov00_020edb28: - .space 0x4 - .global data_ov00_020edb2c -data_ov00_020edb2c: - .space 0x4 - .global data_ov00_020edb30 -data_ov00_020edb30: - .space 0x4 - .global data_ov00_020edb34 -data_ov00_020edb34: - .space 0x4 - .global data_ov00_020edb38 -data_ov00_020edb38: - .space 0x4 - .global data_ov00_020edb3c -data_ov00_020edb3c: - .space 0x4 - .global data_ov00_020edb40 -data_ov00_020edb40: - .space 0x4 - .global data_ov00_020edb44 -data_ov00_020edb44: - .space 0x4 - .global data_ov00_020edb48 -data_ov00_020edb48: - .space 0x4 - .global data_ov00_020edb4c -data_ov00_020edb4c: - .space 0x4 - .global data_ov00_020edb50 -data_ov00_020edb50: - .space 0x4 - .global data_ov00_020edb54 -data_ov00_020edb54: - .space 0x4 - .global data_ov00_020edb58 -data_ov00_020edb58: - .space 0x4 - .global data_ov00_020edb5c -data_ov00_020edb5c: - .space 0x4 - .global data_ov00_020edb60 -data_ov00_020edb60: - .space 0x4 - .global data_ov00_020edb64 -data_ov00_020edb64: - .space 0x4 - .global data_ov00_020edb68 -data_ov00_020edb68: - .space 0x4 - .global data_ov00_020edb6c -data_ov00_020edb6c: - .space 0x4 - .global data_ov00_020edb70 -data_ov00_020edb70: - .space 0x4 - .global data_ov00_020edb74 -data_ov00_020edb74: - .space 0x4 - .global data_ov00_020edb78 -data_ov00_020edb78: - .space 0x4 - .global data_ov00_020edb7c -data_ov00_020edb7c: - .space 0x4 - .global data_ov00_020edb80 -data_ov00_020edb80: - .space 0x4 - .global data_ov00_020edb84 -data_ov00_020edb84: - .space 0x4 - .global data_ov00_020edb88 -data_ov00_020edb88: - .space 0x4 - .global data_ov00_020edb8c -data_ov00_020edb8c: - .space 0x4 - .global data_ov00_020edb90 -data_ov00_020edb90: - .space 0x4 - .global data_ov00_020edb94 -data_ov00_020edb94: - .space 0x4 - .global data_ov00_020edb98 -data_ov00_020edb98: - .space 0x4 - .global data_ov00_020edb9c -data_ov00_020edb9c: - .space 0x4 - .global data_ov00_020edba0 -data_ov00_020edba0: - .space 0x4 - .global data_ov00_020edba4 -data_ov00_020edba4: - .space 0x4 - .global data_ov00_020edba8 -data_ov00_020edba8: - .space 0x4 - .global data_ov00_020edbac -data_ov00_020edbac: - .space 0x4 - .global data_ov00_020edbb0 -data_ov00_020edbb0: - .space 0x4 - .global data_ov00_020edbb4 -data_ov00_020edbb4: - .space 0x4 - .global data_ov00_020edbb8 -data_ov00_020edbb8: - .space 0x4 - .global data_ov00_020edbbc -data_ov00_020edbbc: - .space 0x4 - .global data_ov00_020edbc0 -data_ov00_020edbc0: - .space 0x4 - .global data_ov00_020edbc4 -data_ov00_020edbc4: - .space 0x4 - .global data_ov00_020edbc8 -data_ov00_020edbc8: - .space 0x4 - .global data_ov00_020edbcc -data_ov00_020edbcc: - .space 0x4 - .global data_ov00_020edbd0 -data_ov00_020edbd0: - .space 0x4 - .global data_ov00_020edbd4 -data_ov00_020edbd4: - .space 0x4 - .global data_ov00_020edbd8 -data_ov00_020edbd8: - .space 0x4 - .global data_ov00_020edbdc -data_ov00_020edbdc: - .space 0x4 - .global data_ov00_020edbe0 -data_ov00_020edbe0: - .space 0x4 - .global data_ov00_020edbe4 -data_ov00_020edbe4: - .space 0x4 - .global data_ov00_020edbe8 -data_ov00_020edbe8: - .space 0x4 - .global data_ov00_020edbec -data_ov00_020edbec: - .space 0x4 - .global data_ov00_020edbf0 -data_ov00_020edbf0: - .space 0x4 - .global data_ov00_020edbf4 -data_ov00_020edbf4: - .space 0x4 - .global data_ov00_020edbf8 -data_ov00_020edbf8: - .space 0x4 - .global data_ov00_020edbfc -data_ov00_020edbfc: - .space 0x4 - .global data_ov00_020edc00 -data_ov00_020edc00: - .space 0x4 - .global data_ov00_020edc04 -data_ov00_020edc04: - .space 0x4 - .global data_ov00_020edc08 -data_ov00_020edc08: - .space 0x4 - .global data_ov00_020edc0c -data_ov00_020edc0c: - .space 0x4 - .global data_ov00_020edc10 -data_ov00_020edc10: - .space 0x4 - .global data_ov00_020edc14 -data_ov00_020edc14: - .space 0x4 - .global data_ov00_020edc18 -data_ov00_020edc18: - .space 0x4 - .global data_ov00_020edc1c -data_ov00_020edc1c: - .space 0x4 - .global data_ov00_020edc20 -data_ov00_020edc20: - .space 0x4 - .global data_ov00_020edc24 -data_ov00_020edc24: - .space 0x4 - .global data_ov00_020edc28 -data_ov00_020edc28: - .space 0x4 - .global data_ov00_020edc2c -data_ov00_020edc2c: - .space 0x4 - .global data_ov00_020edc30 -data_ov00_020edc30: - .space 0x4 - .global data_ov00_020edc34 -data_ov00_020edc34: - .space 0x4 - .global data_ov00_020edc38 -data_ov00_020edc38: - .space 0x4 - .global data_ov00_020edc3c -data_ov00_020edc3c: - .space 0x4 - .global data_ov00_020edc40 -data_ov00_020edc40: - .space 0x4 - .global data_ov00_020edc44 -data_ov00_020edc44: - .space 0x4 - .global data_ov00_020edc48 -data_ov00_020edc48: - .space 0x4 - .global data_ov00_020edc4c -data_ov00_020edc4c: - .space 0x4 - .global data_ov00_020edc50 -data_ov00_020edc50: - .space 0x4 - .global data_ov00_020edc54 -data_ov00_020edc54: - .space 0x4 - .global data_ov00_020edc58 -data_ov00_020edc58: - .space 0x4 - .global data_ov00_020edc5c -data_ov00_020edc5c: - .space 0x4 - .global data_ov00_020edc60 -data_ov00_020edc60: - .space 0x4 - .global data_ov00_020edc64 -data_ov00_020edc64: - .space 0x4 - .global data_ov00_020edc68 -data_ov00_020edc68: - .space 0x4 - .global data_ov00_020edc6c -data_ov00_020edc6c: - .space 0x4 - .global data_ov00_020edc70 -data_ov00_020edc70: - .space 0x4 - .global data_ov00_020edc74 -data_ov00_020edc74: - .space 0x4 - .global data_ov00_020edc78 -data_ov00_020edc78: - .space 0x4 - .global data_ov00_020edc7c -data_ov00_020edc7c: - .space 0x4 - .global data_ov00_020edc80 -data_ov00_020edc80: - .space 0x4 - .global data_ov00_020edc84 -data_ov00_020edc84: - .space 0x4 - .global data_ov00_020edc88 -data_ov00_020edc88: - .space 0x4 - .global data_ov00_020edc8c -data_ov00_020edc8c: - .space 0x4 - .global data_ov00_020edc90 -data_ov00_020edc90: - .space 0x4 - .global data_ov00_020edc94 -data_ov00_020edc94: - .space 0x4 - .global data_ov00_020edc98 -data_ov00_020edc98: - .space 0x4 - .global data_ov00_020edc9c -data_ov00_020edc9c: - .space 0x4 - .global data_ov00_020edca0 -data_ov00_020edca0: - .space 0x4 - .global data_ov00_020edca4 -data_ov00_020edca4: - .space 0x4 - .global data_ov00_020edca8 -data_ov00_020edca8: - .space 0x4 - .global data_ov00_020edcac -data_ov00_020edcac: - .space 0x4 - .global data_ov00_020edcb0 -data_ov00_020edcb0: - .space 0x4 - .global data_ov00_020edcb4 -data_ov00_020edcb4: - .space 0x4 - .global data_ov00_020edcb8 -data_ov00_020edcb8: - .space 0x4 - .global data_ov00_020edcbc -data_ov00_020edcbc: - .space 0x4 - .global data_ov00_020edcc0 -data_ov00_020edcc0: - .space 0x4 - .global data_ov00_020edcc4 -data_ov00_020edcc4: - .space 0x4 - .global data_ov00_020edcc8 -data_ov00_020edcc8: - .space 0x4 - .global data_ov00_020edccc -data_ov00_020edccc: - .space 0x4 - .global data_ov00_020edcd0 -data_ov00_020edcd0: - .space 0x4 - .global data_ov00_020edcd4 -data_ov00_020edcd4: - .space 0x4 - .global data_ov00_020edcd8 -data_ov00_020edcd8: - .space 0x4 - .global data_ov00_020edcdc -data_ov00_020edcdc: - .space 0x4 - .global data_ov00_020edce0 -data_ov00_020edce0: - .space 0x4 - .global data_ov00_020edce4 -data_ov00_020edce4: - .space 0x4 - .global data_ov00_020edce8 -data_ov00_020edce8: - .space 0x4 - .global data_ov00_020edcec -data_ov00_020edcec: - .space 0x4 - .global data_ov00_020edcf0 -data_ov00_020edcf0: - .space 0x4 - .global data_ov00_020edcf4 -data_ov00_020edcf4: - .space 0x4 - .global data_ov00_020edcf8 -data_ov00_020edcf8: - .space 0x4 - .global data_ov00_020edcfc -data_ov00_020edcfc: - .space 0x4 - .global data_ov00_020edd00 -data_ov00_020edd00: - .space 0x4 - .global data_ov00_020edd04 -data_ov00_020edd04: - .space 0x4 - .global data_ov00_020edd08 -data_ov00_020edd08: - .space 0x4 - .global data_ov00_020edd0c -data_ov00_020edd0c: - .space 0x4 - .global data_ov00_020edd10 -data_ov00_020edd10: - .space 0x4 - .global data_ov00_020edd14 -data_ov00_020edd14: - .space 0x4 - .global data_ov00_020edd18 -data_ov00_020edd18: - .space 0x4 - .global data_ov00_020edd1c -data_ov00_020edd1c: - .space 0x4 - .global data_ov00_020edd20 -data_ov00_020edd20: - .space 0x4 - .global data_ov00_020edd24 -data_ov00_020edd24: - .space 0x4 - .global data_ov00_020edd28 -data_ov00_020edd28: - .space 0x4 - .global data_ov00_020edd2c -data_ov00_020edd2c: - .space 0x4 - .global data_ov00_020edd30 -data_ov00_020edd30: - .space 0x4 - .global data_ov00_020edd34 -data_ov00_020edd34: - .space 0x4 - .global data_ov00_020edd38 -data_ov00_020edd38: - .space 0x4 - .global data_ov00_020edd3c -data_ov00_020edd3c: - .space 0x4 - .global data_ov00_020edd40 -data_ov00_020edd40: - .space 0x4 - .global data_ov00_020edd44 -data_ov00_020edd44: - .space 0x4 - .global data_ov00_020edd48 -data_ov00_020edd48: - .space 0x4 - .global data_ov00_020edd4c -data_ov00_020edd4c: - .space 0x4 - .global data_ov00_020edd50 -data_ov00_020edd50: - .space 0x4 - .global data_ov00_020edd54 -data_ov00_020edd54: - .space 0x4 - .global data_ov00_020edd58 -data_ov00_020edd58: - .space 0x4 - .global data_ov00_020edd5c -data_ov00_020edd5c: - .space 0x4 - .global data_ov00_020edd60 -data_ov00_020edd60: - .space 0x4 - .global data_ov00_020edd64 -data_ov00_020edd64: - .space 0x4 - .global data_ov00_020edd68 -data_ov00_020edd68: - .space 0x4 - .global data_ov00_020edd6c -data_ov00_020edd6c: - .space 0x4 - .global data_ov00_020edd70 -data_ov00_020edd70: - .space 0x4 - .global data_ov00_020edd74 -data_ov00_020edd74: - .space 0x4 - .global data_ov00_020edd78 -data_ov00_020edd78: - .space 0x4 - .global data_ov00_020edd7c -data_ov00_020edd7c: - .space 0x4 - .global data_ov00_020edd80 -data_ov00_020edd80: - .space 0x4 - .global data_ov00_020edd84 -data_ov00_020edd84: - .space 0x4 - .global data_ov00_020edd88 -data_ov00_020edd88: - .space 0x4 - .global data_ov00_020edd8c -data_ov00_020edd8c: - .space 0x4 - .global data_ov00_020edd90 -data_ov00_020edd90: - .space 0x4 - .global data_ov00_020edd94 -data_ov00_020edd94: - .space 0x4 - .global data_ov00_020edd98 -data_ov00_020edd98: - .space 0x4 - .global data_ov00_020edd9c -data_ov00_020edd9c: - .space 0x4 - .global data_ov00_020edda0 -data_ov00_020edda0: - .space 0x4 - .global data_ov00_020edda4 -data_ov00_020edda4: - .space 0x4 - .global data_ov00_020edda8 -data_ov00_020edda8: - .space 0x4 - .global data_ov00_020eddac -data_ov00_020eddac: - .space 0x4 - .global data_ov00_020eddb0 -data_ov00_020eddb0: - .space 0x4 - .global data_ov00_020eddb4 -data_ov00_020eddb4: - .space 0x4 - .global data_ov00_020eddb8 -data_ov00_020eddb8: - .space 0x4 - .global data_ov00_020eddbc -data_ov00_020eddbc: - .space 0x4 - .global data_ov00_020eddc0 -data_ov00_020eddc0: - .space 0x4 - .global data_ov00_020eddc4 -data_ov00_020eddc4: - .space 0x4 - .global data_ov00_020eddc8 -data_ov00_020eddc8: - .space 0x4 - .global data_ov00_020eddcc -data_ov00_020eddcc: - .space 0x4 - .global data_ov00_020eddd0 -data_ov00_020eddd0: - .space 0x4 - .global data_ov00_020eddd4 -data_ov00_020eddd4: - .space 0x4 - .global data_ov00_020eddd8 -data_ov00_020eddd8: - .space 0x4 - .global data_ov00_020edddc -data_ov00_020edddc: - .space 0x4 - .global data_ov00_020edde0 -data_ov00_020edde0: - .space 0x4 - .global data_ov00_020edde4 -data_ov00_020edde4: - .space 0x4 - .global data_ov00_020edde8 -data_ov00_020edde8: - .space 0x4 - .global data_ov00_020eddec -data_ov00_020eddec: - .space 0x4 - .global data_ov00_020eddf0 -data_ov00_020eddf0: - .space 0x4 - .global data_ov00_020eddf4 -data_ov00_020eddf4: - .space 0x4 - .global data_ov00_020eddf8 -data_ov00_020eddf8: - .space 0x4 - .global data_ov00_020eddfc -data_ov00_020eddfc: - .space 0x4 - .global data_ov00_020ede00 -data_ov00_020ede00: - .space 0x4 - .global data_ov00_020ede04 -data_ov00_020ede04: - .space 0x4 - .global data_ov00_020ede08 -data_ov00_020ede08: - .space 0x4 - .global data_ov00_020ede0c -data_ov00_020ede0c: - .space 0x4 - .global data_ov00_020ede10 -data_ov00_020ede10: - .space 0x4 - .global data_ov00_020ede14 -data_ov00_020ede14: - .space 0x4 - .global data_ov00_020ede18 -data_ov00_020ede18: - .space 0x4 - .global data_ov00_020ede1c -data_ov00_020ede1c: - .space 0x4 - .global data_ov00_020ede20 -data_ov00_020ede20: - .space 0x4 - .global data_ov00_020ede24 -data_ov00_020ede24: - .space 0x4 - .global data_ov00_020ede28 -data_ov00_020ede28: - .space 0x4 - .global data_ov00_020ede2c -data_ov00_020ede2c: - .space 0x4 - .global data_ov00_020ede30 -data_ov00_020ede30: - .space 0x4 - .global data_ov00_020ede34 -data_ov00_020ede34: - .space 0x4 - .global data_ov00_020ede38 -data_ov00_020ede38: - .space 0x4 - .global data_ov00_020ede3c -data_ov00_020ede3c: - .space 0x4 - .global data_ov00_020ede40 -data_ov00_020ede40: - .space 0x4 - .global data_ov00_020ede44 -data_ov00_020ede44: - .space 0x4 - .global data_ov00_020ede48 -data_ov00_020ede48: - .space 0x4 - .global data_ov00_020ede4c -data_ov00_020ede4c: - .space 0x4 - .global data_ov00_020ede50 -data_ov00_020ede50: - .space 0x4 - .global data_ov00_020ede54 -data_ov00_020ede54: - .space 0x4 - .global data_ov00_020ede58 -data_ov00_020ede58: - .space 0x4 - .global data_ov00_020ede5c -data_ov00_020ede5c: - .space 0x4 - .global data_ov00_020ede60 -data_ov00_020ede60: - .space 0x4 - .global data_ov00_020ede64 -data_ov00_020ede64: - .space 0x4 - .global data_ov00_020ede68 -data_ov00_020ede68: - .space 0x4 - .global data_ov00_020ede6c -data_ov00_020ede6c: - .space 0x4 - .global data_ov00_020ede70 -data_ov00_020ede70: - .space 0x4 - .global data_ov00_020ede74 -data_ov00_020ede74: - .space 0x4 - .global data_ov00_020ede78 -data_ov00_020ede78: - .space 0x4 - .global data_ov00_020ede7c -data_ov00_020ede7c: - .space 0x4 - .global data_ov00_020ede80 -data_ov00_020ede80: - .space 0x4 - .global data_ov00_020ede84 -data_ov00_020ede84: - .space 0x4 - .global data_ov00_020ede88 -data_ov00_020ede88: - .space 0x4 - .global data_ov00_020ede8c -data_ov00_020ede8c: - .space 0x4 - .global data_ov00_020ede90 -data_ov00_020ede90: - .space 0x4 - .global data_ov00_020ede94 -data_ov00_020ede94: - .space 0x4 - .global data_ov00_020ede98 -data_ov00_020ede98: - .space 0x4 - .global data_ov00_020ede9c -data_ov00_020ede9c: - .space 0x4 - .global data_ov00_020edea0 -data_ov00_020edea0: - .space 0x4 - .global data_ov00_020edea4 -data_ov00_020edea4: - .space 0x4 - .global data_ov00_020edea8 -data_ov00_020edea8: - .space 0x4 - .global data_ov00_020edeac -data_ov00_020edeac: - .space 0x4 - .global data_ov00_020edeb0 -data_ov00_020edeb0: - .space 0x4 - .global data_ov00_020edeb4 -data_ov00_020edeb4: - .space 0x4 - .global data_ov00_020edeb8 -data_ov00_020edeb8: - .space 0x4 - .global data_ov00_020edebc -data_ov00_020edebc: - .space 0x4 - .global data_ov00_020edec0 -data_ov00_020edec0: - .space 0x4 - .global data_ov00_020edec4 -data_ov00_020edec4: - .space 0x4 - .global data_ov00_020edec8 -data_ov00_020edec8: - .space 0x4 - .global data_ov00_020edecc -data_ov00_020edecc: - .space 0x4 - .global data_ov00_020eded0 -data_ov00_020eded0: - .space 0x4 - .global data_ov00_020eded4 -data_ov00_020eded4: - .space 0x4 - .global data_ov00_020eded8 -data_ov00_020eded8: - .space 0x4 - .global data_ov00_020ededc -data_ov00_020ededc: - .space 0x4 - .global data_ov00_020edee0 -data_ov00_020edee0: - .space 0x4 - .global data_ov00_020edee4 -data_ov00_020edee4: - .space 0x4 - .global data_ov00_020edee8 -data_ov00_020edee8: - .space 0x4 - .global data_ov00_020edeec -data_ov00_020edeec: - .space 0x4 - .global data_ov00_020edef0 -data_ov00_020edef0: - .space 0x4 - .global data_ov00_020edef4 -data_ov00_020edef4: - .space 0x4 - .global data_ov00_020edef8 -data_ov00_020edef8: - .space 0x4 - .global data_ov00_020edefc -data_ov00_020edefc: - .space 0x4 - .global data_ov00_020edf00 -data_ov00_020edf00: - .space 0x4 - .global data_ov00_020edf04 -data_ov00_020edf04: - .space 0x4 - .global data_ov00_020edf08 -data_ov00_020edf08: - .space 0x4 - .global data_ov00_020edf0c -data_ov00_020edf0c: - .space 0x4 - .global data_ov00_020edf10 -data_ov00_020edf10: - .space 0x4 - .global data_ov00_020edf14 -data_ov00_020edf14: - .space 0x4 - .global data_ov00_020edf18 -data_ov00_020edf18: - .space 0x4 - .global data_ov00_020edf1c -data_ov00_020edf1c: - .space 0x4 - .global data_ov00_020edf20 -data_ov00_020edf20: - .space 0x4 - .global data_ov00_020edf24 -data_ov00_020edf24: - .space 0x4 - .global data_ov00_020edf28 -data_ov00_020edf28: - .space 0x4 - .global data_ov00_020edf2c -data_ov00_020edf2c: - .space 0x4 - .global data_ov00_020edf30 -data_ov00_020edf30: - .space 0x4 - .global data_ov00_020edf34 -data_ov00_020edf34: - .space 0x4 - .global data_ov00_020edf38 -data_ov00_020edf38: - .space 0x4 - .global data_ov00_020edf3c -data_ov00_020edf3c: - .space 0x4 - .global data_ov00_020edf40 -data_ov00_020edf40: - .space 0x4 - .global data_ov00_020edf44 -data_ov00_020edf44: - .space 0x4 - .global data_ov00_020edf48 -data_ov00_020edf48: - .space 0x4 - .global data_ov00_020edf4c -data_ov00_020edf4c: - .space 0x4 - .global data_ov00_020edf50 -data_ov00_020edf50: - .space 0x4 - .global data_ov00_020edf54 -data_ov00_020edf54: - .space 0x4 - .global data_ov00_020edf58 -data_ov00_020edf58: - .space 0x4 - .global data_ov00_020edf5c -data_ov00_020edf5c: - .space 0x4 - .global data_ov00_020edf60 -data_ov00_020edf60: - .space 0x4 - .global data_ov00_020edf64 -data_ov00_020edf64: - .space 0x4 - .global data_ov00_020edf68 -data_ov00_020edf68: - .space 0x4 - .global data_ov00_020edf6c -data_ov00_020edf6c: - .space 0x4 - .global data_ov00_020edf70 -data_ov00_020edf70: - .space 0x4 - .global data_ov00_020edf74 -data_ov00_020edf74: - .space 0x4 - .global data_ov00_020edf78 -data_ov00_020edf78: - .space 0x4 - .global data_ov00_020edf7c -data_ov00_020edf7c: - .space 0x4 - .global data_ov00_020edf80 -data_ov00_020edf80: - .space 0x4 - .global data_ov00_020edf84 -data_ov00_020edf84: - .space 0x4 - .global data_ov00_020edf88 -data_ov00_020edf88: - .space 0x4 - .global data_ov00_020edf8c -data_ov00_020edf8c: - .space 0x4 - .global data_ov00_020edf90 -data_ov00_020edf90: - .space 0x4 - .global data_ov00_020edf94 -data_ov00_020edf94: - .space 0x4 - .global data_ov00_020edf98 -data_ov00_020edf98: - .space 0x4 - .global data_ov00_020edf9c -data_ov00_020edf9c: - .space 0x4 - .global data_ov00_020edfa0 -data_ov00_020edfa0: - .space 0x4 - .global data_ov00_020edfa4 -data_ov00_020edfa4: - .space 0x4 - .global data_ov00_020edfa8 -data_ov00_020edfa8: - .space 0x4 - .global data_ov00_020edfac -data_ov00_020edfac: - .space 0x4 - .global data_ov00_020edfb0 -data_ov00_020edfb0: - .space 0x4 - .global data_ov00_020edfb4 -data_ov00_020edfb4: - .space 0x4 - .global data_ov00_020edfb8 -data_ov00_020edfb8: - .space 0x4 - .global data_ov00_020edfbc -data_ov00_020edfbc: - .space 0x4 - .global data_ov00_020edfc0 -data_ov00_020edfc0: - .space 0x4 - .global data_ov00_020edfc4 -data_ov00_020edfc4: - .space 0x4 - .global data_ov00_020edfc8 -data_ov00_020edfc8: - .space 0x4 - .global data_ov00_020edfcc -data_ov00_020edfcc: - .space 0x4 - .global data_ov00_020edfd0 -data_ov00_020edfd0: - .space 0x4 - .global data_ov00_020edfd4 -data_ov00_020edfd4: - .space 0x4 - .global data_ov00_020edfd8 -data_ov00_020edfd8: - .space 0x4 - .global data_ov00_020edfdc -data_ov00_020edfdc: - .space 0x4 - .global data_ov00_020edfe0 -data_ov00_020edfe0: - .space 0x4 - .global data_ov00_020edfe4 -data_ov00_020edfe4: - .space 0x4 - .global data_ov00_020edfe8 -data_ov00_020edfe8: - .space 0x4 - .global data_ov00_020edfec -data_ov00_020edfec: - .space 0x4 - .global data_ov00_020edff0 -data_ov00_020edff0: - .space 0x4 - .global data_ov00_020edff4 -data_ov00_020edff4: - .space 0x4 - .global data_ov00_020edff8 -data_ov00_020edff8: - .space 0x4 - .global data_ov00_020edffc -data_ov00_020edffc: - .space 0x4 - .global data_ov00_020ee000 -data_ov00_020ee000: - .space 0x4 - .global data_ov00_020ee004 -data_ov00_020ee004: - .space 0x4 - .global data_ov00_020ee008 -data_ov00_020ee008: - .space 0x4 - .global data_ov00_020ee00c -data_ov00_020ee00c: - .space 0x4 - .global data_ov00_020ee010 -data_ov00_020ee010: - .space 0x4 - .global data_ov00_020ee014 -data_ov00_020ee014: - .space 0x4 - .global data_ov00_020ee018 -data_ov00_020ee018: - .space 0x4 - .global data_ov00_020ee01c -data_ov00_020ee01c: - .space 0x4 - .global data_ov00_020ee020 -data_ov00_020ee020: - .space 0x4 - .global data_ov00_020ee024 -data_ov00_020ee024: - .space 0x4 - .global data_ov00_020ee028 -data_ov00_020ee028: - .space 0x4 - .global data_ov00_020ee02c -data_ov00_020ee02c: - .space 0x4 - .global data_ov00_020ee030 -data_ov00_020ee030: - .space 0x4 - .global data_ov00_020ee034 -data_ov00_020ee034: - .space 0x4 - .global data_ov00_020ee038 -data_ov00_020ee038: - .space 0x4 - .global data_ov00_020ee03c -data_ov00_020ee03c: - .space 0x4 - .global data_ov00_020ee040 -data_ov00_020ee040: - .space 0x4 - .global data_ov00_020ee044 -data_ov00_020ee044: - .space 0x4 - .global data_ov00_020ee048 -data_ov00_020ee048: - .space 0x4 - .global data_ov00_020ee04c -data_ov00_020ee04c: - .space 0x4 - .global data_ov00_020ee050 -data_ov00_020ee050: - .space 0x4 - .global data_ov00_020ee054 -data_ov00_020ee054: - .space 0x4 - .global data_ov00_020ee058 -data_ov00_020ee058: - .space 0x4 - .global data_ov00_020ee05c -data_ov00_020ee05c: - .space 0x4 - .global data_ov00_020ee060 -data_ov00_020ee060: - .space 0x4 - .global data_ov00_020ee064 -data_ov00_020ee064: - .space 0x4 - .global data_ov00_020ee068 -data_ov00_020ee068: - .space 0x4 - .global data_ov00_020ee06c -data_ov00_020ee06c: - .space 0x4 - .global data_ov00_020ee070 -data_ov00_020ee070: - .space 0x4 - .global data_ov00_020ee074 -data_ov00_020ee074: - .space 0x4 - .global data_ov00_020ee078 -data_ov00_020ee078: - .space 0x4 - .global data_ov00_020ee07c -data_ov00_020ee07c: - .space 0x4 - .global data_ov00_020ee080 -data_ov00_020ee080: - .space 0x4 - .global data_ov00_020ee084 -data_ov00_020ee084: - .space 0x4 - .global data_ov00_020ee088 -data_ov00_020ee088: - .space 0x4 - .global data_ov00_020ee08c -data_ov00_020ee08c: - .space 0x4 - .global data_ov00_020ee090 -data_ov00_020ee090: - .space 0x4 - .global data_ov00_020ee094 -data_ov00_020ee094: - .space 0x4 - .global data_ov00_020ee098 -data_ov00_020ee098: - .space 0x4 - .global data_ov00_020ee09c -data_ov00_020ee09c: - .space 0x4 - .global data_ov00_020ee0a0 -data_ov00_020ee0a0: - .space 0x4 - .global data_ov00_020ee0a4 -data_ov00_020ee0a4: - .space 0x4 - .global data_ov00_020ee0a8 -data_ov00_020ee0a8: - .space 0x4 - .global data_ov00_020ee0ac -data_ov00_020ee0ac: - .space 0x4 - .global data_ov00_020ee0b0 -data_ov00_020ee0b0: - .space 0x4 - .global data_ov00_020ee0b4 -data_ov00_020ee0b4: - .space 0x4 - .global data_ov00_020ee0b8 -data_ov00_020ee0b8: - .space 0x4 - .global data_ov00_020ee0bc -data_ov00_020ee0bc: - .space 0x4 - .global data_ov00_020ee0c0 -data_ov00_020ee0c0: - .space 0x4 - .global data_ov00_020ee0c4 -data_ov00_020ee0c4: - .space 0x4 - .global data_ov00_020ee0c8 -data_ov00_020ee0c8: - .space 0x4 - .global data_ov00_020ee0cc -data_ov00_020ee0cc: - .space 0x4 - .global data_ov00_020ee0d0 -data_ov00_020ee0d0: - .space 0x4 - .global data_ov00_020ee0d4 -data_ov00_020ee0d4: - .space 0x4 - .global data_ov00_020ee0d8 -data_ov00_020ee0d8: - .space 0x4 - .global data_ov00_020ee0dc -data_ov00_020ee0dc: - .space 0x4 - .global data_ov00_020ee0e0 -data_ov00_020ee0e0: - .space 0x4 - .global data_ov00_020ee0e4 -data_ov00_020ee0e4: - .space 0x4 - .global data_ov00_020ee0e8 -data_ov00_020ee0e8: - .space 0x4 - .global data_ov00_020ee0ec -data_ov00_020ee0ec: - .space 0x4 - .global data_ov00_020ee0f0 -data_ov00_020ee0f0: - .space 0x4 - .global data_ov00_020ee0f4 -data_ov00_020ee0f4: - .space 0x4 - .global data_ov00_020ee0f8 -data_ov00_020ee0f8: - .space 0x4 - .global data_ov00_020ee0fc -data_ov00_020ee0fc: - .space 0x4 - .global data_ov00_020ee100 -data_ov00_020ee100: - .space 0x4 - .global data_ov00_020ee104 -data_ov00_020ee104: - .space 0x4 - .global data_ov00_020ee108 -data_ov00_020ee108: - .space 0x4 - .global data_ov00_020ee10c -data_ov00_020ee10c: - .space 0x4 - .global data_ov00_020ee110 -data_ov00_020ee110: - .space 0x4 - .global data_ov00_020ee114 -data_ov00_020ee114: - .space 0x4 - .global data_ov00_020ee118 -data_ov00_020ee118: - .space 0x4 - .global data_ov00_020ee11c -data_ov00_020ee11c: - .space 0x4 - .global data_ov00_020ee120 -data_ov00_020ee120: - .space 0x4 - .global data_ov00_020ee124 -data_ov00_020ee124: - .space 0x4 - .global data_ov00_020ee128 -data_ov00_020ee128: - .space 0x4 - .global data_ov00_020ee12c -data_ov00_020ee12c: - .space 0x4 - .global data_ov00_020ee130 -data_ov00_020ee130: - .space 0x4 - .global data_ov00_020ee134 -data_ov00_020ee134: - .space 0x4 - .global data_ov00_020ee138 -data_ov00_020ee138: - .space 0x4 - .global data_ov00_020ee13c -data_ov00_020ee13c: - .space 0x4 - .global data_ov00_020ee140 -data_ov00_020ee140: - .space 0x4 - .global data_ov00_020ee144 -data_ov00_020ee144: - .space 0x4 - .global data_ov00_020ee148 -data_ov00_020ee148: - .space 0x4 - .global data_ov00_020ee14c -data_ov00_020ee14c: - .space 0x4 - .global data_ov00_020ee150 -data_ov00_020ee150: - .space 0x4 - .global data_ov00_020ee154 -data_ov00_020ee154: - .space 0x4 - .global data_ov00_020ee158 -data_ov00_020ee158: - .space 0x4 - .global data_ov00_020ee15c -data_ov00_020ee15c: - .space 0x4 - .global data_ov00_020ee160 -data_ov00_020ee160: - .space 0x4 - .global data_ov00_020ee164 -data_ov00_020ee164: - .space 0x4 - .global data_ov00_020ee168 -data_ov00_020ee168: - .space 0x4 - .global data_ov00_020ee16c -data_ov00_020ee16c: - .space 0x4 - .global data_ov00_020ee170 -data_ov00_020ee170: - .space 0x4 - .global data_ov00_020ee174 -data_ov00_020ee174: - .space 0x4 - .global data_ov00_020ee178 -data_ov00_020ee178: - .space 0xc - .global data_ov00_020ee184 -data_ov00_020ee184: - .space 0x14 diff --git a/asm/ov00/ov00_02086cd0.inc b/asm/ov00/ov00_02086cd0.inc new file mode 100644 index 00000000..e7aea8bc --- /dev/null +++ b/asm/ov00/ov00_02086cd0.inc @@ -0,0 +1,271 @@ +#pragma once +.extern Approach_thunk +.extern Divide +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager16MapData_vfunc_60Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager18func_ov00_02082538Ev +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18func_ov00_020834bcEP5Vec3pii +.extern _ZN10MapManager18func_ov00_02083560EiPS_j +.extern _ZN10MapManager18func_ov00_020835e4EiPiS0_ +.extern _ZN10MapManager18func_ov00_020836ccEjP4AABBj +.extern _ZN10MapManager18func_ov00_020838f8EPi +.extern _ZN10MapManager18func_ov00_02083928EPci +.extern _ZN10MapManager18func_ov00_02083938Ei +.extern _ZN10MapManager18func_ov00_02083968EjPc +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083b84Ev +.extern _ZN10MapManager18func_ov00_02083bacEv +.extern _ZN10MapManager18func_ov00_02083bd4Ev +.extern _ZN10MapManager18func_ov00_02083bfcEv +.extern _ZN10MapManager18func_ov00_02083e70Ev +.extern _ZN10MapManager18func_ov00_02084100EiPS_ +.extern _ZN10MapManager18func_ov00_02084164Ev +.extern _ZN10MapManager18func_ov00_020848b8Ev +.extern _ZN10MapManager18func_ov00_02084934Ev +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii +.extern _ZN10MapManager18func_ov00_02084d24Ecci +.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager13FindActorByIdEj +.extern _ZN12ActorManager18func_ov00_020c3b2cEPi +.extern _ZN12ActorManager18func_ov00_020c3bb0EiPi +.extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p +.extern _ZN12ActorManager8GetActorEP8ActorRef +.extern _ZN14AdventureFlags15Get_FlagsUnk_00EiP9FlagsUnk2 +.extern _ZN14AdventureFlags18func_ov00_02097738Ev +.extern _ZN14AdventureFlags20Get_FlagsUnk_30_FlagEi +.extern _ZN5Actor10SetUnk_11bEv +.extern _ZN5Actor11SetVelocityEP5Vec3p +.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12GetOffsetPosEP5Vec3p +.extern _ZN5Actor12SetTransformEP9Transform +.extern _ZN5Actor15IsHitboxTouchedEb +.extern _ZN5Actor15TrySetTransformEP9Transform +.extern _ZN5Actor16CollidesWithLinkEv +.extern _ZN5Actor18func_Ov00_020c1bfcEi +.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c313cEj +.extern _ZN5Actor6GetPosEv +.extern _ZN5Actor8vfunc_08Ev +.extern _ZN5Actor8vfunc_0cEv +.extern _ZN5Actor8vfunc_10Ej +.extern _ZN5Actor8vfunc_18Ej +.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_20Ei +.extern _ZN5Actor8vfunc_24Ev +.extern _ZN5Actor8vfunc_28Ev +.extern _ZN5Actor8vfunc_2cEv +.extern _ZN5Actor8vfunc_30Ev +.extern _ZN5Actor8vfunc_38Ev +.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_4cEPi +.extern _ZN5Actor8vfunc_54Ev +.extern _ZN5Actor8vfunc_60Ev +.extern _ZN5Actor8vfunc_64Ev +.extern _ZN5Actor8vfunc_68Ev +.extern _ZN5Actor8vfunc_6cEv +.extern _ZN5Actor8vfunc_70Ev +.extern _ZN5Actor8vfunc_74Ev +.extern _ZN5Actor8vfunc_78Ev +.extern _ZN5Actor8vfunc_7cEv +.extern _ZN5Actor8vfunc_80Ev +.extern _ZN5Actor8vfunc_84Ev +.extern _ZN5Actor8vfunc_88Ev +.extern _ZN5Actor8vfunc_8cEv +.extern _ZN5Actor8vfunc_90Ev +.extern _ZN5Actor8vfunc_94Ev +.extern _ZN5Actor8vfunc_98Ev +.extern _ZN5Actor8vfunc_9cEv +.extern _ZN5Actor8vfunc_a8Ev +.extern _ZN5Actor8vfunc_acEv +.extern _ZN5Actor8vfunc_b0Ev +.extern _ZN5ActorC2Ev +.extern _ZN5ActorD2Ev +.extern _ZN9SysObjectdlEPv +.extern _ZN9SysObjectnwEmPjj +.extern data_02050f54 +.extern data_02056be4 +.extern data_02063e4c +.extern data_027e071c +.extern data_027e0764 +.extern data_027e077c +.extern data_027e0c68 +.extern data_027e0ce0 +.extern data_027e0d38 +.extern data_027e0d3c +.extern data_027e0d44 +.extern data_027e0e60 +.extern data_027e0f64 +.extern data_027e0f68 +.extern data_027e0f6c +.extern data_027e0f70 +.extern data_027e0f78 +.extern data_027e0f7c +.extern data_027e0f80 +.extern data_027e0f84 +.extern data_027e0f90 +.extern data_027e0f94 +.extern data_027e0fa0 +.extern data_027e0fac +.extern data_027e0fc8 +.extern data_027e0fe0 +.extern data_027e0fe4 +.extern data_027e0fe8 +.extern data_027e103c +.extern data_027e10a4 +.extern data_ov00_020e9370 +.extern data_ov00_020ea110 +.extern data_ov00_020eab04 +.extern data_ov00_020eec9c +.extern func_01ff8018 +.extern func_01ff8024 +.extern func_01ff8214 +.extern func_01ff8954 +.extern func_01ff8af8 +.extern func_01ff9158 +.extern func_01ff91f8 +.extern func_01ff9258 +.extern func_01ff927c +.extern func_01ff98f0 +.extern func_01ff991c +.extern func_01ff992c +.extern func_01ff9958 +.extern func_01ff99f4 +.extern func_01ff9a50 +.extern func_01ff9bc4 +.extern func_01ff9bf8 +.extern func_01ff9c2c +.extern func_01ff9c68 +.extern func_01ff9cec +.extern func_01ff9d4c +.extern func_01ff9ec0 +.extern func_01ffa0f4 +.extern func_01ffa8d4 +.extern func_01ffa9fc +.extern func_01ffb7ec +.extern func_01ffbe34 +.extern func_01ffbf5c +.extern func_01ffe468 +.extern func_01ffebe0 +.extern func_01ffec34 +.extern func_01fff4c8 +.extern func_01fffb4c +.extern func_01fffb80 +.extern func_01fffbec +.extern func_01fffc44 +.extern func_01fffc94 +.extern func_02001fb0 +.extern func_0200250c +.extern func_02002540 +.extern func_02002588 +.extern func_02002774 +.extern func_02002c14 +.extern func_02005660 +.extern func_02005bfc +.extern func_02005dcc +.extern func_020078f4 +.extern func_02007a18 +.extern func_0201b5e4 +.extern func_0202b154 +.extern func_0202b3bc +.extern func_0202b418 +.extern func_0202b4e4 +.extern func_0202b66c +.extern func_0202b734 +.extern func_0202b7e4 +.extern func_0202d7ac +.extern func_0202e58c +.extern func_0202e9f4 +.extern func_0202ea18 +.extern func_020313c8 +.extern func_02034a1c +.extern func_02035064 +.extern func_020350ac +.extern func_020350b4 +.extern func_0203516c +.extern func_020351b8 +.extern func_02042d50 +.extern func_02043594 +.extern func_020435b4 +.extern func_02043600 +.extern func_02045810 +.extern func_0204dd9c +.extern func_0204f558 +.extern func_0204f614 +.extern func_0204f754 +.extern func_0204f7b0 +.extern func_ov00_02078b40 +.extern func_ov00_02078f54 +.extern func_ov00_02079008 +.extern func_ov00_02079470 +.extern func_ov00_02079680 +.extern func_ov00_0207e940 +.extern func_ov00_0207e968 +.extern func_ov00_0207e96c +.extern func_ov00_0207f100 +.extern func_ov00_0207faa8 +.extern func_ov00_0207fb5c +.extern func_ov00_0207fc90 +.extern func_ov00_0207fe34 +.extern func_ov00_02080ddc +.extern func_ov00_02081f4c +.extern func_ov00_02081f6c +.extern func_ov00_0209afc4 +.extern func_ov00_0209b5a4 +.extern func_ov00_0209b6f4 +.extern func_ov00_0209b7c4 +.extern func_ov00_0209b894 +.extern func_ov00_0209b960 +.extern func_ov00_0209bbe8 +.extern func_ov00_0209bc38 +.extern func_ov00_0209d738 +.extern func_ov00_0209da68 +.extern func_ov00_0209da90 +.extern func_ov00_0209dc60 +.extern func_ov00_0209dd44 +.extern func_ov00_0209dec4 +.extern func_ov00_020a0330 +.extern func_ov00_020a0368 +.extern func_ov00_020a0508 +.extern func_ov00_020a0848 +.extern func_ov00_020a1774 +.extern func_ov00_020a17d0 +.extern func_ov00_020a1838 +.extern func_ov00_020a1888 +.extern func_ov00_020a19c8 +.extern func_ov00_020a5e9c +.extern func_ov00_020a6110 +.extern func_ov00_020a61ac +.extern func_ov00_020b3ea8 +.extern func_ov00_020bd304 +.extern func_ov00_020bd618 +.extern func_ov00_020c1500 +.extern func_ov00_020c3348 +.extern func_ov00_020c4048 +.extern func_ov00_020d77e4 +.extern func_ov03_020fb3e0 +.extern func_ov03_020fb3f0 +.extern func_ov03_020fb404 +.extern func_ov04_02103444 +.extern func_ov04_021034fc +.extern func_ov05_0210199c +.extern func_ov05_02101ab8 +.extern func_ov05_02102c2c +.extern func_ov05_02103f4c +.extern func_ov14_02125934 +.extern func_ov14_02125948 +.extern func_ov15_0214c3c4 +.extern func_ov15_0214c414 +.extern func_ov15_02175cc4 +.extern func_ov18_0216ac24 +.extern func_ov18_0216ad38 +.extern gAdventureFlags diff --git a/asm/ov00/ov00_02086cd0.s b/asm/ov00/ov00_02086cd0.s new file mode 100644 index 00000000..619704f2 --- /dev/null +++ b/asm/ov00/ov00_02086cd0.s @@ -0,0 +1,28653 @@ + .include "ov00/ov00_02086cd0.inc" + .include "macros/function.inc" + + .text + + .global func_ov00_02086cd0 + arm_func_start func_ov00_02086cd0 +func_ov00_02086cd0: ; 0x02086cd0 + bx lr + arm_func_end func_ov00_02086cd0 + + .global func_ov00_02086cd4 + arm_func_start func_ov00_02086cd4 +func_ov00_02086cd4: ; 0x02086cd4 + stmdb sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #0xc + mov r4, r0 + ldr r0, [r4, #0x14c] + bl func_ov00_0209da68 + ldr r0, [r4, #0x150] + bl func_ov00_020a1774 + ldr r1, _02086da4 ; =data_027e0f94 + mov r0, r4 + ldr r3, [r1, #4] + ldr r2, [r1, #8] + ldr r1, [r1] + str r1, [r4, #0x26c] + str r3, [r4, #0x270] + str r2, [r4, #0x274] + bl func_ov00_0208def0 + mov r7, #0 + str r7, [r4, #0x1a4] + str r7, [r4, #0x1a8] + str r7, [r4, #0x160] + str r7, [r4, #0x15c] + mov r6, r7 + mov r5, #1 +_02086d30: + ldr r0, [r4, #0x154] + ldr r0, [r0, r7, lsl #2] + cmp r0, #0 + beq _02086d58 + ldr ip, [r0] + mov r1, r6 + ldr ip, [ip, #8] + mov r2, r6 + mov r3, r5 + blx ip +_02086d58: + add r7, r7, #1 + cmp r7, #0x10 + blt _02086d30 + mov r0, r4 + bl func_ov00_020881f4 + ldr r0, [r4, #0x26c] + str r0, [r4, #0x308] + ldr r0, [r4, #0x270] + str r0, [r4, #0x30c] + ldr r0, [r4, #0x274] + str r0, [r4, #0x310] + ldr r0, [r4, #0x26c] + str r0, [r4, #0x314] + ldr r0, [r4, #0x270] + str r0, [r4, #0x318] + ldr r0, [r4, #0x274] + str r0, [r4, #0x31c] + add sp, sp, #0xc + ldmia sp!, {r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end func_ov00_02086cd4 +_02086da4: .word data_027e0f94 + + .global func_ov00_02086da8 + arm_func_start func_ov00_02086da8 +func_ov00_02086da8: ; 0x02086da8 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #0x18 + mov r5, r0 + add r0, r5, #0x260 + mov r4, r1 + add lr, sp, #0xc + ldmia r0, {r0, r1, r2} + stmia lr, {r0, r1, r2} + add ip, r5, #0x26c + add r3, sp, #0 + ldmia ip, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldr r0, [r5, #0x1b0] + add r0, r0, #1 + str r0, [r5, #0x1b0] + cmp r0, #0x12c + movge r0, #0x12c + strge r0, [r5, #0x1b0] + ldr r0, [r5, #0x150] + bl func_ov00_020a17d0 + ldr r2, [r5, #0x154] + ldr r0, [r5, #0x160] + mov r1, r4 + ldr r0, [r2, r0, lsl #2] + ldr r2, [r0] + ldr r2, [r2, #0xc] + blx r2 + mov r0, r5 + bl func_ov00_02089d0c + ldr r1, [r5, #0x154] + ldr r0, [r5, #0x160] + ldr r0, [r1, r0, lsl #2] + ldr r1, [r0] + ldr r1, [r1, #0x18] + blx r1 + mov r0, r5 + mov r1, r4 + bl func_ov00_0208df04 + mov r0, r5 + bl func_ov00_0208a464 + ldr r0, [sp, #0xc] + str r0, [r5, #0x284] + ldr r0, [sp, #0x10] + str r0, [r5, #0x288] + ldr r0, [sp, #0x14] + str r0, [r5, #0x28c] + ldr r0, [sp] + str r0, [r5, #0x290] + ldr r0, [sp, #4] + str r0, [r5, #0x294] + ldr r0, [sp, #8] + str r0, [r5, #0x298] + add sp, sp, #0x18 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02086da8 + + .global func_ov00_02086e80 + arm_func_start func_ov00_02086e80 +func_ov00_02086e80: ; 0x02086e80 + stmdb sp!, {r3, lr} + ldr r1, [r0, #0x154] + ldr r0, [r0, #0x160] + ldr r0, [r1, r0, lsl #2] + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_02086e80 + + .global func_ov00_02086ea0 + arm_func_start func_ov00_02086ea0 +func_ov00_02086ea0: ; 0x02086ea0 + ldr r3, _02086ed0 ; =data_ov00_020d8aa8 + mov r2, #0 +_02086ea8: + ldr r1, [r3] + cmp r0, r1 + moveq r0, r2 + bxeq lr + add r2, r2, #1 + cmp r2, #0x5c + add r3, r3, #0x68 + blt _02086ea8 + mov r0, #0x5c + bx lr + .align 2, 0 + arm_func_end func_ov00_02086ea0 +_02086ed0: .word data_ov00_020d8aa8 + + .global func_ov00_02086ed4 + arm_func_start func_ov00_02086ed4 +func_ov00_02086ed4: ; 0x02086ed4 + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x90 + mov r6, r1 + ldr r1, [r6, #4] + mov r4, #1 + cmp r1, #0 + mov r5, r0 + movle r0, #0 + strle r0, [r6, #4] + mov r1, #0 + rsb r2, r4, #0x10000 + ldr r0, _0208707c ; =data_ov00_020e2fb4 + strh r2, [sp, #0x54] + strh r2, [sp, #0x56] + strh r2, [sp, #0x58] + strh r2, [sp, #0x5a] + strh r1, [sp, #0x5c] + strb r1, [sp, #0x7e] + strb r1, [sp, #0x7f] + strb r1, [sp, #0x80] + strb r1, [sp, #0x81] + strb r1, [sp, #0x88] + strb r1, [sp, #0x89] + strb r1, [sp, #0x8a] + strb r1, [sp, #0x8b] + strb r1, [sp, #0x8c] + strb r1, [sp, #0x8d] + str r0, [sp, #0x14] + ldr r0, [r6] + add r3, sp, #0x18 + str r0, [sp, #0x24] + ldr ip, [r6, #4] + add r0, r5, #0x290 + str ip, [sp, #0x28] + ldr r1, [r6, #8] + str r1, [sp, #0x2c] + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r0, sp, #0x24 + mov r1, r3 + str ip, [sp, #0x1c] + bl func_01ff9ec0 + cmp r0, #0xa000 + bge _02086fb0 + ldr r0, _02087080 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x28] + ldrb r0, [r0, #0x34] + cmp r0, #0 + bne _02086fb0 + bne _02086fd0 + ldr r0, _02087084 ; =data_027e071c + bl func_0202d7ac + cmp r0, #0 + beq _02086fd0 +_02086fb0: + ldr r1, [r5, #0x26c] + ldr r0, [sp, #0x28] + str r1, [sp, #0x18] + ldr r1, [r5, #0x270] + str r1, [sp, #0x1c] + ldr r1, [r5, #0x274] + str r1, [sp, #0x20] + str r0, [sp, #0x1c] +_02086fd0: + mov r0, #0x12c000 + ldr r1, [r5, #0x290] + rsb r0, r0, #0 + cmp r1, r0 + blt _02087068 + cmp r1, #0x12c000 + bgt _02087068 + ldr r0, _02087080 ; =data_027e0d38 + mov r5, #0x68 + ldr r0, [r0] + add r0, r0, #0xc + bl func_ov00_020a5e9c + cmp r0, #0x30 + mov r0, #0x3000 + str r0, [sp] + mvn r0, #0 + str r0, [sp, #4] + moveq r5, #0x69 + add r0, sp, #0x14 + str r5, [sp, #8] + str r0, [sp, #0xc] + mov r1, #1 + str r1, [sp, #0x10] + ldr r0, _02087088 ; =data_027e0e60 + add r1, sp, #0x30 + ldr r0, [r0] + add r2, sp, #0x24 + add r3, sp, #0x18 + bl func_01ffbf5c + cmp r0, #0 + beq _02087068 + ldr r0, [sp, #0x30] + mov r4, #0 + str r0, [r6] + ldr r0, [sp, #0x34] + str r0, [r6, #4] + ldr r0, [sp, #0x38] + str r0, [r6, #8] +_02087068: + add r0, sp, #0x14 + bl func_ov00_02081f4c + mov r0, r4 + add sp, sp, #0x90 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_02086ed4 +_0208707c: .word data_ov00_020e2fb4 +_02087080: .word data_027e0d38 +_02087084: .word data_027e071c +_02087088: .word data_027e0e60 + + .global func_ov00_0208708c + arm_func_start func_ov00_0208708c +func_ov00_0208708c: ; 0x0208708c + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02081f4c + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208708c + + .global func_ov00_020870a0 + arm_func_start func_ov00_020870a0 +func_ov00_020870a0: ; 0x020870a0 + stmdb sp!, {r3, lr} + ldr r3, [r0, #0x154] + ldr r2, [r0, #0x160] + add r1, r0, #0x1c + ldr r0, [r3, r2, lsl #2] + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_020870a0 + + .global func_ov00_020870c4 + arm_func_start func_ov00_020870c4 +func_ov00_020870c4: ; 0x020870c4 + ldr ip, _020870cc ; =func_ov00_0208e420 + bx ip + .align 2, 0 + arm_func_end func_ov00_020870c4 +_020870cc: .word func_ov00_0208e420 + + .global func_ov00_020870d0 + arm_func_start func_ov00_020870d0 +func_ov00_020870d0: ; 0x020870d0 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0xc + mov r9, r0 + ldr r1, [r9, #8] + mov r0, #0x1000 + bl Divide + ldrh r1, [r9, #4] + ldr r2, _02087268 ; =data_02050f54 + mov r7, r0 + mov r0, r1, asr #0x4 + mov r3, r0, lsl #0x1 + add r0, r3, #1 + mov r0, r0, lsl #0x1 + ldrsh r1, [r2, r0] + mov r0, #0 + cmp r1, #0 + beq _02087120 + mov r0, r3, lsl #0x1 + ldrsh r0, [r2, r0] + bl Divide +_02087120: + mov r1, r0 + mov r0, #0x1000 + bl Divide + smull r1, r0, r7, r0 + adds r1, r1, #0x800 + adc r0, r0, #0 + mov r6, r1, lsr #0xc + orr r6, r6, r0, lsl #20 + smull r0, r2, r6, r6 + adds r3, r0, #0x800 + smull r1, r0, r7, r7 + adc r2, r2, #0 + adds r1, r1, #0x800 + mov r8, r3, lsr #0xc + adc r0, r0, #0 + mov r1, r1, lsr #0xc + orr r8, r8, r2, lsl #20 + orr r1, r1, r0, lsl #20 + add r0, r8, r1 + mov r11, r7, asr #0x1f + mov r5, r6, asr #0x1f + bl func_01ff9958 + bl func_01ff992c + mov r4, r0 + add r0, r8, #0x1000 + mov r8, r1 + bl func_01ff9958 + bl func_01ff992c + umull ip, r3, r4, r6 + mov r10, #0 + mla r3, r4, r5, r3 + mla r3, r8, r6, r3 + adds ip, ip, #0x80000000 + adc lr, r3, #0 + rsb r3, lr, #0 + str r10, [r9, #0x10c] + str r3, [sp, #4] + str r3, [r9, #0x110] + umull ip, r3, r4, r7 + mla r3, r4, r11, r3 + mov r2, r1, lsl #0xc + str r10, [sp] + str r10, [sp, #4] + mla r3, r8, r7, r3 + adds r4, ip, #0x80000000 + adc r3, r3, #0 + rsb r3, r3, #0 + str r3, [r9, #0x114] + str r10, [r9, #0x118] + str r10, [r9, #0x11c] + str r3, [sp, #8] + str lr, [r9, #0x120] + str r3, [r9, #0x124] + str r3, [sp, #8] + umull r4, r3, r0, r6 + mla r3, r0, r5, r3 + mla r3, r1, r6, r3 + adds r4, r4, #0x80000000 + adc r3, r3, #0 + mov r1, #0x80000000 + orr r2, r2, r0, lsr #20 + adds r0, r1, r0, lsl #12 + adc r0, r2, #0 + rsb r0, r0, #0 + str r0, [sp, #8] + str r10, [r9, #0x128] + rsb r1, r3, #0 + str r1, [r9, #0x13c] + str r10, [r9, #0x140] + str r0, [r9, #0x144] + str r10, [r9, #0x148] + str r3, [r9, #0x12c] + str r10, [sp] + str r10, [r9, #0x130] + str r1, [sp] + str r0, [r9, #0x134] + str r3, [sp] + str r10, [sp, #4] + str r0, [sp, #8] + str r10, [r9, #0x138] + add sp, sp, #0xc + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_020870d0 +_02087268: .word data_02050f54 + + .global func_ov00_0208726c + arm_func_start func_ov00_0208726c +func_ov00_0208726c: ; 0x0208726c + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0x1c + mov ip, #0 + mov r2, #0xff + mov r4, r1 + add r3, sp, #0 + mov r5, r0 + str ip, [sp] + strb r2, [sp, #4] + strh ip, [sp, #0x14] + strh ip, [sp, #0x16] + mov r1, ip +_0208729c: + add r0, r3, ip, lsl #1 + add ip, ip, #1 + strh r1, [r0, #0x18] + cmp ip, #2 + blo _0208729c + ldr r0, _020872e4 ; =data_027e0e60 + ldrb r2, [r5, #0x1b8] + ldr r0, [r0] + add r1, sp, #0 + bl _ZN10MapManager18func_ov00_02083928EPci + mov r3, #0 + add r1, sp, #0 + mov r0, r5 + mov r2, r4 + strb r3, [r5, #0x2ec] + bl func_ov00_02087400 + add sp, sp, #0x1c + ldmia sp!, {r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_0208726c +_020872e4: .word data_027e0e60 + + .global func_ov00_020872e8 + arm_func_start func_ov00_020872e8 +func_ov00_020872e8: ; 0x020872e8 + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0x1c + mov r5, #0 + mov ip, #0xff + add r4, sp, #0 + str r5, [sp] + strb ip, [sp, #4] + strh r5, [sp, #0x14] + strh r5, [sp, #0x16] + mov lr, r5 +_02087310: + add ip, r4, r5, lsl #1 + add r5, r5, #1 + strh lr, [ip, #0x18] + cmp r5, #2 + blo _02087310 + str r1, [sp] + add r1, sp, #0 + bl func_ov00_02087400 + add sp, sp, #0x1c + ldmia sp!, {r4, r5, pc} + arm_func_end func_ov00_020872e8 + + .global func_ov00_02087338 + arm_func_start func_ov00_02087338 +func_ov00_02087338: ; 0x02087338 + stmdb sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #0x1c + mov r6, r1 + mov r7, r0 + mov r0, r6 + mov r5, r2 + mov r4, r3 + bl func_ov00_02087d84 + ldr r0, [r0, #4] + cmp r0, #0xc + beq _02087380 + mov r0, r7 + mov r1, r6 + mov r2, r4 + mov r3, #0 + bl func_ov00_020872e8 + add sp, sp, #0x1c + ldmia sp!, {r4, r5, r6, r7, pc} +_02087380: + ldr r0, [r7, #0x154] + ldr r1, [r0, #0x30] + cmp r1, #0 + beq _020873b0 + ldr r0, [r5] + str r0, [r1, #0x30] + ldr r0, [r5, #4] + str r0, [r1, #0x34] + ldr r0, [r5, #8] + str r0, [r1, #0x38] + ldrsh r0, [r5, #0xc] + strh r0, [r1, #0x3c] +_020873b0: + mov r2, #0 + mov r0, #0xff + add r1, sp, #0 + str r2, [sp] + strb r0, [sp, #4] + strh r2, [sp, #0x14] + strh r2, [sp, #0x16] + mov r3, r2 +_020873d0: + add r0, r1, r2, lsl #1 + add r2, r2, #1 + strh r3, [r0, #0x18] + cmp r2, #2 + blo _020873d0 + add r1, sp, #0 + mov r0, r7 + mov r2, r4 + str r6, [sp] + bl func_ov00_02087400 + add sp, sp, #0x1c + ldmia sp!, {r4, r5, r6, r7, pc} + arm_func_end func_ov00_02087338 + + .global func_ov00_02087400 + arm_func_start func_ov00_02087400 +func_ov00_02087400: ; 0x02087400 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r7, r0 + mov r6, r1 + mov r5, r2 + mov r4, r3 + bl func_ov00_02089b00 + cmp r0, #0 + movne r0, #0 + ldmneia sp!, {r3, r4, r5, r6, r7, pc} + ldr r0, [r7, #0x150] + bl func_ov00_020a1838 + ldr r1, [r7, #0x15c] + add r0, r7, #0x100 + str r1, [r7, #0x180] + ldr r2, [r6] + mov r1, #0 + str r2, [r7, #0x15c] + ldr r2, [r7, #0x164] + str r2, [r7, #0x188] + ldrb r2, [r7, #0x168] + strb r2, [r7, #0x18c] + ldr r2, [r7, #0x16c] + str r2, [r7, #0x190] + ldr r2, [r7, #0x170] + str r2, [r7, #0x194] + ldr r2, [r7, #0x174] + str r2, [r7, #0x198] + ldrsh r2, [r0, #0x78] + strh r2, [r0, #0x9c] + ldrsh r2, [r0, #0x7a] + strh r2, [r0, #0x9e] + ldrh r3, [r0, #0x7c] + ldrh r2, [r0, #0x7e] + strh r3, [r0, #0xa0] + strh r2, [r0, #0xa2] + ldr r2, [r6] + str r2, [r7, #0x164] + ldrb r2, [r6, #4] + strb r2, [r7, #0x168] + ldr r2, [r6, #8] + str r2, [r7, #0x16c] + ldr r2, [r6, #0xc] + str r2, [r7, #0x170] + ldr r2, [r6, #0x10] + str r2, [r7, #0x174] + ldrsh r2, [r6, #0x14] + strh r2, [r0, #0x78] + ldrsh r2, [r6, #0x16] + strh r2, [r0, #0x7a] + ldrh r3, [r6, #0x18] + ldrh r2, [r6, #0x1a] + strh r3, [r0, #0x7c] + strh r2, [r0, #0x7e] + str r1, [r7, #0x1b0] + ldr r2, [r7, #0x15c] + cmp r2, #0x27 + bgt _02087504 + bge _02087520 + cmp r2, #0xc + bgt _02087544 + cmp r2, #0xa + blt _02087544 + cmpne r2, #0xc + beq _02087520 + b _02087544 +_02087504: + cmp r2, #0x2a + bgt _02087544 + cmp r2, #0x28 + blt _02087544 + cmpne r2, #0x29 + cmpne r2, #0x2a + bne _02087544 +_02087520: + ldr r1, _02087580 ; =data_ov00_020d8aa8 + mov r0, #0x68 + mla r1, r2, r0, r1 + mov r0, r7 + mov r2, r6 + mov r3, #1 + str r4, [sp] + bl func_ov00_02087b78 + b _02087564 +_02087544: + ldr r1, _02087580 ; =data_ov00_020d8aa8 + mov r0, #0x68 + mla r1, r2, r0, r1 + mov r0, r7 + mov r2, r6 + mov r3, r5 + str r4, [sp] + bl func_ov00_02087b78 +_02087564: + mov r0, r7 + ldr r2, [r0] + mov r1, #0 + ldr r2, [r2, #4] + blx r2 + mov r0, #1 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end func_ov00_02087400 +_02087580: .word data_ov00_020d8aa8 + + .global func_ov00_02087584 + arm_func_start func_ov00_02087584 +func_ov00_02087584: ; 0x02087584 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r7, r0 + ldr r0, [r7, #0x15c] + mov r6, r1 + cmp r6, r0 + mov r5, r2 + mov r4, r3 + moveq r0, #1 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + mov r0, r6 + bl func_ov00_02087d84 + ldr ip, [r0, #4] + ldr r1, [r7, #0x154] + ldr r0, [r5] + ldr lr, [r1, ip, lsl #2] + ldrb r2, [sp, #0x18] + str r0, [lr, #8] + ldr r1, [r5, #4] + mov r0, r7 + str r1, [lr, #0xc] + ldr r3, [r5, #8] + mov r1, r6 + str r3, [lr, #0x10] + ldr r5, [r7, #0x154] + mov r3, #0 + ldr r5, [r5, ip, lsl #2] + strh r4, [r5, #0x14] + bl func_ov00_020872e8 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end func_ov00_02087584 + + .global func_ov00_020875f8 + arm_func_start func_ov00_020875f8 +func_ov00_020875f8: ; 0x020875f8 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0x1c + mov lr, r0 + mov r3, #0 + strb r3, [lr, #0x2ec] + ldr r0, [lr, #0x188] + add ip, sp, #8 + str r0, [sp] + ldrb r2, [lr, #0x18c] + add r0, lr, #0x190 + mov r4, r1 + strb r2, [sp, #4] + ldmia r0, {r0, r1, r2} + stmia ip, {r0, r1, r2} + add ip, lr, #0x100 + ldrsh r2, [ip, #0x9c] + mov r0, lr + add r1, sp, #0 + strh r2, [sp, #0x14] + ldrsh lr, [ip, #0x9e] + mov r2, r4 + strh lr, [sp, #0x16] + ldrh lr, [ip, #0xa0] + ldrh ip, [ip, #0xa2] + strh lr, [sp, #0x18] + strh ip, [sp, #0x1a] + bl func_ov00_02087400 + add sp, sp, #0x1c + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_020875f8 + + .global func_ov00_0208766c + arm_func_start func_ov00_0208766c +func_ov00_0208766c: ; 0x0208766c + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0x1c + mov r5, #0 + mov ip, #0xff + add r4, sp, #0 + str r5, [sp] + strb ip, [sp, #4] + strh r5, [sp, #0x14] + strh r5, [sp, #0x16] + mov lr, r5 +_02087694: + add ip, r4, r5, lsl #1 + add r5, r5, #1 + strh lr, [ip, #0x18] + cmp r5, #2 + blo _02087694 + str r1, [sp] + add r1, sp, #0 + bl func_ov00_02087850 + add sp, sp, #0x1c + ldmia sp!, {r4, r5, pc} + arm_func_end func_ov00_0208766c + + .global func_ov00_020876bc + arm_func_start func_ov00_020876bc +func_ov00_020876bc: ; 0x020876bc + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} + sub sp, sp, #0x88 + mov r7, r0 + mov r6, r1 + mov r5, r2 + mov r4, r3 + bl func_ov00_02089b00 + cmp r0, #0 + addne sp, sp, #0x88 + movne r0, #0 + ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} + ldr r0, [r7, #0x15c] + bl func_ov00_02087d84 + ldr r1, [r0, #4] + mov r0, r7 + bl func_ov00_0208a8a0 + cmp r0, #0 + bne _020877c0 + mov r3, #0 + mov r0, #0xff + add r2, sp, #0x6c + str r3, [sp, #0x6c] + strb r0, [sp, #0x70] + strh r3, [sp, #0x80] + strh r3, [sp, #0x82] + mov r1, r3 +_02087724: + add r0, r2, r3, lsl #1 + add r3, r3, #1 + strh r1, [r0, #0x18] + cmp r3, #2 + blo _02087724 + ldr r0, _0208784c ; =data_027e0e60 + ldrb r2, [r7, #0x1b8] + ldr r0, [r0] + add r1, sp, #0x6c + bl _ZN10MapManager18func_ov00_02083928EPci + ldr r3, [r7, #0x260] + ldr r0, [r7, #0x264] + ldr r2, [r7, #0x268] + ldr r1, [r7, #0x26c] + ldr r10, [r7, #0x270] + ldr r8, [r7, #0x274] + str r3, [sp, #0x60] + str r0, [sp, #0x64] + str r8, [sp, #0x5c] + ldrsh r9, [r7, #4] + add r0, sp, #0x60 + add r3, sp, #0x38 + str r2, [sp, #0x68] + str r1, [sp, #0x54] + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + str r10, [sp, #0x58] + add r0, sp, #0x54 + add r8, sp, #0x44 + ldmia r0, {r0, r1, r2} + stmia r8, {r0, r1, r2} + strh r9, [sp, #0x50] + mov r0, #0 + str r0, [sp] + ldr r0, [r7, #0x14c] + ldr r1, [sp, #0x6c] + add r2, sp, #0x6c + bl func_ov00_0209da90 + b _02087830 +_020877c0: + ldr r10, [r7, #0x260] + ldr r2, [r7, #0x264] + ldr r1, [r7, #0x268] + ldr r9, [r7, #0x26c] + ldr r8, [r7, #0x270] + ldr lr, [r7, #0x274] + str r10, [sp, #0x2c] + ldrsh ip, [r7, #4] + add r0, sp, #0x2c + add r3, sp, #4 + str r2, [sp, #0x30] + str r1, [sp, #0x34] + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r0, sp, #0x20 + add r10, sp, #0x10 + str r9, [sp, #0x20] + str r8, [sp, #0x24] + str lr, [sp, #0x28] + ldmia r0, {r0, r1, r2} + stmia r10, {r0, r1, r2} + strh ip, [sp, #0x1c] + mov r0, #0 + str r0, [sp] + ldr r0, [r7, #0x14c] + ldr r1, [r7, #0x15c] + add r2, r7, #0x164 + bl func_ov00_0209da90 +_02087830: + mov r0, r7 + mov r1, r6 + mov r2, r5 + mov r3, r4 + bl func_ov00_02087338 + add sp, sp, #0x88 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} + .align 2, 0 + arm_func_end func_ov00_020876bc +_0208784c: .word data_027e0e60 + + .global func_ov00_02087850 + arm_func_start func_ov00_02087850 +func_ov00_02087850: ; 0x02087850 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} + sub sp, sp, #0x88 + mov r7, r0 + mov r6, r1 + mov r5, r2 + mov r4, r3 + bl func_ov00_02089b00 + cmp r0, #0 + addne sp, sp, #0x88 + movne r0, #0 + ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} + ldr r0, [r7, #0x15c] + bl func_ov00_02087d84 + ldr r1, [r0, #4] + mov r0, r7 + bl func_ov00_0208a8a0 + cmp r0, #0 + bne _02087954 + mov r3, #0 + mov r0, #0xff + add r2, sp, #0x6c + str r3, [sp, #0x6c] + strb r0, [sp, #0x70] + strh r3, [sp, #0x80] + strh r3, [sp, #0x82] + mov r1, r3 +_020878b8: + add r0, r2, r3, lsl #1 + add r3, r3, #1 + strh r1, [r0, #0x18] + cmp r3, #2 + blo _020878b8 + ldr r0, _020879e0 ; =data_027e0e60 + ldrb r2, [r7, #0x1b8] + ldr r0, [r0] + add r1, sp, #0x6c + bl _ZN10MapManager18func_ov00_02083928EPci + ldr r3, [r7, #0x260] + ldr r0, [r7, #0x264] + ldr r2, [r7, #0x268] + ldr r1, [r7, #0x26c] + ldr r10, [r7, #0x270] + ldr r8, [r7, #0x274] + str r3, [sp, #0x60] + str r0, [sp, #0x64] + str r8, [sp, #0x5c] + ldrsh r9, [r7, #4] + add r0, sp, #0x60 + add r3, sp, #0x38 + str r2, [sp, #0x68] + str r1, [sp, #0x54] + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + str r10, [sp, #0x58] + add r0, sp, #0x54 + add r8, sp, #0x44 + ldmia r0, {r0, r1, r2} + stmia r8, {r0, r1, r2} + strh r9, [sp, #0x50] + mov r0, #0 + str r0, [sp] + ldr r0, [r7, #0x14c] + ldr r1, [sp, #0x6c] + add r2, sp, #0x6c + bl func_ov00_0209da90 + b _020879c4 +_02087954: + ldr r10, [r7, #0x260] + ldr r2, [r7, #0x264] + ldr r1, [r7, #0x268] + ldr r9, [r7, #0x26c] + ldr r8, [r7, #0x270] + ldr lr, [r7, #0x274] + str r10, [sp, #0x2c] + ldrsh ip, [r7, #4] + add r0, sp, #0x2c + add r3, sp, #4 + str r2, [sp, #0x30] + str r1, [sp, #0x34] + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r0, sp, #0x20 + add r10, sp, #0x10 + str r9, [sp, #0x20] + str r8, [sp, #0x24] + str lr, [sp, #0x28] + ldmia r0, {r0, r1, r2} + stmia r10, {r0, r1, r2} + strh ip, [sp, #0x1c] + mov r0, #0 + str r0, [sp] + ldr r0, [r7, #0x14c] + ldr r1, [r7, #0x15c] + add r2, r7, #0x164 + bl func_ov00_0209da90 +_020879c4: + mov r0, r7 + mov r1, r6 + mov r2, r5 + mov r3, r4 + bl func_ov00_02087400 + add sp, sp, #0x88 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} + .align 2, 0 + arm_func_end func_ov00_02087850 +_020879e0: .word data_027e0e60 + + .global func_ov00_020879e4 + arm_func_start func_ov00_020879e4 +func_ov00_020879e4: ; 0x020879e4 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #0x40 + mov r5, r0 + ldr r0, [r5, #0x14c] + mov r4, r1 + bl func_ov00_0209dec4 + cmp r0, #0 + beq _02087a18 + mov r0, r5 + mov r1, #0 + bl func_ov00_020875f8 + add sp, sp, #0x40 + ldmia sp!, {r3, r4, r5, pc} +_02087a18: + mov ip, #0 + add r3, sp, #4 + mov r0, #0xff + add r2, sp, #0 + str ip, [r3] + strb r0, [r3, #4] + strh ip, [r3, #0x14] + strh ip, [r3, #0x16] + mov r1, ip +_02087a3c: + add r0, r3, ip, lsl #1 + add ip, ip, #1 + strh r1, [r0, #0x18] + cmp ip, #2 + blo _02087a3c + str r1, [r2, #0x24] + str r1, [r2, #0x28] + str r1, [r2, #0x2c] + str r1, [r2, #0x30] + str r1, [r2, #0x34] + str r1, [r2, #0x38] + strh r1, [r2, #0x3c] + ldr r0, [r5, #0x14c] + add r1, sp, #0 + bl func_ov00_0209dc60 + cmp r0, #0 + bne _02087a94 + mov r0, r5 + mov r1, #0 + bl func_ov00_020875f8 + add sp, sp, #0x40 + ldmia sp!, {r3, r4, r5, pc} +_02087a94: + add r1, sp, #4 + mov r0, r5 + mov r2, r4 + mov r3, #0 + bl func_ov00_02087400 + add sp, sp, #0x40 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_020879e4 + + .global func_ov00_02087ab0 + arm_func_start func_ov00_02087ab0 +func_ov00_02087ab0: ; 0x02087ab0 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r2, [r4, #0x160] + cmp r2, #6 + beq _02087b1c + cmp r2, #0xc + bne _02087b70 + cmp r1, #0 + ldr r2, [r4, #0x154] + ldr r0, [r4, #0x160] + beq _02087af4 + ldr r0, [r2, r0, lsl #2] + mvn r1, #0 + ldr r2, [r0] + ldr r2, [r2, #0x3c] + blx r2 + b _02087b14 +_02087af4: + ldr r0, [r2, r0, lsl #2] + mov r1, #0 + ldr r2, [r0] + ldr r2, [r2, #0x3c] + blx r2 + mov r0, r4 + mov r1, #0 + bl func_ov00_020879e4 +_02087b14: + mov r0, #1 + ldmia sp!, {r4, pc} +_02087b1c: + cmp r1, #0 + ldr r2, [r4, #0x154] + ldr r0, [r4, #0x160] + beq _02087b44 + ldr r0, [r2, r0, lsl #2] + mvn r1, #0 + ldr r2, [r0] + ldr r2, [r2, #0x3c] + blx r2 + b _02087b68 +_02087b44: + ldr r0, [r2, r0, lsl #2] + mov r1, #0 + ldr r2, [r0] + ldr r2, [r2, #0x3c] + blx r2 + mov r1, #0 + mov r0, r4 + strb r1, [r4, #0x2ec] + bl func_ov00_020879e4 +_02087b68: + mov r0, #1 + ldmia sp!, {r4, pc} +_02087b70: + bl func_ov00_020879e4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02087ab0 + + .global func_ov00_02087b78 + arm_func_start func_ov00_02087b78 +func_ov00_02087b78: ; 0x02087b78 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r7, r0 + mov r6, r1 + add r1, r7, #0x1bc + mov r5, r2 + mov r4, r3 + bl func_ov00_02087d34 + ldr r1, [r7, #0x160] + add r0, r7, #0x200 + str r1, [r7, #0x1c0] + ldrsh r1, [r7, #4] + str r1, [r7, #0x1c8] + ldrsh r1, [r0, #0x24] + str r1, [r7, #0x1cc] + ldrsh r0, [r0, #0x26] + str r0, [r7, #0x1d0] + ldr r0, [r7, #0x23c] + str r0, [r7, #0x1d4] + ldr r0, [r7, #0x244] + str r0, [r7, #0x1d8] + ldr r0, [r7, #0x240] + str r0, [r7, #0x1dc] + ldr r0, [r7, #0x248] + str r0, [r7, #0x1e0] + ldr r0, [r7, #0x14] + cmp r0, #0 + blt _02087bec + cmp r0, #0x1000 + strle r0, [r7, #0x1c4] +_02087bec: + ldr r0, [r7, #0x160] + str r0, [r7, #0x184] + ldr r2, [r6, #4] + str r2, [r7, #0x160] + cmp r2, #4 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + ldr r0, [r7, #0x154] + mov r1, r5 + ldr r0, [r0, r2, lsl #2] + ldr r2, [r0] + ldr r2, [r2, #0x38] + blx r2 + ldr r0, [r6, #8] + cmp r0, #0 + blt _02087c30 + cmp r0, #0x1000 + strle r0, [r7, #0x14] +_02087c30: + ldr r1, [r6, #0xc] + add r0, r7, #0x200 + strh r1, [r0, #0x2c] + ldr r1, [r6, #0x10] + cmp r4, #0 + strh r1, [r0, #0x28] + ldr r1, [r6, #0x14] + strh r1, [r0, #0x2a] + ldr r1, [r6, #0x18] + str r1, [r7, #0x24c] + ldr r1, [r6, #0x1c] + str r1, [r7, #0x254] + ldr r1, [r6, #0x20] + str r1, [r7, #0x250] + ldr r1, [r6, #0x24] + str r1, [r7, #0x258] + ldr r1, [r6, #0x28] + strh r1, [r0, #0x32] + ldr r1, [r6, #0x2c] + strh r1, [r0, #0x2e] + ldr r1, [r6, #0x30] + strh r1, [r0, #0x30] + ldr r1, [r6, #0x34] + str r1, [r7, #0x25c] + ldr r1, [r6, #0x38] + str r1, [r7, #0x2c0] + ldr r1, [r6, #0x38] + str r1, [r7, #0x2c4] + ldr r1, [r6, #0x38] + str r1, [r7, #0x2c8] + ldr r1, [r6, #0x1c] + str r1, [r7, #0x244] + ldr r1, [r6, #0x20] + str r1, [r7, #0x240] + ldr r1, [r6, #0x24] + str r1, [r7, #0x248] + bne _02087ce4 + ldr r1, [r6, #0xc] + strh r1, [r7, #4] + ldr r1, [r6, #0x10] + strh r1, [r0, #0x24] + ldr r1, [r6, #0x14] + strh r1, [r0, #0x26] + ldr r0, [r6, #0x18] + str r0, [r7, #0x23c] +_02087ce4: + mov r3, #0 + strb r3, [r7, #0x1b9] + strb r3, [r7, #0x1ba] + ldr r1, [r7, #0x154] + ldr r0, [r7, #0x160] + ldr r2, [sp, #0x18] + ldr r0, [r1, r0, lsl #2] + mov r1, r4 + ldr r4, [r0] + ldr r4, [r4, #8] + blx r4 + mov r0, r7 + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + mov r0, r7 + ldr r1, [r0] + ldr r1, [r1, #0x18] + blx r1 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end func_ov00_02087b78 + + .global func_ov00_02087d34 + arm_func_start func_ov00_02087d34 +func_ov00_02087d34: ; 0x02087d34 + ldr r3, [r0, #0x160] + add r2, r0, #0x200 + str r3, [r1, #4] + ldrsh r3, [r0, #4] + str r3, [r1, #0xc] + ldrsh r3, [r2, #0x24] + str r3, [r1, #0x10] + ldrsh r2, [r2, #0x26] + str r2, [r1, #0x14] + ldr r2, [r0, #0x23c] + str r2, [r1, #0x18] + ldr r2, [r0, #0x244] + str r2, [r1, #0x1c] + ldr r2, [r0, #0x240] + str r2, [r1, #0x20] + ldr r2, [r0, #0x248] + str r2, [r1, #0x24] + ldr r0, [r0, #0x14] + str r0, [r1, #8] + bx lr + arm_func_end func_ov00_02087d34 + + .global func_ov00_02087d84 + arm_func_start func_ov00_02087d84 +func_ov00_02087d84: ; 0x02087d84 + ldr r2, _02087d94 ; =data_ov00_020d8aa8 + mov r1, #0x68 + mla r0, r1, r0, r2 + bx lr + .align 2, 0 + arm_func_end func_ov00_02087d84 +_02087d94: .word data_ov00_020d8aa8 + + .global func_ov00_02087d98 + arm_func_start func_ov00_02087d98 +func_ov00_02087d98: ; 0x02087d98 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + mov r5, r1 + mov r4, #0 +_02087da8: + ldr r0, [r6, #0x154] + ldr r0, [r0, r4, lsl #2] + cmp r0, #0 + beq _02087dc8 + ldr r2, [r0] + mov r1, r5 + ldr r2, [r2, #0x30] + blx r2 +_02087dc8: + add r4, r4, #1 + cmp r4, #0x10 + blt _02087da8 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end func_ov00_02087d98 + + .global func_ov00_02087dd8 + arm_func_start func_ov00_02087dd8 +func_ov00_02087dd8: ; 0x02087dd8 + stmdb sp!, {r3, lr} + ldr r1, [r0, #0x154] + ldr r0, [r0, #0x160] + ldr r0, [r1, r0, lsl #2] + ldr r1, [r0] + ldr r1, [r1, #0x34] + blx r1 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_02087dd8 + + .global func_ov00_02087df8 + arm_func_start func_ov00_02087df8 +func_ov00_02087df8: ; 0x02087df8 + ldr r2, [r0, #0x24] + str r2, [r1] + ldr r2, [r0, #0x30] + str r2, [r1, #4] + ldr r0, [r0, #0x3c] + str r0, [r1, #8] + bx lr + arm_func_end func_ov00_02087df8 + + .global func_ov00_02087e14 + arm_func_start func_ov00_02087e14 +func_ov00_02087e14: ; 0x02087e14 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #0x40 + mov r5, r0 + ldr r0, [r5, #0x14c] + mov r4, r1 + bl func_ov00_0209dec4 + cmp r0, #0 + addne sp, sp, #0x40 + movne r0, #0 + ldmneia sp!, {r3, r4, r5, pc} + ldr r1, [r5, #0x14c] + add r0, sp, #0 + bl func_ov00_0209dd44 + ldr r1, [sp, #0x24] + mov r0, #1 + str r1, [r4] + ldr r1, [sp, #0x28] + str r1, [r4, #4] + ldr r1, [sp, #0x2c] + str r1, [r4, #8] + ldr r1, [sp, #0x30] + str r1, [r4, #0xc] + ldr r1, [sp, #0x34] + str r1, [r4, #0x10] + ldr r1, [sp, #0x38] + str r1, [r4, #0x14] + ldrsh r1, [sp, #0x3c] + strh r1, [r4, #0x18] + add sp, sp, #0x40 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02087e14 + + .global func_ov00_02087e8c + arm_func_start func_ov00_02087e8c +func_ov00_02087e8c: ; 0x02087e8c + stmdb sp!, {r3, lr} + ldr r0, _02087eec ; =data_027e0e60 + mov r1, #0 + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_02083938Ei + sub r0, r0, #0x11 + cmp r0, #0xa + addls pc, pc, r0, lsl #2 + b _02087ee4 +_02087eb0: ; jump table + b _02087edc ; case 0 + b _02087edc ; case 1 + b _02087edc ; case 2 + b _02087edc ; case 3 + b _02087edc ; case 4 + b _02087edc ; case 5 + b _02087ee4 ; case 6 + b _02087ee4 ; case 7 + b _02087ee4 ; case 8 + b _02087ee4 ; case 9 + b _02087edc ; case 10 +_02087edc: + mov r0, #1 + ldmia sp!, {r3, pc} +_02087ee4: + mov r0, #0 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_02087e8c +_02087eec: .word data_027e0e60 + + .global func_ov00_02087ef0 + arm_func_start func_ov00_02087ef0 +func_ov00_02087ef0: ; 0x02087ef0 + stmdb sp!, {r3, lr} + bl func_ov00_02087e8c + cmp r0, #0 + movne r0, #8 + moveq r0, #6 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_02087ef0 + + .global func_ov00_02087f08 + arm_func_start func_ov00_02087f08 +func_ov00_02087f08: ; 0x02087f08 + ldr ip, _02087f1c ; =func_ov00_02087f20 + mov r2, r0 + mov r0, r1 + ldr r1, [r2, #0x15c] + bx ip + .align 2, 0 + arm_func_end func_ov00_02087f08 +_02087f1c: .word func_ov00_02087f20 + + .global func_ov00_02087f20 + arm_func_start func_ov00_02087f20 +func_ov00_02087f20: ; 0x02087f20 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #0x68 + mov r5, r0 + mov r0, r1 + bl func_ov00_02087d84 + add lr, sp, #0 + mov r4, r0 + mov ip, #6 +_02087f40: + ldmia r4!, {r0, r1, r2, r3} + stmia lr!, {r0, r1, r2, r3} + subs ip, ip, #1 + bne _02087f40 + ldmia r4, {r0, r1} + stmia lr, {r0, r1} + cmp r5, #7 + addls pc, pc, r5, lsl #2 + b _02087fb4 +_02087f64: ; jump table + b _02087fb4 ; case 0 + b _02087fb4 ; case 1 + b _02087f9c ; case 2 + b _02087fb4 ; case 3 + b _02087fb4 ; case 4 + b _02087f84 ; case 5 + b _02087fa8 ; case 6 + b _02087f90 ; case 7 +_02087f84: + ldrb r0, [sp, #0x60] + add sp, sp, #0x68 + ldmia sp!, {r3, r4, r5, pc} +_02087f90: + ldrb r0, [sp, #0x63] + add sp, sp, #0x68 + ldmia sp!, {r3, r4, r5, pc} +_02087f9c: + ldrb r0, [sp, #0x61] + add sp, sp, #0x68 + ldmia sp!, {r3, r4, r5, pc} +_02087fa8: + ldrb r0, [sp, #0x62] + add sp, sp, #0x68 + ldmia sp!, {r3, r4, r5, pc} +_02087fb4: + mov r0, #0 + add sp, sp, #0x68 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02087f20 + + .global func_ov00_02087fc0 + arm_func_start func_ov00_02087fc0 +func_ov00_02087fc0: ; 0x02087fc0 + stmdb sp!, {r3, lr} + ldr r2, [r0, #0x154] + ldr r0, [r0, #0x160] + ldr r0, [r2, r0, lsl #2] + ldr r2, [r0] + ldr r2, [r2, #0x40] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_02087fc0 + + .global func_ov00_02087fe0 + arm_func_start func_ov00_02087fe0 +func_ov00_02087fe0: ; 0x02087fe0 + stmdb sp!, {r3, lr} + ldr r3, [r0, #0x154] + ldr r0, [r0, #0x160] + ldr r0, [r3, r0, lsl #2] + ldr r3, [r0] + ldr r3, [r3, #0x44] + blx r3 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_02087fe0 + + .global func_ov00_02088000 + arm_func_start func_ov00_02088000 +func_ov00_02088000: ; 0x02088000 + ldr ip, _0208800c ; =func_ov00_020a1888 + ldr r0, [r0, #0x150] + bx ip + .align 2, 0 + arm_func_end func_ov00_02088000 +_0208800c: .word func_ov00_020a1888 + + .global func_ov00_02088010 + arm_func_start func_ov00_02088010 +func_ov00_02088010: ; 0x02088010 + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0xc + ldr r2, _02088070 ; =data_027e0e60 + mov r5, r0 + ldr r0, [r2] + mov r4, r1 + bl _ZN10MapManager18func_ov00_02084934Ev + cmp r0, #0 + addeq sp, sp, #0xc + moveq r0, #0 + ldmeqia sp!, {r4, r5, pc} + ldr r0, [r4] + add r1, sp, #0 + str r0, [sp] + ldr r2, [r4, #4] + add r0, r5, #0x2f0 + str r2, [sp, #4] + ldr r2, [r4, #8] + str r2, [sp, #8] + bl func_ov00_0208ed74 + mov r0, #1 + strb r0, [r5, #0x2ed] + add sp, sp, #0xc + ldmia sp!, {r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_02088010 +_02088070: .word data_027e0e60 + + .global func_ov00_02088074 + arm_func_start func_ov00_02088074 +func_ov00_02088074: ; 0x02088074 + stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} + sub sp, sp, #0xc + add r3, sp, #0 + mov r8, r0 + mov r7, r1 + ldmia r7, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r3 + mov r2, r3 + add r1, r8, #0x1c + bl func_01ff9158 + add r6, r8, #0x10c + mov r5, #0 + add r4, sp, #0 +_020880ac: + mov r0, r6 + mov r1, r4 + bl func_01ff9c2c + add r1, r8, r5, lsl #4 + ldr r2, [r1, #0x118] + ldr r1, [r7, #0xc] + sub r2, r0, r2 + rsb r0, r1, #0 + cmp r2, r0 + addlt sp, sp, #0xc + movlt r0, #0 + ldmltia sp!, {r3, r4, r5, r6, r7, r8, pc} + add r5, r5, #1 + cmp r5, #4 + add r6, r6, #0x10 + blt _020880ac + mov r0, #1 + add sp, sp, #0xc + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} + arm_func_end func_ov00_02088074 + + .global func_ov00_020880f8 + arm_func_start func_ov00_020880f8 +func_ov00_020880f8: ; 0x020880f8 + stmdb sp!, {r3, lr} + sub sp, sp, #0x10 + ldr r3, [r1] + mov r2, #0 + str r3, [sp] + ldr r3, [r1, #4] + str r3, [sp, #4] + ldr r3, [r1, #8] + add r1, sp, #0 + str r3, [sp, #8] + str r2, [sp, #0xc] + bl func_ov00_02088074 + add sp, sp, #0x10 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_020880f8 + + .global func_ov00_02088130 + arm_func_start func_ov00_02088130 +func_ov00_02088130: ; 0x02088130 + ldrb r2, [r1, #0x320] + strb r2, [r0] + ldrb r1, [r1, #0x322] + strb r1, [r0, #1] + bx lr + arm_func_end func_ov00_02088130 + + .global func_ov00_02088144 + arm_func_start func_ov00_02088144 +func_ov00_02088144: ; 0x02088144 + ldrb r2, [r1, #0x321] + strb r2, [r0] + ldrb r1, [r1, #0x323] + strb r1, [r0, #1] + bx lr + arm_func_end func_ov00_02088144 + + .global func_ov00_02088158 + arm_func_start func_ov00_02088158 +func_ov00_02088158: ; 0x02088158 + ldrb r3, [r1] + ldrb r2, [r0, #0x320] + cmp r3, r2 + blo _02088194 + ldrb r2, [r0, #0x322] + cmp r3, r2 + bhi _02088194 + ldrb r2, [r1, #1] + ldrb r1, [r0, #0x321] + cmp r2, r1 + blo _02088194 + ldrb r0, [r0, #0x323] + cmp r2, r0 + movls r0, #1 + bxls lr +_02088194: + mov r0, #0 + bx lr + arm_func_end func_ov00_02088158 + + .global func_ov00_0208819c + arm_func_start func_ov00_0208819c +func_ov00_0208819c: ; 0x0208819c + stmdb sp!, {r3, r4, r5, lr} + ldrb r3, [r0, #0x320] + ldrb r5, [r0, #0x322] + ldrb r4, [r0, #0x321] + ldrb lr, [r0, #0x323] + ldrb ip, [r1] + sub r0, r3, r2 + add r5, r5, r2 + cmp ip, r0 + sub r3, r4, r2 + add r2, lr, r2 + blt _020881ec + cmp ip, r5 + bgt _020881ec + ldrb r0, [r1, #1] + cmp r0, r3 + blt _020881ec + cmp r0, r2 + movle r0, #1 + ldmleia sp!, {r3, r4, r5, pc} +_020881ec: + mov r0, #0 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_0208819c + + .global func_ov00_020881f4 + arm_func_start func_ov00_020881f4 +func_ov00_020881f4: ; 0x020881f4 + stmdb sp!, {r3} + sub sp, sp, #0x24 + ldr r1, _02088240 ; =data_027e0f94 + add r3, sp, #0x18 + mov ip, r0 + ldmia r1, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldr r2, [sp, #0x18] + ldr r1, [sp, #0x1c] + ldr r0, [sp, #0x20] + str r2, [ip, #0x2f0] + str r1, [ip, #0x2f4] + str r0, [ip, #0x2f8] + str r2, [ip, #0x2fc] + str r1, [ip, #0x300] + str r0, [ip, #0x304] + add sp, sp, #0x24 + ldmia sp!, {r3} + bx lr + .align 2, 0 + arm_func_end func_ov00_020881f4 +_02088240: .word data_027e0f94 + + .global func_ov00_02088244 + arm_func_start func_ov00_02088244 +func_ov00_02088244: ; 0x02088244 + add r1, r0, #0x200 + ldrsh r1, [r1, #0x24] + ldrsh r0, [r0, #4] + cmp r1, r0 + movle r0, #1 + movgt r0, #0 + bx lr + arm_func_end func_ov00_02088244 + + .global func_ov00_02088260 + arm_func_start func_ov00_02088260 +func_ov00_02088260: ; 0x02088260 + stmdb sp!, {r3, r4, r5, lr} + ldr r0, [r0, #0x158] + mov lr, r1 + ldr r2, [r0, #4] + cmp r2, #4 + ldmhsia sp!, {r3, r4, r5, pc} + mov r4, #0 + strb r4, [sp, #1] + ldr r3, [r0, #4] + ldr r2, [r0, #8] + cmp r3, r2 + bhs _02088300 + add r1, r3, #1 + str r1, [r0, #4] + ldr r2, [r0] + sub r1, r1, #1 + mov r0, #0x28 + mla ip, r1, r0, r2 + mov r5, lr + mov r4, ip + ldmia r5!, {r0, r1, r2, r3} + stmia r4!, {r0, r1, r2, r3} + ldmia r5, {r0, r1, r2} + stmia r4, {r0, r1, r2} + add r4, lr, #0x1c + add r3, ip, #0x1c + mov r2, #3 +_020882cc: + ldrb r1, [r4] + ldrb r0, [r4, #1] + add r4, r4, #2 + subs r2, r2, #1 + strb r1, [r3] + strb r0, [r3, #1] + add r3, r3, #2 + bne _020882cc + ldrb r0, [r4] + strb r0, [r3] + ldr r0, [lr, #0x24] + str r0, [ip, #0x24] + ldmia sp!, {r3, r4, r5, pc} +_02088300: + strb r4, [sp] + sub r3, sp, #4 + and r2, r4, #0xff + strb r2, [r3] + ldr r2, [r3] + bl func_ov00_0208a8ec + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02088260 + + .global func_ov00_0208831c + arm_func_start func_ov00_0208831c +func_ov00_0208831c: ; 0x0208831c + stmdb sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #0xc + ldr r5, [r0, #0x158] + mov r0, #0x28 + ldr r2, [r5, #4] + ldr r3, [r5] + movs r1, r2 + mla r4, r2, r0, r3 + str r4, [sp, #8] + beq _02088380 + sub r6, sp, #4 + mov r7, #0 +_0208834c: + strb r7, [sp, #1] + and r0, r7, #0xff + strb r0, [r6] + sub r4, r4, #0x28 + ldr r2, [r6] + mov r0, r5 + mov r1, r4 + bl func_ov00_0208a958 + ldr r0, [r5, #4] + cmp r0, #0 + bne _0208834c + str r4, [sp, #4] + str r4, [sp, #8] +_02088380: + ldr r1, [r5, #4] + mov r2, #0 + strb r2, [sp] + sub r0, sp, #4 + strb r2, [r0] + ldr r2, [r0] + mov r0, r5 + bl func_ov00_0208a91c + add sp, sp, #0xc + ldmia sp!, {r4, r5, r6, r7, pc} + arm_func_end func_ov00_0208831c + + .global func_ov00_020883a8 + arm_func_start func_ov00_020883a8 +func_ov00_020883a8: ; 0x020883a8 + stmdb sp!, {r3, r4, r5, lr} + ldr r0, [r0, #0x158] + mov r4, r2 + ldr r2, [r0, #4] + cmp r2, #0 + ldmeqia sp!, {r3, r4, r5, pc} + cmp r2, r1 + ldmloia sp!, {r3, r4, r5, pc} + bl func_ov00_0208aa3c + mov ip, r0 + mov r5, r4 + mov lr, ip + ldmia r5!, {r0, r1, r2, r3} + stmia lr!, {r0, r1, r2, r3} + ldmia r5, {r0, r1, r2} + stmia lr, {r0, r1, r2} + add lr, r4, #0x1c + add r3, ip, #0x1c + mov r2, #3 +_020883f4: + ldrb r1, [lr] + ldrb r0, [lr, #1] + add lr, lr, #2 + subs r2, r2, #1 + strb r1, [r3] + strb r0, [r3, #1] + add r3, r3, #2 + bne _020883f4 + ldrb r0, [lr] + strb r0, [r3] + ldr r0, [r4, #0x24] + str r0, [ip, #0x24] + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_020883a8 + + .global func_ov00_02088428 + arm_func_start func_ov00_02088428 +func_ov00_02088428: ; 0x02088428 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r2, [r4, #0x158] + mov r0, #0x1000 + str r1, [r2, #0x14] + mov r1, #0x1e000 + bl Divide + mov r1, r0 + ldr r0, [r4, #0x158] + bl func_ov00_020a0848 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02088428 + + .global func_ov00_02088454 + arm_func_start func_ov00_02088454 +func_ov00_02088454: ; 0x02088454 + stmdb sp!, {r3, lr} + ldr ip, [r0, #0x154] + ldr r0, [r0, #0x160] + ldr r0, [ip, r0, lsl #2] + ldr ip, [r0] + ldr ip, [ip, #0x20] + blx ip + ldmia sp!, {r3, pc} + arm_func_end func_ov00_02088454 + + .global func_ov00_02088474 + arm_func_start func_ov00_02088474 +func_ov00_02088474: ; 0x02088474 + stmdb sp!, {r3, lr} + ldr ip, [r0, #0x154] + ldr r0, [r0, #0x160] + ldr r0, [ip, r0, lsl #2] + ldr ip, [r0] + ldr ip, [ip, #0x24] + blx ip + ldmia sp!, {r3, pc} + arm_func_end func_ov00_02088474 + + .global func_ov00_02088494 + arm_func_start func_ov00_02088494 +func_ov00_02088494: ; 0x02088494 + stmdb sp!, {r3, lr} + ldr ip, [r0, #0x154] + ldr r0, [r0, #0x160] + ldr r0, [ip, r0, lsl #2] + ldr ip, [r0] + ldr ip, [ip, #0x28] + blx ip + ldmia sp!, {r3, pc} + arm_func_end func_ov00_02088494 + + .global func_ov00_020884b4 + arm_func_start func_ov00_020884b4 +func_ov00_020884b4: ; 0x020884b4 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x98 + mov r5, r0 + ldr r0, [r5, #0x15c] + mov r11, r1 + sub r0, r0, #0xb + mov r4, r2 + str r3, [sp, #4] + cmp r0, #4 + addls pc, pc, r0, lsl #2 + b _020884fc +_020884e0: ; jump table + b _020884f4 ; case 0 + b _020884f4 ; case 1 + b _020884f4 ; case 2 + b _020884f4 ; case 3 + b _020884f4 ; case 4 +_020884f4: + add sp, sp, #0x98 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} +_020884fc: + ldr r1, [r5, #0x160] + mov r0, r5 + bl func_ov00_0208a84c + cmp r0, #0 + beq _02088564 + ldr r1, [r5, #0x164] + add r0, r5, #0x100 + str r1, [r5, #0x188] + ldrb r1, [r5, #0x168] + strb r1, [r5, #0x18c] + ldr r1, [r5, #0x16c] + str r1, [r5, #0x190] + ldr r1, [r5, #0x170] + str r1, [r5, #0x194] + ldr r1, [r5, #0x174] + str r1, [r5, #0x198] + ldrsh r1, [r0, #0x78] + strh r1, [r0, #0x9c] + ldrsh r1, [r0, #0x7a] + strh r1, [r0, #0x9e] + ldrh r2, [r0, #0x7c] + ldrh r1, [r0, #0x7e] + strh r2, [r0, #0xa0] + strh r1, [r0, #0xa2] + ldr r0, [r5, #0x15c] + str r0, [r5, #0x180] +_02088564: + ldr r2, [r5, #0x180] + mov r0, #0x68 + cmp r2, #0x5c + ldrlt r1, _020888e4 ; =data_ov00_020d8aa8 + mlalt r0, r2, r0, r1 + blt _02088588 + ldr r1, [r5, #0x15c] + ldr r2, _020888e4 ; =data_ov00_020d8aa8 + mla r0, r1, r0, r2 +_02088588: + ldr ip, [r0, #0xc] + ldr lr, [r0, #0x10] + mov r2, #0 + ldr r6, [r0, #0x14] + ldr r7, [r0, #0x18] + ldr r8, [r0, #0x1c] + ldr r9, [r0, #0x20] + ldr r10, [r0, #0x24] + mov r1, #4 + str r1, [r5, #0x15c] + mov r0, #0xff + str r1, [sp, #8] + add r1, sp, #8 + strb r0, [sp, #0xc] + strh r2, [sp, #0x1c] + strh r2, [sp, #0x1e] + mov r3, r2 +_020885cc: + add r0, r1, r2, lsl #1 + strh r3, [r0, #0x18] + add r2, r2, #1 + cmp r2, #2 + blo _020885cc + ldr r1, [sp, #8] + ldrb r0, [sp, #0xc4] + str r1, [r5, #0x164] + ldrb r1, [sp, #0xc] + cmp r0, #0 + add r0, r5, #0x100 + strb r1, [r5, #0x168] + ldr r1, [sp, #0x10] + str r1, [r5, #0x16c] + ldr r1, [sp, #0x14] + str r1, [r5, #0x170] + ldr r1, [sp, #0x18] + str r1, [r5, #0x174] + ldrsh r1, [sp, #0x1c] + strh r1, [r0, #0x78] + ldrsh r1, [sp, #0x1e] + strh r1, [r0, #0x7a] + ldrh r2, [sp, #0x20] + ldrh r1, [sp, #0x22] + strh r2, [r0, #0x7c] + strh r1, [r0, #0x7e] + mov r0, #5 + str r0, [r5, #0x160] + ldmia r4, {r0, r1, r2} + add r4, sp, #0x24 + stmia r4, {r0, r1, r2} + ldr r0, [r5, #0x154] + ldr r1, [sp, #0x24] + ldr r0, [r0, #0x14] + str r1, [r0, #8] + ldr r1, [sp, #0x28] + str r1, [r0, #0xc] + ldr r1, [sp, #0x2c] + str r1, [r0, #0x10] + ldr r0, [r5, #0x154] + ldr r0, [r0, #0x14] + strh r3, [r0, #0x14] + str r11, [r5, #0x1a4] + str r3, [r5, #0x1a8] + ldr r1, [r5, #0x15c] + mov r0, #0x68 + beq _02088764 + mul r3, r1, r0 + ldr r4, _020888e4 ; =data_ov00_020d8aa8 + str ip, [sp, #0x3c] + add r11, r4, r3 + ldrb r2, [r11, #0x60] + ldrb r1, [r11, #0x61] + ldr r3, [r4, r3] + strb r2, [sp, #0x90] + ldr r2, [r11, #4] + strb r1, [sp, #0x91] + ldr r1, [r11, #8] + str r2, [sp, #0x34] + ldr r2, [r11, #0x28] + str r1, [sp, #0x38] + ldr r1, [r11, #0x2c] + str r2, [sp, #0x58] + ldr r2, [r11, #0x30] + str r1, [sp, #0x5c] + ldr r1, [r11, #0x34] + str r2, [sp, #0x60] + ldr r2, [r11, #0x38] + str r1, [sp, #0x64] + ldr r1, [r11, #0x3c] + str r2, [sp, #0x68] + ldr r2, [r11, #0x40] + str r1, [sp, #0x6c] + ldr r1, [r11, #0x44] + str r2, [sp, #0x70] + ldr r2, [r11, #0x48] + str r1, [sp, #0x74] + ldr r1, [r11, #0x4c] + str r2, [sp, #0x78] + ldr r2, [r11, #0x50] + str r1, [sp, #0x7c] + ldr r1, [r11, #0x54] + ldrb r0, [r11, #0x62] + ldrb r4, [r11, #0x63] + str r3, [sp, #0x30] + ldrb r3, [r11, #0x64] + str r2, [sp, #0x80] + ldr r2, [r11, #0x58] + str r1, [sp, #0x84] + ldr r1, [r11, #0x5c] + str r2, [sp, #0x88] + str r1, [sp, #0x8c] + strb r0, [sp, #0x92] + strb r4, [sp, #0x93] + strb r3, [sp, #0x94] + str lr, [sp, #0x40] + str r6, [sp, #0x44] + str r7, [sp, #0x48] + str r8, [sp, #0x4c] + str r9, [sp, #0x50] + str r10, [sp, #0x54] + b _02088858 +_02088764: + mul r7, r1, r0 + ldr r8, _020888e4 ; =data_ov00_020d8aa8 + add r0, r8, r7 + ldr r11, [r8, r7] + ldr r10, [r0, #4] + ldr r9, [r0, #8] + ldr r8, [r0, #0xc] + ldr r7, [r0, #0x10] + ldr ip, [r0, #0x14] + str r11, [sp, #0x30] + ldr r11, [r0, #0x18] + str r10, [sp, #0x34] + ldr r10, [r0, #0x1c] + str r9, [sp, #0x38] + ldr r9, [r0, #0x20] + str r8, [sp, #0x3c] + ldr r8, [r0, #0x24] + str r7, [sp, #0x40] + ldr r7, [r0, #0x28] + str ip, [sp, #0x44] + ldr ip, [r0, #0x2c] + str r11, [sp, #0x48] + ldr r11, [r0, #0x30] + str r10, [sp, #0x4c] + ldr r10, [r0, #0x34] + str r9, [sp, #0x50] + ldr r9, [r0, #0x38] + str r8, [sp, #0x54] + ldr r8, [r0, #0x3c] + str r7, [sp, #0x58] + ldr r7, [r0, #0x40] + ldrb r6, [r0, #0x60] + ldrb r4, [r0, #0x61] + ldrb r3, [r0, #0x62] + ldrb r2, [r0, #0x63] + ldrb r1, [r0, #0x64] + str ip, [sp, #0x5c] + ldr ip, [r0, #0x44] + str r11, [sp, #0x60] + ldr r11, [r0, #0x48] + str r10, [sp, #0x64] + ldr r10, [r0, #0x4c] + str r9, [sp, #0x68] + ldr r9, [r0, #0x50] + str r8, [sp, #0x6c] + ldr r8, [r0, #0x54] + str r7, [sp, #0x70] + ldr r7, [r0, #0x58] + ldr r0, [r0, #0x5c] + str ip, [sp, #0x74] + str r11, [sp, #0x78] + str r10, [sp, #0x7c] + str r9, [sp, #0x80] + str r8, [sp, #0x84] + str r7, [sp, #0x88] + str r0, [sp, #0x8c] + strb r6, [sp, #0x90] + strb r4, [sp, #0x91] + strb r3, [sp, #0x92] + strb r2, [sp, #0x93] + strb r1, [sp, #0x94] +_02088858: + ldr r1, [r5, #0x154] + ldr r0, [r5, #0x160] + ldrb r3, [sp, #0xc8] + ldr r0, [r1, r0, lsl #2] + mov r2, #0 + strb r3, [r0, #0x18] + str r2, [sp] + add r1, sp, #0x30 + mov r0, r5 + add r2, r5, #0x164 + mov r3, #1 + bl func_ov00_02087b78 + ldr r1, [r5, #0x154] + ldr r0, [r5, #0x160] + ldr r2, [sp, #0xc0] + ldr r0, [r1, r0, lsl #2] + add r1, sp, #0x24 + str r2, [r0, #0x1c] + ldr r3, [r5, #0x154] + ldr r2, [r5, #0x160] + mov r0, r5 + ldr r3, [r3, r2, lsl #2] + ldr r2, [sp, #4] + str r2, [r3, #0x20] + bl func_ov00_02089b94 + ldr r1, [sp, #0x24] + mov r0, #1 + str r1, [r5, #0x2a8] + ldr r1, [sp, #0x28] + str r1, [r5, #0x2ac] + ldr r1, [sp, #0x2c] + str r1, [r5, #0x2b0] + strb r0, [r5, #0x2ec] + add sp, sp, #0x98 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_020884b4 +_020888e4: .word data_ov00_020d8aa8 + + .global func_ov00_020888e8 + arm_func_start func_ov00_020888e8 +func_ov00_020888e8: ; 0x020888e8 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} + sub sp, sp, #0x94 + mov r7, r0 + ldr r0, [r7, #0x15c] + mov r6, r1 + sub r0, r0, #0xb + mov r5, r2 + mov r4, r3 + cmp r0, #4 + addls pc, pc, r0, lsl #2 + b _02088930 +_02088914: ; jump table + b _02088928 ; case 0 + b _02088928 ; case 1 + b _02088928 ; case 2 + b _02088928 ; case 3 + b _02088928 ; case 4 +_02088928: + add sp, sp, #0x94 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} +_02088930: + ldr r1, [r7, #0x160] + mov r0, r7 + bl func_ov00_0208a84c + cmp r0, #0 + beq _02088998 + ldr r1, [r7, #0x15c] + add r0, r7, #0x100 + str r1, [r7, #0x180] + ldr r1, [r7, #0x164] + str r1, [r7, #0x188] + ldrb r1, [r7, #0x168] + strb r1, [r7, #0x18c] + ldr r1, [r7, #0x16c] + str r1, [r7, #0x190] + ldr r1, [r7, #0x170] + str r1, [r7, #0x194] + ldr r1, [r7, #0x174] + str r1, [r7, #0x198] + ldrsh r1, [r0, #0x78] + strh r1, [r0, #0x9c] + ldrsh r1, [r0, #0x7a] + strh r1, [r0, #0x9e] + ldrh r2, [r0, #0x7c] + ldrh r1, [r0, #0x7e] + strh r2, [r0, #0xa0] + strh r1, [r0, #0xa2] +_02088998: + mov r1, #4 + str r1, [r7, #0x15c] + mov r3, #0 + mov r0, #0xff + add r2, sp, #4 + str r1, [sp, #4] + strb r0, [sp, #8] + strh r3, [sp, #0x18] + strh r3, [sp, #0x1a] + mov r10, r3 +_020889c0: + add r0, r2, r3, lsl #1 + add r3, r3, #1 + strh r10, [r0, #0x18] + cmp r3, #2 + blo _020889c0 + ldr r1, [sp, #4] + add r0, r7, #0x100 + str r1, [r7, #0x164] + ldrb r1, [sp, #8] + add r9, sp, #0x20 + mov r3, #5 + strb r1, [r7, #0x168] + ldr r1, [sp, #0xc] + add lr, sp, #0x2c + str r1, [r7, #0x16c] + ldr r1, [sp, #0x10] + mov r8, r4 + str r1, [r7, #0x170] + ldr r1, [sp, #0x14] + mov ip, #6 + str r1, [r7, #0x174] + ldrsh r1, [sp, #0x18] + strh r1, [r0, #0x78] + ldrsh r1, [sp, #0x1a] + strh r1, [r0, #0x7a] + ldrh r2, [sp, #0x1c] + ldrh r1, [sp, #0x1e] + strh r2, [r0, #0x7c] + strh r1, [r0, #0x7e] + ldmia r5, {r0, r1, r2} + stmia r9, {r0, r1, r2} + ldr r1, [r7, #0x154] + ldr r0, [sp, #0x20] + ldr r1, [r1, #0x14] + str r0, [r1, #8] + ldr r0, [sp, #0x24] + str r0, [r1, #0xc] + ldr r0, [sp, #0x28] + str r0, [r1, #0x10] + ldr r0, [r7, #0x154] + ldr r0, [r0, #0x14] + strh r10, [r0, #0x14] + str r3, [r7, #0x160] +_02088a6c: + ldmia r8!, {r0, r1, r2, r3} + stmia lr!, {r0, r1, r2, r3} + subs ip, ip, #1 + bne _02088a6c + ldmia r8, {r0, r1} + stmia lr, {r0, r1} + mov r0, #5 + str r0, [sp, #0x30] + str r6, [r7, #0x1a4] + mov r3, #0 + str r3, [r7, #0x1a8] + ldr r1, [r7, #0x154] + ldr r0, [r7, #0x160] + ldrb r2, [sp, #0xc0] + ldr r0, [r1, r0, lsl #2] + add r1, sp, #0x2c + strb r2, [r0, #0x18] + str r3, [sp] + mov r0, r7 + add r2, r7, #0x164 + mov r3, #1 + bl func_ov00_02087b78 + ldr r1, [r7, #0x154] + ldr r0, [r7, #0x160] + ldr r2, [sp, #0xbc] + ldr r0, [r1, r0, lsl #2] + ldr r3, [sp, #0xb8] + str r2, [r0, #0x1c] + ldr r2, [r7, #0x154] + ldr r0, [r7, #0x160] + add r1, sp, #0x20 + ldr r2, [r2, r0, lsl #2] + mov r0, r7 + str r3, [r2, #0x20] + ldr r2, [r4, #0x14] + mov r2, r2, lsl #0x10 + mov r2, r2, asr #0x10 + bl func_ov00_02089c50 + ldr r1, [sp, #0x20] + mov r0, #1 + str r1, [r7, #0x2a8] + ldr r1, [sp, #0x24] + str r1, [r7, #0x2ac] + ldr r1, [sp, #0x28] + str r1, [r7, #0x2b0] + strb r0, [r7, #0x2ec] + add sp, sp, #0x94 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} + arm_func_end func_ov00_020888e8 + + .global func_ov00_02088b2c + arm_func_start func_ov00_02088b2c +func_ov00_02088b2c: ; 0x02088b2c + stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} + sub sp, sp, #0x94 + mov r7, r0 + ldr r0, [r7, #0x15c] + mov r6, r1 + sub r0, r0, #0xb + mov r5, r2 + mov r4, r3 + cmp r0, #4 + addls pc, pc, r0, lsl #2 + b _02088b74 +_02088b58: ; jump table + b _02088b6c ; case 0 + b _02088b6c ; case 1 + b _02088b6c ; case 2 + b _02088b6c ; case 3 + b _02088b6c ; case 4 +_02088b6c: + add sp, sp, #0x94 + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} +_02088b74: + ldr r1, [r7, #0x160] + mov r0, r7 + bl func_ov00_0208a84c + cmp r0, #0 + beq _02088bdc + ldr r1, [r7, #0x15c] + add r0, r7, #0x100 + str r1, [r7, #0x180] + ldr r1, [r7, #0x164] + str r1, [r7, #0x188] + ldrb r1, [r7, #0x168] + strb r1, [r7, #0x18c] + ldr r1, [r7, #0x16c] + str r1, [r7, #0x190] + ldr r1, [r7, #0x170] + str r1, [r7, #0x194] + ldr r1, [r7, #0x174] + str r1, [r7, #0x198] + ldrsh r1, [r0, #0x78] + strh r1, [r0, #0x9c] + ldrsh r1, [r0, #0x7a] + strh r1, [r0, #0x9e] + ldrh r2, [r0, #0x7c] + ldrh r1, [r0, #0x7e] + strh r2, [r0, #0xa0] + strh r1, [r0, #0xa2] +_02088bdc: + ldr r0, [sp, #0xb0] + bl func_ov00_02087d84 + ldr r0, [r0, #4] + cmp r0, #5 + addne sp, sp, #0x94 + ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} + ldr r1, [sp, #0xb0] + mov r8, #0 + str r1, [r7, #0x15c] + mov r0, #0xff + add r2, sp, #4 + str r1, [sp, #4] + strb r0, [sp, #8] + strh r8, [sp, #0x18] + strh r8, [sp, #0x1a] + mov r3, r8 +_02088c1c: + add r0, r2, r8, lsl #1 + add r8, r8, #1 + strh r3, [r0, #0x18] + cmp r8, #2 + blo _02088c1c + ldr r1, [sp, #4] + add r0, r7, #0x100 + str r1, [r7, #0x164] + ldrb r2, [sp, #8] + mov r1, #5 + add lr, sp, #0x20 + strb r2, [r7, #0x168] + ldr r2, [sp, #0xc] + ldrb ip, [sp, #0xbc] + str r2, [r7, #0x16c] + ldr r2, [sp, #0x10] + str r2, [r7, #0x170] + ldr r2, [sp, #0x14] + str r2, [r7, #0x174] + ldrsh r2, [sp, #0x18] + strh r2, [r0, #0x78] + ldrsh r2, [sp, #0x1a] + strh r2, [r0, #0x7a] + ldrh r8, [sp, #0x1c] + ldrh r2, [sp, #0x1e] + strh r8, [r0, #0x7c] + strh r2, [r0, #0x7e] + str r1, [r7, #0x160] + ldmia r5, {r0, r1, r2} + stmia lr, {r0, r1, r2} + ldr r0, [r7, #0x154] + ldr r1, [sp, #0x20] + ldr r2, [r0, #0x14] + ldr r0, [sp, #0xb0] + str r1, [r2, #8] + ldr r1, [sp, #0x24] + str r1, [r2, #0xc] + ldr r1, [sp, #0x28] + str r1, [r2, #0x10] + ldr r1, [r7, #0x154] + ldr r1, [r1, #0x14] + strh r4, [r1, #0x14] + str r6, [r7, #0x1a4] + str r3, [r7, #0x1a8] + ldr r2, [r7, #0x154] + ldr r1, [r7, #0x160] + ldr r1, [r2, r1, lsl #2] + strb ip, [r1, #0x18] + bl func_ov00_02087d84 + add r6, sp, #0x2c + mov ip, r0 + mov r5, #6 +_02088cec: + ldmia ip!, {r0, r1, r2, r3} + stmia r6!, {r0, r1, r2, r3} + subs r5, r5, #1 + bne _02088cec + ldmia ip, {r0, r1} + stmia r6, {r0, r1} + ldr r0, [sp, #0x40] + mov r2, #0 + add r0, r0, r4 + mov r0, r0, lsl #0x10 + mov r0, r0, asr #0x10 + str r0, [sp, #0x40] + str r2, [sp] + add r1, sp, #0x2c + mov r0, r7 + add r2, r7, #0x164 + mov r3, #1 + bl func_ov00_02087b78 + ldr r1, [r7, #0x154] + ldr r0, [r7, #0x160] + ldr r2, [sp, #0xb8] + ldr r0, [r1, r0, lsl #2] + ldr r3, [sp, #0xb4] + str r2, [r0, #0x1c] + ldr r2, [r7, #0x154] + ldr r0, [r7, #0x160] + add r1, sp, #0x20 + ldr r2, [r2, r0, lsl #2] + mov r0, r7 + str r3, [r2, #0x20] + ldr r2, [sp, #0x40] + mov r2, r2, lsl #0x10 + mov r2, r2, asr #0x10 + bl func_ov00_02089c50 + ldr r1, [sp, #0x20] + mov r0, #1 + str r1, [r7, #0x2a8] + ldr r1, [sp, #0x24] + str r1, [r7, #0x2ac] + ldr r1, [sp, #0x28] + str r1, [r7, #0x2b0] + strb r0, [r7, #0x2ec] + add sp, sp, #0x94 + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} + arm_func_end func_ov00_02088b2c + + .global func_ov00_02088d9c + arm_func_start func_ov00_02088d9c +func_ov00_02088d9c: ; 0x02088d9c + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} + sub sp, sp, #0x94 + mov r7, r0 + ldr r0, [r7, #0x15c] + mov r6, r1 + sub r0, r0, #0xb + mov r5, r2 + mov r4, r3 + cmp r0, #4 + addls pc, pc, r0, lsl #2 + b _02088de4 +_02088dc8: ; jump table + b _02088ddc ; case 0 + b _02088ddc ; case 1 + b _02088ddc ; case 2 + b _02088ddc ; case 3 + b _02088ddc ; case 4 +_02088ddc: + add sp, sp, #0x94 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} +_02088de4: + ldr r1, [r7, #0x160] + mov r0, r7 + bl func_ov00_0208a84c + cmp r0, #0 + beq _02088e4c + ldr r1, [r7, #0x164] + add r0, r7, #0x100 + str r1, [r7, #0x188] + ldrb r1, [r7, #0x168] + strb r1, [r7, #0x18c] + ldr r1, [r7, #0x16c] + str r1, [r7, #0x190] + ldr r1, [r7, #0x170] + str r1, [r7, #0x194] + ldr r1, [r7, #0x174] + str r1, [r7, #0x198] + ldrsh r1, [r0, #0x78] + strh r1, [r0, #0x9c] + ldrsh r1, [r0, #0x7a] + strh r1, [r0, #0x9e] + ldrh r2, [r0, #0x7c] + ldrh r1, [r0, #0x7e] + strh r2, [r0, #0xa0] + strh r1, [r0, #0xa2] + ldr r0, [r7, #0x15c] + str r0, [r7, #0x180] +_02088e4c: + mov r1, #5 + str r1, [r7, #0x15c] + mov r3, #0 + mov r0, #0xff + add r2, sp, #4 + str r1, [sp, #4] + strb r0, [sp, #8] + strh r3, [sp, #0x18] + strh r3, [sp, #0x1a] + mov r10, r3 +_02088e74: + add r0, r2, r3, lsl #1 + add r3, r3, #1 + strh r10, [r0, #0x18] + cmp r3, #2 + blo _02088e74 + ldr r1, [sp, #4] + add r0, r7, #0x100 + str r1, [r7, #0x164] + ldrb r1, [sp, #8] + mov r9, #6 + add r8, sp, #0x20 + strb r1, [r7, #0x168] + ldr r1, [sp, #0xc] + ldr lr, _02089018 ; =data_ov00_020d8aa8 + str r1, [r7, #0x16c] + ldr r1, [sp, #0x10] + mov r3, #0x68 + str r1, [r7, #0x170] + ldr r1, [sp, #0x14] + add ip, sp, #0x2c + str r1, [r7, #0x174] + ldrsh r1, [sp, #0x18] + strh r1, [r0, #0x78] + ldrsh r1, [sp, #0x1a] + strh r1, [r0, #0x7a] + ldrh r2, [sp, #0x1c] + ldrh r1, [sp, #0x1e] + strh r2, [r0, #0x7c] + strh r1, [r0, #0x7e] + str r9, [r7, #0x160] + ldr r0, [r5] + str r0, [r7, #0x2a8] + ldr r0, [r5, #4] + str r0, [r7, #0x2ac] + ldr r0, [r5, #8] + str r0, [r7, #0x2b0] + ldr r0, [r4] + str r0, [r7, #0x29c] + ldr r0, [r4, #4] + str r0, [r7, #0x2a0] + ldr r0, [r4, #8] + str r0, [r7, #0x2a4] + ldmia r5, {r0, r1, r2} + stmia r8, {r0, r1, r2} + ldr r1, [r7, #0x154] + ldr r0, [sp, #0x20] + ldr r1, [r1, #0x18] + str r0, [r1, #8] + ldr r0, [sp, #0x24] + str r0, [r1, #0xc] + ldr r0, [sp, #0x28] + str r0, [r1, #0x10] + ldr r0, [r7, #0x154] + ldr r0, [r0, #0x18] + strh r10, [r0, #0x14] + str r6, [r7, #0x1a4] + str r10, [r7, #0x1a8] + ldr r0, [r7, #0x15c] + mla r6, r0, r3, lr +_02088f60: + ldmia r6!, {r0, r1, r2, r3} + stmia ip!, {r0, r1, r2, r3} + subs r9, r9, #1 + bne _02088f60 + ldrsh r3, [sp, #0xb8] + ldmia r6, {r0, r1} + stmia ip, {r0, r1} + add r6, sp, #0x2c + mov r0, r7 + mov r1, r5 + mov r2, r4 + str r6, [sp] + bl func_ov00_0208901c + mov r2, #0 + str r2, [sp] + mov r1, r6 + mov r0, r7 + add r2, r7, #0x164 + mov r3, #1 + bl func_ov00_02087b78 + ldr r1, [r7, #0x154] + ldr r0, [r7, #0x160] + ldr r2, [sp, #0xc0] + ldr r0, [r1, r0, lsl #2] + ldr r3, [sp, #0xbc] + str r2, [r0, #0x18] + ldr r2, [r7, #0x154] + ldr r1, [r7, #0x160] + mov r0, #1 + ldr r1, [r2, r1, lsl #2] + str r3, [r1, #0x1c] + ldr r1, [r5] + str r1, [r7, #0x2a8] + ldr r1, [r5, #4] + str r1, [r7, #0x2ac] + ldr r1, [r5, #8] + str r1, [r7, #0x2b0] + ldr r1, [r4] + str r1, [r7, #0x29c] + ldr r1, [r4, #4] + str r1, [r7, #0x2a0] + ldr r1, [r4, #8] + str r1, [r7, #0x2a4] + strb r0, [r7, #0x2ec] + add sp, sp, #0x94 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} + .align 2, 0 + arm_func_end func_ov00_02088d9c +_02089018: .word data_ov00_020d8aa8 + + .global func_ov00_0208901c + arm_func_start func_ov00_0208901c +func_ov00_0208901c: ; 0x0208901c + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0xc + ldr r4, [sp, #0x18] + mov r0, r1 + str r3, [r4, #0xc] + add ip, sp, #4 + mov r1, r2 + add r2, sp, #8 + add r3, sp, #6 + str ip, [sp] + bl func_0202b734 + ldr r0, [sp, #8] + str r0, [r4, #0x18] + ldrsh r0, [sp, #6] + str r0, [r4, #0x10] + ldrsh r0, [sp, #4] + str r0, [r4, #0x14] + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_0208901c + + .global func_ov00_02089068 + arm_func_start func_ov00_02089068 +func_ov00_02089068: ; 0x02089068 + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0x4c + ldr r3, _02089164 ; =data_027e0e60 + mov r5, r0 + ldr r0, [r3] + mov r4, r2 + add r2, sp, #0x30 + bl _ZN10MapManager18func_ov00_02083968EjPc + cmp r0, #0 + addeq sp, sp, #0x4c + moveq r0, #0 + ldmeqia sp!, {r4, r5, pc} + ldrb r0, [sp, #0x31] + cmp r0, #0 + beq _020890b8 + cmp r0, #1 + beq _020890ec + cmp r0, #2 + beq _02089120 + b _0208912c +_020890b8: + ldr lr, [sp, #0x34] + ldr ip, [sp, #0x38] + ldr r3, [sp, #0x3c] + ldr r2, [sp, #0x40] + ldr r1, [sp, #0x44] + ldr r0, [sp, #0x48] + str lr, [sp, #0x24] + str ip, [sp, #0x28] + str r3, [sp, #0x2c] + str r2, [sp, #0x18] + str r1, [sp, #0x1c] + str r0, [sp, #0x20] + b _0208912c +_020890ec: + ldr r0, _02089164 ; =data_027e0e60 + add r1, sp, #0xc + ldr r0, [r0] + bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p + add r0, sp, #0x34 + add r1, sp, #0xc + add r2, sp, #0x24 + bl func_01ff9bc4 + add r0, sp, #0x40 + add r1, sp, #0xc + add r2, sp, #0x18 + bl func_01ff9bc4 + b _0208912c +_02089120: + add sp, sp, #0x4c + mov r0, #0 + ldmia sp!, {r4, r5, pc} +_0208912c: + ldrsh r0, [sp, #0x32] + mov r1, r4 + mvn ip, #0 + str r0, [sp] + add r2, sp, #0x18 + add r3, sp, #0x24 + mov r0, r5 + str ip, [sp, #4] + mov r4, #0 + str r4, [sp, #8] + bl func_ov00_02088d9c + mov r0, #1 + add sp, sp, #0x4c + ldmia sp!, {r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_02089068 +_02089164: .word data_027e0e60 + + .global func_ov00_02089168 + arm_func_start func_ov00_02089168 +func_ov00_02089168: ; 0x02089168 + stmdb sp!, {lr} + sub sp, sp, #0xc + cmp r3, #0 + mvn r3, #0 + movne r3, #1 + ldr ip, [sp, #0x10] + mov lr, r1 + cmp r2, #0xa + addls pc, pc, r2, lsl #2 + b _02089310 +_02089190: ; jump table + b _02089310 ; case 0 + b _02089310 ; case 1 + b _020891bc ; case 2 + b _020891e0 ; case 3 + b _02089208 ; case 4 + b _02089230 ; case 5 + b _02089258 ; case 6 + b _0208927c ; case 7 + b _020892a4 ; case 8 + b _020892cc ; case 9 + b _020892f4 ; case 10 +_020891bc: + mov r1, #0 + str r1, [sp] + mov r2, #1 + str r2, [sp, #4] + mov r2, lr + str ip, [sp, #8] + bl func_ov00_020884b4 + add sp, sp, #0xc + ldmia sp!, {pc} +_020891e0: + mov r1, #0 + str r1, [sp] + mov r1, #1 + str r1, [sp, #4] + mov r2, lr + mov r1, #0xf + str ip, [sp, #8] + bl func_ov00_020884b4 + add sp, sp, #0xc + ldmia sp!, {pc} +_02089208: + mov r1, #0 + str r1, [sp] + mov r1, #1 + str r1, [sp, #4] + mov r2, lr + mov r1, #0x1e + str ip, [sp, #8] + bl func_ov00_020884b4 + add sp, sp, #0xc + ldmia sp!, {pc} +_02089230: + mov r1, #0xf + str r1, [sp] + mov r1, #1 + str r1, [sp, #4] + mov r2, lr + mov r1, #0 + str ip, [sp, #8] + bl func_ov00_020884b4 + add sp, sp, #0xc + ldmia sp!, {pc} +_02089258: + mov r1, #0xf + str r1, [sp] + mov r2, #1 + str r2, [sp, #4] + mov r2, lr + str ip, [sp, #8] + bl func_ov00_020884b4 + add sp, sp, #0xc + ldmia sp!, {pc} +_0208927c: + mov r1, #0xf + str r1, [sp] + mov r1, #1 + str r1, [sp, #4] + mov r2, lr + mov r1, #0x1e + str ip, [sp, #8] + bl func_ov00_020884b4 + add sp, sp, #0xc + ldmia sp!, {pc} +_020892a4: + mov r1, #0x1e + str r1, [sp] + mov r1, #1 + str r1, [sp, #4] + mov r2, lr + mov r1, #0 + str ip, [sp, #8] + bl func_ov00_020884b4 + add sp, sp, #0xc + ldmia sp!, {pc} +_020892cc: + mov r1, #0x1e + str r1, [sp] + mov r1, #1 + str r1, [sp, #4] + mov r2, lr + mov r1, #0xf + str ip, [sp, #8] + bl func_ov00_020884b4 + add sp, sp, #0xc + ldmia sp!, {pc} +_020892f4: + mov r1, #0x1e + str r1, [sp] + mov r2, #1 + str r2, [sp, #4] + mov r2, lr + str ip, [sp, #8] + bl func_ov00_020884b4 +_02089310: + add sp, sp, #0xc + ldmia sp!, {pc} + arm_func_end func_ov00_02089168 + + .global func_ov00_02089318 + arm_func_start func_ov00_02089318 +func_ov00_02089318: ; 0x02089318 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0xc + ldrb r4, [sp, #0x18] + mov lr, r1 + ldr ip, [sp, #0x1c] + mvn r1, #0 + cmp r4, #0 + movne r1, #1 + cmp r2, #0xa + addls pc, pc, r2, lsl #2 + b _02089494 +_02089344: ; jump table + b _02089494 ; case 0 + b _02089494 ; case 1 + b _02089370 ; case 2 + b _0208938c ; case 3 + b _020893b0 ; case 4 + b _020893d4 ; case 5 + b _020893f8 ; case 6 + b _02089414 ; case 7 + b _02089438 ; case 8 + b _0208945c ; case 9 + b _02089480 ; case 10 +_02089370: + str r1, [sp] + mov r1, #0 + mov r2, lr + stmib sp, {r1, ip} + bl func_ov00_020888e8 + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} +_0208938c: + str r1, [sp] + mov r1, #0 + str r1, [sp, #4] + mov r2, lr + mov r1, #0xf + str ip, [sp, #8] + bl func_ov00_020888e8 + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} +_020893b0: + str r1, [sp] + mov r1, #0 + str r1, [sp, #4] + mov r2, lr + mov r1, #0x1e + str ip, [sp, #8] + bl func_ov00_020888e8 + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} +_020893d4: + str r1, [sp] + mov r1, #0xf + str r1, [sp, #4] + mov r2, lr + mov r1, #0 + str ip, [sp, #8] + bl func_ov00_020888e8 + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} +_020893f8: + str r1, [sp] + mov r1, #0xf + mov r2, lr + stmib sp, {r1, ip} + bl func_ov00_020888e8 + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} +_02089414: + str r1, [sp] + mov r1, #0xf + str r1, [sp, #4] + mov r2, lr + mov r1, #0x1e + str ip, [sp, #8] + bl func_ov00_020888e8 + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} +_02089438: + str r1, [sp] + mov r1, #0x1e + str r1, [sp, #4] + mov r2, lr + mov r1, #0 + str ip, [sp, #8] + bl func_ov00_020888e8 + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} +_0208945c: + str r1, [sp] + mov r1, #0x1e + str r1, [sp, #4] + mov r2, lr + mov r1, #0xf + str ip, [sp, #8] + bl func_ov00_020888e8 + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} +_02089480: + str r1, [sp] + mov r1, #0x1e + mov r2, lr + stmib sp, {r1, ip} + bl func_ov00_020888e8 +_02089494: + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02089318 + + .global func_ov00_0208949c + arm_func_start func_ov00_0208949c +func_ov00_0208949c: ; 0x0208949c + stmdb sp!, {r4, lr} + sub sp, sp, #0x10 + ldrb ip, [sp, #0x1c] + mov r4, r1 + mov lr, r2 + cmp ip, #0 + mvn r1, #0 + movne r1, #1 + ldr r2, [sp, #0x18] + ldr ip, [sp, #0x20] + cmp r3, #0xa + addls pc, pc, r3, lsl #2 + b _02089674 +_020894d0: ; jump table + b _02089674 ; case 0 + b _02089674 ; case 1 + b _020894fc ; case 2 + b _02089524 ; case 3 + b _02089550 ; case 4 + b _0208957c ; case 5 + b _020895a8 ; case 6 + b _020895d0 ; case 7 + b _020895fc ; case 8 + b _02089628 ; case 9 + b _02089654 ; case 10 +_020894fc: + str r2, [sp] + str r1, [sp, #4] + mov r1, #0 + str r1, [sp, #8] + mov r2, r4 + mov r3, lr + str ip, [sp, #0xc] + bl func_ov00_02088b2c + add sp, sp, #0x10 + ldmia sp!, {r4, pc} +_02089524: + str r2, [sp] + str r1, [sp, #4] + mov r1, #0 + str r1, [sp, #8] + mov r2, r4 + mov r3, lr + mov r1, #0xf + str ip, [sp, #0xc] + bl func_ov00_02088b2c + add sp, sp, #0x10 + ldmia sp!, {r4, pc} +_02089550: + str r2, [sp] + str r1, [sp, #4] + mov r1, #0 + str r1, [sp, #8] + mov r2, r4 + mov r3, lr + mov r1, #0x1e + str ip, [sp, #0xc] + bl func_ov00_02088b2c + add sp, sp, #0x10 + ldmia sp!, {r4, pc} +_0208957c: + str r2, [sp] + str r1, [sp, #4] + mov r1, #0xf + str r1, [sp, #8] + mov r2, r4 + mov r3, lr + mov r1, #0 + str ip, [sp, #0xc] + bl func_ov00_02088b2c + add sp, sp, #0x10 + ldmia sp!, {r4, pc} +_020895a8: + str r2, [sp] + str r1, [sp, #4] + mov r1, #0xf + str r1, [sp, #8] + mov r2, r4 + mov r3, lr + str ip, [sp, #0xc] + bl func_ov00_02088b2c + add sp, sp, #0x10 + ldmia sp!, {r4, pc} +_020895d0: + str r2, [sp] + str r1, [sp, #4] + mov r1, #0xf + str r1, [sp, #8] + mov r2, r4 + mov r3, lr + mov r1, #0x1e + str ip, [sp, #0xc] + bl func_ov00_02088b2c + add sp, sp, #0x10 + ldmia sp!, {r4, pc} +_020895fc: + str r2, [sp] + str r1, [sp, #4] + mov r1, #0x1e + str r1, [sp, #8] + mov r2, r4 + mov r3, lr + mov r1, #0 + str ip, [sp, #0xc] + bl func_ov00_02088b2c + add sp, sp, #0x10 + ldmia sp!, {r4, pc} +_02089628: + str r2, [sp] + str r1, [sp, #4] + mov r1, #0x1e + str r1, [sp, #8] + mov r2, r4 + mov r3, lr + mov r1, #0xf + str ip, [sp, #0xc] + bl func_ov00_02088b2c + add sp, sp, #0x10 + ldmia sp!, {r4, pc} +_02089654: + str r2, [sp] + str r1, [sp, #4] + mov r1, #0x1e + str r1, [sp, #8] + mov r2, r4 + mov r3, lr + str ip, [sp, #0xc] + bl func_ov00_02088b2c +_02089674: + add sp, sp, #0x10 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208949c + + .global func_ov00_0208967c + arm_func_start func_ov00_0208967c +func_ov00_0208967c: ; 0x0208967c + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x130 + mov r9, r0 + mov r8, r1 + mov r7, r2 + bl func_ov00_02087f08 + cmp r0, #0 + addeq sp, sp, #0x130 + ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + ldr r0, _02089a24 ; =gAdventureFlags + ldr r0, [r0] + bl _ZN14AdventureFlags18func_ov00_02097738Ev + cmp r0, #0 + addne sp, sp, #0x130 + ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + ldr r1, [r7] + add r0, r9, #0x200 + str r1, [sp, #0x54] + ldr r2, [r7, #4] + cmp r8, #7 + str r2, [sp, #0x58] + ldr r1, [r7, #8] + mov r4, #1 + str r1, [sp, #0x5c] + ldrsh r6, [r0, #0x26] + mov r5, #0x34 + addls pc, pc, r8, lsl #2 + b _02089770 +_020896ec: ; jump table + b _02089770 ; case 0 + b _02089770 ; case 1 + b _0208976c ; case 2 + b _02089770 ; case 3 + b _02089770 ; case 4 + b _0208970c ; case 5 + b _0208976c ; case 6 + b _0208973c ; case 7 +_0208970c: + ldr r8, [r9, #0x298] + ldr r3, [r9, #0x290] + add r0, sp, #0x54 + add r1, sp, #0x48 + str r3, [sp, #0x48] + str r2, [sp, #0x4c] + str r8, [sp, #0x50] + bl func_01ff9ec0 + cmp r0, #0 + bne _02089770 + add sp, sp, #0x130 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} +_0208973c: + ldrb r0, [sp, #0x150] + cmp r0, #0 + movne r4, #0x1e + ldr r0, [sp, #0x154] + moveq r4, #5 + cmp r0, #1 + bne _02089760 + mov r5, #0x37 + b _02089764 +_02089760: + mov r5, #0x36 +_02089764: + mov r6, #0 + b _02089770 +_0208976c: + mov r5, #0x35 +_02089770: + ldr r1, [r9, #0x160] + mov r0, r9 + bl func_ov00_0208a84c + cmp r0, #0 + beq _020897d8 + ldr r1, [r9, #0x15c] + add r0, r9, #0x100 + str r1, [r9, #0x180] + ldr r1, [r9, #0x164] + str r1, [r9, #0x188] + ldrb r1, [r9, #0x168] + strb r1, [r9, #0x18c] + ldr r1, [r9, #0x16c] + str r1, [r9, #0x190] + ldr r1, [r9, #0x170] + str r1, [r9, #0x194] + ldr r1, [r9, #0x174] + str r1, [r9, #0x198] + ldrsh r1, [r0, #0x78] + strh r1, [r0, #0x9c] + ldrsh r1, [r0, #0x7a] + strh r1, [r0, #0x9e] + ldrh r2, [r0, #0x7c] + ldrh r1, [r0, #0x7e] + strh r2, [r0, #0xa0] + strh r1, [r0, #0xa2] +_020897d8: + str r5, [r9, #0x15c] + mov r3, #0 + mov r0, #0xff + add r2, sp, #4 + str r5, [sp, #4] + strb r0, [sp, #8] + strh r3, [sp, #0x18] + strh r3, [sp, #0x1a] + mov r1, r3 +_020897fc: + add r0, r2, r3, lsl #1 + add r3, r3, #1 + strh r1, [r0, #0x18] + cmp r3, #2 + blo _020897fc + ldr r1, [sp, #4] + add r0, r9, #0x100 + str r1, [r9, #0x164] + ldrb r1, [sp, #8] + strb r1, [r9, #0x168] + ldr r1, [sp, #0xc] + str r1, [r9, #0x16c] + ldr r1, [sp, #0x10] + str r1, [r9, #0x170] + ldr r1, [sp, #0x14] + str r1, [r9, #0x174] + ldrsh r1, [sp, #0x18] + strh r1, [r0, #0x78] + ldrsh r1, [sp, #0x1a] + strh r1, [r0, #0x7a] + ldrh r2, [sp, #0x1c] + ldrh r1, [sp, #0x1e] + strh r2, [r0, #0x7c] + strh r1, [r0, #0x7e] + ldr r0, [r9, #0x15c] + bl func_ov00_02087d84 + add r8, sp, #0xc8 + mov ip, r0 + mov r5, #6 +_02089870: + ldmia ip!, {r0, r1, r2, r3} + stmia r8!, {r0, r1, r2, r3} + subs r5, r5, #1 + bne _02089870 + ldmia ip, {r0, r1} + stmia r8, {r0, r1} + ldr r3, [r7] + ldr r0, [sp, #0x118] + str r3, [sp, #0x3c] + ldr r1, [r7, #4] + mov r5, #0 + str r1, [sp, #0x40] + ldr r1, [r7, #8] + str r1, [sp, #0x44] + ldr r1, [r9, #0x154] + ldr r2, [r1, #0x34] + str r3, [r2, #8] + ldr r1, [sp, #0x40] + mov r3, #0 + str r1, [r2, #0xc] + ldr r1, [sp, #0x44] + str r1, [r2, #0x10] + ldr r1, [r9, #0x154] + add r2, sp, #0x20 + ldr r1, [r1, #0x34] + strh r6, [r1, #0x14] + ldr r1, [r9, #0x160] + cmp r1, #0xd + mov r1, #0xd + str r1, [r9, #0x160] + str r1, [sp, #0xcc] + str r0, [r9, #0x1a4] + str r3, [r9, #0x1a8] + mov r0, #0xff + movne r5, #1 + str r3, [sp, #0x20] + strb r0, [sp, #0x24] + strh r3, [sp, #0x34] + strh r3, [sp, #0x36] + mov r1, r3 +_02089910: + add r0, r2, r3, lsl #1 + add r3, r3, #1 + strh r1, [r0, #0x18] + cmp r3, #2 + blo _02089910 + ldr r0, _02089a28 ; =data_027e0e60 + ldrb r2, [r9, #0x1b8] + ldr r0, [r0] + add r1, sp, #0x20 + bl _ZN10MapManager18func_ov00_02083928EPci + ldr r0, [sp, #0x20] + bl func_ov00_02087d84 + add r8, sp, #0x60 + mov ip, r0 + mov r7, #6 +_0208994c: + ldmia ip!, {r0, r1, r2, r3} + stmia r8!, {r0, r1, r2, r3} + subs r7, r7, #1 + bne _0208994c + ldmia ip, {r0, r1} + stmia r8, {r0, r1} + ldr r0, [sp, #0x64] + cmp r0, #1 + beq _020899a8 + ldr r0, [sp, #0x11c] + str r6, [sp, #0xdc] + cmp r0, #0 + ldreq r0, [sp, #0x70] + streq r0, [sp, #0xd8] + ldr r0, [sp, #0x108] + cmp r0, #0 + ldreq r0, [sp, #0x6c] + streq r0, [sp, #0xd4] + ldr r0, [sp, #0x124] + cmp r0, #0 + ldreq r0, [sp, #0x78] + streq r0, [sp, #0xe0] + b _020899b4 +_020899a8: + cmp r5, #0 + movne r0, #2 + strne r0, [r9, #0x1a4] +_020899b4: + mov r2, #0 + str r2, [sp] + add r1, sp, #0xc8 + mov r0, r9 + add r2, r9, #0x164 + mov r3, #1 + bl func_ov00_02087b78 + ldr r1, [r9, #0x154] + ldr r0, [r9, #0x160] + mov r2, #0 + ldr r0, [r1, r0, lsl #2] + add r1, sp, #0x3c + str r2, [r0, #0x18] + ldr r3, [r9, #0x154] + ldr r2, [r9, #0x160] + mov r0, r9 + ldr r3, [r3, r2, lsl #2] + mov r2, r6 + str r4, [r3, #0x1c] + bl func_ov00_02089c50 + ldr r0, [sp, #0x3c] + str r0, [r9, #0x2a8] + ldr r0, [sp, #0x40] + str r0, [r9, #0x2ac] + ldr r0, [sp, #0x44] + str r0, [r9, #0x2b0] + add sp, sp, #0x130 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + .align 2, 0 + arm_func_end func_ov00_0208967c +_02089a24: .word gAdventureFlags +_02089a28: .word data_027e0e60 + + .global func_ov00_02089a2c + arm_func_start func_ov00_02089a2c +func_ov00_02089a2c: ; 0x02089a2c + ldr r1, [r0, #0x160] + cmp r1, #0xc + bgt _02089a58 + bge _02089a60 + cmp r1, #6 + bgt _02089a7c + cmp r1, #5 + blt _02089a7c + cmpne r1, #6 + beq _02089a60 + b _02089a7c +_02089a58: + cmp r1, #0xd + bne _02089a7c +_02089a60: + ldrb r1, [r0, #0x1b9] + cmp r1, #0 + ldreqb r0, [r0, #0x1ba] + cmpeq r0, #0 + movne r0, #1 + moveq r0, #0 + bx lr +_02089a7c: + mov r0, #0 + bx lr + arm_func_end func_ov00_02089a2c + + .global func_ov00_02089a84 + arm_func_start func_ov00_02089a84 +func_ov00_02089a84: ; 0x02089a84 + ldr r1, [r0, #0x160] + cmp r1, #0xc + bgt _02089ab0 + bge _02089ab8 + cmp r1, #6 + bgt _02089ac0 + cmp r1, #5 + blt _02089ac0 + cmpne r1, #6 + beq _02089ab8 + b _02089ac0 +_02089ab0: + cmp r1, #0xd + bne _02089ac0 +_02089ab8: + ldr r0, [r0, #0x1a4] + bx lr +_02089ac0: + mov r0, #0 + bx lr + arm_func_end func_ov00_02089a84 + + .global func_ov00_02089ac8 + arm_func_start func_ov00_02089ac8 +func_ov00_02089ac8: ; 0x02089ac8 + ldr r1, [r0, #0x160] + cmp r1, #5 + cmpne r1, #6 + cmpne r1, #0xc + bne _02089af8 + ldrb r1, [r0, #0x1b9] + cmp r1, #0 + ldreqb r0, [r0, #0x1ba] + cmpeq r0, #0 + movne r0, #1 + moveq r0, #0 + bx lr +_02089af8: + mov r0, #0 + bx lr + arm_func_end func_ov00_02089ac8 + + .global func_ov00_02089b00 + arm_func_start func_ov00_02089b00 +func_ov00_02089b00: ; 0x02089b00 + ldrb r0, [r0, #0x2ec] + bx lr + arm_func_end func_ov00_02089b00 + + .global func_ov00_02089b08 + arm_func_start func_ov00_02089b08 +func_ov00_02089b08: ; 0x02089b08 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r1, [r4, #0x15c] + cmp r1, #3 + beq _02089b34 + mov r2, #0 + mov r3, r2 + mov r1, #3 + bl func_ov00_020872e8 + mov r0, #1 + strb r0, [r4, #0x2ec] +_02089b34: + mov r0, r4 + mov r1, #1 + bl func_ov00_0208df04 + mov r0, r4 + bl func_ov00_0208a464 + mov r0, #1 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02089b08 + + .global func_ov00_02089b50 + arm_func_start func_ov00_02089b50 +func_ov00_02089b50: ; 0x02089b50 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r2, [r4, #0x154] + ldr r0, [r4, #0x160] + ldr r0, [r2, r0, lsl #2] + ldr r2, [r0] + ldr r2, [r2, #0x2c] + blx r2 + mov r0, r4 + mov r1, #1 + bl func_ov00_0208df04 + mov r0, r4 + bl func_ov00_0208a464 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02089b50 + + .global func_ov00_02089b88 + arm_func_start func_ov00_02089b88 +func_ov00_02089b88: ; 0x02089b88 + mov r1, #0 + strb r1, [r0, #0x2ec] + bx lr + arm_func_end func_ov00_02089b88 + + .global func_ov00_02089b94 + arm_func_start func_ov00_02089b94 +func_ov00_02089b94: ; 0x02089b94 + stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0xc + add r2, r0, #0x200 + ldrh r3, [r2, #0x26] + mov r2, r1 + ldr r4, _02089c4c ; =data_02050f54 + mov r1, r3, asr #0x4 + mov r3, r1, lsl #0x1 + mov r5, r3, lsl #0x1 + add r1, r3, #1 + mov r3, r1, lsl #0x1 + ldrsh r8, [r4, r5] + ldrsh r5, [r4, r3] + ldr r1, [r0, #0x248] + ldr r4, [r0, #0x244] + ldr lr, [r0, #0x240] + smull r0, r3, r4, r8 + adds r9, r0, #0x800 + smull r7, r6, r1, r8 + smull r8, r0, r1, r5 + adc r3, r3, #0 + adds r1, r8, #0x800 + mov ip, r9, lsr #0xc + smull r8, r5, r4, r5 + adc r0, r0, #0 + adds r8, r8, #0x800 + adc r5, r5, #0 + adds r4, r7, #0x800 + mov r9, r1, lsr #0xc + mov r7, r8, lsr #0xc + orr r9, r9, r0, lsl #20 + adc r1, r6, #0 + mov r4, r4, lsr #0xc + orr ip, ip, r3, lsl #20 + orr r4, r4, r1, lsl #20 + orr r7, r7, r5, lsl #20 + add r6, ip, r9 + sub r3, r7, r4 + add r1, sp, #0 + mov r0, r2 + str r6, [sp] + str lr, [sp, #4] + str r3, [sp, #8] + bl func_01ff9bc4 + add sp, sp, #0xc + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} + .align 2, 0 + arm_func_end func_ov00_02089b94 +_02089c4c: .word data_02050f54 + + .global func_ov00_02089c50 + arm_func_start func_ov00_02089c50 +func_ov00_02089c50: ; 0x02089c50 + stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0xc + mov r2, r2, lsl #0x10 + mov r2, r2, lsr #0x10 + mov r2, r2, asr #0x4 + mov r3, r2, lsl #0x1 + add r2, r3, #1 + ldr r4, _02089d08 ; =data_02050f54 + mov r3, r3, lsl #0x1 + mov r2, r2, lsl #0x1 + ldrsh r8, [r4, r3] + ldrsh r5, [r4, r2] + ldr r3, [r0, #0x248] + ldr r4, [r0, #0x244] + ldr lr, [r0, #0x240] + smull r7, r6, r3, r8 + smull r0, r8, r4, r8 + adds r9, r0, #0x800 + mov r2, r1 + smull r1, r0, r3, r5 + adc r3, r8, #0 + adds r1, r1, #0x800 + mov ip, r9, lsr #0xc + smull r8, r5, r4, r5 + adc r0, r0, #0 + adds r8, r8, #0x800 + adc r5, r5, #0 + adds r4, r7, #0x800 + mov r9, r1, lsr #0xc + mov r7, r8, lsr #0xc + orr r9, r9, r0, lsl #20 + adc r1, r6, #0 + mov r4, r4, lsr #0xc + orr ip, ip, r3, lsl #20 + orr r4, r4, r1, lsl #20 + orr r7, r7, r5, lsl #20 + add r6, ip, r9 + sub r3, r7, r4 + add r1, sp, #0 + mov r0, r2 + str r6, [sp] + str lr, [sp, #4] + str r3, [sp, #8] + bl func_01ff9bc4 + add sp, sp, #0xc + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} + .align 2, 0 + arm_func_end func_ov00_02089c50 +_02089d08: .word data_02050f54 + + .global func_ov00_02089d0c + arm_func_start func_ov00_02089d0c +func_ov00_02089d0c: ; 0x02089d0c + stmdb sp!, {r4, r5, r6, r7, r8, lr} + sub sp, sp, #0x10 + mov r4, r0 + ldr r1, [r4, #0x160] + cmp r1, #0xd + addls pc, pc, r1, lsl #2 + b _0208a190 +_02089d28: ; jump table + b _0208a190 ; case 0 + b _0208a190 ; case 1 + b _0208a190 ; case 2 + b _0208a190 ; case 3 + b _0208a298 ; case 4 + b _02089f10 ; case 5 + b _02089d60 ; case 6 + b _0208a190 ; case 7 + b _0208a190 ; case 8 + b _0208a190 ; case 9 + b _0208a190 ; case 10 + b _0208a190 ; case 11 + b _02089d60 ; case 12 + b _0208a050 ; case 13 +_02089d60: + ldr r0, [r4, #0x154] + cmp r1, #0xc + ldr r0, [r0, r1, lsl #2] + bne _02089d80 + ldr r0, [r0, #0x18] + cmp r0, #0 + ble _02089d8c + b _0208a298 +_02089d80: + ldr r0, [r0, #0x18] + cmp r0, #0 + bgt _0208a298 +_02089d8c: + ldr r0, [r4, #0x1a4] + cmp r0, #0 + ldrlt r0, [r4, #0x1a8] + cmplt r0, #0 + blt _0208a298 + ldr r6, [r4, #0x158] + mov r0, r6 + bl func_ov00_020a0508 + ldr r1, [r4, #0x1a4] + mov r5, r0 + cmp r1, #0 + mov r7, #0 + blt _02089df4 + mov r0, #0x1000 + mov r1, #0x1e000 + bl func_01ff98f0 + ldr r2, [r4, #0x1a4] + sub r2, r5, r2 + mov r3, r2, lsl #0xc + umull r7, r5, r0, r3 + mov r2, r3, asr #0x1f + mla r5, r0, r2, r5 + mla r5, r1, r3, r5 + adds r0, r7, #0x80000000 + adc r7, r5, #0 + b _02089e30 +_02089df4: + ldr r0, [r4, #0x1a8] + cmp r0, #0 + blt _02089e30 + mov r0, #0x1000 + mov r1, #0x1e000 + bl func_01ff98f0 + ldr r2, [r4, #0x1a8] + sub r2, r5, r2 + mov r3, r2, lsl #0xc + umull r7, r5, r0, r3 + mov r2, r3, asr #0x1f + mla r5, r0, r2, r5 + mla r5, r1, r3, r5 + adds r0, r7, #0x80000000 + adc r7, r5, #0 +_02089e30: + add r0, r6, #0x20c + ldr r2, [r0] + mov r1, r7 + ldr r2, [r2, #0x14] + blx r2 + ldr r1, _0208a308 ; =0x0b60b60b + mov r2, #0xb6 + umull r5, r3, r0, r1 + mla r3, r0, r2, r3 + mov r0, r0, asr #0x1f + mla r3, r0, r1, r3 + adds r0, r5, #0 + adc r0, r3, #0x800 + mov r0, r0, asr #0xc + strh r0, [r4, #4] + add r0, r6, #0xcc + ldr r2, [r0] + mov r1, r7 + ldr r2, [r2, #0x14] + blx r2 + mov r8, r0 + add r0, r6, #0x7c + ldr r2, [r0] + mov r1, r7 + ldr r2, [r2, #0x14] + blx r2 + mov r5, r0 + add r0, r6, #0x2c + mov r1, r7 + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + str r0, [r4, #0x260] + str r5, [r4, #0x264] + str r8, [r4, #0x268] + add r0, r6, #0x1bc + mov r1, r7 + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + mov r8, r0 + add r0, r6, #0x16c + mov r1, r7 + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + mov r1, r7 + mov r5, r0 + add r0, r6, #0x11c + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + str r0, [r4, #0x26c] + str r5, [r4, #0x270] + str r8, [r4, #0x274] + b _0208a298 +_02089f10: + ldr r0, [r4, #0x154] + ldr r0, [r0, r1, lsl #2] + ldr r0, [r0, #0x1c] + cmp r0, #0 + bgt _0208a298 + ldr r0, [r4, #0x1a4] + cmp r0, #0 + blt _0208a298 + ldr r6, [r4, #0x158] + mov r0, r6 + bl func_ov00_020a0508 + mov r5, r0 + mov r0, #0x1000 + mov r1, #0x1e000 + bl func_01ff98f0 + ldr r2, [r4, #0x1a4] + sub r2, r5, r2 + mov r3, r2, lsl #0xc + umull r7, r5, r0, r3 + mov r2, r3, asr #0x1f + mla r5, r0, r2, r5 + add r0, r6, #0x20c + ldr r2, [r0] + mla r5, r1, r3, r5 + adds r1, r7, #0x80000000 + adc r5, r5, #0 + ldr r2, [r2, #0x14] + mov r1, r5 + blx r2 + ldr r2, _0208a308 ; =0x0b60b60b + mov r3, #0xb6 + mov r7, r0, asr #0x1f + mov r1, r5 + umull ip, r8, r0, r2 + adds ip, ip, #0 + mla r8, r0, r3, r8 + mla r8, r7, r2, r8 + adc r0, r8, #0x800 + mov r0, r0, asr #0xc + strh r0, [r4, #4] + add r0, r6, #0xcc + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + mov r8, r0 + add r0, r6, #0x7c + mov r1, r5 + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + mov r7, r0 + add r0, r6, #0x2c + mov r1, r5 + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + str r0, [r4, #0x260] + str r7, [r4, #0x264] + str r8, [r4, #0x268] + add r0, r6, #0x1bc + mov r1, r5 + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + mov r7, r0 + add r0, r6, #0x16c + mov r1, r5 + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + mov r1, r5 + mov r5, r0 + add r0, r6, #0x11c + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + str r0, [r4, #0x26c] + str r5, [r4, #0x270] + str r7, [r4, #0x274] + b _0208a298 +_0208a050: + ldr r0, [r4, #0x154] + ldr r0, [r0, r1, lsl #2] + ldr r0, [r0, #0x18] + cmp r0, #0 + bgt _0208a298 + ldr r0, [r4, #0x1a4] + cmp r0, #0 + blt _0208a298 + ldr r6, [r4, #0x158] + mov r0, r6 + bl func_ov00_020a0508 + mov r5, r0 + mov r0, #0x1000 + mov r1, #0x1e000 + bl func_01ff98f0 + ldr r2, [r4, #0x1a4] + sub r2, r5, r2 + mov r3, r2, lsl #0xc + umull r7, r5, r0, r3 + mov r2, r3, asr #0x1f + mla r5, r0, r2, r5 + add r0, r6, #0x20c + ldr r2, [r0] + mla r5, r1, r3, r5 + adds r1, r7, #0x80000000 + adc r5, r5, #0 + ldr r2, [r2, #0x14] + mov r1, r5 + blx r2 + ldr r2, _0208a308 ; =0x0b60b60b + mov r3, #0xb6 + mov r7, r0, asr #0x1f + mov r1, r5 + umull ip, r8, r0, r2 + adds ip, ip, #0 + mla r8, r0, r3, r8 + mla r8, r7, r2, r8 + adc r0, r8, #0x800 + mov r0, r0, asr #0xc + strh r0, [r4, #4] + add r0, r6, #0xcc + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + mov r8, r0 + add r0, r6, #0x7c + mov r1, r5 + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + mov r7, r0 + add r0, r6, #0x2c + mov r1, r5 + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + str r0, [r4, #0x260] + str r7, [r4, #0x264] + str r8, [r4, #0x268] + add r0, r6, #0x1bc + mov r1, r5 + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + mov r7, r0 + add r0, r6, #0x16c + mov r1, r5 + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + mov r1, r5 + mov r5, r0 + add r0, r6, #0x11c + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + str r0, [r4, #0x26c] + str r5, [r4, #0x270] + str r7, [r4, #0x274] + b _0208a298 +_0208a190: + mvn r0, #0x80000000 + str r0, [sp] + ldr r1, [r4, #0x24c] + ldr r2, [r4, #0x25c] + add r0, r4, #0x23c + mov r3, #0 + bl func_0202b418 + mvn r0, #0x80000000 + str r0, [sp] + ldr r1, [r4, #0x258] + ldr r2, [r4, #0x25c] + add r0, r4, #0x248 + mov r3, #0 + bl func_0202b418 + mvn r0, #0x80000000 + str r0, [sp] + ldr r1, [r4, #0x250] + ldr r2, [r4, #0x25c] + add r0, r4, #0x240 + mov r3, #0 + bl func_0202b418 + mvn r0, #0x80000000 + str r0, [sp] + ldr r1, [r4, #0x254] + add r0, r4, #0x244 + ldr r2, [r4, #0x25c] + mov r3, #0 + bl func_0202b418 + add r0, r4, #0x224 + add r2, r4, #0x200 + ldrsh r1, [r2, #0x28] + ldrsh r3, [r2, #0x2e] + mov r2, #0x28 + smulbb r2, r3, r2 + mov r2, r2, lsl #0x10 + mov r2, r2, asr #0x10 + bl func_0202b154 + add r0, r4, #0x26 + add r0, r0, #0x200 + add r2, r4, #0x200 + ldrsh r1, [r2, #0x2a] + ldrsh r3, [r2, #0x30] + mov r2, #0xa + smulbb r2, r3, r2 + mov r2, r2, lsl #0x10 + mov r2, r2, asr #0x10 + bl func_0202b154 + mov r2, #0 + add r0, r4, #0x200 + ldrsh r0, [r0, #0x32] + cmp r0, #0 + beq _0208a26c + mov r0, r0, lsl #0xc + bl func_01ff991c + mov r2, r0 +_0208a26c: + add r0, r4, #0x200 + ldrsh r1, [r0, #0x2c] + add r0, r4, #4 + bl func_0202b3bc + mvn r0, #0x80000000 + str r0, [sp] + ldr r2, [r4, #0x2c4] + add r0, r4, #0x26c + add r1, r4, #0x2a8 + mov r3, #0 + bl func_0202b4e4 +_0208a298: + ldr r0, [r4, #0x150] + mov r5, #0 + mov r3, #1 +_0208a2a4: + mov r1, r5, lsr #0x5 + add r1, r0, r1, lsl #2 + ldr r1, [r1, #4] + and r2, r5, #0x1f + tst r1, r3, lsl r2 + bne _0208a2cc + add r5, r5, #1 + cmp r5, #2 + blo _0208a2a4 + mov r3, #0 +_0208a2cc: + cmp r3, #0 + addeq sp, sp, #0x10 + ldmeqia sp!, {r4, r5, r6, r7, r8, pc} + add r1, sp, #4 + bl func_ov00_020a19c8 + add r0, r4, #0x260 + add r1, sp, #4 + mov r2, r0 + bl func_01ff9bc4 + add r0, r4, #0x26c + add r1, sp, #4 + mov r2, r0 + bl func_01ff9bc4 + add sp, sp, #0x10 + ldmia sp!, {r4, r5, r6, r7, r8, pc} + .align 2, 0 + arm_func_end func_ov00_02089d0c +_0208a308: .word 0x0b60b60b + + .global func_ov00_0208a30c + arm_func_start func_ov00_0208a30c +func_ov00_0208a30c: ; 0x0208a30c + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0xc + mov r6, r1 + mov r4, r0 + mov r0, r6 + bl func_ov00_0208e680 + cmp r0, #0 + addeq sp, sp, #0xc + ldmeqia sp!, {r3, r4, r5, r6, pc} + mov r5, #0 + add r2, sp, #8 + add r3, sp, #4 + mov r0, r4 + mov r1, r6 + str r5, [sp] + bl func_01ffe468 + ldr r0, [sp, #8] + cmp r0, #0 + blt _0208a374 + cmp r0, #0xff + bgt _0208a374 + ldr r0, [sp, #4] + cmp r0, #0 + blt _0208a374 + cmp r0, #0xbf + ble _0208a378 +_0208a374: + mov r5, #1 +_0208a378: + mov r1, #0 + str r1, [sp] + add r2, sp, #8 + add r3, sp, #4 + mov r0, r4 + add r1, r6, #0xc + bl func_01ffe468 + ldr r0, [sp, #8] + cmp r0, #0 + blt _0208a3bc + cmp r0, #0xff + bgt _0208a3bc + ldr r0, [sp, #4] + cmp r0, #0 + blt _0208a3bc + cmp r0, #0xbf + ble _0208a3c0 +_0208a3bc: + mov r5, #1 +_0208a3c0: + cmp r5, #0 + beq _0208a414 + ldr r0, [r4, #0x24c] + add r0, r0, #0x33 + add r0, r0, #0x300 + str r0, [r4, #0x24c] + ldr r0, [r4, #0x15c] + bl func_ov00_02087d84 + ldr r1, [r0, #0x5c] + cmp r1, #0 + bne _0208a3f8 + ldr r0, [r4, #0x15c] + bl func_ov00_02087d84 + ldr r1, [r0, #0x18] +_0208a3f8: + ldr r0, [r4, #0x24c] + add sp, sp, #0xc + cmp r0, r1 + strge r1, [r4, #0x24c] + mov r0, #0 + str r0, [r4, #0x1ac] + ldmia sp!, {r3, r4, r5, r6, pc} +_0208a414: + ldr r0, [r4, #0x1ac] + add r0, r0, #1 + cmp r0, #0x2d + addle sp, sp, #0xc + str r0, [r4, #0x1ac] + ldmleia sp!, {r3, r4, r5, r6, pc} + ldr r1, [r4, #0x24c] + mov r0, #0x68 + sub r3, r1, #0x66 + sub r3, r3, #0x200 + str r3, [r4, #0x24c] + ldr r2, [r4, #0x15c] + ldr r1, _0208a460 ; =data_ov00_020d8ac0 + mul r0, r2, r0 + ldr r0, [r1, r0] + cmp r3, r0 + strle r0, [r4, #0x24c] + add sp, sp, #0xc + ldmia sp!, {r3, r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_0208a30c +_0208a460: .word data_ov00_020d8ac0 + + .global func_ov00_0208a464 + arm_func_start func_ov00_0208a464 +func_ov00_0208a464: ; 0x0208a464 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0x5c + mov r6, r0 + ldr r1, [r6, #0x26c] + str r1, [r6, #0x308] + ldr r1, [r6, #0x270] + str r1, [r6, #0x30c] + ldr r1, [r6, #0x274] + str r1, [r6, #0x310] + ldr r1, [r6, #0x26c] + str r1, [r6, #0x314] + ldr r1, [r6, #0x270] + str r1, [r6, #0x318] + ldr r1, [r6, #0x274] + str r1, [r6, #0x31c] + bl func_ov00_02088244 + cmp r0, #0 + beq _0208a4d0 + mov r3, #0x8000 + mov r2, #0 + add r1, sp, #0x50 + add r0, r6, #0x308 + str r3, [sp, #0x50] + str r2, [sp, #0x54] + str r3, [sp, #0x58] + bl func_ov00_0208edd8 + b _0208a77c +_0208a4d0: + ldr r1, _0208a844 ; =data_027e0e60 + add r0, sp, #0x18 + ldr r1, [r1] + bl _ZN10MapManager18func_ov00_02084100EiPS_ + ldrsh r2, [r6, #4] + add r1, r6, #0x260 + mov r0, #0 + str r2, [sp] + ldr r3, [r6, #8] + add r2, r6, #0x1c + str r3, [sp, #4] + str r1, [sp, #8] + str r2, [sp, #0xc] + add r1, sp, #0x44 + str r1, [sp, #0x10] + mov r1, r0 + mov r2, r0 + str r0, [sp, #0x14] + mov r3, #0x59 + bl func_01ffb7ec + ldrsh r2, [r6, #4] + add r0, r6, #0x260 + mov r1, #0 + str r2, [sp] + ldr r3, [r6, #8] + add r2, r6, #0x1c + str r3, [sp, #4] + str r0, [sp, #8] + str r2, [sp, #0xc] + add r0, sp, #0x2c + str r0, [sp, #0x10] + mov r2, r1 + str r1, [sp, #0x14] + mov r0, #0xff + mov r3, #0x59 + bl func_01ffb7ec + ldrsh r0, [r6, #4] + add r2, r6, #0x260 + add r1, r6, #0x1c + str r0, [sp] + ldr r3, [r6, #8] + add r0, sp, #0x38 + str r3, [sp, #4] + str r2, [sp, #8] + str r1, [sp, #0xc] + str r0, [sp, #0x10] + mov r0, #0 + str r0, [sp, #0x14] + mov r1, #0xbf + mov r2, r0 + mov r3, #0x59 + bl func_01ffb7ec + ldrsh r0, [r6, #4] + add r2, r6, #0x260 + add r1, r6, #0x1c + str r0, [sp] + ldr r3, [r6, #8] + add r0, sp, #0x20 + str r3, [sp, #4] + str r2, [sp, #8] + str r1, [sp, #0xc] + str r0, [sp, #0x10] + mov r2, #0 + str r2, [sp, #0x14] + mov r0, #0xff + mov r1, #0xbf + mov r3, #0x59 + bl func_01ffb7ec + ldr r1, [sp, #0x48] + mov r0, #0x1000 + add r1, r1, #0x3000 + rsb r0, r0, #0 + str r1, [sp, #0x48] + str r0, [sp, #0x24] + add r0, r6, #0x308 + add r1, sp, #0x44 + bl func_ov00_0208ed74 + add r0, r6, #0x308 + add r1, sp, #0x2c + bl func_ov00_0208ed74 + add r1, sp, #0x38 + add r0, r6, #0x308 + bl func_ov00_0208ed74 + add r1, sp, #0x20 + add r0, r6, #0x308 + bl func_ov00_0208ed74 + ldr r0, _0208a848 ; =data_027e0f94 + ldrsh r2, [r6, #4] + ldr r4, [sp, #0x1c] + ldr r0, [r0, #4] + add r1, r6, #0x260 + str r2, [sp] + ldr r3, [r6, #8] + cmp r4, r0 + str r3, [sp, #4] + str r1, [sp, #8] + add r2, r6, #0x1c + movle r4, r0 + str r2, [sp, #0xc] + add r1, sp, #0x44 + mov r0, #0 + str r1, [sp, #0x10] + mov r1, r0 + mov r2, r4 + str r0, [sp, #0x14] + mov r3, #0x59 + bl func_01ffb7ec + ldrsh r0, [r6, #4] + add r2, r6, #0x260 + add r1, r6, #0x1c + str r0, [sp] + ldr r3, [r6, #8] + add r0, sp, #0x2c + str r3, [sp, #4] + str r2, [sp, #8] + str r1, [sp, #0xc] + str r0, [sp, #0x10] + mov r1, #0 + mov r2, r4 + str r1, [sp, #0x14] + mov r0, #0xff + mov r3, #0x59 + bl func_01ffb7ec + ldrsh r0, [r6, #4] + add r2, r6, #0x260 + add r1, r6, #0x1c + str r0, [sp] + ldr r3, [r6, #8] + add r0, sp, #0x38 + str r3, [sp, #4] + str r2, [sp, #8] + str r1, [sp, #0xc] + str r0, [sp, #0x10] + mov r0, #0 + mov r2, r4 + str r0, [sp, #0x14] + mov r1, #0xbf + mov r3, #0x59 + bl func_01ffb7ec + ldrsh r0, [r6, #4] + mov r2, r4 + add r3, r6, #0x260 + str r0, [sp] + ldr r4, [r6, #8] + add r1, r6, #0x1c + str r4, [sp, #4] + str r3, [sp, #8] + str r1, [sp, #0xc] + add r0, sp, #0x20 + str r0, [sp, #0x10] + mov r0, #0 + str r0, [sp, #0x14] + mov r0, #0xff + mov r1, #0xbf + mov r3, #0x59 + bl func_01ffb7ec + ldr r1, [sp, #0x48] + add r0, r6, #0x308 + add r1, r1, #0x3000 + str r1, [sp, #0x48] + add r1, sp, #0x44 + bl func_ov00_0208ed74 + add r0, r6, #0x308 + add r1, sp, #0x2c + bl func_ov00_0208ed74 + add r0, r6, #0x308 + add r1, sp, #0x38 + bl func_ov00_0208ed74 + add r0, r6, #0x308 + add r1, sp, #0x20 + bl func_ov00_0208ed74 +_0208a77c: + ldr r0, _0208a844 ; =data_027e0e60 + ldr r0, [r0] + bl _ZN10MapManager17Get_MapData_Unk28Ev + ldr r1, _0208a844 ; =data_027e0e60 + mov r4, r0 + ldr r0, [r1] + bl _ZN10MapManager17Get_MapData_Unk2aEv + ldr r1, _0208a844 ; =data_027e0e60 + mov r5, r0 + ldr r0, [r1] + ldr r1, [r6, #0x308] + bl _ZN10MapManager18func_ov00_020839d4Ev + strb r0, [r6, #0x320] + ldr r0, _0208a844 ; =data_027e0e60 + ldr r1, [r6, #0x310] + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_020839f8Ev + strb r0, [r6, #0x321] + ldr r0, _0208a844 ; =data_027e0e60 + ldr r1, [r6, #0x314] + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_020839d4Ev + and r1, r0, #0xff + add r0, r1, #2 + strb r0, [r6, #0x322] + ldrb r0, [r6, #0x320] + cmp r0, #0 + moveq r0, #0 + streqb r0, [r6, #0x320] + ldrb r0, [r6, #0x322] + cmp r0, r4 + subge r0, r4, #1 + strgeb r0, [r6, #0x322] + ldr r0, _0208a844 ; =data_027e0e60 + ldr r1, [r6, #0x31c] + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_020839f8Ev + and r1, r0, #0xff + add r0, r1, #1 + strb r0, [r6, #0x323] + ldrb r0, [r6, #0x321] + cmp r0, #0 + moveq r0, #0 + streqb r0, [r6, #0x321] + ldrb r0, [r6, #0x323] + cmp r0, r5 + subge r0, r5, #1 + strgeb r0, [r6, #0x323] + add sp, sp, #0x5c + ldmia sp!, {r3, r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_0208a464 +_0208a844: .word data_027e0e60 +_0208a848: .word data_027e0f94 + + .global func_ov00_0208a84c + arm_func_start func_ov00_0208a84c +func_ov00_0208a84c: ; 0x0208a84c + cmp r1, #0xd + addls pc, pc, r1, lsl #2 + b _0208a898 +_0208a858: ; jump table + b _0208a898 ; case 0 + b _0208a898 ; case 1 + b _0208a898 ; case 2 + b _0208a898 ; case 3 + b _0208a890 ; case 4 + b _0208a890 ; case 5 + b _0208a890 ; case 6 + b _0208a898 ; case 7 + b _0208a898 ; case 8 + b _0208a898 ; case 9 + b _0208a898 ; case 10 + b _0208a898 ; case 11 + b _0208a898 ; case 12 + b _0208a890 ; case 13 +_0208a890: + mov r0, #0 + bx lr +_0208a898: + mov r0, #1 + bx lr + arm_func_end func_ov00_0208a84c + + .global func_ov00_0208a8a0 + arm_func_start func_ov00_0208a8a0 +func_ov00_0208a8a0: ; 0x0208a8a0 + cmp r1, #4 + cmpne r1, #0xd + bne _0208a8b4 + mov r0, #0 + bx lr +_0208a8b4: + mov r0, #1 + bx lr + arm_func_end func_ov00_0208a8a0 + + .global func_ov00_0208a8bc + arm_func_start func_ov00_0208a8bc +func_ov00_0208a8bc: ; 0x0208a8bc + stmdb sp!, {lr} + sub sp, sp, #0xc + mov r3, #0x2000 + mov r2, #0 + add r1, sp, #0 + add r0, r0, #0x2f0 + str r3, [sp] + str r2, [sp, #4] + str r3, [sp, #8] + bl func_ov00_0208edd8 + add sp, sp, #0xc + ldmia sp!, {pc} + arm_func_end func_ov00_0208a8bc + + .global func_ov00_0208a8ec + arm_func_start func_ov00_0208a8ec +func_ov00_0208a8ec: ; 0x0208a8ec + stmdb sp!, {r3, r4, r5, lr} + mov r4, r1 + mov r2, #0 + mov r5, r0 + mov r1, #1 + strb r2, [sp] + bl func_ov00_0208ac68 + mov r0, r5 + mov r2, r4 + mov r1, #1 + bl func_ov00_0208aa74 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_0208a8ec + + .global func_ov00_0208a91c + arm_func_start func_ov00_0208a91c +func_ov00_0208a91c: ; 0x0208a91c + stmdb sp!, {r3, r4, r5, lr} + ldr ip, [r0] + ldr r3, [r0, #4] + mov r2, #0x28 + mla r4, r3, r2, ip + movs r5, r1 + sub r1, r3, r5 + str r1, [r0, #4] + ldmeqia sp!, {r3, r4, r5, pc} +_0208a940: + sub r4, r4, #0x28 + mov r0, r4 + bl func_ov00_020a0368 + subs r5, r5, #1 + bne _0208a940 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_0208a91c + + .global func_ov00_0208a958 + arm_func_start func_ov00_0208a958 +func_ov00_0208a958: ; 0x0208a958 + stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} + sub sp, sp, #4 + mov r6, r0 + ldr r3, [r6] + ldr r2, [r6, #4] + mov r0, #0x28 + mla r4, r2, r0, r3 + mov r5, r1 + sub r1, r4, r5 + ldr r2, _0208aa38 ; =0x66666667 + mov r0, r1, lsr #0x1f + smull r1, r3, r2, r1 + add r3, r0, r3, asr #4 + subs r0, r3, #1 + beq _0208aa08 + add ip, r5, #0x28 + mov lr, r5 + cmp ip, r4 + bhs _0208aa08 +_0208a9a4: + mov r8, ip + mov r7, lr + ldmia r8!, {r0, r1, r2, r3} + stmia r7!, {r0, r1, r2, r3} + ldmia r8, {r0, r1, r2} + stmia r7, {r0, r1, r2} + add r7, ip, #0x1c + add r3, lr, #0x1c + mov r2, #3 +_0208a9c8: + ldrb r1, [r7] + ldrb r0, [r7, #1] + add r7, r7, #2 + subs r2, r2, #1 + strb r1, [r3] + strb r0, [r3, #1] + add r3, r3, #2 + bne _0208a9c8 + ldrb r0, [r7] + strb r0, [r3] + ldr r0, [ip, #0x24] + add ip, ip, #0x28 + str r0, [lr, #0x24] + cmp ip, r4 + add lr, lr, #0x28 + blo _0208a9a4 +_0208aa08: + mov r0, #0 + strb r0, [sp] + ldr r1, [r6, #4] + mov r0, #0x28 + sub r2, r1, #1 + str r2, [r6, #4] + ldr r1, [r6] + mla r0, r2, r0, r1 + bl func_ov00_020a0368 + mov r0, r5 + add sp, sp, #4 + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} + .align 2, 0 + arm_func_end func_ov00_0208a958 +_0208aa38: .word 0x66666667 + + .global func_ov00_0208aa3c + arm_func_start func_ov00_0208aa3c +func_ov00_0208aa3c: ; 0x0208aa3c + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r0, [r5, #4] + mov r4, r1 + cmp r4, r0 + blo _0208aa60 + ldr r0, _0208aa70 ; =data_ov00_020e2568 + bl func_02045810 + bl func_02042d50 +_0208aa60: + ldr r1, [r5] + mov r0, #0x28 + mla r0, r4, r0, r1 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_0208aa3c +_0208aa70: .word data_ov00_020e2568 + + .global func_ov00_0208aa74 + arm_func_start func_ov00_0208aa74 +func_ov00_0208aa74: ; 0x0208aa74 + stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} + sub sp, sp, #0x1c + mov r4, r0 + mov r6, r1 + add r0, sp, #8 + add r1, r4, #8 + mov r5, r2 + bl func_ov00_0208ae28 + mov r0, #0 + str r0, [sp, #0x18] + ldmib r4, {r0, r1} + add r2, r0, r6 + mov r0, r4 + sub r1, r2, r1 + bl func_ov00_0208ac68 + mov r3, #0 + mov r1, r0 + strb r3, [sp, #4] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + add r0, sp, #8 + strb r3, [sp] + bl func_ov00_0208add4 + ldr r3, [r4, #4] + mov r0, #0 + strb r0, [sp, #3] + ldr r1, [sp, #8] + mov r0, #0x28 + mla r2, r3, r0, r1 + ldr r1, [sp, #0xc] + str r3, [sp, #0x18] + mla ip, r1, r0, r2 + cmp r6, #0 + mov lr, r6 + beq _0208ab64 +_0208ab04: + mov r8, r5 + mov r7, ip + ldmia r8!, {r0, r1, r2, r3} + stmia r7!, {r0, r1, r2, r3} + ldmia r8, {r0, r1, r2} + stmia r7, {r0, r1, r2} + add r7, r5, #0x1c + add r3, ip, #0x1c + mov r2, #3 +_0208ab28: + ldrb r1, [r7] + ldrb r0, [r7, #1] + add r7, r7, #2 + subs r2, r2, #1 + strb r1, [r3] + strb r0, [r3, #1] + add r3, r3, #2 + bne _0208ab28 + ldrb r0, [r7] + subs lr, lr, #1 + strb r0, [r3] + ldr r0, [r5, #0x24] + str r0, [ip, #0x24] + add ip, ip, #0x28 + bne _0208ab04 +_0208ab64: + ldr r1, [sp, #0xc] + mov r0, #0x28 + add r1, r1, r6 + str r1, [sp, #0xc] + ldr r5, [r4] + ldr r1, [r4, #4] + mov r3, #0 + mla ip, r1, r0, r5 + ldr r2, [sp, #8] + ldr r1, [sp, #0x18] + strb r3, [sp, #2] + mla lr, r1, r0, r2 + cmp ip, r5 + bls _0208ac1c +_0208ab9c: + sub ip, ip, #0x28 + subs lr, lr, #0x28 + beq _0208abfc + mov r7, ip + mov r6, lr + ldmia r7!, {r0, r1, r2, r3} + stmia r6!, {r0, r1, r2, r3} + ldmia r7, {r0, r1, r2} + stmia r6, {r0, r1, r2} + add r6, ip, #0x1c + add r3, lr, #0x1c + mov r2, #3 +_0208abcc: + ldrb r1, [r6] + ldrb r0, [r6, #1] + add r6, r6, #2 + subs r2, r2, #1 + strb r1, [r3] + strb r0, [r3, #1] + add r3, r3, #2 + bne _0208abcc + ldrb r0, [r6] + strb r0, [r3] + ldr r0, [ip, #0x24] + str r0, [lr, #0x24] +_0208abfc: + ldr r1, [sp, #0x18] + ldr r0, [sp, #0xc] + sub r1, r1, #1 + add r0, r0, #1 + str r1, [sp, #0x18] + str r0, [sp, #0xc] + cmp ip, r5 + bhi _0208ab9c +_0208ac1c: + mov r0, #0 + strb r0, [sp, #1] + add r3, sp, #0x10 + ldr r2, [r4, #8] + ldr r1, [r3] + add r0, sp, #8 + str r1, [r4, #8] + str r2, [r3] + ldr r2, [r4] + ldr r1, [sp, #8] + str r1, [r4] + str r2, [sp, #8] + ldr r2, [r4, #4] + ldr r1, [sp, #0xc] + str r1, [r4, #4] + str r2, [sp, #0xc] + bl func_ov00_0208ad38 + add sp, sp, #0x1c + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} + arm_func_end func_ov00_0208aa74 + + .global func_ov00_0208ac68 + arm_func_start func_ov00_0208ac68 +func_ov00_0208ac68: ; 0x0208ac68 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, lr} + sub sp, sp, #8 + ldr r4, [r0, #8] + ldr r0, _0208ad2c ; =0x06666666 + ldr r1, [sp, #0x14] + sub r0, r0, r4 + cmp r1, r0 + bls _0208ac90 + bl func_0204dd9c +_0208ac90: + ldr r0, _0208ad30 ; =0x02222222 + cmp r4, r0 + bhs _0208acdc + add r1, r4, #1 + ldr r0, _0208ad34 ; =0xcccccccd + add r1, r1, r1, lsl #1 + umull r0, r2, r1, r0 + mov r2, r2, lsr #0x2 + ldr r0, [sp, #0x14] + str r2, [sp, #4] + cmp r0, r2 + addhi r0, sp, #0x14 + addls r0, sp, #4 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_0208acdc: + cmp r4, r0, lsl #1 + bhs _0208ad18 + ldr r0, [sp, #0x14] + add r1, r4, #1 + mov r2, r1, lsr #0x1 + cmp r0, r1, lsr #1 + addhi r0, sp, #0x14 + str r2, [sp] + addls r0, sp, #0 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_0208ad18: + ldr r0, _0208ad2c ; =0x06666666 + add sp, sp, #8 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr + .align 2, 0 + arm_func_end func_ov00_0208ac68 +_0208ad2c: .word 0x06666666 +_0208ad30: .word 0x02222222 +_0208ad34: .word 0xcccccccd + + .global func_ov00_0208ad38 + arm_func_start func_ov00_0208ad38 +func_ov00_0208ad38: ; 0x0208ad38 + stmdb sp!, {r4, r5, r6, lr} + mov r4, r0 + ldr r2, [r4] + ldr r1, [r4, #0x10] + mov r0, #0x28 + mla r5, r1, r0, r2 + ldr r1, [r4, #4] + mla r6, r1, r0, r5 + cmp r6, r5 + bls _0208ad74 +_0208ad60: + sub r6, r6, #0x28 + mov r0, r6 + bl func_ov00_020a0368 + cmp r6, r5 + bhi _0208ad60 +_0208ad74: + mov r1, #0 + mov r0, r4 + str r1, [r4, #4] + bl func_ov00_0208ad8c + mov r0, r4 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end func_ov00_0208ad38 + + .global func_ov00_0208ad8c + arm_func_start func_ov00_0208ad8c +func_ov00_0208ad8c: ; 0x0208ad8c + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r1, [r4] + cmp r1, #0 + beq _0208adc8 + ldr r1, [r4, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_0208ae58 + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_0208adc8: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_0208ad8c + + .global func_ov00_0208add4 + arm_func_start func_ov00_0208add4 +func_ov00_0208add4: ; 0x0208add4 + stmdb sp!, {r3, r4, r5, lr} + ldr r2, _0208ae20 ; =0x06666666 + mov r4, r1 + mov r5, r0 + cmp r4, r2 + bls _0208adf0 + bl func_0204dd9c +_0208adf0: + ldr r0, _0208ae24 ; =data_027e0f80 + mov r2, #4 + ldr r0, [r0] + cmp r0, #0 + moveq r1, #0 + ldrne r1, [r0] + mov r0, #0x28 + mul r0, r4, r0 + bl _ZN9SysObjectnwEmPjj + str r0, [r5] + str r4, [r5, #8] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_0208add4 +_0208ae20: .word 0x06666666 +_0208ae24: .word data_027e0f80 + + .global func_ov00_0208ae28 + arm_func_start func_ov00_0208ae28 +func_ov00_0208ae28: ; 0x0208ae28 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r2, r1 + mov r1, #0 + str r1, [r4] + add r0, r4, #8 + str r1, [r4, #4] + bl func_ov00_0208ae50 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208ae28 + + .global func_ov00_0208ae50 + arm_func_start func_ov00_0208ae50 +func_ov00_0208ae50: ; 0x0208ae50 + stmia r0, {r1, r2} + bx lr + arm_func_end func_ov00_0208ae50 + + .global func_ov00_0208ae58 + arm_func_start func_ov00_0208ae58 +func_ov00_0208ae58: ; 0x0208ae58 + stmdb sp!, {r3, r4, r5, lr} + ldr ip, [r0] + ldr r3, [r0, #4] + mov r2, #0x28 + mla r4, r3, r2, ip + movs r5, r1 + sub r1, r3, r5 + str r1, [r0, #4] + ldmeqia sp!, {r3, r4, r5, pc} +_0208ae7c: + sub r4, r4, #0x28 + mov r0, r4 + bl func_ov00_020a0368 + subs r5, r5, #1 + bne _0208ae7c + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_0208ae58 + + .global func_ov00_0208ae94 + arm_func_start func_ov00_0208ae94 +func_ov00_0208ae94: ; 0x0208ae94 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r0, [r4, #4] + ldr r1, [r0] + ldr r1, [r1] + blx r1 + ldr r0, [r4, #8] + ldr r1, [r0] + ldr r1, [r1] + blx r1 + ldr r0, [r4, #4] + mov r1, #0 + bl func_ov00_0208726c + ldr r0, [r4, #8] + mov r1, #0 + bl func_ov00_0208726c + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208ae94 + + .global func_ov00_0208aed8 + arm_func_start func_ov00_0208aed8 +func_ov00_0208aed8: ; 0x0208aed8 + stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} + sub sp, sp, #0x104 + mov r5, #0 + mov r0, #0xff + add r3, sp, #0x18 + mov r4, r1 + str r5, [sp, #0x18] + strb r0, [sp, #0x1c] + strh r5, [sp, #0x2c] + strh r5, [sp, #0x2e] + mov r2, r5 +_0208af04: + add r0, r3, r5, lsl #1 + add r5, r5, #1 + strh r2, [r0, #0x18] + cmp r5, #2 + blo _0208af04 + ldr r0, _0208b114 ; =data_027e0e60 + add r1, sp, #0x18 + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_02083928EPci + ldr r0, [sp, #0x18] + cmp r0, #0x31 + bne _0208b0dc + ldr r0, _0208b118 ; =data_027e0f64 + add r1, sp, #0x9c + ldr r0, [r0] + ldr r0, [r0, #4] + bl func_ov00_02087d34 + mov r0, #4 + bl func_ov00_02087d84 + ldr r1, [r0] + ldr r7, [sp, #0xa8] + str r1, [sp, #0x34] + ldr r1, [r0, #4] + ldr r6, [sp, #0xac] + str r1, [sp, #0x38] + ldr r1, [r0, #8] + ldr r5, [sp, #0xb0] + str r1, [sp, #0x3c] + ldr r1, [r0, #0xc] + ldr lr, [sp, #0xb4] + str r1, [sp, #0x40] + ldr r1, [r0, #0x10] + ldr ip, [sp, #0xb8] + str r1, [sp, #0x44] + ldr r1, [r0, #0x14] + ldr r2, [sp, #0xbc] + str r1, [sp, #0x48] + ldr r3, [r0, #0x18] + ldr r1, [sp, #0xc0] + str r3, [sp, #0x4c] + ldr r8, [r0, #0x1c] + add r3, sp, #0xc + str r8, [sp, #0x50] + ldr r8, [r0, #0x20] + str r8, [sp, #0x54] + ldr r8, [r0, #0x24] + str r8, [sp, #0x58] + ldr r8, [r0, #0x28] + str r8, [sp, #0x5c] + ldr r8, [r0, #0x2c] + str r8, [sp, #0x60] + ldr r8, [r0, #0x30] + str r8, [sp, #0x64] + ldr r8, [r0, #0x34] + str r8, [sp, #0x68] + ldr r8, [r0, #0x38] + str r8, [sp, #0x6c] + ldr r8, [r0, #0x3c] + str r8, [sp, #0x70] + ldr r8, [r0, #0x40] + str r8, [sp, #0x74] + ldr r8, [r0, #0x44] + str r8, [sp, #0x78] + ldr r8, [r0, #0x48] + str r8, [sp, #0x7c] + ldr r8, [r0, #0x4c] + str r8, [sp, #0x80] + ldr r8, [r0, #0x50] + str r8, [sp, #0x84] + ldr r8, [r0, #0x54] + str r8, [sp, #0x88] + ldr r8, [r0, #0x58] + str r8, [sp, #0x8c] + ldr r8, [r0, #0x5c] + str r8, [sp, #0x90] + ldrb r8, [r0, #0x60] + strb r8, [sp, #0x94] + ldrb r8, [r0, #0x61] + strb r8, [sp, #0x95] + ldrb r8, [r0, #0x62] + strb r8, [sp, #0x96] + ldrb r8, [r0, #0x63] + strb r8, [sp, #0x97] + ldrb r0, [r0, #0x64] + str r7, [sp, #0x40] + str r6, [sp, #0x44] + str r5, [sp, #0x48] + str lr, [sp, #0x4c] + str ip, [sp, #0x50] + strb r0, [sp, #0x98] + str r2, [sp, #0x54] + str r1, [sp, #0x58] + ldmia r4, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r1, sp, #0x20 + mov r0, r3 + mov r2, r3 + bl func_01ff9bf8 + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x14] + bl func_01ffa0f4 + mov r0, r0, lsl #0x10 + mov r0, r0, asr #0x10 + str r0, [sp, #0x48] + mov r0, #2 + str r0, [sp] + mov r1, #0 + str r1, [sp, #4] + str r1, [sp, #8] + ldr r0, _0208b118 ; =data_027e0f64 + add r3, sp, #0x34 + ldr r0, [r0] + mov r2, r4 + ldr r0, [r0, #4] + mov r1, #0xf + bl func_ov00_020888e8 + add sp, sp, #0x104 + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} +_0208b0dc: + mov r1, #0 + str r1, [sp] + mov r0, #1 + str r0, [sp, #4] + ldr r0, _0208b118 ; =data_027e0f64 + str r1, [sp, #8] + ldr r0, [r0] + mov r2, r4 + ldr r0, [r0, #4] + mov r1, #0xf + mov r3, #2 + bl func_ov00_020884b4 + add sp, sp, #0x104 + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} + .align 2, 0 + arm_func_end func_ov00_0208aed8 +_0208b114: .word data_027e0e60 +_0208b118: .word data_027e0f64 + + .global func_ov00_0208b11c + arm_func_start func_ov00_0208b11c +func_ov00_0208b11c: ; 0x0208b11c + stmdb sp!, {r3, lr} + add r0, r0, r1, lsl #2 + ldr r0, [r0, #4] + mov r1, r2 + arm_func_end func_ov00_0208b11c + + .global func_ov00_0208b12c + arm_func_start func_ov00_0208b12c +func_ov00_0208b12c: ; 0x0208b12c + ldr r2, [r0] + ldr r2, [r2, #4] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0208b12c + + .global func_ov00_0208b13c + arm_func_start func_ov00_0208b13c +func_ov00_0208b13c: ; 0x0208b13c + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r0, [r4, #4] + bl func_ov00_02086e80 + ldr r0, [r4, #8] + bl func_ov00_02086e80 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208b13c + + .global func_ov00_0208b158 + arm_func_start func_ov00_0208b158 +func_ov00_0208b158: ; 0x0208b158 + ldr r1, _0208b178 ; =data_027e077c + ldr r2, _0208b17c ; =data_02056be4 + ldr r1, [r1] + ldrb r1, [r2, r1] + tst r1, #1 + ldrne r0, [r0, #4] + ldreq r0, [r0, #8] + bx lr + .align 2, 0 + arm_func_end func_ov00_0208b158 +_0208b178: .word data_027e077c +_0208b17c: .word data_02056be4 + + .global func_ov00_0208b180 + arm_func_start func_ov00_0208b180 +func_ov00_0208b180: ; 0x0208b180 + ldr r1, _0208b1a0 ; =data_027e077c + ldr r2, _0208b1a4 ; =data_02056be4 + ldr r1, [r1] + ldrb r1, [r2, r1] + tst r1, #1 + ldrne r0, [r0, #8] + ldreq r0, [r0, #4] + bx lr + .align 2, 0 + arm_func_end func_ov00_0208b180 +_0208b1a0: .word data_027e077c +_0208b1a4: .word data_02056be4 + + .global func_ov00_0208b1a8 + arm_func_start func_ov00_0208b1a8 +func_ov00_0208b1a8: ; 0x0208b1a8 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r1 + mov r5, r2 + mov r4, r3 + bl func_ov00_0208b180 + mov r1, r6 + mov r2, r5 + mov r3, r4 + bl func_ov00_02088454 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end func_ov00_0208b1a8 + + .global func_ov00_0208b1d0 + arm_func_start func_ov00_0208b1d0 +func_ov00_0208b1d0: ; 0x0208b1d0 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r1 + mov r5, r2 + mov r4, r3 + bl func_ov00_0208b180 + mov r1, r6 + mov r2, r5 + mov r3, r4 + bl func_ov00_02088474 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end func_ov00_0208b1d0 + + .global func_ov00_0208b1f8 + arm_func_start func_ov00_0208b1f8 +func_ov00_0208b1f8: ; 0x0208b1f8 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r1 + mov r5, r2 + mov r4, r3 + bl func_ov00_0208b180 + mov r1, r6 + mov r2, r5 + mov r3, r4 + bl func_ov00_02088494 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end func_ov00_0208b1f8 + + .global func_ov00_0208b220 + arm_func_start func_ov00_0208b220 +func_ov00_0208b220: ; 0x0208b220 + stmdb sp!, {r3, lr} + sub sp, sp, #8 + add r3, r0, r0, lsl #1 + add r1, r3, #1 + add r0, r3, #2 + ldr r2, _0208b274 ; =data_ov00_020e25b0 + mov ip, r3, lsl #0x1 + mov r0, r0, lsl #0x1 + ldrh r3, [r2, r0] + mov r1, r1, lsl #0x1 + ldrh ip, [r2, ip] + ldrh r2, [r2, r1] + add r1, sp, #0 + mov r0, #0x23 + orr ip, ip, r2, lsl #16 + mov r2, #2 + str ip, [sp] + str r3, [sp, #4] + bl func_01ffa9fc + add sp, sp, #8 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_0208b220 +_0208b274: .word data_ov00_020e25b0 + + .global func_ov00_0208b278 + arm_func_start func_ov00_0208b278 +func_ov00_0208b278: ; 0x0208b278 + stmdb sp!, {r3, lr} + ldr r2, _0208b29c ; =data_ov00_020e2588 + add r1, sp, #0 + ldr r3, [r2, r0, lsl #2] + mov r0, #0x21 + mov r2, #1 + str r3, [sp] + bl func_01ffa9fc + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_0208b278 +_0208b29c: .word data_ov00_020e2588 + + .global func_ov00_0208b2a0 + arm_func_start func_ov00_0208b2a0 +func_ov00_0208b2a0: ; 0x0208b2a0 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0xc + mov r6, r0 + mov r0, r3 + mov r5, r1 + mov r4, r2 + bl func_ov00_0208b278 + ldrh r0, [sp, #0x24] + ldrh r3, [sp, #0x20] + add r1, sp, #8 + mov r0, r0, lsl #0x14 + mov r2, r0, asr #0x10 + mov r0, r3, lsl #0x14 + mov r2, r2, lsl #0x10 + mov r0, r0, asr #0x10 + mov r2, r2, lsr #0x10 + mov r0, r0, lsl #0x10 + mov r2, r2, lsl #0x10 + orr r3, r2, r0, lsr #16 + mov r0, #0x22 + mov r2, #1 + str r3, [sp, #8] + bl func_01ffa9fc + mov r0, r6 + bl func_ov00_0208b220 + ldrh r2, [sp, #0x2c] + ldrh r1, [sp, #0x28] + mov r0, #0x22 + mov r2, r2, lsl #0x14 + mov r2, r2, asr #0x10 + mov r1, r1, lsl #0x14 + mov r2, r2, lsl #0x10 + mov r1, r1, asr #0x10 + mov r2, r2, lsr #0x10 + mov r1, r1, lsl #0x10 + mov r2, r2, lsl #0x10 + orr r1, r2, r1, lsr #16 + str r1, [sp, #4] + add r1, sp, #4 + mov r2, #1 + bl func_01ffa9fc + mov r0, r5 + bl func_ov00_0208b220 + ldrh r2, [sp, #0x34] + ldrh r1, [sp, #0x30] + mov r0, #0x22 + mov r2, r2, lsl #0x14 + mov r2, r2, asr #0x10 + mov r1, r1, lsl #0x14 + mov r2, r2, lsl #0x10 + mov r1, r1, asr #0x10 + mov r2, r2, lsr #0x10 + mov r1, r1, lsl #0x10 + mov r2, r2, lsl #0x10 + orr r1, r2, r1, lsr #16 + str r1, [sp] + add r1, sp, #0 + mov r2, #1 + bl func_01ffa9fc + mov r0, r4 + bl func_ov00_0208b220 + add sp, sp, #0xc + ldmia sp!, {r3, r4, r5, r6, pc} + arm_func_end func_ov00_0208b2a0 + + .global func_ov00_0208b39c + arm_func_start func_ov00_0208b39c +func_ov00_0208b39c: ; 0x0208b39c + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x10 + mov r4, r0 + ldr r0, [sp, #0x30] + mov r9, r1 + mov r8, r2 + mov r7, r3 + bl func_ov00_0208b278 + ldrh r0, [sp, #0x40] + ldrh r2, [sp, #0x3c] + add r1, sp, #0xc + mov r0, r0, lsl #0x14 + mov r2, r2, lsl #0x14 + mov r0, r0, asr #0x10 + mov r2, r2, asr #0x10 + mov r0, r0, lsl #0x10 + mov r2, r2, lsl #0x10 + mov r6, r2, lsr #0x10 + mov r5, r0, lsr #0x10 + orr r0, r6, r5, lsl #16 + str r0, [sp, #0xc] + mov r0, #0x22 + mov r2, #1 + bl func_01ffa9fc + mov r0, r4 + bl func_ov00_0208b220 + ldrh r2, [sp, #0x38] + mov r0, #0x22 + add r1, sp, #8 + mov r2, r2, lsl #0x14 + mov r2, r2, asr #0x10 + mov r2, r2, lsl #0x10 + mov r4, r2, lsr #0x10 + orr r2, r6, r4, lsl #16 + str r2, [sp, #8] + mov r2, #1 + bl func_01ffa9fc + mov r0, r9 + bl func_ov00_0208b220 + ldrh r2, [sp, #0x34] + mov r0, #0x22 + add r1, sp, #4 + mov r2, r2, lsl #0x14 + mov r2, r2, asr #0x10 + mov r2, r2, lsl #0x10 + mov r6, r2, lsr #0x10 + orr r2, r6, r4, lsl #16 + str r2, [sp, #4] + mov r2, #1 + bl func_01ffa9fc + mov r0, r8 + bl func_ov00_0208b220 + orr r0, r6, r5, lsl #16 + str r0, [sp] + mov r0, #0x22 + add r1, sp, #0 + mov r2, #1 + bl func_01ffa9fc + mov r0, r7 + bl func_ov00_0208b220 + add sp, sp, #0x10 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + arm_func_end func_ov00_0208b39c + + .global func_ov00_0208b494 + arm_func_start func_ov00_0208b494 +func_ov00_0208b494: ; 0x0208b494 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x10 + mov r4, r0 + ldr r0, [sp, #0x30] + mov r9, r1 + mov r8, r2 + mov r7, r3 + bl func_ov00_0208b278 + ldrh r0, [sp, #0x4c] + ldrh r2, [sp, #0x48] + add r1, sp, #0xc + mov r0, r0, lsl #0x14 + mov r2, r2, lsl #0x14 + mov r0, r0, asr #0x10 + mov r2, r2, asr #0x10 + mov r0, r0, lsl #0x10 + mov r2, r2, lsl #0x10 + mov r6, r2, lsr #0x10 + mov r5, r0, lsr #0x10 + orr r0, r6, r5, lsl #16 + str r0, [sp, #0xc] + mov r0, #0x22 + mov r2, #1 + bl func_01ffa9fc + mov r0, r4 + bl func_ov00_0208b220 + ldr r0, [sp, #0x34] + bl func_ov00_0208b278 + ldrh r2, [sp, #0x44] + mov r0, #0x22 + add r1, sp, #8 + mov r2, r2, lsl #0x14 + mov r2, r2, asr #0x10 + mov r2, r2, lsl #0x10 + mov r4, r2, lsr #0x10 + orr r2, r6, r4, lsl #16 + str r2, [sp, #8] + mov r2, #1 + bl func_01ffa9fc + mov r0, r9 + bl func_ov00_0208b220 + ldr r0, [sp, #0x38] + bl func_ov00_0208b278 + ldrh r2, [sp, #0x40] + mov r0, #0x22 + add r1, sp, #4 + mov r2, r2, lsl #0x14 + mov r2, r2, asr #0x10 + mov r2, r2, lsl #0x10 + mov r6, r2, lsr #0x10 + orr r2, r6, r4, lsl #16 + str r2, [sp, #4] + mov r2, #1 + bl func_01ffa9fc + mov r0, r8 + bl func_ov00_0208b220 + ldr r0, [sp, #0x3c] + bl func_ov00_0208b278 + orr r0, r6, r5, lsl #16 + str r0, [sp] + mov r0, #0x22 + add r1, sp, #0 + mov r2, #1 + bl func_01ffa9fc + mov r0, r7 + bl func_ov00_0208b220 + add sp, sp, #0x10 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + arm_func_end func_ov00_0208b494 + + .global func_ov00_0208b5a4 + arm_func_start func_ov00_0208b5a4 +func_ov00_0208b5a4: ; 0x0208b5a4 + bx lr + arm_func_end func_ov00_0208b5a4 + + .global func_ov00_0208b5a8 + arm_func_start func_ov00_0208b5a8 +func_ov00_0208b5a8: ; 0x0208b5a8 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208b5a8 + + .global func_ov00_0208b5bc + arm_func_start func_ov00_0208b5bc +func_ov00_0208b5bc: ; 0x0208b5bc + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r3, _0208b688 ; =data_ov00_020e27dc + mov r4, r1 + add r1, r5, #4 + mov r0, #0 + mov r2, #4 + str r3, [r5] + bl func_020078f4 + mov r0, #0 + str r0, [r5, #8] + strh r0, [r5, #0xc] + strh r0, [r5, #0xe] + strh r0, [r5, #0x10] + strb r0, [r5, #0x12] + strb r0, [r5, #0x14] + strb r0, [r5, #0x15] + strb r0, [r5, #0x16] + str r0, [r5, #0x18] + str r0, [r5, #0x1c] + str r0, [r5, #0x20] + ldrh ip, [r4] + ldrh r3, [r4, #2] + add r1, r5, #4 + mov r2, #4 + strh ip, [r5, #0x24] + strh r3, [r5, #0x26] + ldrh ip, [r4, #4] + ldrh r3, [r4, #6] + strh ip, [r5, #0x28] + strh r3, [r5, #0x2a] + ldrb ip, [r4, #8] + ldrb r3, [r4, #9] + strb ip, [r5, #0x2c] + strb r3, [r5, #0x2d] + ldrb ip, [r4, #0xa] + ldrb r3, [r4, #0xb] + strb ip, [r5, #0x2e] + strb r3, [r5, #0x2f] + ldr r3, [r4, #0xc] + str r3, [r5, #0x30] + ldrsh r3, [r4, #0x10] + strh r3, [r5, #0x34] + ldrb r3, [r4, #0x12] + strb r3, [r5, #0x36] + bl func_020078f4 + ldr r1, [r5, #4] + mov r0, r5 + orr r1, r1, #9 + str r1, [r5, #4] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_0208b5bc +_0208b688: .word data_ov00_020e27dc + + .global func_ov00_0208b68c + arm_func_start func_ov00_0208b68c +func_ov00_0208b68c: ; 0x0208b68c + bx lr + arm_func_end func_ov00_0208b68c + + .global func_ov00_0208b690 + arm_func_start func_ov00_0208b690 +func_ov00_0208b690: ; 0x0208b690 + bx lr + arm_func_end func_ov00_0208b690 + + .global func_ov00_0208b694 + arm_func_start func_ov00_0208b694 +func_ov00_0208b694: ; 0x0208b694 + bx lr + arm_func_end func_ov00_0208b694 + + .global func_ov00_0208b698 + arm_func_start func_ov00_0208b698 +func_ov00_0208b698: ; 0x0208b698 + stmdb sp!, {r3, lr} + ldr r2, [r0, #4] + tst r2, #8 + ldmeqia sp!, {r3, pc} + ldr r2, [r0] + ldr r2, [r2, #0x7c] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0208b698 + + .global func_ov00_0208b6b8 + arm_func_start func_ov00_0208b6b8 +func_ov00_0208b6b8: ; 0x0208b6b8 + bx lr + arm_func_end func_ov00_0208b6b8 + + .global func_ov00_0208b6bc + arm_func_start func_ov00_0208b6bc +func_ov00_0208b6bc: ; 0x0208b6bc + mov r0, #0 + bx lr + arm_func_end func_ov00_0208b6bc + + .global func_ov00_0208b6c4 + arm_func_start func_ov00_0208b6c4 +func_ov00_0208b6c4: ; 0x0208b6c4 + bx lr + arm_func_end func_ov00_0208b6c4 + + .global func_ov00_0208b6c8 + arm_func_start func_ov00_0208b6c8 +func_ov00_0208b6c8: ; 0x0208b6c8 + mvn r0, #0 + bx lr + arm_func_end func_ov00_0208b6c8 + + .global func_ov00_0208b6d0 + arm_func_start func_ov00_0208b6d0 +func_ov00_0208b6d0: ; 0x0208b6d0 + mvn r0, #0 + bx lr + arm_func_end func_ov00_0208b6d0 + + .global func_ov00_0208b6d8 + arm_func_start func_ov00_0208b6d8 +func_ov00_0208b6d8: ; 0x0208b6d8 + mvn r0, #0 + bx lr + arm_func_end func_ov00_0208b6d8 + + .global func_ov00_0208b6e0 + arm_func_start func_ov00_0208b6e0 +func_ov00_0208b6e0: ; 0x0208b6e0 + mvn r0, #0 + bx lr + arm_func_end func_ov00_0208b6e0 + + .global func_ov00_0208b6e8 + arm_func_start func_ov00_0208b6e8 +func_ov00_0208b6e8: ; 0x0208b6e8 + mvn r0, #0 + bx lr + arm_func_end func_ov00_0208b6e8 + + .global func_ov00_0208b6f0 + arm_func_start func_ov00_0208b6f0 +func_ov00_0208b6f0: ; 0x0208b6f0 + mvn r0, #0 + bx lr + arm_func_end func_ov00_0208b6f0 + + .global func_ov00_0208b6f8 + arm_func_start func_ov00_0208b6f8 +func_ov00_0208b6f8: ; 0x0208b6f8 + mvn r0, #0 + bx lr + arm_func_end func_ov00_0208b6f8 + + .global func_ov00_0208b700 + arm_func_start func_ov00_0208b700 +func_ov00_0208b700: ; 0x0208b700 + bx lr + arm_func_end func_ov00_0208b700 + + .global func_ov00_0208b704 + arm_func_start func_ov00_0208b704 +func_ov00_0208b704: ; 0x0208b704 + mov r0, #1 + bx lr + arm_func_end func_ov00_0208b704 + + .global func_ov00_0208b70c + arm_func_start func_ov00_0208b70c +func_ov00_0208b70c: ; 0x0208b70c + bx lr + arm_func_end func_ov00_0208b70c + + .global func_ov00_0208b710 + arm_func_start func_ov00_0208b710 +func_ov00_0208b710: ; 0x0208b710 + bx lr + arm_func_end func_ov00_0208b710 + + .global func_ov00_0208b714 + arm_func_start func_ov00_0208b714 +func_ov00_0208b714: ; 0x0208b714 + mov r0, #0 + bx lr + arm_func_end func_ov00_0208b714 + + .global func_ov00_0208b71c + arm_func_start func_ov00_0208b71c +func_ov00_0208b71c: ; 0x0208b71c + stmdb sp!, {r3, lr} + ldr r1, [r0] + ldr r1, [r1, #0x54] + blx r1 + cmp r0, #0 + moveq r0, #0 + ldrneb r0, [r0, #4] + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0208b71c + + .global func_ov00_0208b73c + arm_func_start func_ov00_0208b73c +func_ov00_0208b73c: ; 0x0208b73c + stmdb sp!, {r4, lr} + sub sp, sp, #0x10 + ldr r2, [r0] + mov r4, r1 + ldr r2, [r2, #0x54] + blx r2 + cmp r0, #0 + addeq sp, sp, #0x10 + moveq r0, #0 + ldmeqia sp!, {r4, pc} + ldr r1, [r4] + mov r2, #0 + str r1, [sp] + ldr r3, [r4, #4] + add r1, sp, #0 + str r3, [sp, #4] + ldr r3, [r4, #8] + str r3, [sp, #8] + str r2, [sp, #0xc] + ldr r2, [r0] + ldr r2, [r2, #0x50] + blx r2 + add sp, sp, #0x10 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208b73c + + .global func_ov00_0208b79c + arm_func_start func_ov00_0208b79c +func_ov00_0208b79c: ; 0x0208b79c + stmdb sp!, {r4, lr} + ldr r2, [r0] + mov r4, r1 + ldr r2, [r2, #0x54] + blx r2 + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r4, pc} + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0x48] + blx r2 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208b79c + + .global func_ov00_0208b7d0 + arm_func_start func_ov00_0208b7d0 +func_ov00_0208b7d0: ; 0x0208b7d0 + stmdb sp!, {r4, lr} + ldr r2, [r0] + mov r4, r1 + ldr r2, [r2, #0x54] + blx r2 + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r4, pc} + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0x50] + blx r2 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208b7d0 + + .global func_ov00_0208b804 + arm_func_start func_ov00_0208b804 +func_ov00_0208b804: ; 0x0208b804 + stmdb sp!, {r3, r4, r5, lr} + ldr r3, [r0] + mov r5, r1 + ldr r3, [r3, #0x54] + mov r4, r2 + blx r3 + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, pc} + ldr ip, [r0] + add r3, sp, #0 + ldr ip, [ip, #0x54] + mov r1, r5 + mov r2, r4 + blx ip + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_0208b804 + + .global func_ov00_0208b844 + arm_func_start func_ov00_0208b844 +func_ov00_0208b844: ; 0x0208b844 + stmdb sp!, {r3, lr} + ldr r1, [r0] + ldr r1, [r1, #0x54] + blx r1 + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + ldr r1, [r0] + ldr r1, [r1, #0x40] + blx r1 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0208b844 + + .global func_ov00_0208b870 + arm_func_start func_ov00_0208b870 +func_ov00_0208b870: ; 0x0208b870 + stmdb sp!, {r3, lr} + ldr r1, [r0] + ldr r1, [r1, #0x54] + blx r1 + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + ldr r1, [r0] + ldr r1, [r1, #0x40] + blx r1 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0208b870 + + .global func_ov00_0208b89c + arm_func_start func_ov00_0208b89c +func_ov00_0208b89c: ; 0x0208b89c + stmdb sp!, {r4, lr} + ldr r2, [r0] + mov r4, r1 + ldr r2, [r2, #0x54] + blx r2 + cmp r0, #0 + bne _0208b8cc + mov r0, #0 + str r0, [r4] + str r0, [r4, #4] + str r0, [r4, #8] + ldmia sp!, {r4, pc} +_0208b8cc: + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0x3c] + blx r2 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208b89c + + .global func_ov00_0208b8e0 + arm_func_start func_ov00_0208b8e0 +func_ov00_0208b8e0: ; 0x0208b8e0 + stmdb sp!, {r3, lr} + sub sp, sp, #0x18 + mov lr, r0 + str r3, [sp] + ldrsh r1, [lr, #0xc] + ldr r0, [sp, #0x24] + mov r3, r2 + str r1, [sp, #4] + str r0, [sp, #8] + mov ip, #1 + str ip, [sp, #0xc] + str ip, [sp, #0x10] + ldr r1, [sp, #0x20] + ldr r0, _0208b92c ; =data_ov00_020e9370 + add r2, lr, #0x18 + str ip, [sp, #0x14] + bl func_ov05_02102c2c + add sp, sp, #0x18 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_0208b8e0 +_0208b92c: .word data_ov00_020e9370 + + .global func_ov00_0208b930 + arm_func_start func_ov00_0208b930 +func_ov00_0208b930: ; 0x0208b930 + stmdb sp!, {r3, lr} + sub sp, sp, #0x18 + ldr r1, _0208b984 ; =data_027e0f94 + mov ip, r0 + ldr r2, [r1] + ldr r0, [r1, #4] + str r2, [sp] + str r0, [sp, #4] + ldr r3, [r1, #8] + add r0, sp, #0 + add r2, sp, #0xc + add r1, ip, #0x18 + str r3, [sp, #8] + bl func_01ff9bf8 + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x14] + bl func_01ffa0f4 + mov r0, r0, lsl #0x10 + mov r0, r0, asr #0x10 + add sp, sp, #0x18 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_0208b930 +_0208b984: .word data_027e0f94 + + .global func_ov00_0208b988 + arm_func_start func_ov00_0208b988 +func_ov00_0208b988: ; 0x0208b988 + stmdb sp!, {lr} + sub sp, sp, #0xc + ldr r2, _0208b9c8 ; =data_027e0f94 + mov ip, r0 + ldr r0, [r2, #4] + ldr r3, [r2] + str r0, [sp, #4] + str r3, [sp] + ldr r3, [r2, #8] + mov r2, r1 + add r0, sp, #0 + add r1, ip, #0x18 + str r3, [sp, #8] + bl func_01ff9bf8 + add sp, sp, #0xc + ldmia sp!, {pc} + .align 2, 0 + arm_func_end func_ov00_0208b988 +_0208b9c8: .word data_027e0f94 + + .global func_ov00_0208b9cc + arm_func_start func_ov00_0208b9cc +func_ov00_0208b9cc: ; 0x0208b9cc + ldr ip, _0208b9e0 ; =func_ov00_0208ba58 + mov r1, r0 + ldrb r0, [r1, #0x14] + ldrb r1, [r1, #0x15] + bx ip + .align 2, 0 + arm_func_end func_ov00_0208b9cc +_0208b9e0: .word func_ov00_0208ba58 + + .global func_ov00_0208b9e4 + arm_func_start func_ov00_0208b9e4 +func_ov00_0208b9e4: ; 0x0208b9e4 + add r2, r0, r1 + ldr r0, _0208ba00 ; =data_027e0e60 + ldrb r1, [r2, #0x2e] + ldr ip, _0208ba04 ; =_ZN10MapManager18func_ov00_02084be0Eii + ldrb r2, [r2, #0x2c] + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end func_ov00_0208b9e4 +_0208ba00: .word data_027e0e60 +_0208ba04: .word _ZN10MapManager18func_ov00_02084be0Eii + + .global func_ov00_0208ba08 + arm_func_start func_ov00_0208ba08 +func_ov00_0208ba08: ; 0x0208ba08 + stmdb sp!, {r3, lr} + add ip, r0, r1 + ldr r0, _0208ba2c ; =data_027e0e60 + mov r3, r2 + ldrb r1, [ip, #0x2e] + ldrb r2, [ip, #0x2c] + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_02084b38Eiii + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_0208ba08 +_0208ba2c: .word data_027e0e60 + + .global func_ov00_0208ba30 + arm_func_start func_ov00_0208ba30 +func_ov00_0208ba30: ; 0x0208ba30 + mov r0, #0 + bx lr + arm_func_end func_ov00_0208ba30 + + .global func_ov00_0208ba38 + arm_func_start func_ov00_0208ba38 +func_ov00_0208ba38: ; 0x0208ba38 + mov r0, #0 + bx lr + arm_func_end func_ov00_0208ba38 + + .global func_ov00_0208ba40 + arm_func_start func_ov00_0208ba40 +func_ov00_0208ba40: ; 0x0208ba40 + mov r0, #0 + bx lr + arm_func_end func_ov00_0208ba40 + + .global func_ov00_0208ba48 + arm_func_start func_ov00_0208ba48 +func_ov00_0208ba48: ; 0x0208ba48 + mov r0, #0 + bx lr + arm_func_end func_ov00_0208ba48 + + .global func_ov00_0208ba50 + arm_func_start func_ov00_0208ba50 +func_ov00_0208ba50: ; 0x0208ba50 + mov r0, #0 + bx lr + arm_func_end func_ov00_0208ba50 + + .global func_ov00_0208ba58 + arm_func_start func_ov00_0208ba58 +func_ov00_0208ba58: ; 0x0208ba58 + orr r0, r1, r0, lsl #16 + add r0, r0, #1 + rsb r0, r0, #0 + bx lr + arm_func_end func_ov00_0208ba58 + + .global func_ov00_0208ba68 + arm_func_start func_ov00_0208ba68 +func_ov00_0208ba68: ; 0x0208ba68 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} + sub sp, sp, #0x98 + ldr r8, [sp, #0xbc] + ldr r7, [sp, #0xc0] + ldr r6, [sp, #0xc4] + ldr r5, [sp, #0xc8] + ldr lr, _0208bed8 ; =0x04000444 + mov r9, #0 + ldr r0, _0208bedc ; =data_027e0d44 + str r9, [lr] + ldr r10, [r0] + ldr r4, [sp, #0xcc] + add r10, r10, r2, lsl #3 + ldr r10, [r10, #8] + ldmib r4, {r0, ip} + mov r10, r10, lsl #0x10 + mov r10, r10, lsr #0x10 + bic r10, r10, #0xe0000000 + orr r10, r10, r0, lsl #26 + ldr r0, [r4, #0xc] + orr r10, r10, ip, lsl #20 + orr r0, r10, r0, lsl #23 + orr r0, r0, #0x20000000 + str r0, [lr, #0x64] + ldr r0, [r4, #4] + cmp r0, #0 + cmpne r0, #7 + beq _0208bb08 + cmp r0, #2 + ldr r0, _0208bedc ; =data_027e0d44 + moveq r9, #1 + ldr r10, [r0] + rsb r9, r9, #4 + add r2, r10, r2, lsl #3 + ldr r2, [r2, #0xc] + ldr r0, _0208bee0 ; =0x040004ac + mov r2, r2, lsl #0x10 + mov r2, r2, lsr #0xd + mov r2, r2, lsr sb + str r2, [r0] +_0208bb08: + ldr r0, _0208bee4 ; =data_ov00_020ec9d4 + ldrb r2, [sp, #0xd0] + ldrh ip, [r4] + ldrh r0, [r0] + ldr r10, _0208bee8 ; =0x040004c0 + mov r9, #0 + orr r0, ip, r0, lsl #16 + str r0, [r10] + ldr r0, _0208beec ; =0x001f0081 + str r9, [r10, #4] + str r0, [r10, #-0x1c] + cmp r2, #0 + beq _0208bb78 + ldr r0, _0208bef0 ; =data_027e0f64 + ldr r9, [r3] + ldr r2, [r0] + add r0, sp, #0xc + add r1, r2, r1, lsl #2 + ldr r1, [r1, #4] + add r2, sp, #0x58 + str r9, [sp, #0xc] + ldr r9, [r3, #4] + add r1, r1, #0x1c + str r9, [sp, #0x10] + ldr r3, [r3, #8] + str r3, [sp, #0x14] + bl func_0202b7e4 + b _0208bbb8 +_0208bb78: + ldr r0, _0208bef0 ; =data_027e0f64 + ldr r9, [r3] + ldr r2, [r0] + add r0, sp, #0 + add r1, r2, r1, lsl #2 + ldr r1, [r1, #4] + add r2, sp, #0x58 + str r9, [sp] + ldr r10, [r3, #4] + ldr r9, [r4, #0x18] + add r1, r1, #0x1c + add r9, r10, r9, asr #1 + str r9, [sp, #4] + ldr r3, [r3, #8] + str r3, [sp, #8] + bl func_0202b7e4 +_0208bbb8: + ldrsh r0, [sp, #0xb8] + cmp r0, #0 + beq _0208bc04 + mov r0, r0, lsl #0x10 + mov r0, r0, lsr #0x10 + mov r0, r0, asr #0x4 + mov r1, r0, lsl #0x1 + add r0, r1, #1 + ldr r2, _0208bef4 ; =data_02050f54 + mov r1, r1, lsl #0x1 + mov r0, r0, lsl #0x1 + ldrsh r1, [r2, r1] + ldrsh r2, [r2, r0] + add r0, sp, #0x18 + blx func_01ff9258 + add r1, sp, #0x58 + add r0, sp, #0x18 + mov r2, r1 + bl func_01ff927c +_0208bc04: + add r0, sp, #0x58 + bl func_02005660 + ldr r0, [r4, #0x14] + ldr r2, [r4, #0x18] + ldr r1, _0208bef8 ; =0x0400046c + mov r0, r0, lsl #0x1 + str r0, [r1] + str r2, [r1] + mov r0, #0 + str r0, [r1] + ldrb r0, [r4, #0x10] + ldrb r1, [sp, #0xd0] + mov r2, #1 + cmp r0, #0 + movne r0, r8 + movne r8, r6 + movne r6, r0 + ldrb r0, [r4, #0x11] + cmp r0, #0 + movne r0, r7 + movne r7, r5 + movne r5, r0 + ldr r0, _0208befc ; =0x04000500 + cmp r1, #0 + str r2, [r0] + ldr r1, [r4, #4] + beq _0208bd98 + cmp r1, #0 + beq _0208bca0 + mov r1, r5, lsl #0x14 + mov r2, r1, asr #0x10 + mov r1, r6, lsl #0x14 + mov r2, r2, lsl #0x10 + mov r1, r1, asr #0x10 + mov r2, r2, lsr #0x10 + mov r1, r1, lsl #0x10 + mov r2, r2, lsl #0x10 + orr r1, r2, r1, lsr #16 + str r1, [r0, #-0x78] +_0208bca0: + ldr r2, _0208bf00 ; =0x1ff00000 + ldr r0, _0208bf04 ; =0x04000484 + mov r1, #0x800 + str r2, [r0] + str r1, [r0, #8] + mov r1, #0 + str r1, [r0, #8] + ldr r1, [r4, #4] + cmp r1, #0 + beq _0208bcf0 + mov r1, r7, lsl #0x14 + mov r2, r1, asr #0x10 + mov r1, r6, lsl #0x14 + mov r2, r2, lsl #0x10 + mov r1, r1, asr #0x10 + mov r2, r2, lsr #0x10 + mov r1, r1, lsl #0x10 + mov r2, r2, lsl #0x10 + orr r1, r2, r1, lsr #16 + str r1, [r0, #4] +_0208bcf0: + ldr r2, _0208bf08 ; =0x10000800 + ldr r0, _0208bf0c ; =0x0400048c + mov r1, #0 + str r2, [r0] + str r1, [r0] + ldr r1, [r4, #4] + cmp r1, #0 + beq _0208bd38 + mov r1, r7, lsl #0x14 + mov r2, r1, asr #0x10 + mov r1, r8, lsl #0x14 + mov r2, r2, lsl #0x10 + mov r1, r1, asr #0x10 + mov r2, r2, lsr #0x10 + mov r1, r1, lsl #0x10 + mov r2, r2, lsl #0x10 + orr r1, r2, r1, lsr #16 + str r1, [r0, #-4] +_0208bd38: + ldr r2, _0208bf10 ; =0x1000f800 + ldr r0, _0208bf0c ; =0x0400048c + mov r1, #0 + str r2, [r0] + str r1, [r0] + ldr r1, [r4, #4] + cmp r1, #0 + beq _0208bd80 + mov r1, r5, lsl #0x14 + mov r2, r1, asr #0x10 + mov r1, r8, lsl #0x14 + mov r2, r2, lsl #0x10 + mov r1, r1, asr #0x10 + mov r2, r2, lsr #0x10 + mov r1, r1, lsl #0x10 + mov r2, r2, lsl #0x10 + orr r1, r2, r1, lsr #16 + str r1, [r0, #-4] +_0208bd80: + ldr r1, _0208bf0c ; =0x0400048c + mov r0, #0xf800 + str r0, [r1] + mov r0, #0 + str r0, [r1] + b _0208bebc +_0208bd98: + cmp r1, #0 + beq _0208bdc8 + mov r1, r5, lsl #0x14 + mov r2, r1, asr #0x10 + mov r1, r6, lsl #0x14 + mov r2, r2, lsl #0x10 + mov r1, r1, asr #0x10 + mov r2, r2, lsr #0x10 + mov r1, r1, lsl #0x10 + mov r2, r2, lsl #0x10 + orr r1, r2, r1, lsr #16 + str r1, [r0, #-0x78] +_0208bdc8: + ldr r2, _0208bf00 ; =0x1ff00000 + ldr r0, _0208bf04 ; =0x04000484 + ldr r1, _0208bf14 ; =0xf8000800 + str r2, [r0] + str r1, [r0, #8] + mov r1, #0 + str r1, [r0, #8] + ldr r1, [r4, #4] + cmp r1, #0 + beq _0208be18 + mov r1, r7, lsl #0x14 + mov r2, r1, asr #0x10 + mov r1, r6, lsl #0x14 + mov r2, r2, lsl #0x10 + mov r1, r1, asr #0x10 + mov r2, r2, lsr #0x10 + mov r1, r1, lsl #0x10 + mov r2, r2, lsl #0x10 + orr r1, r2, r1, lsr #16 + str r1, [r0, #4] +_0208be18: + ldr r2, _0208bf18 ; =0x08000800 + ldr r0, _0208bf0c ; =0x0400048c + mov r1, #0 + str r2, [r0] + str r1, [r0] + ldr r1, [r4, #4] + cmp r1, #0 + beq _0208be60 + mov r1, r7, lsl #0x14 + mov r2, r1, asr #0x10 + mov r1, r8, lsl #0x14 + mov r2, r2, lsl #0x10 + mov r1, r1, asr #0x10 + mov r2, r2, lsr #0x10 + mov r1, r1, lsl #0x10 + mov r2, r2, lsl #0x10 + orr r1, r2, r1, lsr #16 + str r1, [r0, #-4] +_0208be60: + ldr r2, _0208bf1c ; =0x0800f800 + ldr r0, _0208bf0c ; =0x0400048c + mov r1, #0 + str r2, [r0] + str r1, [r0] + ldr r1, [r4, #4] + cmp r1, #0 + beq _0208bea8 + mov r1, r5, lsl #0x14 + mov r2, r1, asr #0x10 + mov r1, r8, lsl #0x14 + mov r2, r2, lsl #0x10 + mov r1, r1, asr #0x10 + mov r2, r2, lsr #0x10 + mov r1, r1, lsl #0x10 + mov r2, r2, lsl #0x10 + orr r1, r2, r1, lsr #16 + str r1, [r0, #-4] +_0208bea8: + ldr r2, _0208bf20 ; =0xf800f800 + ldr r1, _0208bf0c ; =0x0400048c + mov r0, #0 + str r2, [r1] + str r0, [r1] +_0208bebc: + ldr r1, _0208bf24 ; =0x04000504 + mov r0, #0 + str r0, [r1] + mov r0, #1 + str r0, [r1, #-0xbc] + add sp, sp, #0x98 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} + .align 2, 0 + arm_func_end func_ov00_0208ba68 +_0208bed8: .word 0x04000444 +_0208bedc: .word data_027e0d44 +_0208bee0: .word 0x040004ac +_0208bee4: .word data_ov00_020ec9d4 +_0208bee8: .word 0x040004c0 +_0208beec: .word 0x001f0081 +_0208bef0: .word data_027e0f64 +_0208bef4: .word data_02050f54 +_0208bef8: .word 0x0400046c +_0208befc: .word 0x04000500 +_0208bf00: .word 0x1ff00000 +_0208bf04: .word 0x04000484 +_0208bf08: .word 0x10000800 +_0208bf0c: .word 0x0400048c +_0208bf10: .word 0x1000f800 +_0208bf14: .word 0xf8000800 +_0208bf18: .word 0x08000800 +_0208bf1c: .word 0x0800f800 +_0208bf20: .word 0xf800f800 +_0208bf24: .word 0x04000504 + + .global func_ov00_0208bf28 + arm_func_start func_ov00_0208bf28 +func_ov00_0208bf28: ; 0x0208bf28 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0x2c + ldr ip, _0208bfec ; =0x0000ffff + mov r5, r1 + cmp r5, ip + mov r6, r0 + mov r4, r3 + addeq sp, sp, #0x2c + ldmeqia sp!, {r3, r4, r5, r6, pc} + ldrh r0, [r2] + tst r0, #4 + bne _0208bf64 + tst r0, #8 + addeq sp, sp, #0x2c + ldmeqia sp!, {r3, r4, r5, r6, pc} +_0208bf64: + add r0, sp, #0xc + bl func_01ffbe34 + ldr r0, _0208bff0 ; =data_027e0d3c + mov r3, #2 + mov r2, #1 + ldrb r1, [sp, #0x40] + ldr r0, [r0] + str r3, [sp, #0x10] + strb r2, [sp, #0x17] + bl func_ov00_02079008 + str r0, [sp, #0xc] + strb r4, [sp, #0x15] + ldrsh r2, [r6, #0xe] + ldr r0, _0208bff0 ; =data_027e0d3c + add r1, sp, #8 + str r2, [sp, #8] + ldrsh r4, [r6, #0x10] + ldr r0, [r0] + add r2, sp, #4 + mov r3, #0 + str r4, [sp, #4] + bl func_ov00_02079680 + cmp r0, #0 + addeq sp, sp, #0x2c + ldmeqia sp!, {r3, r4, r5, r6, pc} + add r1, sp, #0xc + str r1, [sp] + ldr r0, _0208bff4 ; =data_02063e4c + ldr r1, [sp, #8] + ldr r2, [sp, #4] + mov r3, r5 + bl func_020313c8 + add sp, sp, #0x2c + ldmia sp!, {r3, r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_0208bf28 +_0208bfec: .word 0x0000ffff +_0208bff0: .word data_027e0d3c +_0208bff4: .word data_02063e4c + + .global func_ov00_0208bff8 + arm_func_start func_ov00_0208bff8 +func_ov00_0208bff8: ; 0x0208bff8 + stmdb sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #0x2c + ldr ip, _0208c0d0 ; =0x0000ffff + mov r6, r1 + cmp r6, ip + mov r7, r0 + mov r5, r2 + mov r4, r3 + addeq sp, sp, #0x2c + ldmeqia sp!, {r4, r5, r6, r7, pc} + ldr r0, [sp, #0x40] + ldrh r0, [r0] + tst r0, #4 + bne _0208c03c + tst r0, #8 + addeq sp, sp, #0x2c + ldmeqia sp!, {r4, r5, r6, r7, pc} +_0208c03c: + add r0, sp, #0xc + bl func_01ffbe34 + ldr r0, _0208c0d4 ; =data_027e0d3c + mov r3, #2 + mov r2, #1 + ldrb r1, [sp, #0x48] + ldr r0, [r0] + str r3, [sp, #0x10] + strb r2, [sp, #0x17] + bl func_ov00_02079008 + ldrsb r1, [sp, #0x44] + str r0, [sp, #0xc] + ldr r0, _0208c0d4 ; =data_027e0d3c + strb r1, [sp, #0x15] + ldrsh r2, [r7, #0xe] + ldr r0, [r0] + add r1, sp, #8 + add r2, r2, r5 + str r2, [sp, #8] + ldrsh r5, [r7, #0x10] + add r2, sp, #4 + mov r3, #0 + add r4, r5, r4 + str r4, [sp, #4] + bl func_ov00_02079680 + cmp r0, #0 + addeq sp, sp, #0x2c + ldmeqia sp!, {r4, r5, r6, r7, pc} + add r1, sp, #0xc + str r1, [sp] + ldr r0, _0208c0d8 ; =data_02063e4c + ldr r1, [sp, #8] + ldr r2, [sp, #4] + mov r3, r6 + bl func_020313c8 + add sp, sp, #0x2c + ldmia sp!, {r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end func_ov00_0208bff8 +_0208c0d0: .word 0x0000ffff +_0208c0d4: .word data_027e0d3c +_0208c0d8: .word data_02063e4c + + .global func_ov00_0208c0dc + arm_func_start func_ov00_0208c0dc +func_ov00_0208c0dc: ; 0x0208c0dc + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0x4c + ldr ip, _0208c204 ; =0x0000ffff + mov r4, r2 + cmp r4, ip + mov r5, r0 + addeq sp, sp, #0x4c + ldmeqia sp!, {r4, r5, pc} + ldrh r0, [r3] + tst r0, #4 + bne _0208c114 + tst r0, #8 + addeq sp, sp, #0x4c + ldmeqia sp!, {r4, r5, pc} +_0208c114: + add r0, r1, #0xf + mov r0, r0, lsl #0x10 + mov r0, r0, lsr #0x10 + mov r0, r0, asr #0x4 + mov r1, r0, lsl #0x1 + add r0, r1, #1 + ldr r2, _0208c208 ; =data_02050f54 + mov r1, r1, lsl #0x1 + mov r0, r0, lsl #0x1 + ldrsh r1, [r2, r1] + ldrsh r2, [r2, r0] + add r0, sp, #0x3c + blx func_01ff8018 + ldr r0, _0208c20c ; =data_027e0d3c + ldrb r1, [sp, #0x5c] + ldr r0, [r0] + bl func_ov00_02079008 + add ip, sp, #0x2c + ldmia r0, {r0, r1, r2, r3} + stmia ip, {r0, r1, r2, r3} + add r0, sp, #0xc + bl func_01ffbe34 + ldrsb r2, [sp, #0x58] + mov r0, #2 + str r0, [sp, #0x10] + mov r0, #1 + strb r0, [sp, #0x17] + add r1, sp, #0x2c + strb r2, [sp, #0x15] + add r0, sp, #0x3c + mov r2, r1 + bl func_01ff8024 + add r0, sp, #0x2c + str r0, [sp, #0xc] + ldr r0, _0208c20c ; =data_027e0d3c + ldrsh r3, [r5, #0xe] + ldr r1, [sp, #0x60] + ldr r2, [sp, #0x64] + add r1, r3, r1 + str r1, [sp, #8] + ldrsh r3, [r5, #0x10] + ldr r0, [r0] + add r1, sp, #8 + add r2, r3, r2 + str r2, [sp, #4] + add r2, sp, #4 + mov r3, #0 + bl func_ov00_02079680 + cmp r0, #0 + addeq sp, sp, #0x4c + ldmeqia sp!, {r4, r5, pc} + add r1, sp, #0xc + str r1, [sp] + ldr r0, _0208c210 ; =data_02063e4c + ldr r1, [sp, #8] + ldr r2, [sp, #4] + mov r3, r4 + bl func_020313c8 + add sp, sp, #0x4c + ldmia sp!, {r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_0208c0dc +_0208c204: .word 0x0000ffff +_0208c208: .word data_02050f54 +_0208c20c: .word data_027e0d3c +_0208c210: .word data_02063e4c + + .global func_ov00_0208c214 + arm_func_start func_ov00_0208c214 +func_ov00_0208c214: ; 0x0208c214 + stmdb sp!, {r4, lr} + sub sp, sp, #0x18 + add r2, sp, #0x14 + str r2, [sp] + mov r2, #0 + add r1, sp, #0x10 + stmib sp, {r1, r2} + mov r4, r0 + ldr r0, _0208c27c ; =data_027e0d3c + str r2, [sp, #0xc] + ldr r0, [r0] + mov r3, r2 + add r1, r4, #0x18 + bl func_ov00_02079470 + cmp r0, #0 + mvneq r0, #0x7f + streqh r0, [r4, #0xe] + addeq sp, sp, #0x18 + streqh r0, [r4, #0x10] + ldmeqia sp!, {r4, pc} + ldr r0, [sp, #0x14] + strh r0, [r4, #0xe] + ldr r0, [sp, #0x10] + strh r0, [r4, #0x10] + add sp, sp, #0x18 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_0208c214 +_0208c27c: .word data_027e0d3c + + .global func_ov00_0208c280 + arm_func_start func_ov00_0208c280 +func_ov00_0208c280: ; 0x0208c280 + stmdb sp!, {r3, lr} + sub sp, sp, #0x18 + ldrh lr, [sp, #0x24] + ldrh ip, [sp, #0x28] + ldrh r0, [sp, #0x2c] + str lr, [sp] + str ip, [sp, #4] + ldrh ip, [sp, #0x30] + str r0, [sp, #8] + mov r0, r1 + mov r1, r2 + mov r2, r3 + ldrh r3, [sp, #0x34] + str ip, [sp, #0xc] + ldrh ip, [sp, #0x38] + str r3, [sp, #0x10] + ldr r3, [sp, #0x20] + str ip, [sp, #0x14] + bl func_ov00_0208b2a0 + add sp, sp, #0x18 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0208c280 + + .global func_ov00_0208c2d4 + arm_func_start func_ov00_0208c2d4 +func_ov00_0208c2d4: ; 0x0208c2d4 + stmdb sp!, {lr} + sub sp, sp, #0x14 + ldr ip, [sp, #0x1c] + ldrh r0, [sp, #0x20] + str ip, [sp] + ldrh ip, [sp, #0x24] + str r0, [sp, #4] + mov r0, r1 + mov r1, r2 + mov r2, r3 + ldrh r3, [sp, #0x28] + str ip, [sp, #8] + ldrh ip, [sp, #0x2c] + str r3, [sp, #0xc] + ldr r3, [sp, #0x18] + str ip, [sp, #0x10] + bl func_ov00_0208b39c + add sp, sp, #0x14 + ldmia sp!, {pc} + arm_func_end func_ov00_0208c2d4 + + .global func_ov00_0208c320 + arm_func_start func_ov00_0208c320 +func_ov00_0208c320: ; 0x0208c320 + stmdb sp!, {r3, lr} + sub sp, sp, #0x20 + ldr r0, [sp, #0x2c] + ldr ip, [sp, #0x30] + str r0, [sp] + ldr r0, [sp, #0x34] + str ip, [sp, #4] + ldr ip, [sp, #0x38] + str r0, [sp, #8] + mov r0, r1 + mov r1, r2 + mov r2, r3 + ldrh r3, [sp, #0x3c] + str ip, [sp, #0xc] + ldrh ip, [sp, #0x40] + str r3, [sp, #0x10] + ldrh r3, [sp, #0x44] + str ip, [sp, #0x14] + ldrh ip, [sp, #0x48] + str r3, [sp, #0x18] + ldr r3, [sp, #0x28] + str ip, [sp, #0x1c] + bl func_ov00_0208b494 + add sp, sp, #0x20 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0208c320 + + .global func_ov00_0208c384 + arm_func_start func_ov00_0208c384 +func_ov00_0208c384: ; 0x0208c384 + mov r0, #0 + bx lr + arm_func_end func_ov00_0208c384 + + .global func_ov00_0208c38c + arm_func_start func_ov00_0208c38c +func_ov00_0208c38c: ; 0x0208c38c + cmp r1, #0 + moveq r0, #1 + movne r0, #0 + bx lr + arm_func_end func_ov00_0208c38c + + .global func_ov00_0208c39c + arm_func_start func_ov00_0208c39c +func_ov00_0208c39c: ; 0x0208c39c + mov r0, #1 + bx lr + arm_func_end func_ov00_0208c39c + + .global func_ov00_0208c3a4 + arm_func_start func_ov00_0208c3a4 +func_ov00_0208c3a4: ; 0x0208c3a4 + stmdb sp!, {r3, lr} + ldr r0, _0208c450 ; =gAdventureFlags + ldr r0, [r0] + bl _ZN14AdventureFlags18func_ov00_02097738Ev + cmp r0, #0 + movne r0, #0 + ldmneia sp!, {r3, pc} + ldr r0, _0208c454 ; =data_027e0c68 + ldrb r0, [r0, #4] + cmp r0, #0 + movne r0, #0 + ldmneia sp!, {r3, pc} + ldr r0, _0208c458 ; =data_027e077c + ldr r1, [r0] + cmp r1, #1 + movne r0, #0 + ldmneia sp!, {r3, pc} + ldr r0, [r0, #4] + cmp r1, r0 + movne r0, #0 + ldmneia sp!, {r3, pc} + ldr r0, _0208c45c ; =data_027e103c + ldr r0, [r0] + bl func_ov05_02103f4c + cmp r0, #0 + movne r0, #0 + ldmneia sp!, {r3, pc} + ldr r0, _0208c460 ; =data_027e0f90 + ldr r0, [r0] + ldrsh r0, [r0, #0xa] + cmp r0, #0 + movle r0, #0 + ldmleia sp!, {r3, pc} + ldr r0, _0208c464 ; =data_027e0fc8 + ldr r0, [r0] + cmp r0, #0 + beq _0208c448 + bl func_ov00_020bd304 + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, pc} +_0208c448: + mov r0, #1 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_0208c3a4 +_0208c450: .word gAdventureFlags +_0208c454: .word data_027e0c68 +_0208c458: .word data_027e077c +_0208c45c: .word data_027e103c +_0208c460: .word data_027e0f90 +_0208c464: .word data_027e0fc8 + + .global func_ov00_0208c468 + arm_func_start func_ov00_0208c468 +func_ov00_0208c468: ; 0x0208c468 + stmdb sp!, {r3, lr} + ldr r0, _0208c4e8 ; =data_027e077c + ldr r1, [r0] + cmp r1, #1 + movne r0, #0 + ldmneia sp!, {r3, pc} + ldr r0, [r0, #4] + cmp r1, r0 + movne r0, #0 + ldmneia sp!, {r3, pc} + ldr r0, _0208c4ec ; =data_027e103c + ldr r0, [r0] + bl func_ov05_02103f4c + cmp r0, #0 + movne r0, #0 + ldmneia sp!, {r3, pc} + ldr r0, _0208c4f0 ; =data_027e0f90 + ldr r0, [r0] + ldrsh r0, [r0, #0xa] + cmp r0, #0 + movle r0, #0 + ldmleia sp!, {r3, pc} + ldr r0, _0208c4f4 ; =data_027e0fc8 + ldr r0, [r0] + cmp r0, #0 + beq _0208c4e0 + bl func_ov00_020bd304 + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, pc} +_0208c4e0: + mov r0, #1 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_0208c468 +_0208c4e8: .word data_027e077c +_0208c4ec: .word data_027e103c +_0208c4f0: .word data_027e0f90 +_0208c4f4: .word data_027e0fc8 + + .global func_ov00_0208c4f8 + arm_func_start func_ov00_0208c4f8 +func_ov00_0208c4f8: ; 0x0208c4f8 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x48 + mov r6, r0 + bl func_ov00_0208c968 + mov r4, r0 + bl func_ov03_020fb3e0 + ldr r1, _0208c920 ; =0x4e554c4c + mov r5, r0 + cmp r5, r1 + addeq sp, sp, #0x48 + ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldr r0, _0208c924 ; =data_027e0d38 + ldr r0, [r0] + bl func_ov00_02078b40 + cmp r0, #2 + bne _0208c564 + ldr r0, _0208c928 ; =0x48415254 + cmp r5, r0 + beq _0208c558 + ldr r0, _0208c92c ; =0x52555059 + cmp r5, r0 + beq _0208c560 + add sp, sp, #0x48 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0208c558: + ldr r5, _0208c930 ; =0x53485254 + b _0208c564 +_0208c560: + add r5, r0, #0xfd0000 +_0208c564: + add r0, r6, #0x18 + add r3, sp, #0x3c + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r0, sp, #0x10 + bl func_ov00_020c1500 + mvn r1, #0 + add r0, sp, #0x10 + str r1, [sp, #0x2c] + str r1, [sp, #0x30] + bl func_ov00_020c3348 + ldrsh r1, [r6, #0xc] + mov r0, r4 + strh r1, [sp, #0x24] + bl func_ov03_020fb3f0 + ldr r1, _0208c934 ; =0x464c544d + strh r0, [sp, #0x10] + cmp r5, r1 + bhi _0208c5e4 + bhs _0208c670 + sub r0, r1, #0x1200 + cmp r5, r0 + bhi _0208c5d4 + bhs _0208c670 + ldr r0, _0208c938 ; =0x464c414c + cmp r5, r0 + beq _0208c670 + b _0208c708 +_0208c5d4: + ldr r0, _0208c93c ; =0x464c4254 + cmp r5, r0 + beq _0208c670 + b _0208c708 +_0208c5e4: + ldr r0, _0208c92c ; =0x52555059 + cmp r5, r0 + bhi _0208c604 + bhs _0208c610 + ldr r0, _0208c940 ; =0x4c53544d + cmp r5, r0 + beq _0208c670 + b _0208c708 +_0208c604: + add r0, r0, #0xfd0000 + cmp r5, r0 + bne _0208c708 +_0208c610: + ldr r1, _0208c944 ; =data_027e0764 + mov r2, #0 + ldr r3, [r1] + ldmib r1, {r0, r4} + umull r7, r6, r4, r3 + mla r6, r4, r0, r6 + ldr r0, [r1, #0xc] + ldr r4, [r1, #0x10] + mla r6, r0, r3, r6 + ldr r0, [r1, #0x14] + adds r7, r4, r7 + adc r6, r0, r6 + mov r0, #0xa + umull r3, r4, r6, r0 + str r7, [r1] + mla r4, r6, r2, r4 + mov r3, r2 + mla r4, r3, r0, r4 + cmp r4, #3 + movle r0, #1 + strleh r0, [sp, #0x10] + str r6, [r1, #4] + strgth r2, [sp, #0x10] + b _0208c708 +_0208c670: + ldr r3, _0208c944 ; =data_027e0764 + ldr r1, _0208c948 ; =0x00000335 + ldr r2, [r3] + ldmib r3, {r0, r7} + umull r4, r8, r7, r2 + ldr r10, [r3, #0x10] + mla r8, r7, r0, r8 + ldr r6, [r3, #0xc] + adds r11, r10, r4 + mla r8, r6, r2, r8 + ldr r9, [r3, #0x14] + umull r4, r2, r7, r11 + adc r0, r9, r8 + mla r2, r7, r0, r2 + str r11, [r3] + adds r4, r10, r4 + str r0, [r3, #4] + mla r2, r6, r11, r2 + str r4, [r3] + adc r7, r9, r2 + umull r4, r8, r0, r1 + mov r2, #0 + umull r4, r6, r7, r1 + mla r8, r0, r2, r8 + mov r4, r2 + mla r6, r7, r2, r6 + mla r8, r4, r1, r8 + mla r6, r4, r1, r6 + ldr r0, _0208c94c ; =0xfffffe66 + ldr r2, [sp, #0x3c] + add r1, r8, r0 + add r2, r2, r1 + ldr r1, [sp, #0x44] + add r0, r6, r0 + add r0, r1, r0 + str r7, [r3, #4] + str r2, [sp, #0x3c] + str r0, [sp, #0x44] +_0208c708: + mov r1, #0 + str r1, [sp] + ldr r0, _0208c950 ; =data_027e0fe8 + add r2, sp, #0x3c + ldr r0, [r0] + add r3, sp, #0x10 + mov r1, r5 + bl func_ov00_020c4048 + movs r1, r0 + addmi sp, sp, #0x48 + ldmmiia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldr r0, _0208c954 ; =data_027e0fe4 + ldr r0, [r0] + bl _ZN12ActorManager13FindActorByIdEj + cmp r0, #0 + addeq sp, sp, #0x48 + ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldr r3, [r0, #4] + ldr r2, _0208c934 ; =0x464c544d + cmp r3, r2 + bhi _0208c798 + bhs _0208c7d0 + sub r1, r2, #0x1200 + cmp r3, r1 + bhi _0208c784 + bhs _0208c7d0 + ldr r1, _0208c938 ; =0x464c414c + cmp r3, r1 + beq _0208c7d0 + add sp, sp, #0x48 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0208c784: + ldr r1, _0208c93c ; =0x464c4254 + cmp r3, r1 + beq _0208c7d0 + add sp, sp, #0x48 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0208c798: + ldr r1, _0208c940 ; =0x4c53544d + cmp r3, r1 + bhi _0208c7bc + bhs _0208c7d0 + ldr r1, _0208c958 ; =0x4b4f4b4f + cmp r3, r1 + beq _0208c7d0 + add sp, sp, #0x48 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0208c7bc: + ldr r1, _0208c92c ; =0x52555059 + cmp r3, r1 + beq _0208c838 + add sp, sp, #0x48 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0208c7d0: + ldr r2, _0208c944 ; =data_027e0764 + ldr r1, _0208c95c ; =0x0000019a + ldr r4, [r2] + ldmib r2, {r3, r5} + umull r7, r6, r5, r4 + mla r6, r5, r3, r6 + ldr r3, [r2, #0xc] + ldr r5, [r2, #0x10] + mla r6, r3, r4, r6 + ldr r3, [r2, #0x14] + adds r4, r5, r7 + adc r6, r3, r6 + str r4, [r2] + mov r3, #0 + str r6, [r2, #4] + umull r4, r5, r6, r1 + mla r5, r6, r3, r5 + mov r2, r3 + mla r5, r2, r1, r5 + add r1, r5, #0x33 + str r3, [r0, #0x60] + add r1, r1, #0x300 + str r1, [r0, #0x64] + add sp, sp, #0x48 + str r3, [r0, #0x68] + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0208c838: + ldr r3, _0208c944 ; =data_027e0764 + ldr r1, _0208c960 ; =0x00002001 + ldr r4, [r3] + ldmib r3, {r2, r7} + umull r5, r10, r7, r4 + mla r10, r7, r2, r10 + ldr r6, [r3, #0xc] + ldr r9, [r3, #0x10] + mla r10, r6, r4, r10 + adds r11, r9, r5 + ldr r8, [r3, #0x14] + umull r5, r4, r7, r11 + adc r2, r8, r10 + mla r4, r7, r2, r4 + adds ip, r9, r5 + mla r4, r6, r11, r4 + adc lr, r8, r4 + str r11, [r3] + str r2, [r3, #4] + umull r5, r10, r2, r1 + mov r4, #0 + mov r5, r4 + mla r10, r2, r5, r10 + mla r10, r4, r1, r10 + sub r5, r10, #0x1000 + ldr r2, _0208c964 ; =0x51eb851f + mov r10, r5, lsr #0x1f + smull r11, r5, r2, r5 + add r5, r10, r5, asr #4 + umull r11, r10, r7, ip + mla r10, r7, lr, r10 + mla r10, r6, ip, r10 + stmia r3, {ip, lr} + adds r9, r9, r11 + str r9, [r3] + adc ip, r8, r10 + str ip, [r3, #4] + ldr r3, _0208c95c ; =0x0000019a + umull r3, r6, lr, r3 + mov r3, r4 + mla r6, lr, r3, r6 + ldr r3, _0208c95c ; =0x0000019a + mla r6, r4, r3, r6 + add r3, r6, #0x33 + add r7, r3, #0x300 + umull r3, r6, ip, r1 + mov r3, r4 + mla r6, ip, r3, r6 + mla r6, r4, r1, r6 + sub r3, r6, #0x1000 + smull r1, r4, r2, r3 + mov r1, r3, lsr #0x1f + add r4, r1, r4, asr #4 + str r4, [r0, #0x60] + str r7, [r0, #0x64] + str r5, [r0, #0x68] + add sp, sp, #0x48 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_0208c4f8 +_0208c920: .word 0x4e554c4c +_0208c924: .word data_027e0d38 +_0208c928: .word 0x48415254 +_0208c92c: .word 0x52555059 +_0208c930: .word 0x53485254 +_0208c934: .word 0x464c544d +_0208c938: .word 0x464c414c +_0208c93c: .word 0x464c4254 +_0208c940: .word 0x4c53544d +_0208c944: .word data_027e0764 +_0208c948: .word 0x00000335 +_0208c94c: .word 0xfffffe66 +_0208c950: .word data_027e0fe8 +_0208c954: .word data_027e0fe4 +_0208c958: .word 0x4b4f4b4f +_0208c95c: .word 0x0000019a +_0208c960: .word 0x00002001 +_0208c964: .word 0x51eb851f + + .global func_ov00_0208c968 + arm_func_start func_ov00_0208c968 +func_ov00_0208c968: ; 0x0208c968 + stmdb sp!, {r4, r5, r6, r7, r8, lr} + ldr r2, _0208c9f4 ; =data_027e0764 + mov r4, #0 + ldr r3, [r2] + ldmib r2, {r0, r5} + umull lr, ip, r5, r3 + mla ip, r5, r0, ip + ldr r0, [r2, #0xc] + ldr r5, [r2, #0x10] + mla ip, r0, r3, ip + ldr r0, [r2, #0x14] + adds lr, r5, lr + adc ip, r0, ip + mov r0, #0x64 + umull r3, r5, ip, r0 + str lr, [r2] + mla r5, ip, r4, r5 + mov r3, r4 + mla r5, r3, r0, r5 + mov r8, r1 + mov r6, r4 + mov r7, r4 + str ip, [r2, #4] +_0208c9c4: + mov r0, r8 + mov r1, r7 + bl func_ov03_020fb404 + add r6, r6, r0 + cmp r5, r6 + movlt r4, r7 + blt _0208c9ec + add r7, r7, #1 + cmp r7, #0x11 + blt _0208c9c4 +_0208c9ec: + mov r0, r4 + ldmia sp!, {r4, r5, r6, r7, r8, pc} + .align 2, 0 + arm_func_end func_ov00_0208c968 +_0208c9f4: .word data_027e0764 + + .global func_ov00_0208c9f8 + arm_func_start func_ov00_0208c9f8 +func_ov00_0208c9f8: ; 0x0208c9f8 + add r0, r0, #0x38 + bx lr + arm_func_end func_ov00_0208c9f8 + + .global func_ov00_0208ca00 + arm_func_start func_ov00_0208ca00 +func_ov00_0208ca00: ; 0x0208ca00 + add r0, r0, #0x38 + bx lr + arm_func_end func_ov00_0208ca00 + + .global func_ov00_0208ca08 + arm_func_start func_ov00_0208ca08 +func_ov00_0208ca08: ; 0x0208ca08 + add r0, r0, #0x38 + bx lr + arm_func_end func_ov00_0208ca08 + + .global func_ov00_0208ca10 + arm_func_start func_ov00_0208ca10 +func_ov00_0208ca10: ; 0x0208ca10 + stmdb sp!, {r4, lr} + mov r4, r0 + add r0, r4, #0x38 + bl func_ov00_02094824 + mov r0, r4 + bl func_ov00_0208b5a4 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208ca10 + + .global func_ov00_0208ca30 + arm_func_start func_ov00_0208ca30 +func_ov00_0208ca30: ; 0x0208ca30 + stmdb sp!, {r4, lr} + mov r4, r0 + add r0, r4, #0x38 + bl func_ov00_02094824 + mov r0, r4 + bl func_ov00_0208b5a4 + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208ca30 + + .global func_ov00_0208ca58 + arm_func_start func_ov00_0208ca58 +func_ov00_0208ca58: ; 0x0208ca58 + stmdb sp!, {r4, lr} + mov r4, r0 + add r0, r4, #0x38 + bl func_ov00_02094824 + mov r0, r4 + bl func_ov00_0208b5a4 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208ca58 + + .global func_ov00_0208ca78 + arm_func_start func_ov00_0208ca78 +func_ov00_0208ca78: ; 0x0208ca78 + stmdb sp!, {r4, lr} + mov r4, r0 + add r0, r4, #0x38 + bl func_ov00_02094824 + mov r0, r4 + bl func_ov00_0208b5a4 + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208ca78 + + .global func_ov00_0208caa0 + arm_func_start func_ov00_0208caa0 +func_ov00_0208caa0: ; 0x0208caa0 + stmdb sp!, {r4, lr} + mov r4, r0 + add r0, r4, #0x38 + bl func_ov00_02094824 + mov r0, r4 + bl func_ov00_0208b5a4 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208caa0 + + .global func_ov00_0208cac0 + arm_func_start func_ov00_0208cac0 +func_ov00_0208cac0: ; 0x0208cac0 + stmdb sp!, {r4, lr} + mov r4, r0 + add r0, r4, #0x38 + bl func_ov00_02094824 + mov r0, r4 + bl func_ov00_0208b5a4 + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208cac0 + + .global func_ov00_0208cae8 + arm_func_start func_ov00_0208cae8 +func_ov00_0208cae8: ; 0x0208cae8 + ldr r2, _0208caf4 ; =data_ov00_020ec9d8 + str r1, [r2, r0, lsl #2] + bx lr + .align 2, 0 + arm_func_end func_ov00_0208cae8 +_0208caf4: .word data_ov00_020ec9d8 + + .global func_ov00_0208caf8 + arm_func_start func_ov00_0208caf8 +func_ov00_0208caf8: ; 0x0208caf8 + ldr r1, _0208cb08 ; =data_ov00_020ec9d8 + mov r2, #0 + str r2, [r1, r0, lsl #2] + bx lr + .align 2, 0 + arm_func_end func_ov00_0208caf8 +_0208cb08: .word data_ov00_020ec9d8 + + .global func_ov00_0208cb0c + arm_func_start func_ov00_0208cb0c +func_ov00_0208cb0c: ; 0x0208cb0c + stmdb sp!, {r3, r4, r5, r6, r7, lr} + ldr r4, _0208cb80 ; =data_ov00_020ec9d8 + ldr r0, [sp, #0x24] + ldr r1, [r4, r1, lsl #2] + ldr r5, [sp, #0x1c] + ldr r1, [r1, #4] + mov r7, r2 + mov r6, r3 + blx r1 + movs r4, r0 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + strb r7, [r4, #0x13] + ldr r1, [r5] + ldrsh r2, [sp, #0x20] + str r1, [r4, #0x18] + ldr r3, [r5, #4] + ldrb r1, [sp, #0x18] + str r3, [r4, #0x1c] + ldr r3, [r5, #8] + str r3, [r4, #0x20] + strh r2, [r4, #0xc] + strb r6, [r4, #0x14] + strb r1, [r4, #0x15] + ldr r1, [r0] + ldr r1, [r1, #8] + blx r1 + mov r0, r4 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end func_ov00_0208cb0c +_0208cb80: .word data_ov00_020ec9d8 + + .global func_ov00_0208cb84 + arm_func_start func_ov00_0208cb84 +func_ov00_0208cb84: ; 0x0208cb84 + sub sp, sp, #8 + ldrb r2, [r1, #0x14] + ldrb r3, [r0] + ldrb r1, [r1, #0x15] + ldrb r0, [r0, #1] + cmp r2, r3 + strb r1, [sp, #5] + strb r0, [sp, #1] + strb r1, [sp, #3] + andeq r1, r1, #0xff + andeq r0, r0, #0xff + cmpeq r1, r0 + moveq r0, #1 + strb r3, [sp] + strb r2, [sp, #4] + strb r2, [sp, #2] + movne r0, #0 + add sp, sp, #8 + bx lr + arm_func_end func_ov00_0208cb84 + + .global func_ov00_0208cbd0 + arm_func_start func_ov00_0208cbd0 +func_ov00_0208cbd0: ; 0x0208cbd0 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + sub sp, sp, #0x400 + mov r6, r1 + mov r7, r0 + mov r0, r6 + ldr r3, [r0] + mov r1, #0x10 + ldr r3, [r3, #8] + mov r5, r2 + blx r3 + ldrh r4, [r0, #0xc] + mov r3, #0 + cmp r4, #0 + ble _0208cc28 + add r2, sp, #0 +_0208cc0c: + add r1, r0, r3, lsl #2 + ldr r1, [r1, #0x10] + str r1, [r2, r3, lsl #2] + ldrh r1, [r0, #0xc] + add r3, r3, #1 + cmp r3, r1 + blt _0208cc0c +_0208cc28: + mov r0, r6 + ldr r1, [r0] + ldr r1, [r1, #0xc] + blx r1 + ldr r0, [r7] + add r1, sp, #0 + mov r2, r4 + mov r3, r5 + bl func_ov00_0209afc4 + add sp, sp, #0x400 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end func_ov00_0208cbd0 + + .global func_ov00_0208cc54 + arm_func_start func_ov00_0208cc54 +func_ov00_0208cc54: ; 0x0208cc54 + ldr ip, _0208cc60 ; =func_ov00_0209b5a4 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end func_ov00_0208cc54 +_0208cc60: .word func_ov00_0209b5a4 + + .global func_ov00_0208cc64 + arm_func_start func_ov00_0208cc64 +func_ov00_0208cc64: ; 0x0208cc64 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r0, [r4, #4] + cmp r0, #0 + ldmeqia sp!, {r4, pc} + bl func_ov18_0216ac24 + ldr r0, [r4, #4] + bl func_ov18_0216ad38 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208cc64 + + .global func_ov00_0208cc88 + arm_func_start func_ov00_0208cc88 +func_ov00_0208cc88: ; 0x0208cc88 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r4, [r5, #0xc] + ldr r0, [r5, #0x10] + add r0, r4, r0, lsl #2 + cmp r4, r0 + ldmeqia sp!, {r3, r4, r5, pc} +_0208cca4: + ldr r0, [r4] + ldr r1, [r0, #4] + tst r1, #1 + beq _0208ccc0 + ldr r1, [r0] + ldr r1, [r1, #0x4c] + blx r1 +_0208ccc0: + ldr r1, [r5, #0xc] + ldr r0, [r5, #0x10] + add r4, r4, #4 + add r0, r1, r0, lsl #2 + cmp r4, r0 + bne _0208cca4 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_0208cc88 + + .global func_ov00_0208ccdc + arm_func_start func_ov00_0208ccdc +func_ov00_0208ccdc: ; 0x0208ccdc + ldr ip, _0208cce8 ; =func_ov00_0209b6f4 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end func_ov00_0208ccdc +_0208cce8: .word func_ov00_0209b6f4 + + .global func_ov00_0208ccec + arm_func_start func_ov00_0208ccec +func_ov00_0208ccec: ; 0x0208ccec + ldr ip, _0208ccf8 ; =func_ov00_0209b7c4 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end func_ov00_0208ccec +_0208ccf8: .word func_ov00_0209b7c4 + + .global func_ov00_0208ccfc + arm_func_start func_ov00_0208ccfc +func_ov00_0208ccfc: ; 0x0208ccfc + ldr ip, _0208cd08 ; =func_ov00_0209b894 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end func_ov00_0208ccfc +_0208cd08: .word func_ov00_0209b894 + + .global func_ov00_0208cd0c + arm_func_start func_ov00_0208cd0c +func_ov00_0208cd0c: ; 0x0208cd0c + ldr ip, _0208cd18 ; =func_ov00_0209b960 + ldr r0, [r0] + bx ip + .align 2, 0 + arm_func_end func_ov00_0208cd0c +_0208cd18: .word func_ov00_0209b960 + + .global func_ov00_0208cd1c + arm_func_start func_ov00_0208cd1c +func_ov00_0208cd1c: ; 0x0208cd1c + stmdb sp!, {r3, lr} + ldrb r3, [r1] + ldrb r2, [r1, #1] + sub r1, sp, #4 + strb r3, [sp] + strb r3, [r1] + strb r2, [r1, #1] + ldr r1, [r1] + strb r2, [sp, #1] + bl func_ov00_0208da44 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0208cd1c + + .global func_ov00_0208cd48 + arm_func_start func_ov00_0208cd48 +func_ov00_0208cd48: ; 0x0208cd48 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x224 + sub sp, sp, #0x400 + movs r5, r2 + mov r10, r0 + mov r9, r1 + bne _0208cd78 + str r9, [sp, #4] + bl func_ov00_0208ce84 + add sp, sp, #0x224 + add sp, sp, #0x400 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0208cd78: + ldr r4, _0208ce78 ; =func_ov00_0207f100 + ldr r3, _0208ce7c ; =func_ov00_0208d018 + add r0, sp, #0x24 + mov r1, #0x40 + mov r2, #0x18 + str r4, [sp] + bl func_0204f614 + ldr r0, _0208ce80 ; =data_027e0e60 + add r2, sp, #0x24 + ldr r0, [r0] + mov r1, r5 + mov r3, #0x40 + bl _ZN10MapManager18func_ov00_020836ccEjP4AABBj + mov r6, r0 + cmp r6, #0 + bgt _0208cddc + add r0, sp, #0x24 + mov r3, r4 + mov r1, #0x40 + mov r2, #0x18 + bl func_0204f754 + add sp, sp, #0x224 + add sp, sp, #0x400 + mov r0, #0 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0208cddc: + cmp r6, #0 + mov r7, #0 + ble _0208ce54 + add r11, sp, #0xc + add r8, sp, #0x24 + add r5, r11, #0xc +_0208cdf4: + str r9, [sp, #8] + ldmia r8, {r0, r1, r2} + stmia r11, {r0, r1, r2} + add r0, r8, #0xc + ldmia r0, {r0, r1, r2} + stmia r5, {r0, r1, r2} + mov r0, r10 + add r1, sp, #8 + bl func_ov00_0208cf28 + movs r4, r0 + beq _0208ce44 + ldr r3, _0208ce78 ; =func_ov00_0207f100 + add r0, sp, #0x24 + mov r1, #0x40 + mov r2, #0x18 + bl func_0204f754 + add sp, sp, #0x224 + add sp, sp, #0x400 + mov r0, r4 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0208ce44: + add r7, r7, #1 + cmp r7, r6 + add r8, r8, #0x18 + blt _0208cdf4 +_0208ce54: + ldr r3, _0208ce78 ; =func_ov00_0207f100 + add r0, sp, #0x24 + mov r1, #0x40 + mov r2, #0x18 + bl func_0204f754 + mov r0, #0 + add sp, sp, #0x224 + add sp, sp, #0x400 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_0208cd48 +_0208ce78: .word func_ov00_0207f100 +_0208ce7c: .word func_ov00_0208d018 +_0208ce80: .word data_027e0e60 + + .global func_ov00_0208ce84 + arm_func_start func_ov00_0208ce84 +func_ov00_0208ce84: ; 0x0208ce84 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x14 + mov r6, r0 + ldr r4, [r6, #0xc] + ldr r0, [r6, #0x10] + ldr r5, [sp, #0x34] + add r9, r4, r0, lsl #2 + str r5, [sp] + str r9, [sp, #0xc] + str r9, [sp, #4] + str r4, [sp, #0x10] + str r4, [sp, #8] + mov r7, #0 + mov r8, #1 + b _0208cecc +_0208cec4: + add r4, r4, #4 + str r4, [sp, #8] +_0208cecc: + cmp r4, r9 + beq _0208cef8 + ldr r0, [r4] + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r5, r0 + moveq r0, r8 + movne r0, r7 + cmp r0, #0 + beq _0208cec4 +_0208cef8: + ldr r1, [r6, #0xc] + ldr r0, [r6, #0x10] + ldr r2, [sp, #8] + add r0, r1, r0, lsl #2 + cmp r2, r0 + ldrne r0, [sp, #8] + ldrne r0, [r0] + moveq r0, #0 + add sp, sp, #0x14 + ldmia sp!, {r4, r5, r6, r7, r8, r9, lr} + add sp, sp, #0x10 + bx lr + arm_func_end func_ov00_0208ce84 + + .global func_ov00_0208cf28 + arm_func_start func_ov00_0208cf28 +func_ov00_0208cf28: ; 0x0208cf28 + stmdb sp!, {r4, lr} + sub sp, sp, #0x28 + mov ip, r1 + ldr r1, [ip] + add r3, sp, #0x10 + str r1, [sp, #0xc] + add r1, ip, #4 + mov r4, r0 + ldmia r1, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r0, ip, #0x10 + add r3, r3, #0xc + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldr r1, [r4, #0xc] + ldr r2, [r4, #0x10] + add r0, sp, #8 + add r2, r1, r2, lsl #2 + add r3, sp, #0xc + str r2, [sp] + str r1, [sp, #4] + bl func_ov00_0208cfa4 + ldr r1, [r4, #0xc] + ldr r0, [r4, #0x10] + ldr r2, [sp, #8] + add r0, r1, r0, lsl #2 + cmp r2, r0 + ldrne r0, [r2] + moveq r0, #0 + add sp, sp, #0x28 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208cf28 + + .global func_ov00_0208cfa4 + arm_func_start func_ov00_0208cfa4 +func_ov00_0208cfa4: ; 0x0208cfa4 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + mov r8, r0 + mov r7, r3 + ldr r6, [sp, #0x28] + ldr r5, [sp, #0x24] + mov r9, #0 + b _0208cfc8 +_0208cfc4: + add r5, r5, #4 +_0208cfc8: + cmp r5, r6 + beq _0208d008 + ldr r4, [r5] + mov r0, r4 + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + ldr r1, [r7] + cmp r1, r0 + movne r0, r9 + bne _0208d000 + add r0, r7, #4 + add r1, r4, #0x18 + bl func_ov00_0208e7a4 +_0208d000: + cmp r0, #0 + beq _0208cfc4 +_0208d008: + str r5, [r8] + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + add sp, sp, #0x10 + bx lr + arm_func_end func_ov00_0208cfa4 + + .global func_ov00_0208d018 + arm_func_start func_ov00_0208d018 +func_ov00_0208d018: ; 0x0208d018 + bx lr + arm_func_end func_ov00_0208d018 + + .global func_ov00_0208d01c + arm_func_start func_ov00_0208d01c +func_ov00_0208d01c: ; 0x0208d01c + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x244 + sub sp, sp, #0x400 + movs r5, r2 + str r0, [sp, #4] + mov r10, r1 + mov r9, r3 + ldr r8, [sp, #0x668] + bne _0208d064 + mov r4, #0 + mov r2, r9 + mov r3, r8 + str r10, [sp, #8] + str r4, [sp] + bl func_ov00_0208d1f8 + add sp, sp, #0x244 + add sp, sp, #0x400 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0208d064: + ldr r4, _0208d1ec ; =func_ov00_0207f100 + ldr r3, _0208d1f0 ; =func_ov00_0208d018 + add r0, sp, #0x44 + mov r1, #0x40 + mov r2, #0x18 + str r4, [sp] + bl func_0204f614 + ldr r0, _0208d1f4 ; =data_027e0e60 + add r2, sp, #0x44 + ldr r0, [r0] + mov r1, r5 + mov r3, #0x40 + bl _ZN10MapManager18func_ov00_020836ccEjP4AABBj + mov r4, r0 + cmp r4, #0 + bgt _0208d0c8 + ldr r3, _0208d1ec ; =func_ov00_0207f100 + add r0, sp, #0x44 + mov r1, #0x40 + mov r2, #0x18 + bl func_0204f754 + add sp, sp, #0x244 + add sp, sp, #0x400 + mov r0, #0 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0208d0c8: + cmp r4, #1 + bne _0208d138 + add r0, sp, #0x44 + add r3, sp, #0x2c + str r10, [sp, #0x28] + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r0, sp, #0x50 + add r3, r3, #0xc + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r4, #0 + ldr r0, [sp, #4] + add r1, sp, #0x28 + mov r2, r9 + mov r3, r8 + str r4, [sp] + bl func_ov00_0208d310 + mov r4, r0 + ldr r3, _0208d1ec ; =func_ov00_0207f100 + add r0, sp, #0x44 + mov r1, #0x40 + mov r2, #0x18 + bl func_0204f754 + add sp, sp, #0x244 + add sp, sp, #0x400 + mov r0, r4 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0208d138: + mov r5, #0 + mov r6, r5 + cmp r4, #0 + ble _0208d1c8 + add r0, sp, #0x10 + add r7, sp, #0x44 + add r11, r0, #0xc +_0208d154: + str r10, [sp, #0xc] + add r3, sp, #0x10 + ldmia r7, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r0, r7, #0xc + ldmia r0, {r0, r1, r2} + stmia r11, {r0, r1, r2} + ldr r0, [sp, #4] + add r1, sp, #0xc + mov r2, r9 + mov r3, r8 + str r5, [sp] + bl func_ov00_0208d310 + add r5, r5, r0 + cmp r5, r8 + blo _0208d1b8 + ldr r3, _0208d1ec ; =func_ov00_0207f100 + add r0, sp, #0x44 + mov r1, #0x40 + mov r2, #0x18 + bl func_0204f754 + add sp, sp, #0x244 + add sp, sp, #0x400 + mov r0, r5 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0208d1b8: + add r6, r6, #1 + cmp r6, r4 + add r7, r7, #0x18 + blt _0208d154 +_0208d1c8: + ldr r3, _0208d1ec ; =func_ov00_0207f100 + add r0, sp, #0x44 + mov r1, #0x40 + mov r2, #0x18 + bl func_0204f754 + mov r0, r5 + add sp, sp, #0x244 + add sp, sp, #0x400 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_0208d01c +_0208d1ec: .word func_ov00_0207f100 +_0208d1f0: .word func_ov00_0208d018 +_0208d1f4: .word data_027e0e60 + + .global func_ov00_0208d1f8 + arm_func_start func_ov00_0208d1f8 +func_ov00_0208d1f8: ; 0x0208d1f8 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x1c + mov r10, r0 + ldr r1, [r10, #0xc] + ldr r0, [r10, #0x10] + str r2, [sp] + add r0, r1, r0, lsl #2 + str r3, [sp, #4] + str r1, [sp, #0x18] + cmp r1, r0 + ldr r11, [sp, #0x50] + mov r9, #0 + beq _0208d2fc +_0208d230: + ldr r0, [sp, #4] + add r1, r9, r11 + cmp r1, r0 + bhs _0208d2fc + ldr r1, [r10, #0xc] + ldr r0, [r10, #0x10] + ldr r8, [sp, #0x44] + add r7, r1, r0, lsl #2 + ldr r6, [sp, #0x18] + str r8, [sp, #8] + str r7, [sp, #0x14] + str r7, [sp, #0xc] + str r6, [sp, #0x10] + mov r4, #0 + mov r5, #1 + b _0208d278 +_0208d270: + add r6, r6, #4 + str r6, [sp, #0x10] +_0208d278: + cmp r6, r7 + beq _0208d2a4 + ldr r0, [r6] + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r8, r0 + moveq r0, r5 + movne r0, r4 + cmp r0, #0 + beq _0208d270 +_0208d2a4: + ldr r1, [r10, #0xc] + ldr r0, [r10, #0x10] + ldr r2, [sp, #0x10] + add r0, r1, r0, lsl #2 + cmp r2, r0 + beq _0208d2fc + ldr r0, [sp, #0x10] + ldr r1, [r0] + cmp r1, #0 + beq _0208d2dc + ldr r0, [sp] + add r0, r0, r11, lsl #2 + str r1, [r0, r9, lsl #2] + add r9, r9, #1 +_0208d2dc: + ldr r2, [sp, #0x10] + ldr r1, [r10, #0xc] + ldr r0, [r10, #0x10] + add r2, r2, #4 + add r0, r1, r0, lsl #2 + str r2, [sp, #0x18] + cmp r2, r0 + bne _0208d230 +_0208d2fc: + mov r0, r9 + add sp, sp, #0x1c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + add sp, sp, #0x10 + bx lr + arm_func_end func_ov00_0208d1f8 + + .global func_ov00_0208d310 + arm_func_start func_ov00_0208d310 +func_ov00_0208d310: ; 0x0208d310 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x2c + mov r10, r0 + ldr r4, [r10, #0xc] + ldr r0, [r10, #0x10] + mov r9, r1 + add r0, r4, r0, lsl #2 + str r3, [sp] + str r4, [sp, #0xc] + cmp r4, r0 + ldr r8, [sp, #0x50] + mov r7, #0 + beq _0208d3f0 + add r0, sp, #0x14 + add r6, r9, #4 + add r5, r9, #0x10 + add r4, r0, #0xc + add r11, r2, r8, lsl #2 +_0208d358: + ldr r0, [sp] + add r1, r7, r8 + cmp r1, r0 + bhs _0208d3f0 + ldr r0, [r9] + add ip, sp, #0x14 + str r0, [sp, #0x10] + ldmia r6, {r0, r1, r2} + stmia ip, {r0, r1, r2} + ldmia r5, {r0, r1, r2} + stmia r4, {r0, r1, r2} + ldr r2, [r10, #0xc] + ldr r1, [r10, #0x10] + add r3, sp, #0x10 + add r2, r2, r1, lsl #2 + add r1, sp, #0xc + ldr r1, [r1] + add r0, sp, #8 + str r2, [sp, #4] + bl func_ov00_0208cfa4 + ldr r1, [r10, #0xc] + ldr r0, [r10, #0x10] + ldr r2, [sp, #8] + add r0, r1, r0, lsl #2 + cmp r2, r0 + beq _0208d3f0 + ldr r0, [r2] + cmp r0, #0 + strne r0, [r11, r7, lsl #2] + ldr r0, [sp, #8] + ldr r1, [r10, #0xc] + add r2, r0, #4 + ldr r0, [r10, #0x10] + addne r7, r7, #1 + add r0, r1, r0, lsl #2 + str r2, [sp, #0xc] + cmp r2, r0 + bne _0208d358 +_0208d3f0: + mov r0, r7 + add sp, sp, #0x2c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + arm_func_end func_ov00_0208d310 + + .global func_ov00_0208d3fc + arm_func_start func_ov00_0208d3fc +func_ov00_0208d3fc: ; 0x0208d3fc + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x88 + ldrb r3, [sp, #4] + mov r4, #0 + str r4, [sp] + sub r4, sp, #4 + strb r3, [r4] + mov r9, r1 + mov r8, r2 + ldr r1, [r4] + add r2, sp, #8 + mov r3, #0x20 + bl func_ov00_0208d494 + mov r5, r0 + cmp r5, #0 + mov r6, #0 + ble _0208d488 + add r4, sp, #8 +_0208d444: + cmp r6, r8 + bhs _0208d478 + ldr r7, [r4, r6, lsl #2] + ldrsh r2, [r7, #0x10] + ldrsh r1, [r7, #0xe] + mov r0, r7 + strh r1, [r9] + strh r2, [r9, #2] + bl func_ov14_02125934 + strb r0, [r9, #4] + mov r0, r7 + bl func_ov14_02125948 + strb r0, [r9, #5] +_0208d478: + add r6, r6, #1 + cmp r6, r5 + add r9, r9, #6 + blt _0208d444 +_0208d488: + mov r0, r5 + add sp, sp, #0x88 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + arm_func_end func_ov00_0208d3fc + + .global func_ov00_0208d494 + arm_func_start func_ov00_0208d494 +func_ov00_0208d494: ; 0x0208d494 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x14 + mov r10, r0 + ldr r1, [r10, #0xc] + ldr r0, [r10, #0x10] + mov r11, r2 + add r0, r1, r0, lsl #2 + str r3, [sp] + str r1, [sp, #0x10] + cmp r1, r0 + ldr r9, [sp, #0x38] + mov r8, #0 + beq _0208d5d4 +_0208d4c8: + ldr r0, [sp] + add r1, r8, r9 + cmp r1, r0 + bhs _0208d5d4 + ldr r1, [r10, #0xc] + ldr r0, [r10, #0x10] + ldr r6, [sp, #0x10] + add r7, r1, r0, lsl #2 + str r7, [sp, #0xc] + str r7, [sp, #4] + str r6, [sp, #8] + mov r4, #0 + mov r5, #1 + b _0208d508 +_0208d500: + add r6, r6, #4 + str r6, [sp, #8] +_0208d508: + cmp r6, r7 + beq _0208d584 + ldr r0, [r6] + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x5b + bgt _0208d558 + bge _0208d570 + cmp r0, #0xc + bgt _0208d54c + cmp r0, #0xa + blt _0208d578 + cmpne r0, #0xb + cmpne r0, #0xc + beq _0208d570 + b _0208d578 +_0208d54c: + cmp r0, #0x5a + beq _0208d570 + b _0208d578 +_0208d558: + cmp r0, #0x5c + bgt _0208d568 + beq _0208d570 + b _0208d578 +_0208d568: + cmp r0, #0x87 + bne _0208d578 +_0208d570: + mov r0, r5 + b _0208d57c +_0208d578: + mov r0, r4 +_0208d57c: + cmp r0, #0 + beq _0208d500 +_0208d584: + ldr r1, [r10, #0xc] + ldr r0, [r10, #0x10] + ldr r2, [sp, #8] + add r0, r1, r0, lsl #2 + cmp r2, r0 + beq _0208d5d4 + ldr r0, [sp, #8] + ldr r2, [sp, #8] + ldr r1, [r0] + add r2, r2, #4 + cmp r1, #0 + addne r0, r11, r9, lsl #2 + strne r1, [r0, r8, lsl #2] + ldr r1, [r10, #0xc] + ldr r0, [r10, #0x10] + addne r8, r8, #1 + add r0, r1, r0, lsl #2 + str r2, [sp, #0x10] + cmp r2, r0 + bne _0208d4c8 +_0208d5d4: + mov r0, r8 + add sp, sp, #0x14 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + arm_func_end func_ov00_0208d494 + + .global func_ov00_0208d5e0 + arm_func_start func_ov00_0208d5e0 +func_ov00_0208d5e0: ; 0x0208d5e0 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + ldr r0, [r6] + mov r5, r1 + mov r4, r2 + bl func_ov00_0209bbe8 + ldr r0, [r6] + mov r1, r4 + bl func_ov00_0209bc38 + ldr r1, _0208d618 ; =data_ov00_020ec9d4 + ldr r0, _0208d61c ; =data_ov00_020ec9d6 + strh r5, [r1] + strh r4, [r0] + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_0208d5e0 +_0208d618: .word data_ov00_020ec9d4 +_0208d61c: .word data_ov00_020ec9d6 + + .global func_ov00_0208d620 + arm_func_start func_ov00_0208d620 +func_ov00_0208d620: ; 0x0208d620 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r4, [r5, #0xc] + ldr r0, [r5, #0x10] + add r0, r4, r0, lsl #2 + cmp r4, r0 + ldmeqia sp!, {r3, r4, r5, pc} +_0208d63c: + ldr r0, [r4] + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x25 + bne _0208d664 + ldr r0, [r4] + cmp r0, #0 + beq _0208d664 + bl func_ov15_0214c3c4 +_0208d664: + ldr r1, [r5, #0xc] + ldr r0, [r5, #0x10] + add r4, r4, #4 + add r0, r1, r0, lsl #2 + cmp r4, r0 + bne _0208d63c + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_0208d620 + + .global func_ov00_0208d680 + arm_func_start func_ov00_0208d680 +func_ov00_0208d680: ; 0x0208d680 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r4, [r5, #0xc] + ldr r0, [r5, #0x10] + add r0, r4, r0, lsl #2 + cmp r4, r0 + ldmeqia sp!, {r3, r4, r5, pc} +_0208d69c: + ldr r0, [r4] + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x25 + bne _0208d6c4 + ldr r0, [r4] + cmp r0, #0 + beq _0208d6c4 + bl func_ov15_0214c414 +_0208d6c4: + ldr r1, [r5, #0xc] + ldr r0, [r5, #0x10] + add r4, r4, #4 + add r0, r1, r0, lsl #2 + cmp r4, r0 + bne _0208d69c + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_0208d680 + + .global func_ov00_0208d6e0 + arm_func_start func_ov00_0208d6e0 +func_ov00_0208d6e0: ; 0x0208d6e0 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0x1c + mov r4, r0 + ldrh ip, [r4, #8] + cmp ip, #0 + addeq sp, sp, #0x1c + moveq r0, #0 + ldmeqia sp!, {r3, r4, pc} + ldr r0, [r4, #0x10] + cmp r0, ip + addhi sp, sp, #0x1c + movhi r0, #0 + ldmhiia sp!, {r3, r4, pc} + ldrb lr, [sp, #0x28] + ldr ip, [sp, #0x2c] + ldrsh r0, [sp, #0x30] + str lr, [sp] + str ip, [sp, #4] + str r0, [sp, #8] + ldr ip, [sp, #0x34] + add r0, sp, #0x14 + str ip, [sp, #0xc] + bl func_ov00_0208cb0c + str r0, [sp, #0x18] + cmp r0, #0 + beq _0208d814 + mov r2, #0 + strb r2, [sp, #0x13] + ldr r1, [r4, #0x10] + ldr r0, [r4, #0x14] + cmp r1, r0 + bhs _0208d77c + add r0, r1, #1 + str r0, [r4, #0x10] + ldr r2, [sp, #0x18] + ldr r1, [r4, #0xc] + sub r0, r0, #1 + str r2, [r1, r0, lsl #2] + b _0208d79c +_0208d77c: + strb r2, [sp, #0x11] + sub r1, sp, #4 + and r0, r2, #0xff + strb r0, [r1] + ldr r2, [r1] + add r1, sp, #0x18 + add r0, r4, #0xc + bl func_ov00_0208dadc +_0208d79c: + ldr r0, [sp, #0x18] + ldr r1, [r0] + ldr r1, [r1, #0x74] + blx r1 + cmp r0, #1 + bne _0208d814 + ldr r0, [r4, #0x1c] + cmp r0, #0x80 + bhi _0208d814 + mov r2, #0 + strb r2, [sp, #0x12] + ldr r1, [r4, #0x1c] + ldr r0, [r4, #0x20] + cmp r1, r0 + bhs _0208d7f4 + add r0, r1, #1 + str r0, [r4, #0x1c] + ldr r2, [sp, #0x18] + ldr r1, [r4, #0x18] + sub r0, r0, #1 + str r2, [r1, r0, lsl #2] + b _0208d814 +_0208d7f4: + strb r2, [sp, #0x10] + sub r1, sp, #4 + and r0, r2, #0xff + strb r0, [r1] + ldr r2, [r1] + add r1, sp, #0x18 + add r0, r4, #0x18 + bl func_ov00_0208dadc +_0208d814: + ldr r0, [sp, #0x18] + add sp, sp, #0x1c + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_0208d6e0 + + .global func_ov00_0208d820 + arm_func_start func_ov00_0208d820 +func_ov00_0208d820: ; 0x0208d820 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + sub sp, sp, #0x38 + movs r6, r1 + mov r7, r0 + addeq sp, sp, #0x38 + moveq r0, #1 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + ldrb r4, [r6, #0x14] + ldrb r5, [r6, #0x15] + ldr r1, [r7, #0xc] + ldr r2, [r7, #0x10] + sub r0, sp, #4 + strb r4, [r0] + add r2, r1, r2, lsl #2 + strb r5, [r0, #1] + ldr r3, [r0] + add r0, sp, #0x34 + str r2, [sp, #0x28] + str r2, [sp, #0x10] + strb r4, [sp, #4] + strb r5, [sp, #5] + str r2, [sp, #0x2c] + str r1, [sp, #0x30] + bl func_ov00_0208d930 + mov r2, #0 + ldr r1, [sp, #0x34] + strb r2, [sp, #1] + sub r0, sp, #4 + strb r2, [r0] + ldr r3, [r0] + ldr r2, [sp, #0x10] + add r0, r7, #0xc + str r1, [sp, #0x14] + bl func_ov00_0208d9e0 + ldr r1, [r7, #0x18] + ldr r0, [r7, #0x1c] + sub r3, sp, #4 + add r2, r1, r0, lsl #2 + strb r4, [r3] + strb r5, [r3, #1] + ldr r3, [r3] + add r0, sp, #0x24 + strb r4, [sp, #2] + str r2, [sp, #0x18] + str r2, [sp, #8] + strb r5, [sp, #3] + str r2, [sp, #0x1c] + str r1, [sp, #0x20] + bl func_ov00_0208d930 + ldr r1, [sp, #0x24] + mov r4, #0 + strb r4, [sp] + sub r3, sp, #4 + strb r4, [r3] + ldr r2, [sp, #8] + ldr r3, [r3] + add r0, r7, #0x18 + str r1, [sp, #0xc] + bl func_ov00_0208d9e0 + cmp r6, #0 + beq _0208d924 + mov r0, r6 + ldr r1, [r0] + ldr r1, [r1, #4] + blx r1 +_0208d924: + mov r0, #1 + add sp, sp, #0x38 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end func_ov00_0208d820 + + .global func_ov00_0208d930 + arm_func_start func_ov00_0208d930 +func_ov00_0208d930: ; 0x0208d930 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, r5, r6, r7, r8, lr} + sub sp, sp, #8 + ldr r7, [sp, #0x28] + ldr r6, [sp, #0x24] + mov r4, r0 + str r7, [sp] + str r6, [sp, #4] + add r5, sp, #0x2c + b _0208d960 +_0208d958: + add r6, r6, #4 + str r6, [sp, #4] +_0208d960: + cmp r6, r7 + beq _0208d97c + ldr r1, [r6] + mov r0, r5 + bl func_ov00_0208cb84 + cmp r0, #0 + beq _0208d958 +_0208d97c: + ldr r7, [sp, #4] + ldr r6, [sp, #0x28] + mov r0, r7 + cmp r0, r6 + addne r8, r7, #4 + str r7, [sp, #0x24] + cmpne r8, r6 + beq _0208d9c8 + add r5, sp, #0x2c +_0208d9a0: + ldr r1, [r8] + mov r0, r5 + bl func_ov00_0208cb84 + cmp r0, #0 + ldreq r0, [r8] + add r8, r8, #4 + streq r0, [r7], #4 + streq r7, [sp, #0x24] + cmp r8, r6 + bne _0208d9a0 +_0208d9c8: + ldr r0, [sp, #0x24] + str r0, [r4] + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, lr} + add sp, sp, #0x10 + bx lr + arm_func_end func_ov00_0208d930 + + .global func_ov00_0208d9e0 + arm_func_start func_ov00_0208d9e0 +func_ov00_0208d9e0: ; 0x0208d9e0 + stmdb sp!, {r4, r5, r6, lr} + mov r5, r1 + mov r4, r2 + mov r6, r0 + cmp r5, r4 + beq _0208da3c + ldr r2, [r6] + ldr r1, [r6, #4] + mov r0, r5 + add r1, r2, r1, lsl #2 + sub r2, r1, r4 + mov r1, r2, asr #0x1 + add r1, r2, r1, lsr #30 + mov r2, r1, asr #0x2 + mov r1, r4 + mov r2, r2, lsl #0x2 + bl func_020435b4 + sub r1, r4, r5 + mov r0, r1, asr #0x1 + ldr r2, [r6, #4] + add r0, r1, r0, lsr #30 + sub r0, r2, r0, asr #2 + str r0, [r6, #4] +_0208da3c: + mov r0, r5 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end func_ov00_0208d9e0 + + .global func_ov00_0208da44 + arm_func_start func_ov00_0208da44 +func_ov00_0208da44: ; 0x0208da44 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #0x14 + ldrb r2, [sp, #0x2c] + ldrb r1, [sp, #0x2d] + mov r4, r0 + strb r2, [sp] + strb r1, [sp, #1] + ldr r6, [r4, #0xc] + ldr r0, [r4, #0x10] + str r6, [sp, #0x10] + add r5, r6, r0, lsl #2 + str r5, [sp, #0xc] + str r5, [sp, #4] + str r6, [sp, #8] + add r7, sp, #0 + b _0208da90 +_0208da88: + add r6, r6, #4 + str r6, [sp, #8] +_0208da90: + cmp r6, r5 + beq _0208daac + ldr r1, [r6] + mov r0, r7 + bl func_ov00_0208cb84 + cmp r0, #0 + beq _0208da88 +_0208daac: + ldr r1, [r4, #0xc] + ldr r0, [r4, #0x10] + ldr r2, [sp, #8] + add r0, r1, r0, lsl #2 + cmp r2, r0 + ldrne r0, [sp, #8] + ldrne r0, [r0] + moveq r0, #0 + add sp, sp, #0x14 + ldmia sp!, {r4, r5, r6, r7, lr} + add sp, sp, #0x10 + bx lr + arm_func_end func_ov00_0208da44 + + .global func_ov00_0208dadc + arm_func_start func_ov00_0208dadc +func_ov00_0208dadc: ; 0x0208dadc + stmdb sp!, {r3, r4, r5, lr} + mov r4, r1 + mov r2, #0 + mov r5, r0 + mov r1, #1 + strb r2, [sp] + bl func_ov00_0208dc68 + mov r0, r5 + mov r2, r4 + mov r1, #1 + bl func_ov00_0208db0c + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_0208dadc + + .global func_ov00_0208db0c + arm_func_start func_ov00_0208db0c +func_ov00_0208db0c: ; 0x0208db0c + stmdb sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #0x1c + mov r6, r0 + mov r5, r1 + add r0, sp, #8 + add r1, r6, #8 + mov r4, r2 + bl func_ov00_0208ddd4 + mov r0, #0 + str r0, [sp, #0x18] + ldmib r6, {r0, r1} + add r2, r0, r5 + mov r0, r6 + sub r1, r2, r1 + bl func_ov00_0208dc68 + mov r3, #0 + mov r1, r0 + strb r3, [sp, #4] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + add r0, sp, #8 + strb r3, [sp] + bl func_ov00_0208dd94 + ldr r1, [r6, #4] + ldr r0, [sp, #8] + str r1, [sp, #0x18] + add r1, r0, r1, lsl #2 + ldr r0, [sp, #0xc] + cmp r5, #0 + add r1, r1, r0, lsl #2 + mov r0, #0 + strb r0, [sp, #3] + mov r2, r5 + beq _0208dba8 +_0208db98: + ldr r0, [r4] + subs r2, r2, #1 + str r0, [r1], #4 + bne _0208db98 +_0208dba8: + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x18] + add r0, r0, r5 + str r0, [sp, #0xc] + ldr r4, [r6] + ldr r0, [r6, #4] + mov ip, #0 + add r0, r4, r0, lsl #2 + sub r2, r0, r4 + mov r0, r2, asr #0x1 + add r5, r2, r0, lsr #30 + sub r3, r1, r5, asr #2 + mov r2, r5, asr #0x2 + ldr r0, [sp, #8] + mov r7, r2, lsl #0x2 + mov r1, r4 + mov r2, r7 + add r0, r0, r3, lsl #2 + strb ip, [sp, #2] + str r3, [sp, #0x18] + bl func_02043594 + mov r0, r4 + mov r2, r7 + mov r1, #0 + bl func_02043600 + ldr r1, [sp, #0xc] + mov r0, #0 + add r1, r1, r5, asr #2 + str r1, [sp, #0xc] + strb r0, [sp, #1] + str r0, [r6, #4] + add r3, sp, #0x10 + ldr r2, [r6, #8] + ldr r1, [r3] + add r0, sp, #8 + str r1, [r6, #8] + str r2, [r3] + ldr r2, [r6] + ldr r1, [sp, #8] + str r1, [r6] + str r2, [sp, #8] + ldr r2, [r6, #4] + ldr r1, [sp, #0xc] + str r1, [r6, #4] + str r2, [sp, #0xc] + bl func_ov00_0208dd34 + add sp, sp, #0x1c + ldmia sp!, {r4, r5, r6, r7, pc} + arm_func_end func_ov00_0208db0c + + .global func_ov00_0208dc68 + arm_func_start func_ov00_0208dc68 +func_ov00_0208dc68: ; 0x0208dc68 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, lr} + sub sp, sp, #8 + ldr r4, [r0, #8] + mvn r0, #0xc0000000 + ldr r1, [sp, #0x14] + sub r0, r0, r4 + cmp r1, r0 + bls _0208dc90 + bl func_0204dd9c +_0208dc90: + ldr r0, _0208dd2c ; =0x15555555 + cmp r4, r0 + bhs _0208dcdc + add r1, r4, #1 + ldr r0, _0208dd30 ; =0xcccccccd + add r1, r1, r1, lsl #1 + umull r0, r2, r1, r0 + mov r2, r2, lsr #0x2 + ldr r0, [sp, #0x14] + str r2, [sp, #4] + cmp r0, r2 + addhi r0, sp, #0x14 + addls r0, sp, #4 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_0208dcdc: + cmp r4, r0, lsl #1 + bhs _0208dd18 + ldr r0, [sp, #0x14] + add r1, r4, #1 + mov r2, r1, lsr #0x1 + cmp r0, r1, lsr #1 + addhi r0, sp, #0x14 + str r2, [sp] + addls r0, sp, #0 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_0208dd18: + mvn r0, #0xc0000000 + add sp, sp, #8 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr + .align 2, 0 + arm_func_end func_ov00_0208dc68 +_0208dd2c: .word 0x15555555 +_0208dd30: .word 0xcccccccd + + .global func_ov00_0208dd34 + arm_func_start func_ov00_0208dd34 +func_ov00_0208dd34: ; 0x0208dd34 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r1, #0 + str r1, [r4, #4] + bl func_ov00_0208dd50 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208dd34 + + .global func_ov00_0208dd50 + arm_func_start func_ov00_0208dd50 +func_ov00_0208dd50: ; 0x0208dd50 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r0, [r4] + cmp r0, #0 + beq _0208dd88 + ldr r1, [r4, #4] + mov r0, #0 + strb r0, [sp] + ldr r0, [r4, #4] + sub r0, r0, r1 + str r0, [r4, #4] + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_0208dd88: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_0208dd50 + + .global func_ov00_0208dd94 + arm_func_start func_ov00_0208dd94 +func_ov00_0208dd94: ; 0x0208dd94 + stmdb sp!, {r3, r4, r5, lr} + mov r4, r1 + mvn r1, #0xc0000000 + mov r5, r0 + cmp r4, r1 + bls _0208ddb0 + bl func_0204dd9c +_0208ddb0: + ldr r1, _0208ddd0 ; =data_027e0ce0 + mov r0, r4, lsl #0x2 + ldr r1, [r1, #4] + mov r2, #4 + bl _ZN9SysObjectnwEmPjj + str r0, [r5] + str r4, [r5, #8] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_0208dd94 +_0208ddd0: .word data_027e0ce0 + + .global func_ov00_0208ddd4 + arm_func_start func_ov00_0208ddd4 +func_ov00_0208ddd4: ; 0x0208ddd4 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r2, r1 + mov r1, #0 + str r1, [r4] + add r0, r4, #8 + str r1, [r4, #4] + bl func_ov00_0208ddfc + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208ddd4 + + .global func_ov00_0208ddfc + arm_func_start func_ov00_0208ddfc +func_ov00_0208ddfc: ; 0x0208ddfc + stmia r0, {r1, r2} + bx lr + arm_func_end func_ov00_0208ddfc + + .global func_ov00_0208de04 + arm_func_start func_ov00_0208de04 +func_ov00_0208de04: ; 0x0208de04 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + ldr ip, _0208de64 ; =data_ov00_020e2870 + mov r4, r0 + str ip, [r4] + strh r1, [r4, #4] + str r2, [r4, #8] + str r3, [r4, #0xc] + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + str r0, [r4, #0x10] + ldr r0, [sp, #0x18] + str r1, [r4, #0x14] + ldr ip, _0208de68 ; =func_ov00_0207e968 + str r0, [r4, #0x18] + ldr r3, _0208de6c ; =func_ov00_0207e96c + add r0, r4, #0x10c + mov r1, #4 + mov r2, #0x10 + str ip, [sp] + bl func_0204f614 + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + .align 2, 0 + arm_func_end func_ov00_0208de04 +_0208de64: .word data_ov00_020e2870 +_0208de68: .word func_ov00_0207e968 +_0208de6c: .word func_ov00_0207e96c + + .global func_ov00_0208de70 + arm_func_start func_ov00_0208de70 +func_ov00_0208de70: ; 0x0208de70 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r3, _0208de94 ; =func_ov00_0207e968 + add r0, r4, #0x10c + mov r1, #4 + mov r2, #0x10 + bl func_0204f754 + mov r0, r4 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_0208de70 +_0208de94: .word func_ov00_0207e968 + + .global func_ov00_0208de98 + arm_func_start func_ov00_0208de98 +func_ov00_0208de98: ; 0x0208de98 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r3, _0208dec4 ; =func_ov00_0207e968 + add r0, r4, #0x10c + mov r1, #4 + mov r2, #0x10 + bl func_0204f754 + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_0208de98 +_0208dec4: .word func_ov00_0207e968 + + .global func_ov00_0208dec8 + arm_func_start func_ov00_0208dec8 +func_ov00_0208dec8: ; 0x0208dec8 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r3, _0208deec ; =func_ov00_0207e968 + add r0, r4, #0x10c + mov r1, #4 + mov r2, #0x10 + bl func_0204f754 + mov r0, r4 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_0208dec8 +_0208deec: .word func_ov00_0207e968 + + .global func_ov00_0208def0 + arm_func_start func_ov00_0208def0 +func_ov00_0208def0: ; 0x0208def0 + stmdb sp!, {r3, lr} + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0208def0 + + .global func_ov00_0208df04 + arm_func_start func_ov00_0208df04 +func_ov00_0208df04: ; 0x0208df04 + stmdb sp!, {r4, lr} + ldr r1, [r0] + mov r4, r0 + ldr r1, [r1, #0x18] + blx r1 + mov r0, r4 + ldr r1, [r0] + ldr r1, [r1, #0x20] + blx r1 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208df04 + + .global func_ov00_0208df2c + arm_func_start func_ov00_0208df2c +func_ov00_0208df2c: ; 0x0208df2c + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + ldr r1, [r0] + mov r4, r0 + ldr r1, [r1, #0x1c] + blx r1 + mov r3, #2 + add r1, sp, #0 + mov r0, #0x10 + mov r2, #1 + str r3, [sp] + bl func_01ffa9fc + add r1, r4, #0x1c + mov r0, #0x17 + mov r2, #0xc + bl func_01ffa9fc + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_0208df2c + + .global func_ov00_0208df74 + arm_func_start func_ov00_0208df74 +func_ov00_0208df74: ; 0x0208df74 + bx lr + arm_func_end func_ov00_0208df74 + + .global func_ov00_0208df78 + arm_func_start func_ov00_0208df78 +func_ov00_0208df78: ; 0x0208df78 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x14 + mov r6, r0 + mov r0, r1, lsl #0xc + mov r5, r2 + mov r1, #0xff000 + mov r11, r3 + ldr r4, [sp, #0x38] + bl Divide + mov r1, #0xbf000 + sub r2, r5, #0xbf + mov r5, r0 + mov r0, r2, lsl #0xc + rsb r1, r1, #0 + bl Divide + cmp r5, #0 + cmpge r0, #0 + blt _0208dfcc + cmp r5, #0x1000 + cmple r0, #0x1000 + ble _0208dfd8 +_0208dfcc: + mvn r1, #0 + str r1, [sp, #0x10] + b _0208dfe0 +_0208dfd8: + mov r1, #0 + str r1, [sp, #0x10] +_0208dfe0: + sub r1, r0, #0x800 + sub r2, r5, #0x800 + mov r0, r6 + mov r8, r2, lsl #0x1 + mov r10, r1, lsl #0x1 + bl func_ov00_0208e3d0 + mov r5, r0 + ldr r0, [r5, #0x1c] + ldr r1, [r5, #0xc] + smull r2, r0, r10, r0 + smlal r2, r0, r8, r1 + mov r2, r2, lsr #0xc + orr r2, r2, r0, lsl #20 + ldr r0, [r5, #0x3c] + ldr r1, [r5, #0x2c] + add r0, r0, r2 + str r0, [sp, #0xc] + sub r0, r0, r1 + bl func_01ff9a50 + ldr r0, [r5, #0x10] + ldr r2, [r5] + smull r3, r0, r10, r0 + smlal r3, r0, r8, r2 + mov r2, r3, lsr #0xc + orr r2, r2, r0, lsl #20 + ldr r6, [r5, #0x30] + ldr r3, [r5, #4] + add r6, r6, r2 + ldr r2, [r5, #0x14] + ldr r1, [r5, #0x34] + smull r7, r2, r10, r2 + smlal r7, r2, r8, r3 + mov r3, r7, lsr #0xc + orr r3, r3, r2, lsl #20 + add r7, r1, r3 + ldr r1, [r5, #0x18] + ldr r2, [r5, #8] + smull r3, r1, r10, r1 + smlal r3, r1, r8, r2 + mov r2, r3, lsr #0xc + ldr r0, [r5, #0x38] + orr r2, r2, r1, lsl #20 + cmp r4, #0 + add r8, r0, r2 + beq _0208e0c4 + ldr r0, [r5, #0x20] + ldr r3, [r5, #0x24] + add r0, r6, r0 + str r0, [sp, #4] + add r0, r7, r3 + str r0, [sp] + ldr r2, [r5, #0x28] + ldr r1, [r5, #0x2c] + ldr r0, [sp, #0xc] + add r9, r8, r2 + add r0, r0, r1 + str r0, [sp, #8] +_0208e0c4: + ldr r2, [r5, #0x20] + ldr r1, [r5, #0x24] + ldr r0, [r5, #0x28] + sub r6, r6, r2 + sub r7, r7, r1 + sub r8, r8, r0 + bl func_01ff99f4 + mov r5, r0 + mov r10, r1 + cmp r4, #0 + beq _0208e0f8 + ldr r0, [sp, #8] + bl func_01ff9a50 +_0208e0f8: + mov r0, r6, asr #0x1f + umull r2, r1, r5, r6 + adds r2, r2, #0x80000000 + mla r1, r5, r0, r1 + mla r1, r10, r6, r1 + adc r2, r1, #0 + umull r0, r1, r5, r7 + str r2, [r11] + adds r0, r0, #0x80000000 + mov r0, r7, asr #0x1f + mla r1, r5, r0, r1 + mla r1, r10, r7, r1 + adc r0, r1, #0 + str r0, [r11, #4] + umull r0, r1, r5, r8 + adds r0, r0, #0x80000000 + mov r0, r8, asr #0x1f + mla r1, r5, r0, r1 + mla r1, r10, r8, r1 + adc r0, r1, #0 + str r0, [r11, #8] + cmp r4, #0 + beq _0208e1bc + bl func_01ff99f4 + ldr r2, [sp, #4] + umull r6, r5, r0, r2 + mov r2, r2, asr #0x1f + mla r5, r0, r2, r5 + ldr r2, [sp] + adds r6, r6, #0x80000000 + mov r7, r2, asr #0x1f + umull r3, r2, r0, r2 + mla r2, r0, r7, r2 + mov r7, r9, asr #0x1f + umull r8, r6, r0, r9 + mla r6, r0, r7, r6 + ldr r0, [sp, #4] + mla r6, r1, r9, r6 + mla r5, r1, r0, r5 + adc r0, r5, #0 + str r0, [r4] + ldr r0, [sp] + mla r2, r1, r0, r2 + adds r0, r3, #0x80000000 + adc r2, r2, #0 + adds r0, r8, #0x80000000 + str r2, [r4, #4] + adc r0, r6, #0 + str r0, [r4, #8] +_0208e1bc: + ldr r0, [sp, #0x10] + add sp, sp, #0x14 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + arm_func_end func_ov00_0208df78 + + .global func_ov00_0208e1c8 + arm_func_start func_ov00_0208e1c8 +func_ov00_0208e1c8: ; 0x0208e1c8 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x48 + str r1, [sp] + add r1, sp, #8 + bl func_02007a18 + ldr r0, [sp] + bl func_01ff91f8 + mov r11, #0 +_0208e1e8: + mov r3, r11 + mov r1, r11 + cmp r11, #4 + mov r2, #0 + bge _0208e228 + add r0, sp, #8 + add r0, r0, r11, lsl #2 +_0208e204: + ldr r4, [r0, r1, lsl #4] + cmp r4, #0 + rsblt r4, r4, #0 + cmp r4, r2 + movgt r3, r1 + add r1, r1, #1 + movgt r2, r4 + cmp r1, #4 + blt _0208e204 +_0208e228: + cmp r2, #0 + addeq sp, sp, #0x48 + mvneq r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + cmp r3, r11 + beq _0208e288 + ldr r1, [sp] + add r2, sp, #8 + mov r0, #0 + add r4, r1, r11, lsl #4 + add r6, r2, r11, lsl #4 + add r5, r2, r3, lsl #4 + add r2, r1, r3, lsl #4 +_0208e25c: + ldr r3, [r6, r0, lsl #2] + ldr r1, [r5, r0, lsl #2] + str r1, [r6, r0, lsl #2] + str r3, [r5, r0, lsl #2] + ldr r3, [r4, r0, lsl #2] + ldr r1, [r2, r0, lsl #2] + str r1, [r4, r0, lsl #2] + str r3, [r2, r0, lsl #2] + add r0, r0, #1 + cmp r0, #4 + blt _0208e25c +_0208e288: + add r0, sp, #8 + add r0, r0, r11, lsl #4 + ldr r0, [r0, r11, lsl #2] + bl func_01ff992c + ldr r2, [sp] + mov r3, #0 + mov lr, #0x80000000 + add r4, sp, #8 + add r9, r2, r11, lsl #4 + add r2, r4, r11, lsl #4 + mov r4, r3 + mov r6, r3 + mov r5, lr +_0208e2bc: + ldr r8, [r2, r3, lsl #2] + mov r7, r8, asr #0x1f + umull ip, r10, r0, r8 + adds ip, ip, lr + mla r10, r0, r7, r10 + mla r10, r1, r8, r10 + adc r7, r10, r4 + str r7, [r2, r3, lsl #2] + ldr r8, [r9, r3, lsl #2] + mov r7, r8, asr #0x1f + umull ip, r10, r0, r8 + adds ip, ip, r5 + mla r10, r0, r7, r10 + mla r10, r1, r8, r10 + adc r7, r10, r6 + str r7, [r9, r3, lsl #2] + add r3, r3, #1 + cmp r3, #4 + blt _0208e2bc + ldr r0, [sp] + add r1, sp, #8 + add r6, r0, r11, lsl #4 + add r0, sp, #8 + add r1, r1, r11, lsl #2 + mov ip, #0 + add r0, r0, r11, lsl #4 + str r1, [sp, #4] +_0208e328: + cmp ip, r11 + beq _0208e3ac + ldr r1, [sp, #4] + ldr r4, [sp] + ldr r3, [r1, ip, lsl #4] + add r1, sp, #8 + mov lr, #0 + mov r2, r3, asr #0x1f + add r1, r1, ip, lsl #4 + add r10, r4, ip, lsl #4 +_0208e350: + ldr r5, [r0, lr, lsl #2] + ldr r9, [r1, lr, lsl #2] + mov r4, r5, asr #0x1f + umull r8, r7, r3, r5 + mla r7, r3, r4, r7 + mla r7, r2, r5, r7 + mov r4, r8, lsr #0xc + orr r4, r4, r7, lsl #20 + subs r4, r9, r4 + str r4, [r1, lr, lsl #2] + ldr r9, [r10, lr, lsl #2] + ldr r5, [r6, lr, lsl #2] + mov r4, r5, asr #0x1f + umull r8, r7, r3, r5 + mla r7, r3, r4, r7 + mla r7, r2, r5, r7 + mov r4, r8, lsr #0xc + orr r4, r4, r7, lsl #20 + subs r4, r9, r4 + str r4, [r10, lr, lsl #2] + add lr, lr, #1 + cmp lr, #4 + blt _0208e350 +_0208e3ac: + add ip, ip, #1 + cmp ip, #4 + blt _0208e328 + add r11, r11, #1 + cmp r11, #4 + blt _0208e1e8 + mov r0, #0 + add sp, sp, #0x48 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + arm_func_end func_ov00_0208e1c8 + + .global func_ov00_0208e3d0 + arm_func_start func_ov00_0208e3d0 +func_ov00_0208e3d0: ; 0x0208e3d0 + stmdb sp!, {r4, lr} + sub sp, sp, #0xb0 + mov r4, r0 + add r1, sp, #0x40 + add r0, r4, #0x1c + bl func_01ff8af8 + add r1, sp, #0 + add r0, r4, #0x8c + bl func_ov00_0208e1c8 + add r0, sp, #0x40 + add r1, sp, #0x70 + bl func_01ff8954 + add r0, sp, #0 + add r1, sp, #0x70 + add r2, r4, #0xcc + bl func_01ff927c + add r0, r4, #0xcc + add sp, sp, #0xb0 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208e3d0 + + .global func_ov00_0208e41c + arm_func_start func_ov00_0208e41c +func_ov00_0208e41c: ; 0x0208e41c + bx lr + arm_func_end func_ov00_0208e41c + + .global func_ov00_0208e420 + arm_func_start func_ov00_0208e420 +func_ov00_0208e420: ; 0x0208e420 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0x14 + mov r4, r0 + ldrh r1, [r4, #4] + ldr r0, [r4, #0x10] + mov ip, #0 + str r0, [sp] + mov r0, r1, asr #0x4 + ldr r1, [r4, #0x18] + mov r3, r0, lsl #0x1 + add r0, r3, #1 + str r1, [sp, #4] + mov r1, r0, lsl #0x1 + ldr r2, _0208e4f0 ; =data_02050f54 + mov r3, r3, lsl #0x1 + str ip, [sp, #8] + add r0, r4, #0x8c + str r0, [sp, #0xc] + ldrsh r0, [r2, r3] + ldrsh r1, [r2, r1] + ldr r2, [r4, #8] + ldr r3, [r4, #0xc] + bl func_02005bfc + bl func_01ffa8d4 + ldrh r2, [r4, #4] + ldr r0, [r4, #0x10] + mov r1, #1 + str r0, [sp] + mov r0, r2, asr #0x4 + ldr r2, [r4, #0x14] + mov r3, r0, lsl #0x1 + str r2, [sp, #4] + add r0, r3, #1 + str r1, [sp, #8] + add r1, r4, #0x4c + str r1, [sp, #0xc] + ldr r2, _0208e4f0 ; =data_02050f54 + mov r1, r0, lsl #0x1 + mov r3, r3, lsl #0x1 + ldrsh r0, [r2, r3] + ldrsh r1, [r2, r1] + ldr r2, [r4, #8] + ldr r3, [r4, #0xc] + bl func_02005bfc + mov r0, #0 + str r0, [sp, #0x10] + add r1, sp, #0x10 + mov r0, #0x13 + mov r2, #1 + bl func_01ffa9fc + add sp, sp, #0x14 + ldmia sp!, {r3, r4, pc} + .align 2, 0 + arm_func_end func_ov00_0208e420 +_0208e4f0: .word data_02050f54 + + .global func_ov00_0208e4f4 + arm_func_start func_ov00_0208e4f4 +func_ov00_0208e4f4: ; 0x0208e4f4 + bx lr + arm_func_end func_ov00_0208e4f4 + + .global func_ov00_0208e4f8 + arm_func_start func_ov00_0208e4f8 +func_ov00_0208e4f8: ; 0x0208e4f8 + ldr r3, _0208e50c ; =data_027e0f6c + ldr ip, _0208e510 ; =func_ov00_02093a4c + ldrh r2, [r1, #6] + ldr r1, [r3] + bx ip + .align 2, 0 + arm_func_end func_ov00_0208e4f8 +_0208e50c: .word data_027e0f6c +_0208e510: .word func_ov00_02093a4c + + .global func_ov00_0208e514 + arm_func_start func_ov00_0208e514 +func_ov00_0208e514: ; 0x0208e514 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r0, [r4, #0x48] + ldrh r2, [r4] + ldr lr, [r0, #8] + mov r0, #0xc + ldrh r3, [r4, #2] + mla r1, r2, r0, lr + ldrh ip, [r4, #4] + mla r2, r3, r0, lr + mla r3, ip, r0, lr + add r0, r4, #8 + bl func_01fffc44 + ldr r0, [r4, #0x48] + ldrh r2, [r4] + ldr r1, [r0, #8] + mov r0, #0xc + mla r1, r2, r0, r1 + add r0, r4, #8 + bl func_01ff9c2c + str r0, [r4, #0x14] + ldr r0, [r4, #0x48] + ldrh r3, [r4, #2] + ldrh r2, [r4] + ldr ip, [r0, #8] + mov r1, #0xc + mla r0, r3, r1, ip + mla r1, r2, r1, ip + add r2, r4, #0x18 + bl func_01ff9bf8 + add r0, r4, #0x18 + add r1, r4, #8 + mov r2, r0 + bl func_01ff9c68 + add r0, r4, #0x18 + bl func_01fffb4c + ldr r1, [r4, #0x48] + ldrh r2, [r4] + ldr r3, [r1, #8] + mov r1, #0xc + mla r1, r2, r1, r3 + add r0, r4, #0x18 + bl func_01ff9c2c + str r0, [r4, #0x24] + ldr r0, [r4, #0x48] + ldrh r2, [r4, #4] + ldrh r3, [r4, #2] + ldr ip, [r0, #8] + mov r1, #0xc + mla r0, r2, r1, ip + mla r1, r3, r1, ip + add r2, r4, #0x28 + bl func_01ff9bf8 + add r0, r4, #0x28 + add r1, r4, #8 + mov r2, r0 + bl func_01ff9c68 + add r0, r4, #0x28 + bl func_01fffb4c + ldr r1, [r4, #0x48] + ldrh r2, [r4, #2] + ldr r3, [r1, #8] + mov r1, #0xc + mla r1, r2, r1, r3 + add r0, r4, #0x28 + bl func_01ff9c2c + str r0, [r4, #0x34] + ldr r0, [r4, #0x48] + ldrh r3, [r4] + ldrh r2, [r4, #4] + ldr ip, [r0, #8] + mov r1, #0xc + mla r0, r3, r1, ip + mla r1, r2, r1, ip + add r2, r4, #0x38 + bl func_01ff9bf8 + add r0, r4, #0x38 + add r1, r4, #8 + mov r2, r0 + bl func_01ff9c68 + add r0, r4, #0x38 + bl func_01fffb4c + ldr r0, [r4, #0x48] + ldrh r2, [r4, #4] + ldr r1, [r0, #8] + mov r0, #0xc + mla r1, r2, r0, r1 + add r0, r4, #0x38 + bl func_01ff9c2c + str r0, [r4, #0x44] + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208e514 + + .global func_ov00_0208e680 + arm_func_start func_ov00_0208e680 +func_ov00_0208e680: ; 0x0208e680 + ldr r2, [r0, #0xc] + ldr r1, [r0] + cmp r2, r1 + ldrge r2, [r0, #0x10] + ldrge r1, [r0, #4] + cmpge r2, r1 + ldrge r1, [r0, #0x14] + ldrge r0, [r0, #8] + cmpge r1, r0 + movge r0, #1 + movlt r0, #0 + bx lr + arm_func_end func_ov00_0208e680 + + .global func_ov00_0208e6b0 + arm_func_start func_ov00_0208e6b0 +func_ov00_0208e6b0: ; 0x0208e6b0 + ldr r3, [r0] + ldr r2, [r0, #0xc] + add r2, r3, r2 + mov r2, r2, asr #0x1 + str r2, [r1] + ldr r3, [r0, #4] + ldr r2, [r0, #0x10] + add r2, r3, r2 + mov r2, r2, asr #0x1 + str r2, [r1, #4] + ldr r2, [r0, #8] + ldr r0, [r0, #0x14] + add r0, r2, r0 + mov r0, r0, asr #0x1 + str r0, [r1, #8] + bx lr + arm_func_end func_ov00_0208e6b0 + + .global func_ov00_0208e6f0 + arm_func_start func_ov00_0208e6f0 +func_ov00_0208e6f0: ; 0x0208e6f0 + ldr r1, [r0, #0xc] + ldr r0, [r0] + subs r0, r1, r0 + rsbmi r0, r0, #0 + bx lr + arm_func_end func_ov00_0208e6f0 + + .global func_ov00_0208e704 + arm_func_start func_ov00_0208e704 +func_ov00_0208e704: ; 0x0208e704 + ldr r1, [r0, #0x14] + ldr r0, [r0, #8] + subs r0, r1, r0 + rsbmi r0, r0, #0 + bx lr + arm_func_end func_ov00_0208e704 + + .global func_ov00_0208e718 + arm_func_start func_ov00_0208e718 +func_ov00_0208e718: ; 0x0208e718 + ldr r1, [r0, #0x10] + ldr r0, [r0, #4] + subs r0, r1, r0 + rsbmi r0, r0, #0 + bx lr + arm_func_end func_ov00_0208e718 + + .global func_ov00_0208e72c + arm_func_start func_ov00_0208e72c +func_ov00_0208e72c: ; 0x0208e72c + stmdb sp!, {r3, r4, r5, lr} + ldr r5, [r1] + ldr r2, [r0] + mov ip, #0 + cmp r5, r2 + ldrge r3, [r1, #4] + ldrge r2, [r0, #4] + mov r4, ip + cmpge r3, r2 + movge r4, #1 + mov lr, ip + cmp r4, #0 + beq _0208e770 + ldr r3, [r1, #8] + ldr r2, [r0, #8] + cmp r3, r2 + movge lr, #1 +_0208e770: + cmp lr, #0 + beq _0208e79c + ldr r2, [r0, #0xc] + cmp r5, r2 + ldrlt r3, [r1, #4] + ldrlt r2, [r0, #0x10] + cmplt r3, r2 + ldrlt r1, [r1, #8] + ldrlt r0, [r0, #0x14] + cmplt r1, r0 + movlt ip, #1 +_0208e79c: + mov r0, ip + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_0208e72c + + .global func_ov00_0208e7a4 + arm_func_start func_ov00_0208e7a4 +func_ov00_0208e7a4: ; 0x0208e7a4 + ldr r3, [r1] + ldr r2, [r0] + cmp r3, r2 + blt _0208e7e0 + ldr r2, [r0, #0xc] + cmp r3, r2 + bge _0208e7e0 + ldr r2, [r1, #8] + ldr r1, [r0, #8] + cmp r2, r1 + blt _0208e7e0 + ldr r0, [r0, #0x14] + cmp r2, r0 + movlt r0, #1 + bxlt lr +_0208e7e0: + mov r0, #0 + bx lr + arm_func_end func_ov00_0208e7a4 + + .global func_ov00_0208e7e8 + arm_func_start func_ov00_0208e7e8 +func_ov00_0208e7e8: ; 0x0208e7e8 + ldr r3, [r1] + ldr r2, [r0] + cmp r3, r2 + blt _0208e824 + ldr r2, [r0, #0xc] + cmp r3, r2 + bge _0208e824 + ldr r2, [r1, #4] + ldr r1, [r0, #4] + cmp r2, r1 + blt _0208e824 + ldr r0, [r0, #0x10] + cmp r2, r0 + movlt r0, #1 + bxlt lr +_0208e824: + mov r0, #0 + bx lr + arm_func_end func_ov00_0208e7e8 + + .global func_ov00_0208e82c + arm_func_start func_ov00_0208e82c +func_ov00_0208e82c: ; 0x0208e82c + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0x24 + mov r4, r1 + ldr r3, [r4, #0xc] + add r1, sp, #0x18 + add r2, sp, #0 + mov r5, r0 + str r3, [sp, #0x18] + str r3, [sp, #0x1c] + str r3, [sp, #0x20] + bl func_01ff9bf8 + add r1, sp, #0x18 + add r2, sp, #0xc + add r0, r5, #0xc + bl func_01ff9bc4 + add r0, sp, #0 + mov r1, r4 + bl func_ov00_0208e72c + add sp, sp, #0x24 + ldmia sp!, {r4, r5, pc} + arm_func_end func_ov00_0208e82c + + .global func_ov00_0208e87c + arm_func_start func_ov00_0208e87c +func_ov00_0208e87c: ; 0x0208e87c + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x60 + add ip, sp, #0x48 + mov r4, r0 + mov r6, r1 + mov r5, r2 + ldmia r4, {r0, r1, r2} + stmia ip, {r0, r1, r2} + add r0, r4, #0xc + add r4, sp, #0x54 + ldmia r0, {r0, r1, r2} + stmia r4, {r0, r1, r2} + ldr r1, [r6, #0xc] + mov r0, ip + mov r4, r3 + bl func_ov00_0208ee00 + mov r0, #0 + str r0, [sp, #0x3c] + str r0, [sp, #0x40] + sub r0, r0, #0x1000 + str r0, [sp, #0x44] + add r1, sp, #0x3c + mov r0, r5 + bl func_01ff9c2c + cmp r0, #0 + ble _0208e984 + ldr r2, [sp, #0x5c] + ldr r0, [r6, #8] + ldr r1, [r5, #8] + sub r0, r2, r0 + bl Divide + cmp r0, #0 + blt _0208e984 + cmp r0, #0x1000 + bgt _0208e984 + ldr r2, [r5] + ldr r1, [r5, #4] + smull r2, r3, r0, r2 + adds ip, r2, #0x800 + smull r2, r1, r0, r1 + adc r3, r3, #0 + adds r2, r2, #0x800 + mov ip, ip, lsr #0xc + ldr lr, [r6] + orr ip, ip, r3, lsl #20 + adc r1, r1, #0 + mov r2, r2, lsr #0xc + ldr r3, [r6, #4] + orr r2, r2, r1, lsl #20 + ldr r1, [sp, #0x48] + add ip, lr, ip + cmp r1, ip + add r2, r3, r2 + bgt _0208e984 + ldr r1, [sp, #0x54] + cmp ip, r1 + bge _0208e984 + ldr r1, [sp, #0x4c] + cmp r1, r2 + bgt _0208e984 + ldr r1, [sp, #0x58] + cmp r2, r1 + strlt r0, [r4] + addlt sp, sp, #0x60 + movlt r0, #1 + ldmltia sp!, {r4, r5, r6, pc} +_0208e984: + mov r3, #0 + mov r2, #0x1000 + add r1, sp, #0x30 + mov r0, r5 + str r3, [sp, #0x30] + str r3, [sp, #0x34] + str r2, [sp, #0x38] + bl func_01ff9c2c + cmp r0, #0 + ble _0208ea4c + ldr r2, [sp, #0x50] + ldr r0, [r6, #8] + ldr r1, [r5, #8] + sub r0, r2, r0 + bl Divide + cmp r0, #0 + blt _0208ea4c + cmp r0, #0x1000 + bgt _0208ea4c + ldr r2, [r5] + ldr r1, [r5, #4] + smull r2, r3, r0, r2 + adds ip, r2, #0x800 + smull r2, r1, r0, r1 + adc r3, r3, #0 + adds r2, r2, #0x800 + mov ip, ip, lsr #0xc + ldr lr, [r6] + orr ip, ip, r3, lsl #20 + adc r1, r1, #0 + mov r2, r2, lsr #0xc + ldr r3, [r6, #4] + orr r2, r2, r1, lsl #20 + ldr r1, [sp, #0x48] + add ip, lr, ip + cmp r1, ip + add r2, r3, r2 + bgt _0208ea4c + ldr r1, [sp, #0x54] + cmp ip, r1 + bge _0208ea4c + ldr r1, [sp, #0x4c] + cmp r1, r2 + bgt _0208ea4c + ldr r1, [sp, #0x58] + cmp r2, r1 + strlt r0, [r4] + addlt sp, sp, #0x60 + movlt r0, #1 + ldmltia sp!, {r4, r5, r6, pc} +_0208ea4c: + mov r3, #0x1000 + mov r2, #0 + rsb r3, r3, #0 + add r1, sp, #0x24 + mov r0, r5 + str r3, [sp, #0x24] + str r2, [sp, #0x28] + str r2, [sp, #0x2c] + bl func_01ff9c2c + cmp r0, #0 + ble _0208eb14 + ldr r2, [sp, #0x54] + ldr r0, [r6] + ldr r1, [r5] + sub r0, r2, r0 + bl Divide + cmp r0, #0 + blt _0208eb14 + cmp r0, #0x1000 + bgt _0208eb14 + ldmib r5, {r1, r2} + smull r2, r3, r0, r2 + adds ip, r2, #0x800 + smull r2, r1, r0, r1 + adc r3, r3, #0 + adds r2, r2, #0x800 + mov ip, ip, lsr #0xc + orr ip, ip, r3, lsl #20 + ldr lr, [r6, #8] + adc r1, r1, #0 + mov r2, r2, lsr #0xc + orr r2, r2, r1, lsl #20 + ldr r3, [r6, #4] + ldr r1, [sp, #0x50] + add ip, lr, ip + cmp r1, ip + add r2, r3, r2 + bgt _0208eb14 + ldr r1, [sp, #0x5c] + cmp ip, r1 + bge _0208eb14 + ldr r1, [sp, #0x4c] + cmp r1, r2 + bgt _0208eb14 + ldr r1, [sp, #0x58] + cmp r2, r1 + strlt r0, [r4] + addlt sp, sp, #0x60 + movlt r0, #1 + ldmltia sp!, {r4, r5, r6, pc} +_0208eb14: + mov r2, #0 + mov r3, #0x1000 + add r1, sp, #0x18 + mov r0, r5 + str r3, [sp, #0x18] + str r2, [sp, #0x1c] + str r2, [sp, #0x20] + bl func_01ff9c2c + cmp r0, #0 + ble _0208ebd8 + ldr r2, [sp, #0x48] + ldr r0, [r6] + ldr r1, [r5] + sub r0, r2, r0 + bl Divide + cmp r0, #0 + blt _0208ebd8 + cmp r0, #0x1000 + bgt _0208ebd8 + ldmib r5, {r1, r2} + smull r2, r3, r0, r2 + adds ip, r2, #0x800 + smull r2, r1, r0, r1 + adc r3, r3, #0 + adds r2, r2, #0x800 + mov ip, ip, lsr #0xc + orr ip, ip, r3, lsl #20 + ldr lr, [r6, #8] + adc r1, r1, #0 + mov r2, r2, lsr #0xc + orr r2, r2, r1, lsl #20 + ldr r3, [r6, #4] + ldr r1, [sp, #0x50] + add ip, lr, ip + cmp r1, ip + add r2, r3, r2 + bgt _0208ebd8 + ldr r1, [sp, #0x5c] + cmp ip, r1 + bge _0208ebd8 + ldr r1, [sp, #0x4c] + cmp r1, r2 + bgt _0208ebd8 + ldr r1, [sp, #0x58] + cmp r2, r1 + strlt r0, [r4] + addlt sp, sp, #0x60 + movlt r0, #1 + ldmltia sp!, {r4, r5, r6, pc} +_0208ebd8: + mov r3, #0 + sub r2, r3, #0x1000 + add r1, sp, #0xc + mov r0, r5 + str r3, [sp, #0xc] + str r2, [sp, #0x10] + str r3, [sp, #0x14] + bl func_01ff9c2c + cmp r0, #0 + ble _0208eca0 + ldr r2, [sp, #0x58] + ldr r0, [r6, #4] + ldr r1, [r5, #4] + sub r0, r2, r0 + bl Divide + cmp r0, #0 + blt _0208eca0 + cmp r0, #0x1000 + bgt _0208eca0 + ldr r2, [r5] + ldr r1, [r5, #8] + smull r2, r3, r0, r2 + adds ip, r2, #0x800 + smull r2, r1, r0, r1 + adc r3, r3, #0 + adds r2, r2, #0x800 + mov ip, ip, lsr #0xc + ldr lr, [r6] + orr ip, ip, r3, lsl #20 + adc r1, r1, #0 + mov r2, r2, lsr #0xc + ldr r3, [r6, #8] + orr r2, r2, r1, lsl #20 + ldr r1, [sp, #0x48] + add ip, lr, ip + cmp r1, ip + add r2, r3, r2 + bgt _0208eca0 + ldr r1, [sp, #0x54] + cmp ip, r1 + bge _0208eca0 + ldr r1, [sp, #0x50] + cmp r1, r2 + bgt _0208eca0 + ldr r1, [sp, #0x5c] + cmp r2, r1 + strlt r0, [r4] + addlt sp, sp, #0x60 + movlt r0, #1 + ldmltia sp!, {r4, r5, r6, pc} +_0208eca0: + mov r3, #0 + mov r2, #0x1000 + add r1, sp, #0 + mov r0, r5 + str r3, [sp] + str r2, [sp, #4] + str r3, [sp, #8] + bl func_01ff9c2c + cmp r0, #0 + ble _0208ed68 + ldr r2, [sp, #0x4c] + ldr r0, [r6, #4] + ldr r1, [r5, #4] + sub r0, r2, r0 + bl Divide + cmp r0, #0 + blt _0208ed68 + cmp r0, #0x1000 + bgt _0208ed68 + ldr r2, [r5] + ldr r1, [r5, #8] + smull r2, r3, r0, r2 + adds r5, r2, #0x800 + smull r2, r1, r0, r1 + adc r3, r3, #0 + adds r2, r2, #0x800 + mov r5, r5, lsr #0xc + ldr ip, [r6] + orr r5, r5, r3, lsl #20 + adc r1, r1, #0 + mov r2, r2, lsr #0xc + ldr r3, [r6, #8] + orr r2, r2, r1, lsl #20 + ldr r1, [sp, #0x48] + add r5, ip, r5 + cmp r1, r5 + add r2, r3, r2 + bgt _0208ed68 + ldr r1, [sp, #0x54] + cmp r5, r1 + bge _0208ed68 + ldr r1, [sp, #0x50] + cmp r1, r2 + bgt _0208ed68 + ldr r1, [sp, #0x5c] + cmp r2, r1 + strlt r0, [r4] + addlt sp, sp, #0x60 + movlt r0, #1 + ldmltia sp!, {r4, r5, r6, pc} +_0208ed68: + mov r0, #0 + add sp, sp, #0x60 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end func_ov00_0208e87c + + .global func_ov00_0208ed74 + arm_func_start func_ov00_0208ed74 +func_ov00_0208ed74: ; 0x0208ed74 + ldr r3, [r1] + ldr r2, [r0] + cmp r2, r3 + strge r3, [r0] + ldr r3, [r1, #4] + ldr r2, [r0, #4] + cmp r2, r3 + strge r3, [r0, #4] + ldr r3, [r1, #8] + ldr r2, [r0, #8] + cmp r2, r3 + strge r3, [r0, #8] + ldr r3, [r1] + ldr r2, [r0, #0xc] + cmp r2, r3 + strle r3, [r0, #0xc] + ldr r3, [r1, #4] + ldr r2, [r0, #0x10] + cmp r2, r3 + strle r3, [r0, #0x10] + ldr r2, [r1, #8] + ldr r1, [r0, #0x14] + cmp r1, r2 + strle r2, [r0, #0x14] + bx lr + arm_func_end func_ov00_0208ed74 + + .global func_ov00_0208edd8 + arm_func_start func_ov00_0208edd8 +func_ov00_0208edd8: ; 0x0208edd8 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r2, r5 + mov r4, r1 + bl func_01ff9bf8 + add r0, r5, #0xc + mov r1, r4 + mov r2, r0 + bl func_01ff9bc4 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_0208edd8 + + .global func_ov00_0208ee00 + arm_func_start func_ov00_0208ee00 +func_ov00_0208ee00: ; 0x0208ee00 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #0x18 + mov r5, r0 + mov r4, r1 + add r1, sp, #0xc + mov r2, r5 + str r4, [sp, #0xc] + str r4, [sp, #0x10] + str r4, [sp, #0x14] + bl func_01ff9bf8 + add r0, r5, #0xc + add r1, sp, #0 + mov r2, r0 + str r4, [sp] + str r4, [sp, #4] + str r4, [sp, #8] + bl func_01ff9bc4 + add sp, sp, #0x18 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_0208ee00 + + .global func_ov00_0208ee4c + arm_func_start func_ov00_0208ee4c +func_ov00_0208ee4c: ; 0x0208ee4c + stmdb sp!, {r4, lr} + sub sp, sp, #0x18 + mov ip, #0 + mov r4, r1 + mov lr, r2 + str ip, [sp, #0xc] + str ip, [sp, #0x10] + str ip, [sp, #0x14] + str r3, [sp] + add ip, sp, #8 + add r1, sp, #0xc + mov r2, r4 + mov r3, lr + str ip, [sp, #4] + bl func_ov00_0208ee90 + add sp, sp, #0x18 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208ee4c + + .global func_ov00_0208ee90 + arm_func_start func_ov00_0208ee90 +func_ov00_0208ee90: ; 0x0208ee90 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x18 + mov r5, r2 + mov r9, r0 + mov r8, r1 + add r2, sp, #0xc + mov r0, r5 + mov r1, r9 + mov r4, r3 + ldr r7, [sp, #0x38] + ldr r6, [sp, #0x3c] + bl func_01ff9bf8 + add r2, sp, #0 + mov r0, r4 + mov r1, r8 + bl func_01ff9bf8 + add r0, sp, #0xc + ldr r3, [r9, #0xc] + ldr r2, [r5, #0xc] + mov r1, r0 + add r4, r3, r2 + smull r3, r2, r4, r4 + adds r3, r3, #0x800 + adc r2, r2, #0 + mov r8, r3, lsr #0xc + orr r8, r8, r2, lsl #20 + bl func_01ff9c2c + cmp r0, r8 + bgt _0208ef1c + mov r0, #0 + str r0, [r7] + str r0, [r6] + add sp, sp, #0x18 + mov r0, #1 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} +_0208ef1c: + add r0, sp, #0 + mov r1, r0 + bl func_01ff9c2c + mov r4, r0 + cmp r4, #0 + addle sp, sp, #0x18 + movle r0, #0 + ldmleia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + add r0, sp, #0xc + add r1, sp, #0 + bl func_01ff9c2c + mov r5, r0, lsl #0x1 + add r0, sp, #0xc + mov r1, r0 + bl func_01ff9c2c + smull r1, r2, r5, r5 + adds r3, r1, #0x800 + sub r0, r0, r8 + smull r1, r0, r4, r0 + adc r2, r2, #0 + adds r1, r1, #0x800 + mov r3, r3, lsr #0xc + adc r0, r0, #0 + mov r1, r1, lsr #0xc + orr r3, r3, r2, lsl #20 + orr r1, r1, r0, lsl #20 + subs r0, r3, r1, lsl #2 + mov r1, #0 + addmi sp, sp, #0x18 + movmi r0, r1 + ldmmiia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + bl func_01ff9958 + mov r8, r0 + mov r0, r4, lsl #0x1 + bl func_01ff992c + sub ip, r8, r5 + add r2, r5, r8 + rsb r3, r2, #0 + umull r8, lr, r0, ip + mov r2, ip, asr #0x1f + mla lr, r0, r2, lr + mov r2, r3, asr #0x1f + umull r5, r4, r0, r3 + mla r4, r0, r2, r4 + mla lr, r1, ip, lr + adds r0, r8, #0x80000000 + adc r2, lr, #0 + mla r4, r1, r3, r4 + adds r0, r5, #0x80000000 + adc r0, r4, #0 + cmp r2, #0 + blt _0208eff4 + cmp r2, #0x1000 + ble _0208f010 +_0208eff4: + cmp r0, #0 + blt _0208f004 + cmp r0, #0x1000 + ble _0208f010 +_0208f004: + add sp, sp, #0x18 + mov r0, #0 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} +_0208f010: + cmp r2, r0 + strlt r2, [r7] + strlt r0, [r6] + strge r0, [r7] + strge r2, [r6] + mov r0, #1 + add sp, sp, #0x18 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + arm_func_end func_ov00_0208ee90 + + .global func_ov00_0208f030 + arm_func_start func_ov00_0208f030 +func_ov00_0208f030: ; 0x0208f030 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + sub sp, sp, #0x28 + mov r7, r0 + mov r5, r1 + ldr r4, [r7, #0xc] + mov r6, r2 + add r2, sp, #0x1c + mov r0, r5 + mov r1, r7 + add r4, r3, r4 + bl func_01ff9bf8 + add r2, sp, #0x10 + mov r0, r6 + mov r1, r5 + bl func_01ff9bf8 + add r0, sp, #0x10 + mov r1, r0 + bl func_01ff9c2c + movs r6, r0 + bne _0208f0b4 + ldr r3, [r7, #0xc] + ldr r0, [r5] + add r1, sp, #0 + str r0, [sp] + ldr r2, [r5, #4] + mov r0, r7 + str r2, [sp, #4] + ldr r2, [r5, #8] + str r2, [sp, #8] + str r3, [sp, #0xc] + bl func_01ffec34 + add sp, sp, #0x28 + ldmia sp!, {r3, r4, r5, r6, r7, pc} +_0208f0b4: + add r0, sp, #0x10 + add r1, sp, #0x1c + bl func_01ff9c2c + mov r5, r0 + add r0, sp, #0x1c + mov r1, r0 + bl func_01ff9c2c + smull r2, r1, r5, r5 + adds r7, r2, #0x800 + smull r2, r3, r4, r4 + adc r1, r1, #0 + adds r4, r2, #0x800 + adc r3, r3, #0 + mov r4, r4, lsr #0xc + orr r4, r4, r3, lsl #20 + sub r0, r0, r4 + smull r3, r0, r6, r0 + adds r3, r3, #0x800 + mov r2, r7, lsr #0xc + orr r2, r2, r1, lsl #20 + adc r0, r0, #0 + mov r3, r3, lsr #0xc + orr r3, r3, r0, lsl #20 + subs r0, r2, r3 + mov r1, #0 + addmi sp, sp, #0x28 + movmi r0, r1 + ldmmiia sp!, {r3, r4, r5, r6, r7, pc} + bl func_01ff9958 + mov r4, r0 + mov r0, r6 + bl func_01ff991c + add r1, r5, r4 + rsb r1, r1, #0 + smull r2, r3, r1, r0 + adds r6, r2, #0x800 + sub r1, r4, r5 + smull r2, r0, r1, r0 + adc r3, r3, #0 + adds r1, r2, #0x800 + mov r2, r6, lsr #0xc + orr r2, r2, r3, lsl #20 + adc r0, r0, #0 + mov r1, r1, lsr #0xc + cmp r2, #0 + orr r1, r1, r0, lsl #20 + blt _0208f178 + cmp r2, #0x1000 + ble _0208f194 +_0208f178: + cmp r1, #0 + blt _0208f188 + cmp r1, #0x1000 + ble _0208f194 +_0208f188: + add sp, sp, #0x28 + mov r0, #0 + ldmia sp!, {r3, r4, r5, r6, r7, pc} +_0208f194: + mov r0, #1 + add sp, sp, #0x28 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end func_ov00_0208f030 + + .global func_ov00_0208f1a0 + arm_func_start func_ov00_0208f1a0 +func_ov00_0208f1a0: ; 0x0208f1a0 + stmdb sp!, {r4, r5, r6, r7, r8, lr} + sub sp, sp, #0x28 + mov r7, r0 + mov r6, r1 + ldr r4, [r7, #0xc] + mov r8, r2 + add r2, sp, #0x1c + mov r0, r6 + mov r1, r7 + add r5, r3, r4 + bl func_01ff9bf8 + add r2, sp, #0x10 + mov r0, r8 + mov r1, r6 + bl func_01ff9bf8 + add r0, sp, #0x10 + mov r1, r0 + bl func_01ff9c2c + movs r4, r0 + bne _0208f224 + ldr r3, [r7, #0xc] + ldr r0, [r6] + add r1, sp, #0 + str r0, [sp] + ldr r2, [r6, #4] + mov r0, r7 + str r2, [sp, #4] + ldr r2, [r6, #8] + str r2, [sp, #8] + str r3, [sp, #0xc] + bl func_01ffec34 + add sp, sp, #0x28 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0208f224: + add r0, sp, #0x10 + add r1, sp, #0x1c + bl func_01ff9c2c + mov r6, r0 + add r0, sp, #0x1c + mov r1, r0 + bl func_01ff9c2c + smull r1, r3, r6, r6 + adds r6, r1, #0x800 + smull r2, r1, r5, r5 + adc r3, r3, #0 + adds r2, r2, #0x800 + adc r1, r1, #0 + mov r2, r2, lsr #0xc + orr r2, r2, r1, lsl #20 + sub r0, r0, r2 + smull r1, r0, r4, r0 + adds r1, r1, #0x800 + mov r5, r6, lsr #0xc + adc r0, r0, #0 + mov r1, r1, lsr #0xc + orr r5, r5, r3, lsl #20 + orr r1, r1, r0, lsl #20 + subs r0, r5, r1 + mov r0, #0 + movpl r0, #1 + add sp, sp, #0x28 + ldmia sp!, {r4, r5, r6, r7, r8, pc} + arm_func_end func_ov00_0208f1a0 + + .global func_ov00_0208f294 + arm_func_start func_ov00_0208f294 +func_ov00_0208f294: ; 0x0208f294 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0xc + mov r4, r0 + ldr ip, [r4, #4] + ldr r3, [r1, #4] + ldr r2, [r4, #0x10] + sub r3, r3, ip + cmp r3, r2 + bgt _0208f30c + cmp r3, #0 + blt _0208f30c + ldr r3, [r1, #8] + ldr r2, [r1] + add r1, sp, #0 + str r2, [sp] + str ip, [sp, #4] + str r3, [sp, #8] + bl func_01fffb80 + ldr r3, [r4, #0xc] + mov ip, #0 + smull r2, r1, r3, r3 + adds r2, r2, #0x800 + adc r1, r1, #0 + mov r2, r2, lsr #0xc + orr r2, r2, r1, lsl #20 + cmp r0, r2 + movle ip, #1 + add sp, sp, #0xc + mov r0, ip + ldmia sp!, {r3, r4, pc} +_0208f30c: + mov r0, #0 + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_0208f294 + + .global func_ov00_0208f318 + arm_func_start func_ov00_0208f318 +func_ov00_0208f318: ; 0x0208f318 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0xc + mov r4, r0 + ldr ip, [r1, #8] + ldr r2, [r1] + ldr r3, [r4, #4] + add r1, sp, #0 + str r2, [sp] + str r3, [sp, #4] + str ip, [sp, #8] + bl func_01fffb80 + ldr r3, [r4, #0xc] + mov ip, #0 + smull r2, r1, r3, r3 + adds r2, r2, #0x800 + adc r1, r1, #0 + mov r2, r2, lsr #0xc + orr r2, r2, r1, lsl #20 + cmp r0, r2 + movle ip, #1 + mov r0, ip + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_0208f318 + + .global func_ov00_0208f374 + arm_func_start func_ov00_0208f374 +func_ov00_0208f374: ; 0x0208f374 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #0x18 + mov r5, r0 + mov r4, r1 + ldr r2, [r5, #4] + ldr r1, [r4, #4] + ldr ip, [r5, #0x10] + sub r3, r1, r2 + cmp r3, ip + bgt _0208f3f8 + cmp r3, #0 + blt _0208f3f8 + ldr ip, [r4, #8] + ldr r3, [r4] + add r1, sp, #0xc + str r3, [sp, #0xc] + str r2, [sp, #0x10] + str ip, [sp, #0x14] + bl func_01fffb80 + ldr r1, [r4, #0xc] + ldr r2, [r5, #0xc] + mov r4, #0 + add r3, r2, r1 + smull r2, r1, r3, r3 + adds r2, r2, #0x800 + adc r1, r1, #0 + mov r2, r2, lsr #0xc + orr r2, r2, r1, lsl #20 + cmp r0, r2 + movle r4, #1 + add sp, sp, #0x18 + mov r0, r4 + ldmia sp!, {r3, r4, r5, pc} +_0208f3f8: + ldr r1, [r4, #0xc] + add r0, ip, r1 + cmp r3, r0 + bgt _0208f414 + rsb r0, r1, #0 + cmp r3, r0 + bge _0208f420 +_0208f414: + add sp, sp, #0x18 + mov r0, #0 + ldmia sp!, {r3, r4, r5, pc} +_0208f420: + ldr ip, [r4, #8] + ldr r3, [r4] + add r1, sp, #0 + mov r0, r5 + str r3, [sp] + str r2, [sp, #4] + str ip, [sp, #8] + bl func_01fffb80 + ldr r1, [r4, #0xc] + ldr r2, [r5, #0xc] + mov r4, #0 + add r3, r2, r1 + smull r2, r1, r3, r3 + adds r2, r2, #0x800 + adc r1, r1, #0 + mov r2, r2, lsr #0xc + orr r2, r2, r1, lsl #20 + cmp r0, r2 + movle r4, #1 + mov r0, r4 + add sp, sp, #0x18 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_0208f374 + + .global func_ov00_0208f478 + arm_func_start func_ov00_0208f478 +func_ov00_0208f478: ; 0x0208f478 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} + sub sp, sp, #0x24 + mov r9, r0 + mov r8, r1 + mov r7, r2 + ldr r6, [r9, #0xc] + ldr r5, [r8, #0xc] + add r4, sp, #0x18 + ldmia r7, {r0, r1, r2} + stmia r4, {r0, r1, r2} + add r4, r6, r5 + add r2, sp, #0xc + mov r0, r8 + mov r1, r9 + mov r6, r3 + bl func_01ff9bf8 + ldr r0, [sp, #0xc] + ldr r5, [sp, #0x14] + smull r3, r2, r0, r0 + smull ip, r10, r4, r4 + smull r1, r0, r5, r5 + adds r5, ip, #0x800 + adc r4, r10, #0 + adds r3, r3, #0x800 + adc r2, r2, #0 + adds r1, r1, #0x800 + mov r3, r3, lsr #0xc + mov r10, r5, lsr #0xc + adc r0, r0, #0 + mov r1, r1, lsr #0xc + orr r3, r3, r2, lsl #20 + orr r1, r1, r0, lsl #20 + orr r10, r10, r4, lsl #20 + add r0, r3, r1 + cmp r0, r10 + mov r0, #0 + bgt _0208f544 + ldr r3, [r9, #4] + ldr r2, [r8, #4] + cmp r2, r3 + blt _0208f538 + ldr r1, [r9, #0x10] + add r1, r3, r1 + cmp r2, r1 + strle r0, [r6] + addle sp, sp, #0x24 + movle r0, #1 + ldmleia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} +_0208f538: + add sp, sp, #0x24 + mov r0, #0 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} +_0208f544: + add r0, sp, #0x18 + mov r1, r0 + bl func_01ff9c2c + mov r4, r0 + add r0, sp, #0xc + add r1, sp, #0x18 + bl func_01ff9c2c + mov r5, r0, lsl #0x1 + add r0, sp, #0xc + mov r1, r0 + bl func_01ff9c2c + sub r1, r0, r10 + smull r2, r0, r5, r5 + adds r3, r2, #0x800 + adc r2, r0, #0 + mov r0, r3, lsr #0xc + orr r0, r0, r2, lsl #20 + smull r2, r1, r4, r1 + adds r2, r2, #0x800 + adc r1, r1, #0 + mov r2, r2, lsr #0xc + orr r2, r2, r1, lsl #20 + subs r0, r0, r2, lsl #2 + mov r1, #0 + addmi sp, sp, #0x24 + movmi r0, r1 + ldmmiia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} + bl func_01ff9958 + mov r10, r0 + mov r0, r4, lsl #0x1 + bl func_01ff992c + sub r3, r10, r5 + add r2, r5, r10 + rsb r4, r2, #0 + umull r5, ip, r0, r4 + mov r2, r4, asr #0x1f + mla ip, r0, r2, ip + mov r2, r3, asr #0x1f + adds r5, r5, #0x80000000 + umull r10, r5, r0, r3 + mla r5, r0, r2, r5 + mla ip, r1, r4, ip + mla r5, r1, r3, r5 + adc r4, ip, #0 + adds r0, r10, #0x80000000 + adc r0, r5, #0 + cmp r4, #0 + blt _0208f60c + cmp r4, #0x1000 + ble _0208f628 +_0208f60c: + cmp r0, #0 + blt _0208f61c + cmp r0, #0x1000 + ble _0208f628 +_0208f61c: + add sp, sp, #0x24 + mov r0, #0 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} +_0208f628: + add r3, sp, #0 + ldmia r8, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r3 + mov r1, r7 + mov r2, r3 + bl func_01ff9bc4 + ldr r0, [r7, #4] + ldr r3, [r8, #4] + smull r1, r0, r4, r0 + adds r1, r1, #0x800 + mov r2, r1, lsr #0xc + adc r0, r0, #0 + orr r2, r2, r0, lsl #20 + ldr r1, [r9, #4] + add r2, r3, r2 + cmp r2, r1 + blt _0208f680 + ldr r0, [r9, #0x10] + add r0, r1, r0 + cmp r2, r0 + ble _0208f68c +_0208f680: + add sp, sp, #0x24 + mov r0, #0 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} +_0208f68c: + str r4, [r6] + mov r0, #1 + add sp, sp, #0x24 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} + arm_func_end func_ov00_0208f478 + + .global func_ov00_0208f69c + arm_func_start func_ov00_0208f69c +func_ov00_0208f69c: ; 0x0208f69c + stmdb sp!, {r4, lr} + ldr r1, _0208f6d0 ; =data_027e0f84 + mov r4, r0 + ldr r1, [r1] + mov r0, #0x48 + ldr r1, [r1] + mov r2, #4 + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + ldmeqia sp!, {r4, pc} + mov r1, r4 + bl func_ov00_0208f6d4 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_0208f69c +_0208f6d0: .word data_027e0f84 + + .global func_ov00_0208f6d4 + arm_func_start func_ov00_0208f6d4 +func_ov00_0208f6d4: ; 0x0208f6d4 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_0208b5bc + mov r1, #0 + ldr r0, _0208f708 ; =data_ov00_020e289c + mov r2, r1 + str r0, [r4] + mov r3, r1 + add r0, r4, #0x3c + str r1, [r4, #0x38] + blx func_ov00_020bd618 + mov r0, r4 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_0208f6d4 +_0208f708: .word data_ov00_020e289c + + .global func_ov00_0208f70c + arm_func_start func_ov00_0208f70c +func_ov00_0208f70c: ; 0x0208f70c + stmdb sp!, {r4, lr} + mov r4, r0 + blx func_ov00_020b3ea8 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208f70c + + .global func_ov00_0208f720 + arm_func_start func_ov00_0208f720 +func_ov00_0208f720: ; 0x0208f720 + stmdb sp!, {r4, lr} + mov r4, r0 + add r0, r4, #0x3c + blx func_ov00_020b3ea8 + mov r0, r4 + bl func_ov00_0208b5a4 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208f720 + + .global func_ov00_0208f740 + arm_func_start func_ov00_0208f740 +func_ov00_0208f740: ; 0x0208f740 + stmdb sp!, {r4, lr} + mov r4, r0 + add r0, r4, #0x3c + blx func_ov00_020b3ea8 + mov r0, r4 + bl func_ov00_0208b5a4 + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208f740 + + .global func_ov00_0208f768 + arm_func_start func_ov00_0208f768 +func_ov00_0208f768: ; 0x0208f768 + stmdb sp!, {r3, lr} + ldr r2, [r0, #4] + mov r1, #0 + bic r2, r2, #2 + orr r2, r2, #0x10 + str r2, [r0, #4] + ldr r3, [r0] + mov r2, r1 + ldr r3, [r3, #0x80] + blx r3 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0208f768 + + .global func_ov00_0208f794 + arm_func_start func_ov00_0208f794 +func_ov00_0208f794: ; 0x0208f794 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x28 + mov r10, r0 + add r1, sp, #4 + mov r0, #0 + mov r2, #4 + bl func_020078f4 + add r1, sp, #4 + mov r0, #0 + mov r2, #4 + bl func_020078f4 + ldr r6, _0208f9dc ; =data_ov00_020db010 + ldr r11, _0208f9e0 ; =data_ov00_020db030 + ldr r4, _0208f9e4 ; =data_027e0e60 + mov r9, #0 + add r5, sp, #4 +_0208f7d4: + ldrb r2, [r10, #0x14] + ldr r3, [r6, r9, lsl #2] + ldrb r0, [r10, #0x15] + ldr r1, [r11, r9, lsl #2] + adds r7, r3, r2 + add r8, r1, r0 + bmi _0208f868 + cmp r8, #0 + blt _0208f868 + ldr r0, [r4] + bl _ZN10MapManager17Get_MapData_Unk28Ev + cmp r7, r0 + bge _0208f868 + ldr r0, [r4] + bl _ZN10MapManager17Get_MapData_Unk2aEv + cmp r8, r0 + bge _0208f868 + ldr r0, [r4] + add r1, sp, #0 + strb r7, [sp] + strb r8, [sp, #1] + bl _ZN10MapManager16MapData_vfunc_78Ev + add r1, sp, #8 + str r0, [r1, r9, lsl #2] + cmp r0, #0 + beq _0208f868 + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #4 + bne _0208f868 + mov r3, r9, lsr #0x5 + ldr r2, [r5, r3, lsl #2] + and r1, r9, #0x1f + mov r0, #1 + orr r0, r2, r0, lsl r1 + str r0, [r5, r3, lsl #2] +_0208f868: + add r0, r9, #1 + mov r0, r0, lsl #0x10 + mov r9, r0, lsr #0x10 + cmp r9, #8 + blo _0208f7d4 + ldr r0, [sp, #4] + mov r1, r0 + ands r0, r0, #4 + beq _0208f89c + tst r1, #8 + movne r0, #0 + strne r0, [r10, #0x38] + bne _0208f9ac +_0208f89c: + ands r3, r1, #1 + beq _0208f8c0 + tst r1, #2 + beq _0208f8c0 + mov r0, #0 + str r0, [r10, #0x38] + sub r0, r0, #0x4000 + strh r0, [r10, #0xc] + b _0208f9ac +_0208f8c0: + cmp r0, #0 + beq _0208f8d8 + tst r1, #2 + movne r0, #1 + strne r0, [r10, #0x38] + bne _0208f9ac +_0208f8d8: + ands r2, r1, #8 + beq _0208f8fc + tst r1, #2 + beq _0208f8fc + mov r0, #1 + str r0, [r10, #0x38] + mov r0, #0x4000 + strh r0, [r10, #0xc] + b _0208f9ac +_0208f8fc: + cmp r2, #0 + cmpne r3, #0 + beq _0208f920 + mov r1, #1 + mov r0, #0x8000 + str r1, [r10, #0x38] + rsb r0, r0, #0 + strh r0, [r10, #0xc] + b _0208f9ac +_0208f920: + cmp r0, #0 + cmpne r3, #0 + beq _0208f944 + mov r1, #1 + mov r0, #0x4000 + str r1, [r10, #0x38] + rsb r0, r0, #0 + strh r0, [r10, #0xc] + b _0208f9ac +_0208f944: + cmp r0, #0 + cmpeq r2, #0 + beq _0208f97c + mov r0, #2 + str r0, [r10, #0x38] + ldr r0, [sp, #4] + tst r0, #4 + movne r0, #0 + strneh r0, [r10, #0xc] + bne _0208f9ac + mov r0, #0x8000 + rsb r0, r0, #0 + strh r0, [r10, #0xc] + b _0208f9ac +_0208f97c: + cmp r3, #0 + bne _0208f98c + tst r1, #2 + beq _0208f9ac +_0208f98c: + mov r0, #2 + str r0, [r10, #0x38] + ldr r0, [sp, #4] + tst r0, #1 + mov r0, #0x4000 + rsbne r0, r0, #0 + strneh r0, [r10, #0xc] + streqh r0, [r10, #0xc] +_0208f9ac: + ldr r0, _0208f9e8 ; =data_027e0f68 + ldr r2, [r10, #0x38] + ldr r0, [r0] + mov r1, #0xe + bl func_ov00_0208ccdc + mov r1, r0 + add r0, r10, #0x3c + ldr r2, [r0] + ldr r2, [r2, #0xc] + blx r2 + add sp, sp, #0x28 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_0208f794 +_0208f9dc: .word data_ov00_020db010 +_0208f9e0: .word data_ov00_020db030 +_0208f9e4: .word data_027e0e60 +_0208f9e8: .word data_027e0f68 + + .global func_ov00_0208f9ec + arm_func_start func_ov00_0208f9ec +func_ov00_0208f9ec: ; 0x0208f9ec + bx lr + arm_func_end func_ov00_0208f9ec + + .global func_ov00_0208f9f0 + arm_func_start func_ov00_0208f9f0 +func_ov00_0208f9f0: ; 0x0208f9f0 + str r1, [r0, #8] + cmp r1, #1 + ldreq r1, [r0, #4] + biceq r1, r1, #1 + streq r1, [r0, #4] + mov r0, #1 + bx lr + arm_func_end func_ov00_0208f9f0 + + .global func_ov00_0208fa0c + arm_func_start func_ov00_0208fa0c +func_ov00_0208fa0c: ; 0x0208fa0c + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0x24 + mov r4, r0 + ldrh r1, [r4, #0xc] + ldr r3, _0208fa64 ; =data_02050f54 + add r0, sp, #0 + mov r1, r1, asr #0x4 + mov r2, r1, lsl #0x1 + add r1, r2, #1 + mov ip, r2, lsl #0x1 + mov r2, r1, lsl #0x1 + ldrsh r1, [r3, ip] + ldrsh r2, [r3, r2] + blx func_01ff8214 + add r0, r4, #0x3c + ldr r3, [r0] + add r1, sp, #0 + ldr r3, [r3, #0x14] + add r2, r4, #0x18 + blx r3 + add sp, sp, #0x24 + ldmia sp!, {r3, r4, pc} + .align 2, 0 + arm_func_end func_ov00_0208fa0c +_0208fa64: .word data_02050f54 + + .global func_ov00_0208fa68 + arm_func_start func_ov00_0208fa68 +func_ov00_0208fa68: ; 0x0208fa68 + mov r0, #4 + bx lr + arm_func_end func_ov00_0208fa68 + + .global func_ov00_0208fa70 + arm_func_start func_ov00_0208fa70 +func_ov00_0208fa70: ; 0x0208fa70 + stmdb sp!, {r4, lr} + ldr r1, _0208fae0 ; =data_027e0fe0 + mov r0, #0x198 + ldr r1, [r1] + mov r2, #4 + ldr r1, [r1] + bl _ZN9SysObjectnwEmPjj + movs r4, r0 + beq _0208fad8 + bl _ZN5ActorC2Ev + ldr r1, _0208fae4 ; =data_ov00_020e2930 + mov r0, #0 + str r1, [r4] + str r0, [r4, #0x158] + str r0, [r4, #0x15c] + str r0, [r4, #0x160] + str r0, [r4, #0x164] + str r0, [r4, #0x168] + add r2, r4, #0x170 + add r0, r4, #0x198 + mvn r1, #0 +_0208fac4: + str r1, [r2] + str r1, [r2, #4] + add r2, r2, #8 + cmp r2, r0 + blo _0208fac4 +_0208fad8: + mov r0, r4 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_0208fa70 +_0208fae0: .word data_027e0fe0 +_0208fae4: .word data_ov00_020e2930 + + .global func_ov00_0208fae8 + arm_func_start func_ov00_0208fae8 +func_ov00_0208fae8: ; 0x0208fae8 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN5Actor8vfunc_08Ev + mov r0, r4 + bl func_ov00_0208fc7c + mov r0, #0 + str r0, [r4, #0x130] + mov r0, #1 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208fae8 + + .global func_ov00_0208fb0c + arm_func_start func_ov00_0208fb0c +func_ov00_0208fb0c: ; 0x0208fb0c + stmdb sp!, {r4, lr} + mov r1, #0 + mov r4, r0 + bl _ZN5Actor18func_Ov00_020c1bfcEi + cmp r0, #0 + mov r0, r4 + beq _0208fb34 + mov r1, #1 + bl func_ov00_0208fc10 + ldmia sp!, {r4, pc} +_0208fb34: + mov r1, #0 + bl func_ov00_0208fc10 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208fb0c + + .global func_ov00_0208fb40 + arm_func_start func_ov00_0208fb40 +func_ov00_0208fb40: ; 0x0208fb40 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN5Actor18func_ov00_020c313cEj + cmp r0, #0 + ldmeqia sp!, {r4, pc} + ldr r0, [r4, #0x130] + cmp r0, #0 + beq _0208fb74 + cmp r0, #1 + beq _0208fbb0 + cmp r0, #2 + beq _0208fbd0 + ldmia sp!, {r4, pc} +_0208fb74: + mov r0, r4 + bl func_ov00_0208fcb4 + cmp r0, #1 + beq _0208fb90 + cmp r0, #2 + beq _0208fba0 + ldmia sp!, {r4, pc} +_0208fb90: + mov r0, r4 + mov r1, #1 + bl func_ov00_0208fc10 + ldmia sp!, {r4, pc} +_0208fba0: + mov r0, r4 + mov r1, #2 + bl func_ov00_0208fc10 + ldmia sp!, {r4, pc} +_0208fbb0: + mov r0, r4 + bl func_ov00_0208fcb4 + cmp r0, #1 + ldmeqia sp!, {r4, pc} + mov r0, r4 + mov r1, #0 + bl func_ov00_0208fc10 + ldmia sp!, {r4, pc} +_0208fbd0: + ldr r0, [r4, #0x138] + add r0, r0, #1 + str r0, [r4, #0x138] + cmp r0, #0x1e + ldmltia sp!, {r4, pc} + mov r0, r4 + bl func_ov00_0209032c + mov r0, r4 + mov r1, #0 + bl func_ov00_0208fc10 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208fb40 + + .global func_ov00_0208fbfc + arm_func_start func_ov00_0208fbfc +func_ov00_0208fbfc: ; 0x0208fbfc + stmdb sp!, {r3, lr} + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0208fbfc + + .global func_ov00_0208fc10 + arm_func_start func_ov00_0208fc10 +func_ov00_0208fc10: ; 0x0208fc10 + stmdb sp!, {r4, lr} + mov r4, r0 + str r1, [r4, #0x130] + cmp r1, #0 + beq _0208fc38 + cmp r1, #1 + beq _0208fc48 + cmp r1, #2 + beq _0208fc68 + b _0208fc74 +_0208fc38: + mov r1, #0 + mov r2, r1 + bl _ZN5Actor18func_ov00_020c1c20Eiii + b _0208fc74 +_0208fc48: + mov r1, #0 + mov r2, #1 + bl _ZN5Actor18func_ov00_020c1c20Eiii + ldr r0, [r4, #0x158] + cmp r0, #0 + moveq r0, #0 + streqb r0, [r4, #0x118] + b _0208fc74 +_0208fc68: + bl func_ov00_0208fef8 + mov r0, #0 + str r0, [r4, #0x138] +_0208fc74: + mov r0, #1 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208fc10 + + .global func_ov00_0208fc7c + arm_func_start func_ov00_0208fc7c +func_ov00_0208fc7c: ; 0x0208fc7c + ldrh r1, [r0, #0x22] + str r1, [r0, #0x158] + ldrh r1, [r0, #0x24] + str r1, [r0, #0x15c] + ldrb r2, [r0, #0x2b] + str r2, [r0, #0x164] + ldrh r1, [r0, #0x20] + add r1, r2, r1 + str r1, [r0, #0x168] + ldrb r1, [r0, #0x29] + str r1, [r0, #0x16c] + ldr r1, [r0, #0x164] + str r1, [r0, #0x160] + bx lr + arm_func_end func_ov00_0208fc7c + + .global func_ov00_0208fcb4 + arm_func_start func_ov00_0208fcb4 +func_ov00_0208fcb4: ; 0x0208fcb4 + stmdb sp!, {r4, r5, r6, r7, r8, lr} + mov r5, r0 + ldr r0, [r5, #0x15c] + cmp r0, #1 + beq _0208fcd4 + cmp r0, #2 + beq _0208fdc0 + b _0208fea8 +_0208fcd4: + ldr r6, [r5, #0x164] + ldr r1, [r5, #0x160] + cmp r1, r6 + ble _0208fd30 + ldr r0, [r5, #0x168] + cmp r1, r0 + cmplt r6, r1 + bge _0208fd30 + ldr r4, _0208fef4 ; =data_027e0e60 +_0208fcf8: + ldr r0, [r4] + ldr r2, [r5, #0x16c] + mov r1, r6 + bl _ZN10MapManager18func_ov00_02084be0Eii + cmp r0, #0 + bne _0208fd20 + ldr r1, [r5, #0x164] + mov r0, #0 + str r1, [r5, #0x160] + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0208fd20: + ldr r1, [r5, #0x160] + add r6, r6, #1 + cmp r6, r1 + blt _0208fcf8 +_0208fd30: + ldr r0, _0208fef4 ; =data_027e0e60 + ldr r2, [r5, #0x16c] + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_02084be0Eii + cmp r0, #0 + beq _0208fda8 + ldr r0, [r5, #0x160] + ldr r1, [r5, #0x168] + add r6, r0, #1 + cmp r6, r1 + bge _0208fd98 + ldr r4, _0208fef4 ; =data_027e0e60 +_0208fd60: + ldr r0, [r4] + ldr r2, [r5, #0x16c] + mov r1, r6 + bl _ZN10MapManager18func_ov00_02084be0Eii + cmp r0, #0 + beq _0208fd88 + ldr r1, [r5, #0x164] + mov r0, #0 + str r1, [r5, #0x160] + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0208fd88: + ldr r1, [r5, #0x168] + add r6, r6, #1 + cmp r6, r1 + blt _0208fd60 +_0208fd98: + ldr r0, [r5, #0x160] + cmp r0, r1 + addlt r0, r0, #1 + strlt r0, [r5, #0x160] +_0208fda8: + ldr r1, [r5, #0x160] + ldr r0, [r5, #0x168] + cmp r1, r0 + moveq r0, #1 + movne r0, #0 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0208fdc0: + ldr r0, _0208fef4 ; =data_027e0e60 + ldr r1, [r5, #0x160] + ldr r0, [r0] + ldr r2, [r5, #0x16c] + bl _ZN10MapManager18func_ov00_02084be0Eii + cmp r0, #0 + beq _0208fe3c + ldr r1, [r5, #0x160] + ldr r0, [r5, #0x168] + add r4, r1, #1 + cmp r4, r0 + mov r8, #0 + bge _0208fe2c + ldr r6, _0208fef4 ; =data_027e0e60 + mov r7, #1 +_0208fdfc: + ldr r0, [r6] + ldr r2, [r5, #0x16c] + mov r1, r4 + bl _ZN10MapManager18func_ov00_02084be0Eii + cmp r0, #0 + ldrne r0, [r5, #0x164] + add r4, r4, #1 + strne r0, [r5, #0x160] + ldr r0, [r5, #0x168] + movne r8, r7 + cmp r4, r0 + blt _0208fdfc +_0208fe2c: + cmp r8, #0 + ldreq r0, [r5, #0x160] + addeq r0, r0, #1 + streq r0, [r5, #0x160] +_0208fe3c: + ldr r7, [r5, #0x164] + ldr r0, [r5, #0x168] + mov r6, #1 + cmp r7, r0 + bge _0208fe80 + ldr r4, _0208fef4 ; =data_027e0e60 +_0208fe54: + ldr r0, [r4] + ldr r2, [r5, #0x16c] + mov r1, r7 + bl _ZN10MapManager18func_ov00_02084be0Eii + cmp r0, #0 + moveq r6, #0 + beq _0208fe80 + ldr r0, [r5, #0x168] + add r7, r7, #1 + cmp r7, r0 + blt _0208fe54 +_0208fe80: + cmp r6, #0 + beq _0208fea0 + ldr r1, [r5, #0x160] + ldr r0, [r5, #0x168] + cmp r1, r0 + moveq r0, #1 + movne r0, #2 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0208fea0: + mov r0, #0 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0208fea8: + ldrh r0, [r5, #0x20] + mov r6, #0 + cmp r0, #0 + ble _0208feec + ldr r4, _0208fef4 ; =data_027e0e60 +_0208febc: + ldr r1, [r5, #0x164] + ldr r0, [r4] + ldr r2, [r5, #0x16c] + add r1, r1, r6 + bl _ZN10MapManager18func_ov00_02084be0Eii + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, r8, pc} + ldrh r0, [r5, #0x20] + add r6, r6, #1 + cmp r6, r0 + blt _0208febc +_0208feec: + mov r0, #1 + ldmia sp!, {r4, r5, r6, r7, r8, pc} + .align 2, 0 + arm_func_end func_ov00_0208fcb4 +_0208fef4: .word data_027e0e60 + + .global func_ov00_0208fef8 + arm_func_start func_ov00_0208fef8 +func_ov00_0208fef8: ; 0x0208fef8 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x80 + str r0, [sp, #4] + ldr r0, [r0, #0x130] + cmp r0, #1 + addeq sp, sp, #0x80 + ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldr r0, [sp, #4] + ldrh r0, [r0, #0x26] + cmp r0, #1 + beq _0208ff34 + cmp r0, #2 + beq _0208ff48 + add sp, sp, #0x80 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0208ff34: + ldr r0, _0209030c ; =data_ov00_020eec9c + mov r1, #0xb + bl func_ov00_020d77e4 + add sp, sp, #0x80 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0208ff48: + ldr r0, _0209030c ; =data_ov00_020eec9c + mov r1, #0xb + bl func_ov00_020d77e4 + ldr r1, _02090310 ; =data_027e0f94 + add r0, sp, #0x30 + ldr r3, [r1, #4] + ldr r4, [r1] + str r3, [sp, #0x78] + str r4, [sp, #0x74] + ldr r2, [r1, #8] + add r1, r3, #0x3000 + str r2, [sp, #0x7c] + str r4, [sp, #0x68] + str r1, [sp, #0x6c] + str r2, [sp, #0x70] + bl func_ov00_020c1500 + mvn r1, #0 + add r0, sp, #0x30 + str r1, [sp, #0x4c] + str r1, [sp, #0x50] + bl func_ov00_020c3348 + ldr r0, [sp, #4] + mov r5, #0 + add r0, r0, #0x170 + mov r6, r5 + str r0, [sp, #8] + mvn r4, #0 +_0208ffb4: + ldr r0, [sp, #4] + add r0, r0, r6, lsl #3 + ldr r0, [r0, #0x170] + cmp r0, r4 + beq _02090004 + ldr r0, _02090314 ; =data_027e0fe4 + ldr r1, [sp, #8] + ldr r0, [r0] + add r1, r1, r6, lsl #3 + bl _ZN12ActorManager8GetActorEP8ActorRef + cmp r0, #0 + beq _0208fff4 + ldr r1, [r0, #4] + ldr r0, _02090318 ; =0x534e414b + cmp r1, r0 + beq _020902f8 +_0208fff4: + ldr r0, [sp, #4] + add r0, r0, r6, lsl #3 + str r4, [r0, #0x170] + str r4, [r0, #0x174] +_02090004: + ldr r0, _0209031c ; =data_027e0764 + add r1, sp, #0x68 + ldr r8, [r0, #0x10] + ldr r7, [r0, #0x14] + ldr r0, [r0, #8] + str r0, [sp, #0x10] + ldr r0, _0209031c ; =data_027e0764 + ldr r10, [sp, #0x10] + ldr lr, [r0, #0xc] + ldr r0, [r0] + str r0, [sp, #0x14] + mov r0, #0 + str r0, [sp, #0x60] + ldr r0, _0209031c ; =data_027e0764 + ldr r3, [sp, #0x14] + ldr ip, [r0, #4] + umull r9, r3, r10, r3 + mla r3, r10, ip, r3 + ldr r10, [sp, #0x14] + adds r9, r8, r9 + mla r3, lr, r10, r3 + adc r3, r7, r3 + str r3, [sp, #0xc] + ldr r3, _0209031c ; =data_027e0764 + ldr r10, [sp, #0xc] + str r9, [r3] + str r10, [r3, #4] + mov r3, r10 + mov r10, #0xb + umull r10, ip, r3, r10 + mov r10, r3 + mov r3, #0 + mla ip, r10, r3, ip + mov r10, r3 + mov r3, #0xb + mla ip, r10, r3, ip + sub r3, ip, #5 + mov r3, r3, lsl #0xc + str r3, [sp, #0x64] + ldr r3, [sp, #0x10] + add r0, sp, #0x5c + umull r11, r10, r3, r9 + mov ip, r3 + ldr r3, [sp, #0xc] + adds r8, r8, r11 + mla r10, ip, r3, r10 + mla r10, lr, r9, r10 + adc r3, r7, r10 + ldr r7, _0209031c ; =data_027e0764 + mov r2, r0 + str r8, [r7] + str r3, [r7, #4] + mov r7, #0xb + umull r7, r8, r3, r7 + mov r7, #0 + mla r8, r3, r7, r8 + mov r3, #0xb + mla r8, r7, r3, r8 + sub r3, r8, #5 + mov r3, r3, lsl #0xc + str r3, [sp, #0x5c] + bl func_01ff9bc4 + cmp r5, #0xa + bge _020902d4 + ldr r1, _02090320 ; =data_027e0e60 + add r0, sp, #0x18 + ldr r1, [r1] + add r2, sp, #0x5c + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + add r0, sp, #0x74 + add r1, sp, #0x5c + bl func_01ff9ec0 + cmp r0, #0x2000 + blt _02090144 + ldr r0, _02090320 ; =data_027e0e60 + add r1, sp, #0x18 + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_02083e70Ev + cmp r0, #0 + beq _02090150 +_02090144: + sub r6, r6, #1 + add r5, r5, #1 + b _020902f8 +_02090150: + ldr r0, _02090320 ; =data_027e0e60 + add r1, sp, #0x18 + ldr r0, [r0] + bl _ZN10MapManager16MapData_vfunc_78Ev + cmp r0, #0 + bne _020902f8 + ldr r0, _02090320 ; =data_027e0e60 + add r1, sp, #0x18 + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_02084164Ev + cmp r0, #0 + subeq r6, r6, #1 + addeq r5, r5, #1 + beq _020902f8 + ldr r0, _02090320 ; =data_027e0e60 + add r1, sp, #0x18 + ldr r0, [r0] + bl _ZN10MapManager16MapData_vfunc_54Ev + cmp r0, #0x37 + bgt _02090210 + bge _02090250 + cmp r0, #0x14 + bgt _020901cc + bge _02090250 + cmp r0, #6 + bgt _0209025c + cmp r0, #5 + blt _0209025c + cmpne r0, #6 + beq _02090250 + b _0209025c +_020901cc: + cmp r0, #0x1f + bgt _02090204 + subs r1, r0, #0x17 + addpl pc, pc, r1, lsl #2 + b _0209025c +_020901e0: ; jump table + b _02090250 ; case 0 + b _0209025c ; case 1 + b _0209025c ; case 2 + b _0209025c ; case 3 + b _02090250 ; case 4 + b _02090250 ; case 5 + b _02090250 ; case 6 + b _02090250 ; case 7 + b _02090250 ; case 8 +_02090204: + cmp r0, #0x2b + beq _02090250 + b _0209025c +_02090210: + cmp r0, #0x48 + bgt _02090238 + bge _02090250 + cmp r0, #0x46 + bgt _0209022c + beq _02090250 + b _0209025c +_0209022c: + cmp r0, #0x47 + beq _02090250 + b _0209025c +_02090238: + cmp r0, #0x4e + bgt _02090248 + beq _02090250 + b _0209025c +_02090248: + cmp r0, #0x4f + bne _0209025c +_02090250: + sub r6, r6, #1 + add r5, r5, #1 + b _020902f8 +_0209025c: + ldr r1, _02090314 ; =data_027e0fe4 + ldr r2, _02090324 ; =0x5053424c + ldr r1, [r1] + add r0, sp, #0x1c + add r3, sp, #0x5c + bl _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p + ldr r0, [sp, #0x1c] + cmp r0, r4 + beq _020902d4 + ldr r0, _02090314 ; =data_027e0fe4 + add r1, sp, #0x1c + ldr r0, [r0] + bl _ZN12ActorManager8GetActorEP8ActorRef + cmp r0, #0 + beq _020902d4 + ldr r1, [r0, #0x48] + ldr r2, [sp, #0x60] + str r1, [sp, #0x24] + ldr r3, [r0, #0x4c] + add r1, sp, #0x5c + str r3, [sp, #0x28] + ldr r3, [r0, #0x50] + add r0, sp, #0x24 + str r3, [sp, #0x2c] + str r2, [sp, #0x28] + bl func_01ff9ec0 + cmp r0, #0x1800 + sublt r6, r6, #1 + addlt r5, r5, #1 + blt _020902f8 +_020902d4: + ldr r0, [sp, #8] + ldr r1, _02090318 ; =0x534e414b + add r0, r0, r6, lsl #3 + str r0, [sp] + ldr r0, _02090328 ; =data_027e0fe8 + add r2, sp, #0x5c + ldr r0, [r0] + add r3, sp, #0x30 + bl func_ov00_020c4048 +_020902f8: + add r6, r6, #1 + cmp r6, #5 + blo _0208ffb4 + add sp, sp, #0x80 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_0208fef8 +_0209030c: .word data_ov00_020eec9c +_02090310: .word data_027e0f94 +_02090314: .word data_027e0fe4 +_02090318: .word 0x534e414b +_0209031c: .word data_027e0764 +_02090320: .word data_027e0e60 +_02090324: .word 0x5053424c +_02090328: .word data_027e0fe8 + + .global func_ov00_0209032c + arm_func_start func_ov00_0209032c +func_ov00_0209032c: ; 0x0209032c + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r7, r0 + ldr r6, [r7, #0x164] + ldr r0, [r7, #0x168] + cmp r6, r0 + ldmgeia sp!, {r3, r4, r5, r6, r7, pc} + ldr r4, _02090374 ; =data_027e0e60 + mov r5, #0 +_0209034c: + ldr r0, [r4] + ldr r2, [r7, #0x16c] + mov r1, r6 + mov r3, r5 + bl _ZN10MapManager18func_ov00_02084b38Eiii + ldr r0, [r7, #0x168] + add r6, r6, #1 + cmp r6, r0 + blt _0209034c + ldmia sp!, {r3, r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end func_ov00_0209032c +_02090374: .word data_027e0e60 + + .global func_ov00_02090378 + arm_func_start func_ov00_02090378 +func_ov00_02090378: ; 0x02090378 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN5ActorD2Ev + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02090378 + + .global func_ov00_0209038c + arm_func_start func_ov00_0209038c +func_ov00_0209038c: ; 0x0209038c + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN5ActorD2Ev + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0209038c + + .global func_ov00_020903a8 + arm_func_start func_ov00_020903a8 +func_ov00_020903a8: ; 0x020903a8 + stmdb sp!, {r4, lr} + ldr r1, _020903e0 ; =data_027e0fe0 + mov r0, #0x158 + ldr r1, [r1] + mov r2, #4 + ldr r1, [r1] + bl _ZN9SysObjectnwEmPjj + movs r4, r0 + beq _020903d8 + bl _ZN5ActorC2Ev + ldr r0, _020903e4 ; =data_ov00_020e29ec + str r0, [r4] +_020903d8: + mov r0, r4 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_020903a8 +_020903e0: .word data_027e0fe0 +_020903e4: .word data_ov00_020e29ec + + .global func_ov00_020903e8 + arm_func_start func_ov00_020903e8 +func_ov00_020903e8: ; 0x020903e8 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN5Actor8vfunc_08Ev + mov r0, #0 + str r0, [r4, #0x130] + mov r0, #1 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_020903e8 + + .global func_ov00_02090404 + arm_func_start func_ov00_02090404 +func_ov00_02090404: ; 0x02090404 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN5Actor18func_ov00_020c313cEj + cmp r0, #0 + ldmeqia sp!, {r4, pc} + ldr r0, [r4, #0x130] + cmp r0, #0 + beq _0209042c + cmp r0, #1 + ldmia sp!, {r4, pc} +_0209042c: + ldrh r1, [r4, #0x20] + cmp r1, #0 + beq _02090460 + ldr r0, _02090488 ; =data_027e0fe4 + mov r2, #0 + ldr r0, [r0] + bl _ZN12ActorManager18func_ov00_020c3bb0EiPi + cmp r0, #0 + ldmneia sp!, {r4, pc} + mov r0, r4 + mov r1, #1 + bl func_ov00_0209048c + ldmia sp!, {r4, pc} +_02090460: + ldr r0, _02090488 ; =data_027e0fe4 + mov r1, #0 + ldr r0, [r0] + bl _ZN12ActorManager18func_ov00_020c3b2cEPi + cmp r0, #0 + ldmneia sp!, {r4, pc} + mov r0, r4 + mov r1, #1 + bl func_ov00_0209048c + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_02090404 +_02090488: .word data_027e0fe4 + + .global func_ov00_0209048c + arm_func_start func_ov00_0209048c +func_ov00_0209048c: ; 0x0209048c + stmdb sp!, {r4, lr} + mov r4, r0 + str r1, [r4, #0x130] + cmp r1, #0 + beq _020904bc + cmp r1, #1 + bne _020904bc + mov r1, #0 + mov r2, #1 + bl _ZN5Actor18func_ov00_020c1c20Eiii + mov r0, #0 + strb r0, [r4, #0x118] +_020904bc: + mov r0, #1 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0209048c + + .global func_ov00_020904c4 + arm_func_start func_ov00_020904c4 +func_ov00_020904c4: ; 0x020904c4 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN5ActorD2Ev + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_020904c4 + + .global func_ov00_020904d8 + arm_func_start func_ov00_020904d8 +func_ov00_020904d8: ; 0x020904d8 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN5ActorD2Ev + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_020904d8 + + .global func_ov00_020904f4 + arm_func_start func_ov00_020904f4 +func_ov00_020904f4: ; 0x020904f4 + stmdb sp!, {r3, lr} + ldr r1, _02090520 ; =data_027e0fe0 + mov r0, #0x1e8 + ldr r1, [r1] + mov r2, #4 + ldr r1, [r1] + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + ldmeqia sp!, {r3, pc} + bl func_ov00_02090524 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020904f4 +_02090520: .word data_027e0fe0 + + .global func_ov00_02090524 + arm_func_start func_ov00_02090524 +func_ov00_02090524: ; 0x02090524 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN5ActorC2Ev + ldr r0, _0209057c ; =data_ov00_020e2aa8 + mov r1, #0 + str r0, [r4] + str r1, [r4, #0x158] + add r0, r4, #0x160 + str r1, [r4, #0x15c] + bl func_02035064 + mov r0, #0 + str r0, [r4, #0x7c] + mov r1, #0x4000 + str r1, [r4, #0x80] + str r0, [r4, #0x84] + str r1, [r4, #0x88] + str r0, [r4, #0x8c] + str r1, [r4, #0x90] + str r0, [r4, #0x94] + mov r0, r4 + str r1, [r4, #0x98] + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_02090524 +_0209057c: .word data_ov00_020e2aa8 + + .global func_ov00_02090580 + arm_func_start func_ov00_02090580 +func_ov00_02090580: ; 0x02090580 + stmdb sp!, {r4, lr} + sub sp, sp, #8 + mov r4, r0 + ldr r0, [r4, #0x144] + mov r1, #3 + cmp r0, #1 + cmpne r0, #2 + bne _020905e0 + mvn r0, #0xd + str r0, [r4, #0x15c] + mov ip, #0 + str ip, [sp] + mov r2, r1 + add r0, r4, #0x160 + mov r3, #0x19 + str ip, [sp, #4] + bl func_020350b4 + mov r2, #0 + mov r3, r2 + add r0, r4, #0x160 + mov r1, #1 + str r2, [sp] + bl func_020351b8 + b _02090618 +_020905e0: + mvn r0, #0xb + str r0, [r4, #0x15c] + mov r2, #0 + str r2, [sp] + add r0, r4, #0x160 + mov r3, #0x19 + str r2, [sp, #4] + bl func_020350b4 + mov r1, #0 + mov r2, r1 + mov r3, r1 + add r0, r4, #0x160 + str r1, [sp] + bl func_020351b8 +_02090618: + mov r0, r4 + mov r1, #0 + bl func_ov00_02090774 + mov r0, #1 + add sp, sp, #8 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02090580 + + .global func_ov00_02090630 + arm_func_start func_ov00_02090630 +func_ov00_02090630: ; 0x02090630 + ldr ip, _02090638 ; =func_ov00_02090648 + bx ip + .align 2, 0 + arm_func_end func_ov00_02090630 +_02090638: .word func_ov00_02090648 + + .global func_ov00_0209063c + arm_func_start func_ov00_0209063c +func_ov00_0209063c: ; 0x0209063c + ldr ip, _02090644 ; =func_ov00_02090648 + bx ip + .align 2, 0 + arm_func_end func_ov00_0209063c +_02090644: .word func_ov00_02090648 + + .global func_ov00_02090648 + arm_func_start func_ov00_02090648 +func_ov00_02090648: ; 0x02090648 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN5Actor18func_ov00_020c313cEj + cmp r0, #0 + ldmeqia sp!, {r4, pc} + ldr r0, [r4, #0x48] + str r0, [r4, #0x54] + ldr r0, [r4, #0x4c] + str r0, [r4, #0x58] + ldr r0, [r4, #0x50] + str r0, [r4, #0x5c] + ldr r0, [r4, #0x130] + cmp r0, #0 + beq _02090688 + cmp r0, #1 + b _02090760 +_02090688: + ldr r0, [r4, #0x140] + cmp r0, #0 + beq _020906a8 + cmp r0, #1 + beq _020906fc + cmp r0, #2 + beq _020906cc + b _020906fc +_020906a8: + ldr r1, _0209076c ; =data_027e0f94 + add r0, r4, #0x48 + bl func_01ff9ec0 + cmp r0, #0x1000 + bgt _020906fc + mov r0, r4 + mov r1, #1 + bl func_ov00_02090774 + ldmia sp!, {r4, pc} +_020906cc: + ldr r0, [r4, #0x1c4] + cmp r0, #0x5a000 + blt _020906fc + ldr r1, _0209076c ; =data_027e0f94 + add r0, r4, #0x48 + bl func_01ff9ec0 + cmp r0, #0x1000 + ble _020906fc + mov r0, r4 + mov r1, #1 + bl func_ov00_02090774 + ldmia sp!, {r4, pc} +_020906fc: + add r0, r4, #0x100 + ldrh r0, [r0, #0xbc] + cmp r0, #1 + bne _0209072c + add r0, r4, #0x1bc + bl func_0202e58c + cmp r0, #0 + beq _02090760 + mov r0, r4 + mov r1, #1 + bl func_ov00_02090774 + b _02090760 +_0209072c: + ldr r0, _02090770 ; =gAdventureFlags + ldr r0, [r0] + bl _ZN14AdventureFlags18func_ov00_02097738Ev + cmp r0, #0 + ldreq r0, [r4, #0x158] + addeq r0, r0, #1 + streq r0, [r4, #0x158] + ldr r0, [r4, #0x158] + cmp r0, #0x258 + blo _02090760 + mov r0, r4 + mov r1, #1 + bl func_ov00_02090774 +_02090760: + add r0, r4, #0x160 + bl func_0203516c + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_02090648 +_0209076c: .word data_027e0f94 +_02090770: .word gAdventureFlags + + .global func_ov00_02090774 + arm_func_start func_ov00_02090774 +func_ov00_02090774: ; 0x02090774 + str r1, [r0, #0x130] + cmp r1, #0 + beq _02090790 + cmp r1, #1 + moveq r1, #0 + streqb r1, [r0, #0x118] + b _02090798 +_02090790: + mov r1, #0 + str r1, [r0, #0x158] +_02090798: + mov r0, #1 + bx lr + arm_func_end func_ov00_02090774 + + .global func_ov00_020907a0 + arm_func_start func_ov00_020907a0 +func_ov00_020907a0: ; 0x020907a0 + stmdb sp!, {r4, lr} + sub sp, sp, #0x18 + ldrh r1, [r1] + mov r4, r0 + tst r1, #4 + bne _020907c4 + tst r1, #8 + addeq sp, sp, #0x18 + ldmeqia sp!, {r4, pc} +_020907c4: + add r1, sp, #0x14 + str r1, [sp] + mov r2, #0 + add r0, sp, #0x10 + stmib sp, {r0, r2} + ldr r0, _020908ac ; =data_027e0d3c + str r2, [sp, #0xc] + ldr r0, [r0] + mov r3, r2 + add r1, r4, #0x48 + bl func_ov00_02079470 + cmp r0, #0 + addeq sp, sp, #0x18 + ldmeqia sp!, {r4, pc} + ldr r0, [r4, #0x144] + cmp r0, #1 + beq _02090814 + cmp r0, #2 + beq _02090844 + b _02090880 +_02090814: + add r0, r4, #0x100 + ldrsh r0, [r0, #0xe0] + cmp r0, #8 + blt _02090834 + ldr r0, [sp, #0x10] + sub r0, r0, #8 + str r0, [sp, #0x10] + b _02090890 +_02090834: + ldr r0, [sp, #0x10] + sub r0, r0, #0xe + str r0, [sp, #0x10] + b _02090890 +_02090844: + ldr r1, [sp, #0x14] + add r0, r4, #0x100 + add r1, r1, #1 + str r1, [sp, #0x14] + ldrsh r0, [r0, #0xe0] + cmp r0, #8 + blt _02090870 + ldr r0, [sp, #0x10] + sub r0, r0, #0xb + str r0, [sp, #0x10] + b _02090890 +_02090870: + ldr r0, [sp, #0x10] + sub r0, r0, #0x11 + str r0, [sp, #0x10] + b _02090890 +_02090880: + ldr r1, [sp, #0x10] + ldr r0, [r4, #0x15c] + add r0, r1, r0 + str r0, [sp, #0x10] +_02090890: + ldr r1, [sp, #0x14] + ldr r2, [sp, #0x10] + add r0, r4, #0x160 + mov r3, #0 + bl func_02034a1c + add sp, sp, #0x18 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_020907a0 +_020908ac: .word data_027e0d3c + + .global func_ov00_020908b0 + arm_func_start func_ov00_020908b0 +func_ov00_020908b0: ; 0x020908b0 + stmdb sp!, {r4, lr} + mov r4, r0 + add r0, r4, #0x160 + bl func_020350ac + mov r0, r4 + bl _ZN5ActorD2Ev + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_020908b0 + + .global func_ov00_020908d0 + arm_func_start func_ov00_020908d0 +func_ov00_020908d0: ; 0x020908d0 + stmdb sp!, {r4, lr} + mov r4, r0 + add r0, r4, #0x160 + bl func_020350ac + mov r0, r4 + bl _ZN5ActorD2Ev + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_020908d0 + + .global func_ov00_020908f8 + arm_func_start func_ov00_020908f8 +func_ov00_020908f8: ; 0x020908f8 + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0xc + ldr r2, _02090974 ; =data_027e0f94 + mov r4, r1 + ldr r3, [r2] + ldr r1, [r2, #4] + str r3, [sp] + str r1, [sp, #4] + ldr r2, [r2, #8] + add r1, sp, #0 + mov r5, r0 + str r2, [sp, #8] + bl func_ov00_02090e10 + add r1, sp, #0 + mov r0, r5 + bl func_ov00_02090c28 + cmp r4, #0 + bne _0209094c + add r1, sp, #0 + mov r0, r5 + bl func_ov00_02090b08 +_0209094c: + ldr r1, [sp] + mov r0, #0 + str r1, [r5, #8] + ldr r1, [sp, #4] + str r1, [r5, #0xc] + ldr r1, [sp, #8] + str r1, [r5, #0x10] + strh r0, [r5, #0x14] + add sp, sp, #0xc + ldmia sp!, {r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_020908f8 +_02090974: .word data_027e0f94 + + .global func_ov00_02090978 + arm_func_start func_ov00_02090978 +func_ov00_02090978: ; 0x02090978 + bx lr + arm_func_end func_ov00_02090978 + + .global func_ov00_0209097c + arm_func_start func_ov00_0209097c +func_ov00_0209097c: ; 0x0209097c + bx lr + arm_func_end func_ov00_0209097c + + .global func_ov00_02090980 + arm_func_start func_ov00_02090980 +func_ov00_02090980: ; 0x02090980 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #0x10 + mov r5, r0 + ldr ip, [r5, #4] + mov r4, r1 + add r2, ip, #0x200 + ldrsh r3, [r2, #0x26] + add r1, sp, #4 + add r0, ip, #0x26c + str r3, [sp] + ldrsh r3, [r2, #0x24] + ldr r2, [ip, #0x23c] + bl func_0202b66c + add r1, sp, #4 + mov r0, r5 + bl func_ov00_02090b38 + ldr r2, [r5, #4] + mov r3, #0 + add r0, r2, #0x260 + add r1, r2, #0x278 + add r2, r2, #0x26c + str r4, [sp] + bl func_02005dcc + add sp, sp, #0x10 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02090980 + + .global func_ov00_020909e4 + arm_func_start func_ov00_020909e4 +func_ov00_020909e4: ; 0x020909e4 + bx lr + arm_func_end func_ov00_020909e4 + + .global func_ov00_020909e8 + arm_func_start func_ov00_020909e8 +func_ov00_020909e8: ; 0x020909e8 + bx lr + arm_func_end func_ov00_020909e8 + + .global func_ov00_020909ec + arm_func_start func_ov00_020909ec +func_ov00_020909ec: ; 0x020909ec + bx lr + arm_func_end func_ov00_020909ec + + .global func_ov00_020909f0 + arm_func_start func_ov00_020909f0 +func_ov00_020909f0: ; 0x020909f0 + bx lr + arm_func_end func_ov00_020909f0 + + .global func_ov00_020909f4 + arm_func_start func_ov00_020909f4 +func_ov00_020909f4: ; 0x020909f4 + bx lr + arm_func_end func_ov00_020909f4 + + .global func_ov00_020909f8 + arm_func_start func_ov00_020909f8 +func_ov00_020909f8: ; 0x020909f8 + bx lr + arm_func_end func_ov00_020909f8 + + .global func_ov00_020909fc + arm_func_start func_ov00_020909fc +func_ov00_020909fc: ; 0x020909fc + bx lr + arm_func_end func_ov00_020909fc + + .global func_ov00_02090a00 + arm_func_start func_ov00_02090a00 +func_ov00_02090a00: ; 0x02090a00 + mov r0, #0 + bx lr + arm_func_end func_ov00_02090a00 + + .global func_ov00_02090a08 + arm_func_start func_ov00_02090a08 +func_ov00_02090a08: ; 0x02090a08 + bx lr + arm_func_end func_ov00_02090a08 + + .global func_ov00_02090a0c + arm_func_start func_ov00_02090a0c +func_ov00_02090a0c: ; 0x02090a0c + bx lr + arm_func_end func_ov00_02090a0c + + .global func_ov00_02090a10 + arm_func_start func_ov00_02090a10 +func_ov00_02090a10: ; 0x02090a10 + bx lr + arm_func_end func_ov00_02090a10 + + .global func_ov00_02090a14 + arm_func_start func_ov00_02090a14 +func_ov00_02090a14: ; 0x02090a14 + bx lr + arm_func_end func_ov00_02090a14 + + .global func_ov00_02090a18 + arm_func_start func_ov00_02090a18 +func_ov00_02090a18: ; 0x02090a18 + ldr r0, [r0, #4] + ldr r0, [r0, #0x24c] + bx lr + arm_func_end func_ov00_02090a18 + + .global func_ov00_02090a24 + arm_func_start func_ov00_02090a24 +func_ov00_02090a24: ; 0x02090a24 + ldr r0, [r0, #4] + add r0, r0, #0x200 + ldrsh r0, [r0, #0x30] + bx lr + arm_func_end func_ov00_02090a24 + + .global func_ov00_02090a34 + arm_func_start func_ov00_02090a34 +func_ov00_02090a34: ; 0x02090a34 + ldr r0, [r0, #4] + add r0, r0, #0x200 + ldrsh r0, [r0, #0x28] + bx lr + arm_func_end func_ov00_02090a34 + + .global func_ov00_02090a44 + arm_func_start func_ov00_02090a44 +func_ov00_02090a44: ; 0x02090a44 + ldr r0, [r0, #4] + add r0, r0, #0x200 + ldrsh r0, [r0, #0x2a] + bx lr + arm_func_end func_ov00_02090a44 + + .global func_ov00_02090a54 + arm_func_start func_ov00_02090a54 +func_ov00_02090a54: ; 0x02090a54 + ldr r0, [r0, #4] + add r0, r0, #0x200 + ldrsh r0, [r0, #0x2c] + bx lr + arm_func_end func_ov00_02090a54 + + .global func_ov00_02090a64 + arm_func_start func_ov00_02090a64 +func_ov00_02090a64: ; 0x02090a64 + ldr r0, [r0, #4] + add r0, r0, #0x29c + bx lr + arm_func_end func_ov00_02090a64 + + .global func_ov00_02090a70 + arm_func_start func_ov00_02090a70 +func_ov00_02090a70: ; 0x02090a70 + ldr r0, [r0, #4] + add r0, r0, #0x2a8 + bx lr + arm_func_end func_ov00_02090a70 + + .global func_ov00_02090a7c + arm_func_start func_ov00_02090a7c +func_ov00_02090a7c: ; 0x02090a7c + ldr r0, [r0, #4] + ldr ip, _02090a8c ; =func_ov00_02087d84 + ldr r0, [r0, #0x15c] + bx ip + .align 2, 0 + arm_func_end func_ov00_02090a7c +_02090a8c: .word func_ov00_02087d84 + + .global func_ov00_02090a90 + arm_func_start func_ov00_02090a90 +func_ov00_02090a90: ; 0x02090a90 + ldr ip, _02090a9c ; =func_ov00_02087e14 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end func_ov00_02090a90 +_02090a9c: .word func_ov00_02087e14 + + .global func_ov00_02090aa0 + arm_func_start func_ov00_02090aa0 +func_ov00_02090aa0: ; 0x02090aa0 + ldr r0, [r0, #4] + ldr r0, [r0, #0x2c4] + bx lr + arm_func_end func_ov00_02090aa0 + + .global func_ov00_02090aac + arm_func_start func_ov00_02090aac +func_ov00_02090aac: ; 0x02090aac + ldr r0, [r0, #4] + strh r1, [r0, #4] + bx lr + arm_func_end func_ov00_02090aac + + .global func_ov00_02090ab8 + arm_func_start func_ov00_02090ab8 +func_ov00_02090ab8: ; 0x02090ab8 + ldr r0, [r0, #4] + add r0, r0, #0x200 + strh r1, [r0, #0x24] + bx lr + arm_func_end func_ov00_02090ab8 + + .global func_ov00_02090ac8 + arm_func_start func_ov00_02090ac8 +func_ov00_02090ac8: ; 0x02090ac8 + ldr r0, [r0, #4] + add r0, r0, #0x200 + strh r1, [r0, #0x26] + bx lr + arm_func_end func_ov00_02090ac8 + + .global func_ov00_02090ad8 + arm_func_start func_ov00_02090ad8 +func_ov00_02090ad8: ; 0x02090ad8 + ldr r0, [r0, #4] + str r1, [r0, #0x23c] + bx lr + arm_func_end func_ov00_02090ad8 + + .global func_ov00_02090ae4 + arm_func_start func_ov00_02090ae4 +func_ov00_02090ae4: ; 0x02090ae4 + ldr r0, [r0, #4] + str r1, [r0, #0x240] + bx lr + arm_func_end func_ov00_02090ae4 + + .global func_ov00_02090af0 + arm_func_start func_ov00_02090af0 +func_ov00_02090af0: ; 0x02090af0 + ldr r0, [r0, #4] + str r1, [r0, #0x244] + bx lr + arm_func_end func_ov00_02090af0 + + .global func_ov00_02090afc + arm_func_start func_ov00_02090afc +func_ov00_02090afc: ; 0x02090afc + ldr r0, [r0, #4] + str r1, [r0, #0x248] + bx lr + arm_func_end func_ov00_02090afc + + .global func_ov00_02090b08 + arm_func_start func_ov00_02090b08 +func_ov00_02090b08: ; 0x02090b08 + stmdb sp!, {r3} + sub sp, sp, #0xc + ldr ip, [r1, #4] + ldr r3, [r1, #8] + ldr r2, [r0, #4] + ldr r0, [r1] + str r0, [r2, #0x26c] + str ip, [r2, #0x270] + str r3, [r2, #0x274] + add sp, sp, #0xc + ldmia sp!, {r3} + bx lr + arm_func_end func_ov00_02090b08 + + .global func_ov00_02090b38 + arm_func_start func_ov00_02090b38 +func_ov00_02090b38: ; 0x02090b38 + stmdb sp!, {r3} + sub sp, sp, #0xc + ldr ip, [r1, #4] + ldr r3, [r1, #8] + ldr r2, [r0, #4] + ldr r0, [r1] + str r0, [r2, #0x260] + str ip, [r2, #0x264] + str r3, [r2, #0x268] + add sp, sp, #0xc + ldmia sp!, {r3} + bx lr + arm_func_end func_ov00_02090b38 + + .global func_ov00_02090b68 + arm_func_start func_ov00_02090b68 +func_ov00_02090b68: ; 0x02090b68 + stmdb sp!, {r3} + sub sp, sp, #0xc + ldr ip, [r1, #4] + ldr r3, [r1, #8] + ldr r2, [r0, #4] + ldr r0, [r1] + str r0, [r2, #0x290] + str ip, [r2, #0x294] + str r3, [r2, #0x298] + add sp, sp, #0xc + ldmia sp!, {r3} + bx lr + arm_func_end func_ov00_02090b68 + + .global func_ov00_02090b98 + arm_func_start func_ov00_02090b98 +func_ov00_02090b98: ; 0x02090b98 + stmdb sp!, {r3} + sub sp, sp, #0xc + ldr ip, [r1, #4] + ldr r3, [r1, #8] + ldr r2, [r0, #4] + ldr r0, [r1] + str r0, [r2, #0x284] + str ip, [r2, #0x288] + str r3, [r2, #0x28c] + add sp, sp, #0xc + ldmia sp!, {r3} + bx lr + arm_func_end func_ov00_02090b98 + + .global func_ov00_02090bc8 + arm_func_start func_ov00_02090bc8 +func_ov00_02090bc8: ; 0x02090bc8 + ldr r0, [r0, #4] + add r0, r0, #0x200 + strh r1, [r0, #0x2c] + bx lr + arm_func_end func_ov00_02090bc8 + + .global func_ov00_02090bd8 + arm_func_start func_ov00_02090bd8 +func_ov00_02090bd8: ; 0x02090bd8 + ldr r0, [r0, #4] + add r0, r0, #0x200 + strh r1, [r0, #0x28] + bx lr + arm_func_end func_ov00_02090bd8 + + .global func_ov00_02090be8 + arm_func_start func_ov00_02090be8 +func_ov00_02090be8: ; 0x02090be8 + ldr r0, [r0, #4] + add r0, r0, #0x200 + strh r1, [r0, #0x2a] + bx lr + arm_func_end func_ov00_02090be8 + + .global func_ov00_02090bf8 + arm_func_start func_ov00_02090bf8 +func_ov00_02090bf8: ; 0x02090bf8 + ldr r0, [r0, #4] + str r1, [r0, #0x24c] + bx lr + arm_func_end func_ov00_02090bf8 + + .global func_ov00_02090c04 + arm_func_start func_ov00_02090c04 +func_ov00_02090c04: ; 0x02090c04 + ldr r0, [r0, #4] + str r1, [r0, #0x250] + bx lr + arm_func_end func_ov00_02090c04 + + .global func_ov00_02090c10 + arm_func_start func_ov00_02090c10 +func_ov00_02090c10: ; 0x02090c10 + ldr r0, [r0, #4] + str r1, [r0, #0x254] + bx lr + arm_func_end func_ov00_02090c10 + + .global func_ov00_02090c1c + arm_func_start func_ov00_02090c1c +func_ov00_02090c1c: ; 0x02090c1c + ldr r0, [r0, #4] + str r1, [r0, #0x258] + bx lr + arm_func_end func_ov00_02090c1c + + .global func_ov00_02090c28 + arm_func_start func_ov00_02090c28 +func_ov00_02090c28: ; 0x02090c28 + stmdb sp!, {r3} + sub sp, sp, #0xc + ldr ip, [r1, #4] + ldr r3, [r1, #8] + ldr r2, [r0, #4] + ldr r0, [r1] + str r0, [r2, #0x2a8] + str ip, [r2, #0x2ac] + str r3, [r2, #0x2b0] + add sp, sp, #0xc + ldmia sp!, {r3} + bx lr + arm_func_end func_ov00_02090c28 + + .global func_ov00_02090c58 + arm_func_start func_ov00_02090c58 +func_ov00_02090c58: ; 0x02090c58 + stmdb sp!, {r3} + sub sp, sp, #0xc + ldr ip, [r1, #4] + ldr r3, [r1, #8] + ldr r2, [r0, #4] + ldr r0, [r1] + str r0, [r2, #0x29c] + str ip, [r2, #0x2a0] + str r3, [r2, #0x2a4] + add sp, sp, #0xc + ldmia sp!, {r3} + bx lr + arm_func_end func_ov00_02090c58 + + .global func_ov00_02090c88 + arm_func_start func_ov00_02090c88 +func_ov00_02090c88: ; 0x02090c88 + ldr r0, [r0, #4] + add r0, r0, #0x200 + strh r1, [r0, #0x30] + bx lr + arm_func_end func_ov00_02090c88 + + .global func_ov00_02090c98 + arm_func_start func_ov00_02090c98 +func_ov00_02090c98: ; 0x02090c98 + ldr r0, [r0, #4] + str r1, [r0, #0x25c] + bx lr + arm_func_end func_ov00_02090c98 + + .global func_ov00_02090ca4 + arm_func_start func_ov00_02090ca4 +func_ov00_02090ca4: ; 0x02090ca4 + ldr r0, [r0, #4] + str r1, [r0, #0x2c4] + bx lr + arm_func_end func_ov00_02090ca4 + + .global func_ov00_02090cb0 + arm_func_start func_ov00_02090cb0 +func_ov00_02090cb0: ; 0x02090cb0 + ldr r0, [r0, #4] + str r1, [r0, #0x2c0] + bx lr + arm_func_end func_ov00_02090cb0 + + .global func_ov00_02090cbc + arm_func_start func_ov00_02090cbc +func_ov00_02090cbc: ; 0x02090cbc + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r2, [r4, #4] + add r2, r2, #0x200 + ldrsh r3, [r2, #0x24] + add r1, r3, r1 + strh r1, [r2, #0x24] + bl func_ov00_02090a7c + ldr r2, [r4, #4] + ldr r1, [r0, #0x44] + add r0, r2, #0x200 + ldrsh r0, [r0, #0x24] + cmp r0, r1 + bge _02090d0c + mov r0, r4 + bl func_ov00_02090a7c + ldr r1, [r4, #4] + ldr r2, [r0, #0x44] + add r0, r1, #0x200 + strh r2, [r0, #0x24] +_02090d0c: + mov r0, r4 + bl func_ov00_02090a7c + ldr r2, [r4, #4] + ldr r1, [r0, #0x54] + add r0, r2, #0x200 + ldrsh r0, [r0, #0x24] + cmp r0, r1 + ldmleia sp!, {r4, pc} + mov r0, r4 + bl func_ov00_02090a7c + ldr r1, [r4, #4] + ldr r2, [r0, #0x54] + add r0, r1, #0x200 + strh r2, [r0, #0x24] + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02090cbc + + .global func_ov00_02090d48 + arm_func_start func_ov00_02090d48 +func_ov00_02090d48: ; 0x02090d48 + ldr r0, [r0, #4] + add r0, r0, #0x200 + ldrsh r2, [r0, #0x26] + add r1, r2, r1 + strh r1, [r0, #0x26] + bx lr + arm_func_end func_ov00_02090d48 + + .global func_ov00_02090d60 + arm_func_start func_ov00_02090d60 +func_ov00_02090d60: ; 0x02090d60 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r2, [r4, #4] + add r2, r2, #0x200 + ldrsh r3, [r2, #0x28] + add r1, r3, r1 + strh r1, [r2, #0x28] + bl func_ov00_02090a7c + ldr r2, [r4, #4] + ldr r1, [r0, #0x44] + add r0, r2, #0x200 + ldrsh r0, [r0, #0x28] + cmp r0, r1 + bge _02090db0 + mov r0, r4 + bl func_ov00_02090a7c + ldr r1, [r4, #4] + ldr r2, [r0, #0x44] + add r0, r1, #0x200 + strh r2, [r0, #0x28] +_02090db0: + mov r0, r4 + bl func_ov00_02090a7c + ldr r2, [r4, #4] + ldr r1, [r0, #0x54] + add r0, r2, #0x200 + ldrsh r0, [r0, #0x28] + cmp r0, r1 + ldmleia sp!, {r4, pc} + mov r0, r4 + bl func_ov00_02090a7c + ldr r1, [r4, #4] + ldr r2, [r0, #0x54] + add r0, r1, #0x200 + strh r2, [r0, #0x28] + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02090d60 + + .global func_ov00_02090dec + arm_func_start func_ov00_02090dec +func_ov00_02090dec: ; 0x02090dec + ldr r0, [r0, #4] + add r0, r0, #0x200 + ldrsh r2, [r0, #0x2a] + add r1, r2, r1 + strh r1, [r0, #0x2a] + bx lr + arm_func_end func_ov00_02090dec + + .global func_ov00_02090e04 + arm_func_start func_ov00_02090e04 +func_ov00_02090e04: ; 0x02090e04 + ldr r0, [r0, #4] + add r0, r0, #0x24c + bx lr + arm_func_end func_ov00_02090e04 + + .global func_ov00_02090e10 + arm_func_start func_ov00_02090e10 +func_ov00_02090e10: ; 0x02090e10 + ldr ip, _02090e1c ; =func_ov00_02089b94 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end func_ov00_02090e10 +_02090e1c: .word func_ov00_02089b94 + + .global func_ov00_02090e20 + arm_func_start func_ov00_02090e20 +func_ov00_02090e20: ; 0x02090e20 + ldr ip, _02090e2c ; =func_ov00_02089c50 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end func_ov00_02090e20 +_02090e2c: .word func_ov00_02089c50 + + .global func_ov00_02090e30 + arm_func_start func_ov00_02090e30 +func_ov00_02090e30: ; 0x02090e30 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r4, r1 + bl func_ov00_02090a44 + mov r2, r0 + ldr r0, [r5, #4] + mov r1, r4 + bl func_ov00_02089c50 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02090e30 + + .global func_ov00_02090e54 + arm_func_start func_ov00_02090e54 +func_ov00_02090e54: ; 0x02090e54 + ldr r2, [r0, #4] + ldr r1, [r2, #0x1a4] + sub r1, r1, #1 + str r1, [r2, #0x1a4] + ldr r3, [r0, #4] + ldr r1, [r3, #0x1a4] + cmp r1, #0 + bgt _02090e84 + mov r2, #0 + str r2, [r3, #0x1a4] + ldr r1, [r0, #4] + strb r2, [r1, #0x1b9] +_02090e84: + ldr r0, [r0, #4] + ldr r0, [r0, #0x1a4] + bx lr + arm_func_end func_ov00_02090e54 + + .global func_ov00_02090e90 + arm_func_start func_ov00_02090e90 +func_ov00_02090e90: ; 0x02090e90 + ldr r0, [r0, #4] + ldr r0, [r0, #0x1a4] + bx lr + arm_func_end func_ov00_02090e90 + + .global func_ov00_02090e9c + arm_func_start func_ov00_02090e9c +func_ov00_02090e9c: ; 0x02090e9c + ldr r0, [r0, #4] + str r1, [r0, #0x1a4] + bx lr + arm_func_end func_ov00_02090e9c + + .global func_ov00_02090ea8 + arm_func_start func_ov00_02090ea8 +func_ov00_02090ea8: ; 0x02090ea8 + ldr r0, [r0, #4] + strb r1, [r0, #0x1b9] + bx lr + arm_func_end func_ov00_02090ea8 + + .global func_ov00_02090eb4 + arm_func_start func_ov00_02090eb4 +func_ov00_02090eb4: ; 0x02090eb4 + ldr r2, [r0, #4] + ldr r1, [r2, #0x1a8] + sub r1, r1, #1 + str r1, [r2, #0x1a8] + ldr r3, [r0, #4] + ldr r1, [r3, #0x1a8] + cmp r1, #0 + bgt _02090ee4 + mov r2, #0 + str r2, [r3, #0x1a8] + ldr r1, [r0, #4] + strb r2, [r1, #0x1ba] +_02090ee4: + ldr r0, [r0, #4] + ldr r0, [r0, #0x1a8] + bx lr + arm_func_end func_ov00_02090eb4 + + .global func_ov00_02090ef0 + arm_func_start func_ov00_02090ef0 +func_ov00_02090ef0: ; 0x02090ef0 + ldr r0, [r0, #4] + ldr r0, [r0, #0x1a8] + bx lr + arm_func_end func_ov00_02090ef0 + + .global func_ov00_02090efc + arm_func_start func_ov00_02090efc +func_ov00_02090efc: ; 0x02090efc + ldr r0, [r0, #4] + str r1, [r0, #0x1a8] + bx lr + arm_func_end func_ov00_02090efc + + .global func_ov00_02090f08 + arm_func_start func_ov00_02090f08 +func_ov00_02090f08: ; 0x02090f08 + ldr r0, [r0, #4] + strb r1, [r0, #0x1ba] + bx lr + arm_func_end func_ov00_02090f08 + + .global func_ov00_02090f14 + arm_func_start func_ov00_02090f14 +func_ov00_02090f14: ; 0x02090f14 + ldr ip, _02090f20 ; =func_ov00_020883a8 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end func_ov00_02090f14 +_02090f20: .word func_ov00_020883a8 + + .global func_ov00_02090f24 + arm_func_start func_ov00_02090f24 +func_ov00_02090f24: ; 0x02090f24 + ldr ip, _02090f30 ; =func_ov00_02088428 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end func_ov00_02090f24 +_02090f30: .word func_ov00_02088428 + + .global func_ov00_02090f34 + arm_func_start func_ov00_02090f34 +func_ov00_02090f34: ; 0x02090f34 + ldr ip, _02090f40 ; =func_ov00_0208a8bc + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end func_ov00_02090f34 +_02090f40: .word func_ov00_0208a8bc + + .global func_ov00_02090f44 + arm_func_start func_ov00_02090f44 +func_ov00_02090f44: ; 0x02090f44 + ldr r0, [r0, #4] + ldr ip, _02090f54 ; =func_ov00_0208a30c + add r1, r0, #0x2f0 + bx ip + .align 2, 0 + arm_func_end func_ov00_02090f44 +_02090f54: .word func_ov00_0208a30c + + .global func_ov00_02090f58 + arm_func_start func_ov00_02090f58 +func_ov00_02090f58: ; 0x02090f58 + ldr r0, [r0, #4] + strb r1, [r0, #0x2ed] + bx lr + arm_func_end func_ov00_02090f58 + + .global func_ov00_02090f64 + arm_func_start func_ov00_02090f64 +func_ov00_02090f64: ; 0x02090f64 + ldr ip, _02090f70 ; =func_ov00_020881f4 + ldr r0, [r0, #4] + bx ip + .align 2, 0 + arm_func_end func_ov00_02090f64 +_02090f70: .word func_ov00_020881f4 + + .global func_ov00_02090f74 + arm_func_start func_ov00_02090f74 +func_ov00_02090f74: ; 0x02090f74 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0x2c + ldr r1, _0209103c ; =data_027e0d38 + mov r4, r0 + ldr r0, [r1] + bl func_ov00_02078b40 + cmp r0, #2 + addne sp, sp, #0x2c + ldmneia sp!, {r3, r4, pc} + ldr r0, _02091040 ; =data_027e0f78 + add r3, sp, #0x20 + ldr r0, [r0] + add r0, r0, #0xc + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldr ip, [r4, #4] + mov r1, r3 + ldr r2, [ip, #0x260] + add r0, sp, #0x14 + str r2, [sp, #0x14] + ldr r3, [ip, #0x264] + mov r2, r0 + str r3, [sp, #0x18] + ldr r3, [ip, #0x268] + str r3, [sp, #0x1c] + bl func_01ff9bf8 + ldr r0, [r4, #4] + add r1, sp, #8 + bl func_ov00_02087df8 + add r0, sp, #0x14 + add r1, sp, #8 + bl func_01fffc94 + cmp r0, #0x1000 + blt _02091010 + mvn r1, #0xff + add r0, r1, #0x40 + str r1, [sp, #4] + str r0, [sp] + b _02091020 +_02091010: + add r0, sp, #0x20 + add r1, sp, #4 + add r2, sp, #0 + bl func_0201b5e4 +_02091020: + ldr r2, [sp] + ldr r1, [r4, #4] + ldr r0, [sp, #4] + str r0, [r1, #0x2e4] + str r2, [r1, #0x2e8] + add sp, sp, #0x2c + ldmia sp!, {r3, r4, pc} + .align 2, 0 + arm_func_end func_ov00_02090f74 +_0209103c: .word data_027e0d38 +_02091040: .word data_027e0f78 + + .global func_ov00_02091044 + arm_func_start func_ov00_02091044 +func_ov00_02091044: ; 0x02091044 + bx lr + arm_func_end func_ov00_02091044 + + .global func_ov00_02091048 + arm_func_start func_ov00_02091048 +func_ov00_02091048: ; 0x02091048 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02091048 + + .global func_ov00_0209105c + arm_func_start func_ov00_0209105c +func_ov00_0209105c: ; 0x0209105c + bx lr + arm_func_end func_ov00_0209105c + + .global func_ov00_02091060 + arm_func_start func_ov00_02091060 +func_ov00_02091060: ; 0x02091060 + bx lr + arm_func_end func_ov00_02091060 + + .global func_ov00_02091064 + arm_func_start func_ov00_02091064 +func_ov00_02091064: ; 0x02091064 + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0xc + mov r5, r0 + ldr ip, [r5, #4] + add r0, sp, #4 + mov r4, r1 + str r0, [sp] + add r2, sp, #8 + add r3, sp, #6 + add r0, ip, #0x26c + add r1, ip, #0x260 + bl func_0202b734 + ldr r1, [sp, #8] + mov r0, r5 + bl func_ov00_02090ad8 + ldrsh r1, [sp, #6] + mov r0, r5 + bl func_ov00_02090ab8 + ldrsh r1, [sp, #4] + mov r0, r5 + bl func_ov00_02090ac8 + ldr r2, [r5, #4] + mov r3, #0 + add r0, r2, #0x260 + add r1, r2, #0x278 + add r2, r2, #0x26c + str r4, [sp] + bl func_02005dcc + add sp, sp, #0xc + ldmia sp!, {r4, r5, pc} + arm_func_end func_ov00_02091064 + + .global func_ov00_020910dc + arm_func_start func_ov00_020910dc +func_ov00_020910dc: ; 0x020910dc + bx lr + arm_func_end func_ov00_020910dc + + .global func_ov00_020910e0 + arm_func_start func_ov00_020910e0 +func_ov00_020910e0: ; 0x020910e0 + stmdb sp!, {r3, r4, r5, lr} + mov r4, r1 + ldr r2, [r4] + ldr r1, [r4, #0xc] + mov r5, r0 + cmp r2, r1 + ldreq r1, [r4, #4] + ldreq r0, [r4, #0x10] + cmpeq r1, r0 + ldreq r1, [r4, #8] + ldreq r0, [r4, #0x14] + cmpeq r1, r0 + beq _0209112c + mov r0, r5 + mov r1, r4 + bl func_ov00_02090b38 + mov r0, r5 + add r1, r4, #0xc + bl func_ov00_02090b08 +_0209112c: + ldrsh r1, [r4, #0x18] + cmp r1, #0 + ldmeqia sp!, {r3, r4, r5, pc} + mov r0, r5 + bl func_ov00_02090aac + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_020910e0 + + .global func_ov00_02091144 + arm_func_start func_ov00_02091144 +func_ov00_02091144: ; 0x02091144 + bx lr + arm_func_end func_ov00_02091144 + + .global func_ov00_02091148 + arm_func_start func_ov00_02091148 +func_ov00_02091148: ; 0x02091148 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02091148 + + .global func_ov00_0209115c + arm_func_start func_ov00_0209115c +func_ov00_0209115c: ; 0x0209115c + ldr ip, _02091168 ; =func_ov00_020908f8 + mov r3, #0 + bx ip + .align 2, 0 + arm_func_end func_ov00_0209115c +_02091168: .word func_ov00_020908f8 + + .global func_ov00_0209116c + arm_func_start func_ov00_0209116c +func_ov00_0209116c: ; 0x0209116c + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0xc + ldr r2, _020911c8 ; =data_027e0f94 + add r1, sp, #0 + ldr ip, [r2] + ldr r3, [r2, #4] + str ip, [sp] + str r3, [sp, #4] + ldr r2, [r2, #8] + mov r4, r0 + str r2, [sp, #8] + bl func_ov00_02090e10 + add r1, sp, #0 + mov r0, r4 + bl func_ov00_02090c28 + mov r0, r4 + add r1, r4, #0x18 + bl func_ov00_02090c58 + mov r0, r4 + add r1, r4, #0x18 + bl func_ov00_02090b38 + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} + .align 2, 0 + arm_func_end func_ov00_0209116c +_020911c8: .word data_027e0f94 + + .global func_ov00_020911cc + arm_func_start func_ov00_020911cc +func_ov00_020911cc: ; 0x020911cc + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0xc + mov r5, r0 + ldr ip, [r5, #4] + add r0, sp, #4 + mov r4, r1 + str r0, [sp] + add r2, sp, #8 + add r3, sp, #6 + add r0, ip, #0x26c + add r1, ip, #0x260 + bl func_0202b734 + ldr r1, [sp, #8] + mov r0, r5 + bl func_ov00_02090ad8 + ldrsh r1, [sp, #6] + mov r0, r5 + bl func_ov00_02090ab8 + ldrsh r1, [sp, #4] + mov r0, r5 + bl func_ov00_02090ac8 + ldr r2, [r5, #4] + mov r3, #0 + add r0, r2, #0x260 + add r1, r2, #0x278 + add r2, r2, #0x26c + str r4, [sp] + bl func_02005dcc + add sp, sp, #0xc + ldmia sp!, {r4, r5, pc} + arm_func_end func_ov00_020911cc + + .global func_ov00_02091244 + arm_func_start func_ov00_02091244 +func_ov00_02091244: ; 0x02091244 + ldr r2, [r1, #8] + str r2, [r0, #0x18] + ldr r2, [r1, #0xc] + str r2, [r0, #0x1c] + ldr r1, [r1, #0x10] + str r1, [r0, #0x20] + bx lr + arm_func_end func_ov00_02091244 + + .global func_ov00_02091260 + arm_func_start func_ov00_02091260 +func_ov00_02091260: ; 0x02091260 + bx lr + arm_func_end func_ov00_02091260 + + .global func_ov00_02091264 + arm_func_start func_ov00_02091264 +func_ov00_02091264: ; 0x02091264 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02091264 + + .global func_ov00_02091278 + arm_func_start func_ov00_02091278 +func_ov00_02091278: ; 0x02091278 + stmdb sp!, {r4, lr} + mov r4, r0 + mvn r1, #0 + str r1, [r4, #0x20] + ldr r3, [r4, #4] + ldr r2, [r3, #0x15c] + cmp r2, #0x29 + bgt _020912dc + bge _0209138c + cmp r2, #0x27 + bgt _020912d0 + bge _0209138c + sub r1, r2, #0xa + cmp r1, #5 + addls pc, pc, r1, lsl #2 + b _020913b0 +_020912b8: ; jump table + b _02091380 ; case 0 + b _0209130c ; case 1 + b _02091300 ; case 2 + b _020913b0 ; case 3 + b _02091350 ; case 4 + b _0209136c ; case 5 +_020912d0: + cmp r2, #0x28 + beq _0209138c + b _020913b0 +_020912dc: + cmp r2, #0x38 + bgt _020912f4 + bge _0209139c + cmp r2, #0x2a + beq _0209138c + b _020913b0 +_020912f4: + cmp r2, #0x48 + beq _020913a8 + b _020913b0 +_02091300: + mov r1, #0xa + bl func_ov00_02090e9c + b _020913b0 +_0209130c: + mov r1, #0 + bl func_ov00_02090e9c + mvn r1, #0 + ldr r0, _020913fc ; =data_027e0d38 + str r1, [r4, #0x20] + ldr r0, [r0] + add r0, r0, #0xc + bl func_ov00_020a5e9c + cmp r0, #0x31 + bne _020913b0 + mov r0, r4 + mov r1, #0x6000 + bl func_ov00_02090bf8 + mov r0, r4 + mov r1, #0x6000 + bl func_ov00_02090ad8 + b _020913b0 +_02091350: + mov r0, r3 + mov r1, #0xc + bl func_ov00_02088000 + mov r0, r4 + mov r1, #0 + bl func_ov00_02090e9c + b _020913b0 +_0209136c: + mov r1, #0 + bl func_ov00_02090e9c + mvn r0, #0 + str r0, [r4, #0x20] + b _020913b0 +_02091380: + mov r1, #2 + bl func_ov00_02090e9c + b _020913b0 +_0209138c: + mov r0, r4 + mov r1, #0 + bl func_ov00_02090e9c + b _020913b0 +_0209139c: + mov r1, #0x12 + bl func_ov00_02090e9c + b _020913b0 +_020913a8: + mov r1, #0xf + bl func_ov00_02090e9c +_020913b0: + mov r0, r4 + mov r1, #0 + bl func_ov00_020917b8 + mov r0, r4 + bl func_ov00_02091d58 + mov r0, r4 + bl func_ov00_02090e90 + cmp r0, #0 + mov r0, r4 + ble _020913e4 + mov r1, #1 + bl func_ov00_02090ea8 + b _020913ec +_020913e4: + mov r1, #0 + bl func_ov00_02090ea8 +_020913ec: + mov r0, r4 + mov r1, #0 + bl func_ov00_02090f08 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_02091278 +_020913fc: .word data_027e0d38 + + .global func_ov00_02091400 + arm_func_start func_ov00_02091400 +func_ov00_02091400: ; 0x02091400 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #0x68 + mov r4, r0 + ldr r0, [r4, #4] + ldr r0, [r0, #0x15c] + bl func_ov00_02087d84 + add lr, sp, #0 + mov r5, r0 + mov ip, #6 +_02091424: + ldmia r5!, {r0, r1, r2, r3} + stmia lr!, {r0, r1, r2, r3} + subs ip, ip, #1 + bne _02091424 + ldmia r5, {r0, r1} + stmia lr, {r0, r1} + ldr r0, [r4, #4] + ldr r0, [r0, #0x15c] + cmp r0, #0x27 + bgt _0209146c + bge _02091540 + cmp r0, #0xf + bgt _02091554 + cmp r0, #0xb + blt _02091554 + cmpne r0, #0xf + beq _0209148c + b _02091554 +_0209146c: + cmp r0, #0x2a + bgt _02091554 + cmp r0, #0x28 + blt _02091554 + cmpne r0, #0x29 + cmpne r0, #0x2a + beq _02091540 + b _02091554 +_0209148c: + ldr r0, _020915e4 ; =data_027e0d38 + ldr r0, [r0] + add r0, r0, #0xc + bl func_ov00_020a5e9c + cmp r0, #0x31 + bne _020914f0 + ldr r0, [r4, #4] + ldr r1, [r0, #0x23c] + cmp r1, #0x8000 + bgt _02091554 + ldr r5, [sp, #0x34] + mov r0, r4 + add r1, r5, r1 + bl func_ov00_02090bf8 + ldr r1, [r4, #4] + mov r0, r4 + ldr r1, [r1, #0x23c] + add r1, r5, r1 + bl func_ov00_02090ad8 + mov r0, r4 + mov r1, #0 + bl func_ov00_020917b8 + mov r0, r4 + bl func_ov00_02091d58 + b _02091554 +_020914f0: + ldr r1, [r4, #4] + ldr r0, [sp, #0x5c] + ldr r1, [r1, #0x23c] + cmp r1, r0 + bgt _02091554 + ldr r5, [sp, #0x34] + mov r0, r4 + add r1, r5, r1 + bl func_ov00_02090bf8 + ldr r1, [r4, #4] + mov r0, r4 + ldr r1, [r1, #0x23c] + add r1, r5, r1 + bl func_ov00_02090ad8 + mov r0, r4 + mov r1, #0 + bl func_ov00_020917b8 + mov r0, r4 + bl func_ov00_02091d58 + b _02091554 +_02091540: + mov r0, r4 + mov r1, #0 + bl func_ov00_020917b8 + mov r0, r4 + bl func_ov00_02091d58 +_02091554: + ldr r0, [r4, #0x1c] + sub r0, r0, #1 + cmp r0, #0 + addgt sp, sp, #0x68 + str r0, [r4, #0x1c] + ldmgtia sp!, {r3, r4, r5, pc} + mov r1, #0 + mov r0, r4 + str r1, [r4, #0x1c] + bl func_ov00_02090e54 + cmp r0, #0 + addgt sp, sp, #0x68 + ldmgtia sp!, {r3, r4, r5, pc} + ldr r0, [r4, #0x20] + cmp r0, #0 + addle sp, sp, #0x68 + ldmleia sp!, {r3, r4, r5, pc} + sub r0, r0, #1 + cmp r0, #0 + addgt sp, sp, #0x68 + str r0, [r4, #0x20] + ldmgtia sp!, {r3, r4, r5, pc} + ldr r0, [r4, #4] + ldr r1, [r0, #0x15c] + cmp r1, #0xb + cmpne r1, #0xf + addeq sp, sp, #0x68 + ldmeqia sp!, {r3, r4, r5, pc} + ldrb r1, [r4, #0x16] + bl func_ov00_020875f8 + mov r0, #0 + strb r0, [r4, #0x16] + sub r0, r0, #1 + str r0, [r4, #0x20] + add sp, sp, #0x68 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_02091400 +_020915e4: .word data_027e0d38 + + .global func_ov00_020915e8 + arm_func_start func_ov00_020915e8 +func_ov00_020915e8: ; 0x020915e8 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0x94 + mov r5, r0 + ldr r3, [r5, #4] + ldr r0, _020917a4 ; =data_027e0d38 + ldr r2, [r3, #0x260] + ldr r0, [r0] + str r2, [sp, #0x28] + ldr r2, [r3, #0x264] + add r0, r0, #0xc + str r2, [sp, #0x2c] + ldr r2, [r3, #0x268] + mov r4, r1 + str r2, [sp, #0x30] + bl func_ov00_020a5e9c + cmp r0, #0 + bne _0209173c + ldr r0, _020917a8 ; =data_027e10a4 + mov r1, #0 + ldr r3, [r0] + ldr r2, [r3, #0x2c] + cmp r2, #5 + ldreq r0, [r3, #0x324] + cmpeq r0, #6 + moveq r1, #1 + cmp r1, #0 + bne _0209173c + cmp r2, #6 + mov r1, #0 + bne _0209167c + ldr r0, [r3, #0x430] + mov r2, #1 + cmp r0, #2 + cmpne r0, #3 + movne r2, r1 + cmp r2, #0 + movne r1, #1 +_0209167c: + cmp r1, #0 + bne _0209173c + ldr r0, _020917ac ; =data_027e0e60 + ldr r6, _020917b0 ; =0x000004cd + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_020848b8Ev + mov r1, #0 + cmp r0, #0 + ldr r0, _020917b4 ; =0x0000ffff + strh r1, [sp, #0x60] + strh r0, [sp, #0x58] + add r2, sp, #0x28 + strh r0, [sp, #0x5a] + strh r0, [sp, #0x5c] + strh r0, [sp, #0x5e] + strb r1, [sp, #0x82] + strb r1, [sp, #0x83] + strb r1, [sp, #0x84] + strb r1, [sp, #0x85] + strb r1, [sp, #0x8c] + strb r1, [sp, #0x8d] + strb r1, [sp, #0x8e] + strb r1, [sp, #0x8f] + strb r1, [sp, #0x90] + strb r1, [sp, #0x91] + str r6, [sp] + sub r0, r1, #1 + str r0, [sp, #4] + mov r0, #2 + str r0, [sp, #8] + str r1, [sp, #0xc] + str r1, [sp, #0x10] + ldr r0, _020917ac ; =data_027e0e60 + add r1, sp, #0x34 + ldr r0, [r0] + mov r3, r2 + bl func_01ffbf5c + cmp r0, #0 + beq _0209173c + ldr ip, [sp, #0x34] + ldr r3, [sp, #0x38] + ldr r2, [sp, #0x3c] + add r1, sp, #0x28 + mov r0, r5 + str ip, [sp, #0x28] + str r3, [sp, #0x2c] + str r2, [sp, #0x30] + bl func_ov00_02090b38 +_0209173c: + add r0, sp, #0x14 + str r0, [sp] + ldr r0, [r5, #4] + add r1, sp, #0x28 + add r2, sp, #0x18 + add r3, sp, #0x16 + add r0, r0, #0x26c + bl func_0202b734 + ldr r1, [sp, #0x18] + mov r0, r5 + bl func_ov00_02090ad8 + ldrsh r1, [sp, #0x16] + mov r0, r5 + bl func_ov00_02090ab8 + ldrsh r1, [sp, #0x14] + mov r0, r5 + bl func_ov00_02090ac8 + ldr r2, [r5, #4] + mov r3, #0 + add r0, r2, #0x260 + add r1, r2, #0x278 + add r2, r2, #0x26c + str r4, [sp] + bl func_02005dcc + add sp, sp, #0x94 + ldmia sp!, {r3, r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_020915e8 +_020917a4: .word data_027e0d38 +_020917a8: .word data_027e10a4 +_020917ac: .word data_027e0e60 +_020917b0: .word 0x000004cd +_020917b4: .word 0x0000ffff + + .global func_ov00_020917b8 + arm_func_start func_ov00_020917b8 +func_ov00_020917b8: ; 0x020917b8 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0x18c + ldr r1, _02091d3c ; =data_027e0f94 + ldr r2, _02091d40 ; =data_027e0fac + ldr r4, [r1] + ldr r3, [r1, #4] + str r4, [sp, #0x50] + str r3, [sp, #0x54] + ldr r3, [r1, #8] + add r1, sp, #0x50 + mov r5, r0 + str r3, [sp, #0x58] + ldrsh r4, [r2] + bl func_ov00_02090e30 + ldr r0, [r5, #4] + ldr r1, [r0, #0x15c] + cmp r1, #0x28 + bgt _0209183c + bge _02091998 + cmp r1, #0xf + bgt _02091830 + subs r0, r1, #0xa + addpl pc, pc, r0, lsl #2 + b _02091b44 +_02091818: ; jump table + b _02091988 ; case 0 + b _02091880 ; case 1 + b _02091870 ; case 2 + b _02091860 ; case 3 + b _02091890 ; case 4 + b _0209190c ; case 5 +_02091830: + cmp r1, #0x27 + beq _02091a6c + b _02091b44 +_0209183c: + cmp r1, #0x2a + bgt _02091854 + bge _02091998 + cmp r1, #0x29 + beq _02091a6c + b _02091b44 +_02091854: + cmp r1, #0x2b + beq _02091abc + b _02091b44 +_02091860: + add r1, sp, #0x50 + mov r0, r5 + bl func_ov00_02090c28 + b _02091bd4 +_02091870: + add r1, sp, #0x50 + mov r0, r5 + bl func_ov00_02090c28 + b _02091bd4 +_02091880: + add r1, sp, #0x50 + mov r0, r5 + bl func_ov00_02090c28 + b _02091bd4 +_02091890: + mov r0, r5 + bl func_ov00_02090a7c + ldr r1, [r0, #0x14] + mov r0, r5 + add r1, r4, r1 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090be8 + mov r0, r5 + bl func_ov00_02090a7c + ldr r1, [r0, #0x14] + mov r0, r5 + add r1, r4, r1 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090ac8 + ldr r0, _02091d3c ; =data_027e0f94 + strh r4, [r5, #0x14] + ldr r1, [r0, #4] + ldr r2, [r0] + str r1, [sp, #0x54] + str r2, [sp, #0x50] + ldr r2, [r0, #8] + add r1, sp, #0x50 + mov r0, r5 + str r2, [sp, #0x58] + bl func_ov00_02090e30 + add r1, sp, #0x50 + mov r0, r5 + bl func_ov00_02090c28 + b _02091bd4 +_0209190c: + mov r0, r5 + bl func_ov00_02090a7c + ldr r1, [r0, #0x14] + mov r0, r5 + add r1, r4, r1 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090be8 + mov r0, r5 + bl func_ov00_02090a7c + ldr r1, [r0, #0x14] + mov r0, r5 + add r1, r4, r1 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090ac8 + ldr r0, _02091d3c ; =data_027e0f94 + strh r4, [r5, #0x14] + ldr r1, [r0, #4] + ldr r2, [r0] + str r1, [sp, #0x54] + str r2, [sp, #0x50] + ldr r2, [r0, #8] + add r1, sp, #0x50 + mov r0, r5 + str r2, [sp, #0x58] + bl func_ov00_02090e30 + add r1, sp, #0x50 + mov r0, r5 + bl func_ov00_02090c28 + b _02091bd4 +_02091988: + add r1, sp, #0x50 + mov r0, r5 + bl func_ov00_02090c28 + b _02091bd4 +_02091998: + mov r0, r5 + bl func_ov00_02090a7c + add r6, sp, #0x124 + mov ip, r0 + mov r4, #6 +_020919ac: + ldmia ip!, {r0, r1, r2, r3} + stmia r6!, {r0, r1, r2, r3} + subs r4, r4, #1 + bne _020919ac + ldmia ip, {r0, r1} + stmia r6, {r0, r1} + add r0, sp, #0xbc + str r0, [sp] + ldr r1, [sp, #0x178] + add r3, sp, #0x44 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + str r1, [sp, #4] + mov r0, r5 + mov r1, #0 + mov r2, #1 + bl func_ov00_02091fe8 + ldr r4, [sp, #0x44] + ldr r3, [sp, #0x48] + ldr r2, [sp, #0x4c] + add r1, sp, #0x50 + mov r0, r5 + str r4, [sp, #0x50] + str r3, [sp, #0x54] + str r2, [sp, #0x58] + bl func_ov00_02090c28 + add r1, sp, #0x50 + mov r0, r5 + bl func_ov00_02090b08 + ldr r1, [sp, #0xcc] + mov r0, r5 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090bd8 + ldr r1, [sp, #0xd4] + mov r0, r5 + bl func_ov00_02090bf8 + ldr r1, [sp, #0xd0] + mov r0, r5 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090be8 + ldr r1, [sp, #0xc8] + mov r0, r5 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090bc8 + b _02091bd4 +_02091a6c: + ldr r0, _02091d44 ; =data_027e10a4 + add r1, sp, #0x38 + ldr r0, [r0] + bl func_ov15_02175cc4 + ldr r4, [sp, #0x38] + ldr r3, [sp, #0x3c] + ldr r2, [sp, #0x40] + add r1, sp, #0x50 + mov r0, r5 + str r4, [sp, #0x50] + str r3, [sp, #0x54] + str r2, [sp, #0x58] + bl func_ov00_02090e30 + add r1, sp, #0x50 + mov r0, r5 + bl func_ov00_02090c28 + add r1, sp, #0x50 + mov r0, r5 + bl func_ov00_02090b08 + b _02091bd4 +_02091abc: + mov r0, r5 + bl func_ov00_02090a7c + ldr r1, [r0, #0x14] + ldrsh r2, [r5, #0x14] + mov r0, r5 + add r1, r2, r1 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090be8 + mov r0, r5 + bl func_ov00_02090a7c + ldr r1, [r0, #0x14] + ldrsh r2, [r5, #0x14] + mov r0, r5 + add r1, r2, r1 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090ac8 + ldr r0, [r5, #8] + add r1, sp, #0x50 + str r0, [sp, #0x50] + ldr r2, [r5, #0xc] + mov r0, r5 + str r2, [sp, #0x54] + ldr r2, [r5, #0x10] + str r2, [sp, #0x58] + bl func_ov00_02090e30 + add r1, sp, #0x50 + mov r0, r5 + bl func_ov00_02090c28 + add r1, sp, #0x50 + mov r0, r5 + bl func_ov00_02090b08 + b _02091bd4 +_02091b44: + ldr r1, [r5, #8] + ldr r0, _02091d48 ; =data_027e0d38 + str r1, [sp, #0x50] + ldr r1, [r5, #0xc] + ldr r0, [r0] + str r1, [sp, #0x54] + ldr r1, [r5, #0x10] + str r1, [sp, #0x58] + bl func_ov00_02078b40 + cmp r0, #2 + ldrneb r0, [r5, #0x18] + cmpne r0, #0 + beq _02091bbc + add r0, sp, #0x50 + add r3, sp, #0x2c + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldr r0, [r5, #4] + mov r1, r3 + bl func_ov00_02086ed4 + cmp r0, #0 + bne _02091bb4 + ldr r2, [sp, #0x2c] + ldr r1, [sp, #0x30] + ldr r0, [sp, #0x34] + str r2, [sp, #0x50] + str r1, [sp, #0x54] + str r0, [sp, #0x58] +_02091bb4: + mov r0, #0 + strb r0, [r5, #0x18] +_02091bbc: + add r1, sp, #0x50 + mov r0, r5 + bl func_ov00_02090e30 + add r1, sp, #0x50 + mov r0, r5 + bl func_ov00_02090c28 +_02091bd4: + mov r0, r5 + bl func_ov00_02090a18 + mov r6, r0 + mov r0, r5 + bl func_ov00_02090a34 + mov r4, r0 + mov r0, r5 + bl func_ov00_02090a44 + str r0, [sp] + mov r2, r6 + mov r3, r4 + add r0, sp, #0x50 + add r1, sp, #0x20 + bl func_0202b66c + ldr r0, _02091d48 ; =data_027e0d38 + ldr r0, [r0] + bl func_ov00_02078b40 + cmp r0, #2 + bne _02091ce0 + ldrb r0, [r5, #0x18] + cmp r0, #0 + beq _02091ce0 + ldr r0, _02091d4c ; =data_027e0e60 + ldr r4, _02091d50 ; =0x000004cd + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_020848b8Ev + mov r1, #0 + cmp r0, #0 + ldr r0, _02091d54 ; =0x0000ffff + strh r1, [sp, #0x88] + strh r0, [sp, #0x80] + add r2, sp, #0x20 + strh r0, [sp, #0x82] + strh r0, [sp, #0x84] + strh r0, [sp, #0x86] + strb r1, [sp, #0xaa] + strb r1, [sp, #0xab] + strb r1, [sp, #0xac] + strb r1, [sp, #0xad] + strb r1, [sp, #0xb4] + strb r1, [sp, #0xb5] + strb r1, [sp, #0xb6] + strb r1, [sp, #0xb7] + strb r1, [sp, #0xb8] + strb r1, [sp, #0xb9] + str r4, [sp] + sub r0, r1, #1 + str r0, [sp, #4] + mov r0, #2 + str r0, [sp, #8] + str r1, [sp, #0xc] + str r1, [sp, #0x10] + ldr r0, _02091d4c ; =data_027e0e60 + add r1, sp, #0x5c + ldr r0, [r0] + mov r3, r2 + bl func_01ffbf5c + cmp r0, #0 + beq _02091cd8 + ldr r2, [sp, #0x5c] + ldr r1, [sp, #0x60] + ldr r0, [sp, #0x64] + str r2, [sp, #0x20] + str r1, [sp, #0x24] + str r0, [sp, #0x28] +_02091cd8: + mov r0, #0 + strb r0, [r5, #0x18] +_02091ce0: + add r1, sp, #0x20 + mov r0, r5 + bl func_ov00_02090c58 + ldr r0, [r5, #4] + ldr r0, [r0, #0x15c] + sub r0, r0, #0x27 + cmp r0, #3 + addls pc, pc, r0, lsl #2 + b _02091d34 +_02091d04: ; jump table + b _02091d28 ; case 0 + b _02091d14 ; case 1 + b _02091d28 ; case 2 + b _02091d14 ; case 3 +_02091d14: + add r1, sp, #0x20 + mov r0, r5 + bl func_ov00_02090b38 + add sp, sp, #0x18c + ldmia sp!, {r3, r4, r5, r6, pc} +_02091d28: + add r1, sp, #0x20 + mov r0, r5 + bl func_ov00_02090b38 +_02091d34: + add sp, sp, #0x18c + ldmia sp!, {r3, r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_020917b8 +_02091d3c: .word data_027e0f94 +_02091d40: .word data_027e0fac +_02091d44: .word data_027e10a4 +_02091d48: .word data_027e0d38 +_02091d4c: .word data_027e0e60 +_02091d50: .word 0x000004cd +_02091d54: .word 0x0000ffff + + .global func_ov00_02091d58 + arm_func_start func_ov00_02091d58 +func_ov00_02091d58: ; 0x02091d58 + stmdb sp!, {r4, r5, r6, r7, r8, lr} + sub sp, sp, #0x40 + mov r6, r0 + add r0, sp, #0x18 + bl func_ov00_020a0330 + add r2, sp, #0x18 + mov r1, #0 + mov r0, #1 +_02091d78: + add r1, r1, #1 + strb r0, [r2, #0x1c] + cmp r1, #7 + add r2, r2, #1 + blt _02091d78 + mov r0, r6 + bl func_ov00_02090e90 + cmp r0, #0 + blt _02091fc8 + mov r0, r6 + bl func_ov00_02090e90 + cmp r0, #0 + mov r0, r6 + bne _02091e78 + bl func_ov00_02090a64 + ldr r1, [r0] + str r1, [sp, #0x18] + ldr r1, [r0, #4] + str r1, [sp, #0x1c] + ldr r1, [r0, #8] + mov r0, r6 + str r1, [sp, #0x20] + bl func_ov00_02090a70 + ldr r1, [r0] + str r1, [sp, #0x24] + ldr r1, [r0, #4] + str r1, [sp, #0x28] + ldr r1, [r0, #8] + mov r0, r6 + str r1, [sp, #0x2c] + bl func_ov00_02090a54 + mov r2, #0x1680000 + umull r3, r4, r0, r2 + mov r1, #0 + adds r3, r3, #0x80000 + mov r5, r3, lsr #0x14 + mla r4, r0, r1, r4 + mov r3, r0, asr #0x1f + mla r4, r3, r2, r4 + adc r0, r4, #0 + orr r5, r5, r0, lsl #12 + mov r0, r6 + add r2, sp, #0x18 + str r1, [sp, #0x3c] + str r5, [sp, #0x30] + bl func_ov00_02090f14 + mov r1, #1 + mov r0, r6 + add r2, sp, #0x18 + str r1, [sp, #0x3c] + bl func_ov00_02090f14 + mov r0, #1 + str r0, [sp, #0x3c] + mov r0, r6 + mov r1, #2 + add r2, sp, #0x18 + bl func_ov00_02090f14 + mov r0, #1 + str r0, [sp, #0x3c] + mov r0, r6 + mov r1, #3 + add r2, sp, #0x18 + bl func_ov00_02090f14 + b _02091fc8 +_02091e78: + bl func_ov00_02090e90 + ldr r3, _02091fe4 ; =0x92492493 + mov r1, r0, lsr #0x1f + smull r2, r4, r3, r0 + add r4, r0, r4 + mov r0, r6 + add r4, r1, r4, asr #2 + bl func_ov00_02090e90 + ldr r2, [r6, #4] + sub r5, r0, r4, lsl #1 + ldr r7, [r2, #0x264] + ldr r3, [r2, #0x268] + ldr r2, [r2, #0x260] + mov r1, #0 + str r3, [sp, #0x20] + str r2, [sp, #0x18] + str r7, [sp, #0x1c] + ldr r0, [r6, #4] + mov r3, #0x1680000 + ldr r8, [r0, #0x270] + ldr r7, [r0, #0x274] + ldr r2, [r0, #0x26c] + mov r0, r6 + str r2, [sp, #0x24] + str r8, [sp, #0x28] + str r7, [sp, #0x2c] + ldr r7, [r6, #4] + add r2, sp, #0x18 + ldrsh ip, [r7, #4] + umull r8, lr, ip, r3 + mla lr, ip, r1, lr + mov r7, ip, asr #0x1f + mla lr, r7, r3, lr + adds r7, r8, #0x80000 + adc r3, lr, #0 + mov r7, r7, lsr #0x14 + orr r7, r7, r3, lsl #12 + str r1, [sp, #0x3c] + str r7, [sp, #0x30] + bl func_ov00_02090f14 + mov r0, r6 + mov r1, #1 + add r2, sp, #0x18 + str r4, [sp, #0x3c] + bl func_ov00_02090f14 + mov r0, r6 + bl func_ov00_02090a64 + ldr r1, [r0] + str r1, [sp, #0x18] + ldr r1, [r0, #4] + str r1, [sp, #0x1c] + ldr r1, [r0, #8] + mov r0, r6 + str r1, [sp, #0x20] + bl func_ov00_02090a70 + ldr r1, [r0] + str r1, [sp, #0x24] + ldr r1, [r0, #4] + str r1, [sp, #0x28] + ldr r1, [r0, #8] + mov r0, r6 + str r1, [sp, #0x2c] + bl func_ov00_02090a54 + str r5, [sp, #0x3c] + mov r3, #0x1680000 + mov r5, #0 + umull r7, lr, r0, r3 + mla lr, r0, r5, lr + mov ip, r0, asr #0x1f + mla lr, ip, r3, lr + adds r3, r7, #0x80000 + adc r0, lr, #0 + mov r3, r3, lsr #0x14 + orr r3, r3, r0, lsl #12 + mov r1, #2 + add r2, sp, #0x18 + mov r0, r6 + str r3, [sp, #0x30] + bl func_ov00_02090f14 + mov r0, r6 + mov r1, #3 + add r2, sp, #0x18 + str r4, [sp, #0x3c] + bl func_ov00_02090f14 +_02091fc8: + mov r0, r6 + mov r1, #3 + bl func_ov00_02090f24 + add r0, sp, #0x18 + bl func_ov00_020a0368 + add sp, sp, #0x40 + ldmia sp!, {r4, r5, r6, r7, r8, pc} + .align 2, 0 + arm_func_end func_ov00_02091d58 +_02091fe4: .word 0x92492493 + + .global func_ov00_02091fe8 + arm_func_start func_ov00_02091fe8 +func_ov00_02091fe8: ; 0x02091fe8 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + sub sp, sp, #0x80 + ldr r0, _020921e4 ; =data_027e0f64 + mov r7, r2 + ldr r0, [r0] + mov r6, r3 + add r0, r0, r1, lsl #2 + ldr r4, [r0, #4] + add r1, sp, #0x18 + mov r0, r4 + ldr r5, [sp, #0x98] + bl func_ov00_02087d34 + ldr r1, [r4, #0x260] + add r0, sp, #0 + str r1, [sp, #0xc] + ldr r2, [r4, #0x264] + add r1, sp, #0xc + str r2, [sp, #0x10] + ldr r3, [r4, #0x268] + mov r2, r0 + str r3, [sp, #0x14] + ldr r3, [r4, #0x26c] + str r3, [sp] + ldr r3, [r4, #0x270] + str r3, [sp, #4] + ldr r3, [r4, #0x274] + str r3, [sp, #8] + bl func_01ff9bf8 + ldr r1, [sp, #0x2c] + add r0, sp, #0 + rsb r1, r1, #0 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_020a61ac + cmp r7, #0 + ldreqsh r1, [sp, #0x9c] + ldreq r0, [sp, #0x24] + addeq r0, r1, r0, lsl #1 + beq _02092098 + ldr r0, [sp, #0x24] + ldrsh r1, [sp, #0x9c] + mov r0, r0, lsl #0x1 + rsb r0, r0, #0 + sub r0, r0, r1 +_02092098: + mov r0, r0, lsl #0x10 + mov r4, r0, asr #0x10 + add r0, sp, #0 + mov r1, r4 + bl func_ov00_020a6110 + ldr r1, [sp, #0x2c] + add r0, sp, #0 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_020a61ac + add r0, sp, #0 + add r1, sp, #0xc + mov r2, r6 + bl func_01ff9bc4 + ldr r0, [sp, #0x18] + mov r1, #0 + str r0, [r5] + ldr r0, [sp, #0x1c] + str r0, [r5, #4] + ldr r0, [sp, #0x20] + str r0, [r5, #8] + ldr r0, [sp, #0x24] + str r0, [r5, #0xc] + ldr r0, [sp, #0x28] + str r0, [r5, #0x10] + ldr r0, [sp, #0x2c] + str r0, [r5, #0x14] + ldr r0, [sp, #0x30] + str r0, [r5, #0x18] + ldr r0, [sp, #0x34] + str r0, [r5, #0x1c] + ldr r0, [sp, #0x38] + str r0, [r5, #0x20] + ldr r0, [sp, #0x3c] + str r0, [r5, #0x24] + ldr r0, [sp, #0x40] + str r0, [r5, #0x28] + ldr r0, [sp, #0x44] + str r0, [r5, #0x2c] + ldr r0, [sp, #0x48] + str r0, [r5, #0x30] + ldr r0, [sp, #0x4c] + str r0, [r5, #0x34] + ldr r0, [sp, #0x50] + str r0, [r5, #0x38] + ldr r0, [sp, #0x54] + str r0, [r5, #0x3c] + ldr r0, [sp, #0x58] + str r0, [r5, #0x40] + ldr r0, [sp, #0x5c] + str r0, [r5, #0x44] + ldr r0, [sp, #0x60] + str r0, [r5, #0x48] + ldr r0, [sp, #0x64] + str r0, [r5, #0x4c] + ldr r0, [sp, #0x68] + str r0, [r5, #0x50] + ldr r0, [sp, #0x6c] + str r0, [r5, #0x54] + ldr r0, [sp, #0x70] + str r0, [r5, #0x58] + ldr r0, [sp, #0x74] + str r0, [r5, #0x5c] + ldrb r0, [sp, #0x78] + strb r0, [r5, #0x60] + ldrb r0, [sp, #0x79] + strb r0, [r5, #0x61] + ldrb r0, [sp, #0x7a] + strb r0, [r5, #0x62] + ldrb r0, [sp, #0x7b] + strb r0, [r5, #0x63] + ldrb r0, [sp, #0x7c] + strb r0, [r5, #0x64] + ldr r0, [sp, #0x28] + sub r0, r0, r4 + mov r0, r0, lsl #0x10 + mov r0, r0, asr #0x10 + str r0, [r5, #0x10] + str r1, [r5, #0x24] + str r1, [r5, #0x20] + str r1, [r5, #0x1c] + add sp, sp, #0x80 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end func_ov00_02091fe8 +_020921e4: .word data_027e0f64 + + .global func_ov00_020921e8 + arm_func_start func_ov00_020921e8 +func_ov00_020921e8: ; 0x020921e8 + ldr ip, _020921f0 ; =func_ov00_02090f74 + bx ip + .align 2, 0 + arm_func_end func_ov00_020921e8 +_020921f0: .word func_ov00_02090f74 + + .global func_ov00_020921f4 + arm_func_start func_ov00_020921f4 +func_ov00_020921f4: ; 0x020921f4 + bx lr + arm_func_end func_ov00_020921f4 + + .global func_ov00_020921f8 + arm_func_start func_ov00_020921f8 +func_ov00_020921f8: ; 0x020921f8 + strb r1, [r0, #0x17] + bx lr + arm_func_end func_ov00_020921f8 + + .global func_ov00_02092200 + arm_func_start func_ov00_02092200 +func_ov00_02092200: ; 0x02092200 + ldrb r0, [r0, #0x17] + bx lr + arm_func_end func_ov00_02092200 + + .global func_ov00_02092208 + arm_func_start func_ov00_02092208 +func_ov00_02092208: ; 0x02092208 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02092208 + + .global func_ov00_0209221c + arm_func_start func_ov00_0209221c +func_ov00_0209221c: ; 0x0209221c + stmdb sp!, {r3, r4, r5, r6, r7, lr} + sub sp, sp, #0x68 + mov r4, r1 + mov r3, #0 + mov r5, r0 + bl func_ov00_020908f8 + cmp r4, #0 + bne _02092258 + mov r0, #0 + str r0, [r5, #0x1c] + str r0, [r5, #0x20] + str r0, [r5, #0x24] + str r0, [r5, #0x28] + str r0, [r5, #0x2c] + str r0, [r5, #0x30] +_02092258: + add r0, r5, #8 + add r3, sp, #0x5c + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r5 + mov r1, r3 + mov r2, #1 + bl func_ov00_020933d4 + ldr r0, [sp, #0x5c] + mov r1, #0 + str r0, [r5, #0x34] + ldr r2, [sp, #0x60] + mov r0, r5 + str r2, [r5, #0x38] + ldr r2, [sp, #0x64] + str r2, [r5, #0x3c] + str r1, [r5, #0x18] + str r1, [r5, #0x5c] + bl func_ov00_02090a7c + ldrb r0, [r0, #0x64] + cmp r0, #0 + beq _02092368 + add r0, sp, #0xa + str r0, [sp] + add r6, sp, #0x10 + add r1, sp, #0x50 + add r2, sp, #0xc + add r3, sp, #8 + mov r0, r5 + str r6, [sp, #4] + bl func_ov00_02093508 + add r0, sp, #0x50 + add r3, sp, #0x44 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r5 + mov r1, r3 + bl func_ov00_02090e10 + add r1, sp, #0x44 + mov r0, r5 + bl func_ov00_02090c28 + ldrsh r1, [sp, #0xc] + mov r0, r5 + bl func_ov00_02090bd8 + ldrsh r1, [sp, #8] + mov r0, r5 + bl func_ov00_02090be8 + ldrsh r1, [sp, #0xa] + mov r0, r5 + bl func_ov00_02090bc8 + ldr r1, [sp, #0x10] + mov r0, r5 + bl func_ov00_02090bf8 + mov r0, r5 + add r1, sp, #0x44 + bl func_ov00_02090b08 + ldrsh r1, [sp, #0xc] + mov r0, r5 + bl func_ov00_02090ab8 + ldrsh r1, [sp, #8] + mov r0, r5 + bl func_ov00_02090ac8 + ldrsh r1, [sp, #0xa] + mov r0, r5 + bl func_ov00_02090aac + ldr r1, [sp, #0x10] + mov r0, r5 + bl func_ov00_02090ad8 +_02092368: + ldr r0, [r5, #4] + ldr r0, [r0, #0x15c] + cmp r0, #0x31 + beq _0209242c + cmp r0, #0x54 + beq _020923dc + cmp r0, #0x57 + addne sp, sp, #0x68 + ldmneia sp!, {r3, r4, r5, r6, r7, pc} + add r2, sp, #0x38 + add r0, r5, #0x40 + add r1, r5, #0x4c + bl func_01ff9bf8 + ldr r1, [r5, #4] + ldr r0, [sp, #0x38] + ldr r6, [r1, #0x15c] + ldr r1, [sp, #0x40] + bl func_01ffa0f4 + mov r4, r0, lsl #0x10 + mov r0, r6 + bl func_ov00_02087d84 + ldr r1, [r0, #0x14] + mov r0, r5 + add r1, r1, r4, asr #16 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090be8 + add sp, sp, #0x68 + ldmia sp!, {r3, r4, r5, r6, r7, pc} +_020923dc: + add r2, sp, #0x2c + add r0, r5, #8 + add r1, r5, #0x4c + bl func_01ff9bf8 + ldr r1, [r5, #4] + ldr r0, [sp, #0x2c] + ldr r6, [r1, #0x15c] + ldr r1, [sp, #0x34] + bl func_01ffa0f4 + mov r4, r0, lsl #0x10 + mov r0, r6 + bl func_ov00_02087d84 + ldr r1, [r0, #0x14] + mov r0, r5 + add r1, r1, r4, asr #16 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090be8 + add sp, sp, #0x68 + ldmia sp!, {r3, r4, r5, r6, r7, pc} +_0209242c: + add r1, sp, #0x20 + mov r0, r5 + mov r2, #0 + bl func_ov00_020933d4 + add r0, sp, #0x20 + add r3, sp, #0x14 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r3 + mov r2, r3 + add r1, r5, #0x40 + bl func_01ff9bf8 + ldr r1, [r5, #4] + ldr r0, [sp, #0x14] + ldr r7, [r1, #0x15c] + ldr r1, [sp, #0x1c] + bl func_01ffa0f4 + mov r6, r0, lsl #0x10 + mov r0, r7 + bl func_ov00_02087d84 + ldr r1, [r0, #0x14] + mov r0, r5 + add r1, r1, r6, asr #16 + mov r1, r1, lsl #0x10 + mov r6, r1, asr #0x10 + mov r1, r6 + bl func_ov00_02090be8 + cmp r4, #0 + addne sp, sp, #0x68 + ldmneia sp!, {r3, r4, r5, r6, r7, pc} + mov r0, r5 + mov r1, r6 + bl func_ov00_02090ac8 + add sp, sp, #0x68 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end func_ov00_0209221c + + .global func_ov00_020924b8 + arm_func_start func_ov00_020924b8 +func_ov00_020924b8: ; 0x020924b8 + stmdb sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #0x174 + ldr r1, _020931d8 ; =data_027e0f90 + mov r4, r0 + ldr r0, [r1] + ldr r1, [r0] + ldr r1, [r1, #0xc] + blx r1 + cmp r0, #0 + addeq sp, sp, #0x174 + ldmeqia sp!, {r4, r5, r6, r7, pc} + add r1, sp, #0x100 + mov r0, r4 + mov r2, #0 + bl func_ov00_020933d4 + ldr r0, _020931dc ; =data_027e0fa0 + add r1, sp, #0xf4 + ldr r6, [r0] + ldr r2, [r0, #4] + ldr r0, [r0, #8] + str r6, [sp, #0xf4] + add r5, sp, #0xe8 + str r2, [sp, #0xf8] + str r0, [sp, #0xfc] + ldmia r1, {r0, r1, r2} + stmia r5, {r0, r1, r2} + ldr r0, [r4, #4] + ldr r3, _020931e0 ; =data_027e0fac + ldr r0, [r0, #0x15c] + mov r6, #0x1c000 + cmp r0, #0x54 + mov r7, #0x21000 + add r0, sp, #0xe8 + ldrh r5, [r3] + moveq r6, #0xa000 + moveq r7, #0xd000 + bl func_01ff9cec + cmp r0, #0x29 + blt _02092684 + add r0, sp, #0xe8 + bl func_01ff9cec + ldr r1, _020931e4 ; =0x0000028f + cmp r0, r1 + bge _02092684 + ldr r1, [sp, #0xe8] + ldr r0, [sp, #0xf0] + smull r2, r3, r1, r6 + adds r6, r2, #0x800 + smull r2, r1, r0, r7 + adc r0, r3, #0 + mov r3, r6, lsr #0xc + orr r3, r3, r0, lsl #20 + adds r2, r2, #0x800 + adc r0, r1, #0 + mov r1, r2, lsr #0xc + orr r1, r1, r0, lsl #20 + add r0, sp, #0xe8 + str r3, [sp, #0xe8] + str r1, [sp, #0xf0] + bl func_01ff9cec + mov r6, r0 + add r0, r4, #0x28 + bl func_01ff9cec + add r0, r4, #0x1c + bl func_01ff9cec + cmp r0, r6 + ble _02092634 + ldr r2, [sp, #0xe8] + ldr r1, [sp, #0xec] + rsb r3, r2, #0 + rsb r2, r1, #0 + ldr r0, [sp, #0xf0] + str r3, [sp, #0xdc] + rsb r1, r0, #0 + ldr r0, _020931e8 ; =data_ov00_020e2fa8 + str r2, [sp, #0xe0] + str r1, [sp, #0xe4] + ldr r3, [r4, #0x30] + ldr r2, [r4, #0x2c] + ldr r1, [r4, #0x28] + rsb r3, r3, #0 + rsb r2, r2, #0 + rsb r1, r1, #0 + str r1, [sp, #0xd0] + str r2, [sp, #0xd4] + str r3, [sp, #0xd8] + mov r3, #0x1000 + ldr r6, [r0] + str r3, [sp] + add r1, sp, #0xdc + add r2, sp, #0xd0 + add r0, r4, #0x1c + stmib sp, {r3, r6} + bl func_ov00_0209320c + b _02092658 +_02092634: + ldr r0, _020931e8 ; =data_ov00_020e2fa8 + mov r3, #0x1000 + ldr r6, [r0] + str r3, [sp] + add r1, sp, #0xe8 + add r0, r4, #0x1c + add r2, r4, #0x28 + stmib sp, {r3, r6} + bl func_ov00_0209320c +_02092658: + add r0, sp, #0x100 + add r1, r4, #0x1c + mov r2, r0 + bl func_01ff9bc4 + ldr r0, [sp, #0xe8] + str r0, [r4, #0x28] + ldr r0, [sp, #0xec] + str r0, [r4, #0x2c] + ldr r0, [sp, #0xf0] + str r0, [r4, #0x30] + b _020926ac +_02092684: + add r0, sp, #0x100 + add r1, r4, #0x1c + mov r2, r0 + bl func_01ff9bc4 + ldr r0, [r4, #0x1c] + str r0, [r4, #0x28] + ldr r0, [r4, #0x20] + str r0, [r4, #0x2c] + ldr r0, [r4, #0x24] + str r0, [r4, #0x30] +_020926ac: + ldr r0, [r4, #4] + ldr r0, [r0, #0x15c] + cmp r0, #0x31 + bgt _020926c4 + beq _02092750 + b _0209272c +_020926c4: + sub r0, r0, #0x50 + cmp r0, #0xb + addls pc, pc, r0, lsl #2 + b _0209272c +_020926d4: ; jump table + b _02092704 ; case 0 + b _0209272c ; case 1 + b _02092704 ; case 2 + b _02092704 ; case 3 + b _02092750 ; case 4 + b _0209272c ; case 5 + b _0209272c ; case 6 + b _02092750 ; case 7 + b _0209272c ; case 8 + b _0209272c ; case 9 + b _0209272c ; case 10 + b _02092750 ; case 11 +_02092704: + mov r0, r4 + bl func_ov00_02090e04 + mov r6, r0 + mov r0, r4 + bl func_ov00_02090a7c + ldr r1, [r0, #0x18] + ldr r2, _020931ec ; =0x0000019a + mov r0, r6 + bl Approach_thunk + b _02092750 +_0209272c: + mov r0, r4 + bl func_ov00_02090e04 + mov r6, r0 + mov r0, r4 + bl func_ov00_02090a7c + ldr r1, [r0, #0x18] + mov r0, r6 + mov r2, #0x1000 + bl Approach_thunk +_02092750: + ldr r0, [r4, #4] + ldr r0, [r0, #0x15c] + bl func_ov00_02087d84 + ldr r0, [r0, #0x10] + ldr r2, [r4, #4] + mov r1, r0, lsl #0x10 + ldr r0, [r2, #0x15c] + mov r6, r1, asr #0x10 + cmp r0, #0x31 + bgt _02092798 + bge _02092824 + cmp r0, #0x26 + bgt _02092b34 + cmp r0, #0x23 + blt _02092b34 + cmpne r0, #0x26 + beq _020927e0 + b _02092b34 +_02092798: + cmp r0, #0x50 + bgt _020927a8 + beq _0209295c + b _02092b34 +_020927a8: + sub r1, r0, #0x52 + cmp r1, #9 + addls pc, pc, r1, lsl #2 + b _02092b34 +_020927b8: ; jump table + b _0209295c ; case 0 + b _0209295c ; case 1 + b _02092a50 ; case 2 + b _02092b34 ; case 3 + b _02092b34 ; case 4 + b _020929c8 ; case 5 + b _02092b34 ; case 6 + b _02092b34 ; case 7 + b _02092b34 ; case 8 + b _02092ad8 ; case 9 +_020927e0: + bl func_ov00_02087d84 + ldr r1, [r0, #0x14] + mov r0, r4 + add r1, r5, r1 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090be8 + ldr r0, [r4, #4] + ldr r0, [r0, #0x15c] + bl func_ov00_02087d84 + ldr r1, [r0, #0x14] + mov r0, r4 + add r1, r5, r1 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090ac8 + b _02092b4c +_02092824: + add r0, sp, #0x100 + add r3, sp, #0xc4 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r3 + mov r2, r3 + add r1, r4, #0x40 + bl func_01ff9bf8 + ldr r1, [r4, #4] + ldr r0, [sp, #0xc4] + ldr r7, [r1, #0x15c] + ldr r1, [sp, #0xcc] + bl func_01ffa0f4 + mov r5, r0, lsl #0x10 + mov r0, r7 + bl func_ov00_02087d84 + ldr r1, [r0, #0x14] + add r0, sp, #0xc4 + add r1, r1, r5, asr #16 + mov r1, r1, lsl #0x10 + mov r5, r1, asr #0x10 + bl func_01ff9cec + mov r7, r0 + mov r0, r4 + bl func_ov00_02090a7c + cmp r7, #0x5000 + ldr r7, [r0, #0x18] + mov r0, r4 + bgt _02092914 + bl func_ov00_02090a24 + strh r0, [sp, #0x14] + add r0, sp, #0x14 + mov r1, #0x32 + mov r2, #0x1f4 + bl func_0202b154 + ldrsh r1, [sp, #0x14] + mov r0, r4 + bl func_ov00_02090c88 + ldr r0, _020931dc ; =data_027e0fa0 + ldr r2, [r0] + ldr r1, [r0, #4] + ldr r0, [r0, #8] + cmp r2, #0 + str r2, [sp, #0xb8] + str r1, [sp, #0xbc] + str r0, [sp, #0xc0] + cmpne r0, #0 + beq _020928f4 + mov r0, r4 + mov r1, r5 + bl func_ov00_02090be8 + b _02092908 +_020928f4: + ldr r1, [r4, #4] + mov r0, r4 + add r1, r1, #0x200 + ldrsh r1, [r1, #0x26] + bl func_ov00_02090be8 +_02092908: + ldr r6, _020931f0 ; =0x00000ccd + mov r7, #0x9000 + b _02092944 +_02092914: + bl func_ov00_02090a24 + strh r0, [sp, #0x12] + ldr r1, _020931f4 ; =0x00001388 + add r0, sp, #0x12 + mov r2, #3 + bl func_0202b154 + ldrsh r1, [sp, #0x12] + mov r0, r4 + bl func_ov00_02090c88 + mov r0, r4 + mov r1, r5 + bl func_ov00_02090be8 +_02092944: + mov r0, r4 + bl func_ov00_02090e04 + mov r1, r7 + mov r2, #0x1000 + bl Approach_thunk + b _02092b4c +_0209295c: + add r0, sp, #0x100 + add r3, sp, #0xac + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r3 + mov r2, r3 + add r1, r4, #0x40 + bl func_01ff9bf8 + ldr r1, [r4, #4] + ldr r0, [sp, #0xac] + ldr r7, [r1, #0x15c] + ldr r1, [sp, #0xb4] + bl func_01ffa0f4 + mov r5, r0, lsl #0x10 + mov r0, r7 + bl func_ov00_02087d84 + ldr r1, [r0, #0x14] + mov r0, r4 + add r1, r1, r5, asr #16 + mov r1, r1, lsl #0x10 + mov r5, r1, asr #0x10 + mov r1, r5 + bl func_ov00_02090be8 + mov r1, r5 + mov r0, r4 + bl func_ov00_02090ac8 + b _02092b4c +_020929c8: + add r2, sp, #0xa0 + add r0, r4, #0x40 + add r1, r4, #0x4c + bl func_01ff9bf8 + ldr r1, [r4, #4] + ldr r0, [sp, #0xa0] + ldr r7, [r1, #0x15c] + ldr r1, [sp, #0xa8] + bl func_01ffa0f4 + mov r5, r0, lsl #0x10 + mov r0, r7 + bl func_ov00_02087d84 + ldr r1, [r0, #0x14] + mov r0, r4 + add r1, r1, r5, asr #16 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090be8 + ldr r0, [r4, #4] + ldrb r0, [r0, #0x2ed] + cmp r0, #0 + mov r0, r4 + beq _02092a2c + bl func_ov00_02090f44 + b _02092b4c +_02092a2c: + bl func_ov00_02090e04 + mov r5, r0 + mov r0, r4 + bl func_ov00_02090a7c + ldr r1, [r0, #0x18] + mov r0, r5 + mov r2, #0x1000 + bl Approach_thunk + b _02092b4c +_02092a50: + add r0, sp, #0x100 + add r2, sp, #0x94 + add r1, r4, #0x4c + bl func_01ff9bf8 + ldr r1, [r4, #4] + ldr r0, [sp, #0x94] + ldr r7, [r1, #0x15c] + ldr r1, [sp, #0x9c] + bl func_01ffa0f4 + mov r5, r0, lsl #0x10 + mov r0, r7 + bl func_ov00_02087d84 + ldr r1, [r0, #0x14] + mov r0, r4 + add r1, r1, r5, asr #16 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090be8 + ldr r0, [r4, #4] + ldrb r0, [r0, #0x2ed] + cmp r0, #0 + mov r0, r4 + beq _02092ab4 + bl func_ov00_02090f44 + b _02092b4c +_02092ab4: + bl func_ov00_02090e04 + mov r5, r0 + mov r0, r4 + bl func_ov00_02090a7c + ldr r1, [r0, #0x18] + mov r0, r5 + mov r2, #0x1000 + bl Approach_thunk + b _02092b4c +_02092ad8: + ldrb r0, [r2, #0x2ed] + cmp r0, #0 + mov r0, r4 + beq _02092af0 + bl func_ov00_02090f44 + b _02092b10 +_02092af0: + bl func_ov00_02090e04 + mov r5, r0 + mov r0, r4 + bl func_ov00_02090a7c + ldr r1, [r0, #0x18] + mov r0, r5 + mov r2, #0x1000 + bl Approach_thunk +_02092b10: + ldr r0, [r4, #4] + ldr r0, [r0, #0x15c] + bl func_ov00_02087d84 + ldr r1, [r0, #0x14] + mov r0, r4 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090be8 + b _02092b4c +_02092b34: + bl func_ov00_02087d84 + ldr r1, [r0, #0x14] + mov r0, r4 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090be8 +_02092b4c: + ldr r0, [r4, #4] + ldr r0, [r0, #0x15c] + cmp r0, #0x16 + beq _02092b68 + cmp r0, #0x31 + beq _02092c64 + b _02092c74 +_02092b68: + bl func_ov00_02087d84 + ldr r1, _020931f8 ; =data_027e0f94 + ldr r0, [r0, #0x10] + ldr r2, [r1, #4] + ldr r3, [r1] + ldr r1, [r1, #8] + mov r0, r0, lsl #0x10 + str r3, [sp, #0x88] + str r2, [sp, #0x8c] + str r1, [sp, #0x90] + cmp r2, #0 + mov r5, r0, asr #0x10 + ble _02092c54 + ldr r0, [r4, #4] + ldr r0, [r0, #0x15c] + bl func_ov00_02087d84 + add r7, sp, #0x10c + mov ip, r0 + mov r6, #6 +_02092bb4: + ldmia ip!, {r0, r1, r2, r3} + stmia r7!, {r0, r1, r2, r3} + subs r6, r6, #1 + bne _02092bb4 + ldmia ip, {r0, r1} + stmia r7, {r0, r1} + ldr r1, [sp, #0x150] + ldr r0, [sp, #0x8c] + mov r1, r1, lsl #0xc + smull r3, r2, r1, r0 + adds r3, r3, #0x800 + adc r1, r2, #0 + mov r2, r3, lsr #0xc + orr r2, r2, r1, lsl #20 + add r1, r2, #0x800 + mov r1, r1, lsl #0x4 + ldr r2, [sp, #0x160] + mov r3, r1, asr #0x10 + cmp r2, r1, asr #16 + movlt r1, r2, lsl #0x10 + movlt r3, r1, asr #0x10 + ldr r1, [sp, #0x158] + sub r5, r5, r3 + umull r3, r2, r1, r0 + mov r6, r0, asr #0x1f + mla r2, r1, r6, r2 + mov r1, r1, asr #0x1f + mla r2, r1, r0, r2 + adds r3, r3, #0x800 + mov r0, r5, lsl #0x10 + mov r5, r0, asr #0x10 + adc r2, r2, #0 + mov r3, r3, lsr #0xc + ldr r1, [sp, #0x168] + orr r3, r3, r2, lsl #20 + cmp r3, r1 + ldr r0, [sp, #0x104] + movgt r3, r1 + add r0, r0, r3 + str r0, [sp, #0x104] +_02092c54: + mov r0, r4 + mov r1, r5 + bl func_ov00_02090bd8 + b _02092c8c +_02092c64: + mov r0, r4 + mov r1, r6 + bl func_ov00_02090bd8 + b _02092c8c +_02092c74: + bl func_ov00_02087d84 + ldr r1, [r0, #0x10] + mov r0, r4 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090bd8 +_02092c8c: + ldr r1, [r4, #4] + ldr r0, [r1, #0x15c] + cmp r0, #0x54 + cmpne r0, #0x57 + cmpne r0, #0x5b + ldr r0, [r1, #0x1b0] + bne _02092e10 + cmp r0, #0x1e + bgt _02092cf0 + rsb r1, r0, #0x1e + mov r0, r4 + mov r5, r1, lsl #0xc + bl func_ov00_02090a7c + ldr r2, [r0, #0x34] + cmp r5, #0x1000 + strle r2, [r4, #0x5c] + ble _02092d00 + ldr r0, [r4, #0x5c] + mov r1, r5 + sub r0, r2, r0 + bl Divide + ldr r1, [r4, #0x5c] + add r0, r1, r0 + str r0, [r4, #0x5c] + b _02092d00 +_02092cf0: + mov r0, r4 + bl func_ov00_02090a7c + ldr r0, [r0, #0x34] + str r0, [r4, #0x5c] +_02092d00: + ldr r1, [r4, #0x5c] + mov r0, r4 + bl func_ov00_02090c98 + ldr r0, [r4, #4] + ldrb r0, [r0, #0x2ed] + cmp r0, #0 + beq _02092fe4 + mov r0, r4 + bl func_ov00_02090f34 + add r0, sp, #0x100 + add r3, sp, #0x70 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldr r0, [r4, #4] + add r1, sp, #0x7c + add r0, r0, #0x2f0 + bl func_ov00_0208e6b0 + add r0, sp, #0x70 + add r3, sp, #0x64 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r3 + mov r2, r3 + add r1, sp, #0x7c + bl func_01ff9bf8 + add r0, sp, #0x64 + bl func_01fffb4c + add r0, sp, #0x64 + mov r1, #0x1800 + bl func_01fffbec + add r0, sp, #0x7c + add r1, sp, #0x64 + mov r2, r0 + bl func_01ff9bc4 + add r0, sp, #0x7c + add r1, sp, #0x70 + add r2, sp, #0x58 + bl func_01ff9bf8 + add r0, sp, #0x58 + bl func_01ff9cec + mov r5, r0 + cmp r5, #0x5000 + blt _02092df4 + ldr r2, [sp, #0x58] + ldr r1, [sp, #0x5c] + rsb r3, r2, #0 + rsb r2, r1, #0 + ldr r0, [sp, #0x60] + str r3, [sp, #0x58] + rsb r1, r0, #0 + add r0, sp, #0x58 + str r2, [sp, #0x5c] + str r1, [sp, #0x60] + bl func_01fffb4c + add r0, sp, #0x58 + sub r1, r5, #0x5000 + bl func_01fffbec + add r0, sp, #0x7c + add r1, sp, #0x58 + mov r2, r0 + bl func_01ff9bc4 +_02092df4: + ldr r2, [sp, #0x7c] + ldr r1, [sp, #0x80] + ldr r0, [sp, #0x84] + str r2, [sp, #0x100] + str r1, [sp, #0x104] + str r0, [sp, #0x108] + b _02092fe4 +_02092e10: + cmp r0, #0x1e + bgt _02092e58 + rsb r1, r0, #0x1e + mov r0, r4 + mov r5, r1, lsl #0xc + bl func_ov00_02090a7c + ldr r2, [r0, #0x34] + cmp r5, #0x1000 + strle r2, [r4, #0x5c] + ble _02092e60 + ldr r0, [r4, #0x5c] + mov r1, r5 + sub r0, r2, r0 + bl Divide + ldr r1, [r4, #0x5c] + add r0, r1, r0 + str r0, [r4, #0x5c] + b _02092e60 +_02092e58: + ldr r0, _020931ec ; =0x0000019a + str r0, [r4, #0x5c] +_02092e60: + ldr r1, [r4, #0x5c] + mov r0, r4 + bl func_ov00_02090c98 + ldr r0, [r4, #4] + ldrb r0, [r0, #0x2ed] + cmp r0, #0 + beq _02092f68 + mov r0, r4 + bl func_ov00_02090f34 + add r0, sp, #0x100 + add r3, sp, #0x40 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldr r0, [r4, #4] + add r1, sp, #0x4c + add r0, r0, #0x2f0 + bl func_ov00_0208e6b0 + ldr r1, [sp, #0x40] + add r0, sp, #0x4c + str r1, [r4, #0x34] + ldr r1, [sp, #0x44] + add r3, sp, #0x34 + str r1, [r4, #0x38] + ldr r1, [sp, #0x48] + str r1, [r4, #0x3c] + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r3 + mov r2, r3 + add r1, sp, #0x40 + bl func_01ff9bf8 + add r0, sp, #0x34 + mov r1, #0x800 + bl func_01fffbec + add r0, sp, #0x34 + bl func_01ff9cec + mov r5, r0 + ldr r0, _020931fc ; =0x00001ccd + cmp r5, r0 + blt _02092f28 + add r0, sp, #0x34 + mov r1, r0 + bl func_01ff9d4c + ldr r0, _02093200 ; =0xffffe333 + add r1, r5, r0 + rsb r0, r0, #0 + subs r1, r0, r1 + movmi r1, #0 + add r0, sp, #0x34 + bl func_01fffbec +_02092f28: + add r0, r4, #0x34 + add r1, sp, #0x34 + mov r2, r0 + bl func_01ff9bc4 + mov r0, #0x3c + str r0, [r4, #0x18] + ldr r0, [r4, #0x34] + ldr r1, _02093204 ; =0x000004cd + str r0, [sp, #0x100] + ldr r2, [r4, #0x38] + mov r0, r4 + str r2, [sp, #0x104] + ldr r2, [r4, #0x3c] + str r2, [sp, #0x108] + bl func_ov00_02090ca4 + b _02092fe4 +_02092f68: + ldr r0, [sp, #0x100] + str r0, [r4, #0x34] + ldr r0, [sp, #0x104] + str r0, [r4, #0x38] + ldr r0, [sp, #0x108] + str r0, [r4, #0x3c] + ldr r0, [r4, #0x18] + sub r0, r0, #1 + str r0, [r4, #0x18] + cmp r0, #0 + movle r0, #0 + strle r0, [r4, #0x18] + mov r0, r4 + bl func_ov00_02090aa0 + ldr r1, [r4, #0x18] + mov r5, r0 + mov r1, r1, lsl #0xc + cmp r1, #0x1000 + movle r1, #0x1000 + ble _02092fc4 + rsb r0, r5, #0x1000 + bl Divide + add r1, r5, r0 +_02092fc4: + mov r0, r4 + bl func_ov00_02090ca4 + ldr r0, [r4, #0x34] + str r0, [sp, #0x100] + ldr r0, [r4, #0x38] + str r0, [sp, #0x104] + ldr r0, [r4, #0x3c] + str r0, [sp, #0x108] +_02092fe4: + ldr r0, [r4, #4] + ldr r0, [r0, #0x15c] + cmp r0, #0x23 + bgt _02093004 + bge _020930b4 + cmp r0, #0x1d + beq _02093074 + b _020930d4 +_02093004: + cmp r0, #0x31 + bgt _02093014 + beq _0209309c + b _020930d4 +_02093014: + sub r0, r0, #0x46 + cmp r0, #0x13 + addls pc, pc, r0, lsl #2 + b _020930d4 +_02093024: ; jump table + b _02093074 ; case 0 + b _020930d4 ; case 1 + b _020930d4 ; case 2 + b _020930d4 ; case 3 + b _020930d4 ; case 4 + b _020930d4 ; case 5 + b _020930d4 ; case 6 + b _02093074 ; case 7 + b _020930d4 ; case 8 + b _020930d4 ; case 9 + b _0209309c ; case 10 + b _020930d4 ; case 11 + b _0209309c ; case 12 + b _0209309c ; case 13 + b _0209309c ; case 14 + b _020930d4 ; case 15 + b _020930d4 ; case 16 + b _020930d4 ; case 17 + b _02093074 ; case 18 + b _02093074 ; case 19 +_02093074: + ldr r0, [sp, #0x104] + cmp r0, #0x800 + movge r0, #0x800 + strge r0, [sp, #0x104] + mov r0, #0x1000 + ldr r1, [sp, #0x104] + rsb r0, r0, #0 + cmp r1, r0 + strle r0, [sp, #0x104] + b _020930d4 +_0209309c: + mov r0, #0x1000 + ldr r1, [sp, #0x104] + rsb r0, r0, #0 + cmp r1, r0 + strle r0, [sp, #0x104] + b _020930d4 +_020930b4: + ldr r0, _02093208 ; =data_027e0e60 + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_02082538Ev + add r3, sp, #0x28 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldr r0, [sp, #0x2c] + str r0, [sp, #0x104] +_020930d4: + mov r0, r4 + bl func_ov00_02090a7c + ldrb r0, [r0, #0x64] + cmp r0, #0 + beq _02093184 + add r0, sp, #0xc + str r0, [sp] + add r5, sp, #0x18 + add r1, sp, #0x1c + add r2, sp, #0x10 + add r3, sp, #0xe + mov r0, r4 + str r5, [sp, #4] + bl func_ov00_02093508 + ldr r5, [sp, #0x1c] + ldr r3, [sp, #0x20] + ldr r2, [sp, #0x24] + ldrsh r1, [sp, #0x10] + mov r0, r4 + str r5, [sp, #0x100] + str r3, [sp, #0x104] + str r2, [sp, #0x108] + bl func_ov00_02090bd8 + ldrsh r1, [sp, #0xe] + mov r0, r4 + bl func_ov00_02090be8 + ldrsh r1, [sp, #0xc] + mov r0, r4 + bl func_ov00_02090bc8 + ldr r1, [sp, #0x18] + mov r0, r4 + bl func_ov00_02090bf8 + ldrsh r1, [sp, #0x10] + mov r0, r4 + bl func_ov00_02090ab8 + ldrsh r1, [sp, #0xe] + mov r0, r4 + bl func_ov00_02090ac8 + ldrsh r1, [sp, #0xc] + mov r0, r4 + bl func_ov00_02090aac + ldr r1, [sp, #0x18] + mov r0, r4 + bl func_ov00_02090ad8 +_02093184: + add r1, sp, #0x100 + mov r0, r4 + bl func_ov00_02090e10 + add r1, sp, #0x100 + mov r0, r4 + bl func_ov00_02090c28 + mov r0, r4 + bl func_ov00_02090a7c + ldrb r0, [r0, #0x64] + cmp r0, #0 + beq _020931bc + add r1, sp, #0x100 + mov r0, r4 + bl func_ov00_02090b08 +_020931bc: + mov r0, r4 + bl func_ov00_02090f64 + mov r0, r4 + mov r1, #0 + bl func_ov00_02090f58 + add sp, sp, #0x174 + ldmia sp!, {r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end func_ov00_020924b8 +_020931d8: .word data_027e0f90 +_020931dc: .word data_027e0fa0 +_020931e0: .word data_027e0fac +_020931e4: .word 0x0000028f +_020931e8: .word data_ov00_020e2fa8 +_020931ec: .word 0x0000019a +_020931f0: .word 0x00000ccd +_020931f4: .word 0x00001388 +_020931f8: .word data_027e0f94 +_020931fc: .word 0x00001ccd +_02093200: .word 0xffffe333 +_02093204: .word 0x000004cd +_02093208: .word data_027e0e60 + + .global func_ov00_0209320c + arm_func_start func_ov00_0209320c +func_ov00_0209320c: ; 0x0209320c + stmdb sp!, {r3, r4, r5, r6, r7, lr} + sub sp, sp, #0x18 + mov r5, r2 + add r2, sp, #0xc + mov r6, r1 + mov r4, r0 + mov r7, r3 + bl func_01ff9bf8 + add r2, sp, #0 + mov r0, r5 + mov r1, r6 + bl func_01ff9bf8 + ldr r1, [sp, #0x38] + add r0, sp, #0 + bl func_01fffbec + add r0, sp, #0xc + bl func_01ff9cec + mov r6, r0 + add r0, sp, #0xc + add r1, sp, #0 + bl func_01ff9c2c + mov r1, r6 + bl Divide + mov r5, r0 + add r0, sp, #0xc + mov r1, r0 + bl func_01ff9d4c + ldr r3, [sp, #0x30] + sub r2, r7, r6 + smull lr, ip, r3, r2 + ldr r1, [sp, #0x34] + adds lr, lr, #0x800 + smull r3, r2, r1, r5 + adc r1, ip, #0 + mov ip, lr, lsr #0xc + adds r3, r3, #0x800 + orr ip, ip, r1, lsl #20 + adc r1, r2, #0 + mov r2, r3, lsr #0xc + orr r2, r2, r1, lsl #20 + ldr r1, [sp, #0x38] + add r2, ip, r2 + smull r3, r1, r2, r1 + adds r3, r3, #0x800 + adc r2, r1, #0 + mov r1, r3, lsr #0xc + add r0, sp, #0xc + orr r1, r1, r2, lsl #20 + bl func_01fffbec + mov r0, r4 + mov r2, r4 + add r1, sp, #0xc + bl func_01ff9bc4 + add sp, sp, #0x18 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end func_ov00_0209320c + + .global func_ov00_020932e8 + arm_func_start func_ov00_020932e8 +func_ov00_020932e8: ; 0x020932e8 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #0x18 + mov r4, r0 + ldr r2, [r4, #4] + add r1, sp, #0xc + ldr r0, [r2, #0x26c] + str r0, [sp, #0xc] + ldr r0, [r2, #0x270] + str r0, [sp, #0x10] + ldr r0, [r2, #0x274] + str r0, [sp, #0x14] + ldr r0, [r4, #4] + bl func_ov00_02086ed4 + mov r5, r0 + add r1, sp, #0xc + mov r0, r4 + bl func_ov00_02090c28 + ldr r0, [r4, #4] + ldr r0, [r0, #0x1b0] + cmp r0, #0x1e + ble _02093348 + add r1, sp, #0xc + mov r0, r4 + bl func_ov00_02090b08 +_02093348: + cmp r5, #0 + addne sp, sp, #0x18 + ldmneia sp!, {r3, r4, r5, pc} + add r1, sp, #0 + mov r0, r4 + mov r2, #0 + bl func_ov00_020933d4 + ldr r2, [sp, #0xc] + ldr r0, [sp] + add r1, sp, #0xc + sub r0, r2, r0 + str r0, [r4, #0x1c] + ldr r3, [sp, #0x14] + ldr r2, [sp, #8] + mov r0, r4 + sub r2, r3, r2 + str r2, [r4, #0x24] + ldr r3, [sp, #0xc] + ldr r2, [sp] + sub r2, r3, r2 + str r2, [r4, #0x28] + ldr r3, [sp, #0x14] + ldr r2, [sp, #8] + sub r2, r3, r2 + str r2, [r4, #0x30] + bl func_ov00_02090b08 + add sp, sp, #0x18 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_020932e8 + + .global func_ov00_020933b8 + arm_func_start func_ov00_020933b8 +func_ov00_020933b8: ; 0x020933b8 + ldr r2, [r1, #8] + str r2, [r0, #0x40] + ldr r2, [r1, #0xc] + str r2, [r0, #0x44] + ldr r1, [r1, #0x10] + str r1, [r0, #0x48] + bx lr + arm_func_end func_ov00_020933b8 + + .global func_ov00_020933d4 + arm_func_start func_ov00_020933d4 +func_ov00_020933d4: ; 0x020933d4 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0xc + ldr r2, _02093500 ; =data_027e0f94 + mov r4, r1 + ldr r1, [r2] + str r1, [r4] + ldr r1, [r2, #4] + str r1, [r4, #4] + ldr r1, [r2, #8] + str r1, [r4, #8] + ldr r1, [r0, #4] + ldr r1, [r1, #0x15c] + cmp r1, #0x46 + bgt _0209344c + bge _0209348c + cmp r1, #0x16 + bgt _0209343c + cmp r1, #0x14 + addlt sp, sp, #0xc + ldmltia sp!, {r3, r4, pc} + cmpne r1, #0x15 + cmpne r1, #0x16 + ldreq r0, [r0, #0x40] + add sp, sp, #0xc + streq r0, [r4] + ldmia sp!, {r3, r4, pc} +_0209343c: + cmp r1, #0x23 + beq _020934c8 + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} +_0209344c: + cmp r1, #0x4e + bgt _0209347c + cmp r1, #0x4d + blt _0209346c + cmpne r1, #0x4e + beq _0209349c + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} +_0209346c: + cmp r1, #0x47 + beq _0209348c + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} +_0209347c: + cmp r1, #0x59 + beq _0209349c + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} +_0209348c: + ldr r0, [r0, #0x48] + add sp, sp, #0xc + str r0, [r4, #8] + ldmia sp!, {r3, r4, pc} +_0209349c: + ldr r0, [r0, #0x48] + ldr r1, [r4, #8] + cmp r1, r0 + addle sp, sp, #0xc + strle r0, [r4, #8] + ldmleia sp!, {r3, r4, pc} + add r0, r0, #0x1000 + cmp r1, r0 + add sp, sp, #0xc + strgt r0, [r4, #8] + ldmia sp!, {r3, r4, pc} +_020934c8: + ldr r0, _02093504 ; =data_027e0e60 + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_02082538Ev + add r3, sp, #0 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldr r0, [sp] + str r0, [r4] + ldr r0, [sp, #4] + str r0, [r4, #4] + ldr r0, [sp, #8] + str r0, [r4, #8] + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} + .align 2, 0 + arm_func_end func_ov00_020933d4 +_02093500: .word data_027e0f94 +_02093504: .word data_027e0e60 + + .global func_ov00_02093508 + arm_func_start func_ov00_02093508 +func_ov00_02093508: ; 0x02093508 + stmdb sp!, {r4, r5, r6, r7, r8, lr} + sub sp, sp, #0x80 + ldr r0, _020935f8 ; =data_027e0f64 + mov r7, r1 + ldr r0, [r0] + add r1, sp, #0x18 + ldr r4, [r0, #4] + mov r6, r2 + mov r0, r4 + mov r5, r3 + bl func_ov00_02087d34 + ldr r1, [r4, #0x260] + add r0, sp, #0 + str r1, [sp, #0xc] + ldr r2, [r4, #0x264] + add r1, sp, #0xc + str r2, [sp, #0x10] + ldr r3, [r4, #0x268] + mov r2, r0 + str r3, [sp, #0x14] + ldr r3, [r4, #0x26c] + str r3, [sp] + ldr r3, [r4, #0x270] + str r3, [sp, #4] + ldr r3, [r4, #0x274] + str r3, [sp, #8] + bl func_01ff9bf8 + add r0, r4, #0x200 + ldrsh r1, [r0, #0x26] + add r0, sp, #0 + rsb r1, r1, #0 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_020a61ac + ldr r1, [sp, #0x24] + add r0, sp, #0 + mov r8, r1, lsl #0x11 + mov r1, r8, asr #0x10 + bl func_ov00_020a6110 + add r0, r4, #0x200 + ldrsh r1, [r0, #0x26] + add r0, sp, #0 + bl func_ov00_020a61ac + mov r2, r7 + add r0, sp, #0xc + add r1, sp, #0 + bl func_01ff9bc4 + ldr r0, [sp, #0x28] + ldr r1, [sp, #0x98] + sub r0, r0, r8, asr #16 + strh r0, [r6] + ldr r2, [sp, #0x24] + ldr r0, [sp, #0x9c] + strh r2, [r1] + ldr r1, [sp, #0x2c] + strh r1, [r5] + ldr r1, [sp, #0x30] + str r1, [r0] + add sp, sp, #0x80 + ldmia sp!, {r4, r5, r6, r7, r8, pc} + .align 2, 0 + arm_func_end func_ov00_02093508 +_020935f8: .word data_027e0f64 + + .global func_ov00_020935fc + arm_func_start func_ov00_020935fc +func_ov00_020935fc: ; 0x020935fc + ldr r3, [r1] + str r3, [r0, #0x4c] + ldr r3, [r1, #4] + str r3, [r0, #0x50] + ldr r1, [r1, #8] + str r1, [r0, #0x54] + strh r2, [r0, #0x58] + bx lr + arm_func_end func_ov00_020935fc + + .global func_ov00_0209361c + arm_func_start func_ov00_0209361c +func_ov00_0209361c: ; 0x0209361c + bx lr + arm_func_end func_ov00_0209361c + + .global func_ov00_02093620 + arm_func_start func_ov00_02093620 +func_ov00_02093620: ; 0x02093620 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02093620 + + .global func_ov00_02093634 + arm_func_start func_ov00_02093634 +func_ov00_02093634: ; 0x02093634 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r6, r0 + mov r0, #0 + strh r0, [r6, #0x1c] + strh r0, [r6, #0x1e] + str r0, [r6, #0x18] + ldr r3, [r6, #4] + mov r5, r1 + ldr r0, [r3, #0x1c0] + mov r4, r2 + cmp r0, #3 + beq _02093670 + cmp r0, #0x10 + beq _02093680 + b _0209368c +_02093670: + ldr r0, [r3, #0x1d0] + mov r0, r0, lsl #0x10 + mov r7, r0, asr #0x10 + b _0209369c +_02093680: + ldr r0, _020936d4 ; =data_027e0fac + ldrsh r7, [r0] + b _0209369c +_0209368c: + ldr r0, [r3, #0x1d0] + sub r0, r0, #0x8000 + mov r0, r0, lsl #0x10 + mov r7, r0, asr #0x10 +_0209369c: + mov r0, r6 + mov r1, r7 + bl func_ov00_02090be8 + cmp r5, #0 + bne _020936bc + mov r0, r6 + mov r1, r7 + bl func_ov00_02090ac8 +_020936bc: + mov r0, r6 + mov r1, r5 + mov r2, r4 + mov r3, #0 + bl func_ov00_020908f8 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end func_ov00_02093634 +_020936d4: .word data_027e0fac + + .global func_ov00_020936d8 + arm_func_start func_ov00_020936d8 +func_ov00_020936d8: ; 0x020936d8 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0xc + mov r4, r0 + bl func_ov00_02090a7c + ldr r1, [r0, #0xc] + mov r0, r4 + mov r1, r1, lsl #0x10 + mov r1, r1, asr #0x10 + bl func_ov00_02090aac + mov r0, r4 + bl func_ov00_02090a7c + ldr r1, [r0, #0x20] + mov r0, r4 + bl func_ov00_02090ae4 + mov r0, r4 + bl func_ov00_02090a7c + ldr r1, [r0, #0x1c] + mov r0, r4 + bl func_ov00_02090af0 + mov r0, r4 + bl func_ov00_02090a7c + ldr r1, [r0, #0x18] + mov r0, r4 + bl func_ov00_02090bf8 + mov r0, r4 + bl func_ov00_02090a7c + ldr r1, [r0, #0x18] + mov r0, r4 + bl func_ov00_02090ad8 + ldr r1, _020937d4 ; =data_027e0f94 + mov r0, r4 + ldr r3, [r1] + ldr r2, [r1, #4] + str r3, [sp] + str r2, [sp, #4] + ldr r2, [r1, #8] + add r1, sp, #0 + str r2, [sp, #8] + bl func_ov00_02090e10 + mov r0, r4 + add r1, sp, #0 + bl func_ov00_02090c58 + mov r0, r4 + add r1, sp, #0 + bl func_ov00_02090b38 + ldr r0, [r4, #0x18] + cmp r0, #0 + addlt sp, sp, #0xc + ldmltia sp!, {r3, r4, pc} + ldrsh r1, [r4, #0x1c] + mov r0, r4 + bl func_ov00_02090d60 + ldrsh r1, [r4, #0x1c] + mov r0, r4 + bl func_ov00_02090cbc + ldrsh r1, [r4, #0x1e] + mov r0, r4 + bl func_ov00_02090dec + ldrsh r1, [r4, #0x1e] + mov r0, r4 + bl func_ov00_02090d48 + add sp, sp, #0xc + ldmia sp!, {r3, r4, pc} + .align 2, 0 + arm_func_end func_ov00_020936d8 +_020937d4: .word data_027e0f94 + + .global func_ov00_020937d8 + arm_func_start func_ov00_020937d8 +func_ov00_020937d8: ; 0x020937d8 + bx lr + arm_func_end func_ov00_020937d8 + + .global func_ov00_020937dc + arm_func_start func_ov00_020937dc +func_ov00_020937dc: ; 0x020937dc + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #0x10 + mov r5, r0 + ldr ip, [r5, #4] + mov r4, r1 + add r2, ip, #0x200 + ldrsh r3, [r2, #0x26] + add r1, sp, #4 + add r0, ip, #0x260 + str r3, [sp] + ldrsh r3, [r2, #0x24] + ldr r2, [ip, #0x23c] + bl func_0202b66c + add r1, sp, #4 + mov r0, r5 + bl func_ov00_02090b08 + ldr r2, [r5, #4] + mov r3, #0 + add r0, r2, #0x260 + add r1, r2, #0x278 + add r2, r2, #0x26c + str r4, [sp] + bl func_02005dcc + add sp, sp, #0x10 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_020937dc + + .global func_ov00_02093840 + arm_func_start func_ov00_02093840 +func_ov00_02093840: ; 0x02093840 + mov r1, #0 + strh r1, [r0, #0x1c] + strh r1, [r0, #0x1e] + str r1, [r0, #0x18] + bx lr + arm_func_end func_ov00_02093840 + + .global func_ov00_02093854 + arm_func_start func_ov00_02093854 +func_ov00_02093854: ; 0x02093854 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + rsb r2, r2, #0x60 + cmp r2, #3 + mov r5, r0 + sub r4, r1, #0x80 + addge r6, r2, #3 + bge _02093880 + mvn r0, #2 + cmp r2, r0 + suble r6, r2, #3 + movgt r6, #0 +_02093880: + cmp r4, #4 + subge r4, r4, #4 + bge _0209389c + mvn r0, #3 + cmp r4, r0 + addle r4, r4, #4 + movgt r4, #0 +_0209389c: + ldr r0, [r5, #0x18] + adds r0, r0, #1 + str r0, [r5, #0x18] + ldmmiia sp!, {r3, r4, r5, r6, r7, pc} + bl func_02002540 + mov r1, #0x3f800000 + mov r7, r0 + bl func_02001fb0 + mov r0, r5 + movhs r7, #0x3f800000 + bl func_ov00_02090a7c + ldr r0, [r0, #0x2c] + mul r0, r6, r0 + bl func_02002540 + mov r1, r0 + mov r0, r7 + bl func_02002588 + bl func_0200250c + strh r0, [r5, #0x1c] + mov r0, r5 + bl func_ov00_02090a7c + ldr r0, [r0, #0x30] + mul r0, r4, r0 + bl func_02002540 + mov r1, r0 + mov r0, r7 + bl func_02002588 + mov r1, r0 + mov r0, #0 + bl func_02002774 + bl func_0200250c + strh r0, [r5, #0x1e] + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end func_ov00_02093854 + + .global func_ov00_02093920 + arm_func_start func_ov00_02093920 +func_ov00_02093920: ; 0x02093920 + mov r1, #0 + strh r1, [r0, #0x1c] + strh r1, [r0, #0x1e] + str r1, [r0, #0x18] + bx lr + arm_func_end func_ov00_02093920 + + .global func_ov00_02093934 + arm_func_start func_ov00_02093934 +func_ov00_02093934: ; 0x02093934 + bx lr + arm_func_end func_ov00_02093934 + + .global func_ov00_02093938 + arm_func_start func_ov00_02093938 +func_ov00_02093938: ; 0x02093938 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02093938 + + .global func_ov00_0209394c + arm_func_start func_ov00_0209394c +func_ov00_0209394c: ; 0x0209394c + stmib r0, {r1, r2} + str r1, [r0] + bx lr + arm_func_end func_ov00_0209394c + + .global func_ov00_02093958 + arm_func_start func_ov00_02093958 +func_ov00_02093958: ; 0x02093958 + str r2, [r0, #0x14] + str r1, [r0, #0x10] + str r1, [r0, #0xc] + bx lr + arm_func_end func_ov00_02093958 + + .global func_ov00_02093968 + arm_func_start func_ov00_02093968 +func_ov00_02093968: ; 0x02093968 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #8 + mov r4, r1 + mov r1, #0x4c + mul r2, r4, r1 + ldr r1, _020939d4 ; =data_027e0ce0 + mov r5, r0 + ldr r1, [r1, #4] + add r0, r2, #8 + mov r2, #4 + bl func_0202e9f4 + cmp r0, #0 + beq _020939bc + ldr r1, _020939d8 ; =func_ov00_020939e0 + ldr ip, _020939dc ; =func_ov00_0207e940 + str r1, [sp] + mov r1, r4 + mov r2, #0x4c + mov r3, #8 + str ip, [sp, #4] + bl func_0204f558 +_020939bc: + str r0, [r5, #0x20] + mov r0, #0 + str r0, [r5, #0x1c] + str r4, [r5, #0x18] + add sp, sp, #8 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_02093968 +_020939d4: .word data_027e0ce0 +_020939d8: .word func_ov00_020939e0 +_020939dc: .word func_ov00_0207e940 + + .global func_ov00_020939e0 + arm_func_start func_ov00_020939e0 +func_ov00_020939e0: ; 0x020939e0 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr ip, _02093a14 ; =func_ov00_0207e968 + ldr r3, _02093a18 ; =func_ov00_0207e96c + add r0, r4, #0x18 + mov r1, #3 + mov r2, #0x10 + str ip, [sp] + bl func_0204f614 + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + .align 2, 0 + arm_func_end func_ov00_020939e0 +_02093a14: .word func_ov00_0207e968 +_02093a18: .word func_ov00_0207e96c + + .global func_ov00_02093a1c + arm_func_start func_ov00_02093a1c +func_ov00_02093a1c: ; 0x02093a1c + ldr ip, [r1, #0x20] + mov r3, #0x4c + mla r3, r2, r3, ip + ldrh r2, [r3, #6] + ldr r1, [r1, #0x14] + ldr r1, [r1, r2, lsl #2] + str r1, [r0] + bx lr + arm_func_end func_ov00_02093a1c + + .global func_ov00_02093a3c + arm_func_start func_ov00_02093a3c +func_ov00_02093a3c: ; 0x02093a3c + ldr r2, [r2] + ldr r0, [r0, #0x14] + str r2, [r0, r1, lsl #2] + bx lr + arm_func_end func_ov00_02093a3c + + .global func_ov00_02093a4c + arm_func_start func_ov00_02093a4c +func_ov00_02093a4c: ; 0x02093a4c + ldr r1, [r1, #0x14] + ldr r1, [r1, r2, lsl #2] + str r1, [r0] + bx lr + arm_func_end func_ov00_02093a4c + + .global func_ov00_02093a5c + arm_func_start func_ov00_02093a5c +func_ov00_02093a5c: ; 0x02093a5c + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r3, [r5, #0x3c] + ldr r2, [r5, #0x38] + mov r4, r1 + cmp r3, r2 + movhs r0, #0 + ldmhsia sp!, {r3, r4, r5, pc} + bl func_01fff4c8 + cmp r0, #0 + movne r0, #0 + ldmneia sp!, {r3, r4, r5, pc} + ldr r0, [r5, #0x3c] + mov r1, #0 + mov r2, r1 + cmp r0, #0 + bls _02093ac8 + ldr r3, [r5, #0x40] +_02093aa4: + ldr r0, [r3, r2, lsl #2] + cmp r0, #0 + streq r4, [r3, r2, lsl #2] + moveq r1, #1 + beq _02093ac8 + ldr r0, [r5, #0x3c] + add r2, r2, #1 + cmp r2, r0 + blo _02093aa4 +_02093ac8: + cmp r1, #0 + bne _02093ae8 + ldr r1, [r5, #0x40] + ldr r0, [r5, #0x3c] + str r4, [r1, r0, lsl #2] + ldr r0, [r5, #0x3c] + add r0, r0, #1 + str r0, [r5, #0x3c] +_02093ae8: + mov r0, #1 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02093a5c + + .global func_ov00_02093af0 + arm_func_start func_ov00_02093af0 +func_ov00_02093af0: ; 0x02093af0 + ldr r2, [r0, #0x3c] + mov r3, #0 + cmp r2, #0 + bls _02093b50 + ldr ip, [r0, #0x40] +_02093b04: + ldr r2, [ip, r3, lsl #2] + cmp r2, r1 + bne _02093b40 + mov r1, #0 + str r1, [ip, r3, lsl #2] + ldr r1, [r0, #0x3c] + sub r1, r1, #1 + cmp r3, r1 + bne _02093b38 + ldr r1, [r0, #0x3c] + cmp r1, #0 + subne r1, r1, #1 + strne r1, [r0, #0x3c] +_02093b38: + mov r0, #1 + bx lr +_02093b40: + ldr r2, [r0, #0x3c] + add r3, r3, #1 + cmp r3, r2 + blo _02093b04 +_02093b50: + mov r0, #0 + bx lr + arm_func_end func_ov00_02093af0 + + .global func_ov00_02093b58 + arm_func_start func_ov00_02093b58 +func_ov00_02093b58: ; 0x02093b58 + stmdb sp!, {r4, r5, r6, r7, r8, lr} + sub sp, sp, #0x50 + mov r6, r3 + ldr ip, _02093c94 ; =func_ov00_0207e968 + mov r4, r0 + mov r8, r1 + mov r7, r2 + ldr r3, _02093c98 ; =func_ov00_0207e96c + add r0, sp, #0x1c + mov r1, #3 + mov r2, #0x10 + add r5, sp, #4 + str ip, [sp] + bl func_0204f614 + mov r0, r5 + strh r8, [r5] + str r4, [r5, #0x48] + strh r7, [r5, #2] + strh r6, [r5, #4] + bl func_ov00_0208e514 + ldrh r1, [sp, #0x68] + mov r0, #0x4c + ldrh r2, [sp, #4] + strh r1, [sp, #0xa] + ldr r3, [r4, #0x1c] + ldrh r1, [sp, #6] + mul r0, r3, r0 + ldr ip, [r4, #0x20] + ldr r3, _02093c94 ; =func_ov00_0207e968 + strh r2, [ip, r0] + add ip, ip, r0 + strh r1, [ip, #2] + ldrh r2, [sp, #8] + add r0, sp, #0x1c + mov r1, #3 + strh r2, [ip, #4] + ldrh lr, [sp, #0xa] + mov r2, #0x10 + strh lr, [ip, #6] + ldr lr, [sp, #0xc] + str lr, [ip, #8] + ldr lr, [sp, #0x10] + str lr, [ip, #0xc] + ldr lr, [sp, #0x14] + str lr, [ip, #0x10] + ldr lr, [sp, #0x18] + str lr, [ip, #0x14] + ldr lr, [sp, #0x1c] + str lr, [ip, #0x18] + ldr lr, [sp, #0x20] + str lr, [ip, #0x1c] + ldr lr, [sp, #0x24] + str lr, [ip, #0x20] + ldr lr, [sp, #0x28] + str lr, [ip, #0x24] + ldr lr, [sp, #0x2c] + str lr, [ip, #0x28] + ldr lr, [sp, #0x30] + str lr, [ip, #0x2c] + ldr lr, [sp, #0x34] + str lr, [ip, #0x30] + ldr lr, [sp, #0x38] + str lr, [ip, #0x34] + ldr lr, [sp, #0x3c] + str lr, [ip, #0x38] + ldr lr, [sp, #0x40] + str lr, [ip, #0x3c] + ldr lr, [sp, #0x44] + str lr, [ip, #0x40] + ldr lr, [sp, #0x48] + str lr, [ip, #0x44] + ldr lr, [sp, #0x4c] + str lr, [ip, #0x48] + ldr ip, [r4, #0x1c] + add ip, ip, #1 + str ip, [r4, #0x1c] + bl func_0204f754 + add sp, sp, #0x50 + ldmia sp!, {r4, r5, r6, r7, r8, pc} + .align 2, 0 + arm_func_end func_ov00_02093b58 +_02093c94: .word func_ov00_0207e968 +_02093c98: .word func_ov00_0207e96c + + .global func_ov00_02093c9c + arm_func_start func_ov00_02093c9c +func_ov00_02093c9c: ; 0x02093c9c + stmdb sp!, {r4, lr} + ldr r1, _02093cd0 ; =data_027e0f84 + mov r4, r0 + ldr r1, [r1] + mov r0, #0x74 + ldr r1, [r1] + mov r2, #4 + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + ldmeqia sp!, {r4, pc} + mov r1, r4 + bl func_ov00_02093cd4 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_02093c9c +_02093cd0: .word data_027e0f84 + + .global func_ov00_02093cd4 + arm_func_start func_ov00_02093cd4 +func_ov00_02093cd4: ; 0x02093cd4 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_0208b5bc + mov r1, #0 + ldr r2, _02093d7c ; =data_ov00_020e26b4 + ldr r0, _02093d80 ; =data_ov00_020e2f04 + str r2, [r4] + str r0, [r4, #0x38] + mov ip, #1 + strb ip, [r4, #0x3c] + strb r1, [r4, #0x3d] + str r1, [r4, #0x40] + str r1, [r4, #0x44] + ldr r2, _02093d84 ; =data_ov00_020e2dd8 + str r1, [r4, #0x48] + ldr r0, _02093d88 ; =data_ov00_020e2d44 + str r2, [r4, #0x38] + str r0, [r4] + strb r1, [r4, #0x64] + mov r2, r1 + mov r3, r1 + add r0, r4, #0x68 + strb ip, [r4, #0x65] + blx func_ov00_020bd618 + ldr r0, _02093d8c ; =data_027e0d38 + ldr r0, [r0] + add r0, r0, #0xc + bl func_ov00_020a5e9c + cmp r0, #0x29 + bne _02093d74 + ldr r0, _02093d90 ; =data_027e0f68 + mov r1, #0xe4 + ldr r0, [r0] + mov r2, #0 + bl func_ov00_0208ccdc + mov r1, r0 + add r0, r4, #0x68 + ldr r2, [r0] + ldr r2, [r2, #0xc] + blx r2 +_02093d74: + mov r0, r4 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_02093cd4 +_02093d7c: .word data_ov00_020e26b4 +_02093d80: .word data_ov00_020e2f04 +_02093d84: .word data_ov00_020e2dd8 +_02093d88: .word data_ov00_020e2d44 +_02093d8c: .word data_027e0d38 +_02093d90: .word data_027e0f68 + + .global func_ov00_02093d94 + arm_func_start func_ov00_02093d94 +func_ov00_02093d94: ; 0x02093d94 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02094824 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02093d94 + + .global func_ov00_02093da8 + arm_func_start func_ov00_02093da8 +func_ov00_02093da8: ; 0x02093da8 + stmdb sp!, {r4, lr} + mov r4, r0 + add r0, r4, #0x68 + blx func_ov00_020b3ea8 + add r0, r4, #0x38 + bl func_ov00_02094824 + mov r0, r4 + bl func_ov00_0208b5a4 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02093da8 + + .global func_ov00_02093dd0 + arm_func_start func_ov00_02093dd0 +func_ov00_02093dd0: ; 0x02093dd0 + stmdb sp!, {r4, lr} + mov r4, r0 + add r0, r4, #0x68 + blx func_ov00_020b3ea8 + add r0, r4, #0x38 + bl func_ov00_02094824 + mov r0, r4 + bl func_ov00_0208b5a4 + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02093dd0 + + .global func_ov00_02093e00 + arm_func_start func_ov00_02093e00 +func_ov00_02093e00: ; 0x02093e00 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x70 + mov r10, r0 + ldr r1, [r10, #4] + ldr r0, _020940cc ; =data_027e0e60 + orr r1, r1, #0x800 + str r1, [r10, #4] + ldr r2, [r10, #0x18] + add r1, sp, #8 + add r2, r2, #0x800 + str r2, [r10, #0x18] + ldrb r3, [r10, #0x15] + ldrb r2, [r10, #0x14] + ldr r0, [r0] + strb r2, [sp, #8] + strb r3, [sp, #9] + bl _ZN10MapManager16MapData_vfunc_60Ev + str r0, [r10, #0x1c] + ldr r0, [r10, #0x20] + add r0, r0, #0x800 + str r0, [r10, #0x20] + ldrh r0, [r10, #0x24] + cmp r0, #1 + bne _02093e70 + ldr r0, [r10, #0x1c] + add r0, r0, #0x66 + add r0, r0, #0x2600 + str r0, [r10, #0x1c] +_02093e70: + add r4, r10, #0x18 + ldmia r4, {r0, r1, r2} + add r5, sp, #0x64 + stmia r5, {r0, r1, r2} + ldmia r4, {r0, r1, r2} + ldr r4, _020940d0 ; =0x00000e66 + add r3, sp, #0x58 + stmia r3, {r0, r1, r2} + mov r3, #0 + add r1, sp, #0x34 + mov r0, r5 + mov r2, r5 + str r4, [sp, #0x34] + str r3, [sp, #0x38] + str r4, [sp, #0x3c] + bl func_01ff9bf8 + mov r3, r4 + add r2, r3, #0x1800 + add r0, sp, #0x58 + str r2, [sp, #0x2c] + add r1, sp, #0x28 + mov r2, r0 + str r3, [sp, #0x28] + str r3, [sp, #0x30] + bl func_01ff9bc4 + mov r0, #0 + bic r0, r0, #0x1f + orr r1, r0, #7 + ldrh r0, [r10, #0x26] + orr r1, r1, #0x10c00000 + bic r1, r1, #0x6000 + ldrh r4, [r10, #0x2a] + bic r1, r1, #0x3f0000 + and r0, r0, #0xff + orr r0, r1, r0, lsl #16 + str r0, [sp, #0xc] + cmp r4, #0 + beq _02093f80 + ldr r0, _020940d4 ; =gAdventureFlags + mov r1, r4 + ldr r0, [r0] + bl _ZN14AdventureFlags20Get_FlagsUnk_30_FlagEi + cmp r0, #0 + bne _02093f80 + mov r5, #0 + sub r3, r5, #2 + mov r6, #0x47 + mov r2, #0xff + add r1, sp, #0x40 + mov r0, r4 + str r6, [sp, #0x40] + str r5, [sp, #0x44] + str r5, [sp, #0x48] + str r3, [sp, #0x4c] + strh r5, [sp, #0x50] + strb r2, [sp, #0x52] + strb r5, [sp, #0x53] + strb r5, [sp, #0x54] + strb r5, [sp, #0x55] + bl _ZN14AdventureFlags15Get_FlagsUnk_00EiP9FlagsUnk2 + ldr r0, _020940cc ; =data_027e0e60 + add r1, sp, #0x40 + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_020838f8EPi + ldr r1, [sp, #0xc] + bic r1, r1, #0x3f0000 + orr r0, r1, r0, lsl #16 + str r0, [sp, #0xc] +_02093f80: + add r0, sp, #0x64 + add r3, sp, #0x10 + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + add r0, sp, #0x58 + add r3, sp, #0x1c + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r10 + bl func_ov00_0208b9cc + mov r1, #0 + mov r2, r0 + str r1, [sp] + add r0, r10, #0x38 + ldr r4, [r0] + ldr r3, [sp, #0xc] + ldr r4, [r4, #0x14] + add r1, sp, #0x10 + blx r4 + ldrb r8, [r10, #0x14] + add r0, r8, #2 + cmp r8, r0 + bge _0209406c + ldr r4, _020940cc ; =data_027e0e60 + add r6, sp, #6 + mov r5, #1 + add r11, sp, #4 +_02093fec: + ldrb r9, [r10, #0x15] + add r0, r9, #2 + cmp r9, r0 + bge _02094058 + and r7, r8, #0xff +_02094000: + ldr r0, [r4] + mov r1, r6 + mov r2, r5 + strb r7, [sp, #6] + strb r9, [sp, #7] + bl _ZN10MapManager18func_ov00_02082680Eii + ldr r0, [r4] + mov r1, r11 + mov r2, #1 + strb r7, [sp, #4] + strb r9, [sp, #5] + bl _ZN10MapManager18func_ov00_020826a0Eiii + ldr r0, [r4] + mov r1, r8 + mov r2, r9 + mov r3, #9 + bl _ZN10MapManager18func_ov00_02084d24Ecci + ldrb r0, [r10, #0x15] + add r9, r9, #1 + add r0, r0, #2 + cmp r9, r0 + blt _02094000 +_02094058: + ldrb r0, [r10, #0x14] + add r8, r8, #1 + add r0, r0, #2 + cmp r8, r0 + blt _02093fec +_0209406c: + ldrb r0, [r10, #0x2e] + cmp r0, #0 + beq _0209408c + mov r0, r10 + mov r1, #0 + bl func_ov00_0208b9e4 + cmp r0, #0 + beq _020940ac +_0209408c: + mov r0, r10 + ldr r3, [r0] + mov r1, #1 + ldr r3, [r3, #0x80] + mov r2, r1 + blx r3 + add sp, sp, #0x70 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} +_020940ac: + mov r0, r10 + ldr r3, [r0] + mov r1, #0 + ldr r3, [r3, #0x80] + mov r2, #1 + blx r3 + add sp, sp, #0x70 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_02093e00 +_020940cc: .word data_027e0e60 +_020940d0: .word 0x00000e66 +_020940d4: .word gAdventureFlags + + .global func_ov00_020940d8 + arm_func_start func_ov00_020940d8 +func_ov00_020940d8: ; 0x020940d8 + stmdb sp!, {r3, lr} + ldr lr, [r1] + ldr ip, [sp, #8] + str lr, [r0, #0x14] + ldr lr, [r1, #4] + str lr, [r0, #0x18] + ldr lr, [r1, #8] + str lr, [r0, #0x1c] + ldr lr, [r1, #0xc] + str lr, [r0, #0x20] + ldr lr, [r1, #0x10] + str lr, [r0, #0x24] + ldr r1, [r1, #0x14] + str r1, [r0, #0x28] + str r2, [r0, #8] + str r3, [r0, #0xc] + str ip, [r0, #0x10] + ldmia sp!, {r3, pc} + arm_func_end func_ov00_020940d8 + + .global func_ov00_02094120 + arm_func_start func_ov00_02094120 +func_ov00_02094120: ; 0x02094120 + stmdb sp!, {r4, lr} + ldr r2, [r0] + mov r4, r0 + ldr r2, [r2, #0x84] + blx r2 + cmp r0, #0 + ldmeqia sp!, {r4, pc} + ldr r0, [r4, #8] + cmp r0, #0 + beq _02094158 + cmp r0, #1 + beq _02094188 + cmp r0, #2 + b _02094198 +_02094158: + mov r0, r4 + mov r1, #0 + bl func_ov00_0208b9e4 + cmp r0, #0 + beq _02094198 + mov r0, r4 + ldr r3, [r0] + mov r1, #1 + ldr r3, [r3, #0x80] + mov r2, #0 + blx r3 + b _02094198 +_02094188: + ldrb r0, [r4, #0x65] + cmp r0, #0 + moveq r0, #1 + streqb r0, [r4, #0x64] +_02094198: + mov r0, #0 + strb r0, [r4, #0x65] + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02094120 + + .global func_ov00_020941a4 + arm_func_start func_ov00_020941a4 +func_ov00_020941a4: ; 0x020941a4 + str r1, [r0, #8] + cmp r1, #0 + beq _020941c8 + cmp r1, #1 + beq _020941d8 + cmp r1, #2 + moveq r1, #0 + streqb r1, [r0, #0x3c] + b _020941e4 +_020941c8: + ldr r1, [r0, #4] + bic r1, r1, #8 + str r1, [r0, #4] + b _020941e4 +_020941d8: + ldr r1, [r0, #4] + orr r1, r1, #8 + str r1, [r0, #4] +_020941e4: + mov r0, #1 + bx lr + arm_func_end func_ov00_020941a4 + + .global func_ov00_020941ec + arm_func_start func_ov00_020941ec +func_ov00_020941ec: ; 0x020941ec + ldr r2, [r0, #8] + cmp r2, #1 + movne r0, #1 + bxne lr + cmp r1, #0 + bne _02094214 + mov r1, #1 + strb r1, [r0, #0x65] + mov r0, r1 + bx lr +_02094214: + mov r0, #1 + bx lr + arm_func_end func_ov00_020941ec + + .global func_ov00_0209421c + arm_func_start func_ov00_0209421c +func_ov00_0209421c: ; 0x0209421c + stmdb sp!, {r4, lr} + sub sp, sp, #0xd0 + mov r4, r0 + ldrh r0, [r4, #0x28] + cmp r0, #1 + addeq sp, sp, #0xd0 + ldmeqia sp!, {r4, pc} + ldr r0, _020947e4 ; =data_027e0d38 + ldr r0, [r0] + add r0, r0, #0xc + bl func_ov00_020a5e9c + cmp r0, #0x29 + ldreqh r0, [r4, #0x24] + cmpeq r0, #0 + bne _02094288 + ldrsh r1, [r4, #0xc] + mov r0, #0x4000 + rsb r0, r0, #0 + cmp r1, r0 + bne _02094288 + add r0, r4, #0x68 + ldr r2, [r0] + add r1, r4, #0x18 + ldr r2, [r2, #0x18] + blx r2 + add sp, sp, #0xd0 + ldmia sp!, {r4, pc} +_02094288: + mov r1, #0 + mov r2, r1 + mov r0, #0x11 + bl func_01ffa9fc + ldr r1, _020947e8 ; =data_ov00_020ec9d6 + ldr r0, _020947ec ; =data_ov00_020ec9d4 + ldrh r3, [r1] + ldrh r2, [r0] + add r1, sp, #0x54 + mov r0, #0x30 + orr r2, r3, r2, lsl #16 + orr r3, r2, #0x8000 + mov r2, #1 + str r3, [sp, #0x54] + bl func_01ffa9fc + ldr r0, _020947f0 ; =0x00004210 + add r1, sp, #0x50 + str r0, [sp, #0x50] + mov r0, #0x31 + mov r2, #1 + bl func_01ffa9fc + ldrh r0, [r4, #0x24] + cmp r0, #1 + bne _0209437c + ldr r1, [r4, #0x1c] + ldr r0, _020947f4 ; =0xffffeccd + ldr r3, [r4, #0x20] + ldr r2, [r4, #0x18] + add r0, r1, r0 + str r2, [sp, #0xc4] + str r0, [sp, #0xc8] + add r1, sp, #0xc4 + str r3, [sp, #0xcc] + mov r0, #0x1c + mov r2, #3 + bl func_01ffa9fc + ldrh r1, [r4, #0xc] + ldr r3, _020947f8 ; =data_02050f54 + add r0, sp, #0xa0 + mov r1, r1, asr #0x4 + mov r2, r1, lsl #0x1 + add r1, r2, #1 + mov ip, r2, lsl #0x1 + mov r2, r1, lsl #0x1 + ldrsh r1, [r3, ip] + ldrsh r2, [r3, r2] + blx func_01ff8214 + add r1, sp, #0xa0 + mov r0, #0x1a + mov r2, #9 + bl func_01ffa9fc + mov r3, #0x2000 + ldr r2, _020947fc ; =0x00002666 + add r1, sp, #0x94 + str r2, [sp, #0x98] + mov r0, #0x1b + mov r2, #3 + str r3, [sp, #0x94] + str r3, [sp, #0x9c] + bl func_01ffa9fc + b _0209440c +_0209437c: + ldr r0, [r4, #0x1c] + ldr r3, [r4, #0x20] + ldr r2, [r4, #0x18] + add r0, r0, #0x33 + add r0, r0, #0x1300 + str r2, [sp, #0x88] + str r0, [sp, #0x8c] + add r1, sp, #0x88 + str r3, [sp, #0x90] + mov r0, #0x1c + mov r2, #3 + bl func_01ffa9fc + ldrh r1, [r4, #0xc] + ldr r3, _020947f8 ; =data_02050f54 + add r0, sp, #0x64 + mov r1, r1, asr #0x4 + mov r2, r1, lsl #0x1 + add r1, r2, #1 + mov ip, r2, lsl #0x1 + mov r2, r1, lsl #0x1 + ldrsh r1, [r3, ip] + ldrsh r2, [r3, r2] + blx func_01ff8214 + add r1, sp, #0x64 + mov r0, #0x1a + mov r2, #9 + bl func_01ffa9fc + mov r3, #0x2000 + ldr r2, _020947fc ; =0x00002666 + add r1, sp, #0x58 + str r2, [sp, #0x5c] + mov r0, #0x1b + mov r2, #3 + str r3, [sp, #0x58] + str r3, [sp, #0x60] + bl func_01ffa9fc +_0209440c: + ldrh r0, [r4, #0x24] + cmp r0, #1 + bne _02094478 + ldr r0, _02094800 ; =data_027e0d44 + add r1, sp, #0x4c + ldr r2, [r0] + mov r0, #0x2a + ldr r3, [r2, #0x40] + mov r2, #1 + mov r3, r3, lsl #0x10 + mov r3, r3, lsr #0x10 + bic r3, r3, #0xe0000000 + orr r3, r3, #0x5b00000 + orr r3, r3, #0x30000000 + str r3, [sp, #0x4c] + bl func_01ffa9fc + ldr r0, _02094800 ; =data_027e0d44 + add r1, sp, #0x48 + ldr r2, [r0] + mov r0, #0x2b + ldr r3, [r2, #0x44] + mov r2, #1 + mov r3, r3, lsl #0x10 + mov r3, r3, lsr #0x11 + str r3, [sp, #0x48] + bl func_01ffa9fc + b _020944d4 +_02094478: + ldr r0, _02094800 ; =data_027e0d44 + add r1, sp, #0x44 + ldr r2, [r0] + mov r0, #0x2a + ldr r3, [r2, #0x38] + mov r2, #1 + mov r3, r3, lsl #0x10 + mov r3, r3, lsr #0x10 + bic r3, r3, #0xe0000000 + orr r3, r3, #0x320000 + orr r3, r3, #0x36000000 + str r3, [sp, #0x44] + bl func_01ffa9fc + ldr r0, _02094800 ; =data_027e0d44 + add r1, sp, #0x40 + ldr r2, [r0] + mov r0, #0x2b + ldr r3, [r2, #0x3c] + mov r2, #1 + mov r3, r3, lsl #0x10 + mov r3, r3, lsr #0x11 + str r3, [sp, #0x40] + bl func_01ffa9fc +_020944d4: + ldr r0, _02094804 ; =0x001f0081 + add r1, sp, #0x3c + str r0, [sp, #0x3c] + mov r0, #0x29 + mov r2, #1 + bl func_01ffa9fc + ldrh r0, [r4, #0x24] + mov r2, #1 + cmp r0, #1 + bne _0209455c + add r1, sp, #0x38 + mov r0, #0x40 + str r2, [sp, #0x38] + bl func_01ffa9fc + mov r0, #6 + str r0, [sp] + mov r2, #1 + str r2, [sp, #4] + mov r0, #0 + str r0, [sp, #8] + str r0, [sp, #0xc] + mov r1, #0x40 + str r1, [sp, #0x10] + mov ip, #0x80 + mov r0, r4 + mov r1, #2 + mov r3, #5 + str ip, [sp, #0x14] + bl func_ov00_0208c2d4 + mov r1, #0 + mov r2, r1 + mov r0, #0x41 + bl func_01ffa9fc + b _020945b8 +_0209455c: + add r1, sp, #0x34 + mov r0, #0x40 + str r2, [sp, #0x34] + bl func_01ffa9fc + mov r0, #6 + str r0, [sp] + mov r2, #1 + str r2, [sp, #4] + mov r0, #0 + str r0, [sp, #8] + str r0, [sp, #0xc] + mov r1, #0x40 + str r1, [sp, #0x10] + mov ip, #0x80 + mov r0, r4 + mov r1, #2 + mov r3, #5 + str ip, [sp, #0x14] + bl func_ov00_0208c2d4 + mov r1, #0 + mov r2, r1 + mov r0, #0x41 + bl func_01ffa9fc +_020945b8: + ldr r0, _02094800 ; =data_027e0d44 + add r1, sp, #0x30 + ldr r2, [r0] + mov r0, #0x2a + ldr r3, [r2, #0x30] + mov r2, #1 + mov r3, r3, lsl #0x10 + mov r3, r3, lsr #0x10 + bic r3, r3, #0xe0000000 + orr r3, r3, #0x5200000 + orr r3, r3, #0x30000000 + str r3, [sp, #0x30] + bl func_01ffa9fc + ldr r0, _02094800 ; =data_027e0d44 + add r1, sp, #0x2c + ldr r2, [r0] + mov r0, #0x2b + ldr r3, [r2, #0x34] + mov r2, #1 + mov r3, r3, lsl #0x10 + mov r3, r3, lsr #0x11 + str r3, [sp, #0x2c] + bl func_01ffa9fc + ldrh r0, [r4, #0x24] + cmp r0, #1 + bne _020946d4 + ldr r0, _020947e4 ; =data_027e0d38 + ldr r0, [r0] + bl func_ov00_02078b40 + cmp r0, #4 + beq _020947c8 + mov r3, #0 + add r1, sp, #0x28 + mov r0, #0x40 + mov r2, #1 + str r3, [sp, #0x28] + bl func_01ffa9fc + mov r0, #2 + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + str r0, [sp, #8] + str r0, [sp, #0xc] + mov ip, #0x20 + str ip, [sp, #0x10] + str ip, [sp, #0x14] + mov r0, r4 + mov r1, #5 + mov r2, #4 + mov r3, #6 + str ip, [sp, #0x18] + bl func_ov00_0208c280 + mov r0, #3 + str r0, [sp] + mov r2, #0 + str r2, [sp, #4] + str r2, [sp, #8] + str r2, [sp, #0xc] + mov ip, #0x20 + str ip, [sp, #0x10] + str ip, [sp, #0x14] + mov r0, r4 + mov r1, #2 + mov r3, #1 + str ip, [sp, #0x18] + bl func_ov00_0208c280 + mov r1, #0 + mov r2, r1 + mov r0, #0x41 + bl func_01ffa9fc + b _020947c8 +_020946d4: + mov r3, #0 + add r1, sp, #0x24 + mov r0, #0x40 + mov r2, #1 + str r3, [sp, #0x24] + bl func_01ffa9fc + mov r2, #5 + str r2, [sp] + mov r0, #0 + str r0, [sp, #4] + str r0, [sp, #8] + str r0, [sp, #0xc] + mov ip, #0x20 + str ip, [sp, #0x10] + str ip, [sp, #0x14] + mov r0, r4 + mov r1, #6 + mov r3, #7 + str ip, [sp, #0x18] + bl func_ov00_0208c280 + mov r3, #2 + str r3, [sp] + mov r0, #0 + str r0, [sp, #4] + str r0, [sp, #8] + str r0, [sp, #0xc] + mov ip, #0x20 + str ip, [sp, #0x10] + str ip, [sp, #0x14] + mov r0, r4 + mov r1, #3 + mov r2, #1 + str ip, [sp, #0x18] + bl func_ov00_0208c280 + mov r1, #0 + mov r0, #0x41 + mov r2, r1 + bl func_01ffa9fc + mov r2, #1 + mov r0, #0x40 + add r1, sp, #0x20 + str r2, [sp, #0x20] + bl func_01ffa9fc + mov r1, #3 + str r1, [sp] + str r1, [sp, #4] + mov r1, #0 + str r1, [sp, #8] + str r1, [sp, #0xc] + mov r1, #0x20 + str r1, [sp, #0x10] + str r1, [sp, #0x14] + mov r0, r4 + mov r1, #7 + mov r2, #5 + mov r3, #1 + bl func_ov00_0208c2d4 + mov r1, #0 + mov r0, #0x41 + mov r2, r1 + bl func_01ffa9fc +_020947c8: + mov r2, #1 + add r1, sp, #0x1c + mov r0, #0x12 + str r2, [sp, #0x1c] + bl func_01ffa9fc + add sp, sp, #0xd0 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_0209421c +_020947e4: .word data_027e0d38 +_020947e8: .word data_ov00_020ec9d6 +_020947ec: .word data_ov00_020ec9d4 +_020947f0: .word 0x00004210 +_020947f4: .word 0xffffeccd +_020947f8: .word data_02050f54 +_020947fc: .word 0x00002666 +_02094800: .word data_027e0d44 +_02094804: .word 0x001f0081 + + .global func_ov00_02094808 + arm_func_start func_ov00_02094808 +func_ov00_02094808: ; 0x02094808 + mov r0, #0x1a + bx lr + arm_func_end func_ov00_02094808 + + .global func_ov00_02094810 + arm_func_start func_ov00_02094810 +func_ov00_02094810: ; 0x02094810 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02094810 + + .global func_ov00_02094824 + arm_func_start func_ov00_02094824 +func_ov00_02094824: ; 0x02094824 + bx lr + arm_func_end func_ov00_02094824 + + .global func_ov00_02094828 + arm_func_start func_ov00_02094828 +func_ov00_02094828: ; 0x02094828 + bx lr + arm_func_end func_ov00_02094828 + + .global func_ov00_0209482c + arm_func_start func_ov00_0209482c +func_ov00_0209482c: ; 0x0209482c + bx lr + arm_func_end func_ov00_0209482c + + .global func_ov00_02094830 + arm_func_start func_ov00_02094830 +func_ov00_02094830: ; 0x02094830 + bx lr + arm_func_end func_ov00_02094830 + + .global func_ov00_02094834 + arm_func_start func_ov00_02094834 +func_ov00_02094834: ; 0x02094834 + bx lr + arm_func_end func_ov00_02094834 + + .global func_ov00_02094838 + arm_func_start func_ov00_02094838 +func_ov00_02094838: ; 0x02094838 + bx lr + arm_func_end func_ov00_02094838 + + .global func_ov00_0209483c + arm_func_start func_ov00_0209483c +func_ov00_0209483c: ; 0x0209483c + bx lr + arm_func_end func_ov00_0209483c + + .global func_ov00_02094840 + arm_func_start func_ov00_02094840 +func_ov00_02094840: ; 0x02094840 + bx lr + arm_func_end func_ov00_02094840 + + .global func_ov00_02094844 + arm_func_start func_ov00_02094844 +func_ov00_02094844: ; 0x02094844 + bx lr + arm_func_end func_ov00_02094844 + + .global func_ov00_02094848 + arm_func_start func_ov00_02094848 +func_ov00_02094848: ; 0x02094848 + bx lr + arm_func_end func_ov00_02094848 + + .global func_ov00_0209484c + arm_func_start func_ov00_0209484c +func_ov00_0209484c: ; 0x0209484c + stmdb sp!, {r3, lr} + ldr r0, [r0, #0x10] + cmp r0, #0 + moveq r0, #1 + ldmeqia sp!, {r3, pc} + cmp r3, #0 + ldr r3, [r0] + beq _02094878 + ldr r3, [r3, #8] + blx r3 + ldmia sp!, {r3, pc} +_02094878: + ldr r3, [r3, #0xc] + blx r3 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0209484c + + .global func_ov00_02094884 + arm_func_start func_ov00_02094884 +func_ov00_02094884: ; 0x02094884 + stmdb sp!, {r3} + sub sp, sp, #4 + ldr r2, [r0, #0xc] + bic r2, r2, #0x6000 + orr r1, r2, r1, lsl #13 + str r1, [r0, #0xc] + add sp, sp, #4 + ldmia sp!, {r3} + bx lr + arm_func_end func_ov00_02094884 + + .global func_ov00_020948a8 + arm_func_start func_ov00_020948a8 +func_ov00_020948a8: ; 0x020948a8 + ldr ip, _020948b4 ; =func_01ffebe0 + add r0, r0, #0x14 + bx ip + .align 2, 0 + arm_func_end func_ov00_020948a8 +_020948b4: .word func_01ffebe0 + + .global func_ov00_020948b8 + arm_func_start func_ov00_020948b8 +func_ov00_020948b8: ; 0x020948b8 + ldr ip, _020948c4 ; =func_01ffebe0 + add r0, r0, #0x14 + bx ip + .align 2, 0 + arm_func_end func_ov00_020948b8 +_020948c4: .word func_01ffebe0 + + .global func_ov00_020948c8 + arm_func_start func_ov00_020948c8 +func_ov00_020948c8: ; 0x020948c8 + ldr ip, _020948d4 ; =func_01ffec34 + add r0, r0, #0x14 + bx ip + .align 2, 0 + arm_func_end func_ov00_020948c8 +_020948d4: .word func_01ffec34 + + .global func_ov00_020948d8 + arm_func_start func_ov00_020948d8 +func_ov00_020948d8: ; 0x020948d8 + ldr ip, _020948e4 ; =func_ov00_0208ee4c + add r0, r0, #0x14 + bx ip + .align 2, 0 + arm_func_end func_ov00_020948d8 +_020948e4: .word func_ov00_0208ee4c + + .global func_ov00_020948e8 + arm_func_start func_ov00_020948e8 +func_ov00_020948e8: ; 0x020948e8 + ldr ip, _020948f4 ; =func_ov00_0208f318 + add r0, r0, #0x14 + bx ip + .align 2, 0 + arm_func_end func_ov00_020948e8 +_020948f4: .word func_ov00_0208f318 + + .global func_ov00_020948f8 + arm_func_start func_ov00_020948f8 +func_ov00_020948f8: ; 0x020948f8 + ldr ip, _02094904 ; =func_ov00_0208f294 + add r0, r0, #0x14 + bx ip + .align 2, 0 + arm_func_end func_ov00_020948f8 +_02094904: .word func_ov00_0208f294 + + .global func_ov00_02094908 + arm_func_start func_ov00_02094908 +func_ov00_02094908: ; 0x02094908 + ldr ip, _02094914 ; =func_ov00_0208f374 + add r0, r0, #0x14 + bx ip + .align 2, 0 + arm_func_end func_ov00_02094908 +_02094914: .word func_ov00_0208f374 + + .global func_ov00_02094918 + arm_func_start func_ov00_02094918 +func_ov00_02094918: ; 0x02094918 + ldr ip, _02094924 ; =func_ov00_0208f478 + add r0, r0, #0x14 + bx ip + .align 2, 0 + arm_func_end func_ov00_02094918 +_02094924: .word func_ov00_0208f478 + + .global func_ov00_02094928 + arm_func_start func_ov00_02094928 +func_ov00_02094928: ; 0x02094928 + ldr ip, _02094934 ; =func_ov00_0208e7a4 + add r0, r0, #0x14 + bx ip + .align 2, 0 + arm_func_end func_ov00_02094928 +_02094934: .word func_ov00_0208e7a4 + + .global func_ov00_02094938 + arm_func_start func_ov00_02094938 +func_ov00_02094938: ; 0x02094938 + ldr ip, _02094944 ; =func_ov00_0208e72c + add r0, r0, #0x14 + bx ip + .align 2, 0 + arm_func_end func_ov00_02094938 +_02094944: .word func_ov00_0208e72c + + .global func_ov00_02094948 + arm_func_start func_ov00_02094948 +func_ov00_02094948: ; 0x02094948 + ldr ip, _02094954 ; =func_ov00_0208e82c + add r0, r0, #0x14 + bx ip + .align 2, 0 + arm_func_end func_ov00_02094948 +_02094954: .word func_ov00_0208e82c + + .global func_ov00_02094958 + arm_func_start func_ov00_02094958 +func_ov00_02094958: ; 0x02094958 + ldr ip, _02094964 ; =func_ov00_0208e87c + add r0, r0, #0x14 + bx ip + .align 2, 0 + arm_func_end func_ov00_02094958 +_02094964: .word func_ov00_0208e87c + + .global func_ov00_02094968 + arm_func_start func_ov00_02094968 +func_ov00_02094968: ; 0x02094968 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02094824 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02094968 + + .global func_ov00_0209497c + arm_func_start func_ov00_0209497c +func_ov00_0209497c: ; 0x0209497c + mov r0, #0 + bx lr + arm_func_end func_ov00_0209497c + + .global func_ov00_02094984 + arm_func_start func_ov00_02094984 +func_ov00_02094984: ; 0x02094984 + ldr r2, [r1] + str r2, [r0, #0x14] + ldr r2, [r1, #4] + str r2, [r0, #0x18] + ldr r2, [r1, #8] + str r2, [r0, #0x1c] + ldr r1, [r1, #0xc] + str r1, [r0, #0x20] + bx lr + arm_func_end func_ov00_02094984 + + .global func_ov00_020949a8 + arm_func_start func_ov00_020949a8 +func_ov00_020949a8: ; 0x020949a8 + stmdb sp!, {r3, lr} + ldr lr, [r1] + ldr ip, [sp, #8] + str lr, [r0, #0x14] + ldr lr, [r1, #4] + str lr, [r0, #0x18] + ldr lr, [r1, #8] + str lr, [r0, #0x1c] + ldr r1, [r1, #0xc] + str r1, [r0, #0x20] + str r2, [r0, #8] + str r3, [r0, #0xc] + str ip, [r0, #0x10] + ldmia sp!, {r3, pc} + arm_func_end func_ov00_020949a8 + + .global func_ov00_020949e0 + arm_func_start func_ov00_020949e0 +func_ov00_020949e0: ; 0x020949e0 + ldr r2, [r0, #0x14] + str r2, [r1] + ldr r2, [r0, #0x18] + str r2, [r1, #4] + ldr r2, [r0, #0x1c] + str r2, [r1, #8] + ldr r0, [r0, #0x20] + str r0, [r1, #0xc] + bx lr + arm_func_end func_ov00_020949e0 + + .global func_ov00_02094a04 + arm_func_start func_ov00_02094a04 +func_ov00_02094a04: ; 0x02094a04 + ldr r2, [r1] + str r2, [r0, #0x14] + ldr r2, [r1, #4] + str r2, [r0, #0x18] + ldr r1, [r1, #8] + str r1, [r0, #0x1c] + bx lr + arm_func_end func_ov00_02094a04 + + .global func_ov00_02094a20 + arm_func_start func_ov00_02094a20 +func_ov00_02094a20: ; 0x02094a20 + str r1, [r0, #0x20] + bx lr + arm_func_end func_ov00_02094a20 + + .global func_ov00_02094a28 + arm_func_start func_ov00_02094a28 +func_ov00_02094a28: ; 0x02094a28 + str r1, [r0, #0x20] + bx lr + arm_func_end func_ov00_02094a28 + + .global func_ov00_02094a30 + arm_func_start func_ov00_02094a30 +func_ov00_02094a30: ; 0x02094a30 + ldr r2, [r0, #0x14] + str r2, [r1] + ldr r2, [r0, #0x18] + str r2, [r1, #4] + ldr r0, [r0, #0x1c] + str r0, [r1, #8] + bx lr + arm_func_end func_ov00_02094a30 + + .global func_ov00_02094a4c + arm_func_start func_ov00_02094a4c +func_ov00_02094a4c: ; 0x02094a4c + ldr r0, [r0, #0x20] + bx lr + arm_func_end func_ov00_02094a4c + + .global func_ov00_02094a54 + arm_func_start func_ov00_02094a54 +func_ov00_02094a54: ; 0x02094a54 + ldr r0, [r0, #0x20] + bx lr + arm_func_end func_ov00_02094a54 + + .global func_ov00_02094a5c + arm_func_start func_ov00_02094a5c +func_ov00_02094a5c: ; 0x02094a5c + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02094824 + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02094a5c + + .global func_ov00_02094a78 + arm_func_start func_ov00_02094a78 +func_ov00_02094a78: ; 0x02094a78 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02094824 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02094a78 + + .global func_ov00_02094a8c + arm_func_start func_ov00_02094a8c +func_ov00_02094a8c: ; 0x02094a8c + mov r0, #1 + bx lr + arm_func_end func_ov00_02094a8c + + .global func_ov00_02094a94 + arm_func_start func_ov00_02094a94 +func_ov00_02094a94: ; 0x02094a94 + ldr ip, [r1, #0x10] + ldr r3, [r1, #0xc] + ldr r2, [r1] + str r2, [r0, #0x14] + ldr r2, [r1, #4] + str r2, [r0, #0x18] + ldr r1, [r1, #8] + str r1, [r0, #0x1c] + str r3, [r0, #0x20] + str ip, [r0, #0x24] + bx lr + arm_func_end func_ov00_02094a94 + + .global func_ov00_02094ac0 + arm_func_start func_ov00_02094ac0 +func_ov00_02094ac0: ; 0x02094ac0 + stmdb sp!, {r3, r4, r5, lr} + ldr r5, [r1, #0x10] + ldr r4, [r1, #0xc] + ldr lr, [r1] + ldr ip, [sp, #0x10] + str lr, [r0, #0x14] + ldr lr, [r1, #4] + str lr, [r0, #0x18] + ldr r1, [r1, #8] + str r1, [r0, #0x1c] + str r4, [r0, #0x20] + str r5, [r0, #0x24] + str r2, [r0, #8] + str r3, [r0, #0xc] + str ip, [r0, #0x10] + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02094ac0 + + .global func_ov00_02094b00 + arm_func_start func_ov00_02094b00 +func_ov00_02094b00: ; 0x02094b00 + ldr ip, [r0, #0x24] + ldr r3, [r0, #0x20] + ldr r2, [r0, #0x14] + str r2, [r1] + ldr r2, [r0, #0x18] + str r2, [r1, #4] + ldr r0, [r0, #0x1c] + str r0, [r1, #8] + str r3, [r1, #0xc] + str ip, [r1, #0x10] + bx lr + arm_func_end func_ov00_02094b00 + + .global func_ov00_02094b2c + arm_func_start func_ov00_02094b2c +func_ov00_02094b2c: ; 0x02094b2c + ldr r2, [r1] + str r2, [r0, #0x14] + ldr r2, [r1, #4] + str r2, [r0, #0x18] + ldr r1, [r1, #8] + str r1, [r0, #0x1c] + bx lr + arm_func_end func_ov00_02094b2c + + .global func_ov00_02094b48 + arm_func_start func_ov00_02094b48 +func_ov00_02094b48: ; 0x02094b48 + str r1, [r0, #0x20] + bx lr + arm_func_end func_ov00_02094b48 + + .global func_ov00_02094b50 + arm_func_start func_ov00_02094b50 +func_ov00_02094b50: ; 0x02094b50 + str r1, [r0, #0x24] + bx lr + arm_func_end func_ov00_02094b50 + + .global func_ov00_02094b58 + arm_func_start func_ov00_02094b58 +func_ov00_02094b58: ; 0x02094b58 + ldr r2, [r0, #0x14] + str r2, [r1] + ldr r2, [r0, #0x18] + str r2, [r1, #4] + ldr r0, [r0, #0x1c] + str r0, [r1, #8] + bx lr + arm_func_end func_ov00_02094b58 + + .global func_ov00_02094b74 + arm_func_start func_ov00_02094b74 +func_ov00_02094b74: ; 0x02094b74 + ldr r0, [r0, #0x20] + bx lr + arm_func_end func_ov00_02094b74 + + .global func_ov00_02094b7c + arm_func_start func_ov00_02094b7c +func_ov00_02094b7c: ; 0x02094b7c + ldr r0, [r0, #0x24] + bx lr + arm_func_end func_ov00_02094b7c + + .global func_ov00_02094b84 + arm_func_start func_ov00_02094b84 +func_ov00_02094b84: ; 0x02094b84 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02094824 + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02094b84 + + .global func_ov00_02094ba0 + arm_func_start func_ov00_02094ba0 +func_ov00_02094ba0: ; 0x02094ba0 + mov r0, #2 + bx lr + arm_func_end func_ov00_02094ba0 + + .global func_ov00_02094ba8 + arm_func_start func_ov00_02094ba8 +func_ov00_02094ba8: ; 0x02094ba8 + ldr r2, [r1] + str r2, [r0, #0x14] + ldr r2, [r1, #4] + str r2, [r0, #0x18] + ldr r2, [r1, #8] + str r2, [r0, #0x1c] + ldr r2, [r1, #0xc] + str r2, [r0, #0x20] + ldr r2, [r1, #0x10] + str r2, [r0, #0x24] + ldr r1, [r1, #0x14] + str r1, [r0, #0x28] + bx lr + arm_func_end func_ov00_02094ba8 + + .global func_ov00_02094bdc + arm_func_start func_ov00_02094bdc +func_ov00_02094bdc: ; 0x02094bdc + ldr r2, [r0, #0x14] + str r2, [r1] + ldr r2, [r0, #0x18] + str r2, [r1, #4] + ldr r2, [r0, #0x1c] + str r2, [r1, #8] + ldr r2, [r0, #0x20] + str r2, [r1, #0xc] + ldr r2, [r0, #0x24] + str r2, [r1, #0x10] + ldr r0, [r0, #0x28] + str r0, [r1, #0x14] + bx lr + arm_func_end func_ov00_02094bdc + + .global func_ov00_02094c10 + arm_func_start func_ov00_02094c10 +func_ov00_02094c10: ; 0x02094c10 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #0x18 + mov r5, r0 + mov r4, r1 + add r1, sp, #0 + add r0, r5, #0x14 + bl func_ov00_0208e6b0 + add r1, sp, #0 + add r2, sp, #0xc + mov r0, r4 + bl func_01ff9bf8 + add r0, r5, #0x14 + add r1, sp, #0xc + mov r2, r0 + bl func_01ff9bc4 + add r0, r5, #0x20 + add r1, sp, #0xc + mov r2, r0 + bl func_01ff9bc4 + add sp, sp, #0x18 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02094c10 + + .global func_ov00_02094c64 + arm_func_start func_ov00_02094c64 +func_ov00_02094c64: ; 0x02094c64 + cmp r1, #0 + bx lr + arm_func_end func_ov00_02094c64 + + .global func_ov00_02094c6c + arm_func_start func_ov00_02094c6c +func_ov00_02094c6c: ; 0x02094c6c + cmp r1, #0 + bx lr + arm_func_end func_ov00_02094c6c + + .global func_ov00_02094c74 + arm_func_start func_ov00_02094c74 +func_ov00_02094c74: ; 0x02094c74 + ldr ip, _02094c80 ; =func_ov00_0208e6b0 + add r0, r0, #0x14 + bx ip + .align 2, 0 + arm_func_end func_ov00_02094c74 +_02094c80: .word func_ov00_0208e6b0 + + .global func_ov00_02094c84 + arm_func_start func_ov00_02094c84 +func_ov00_02094c84: ; 0x02094c84 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + add r0, r5, #0x14 + bl func_ov00_0208e6f0 + mov r4, r0 + add r0, r5, #0x14 + bl func_ov00_0208e704 + cmp r4, r0 + movge r0, r4, asr #0x1 + movlt r0, r0, asr #0x1 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02094c84 + + .global func_ov00_02094cb0 + arm_func_start func_ov00_02094cb0 +func_ov00_02094cb0: ; 0x02094cb0 + ldr ip, _02094cbc ; =func_ov00_0208e718 + add r0, r0, #0x14 + bx ip + .align 2, 0 + arm_func_end func_ov00_02094cb0 +_02094cbc: .word func_ov00_0208e718 + + .global func_ov00_02094cc0 + arm_func_start func_ov00_02094cc0 +func_ov00_02094cc0: ; 0x02094cc0 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02094824 + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02094cc0 + + .global func_ov00_02094cdc + arm_func_start func_ov00_02094cdc +func_ov00_02094cdc: ; 0x02094cdc + mov r0, #1 + bx lr + arm_func_end func_ov00_02094cdc + + .global func_ov00_02094ce4 + arm_func_start func_ov00_02094ce4 +func_ov00_02094ce4: ; 0x02094ce4 + mov r0, #1 + bx lr + arm_func_end func_ov00_02094ce4 + + .global func_ov00_02094cec + arm_func_start func_ov00_02094cec +func_ov00_02094cec: ; 0x02094cec + mov r0, #1 + bx lr + arm_func_end func_ov00_02094cec + + .global func_ov00_02094cf4 + arm_func_start func_ov00_02094cf4 +func_ov00_02094cf4: ; 0x02094cf4 + mov r0, #1 + bx lr + arm_func_end func_ov00_02094cf4 + + .global func_ov00_02094cfc + arm_func_start func_ov00_02094cfc +func_ov00_02094cfc: ; 0x02094cfc + stmdb sp!, {lr} + sub sp, sp, #0xc + ldr r1, [r0, #4] + cmp r1, #0 + addeq sp, sp, #0xc + moveq r0, #0 + ldmeqia sp!, {pc} + mov r1, #0 + str r1, [sp] + str r1, [sp, #4] + str r1, [sp, #8] + ldr r0, [r0, #4] + mov r1, r2 + ldr r3, [r0] + add r2, sp, #0 + ldr r3, [r3, #0x48] + blx r3 + add sp, sp, #0xc + ldmia sp!, {pc} + arm_func_end func_ov00_02094cfc + + .global func_ov00_02094d48 + arm_func_start func_ov00_02094d48 +func_ov00_02094d48: ; 0x02094d48 + stmdb sp!, {lr} + sub sp, sp, #0xc + ldr r1, [r0, #4] + cmp r1, #0 + addeq sp, sp, #0xc + moveq r0, #0 + ldmeqia sp!, {pc} + mov r1, #0 + str r1, [sp] + str r1, [sp, #4] + str r1, [sp, #8] + ldr r0, [r0, #4] + mov r1, r2 + ldr r3, [r0] + add r2, sp, #0 + ldr r3, [r3, #0x48] + blx r3 + add sp, sp, #0xc + ldmia sp!, {pc} + arm_func_end func_ov00_02094d48 + + .global func_ov00_02094d94 + arm_func_start func_ov00_02094d94 +func_ov00_02094d94: ; 0x02094d94 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02081f6c + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02094d94 + + .global func_ov00_02094da8 + arm_func_start func_ov00_02094da8 +func_ov00_02094da8: ; 0x02094da8 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02081f6c + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02094da8 + + .global func_ov00_02094dc4 + arm_func_start func_ov00_02094dc4 +func_ov00_02094dc4: ; 0x02094dc4 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02081f6c + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02094dc4 + + .global func_ov00_02094dd8 + arm_func_start func_ov00_02094dd8 +func_ov00_02094dd8: ; 0x02094dd8 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02081f6c + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02094dd8 + + .global func_ov00_02094df4 + arm_func_start func_ov00_02094df4 +func_ov00_02094df4: ; 0x02094df4 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r1, #0 + str r1, [r4, #4] + bl func_ov00_02081f6c + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02094df4 + + .global func_ov00_02094e10 + arm_func_start func_ov00_02094e10 +func_ov00_02094e10: ; 0x02094e10 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r1, #0 + str r1, [r4, #4] + bl func_ov00_02081f6c + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02094e10 + + .global func_ov00_02094e34 + arm_func_start func_ov00_02094e34 +func_ov00_02094e34: ; 0x02094e34 + mov r1, #1 + strb r1, [r0] + mov r1, #0 + strh r1, [r0, #2] + strh r1, [r0, #4] + str r1, [r0, #8] + str r1, [r0, #0xc] + str r1, [r0, #0x10] + bx lr + arm_func_end func_ov00_02094e34 + + .global func_ov00_02094e58 + arm_func_start func_ov00_02094e58 +func_ov00_02094e58: ; 0x02094e58 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02095134 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02094e58 + + .global func_ov00_02094e6c + arm_func_start func_ov00_02094e6c +func_ov00_02094e6c: ; 0x02094e6c + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #8 + mov r10, r0 + mov r0, #1 + mov r6, r1 + strb r0, [r10] + mov r5, r2 + strh r6, [r10, #2] + ldr r0, _02094f84 ; =data_027e0e60 + strh r5, [r10, #4] + ldr r0, [r0] + mov r9, r3 + bl _ZN10MapManager17Get_MapData_Unk28Ev + ldrh r1, [r10, #2] + bl func_02002c14 + mov r1, r0, lsl #0xc + ldr r0, _02094f84 ; =data_027e0e60 + str r1, [r10, #0xc] + ldr r0, [r0] + bl _ZN10MapManager17Get_MapData_Unk2aEv + ldrh r1, [r10, #4] + bl func_02002c14 + mov r0, r0, lsl #0xc + str r0, [r10, #0x10] + ldr r0, [r10, #8] + cmp r0, #0 + bne _02094f24 + mul r4, r6, r5 + mov r0, #0xc + mul r0, r4, r0 + ldr r1, _02094f88 ; =data_027e0ce0 + add r0, r0, #8 + ldr r1, [r1, #4] + mov r2, #4 + bl func_0202e9f4 + cmp r0, #0 + beq _02094f20 + ldr r1, _02094f8c ; =func_ov00_02094fa8 + ldr r7, _02094f90 ; =func_ov00_02094f94 + str r1, [sp] + mov r1, r4 + mov r2, #0xc + mov r3, #8 + str r7, [sp, #4] + bl func_0204f558 +_02094f20: + str r0, [r10, #8] +_02094f24: + mul r8, r6, r5 + cmp r8, #0 + mov r5, #0 + addle sp, sp, #8 + ldmleia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + mov r7, r5 + mov r11, r9, lsl #0x1 +_02094f40: + ldr r0, _02094f88 ; =data_027e0ce0 + ldr r4, [r10, #8] + ldr r1, [r0, #4] + mov r0, r11 + mov r2, #4 + add r6, r4, r7 + bl func_0202e9f4 + str r0, [r6, #8] + mov r0, #0 + str r0, [r6, #4] + add r5, r5, #1 + str r9, [r4, r7] + cmp r5, r8 + add r7, r7, #0xc + blt _02094f40 + add sp, sp, #8 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_02094e6c +_02094f84: .word data_027e0e60 +_02094f88: .word data_027e0ce0 +_02094f8c: .word func_ov00_02094fa8 +_02094f90: .word func_ov00_02094f94 + + .global func_ov00_02094f94 + arm_func_start func_ov00_02094f94 +func_ov00_02094f94: ; 0x02094f94 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02095324 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02094f94 + + .global func_ov00_02094fa8 + arm_func_start func_ov00_02094fa8 +func_ov00_02094fa8: ; 0x02094fa8 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02095310 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02094fa8 + + .global func_ov00_02094fbc + arm_func_start func_ov00_02094fbc +func_ov00_02094fbc: ; 0x02094fbc + stmdb sp!, {r4, r5, r6, r7, r8, lr} + sub sp, sp, #8 + mov r4, r0 + mov r0, #0 + mov r6, r1 + strb r0, [r4] + ldrh r0, [r6, #8] + strh r0, [r4, #2] + ldrh r0, [r6, #0xa] + strh r0, [r4, #4] + ldrh r0, [r4, #2] + cmp r0, #0 + ldrneh r0, [r4, #4] + cmpne r0, #0 + addeq sp, sp, #8 + ldmeqia sp!, {r4, r5, r6, r7, r8, pc} + ldr r0, _02095124 ; =data_027e0e60 + ldr r0, [r0] + bl _ZN10MapManager17Get_MapData_Unk28Ev + ldrh r1, [r4, #2] + bl func_02002c14 + mov r1, r0, lsl #0xc + ldr r0, _02095124 ; =data_027e0e60 + str r1, [r4, #0xc] + ldr r0, [r0] + bl _ZN10MapManager17Get_MapData_Unk2aEv + ldrh r1, [r4, #4] + bl func_02002c14 + mov r0, r0, lsl #0xc + str r0, [r4, #0x10] + ldr r0, _02095128 ; =data_027e0ce0 + ldrh r7, [r4, #2] + ldr r1, [r0, #4] + ldrh r3, [r4, #4] + mov r0, #0xc + mov r2, #4 + mul r5, r7, r3 + mul r0, r5, r0 + add r0, r0, #8 + bl func_0202e9f4 + cmp r0, #0 + beq _02095084 + ldr r1, _0209512c ; =func_ov00_02094fa8 + ldr r7, _02095130 ; =func_ov00_02094f94 + str r1, [sp] + mov r1, r5 + mov r2, #0xc + mov r3, #8 + str r7, [sp, #4] + bl func_0204f558 +_02095084: + str r0, [r4, #8] + ldrh r0, [r4, #2] + add r2, r6, #0xc + mov r3, #0 + cmp r0, #0 + addle sp, sp, #8 + ldmleia sp!, {r4, r5, r6, r7, r8, pc} + mov r1, r3 + mov r5, #0xc +_020950a8: + ldrh r0, [r4, #4] + mov ip, r1 + cmp r0, #0 + ble _0209510c +_020950b8: + ldrh r6, [r4, #2] + ldrh r0, [r2] + ldr r8, [r4, #8] + mla r6, ip, r6, r3 + mul r7, r6, r5 + add lr, r8, r7 + add r6, r2, #2 + str r6, [lr, #8] + mov r6, r0, lsl #0x1 + str r0, [lr, #4] + add lr, r6, #2 + str r0, [r8, r7] + mov r6, lr, lsr #0x1f + rsb r0, r6, lr, lsl #30 + add r0, r6, r0, ror #30 + add r6, lr, r0 + ldrh r0, [r4, #4] + add ip, ip, #1 + add r2, r2, r6 + cmp ip, r0 + blt _020950b8 +_0209510c: + ldrh r0, [r4, #2] + add r3, r3, #1 + cmp r3, r0 + blt _020950a8 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} + .align 2, 0 + arm_func_end func_ov00_02094fbc +_02095124: .word data_027e0e60 +_02095128: .word data_027e0ce0 +_0209512c: .word func_ov00_02094fa8 +_02095130: .word func_ov00_02094f94 + + .global func_ov00_02095134 + arm_func_start func_ov00_02095134 +func_ov00_02095134: ; 0x02095134 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r0, [r4, #8] + cmp r0, #0 + beq _020951c0 + ldrb r0, [r4] + cmp r0, #0 + bne _020951a4 + ldrh r1, [r4, #2] + ldrh r0, [r4, #4] + mov r3, #0 + mul r0, r1, r0 + cmp r0, #0 + ble _020951a4 + mov ip, r3 + mov r2, r3 +_02095174: + ldr r0, [r4, #8] + add r3, r3, #1 + add r1, r0, ip + str r2, [r1, #8] + str r2, [r1, #4] + str r2, [r0, ip] + ldrh r1, [r4, #2] + ldrh r0, [r4, #4] + add ip, ip, #0xc + mul r0, r1, r0 + cmp r3, r0 + blt _02095174 +_020951a4: + ldr r0, [r4, #8] + ldr r3, _020951d0 ; =func_ov00_02094f94 + mov r1, #0xc + mov r2, #8 + bl func_0204f7b0 + mov r0, #0 + str r0, [r4, #8] +_020951c0: + mov r0, #0 + strh r0, [r4, #2] + strh r0, [r4, #4] + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_02095134 +_020951d0: .word func_ov00_02094f94 + + .global func_ov00_020951d4 + arm_func_start func_ov00_020951d4 +func_ov00_020951d4: ; 0x020951d4 + stmdb sp!, {r3, lr} + ldrh r2, [r0, #2] + ldrh r1, [r0, #4] + mov ip, #0 + mul r1, r2, r1 + cmp r1, #0 + ldmleia sp!, {r3, pc} + mov lr, ip + mov r3, ip +_020951f8: + ldr r1, [r0, #8] + add ip, ip, #1 + add r1, r1, lr + str r3, [r1, #4] + ldrh r2, [r0, #2] + ldrh r1, [r0, #4] + add lr, lr, #0xc + mul r1, r2, r1 + cmp ip, r1 + blt _020951f8 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_020951d4 + + .global func_ov00_02095224 + arm_func_start func_ov00_02095224 +func_ov00_02095224: ; 0x02095224 + stmdb sp!, {r3, lr} + ldrh ip, [r0, #2] + ldr lr, [r0, #8] + mov r0, #0xc + mla r1, r2, ip, r1 + mla r2, r1, r0, lr + ldmib r2, {r0, r1} + mov r0, r0, lsl #0x1 + strh r3, [r1, r0] + ldr r0, [r2, #4] + add r0, r0, #1 + str r0, [r2, #4] + ldmia sp!, {r3, pc} + arm_func_end func_ov00_02095224 + + .global func_ov00_02095258 + arm_func_start func_ov00_02095258 +func_ov00_02095258: ; 0x02095258 + ldrh r3, [r1] + ldrh r2, [r1, #2] + ldrh r1, [r0, #2] + ldr ip, [r0, #8] + mov r0, #0xc + mla r1, r2, r1, r3 + mla r0, r1, r0, ip + bx lr + arm_func_end func_ov00_02095258 + + .global func_ov00_02095278 + arm_func_start func_ov00_02095278 +func_ov00_02095278: ; 0x02095278 + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x18 + ldr r3, _0209530c ; =data_027e0e60 + add ip, sp, #0xc + mov r4, r0 + mov r6, r1 + ldmia r2, {r0, r1, r2} + stmia ip, {r0, r1, r2} + ldr r0, [r3] + add r1, sp, #0 + bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p + add r0, sp, #0xc + add r1, sp, #0 + mov r2, r0 + bl func_01ff9bf8 + ldr r0, [sp, #0xc] + ldr r1, [r6, #0xc] + bl Divide + mov r5, r0, asr #0xc + ldr r0, [sp, #0x14] + ldr r1, [r6, #0x10] + bl Divide + mov r1, r0, asr #0xc + cmp r5, #0 + ldrh r0, [r6, #2] + movlt r5, #0 + cmp r5, r0 + subge r5, r0, #1 + ldrh r0, [r6, #4] + cmp r1, #0 + movlt r1, #0 + cmp r1, r0 + subge r1, r0, #1 + strh r5, [r4] + strh r1, [r4, #2] + add sp, sp, #0x18 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_02095278 +_0209530c: .word data_027e0e60 + + .global func_ov00_02095310 + arm_func_start func_ov00_02095310 +func_ov00_02095310: ; 0x02095310 + mov r1, #0 + str r1, [r0] + str r1, [r0, #4] + str r1, [r0, #8] + bx lr + arm_func_end func_ov00_02095310 + + .global func_ov00_02095324 + arm_func_start func_ov00_02095324 +func_ov00_02095324: ; 0x02095324 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r0, [r4, #8] + cmp r0, #0 + beq _02095344 + bl func_0202ea18 + mov r0, #0 + str r0, [r4, #8] +_02095344: + mov r1, #0 + str r1, [r4, #4] + mov r0, r4 + str r1, [r4] + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02095324 + + .global func_ov00_02095358 + arm_func_start func_ov00_02095358 +func_ov00_02095358: ; 0x02095358 + stmdb sp!, {r3, lr} + ldr r0, _0209538c ; =data_027e0f6c + ldrh r2, [r1] + ldr r1, [r0] + add r0, sp, #0 + bl func_ov00_02093a1c + ldr r0, [sp] + mov r0, r0, lsr #0xf + and r0, r0, #1 + cmp r0, #1 + moveq r0, #1 + movne r0, #0 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_02095358 +_0209538c: .word data_027e0f6c + + .global func_ov00_02095390 + arm_func_start func_ov00_02095390 +func_ov00_02095390: ; 0x02095390 + mov r0, #0 + bx lr + arm_func_end func_ov00_02095390 + + .global func_ov00_02095398 + arm_func_start func_ov00_02095398 +func_ov00_02095398: ; 0x02095398 + mov r0, #0 + bx lr + arm_func_end func_ov00_02095398 + + .global func_ov00_020953a0 + arm_func_start func_ov00_020953a0 +func_ov00_020953a0: ; 0x020953a0 + ldr r0, _020953dc ; =data_027e0f6c + ldrh r1, [r1] + ldr r0, [r0] + ldr r0, [r0, #0x40] + ldr r0, [r0, r1, lsl #2] + cmp r0, #0 + moveq r0, #0 + bxeq lr + ldr r0, [r0, #0xc] + mov r0, r0, lsr #0xf + and r0, r0, #1 + cmp r0, #1 + moveq r0, #1 + movne r0, #0 + bx lr + .align 2, 0 + arm_func_end func_ov00_020953a0 +_020953dc: .word data_027e0f6c + + .global func_ov00_020953e0 + arm_func_start func_ov00_020953e0 +func_ov00_020953e0: ; 0x020953e0 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02081f4c + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_020953e0 + + .global func_ov00_020953fc + arm_func_start func_ov00_020953fc +func_ov00_020953fc: ; 0x020953fc + ldr r2, _02095440 ; =data_ov00_020e3064 + mov r3, #1 + str r2, [r0] + strb r3, [r0, #4] + ldrb r2, [r1] + strb r2, [r0, #5] + ldrb r2, [r1, #6] + str r2, [r0, #8] + ldrb r2, [r1, #7] + str r2, [r0, #0xc] + ldrb r1, [r1, #8] + str r1, [r0, #0x10] + ldr r1, [r0, #0xc] + cmp r1, #0x6c + subge r1, r3, #2 + strge r1, [r0, #0xc] + bx lr + .align 2, 0 + arm_func_end func_ov00_020953fc +_02095440: .word data_ov00_020e3064 + + .global func_ov00_02095444 + arm_func_start func_ov00_02095444 +func_ov00_02095444: ; 0x02095444 + stmdb sp!, {r3, lr} + ldr lr, _02095480 ; =data_ov00_020e3064 + mov ip, #0 + str lr, [r0] + strb ip, [r0, #4] + strb r1, [r0, #5] + str r2, [r0, #8] + ldr r1, [sp, #8] + str r3, [r0, #0xc] + str r1, [r0, #0x10] + ldr r1, [r0, #0xc] + cmp r1, #0x6c + subge r1, ip, #1 + strge r1, [r0, #0xc] + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_02095444 +_02095480: .word data_ov00_020e3064 + + .global func_ov00_02095484 + arm_func_start func_ov00_02095484 +func_ov00_02095484: ; 0x02095484 + bx lr + arm_func_end func_ov00_02095484 + + .global func_ov00_02095488 + arm_func_start func_ov00_02095488 +func_ov00_02095488: ; 0x02095488 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02095488 + + .global func_ov00_0209549c + arm_func_start func_ov00_0209549c +func_ov00_0209549c: ; 0x0209549c + bx lr + arm_func_end func_ov00_0209549c + + .global func_ov00_020954a0 + arm_func_start func_ov00_020954a0 +func_ov00_020954a0: ; 0x020954a0 + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x18 + mov r6, r0 + mov r5, r1 + bl func_ov00_020953fc + ldr r1, _0209554c ; =data_ov00_020e3040 + ldr r0, _02095550 ; =data_027e0e60 + str r1, [r6] + ldrb r1, [r5, #1] + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_02083bacEv + ldr r2, _02095550 ; =data_027e0e60 + mov r4, r0 + ldrb r1, [r5, #2] + ldr r0, [r2] + bl _ZN10MapManager18func_ov00_02083b84Ev + mov r3, #0x5000 + rsb r3, r3, #0 + ldr r2, _02095550 ; =data_027e0e60 + str r0, [sp, #0xc] + ldrb r1, [r5, #3] + ldr r0, [r2] + str r3, [sp, #0x10] + str r4, [sp, #0x14] + bl _ZN10MapManager18func_ov00_02083bfcEv + ldr r2, _02095550 ; =data_027e0e60 + mov r4, r0 + ldrb r1, [r5, #4] + ldr r0, [r2] + bl _ZN10MapManager18func_ov00_02083bd4Ev + ldr r1, [sp, #0xc] + ldr r2, [sp, #0x10] + str r1, [r6, #0x14] + ldr r1, [sp, #0x14] + str r2, [r6, #0x18] + str r1, [r6, #0x1c] + str r0, [r6, #0x20] + mov r0, #0xc000 + str r0, [r6, #0x24] + mov r0, r6 + str r4, [r6, #0x28] + add sp, sp, #0x18 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_020954a0 +_0209554c: .word data_ov00_020e3040 +_02095550: .word data_027e0e60 + + .global func_ov00_02095554 + arm_func_start func_ov00_02095554 +func_ov00_02095554: ; 0x02095554 + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x18 + mov r6, r0 + mov r5, r1 + bl func_ov00_020953fc + ldr r1, _02095600 ; =data_ov00_020e3040 + ldr r0, _02095604 ; =data_027e0e60 + str r1, [r6] + ldrb r1, [r5, #1] + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_02083bacEv + ldr r2, _02095604 ; =data_027e0e60 + mov r4, r0 + ldrb r1, [r5, #2] + ldr r0, [r2] + bl _ZN10MapManager18func_ov00_02083b84Ev + mov r3, #0x5000 + rsb r3, r3, #0 + ldr r2, _02095604 ; =data_027e0e60 + str r0, [sp, #0xc] + ldrb r1, [r5, #3] + ldr r0, [r2] + str r3, [sp, #0x10] + str r4, [sp, #0x14] + bl _ZN10MapManager18func_ov00_02083bfcEv + ldr r2, _02095604 ; =data_027e0e60 + mov r4, r0 + ldrb r1, [r5, #4] + ldr r0, [r2] + bl _ZN10MapManager18func_ov00_02083bd4Ev + ldr r1, [sp, #0xc] + ldr r2, [sp, #0x10] + str r1, [r6, #0x14] + ldr r1, [sp, #0x14] + str r2, [r6, #0x18] + str r1, [r6, #0x1c] + str r0, [r6, #0x20] + mov r0, #0xc000 + str r0, [r6, #0x24] + mov r0, r6 + str r4, [r6, #0x28] + add sp, sp, #0x18 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_02095554 +_02095600: .word data_ov00_020e3040 +_02095604: .word data_027e0e60 + + .global func_ov00_02095608 + arm_func_start func_ov00_02095608 +func_ov00_02095608: ; 0x02095608 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_0209549c + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02095608 + + .global func_ov00_0209561c + arm_func_start func_ov00_0209561c +func_ov00_0209561c: ; 0x0209561c + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_0209549c + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0209561c + + .global func_ov00_02095638 + arm_func_start func_ov00_02095638 +func_ov00_02095638: ; 0x02095638 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_0209549c + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02095638 + + .global func_ov00_0209564c + arm_func_start func_ov00_0209564c +func_ov00_0209564c: ; 0x0209564c + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0xc + mov r6, r0 + mov r5, r1 + bl func_ov00_020953fc + ldr r1, _02095718 ; =data_ov00_020e301c + mov r0, #0 + str r1, [r6] + str r0, [r6, #0x20] + str r0, [r6, #0x14] + str r0, [r6, #0x18] + str r0, [r6, #0x1c] + ldr r0, _0209571c ; =data_027e0e60 + ldrb r1, [r5, #1] + ldr r0, [r0] + bl _ZN10MapManager18func_ov00_02083bacEv + ldr r2, _0209571c ; =data_027e0e60 + mov r4, r0 + ldrb r1, [r5, #2] + ldr r0, [r2] + bl _ZN10MapManager18func_ov00_02083b84Ev + mov ip, #0x5000 + str r0, [sp] + rsb ip, ip, #0 + ldrb r3, [r5, #3] + ldrb r2, [r5, #4] + mov r0, #0x1000 + mov r1, #0x10000 + orr r2, r2, r3, lsl #8 + mov r5, r2, lsl #0x10 + str ip, [sp, #4] + str r4, [sp, #8] + bl Divide + mov r1, r5, lsr #0x4 + smull r2, r1, r0, r1 + ldr r3, [sp] + ldr r0, [sp, #4] + str r3, [r6, #0x14] + adds r2, r2, #0x800 + str r0, [r6, #0x18] + mov r3, r4 + adc r0, r1, #0 + mov r1, r2, lsr #0xc + orr r1, r1, r0, lsl #20 + str r3, [r6, #0x1c] + str r1, [r6, #0x20] + mov r1, #0xa000 + mov r0, r6 + str r1, [r6, #0x24] + add sp, sp, #0xc + ldmia sp!, {r3, r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_0209564c +_02095718: .word data_ov00_020e301c +_0209571c: .word data_027e0e60 + + .global func_ov00_02095720 + arm_func_start func_ov00_02095720 +func_ov00_02095720: ; 0x02095720 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + ldr ip, [sp, #0x10] + mov r4, r0 + str ip, [sp] + bl func_ov00_02095444 + ldr r0, _02095760 ; =data_ov00_020e301c + mov r1, #0 + str r0, [r4] + str r1, [r4, #0x20] + str r1, [r4, #0x14] + str r1, [r4, #0x18] + mov r0, r4 + str r1, [r4, #0x1c] + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + .align 2, 0 + arm_func_end func_ov00_02095720 +_02095760: .word data_ov00_020e301c + + .global func_ov00_02095764 + arm_func_start func_ov00_02095764 +func_ov00_02095764: ; 0x02095764 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_0209549c + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02095764 + + .global func_ov00_02095778 + arm_func_start func_ov00_02095778 +func_ov00_02095778: ; 0x02095778 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_0209549c + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02095778 + + .global func_ov00_02095794 + arm_func_start func_ov00_02095794 +func_ov00_02095794: ; 0x02095794 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0x24 + mov ip, r0 + add r4, ip, #0x14 + mov r3, r1 + add lr, sp, #0x18 + ldmia r4, {r0, r1, r2} + stmia lr, {r0, r1, r2} + add lr, sp, #0xc + ldmia r4, {r0, r1, r2} + stmia lr, {r0, r1, r2} + ldr r0, [sp, #0x18] + add r1, sp, #0 + str r0, [r3] + ldr r2, [sp, #0x1c] + mov r0, r3 + str r2, [r3, #4] + ldr r2, [sp, #0x20] + str r2, [r3, #8] + ldr r2, [sp, #0xc] + str r2, [r3, #0xc] + ldr r2, [sp, #0x10] + str r2, [r3, #0x10] + ldr r2, [sp, #0x14] + str r2, [r3, #0x14] + ldr r3, [ip, #0x20] + ldr r2, [ip, #0x24] + str r3, [sp] + str r2, [sp, #4] + str r3, [sp, #8] + bl func_ov00_0208edd8 + mov r0, #1 + add sp, sp, #0x24 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02095794 + + .global func_ov00_0209581c + arm_func_start func_ov00_0209581c +func_ov00_0209581c: ; 0x0209581c + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + bl func_ov00_020954a0 + ldr r1, _02095864 ; =data_ov00_020e2ff8 + mov r0, #0 + str r1, [r4] + ldr ip, _02095868 ; =func_ov00_02093d94 + strb r0, [r4, #0x2c] + ldr r3, _0209586c ; =func_ov00_02095870 + add r0, r4, #0x30 + mov r1, #4 + mov r2, #0x2c + str ip, [sp] + bl func_0204f614 + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + .align 2, 0 + arm_func_end func_ov00_0209581c +_02095864: .word data_ov00_020e2ff8 +_02095868: .word func_ov00_02093d94 +_0209586c: .word func_ov00_02095870 + + .global func_ov00_02095870 + arm_func_start func_ov00_02095870 +func_ov00_02095870: ; 0x02095870 + ldr r2, _020958a0 ; =data_ov00_020e2f04 + mov r1, #1 + str r2, [r0] + strb r1, [r0, #4] + mov r2, #0 + strb r2, [r0, #5] + str r2, [r0, #8] + str r2, [r0, #0xc] + ldr r1, _020958a4 ; =data_ov00_020e2dd8 + str r2, [r0, #0x10] + str r1, [r0] + bx lr + .align 2, 0 + arm_func_end func_ov00_02095870 +_020958a0: .word data_ov00_020e2f04 +_020958a4: .word data_ov00_020e2dd8 + + .global func_ov00_020958a8 + arm_func_start func_ov00_020958a8 +func_ov00_020958a8: ; 0x020958a8 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + ldr r1, _02095904 ; =data_ov00_020e2ff8 + mov r7, r0 + ldr r4, _02095908 ; =data_027e0f6c + str r1, [r7] + add r6, r7, #0x30 + mov r5, #0 +_020958c4: + ldr r0, [r4] + mov r1, r6 + bl func_ov00_02093af0 + add r5, r5, #1 + cmp r5, #4 + add r6, r6, #0x2c + blo _020958c4 + ldr r3, _0209590c ; =func_ov00_02093d94 + add r0, r7, #0x30 + mov r1, #4 + mov r2, #0x2c + bl func_0204f754 + mov r0, r7 + bl func_ov00_02095638 + mov r0, r7 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end func_ov00_020958a8 +_02095904: .word data_ov00_020e2ff8 +_02095908: .word data_027e0f6c +_0209590c: .word func_ov00_02093d94 + + .global func_ov00_02095910 + arm_func_start func_ov00_02095910 +func_ov00_02095910: ; 0x02095910 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + ldr r1, _02095974 ; =data_ov00_020e2ff8 + mov r7, r0 + ldr r4, _02095978 ; =data_027e0f6c + str r1, [r7] + add r6, r7, #0x30 + mov r5, #0 +_0209592c: + ldr r0, [r4] + mov r1, r6 + bl func_ov00_02093af0 + add r5, r5, #1 + cmp r5, #4 + add r6, r6, #0x2c + blo _0209592c + ldr r3, _0209597c ; =func_ov00_02093d94 + add r0, r7, #0x30 + mov r1, #4 + mov r2, #0x2c + bl func_0204f754 + mov r0, r7 + bl func_ov00_02095638 + mov r0, r7 + bl _ZN9SysObjectdlEPv + mov r0, r7 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end func_ov00_02095910 +_02095974: .word data_ov00_020e2ff8 +_02095978: .word data_027e0f6c +_0209597c: .word func_ov00_02093d94 + + .global func_ov00_02095980 + arm_func_start func_ov00_02095980 +func_ov00_02095980: ; 0x02095980 + stmdb sp!, {r3, lr} + ldr r2, [r0] + mov r1, #0 + ldr r2, [r2, #0xc] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_02095980 + + .global func_ov00_02095998 + arm_func_start func_ov00_02095998 +func_ov00_02095998: ; 0x02095998 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0xac + str r0, [sp, #4] + mov r9, r1 + add r1, sp, #0xa0 + add r0, r0, #0x14 + bl func_ov00_0208e6b0 + ldr r0, [sp, #4] + add r0, r0, #0x14 + bl func_ov00_0208e6f0 + mov r6, r0, asr #0x1 + ldr r0, [sp, #4] + add r0, r0, #0x14 + bl func_ov00_0208e704 + mov r7, r0, asr #0x1 + ldr r0, [sp, #4] + mov r8, #0 + add r10, r0, #0x30 + mov r0, r8 + bic r0, r0, #0x1f + orr r0, r0, #1 + bic r0, r0, #0x6000 + orr r0, r0, #0x4000 + orr r0, r0, #0x33c00000 + add r4, r6, #0x1000 + add r5, r7, #0x1000 + str r0, [sp, #8] + add r11, sp, #0x94 +_02095a08: + ldr r0, [sp, #8] + cmp r8, #3 + str r0, [sp, #0xc] + addls pc, pc, r8, lsl #2 + b _02095c74 +_02095a1c: ; jump table + b _02095a2c ; case 0 + b _02095ac0 ; case 1 + b _02095b54 ; case 2 + b _02095be8 ; case 3 +_02095a2c: + ldr r1, [sp, #0xa0] + mov r0, #0 + add r1, r1, r6 + str r0, [sp, #0x64] + mov r0, #0x5000 + str r0, [sp, #0x68] + ldr r0, [sp, #0xa4] + str r1, [sp, #0x94] + str r1, [sp, #0x88] + ldr r1, [sp, #0xa8] + str r0, [sp, #0x98] + str r0, [sp, #0x8c] + mov r0, r11 + str r1, [sp, #0x9c] + str r1, [sp, #0x90] + add r1, sp, #0x64 + mov r2, r11 + str r5, [sp, #0x6c] + bl func_01ff9bf8 + mov r0, #0x1000 + str r0, [sp, #0x58] + mov r0, #0x5000 + str r0, [sp, #0x5c] + add r0, sp, #0x88 + add r1, sp, #0x58 + mov r2, r0 + str r5, [sp, #0x60] + bl func_01ff9bc4 + cmp r9, #0 + beq _02095c74 + cmp r6, #0x3000 + cmpge r7, #0x3000 + blt _02095c74 + ldr r0, [sp, #0xc] + orr r0, r0, #0x8000 + str r0, [sp, #0xc] + b _02095c74 +_02095ac0: + ldr r1, [sp, #0xa0] + mov r0, #0x1000 + sub r1, r1, r6 + str r0, [sp, #0x4c] + mov r0, #0x5000 + str r0, [sp, #0x50] + ldr r0, [sp, #0xa4] + str r1, [sp, #0x94] + str r1, [sp, #0x88] + ldr r1, [sp, #0xa8] + str r0, [sp, #0x98] + str r0, [sp, #0x8c] + mov r0, r11 + str r1, [sp, #0x9c] + str r1, [sp, #0x90] + add r1, sp, #0x4c + mov r2, r11 + str r5, [sp, #0x54] + bl func_01ff9bf8 + mov r0, #0 + str r0, [sp, #0x40] + mov r0, #0x5000 + str r0, [sp, #0x44] + add r0, sp, #0x88 + add r1, sp, #0x40 + mov r2, r0 + str r5, [sp, #0x48] + bl func_01ff9bc4 + cmp r9, #0 + beq _02095c74 + cmp r6, #0x3000 + cmpge r7, #0x3000 + blt _02095c74 + ldr r0, [sp, #0xc] + orr r0, r0, #0x8000 + str r0, [sp, #0xc] + b _02095c74 +_02095b54: + ldr r1, [sp, #0xa0] + mov r0, #0x5000 + str r0, [sp, #0x38] + mov r0, #0 + str r0, [sp, #0x3c] + ldr r0, [sp, #0xa4] + str r1, [sp, #0x94] + str r1, [sp, #0x88] + ldr r1, [sp, #0xa8] + str r0, [sp, #0x98] + add r1, r1, r7 + str r0, [sp, #0x8c] + mov r0, r11 + str r1, [sp, #0x9c] + str r1, [sp, #0x90] + add r1, sp, #0x34 + mov r2, r11 + str r4, [sp, #0x34] + bl func_01ff9bf8 + mov r0, #0x5000 + str r0, [sp, #0x2c] + mov r0, #0x1000 + str r0, [sp, #0x30] + add r0, sp, #0x88 + add r1, sp, #0x28 + mov r2, r0 + str r4, [sp, #0x28] + bl func_01ff9bc4 + cmp r9, #0 + beq _02095c74 + cmp r6, #0x3000 + cmpge r7, #0x3000 + blt _02095c74 + ldr r0, [sp, #0xc] + orr r0, r0, #0x8000 + str r0, [sp, #0xc] + b _02095c74 +_02095be8: + ldr r1, [sp, #0xa0] + mov r0, #0x5000 + str r0, [sp, #0x20] + mov r0, #0x1000 + str r0, [sp, #0x24] + ldr r0, [sp, #0xa4] + str r1, [sp, #0x94] + str r1, [sp, #0x88] + ldr r1, [sp, #0xa8] + str r0, [sp, #0x98] + sub r1, r1, r7 + str r0, [sp, #0x8c] + mov r0, r11 + str r1, [sp, #0x9c] + str r1, [sp, #0x90] + add r1, sp, #0x1c + mov r2, r11 + str r4, [sp, #0x1c] + bl func_01ff9bf8 + mov r0, #0x5000 + str r0, [sp, #0x14] + mov r0, #0 + str r0, [sp, #0x18] + add r0, sp, #0x88 + add r1, sp, #0x10 + mov r2, r0 + str r4, [sp, #0x10] + bl func_01ff9bc4 + cmp r9, #0 + beq _02095c74 + cmp r6, #0x3000 + cmpge r7, #0x3000 + ldrge r0, [sp, #0xc] + orrge r0, r0, #0x8000 + strge r0, [sp, #0xc] +_02095c74: + ldr r1, [sp, #0x94] + ldr r0, [sp, #0x98] + str r1, [sp, #0x70] + str r0, [sp, #0x74] + ldr r1, [sp, #0x9c] + ldr r0, [sp, #0x88] + str r1, [sp, #0x78] + str r0, [sp, #0x7c] + ldr r1, [sp, #0x8c] + ldr r0, [sp, #0x90] + str r1, [sp, #0x80] + str r0, [sp, #0x84] + mov r0, #0 + str r0, [sp] + mov r0, r10 + ldr ip, [r0] + ldr r3, [sp, #0xc] + ldr ip, [ip, #0x14] + add r1, sp, #0x70 + mov r2, #3 + blx ip + ldr r0, _02095d04 ; =data_027e0f6c + mov r1, r10 + ldr r0, [r0] + bl func_ov00_02093a5c + add r8, r8, #1 + add r10, r10, #0x2c + cmp r8, #4 + blo _02095a08 + cmp r9, #0 + ldrne r0, [sp, #4] + movne r1, #0 + strneb r1, [r0, #0x2c] + mov r0, #1 + add sp, sp, #0xac + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_02095998 +_02095d04: .word data_027e0f6c + + .global func_ov00_02095d08 + arm_func_start func_ov00_02095d08 +func_ov00_02095d08: ; 0x02095d08 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r7, r0 + ldrb r0, [r7, #0x2c] + cmp r0, #0 + movne r0, #1 + ldmneia sp!, {r3, r4, r5, r6, r7, pc} + ldr r4, _02095d54 ; =data_027e0f6c + add r6, r7, #0x30 + mov r5, #0 +_02095d2c: + ldr r0, [r4] + mov r1, r6 + bl func_ov00_02093af0 + add r5, r5, #1 + cmp r5, #4 + add r6, r6, #0x2c + blo _02095d2c + mov r0, #1 + strb r0, [r7, #0x2c] + ldmia sp!, {r3, r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end func_ov00_02095d08 +_02095d54: .word data_027e0f6c + + .global func_ov00_02095d58 + arm_func_start func_ov00_02095d58 +func_ov00_02095d58: ; 0x02095d58 + stmdb sp!, {r3, r4, r5, lr} + mov r4, r0 + mov r5, r1 + bl func_ov00_020954a0 + ldr r0, _02095dac ; =data_ov00_020e2fd4 + ldr r2, _02095db0 ; =data_ov00_020e2f04 + str r0, [r4] + ldrb r3, [r5, #5] + mov r1, #1 + mov r0, #0 + strb r3, [r4, #0x2c] + str r2, [r4, #0x30] + strb r1, [r4, #0x34] + strb r0, [r4, #0x35] + str r0, [r4, #0x38] + str r0, [r4, #0x3c] + ldr r1, _02095db4 ; =data_ov00_020e2dd8 + str r0, [r4, #0x40] + mov r0, r4 + str r1, [r4, #0x30] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_02095d58 +_02095dac: .word data_ov00_020e2fd4 +_02095db0: .word data_ov00_020e2f04 +_02095db4: .word data_ov00_020e2dd8 + + .global func_ov00_02095db8 + arm_func_start func_ov00_02095db8 +func_ov00_02095db8: ; 0x02095db8 + stmdb sp!, {r4, lr} + ldr r1, _02095df0 ; =data_ov00_020e2fd4 + mov r4, r0 + ldr r0, _02095df4 ; =data_027e0f6c + str r1, [r4] + ldr r0, [r0] + add r1, r4, #0x30 + bl func_ov00_02093af0 + add r0, r4, #0x30 + bl func_ov00_02094824 + mov r0, r4 + bl func_ov00_02095638 + mov r0, r4 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_02095db8 +_02095df0: .word data_ov00_020e2fd4 +_02095df4: .word data_027e0f6c + + .global func_ov00_02095df8 + arm_func_start func_ov00_02095df8 +func_ov00_02095df8: ; 0x02095df8 + stmdb sp!, {r4, lr} + ldr r1, _02095e38 ; =data_ov00_020e2fd4 + mov r4, r0 + ldr r0, _02095e3c ; =data_027e0f6c + str r1, [r4] + ldr r0, [r0] + add r1, r4, #0x30 + bl func_ov00_02093af0 + add r0, r4, #0x30 + bl func_ov00_02094824 + mov r0, r4 + bl func_ov00_02095638 + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_02095df8 +_02095e38: .word data_ov00_020e2fd4 +_02095e3c: .word data_027e0f6c + + .global func_ov00_02095e40 + arm_func_start func_ov00_02095e40 +func_ov00_02095e40: ; 0x02095e40 + stmdb sp!, {r4, lr} + sub sp, sp, #8 + mov r4, r0 + mov r2, #0 + ldrb r0, [r4, #0x2c] + bic r1, r2, #0x1f + orr r1, r1, #7 + bic r1, r1, #0x6000 + orr r1, r1, #0x2000 + orr r1, r1, #0x23c00000 + bic r1, r1, #0x3f0000 + orr r3, r1, r0, lsl #16 + str r2, [sp] + add r0, r4, #0x30 + ldr ip, [r0] + add r1, r4, #0x14 + ldr ip, [ip, #0x14] + mov r2, #4 + str r3, [sp, #4] + blx ip + mov r1, #0 + ldr r0, _02095eb0 ; =data_027e0f6c + strb r1, [r4, #0x34] + ldr r0, [r0] + add r1, r4, #0x30 + bl func_ov00_02093a5c + add sp, sp, #8 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_02095e40 +_02095eb0: .word data_027e0f6c + + .global func_ov00_02095eb4 + arm_func_start func_ov00_02095eb4 +func_ov00_02095eb4: ; 0x02095eb4 + ldr ip, _02095ec0 ; =func_ov00_0208f318 + add r0, r0, #0x14 + bx ip + .align 2, 0 + arm_func_end func_ov00_02095eb4 +_02095ec0: .word func_ov00_0208f318 + + .global func_ov00_02095ec4 + arm_func_start func_ov00_02095ec4 +func_ov00_02095ec4: ; 0x02095ec4 + ldr ip, _02095ed0 ; =func_ov00_0208e7a4 + add r0, r0, #0x14 + bx ip + .align 2, 0 + arm_func_end func_ov00_02095ec4 +_02095ed0: .word func_ov00_0208e7a4 + + .global func_ov00_02095ed4 + arm_func_start func_ov00_02095ed4 +func_ov00_02095ed4: ; 0x02095ed4 + ldr r2, [r0, #0x14] + str r2, [r1] + ldr r2, [r0, #0x18] + str r2, [r1, #4] + ldr r2, [r0, #0x1c] + str r2, [r1, #8] + ldr r2, [r0, #0x20] + str r2, [r1, #0xc] + ldr r2, [r0, #0x24] + str r2, [r1, #0x10] + ldr r2, [r0, #0x28] + mov r0, #1 + str r2, [r1, #0x14] + bx lr + arm_func_end func_ov00_02095ed4 + + .global func_ov00_02095f0c + arm_func_start func_ov00_02095f0c +func_ov00_02095f0c: ; 0x02095f0c + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_020969fc + ldr r0, [r4, #8] + cmp r0, #0x20 + bhs _02095f30 + mov r0, r4 + mov r1, #0x20 + bl func_ov00_02096a98 +_02095f30: + mov r0, r4 + bl func_ov00_0209621c + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02095f0c + + .global func_ov00_02095f40 + arm_func_start func_ov00_02095f40 +func_ov00_02095f40: ; 0x02095f40 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_020961f8 + mov r0, r4 + bl func_ov00_02096a10 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02095f40 + + .global func_ov00_02095f5c + arm_func_start func_ov00_02095f5c +func_ov00_02095f5c: ; 0x02095f5c + stmdb sp!, {r3, lr} + ldr r0, _02095f9c ; =data_027e0f70 + ldr r0, [r0] + cmp r0, #0 + ldmneia sp!, {r3, pc} + ldr r1, _02095fa0 ; =data_027e0ce0 + mov r0, #0xc + ldr r1, [r1, #4] + mov r2, #4 + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _02095f90 + bl func_ov00_02095f0c +_02095f90: + ldr r1, _02095f9c ; =data_027e0f70 + str r0, [r1] + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_02095f5c +_02095f9c: .word data_027e0f70 +_02095fa0: .word data_027e0ce0 + + .global func_ov00_02095fa4 + arm_func_start func_ov00_02095fa4 +func_ov00_02095fa4: ; 0x02095fa4 + stmdb sp!, {r4, lr} + ldr r0, _02095fdc ; =data_027e0f70 + ldr r4, [r0] + cmp r4, #0 + ldmeqia sp!, {r4, pc} + beq _02095fcc + mov r0, r4 + bl func_ov00_02095f40 + mov r0, r4 + bl _ZN9SysObjectdlEPv +_02095fcc: + ldr r0, _02095fdc ; =data_027e0f70 + mov r1, #0 + str r1, [r0] + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_02095fa4 +_02095fdc: .word data_027e0f70 + + .global func_ov00_02095fe0 + arm_func_start func_ov00_02095fe0 +func_ov00_02095fe0: ; 0x02095fe0 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x34 + ldr r2, _0209614c ; =data_027e0d3c + mov r10, r0 + ldr r0, [r2] + mov r9, r1 + bl func_ov00_02078f54 + cmp r0, #0 + addeq sp, sp, #0x34 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldr r0, _0209614c ; =data_027e0d3c + ldr r1, _02096150 ; =data_027e0e60 + ldr r2, [r0] + ldr r0, [r1] + ldr r1, [r2, #0x44] + add r2, sp, #0xc + add r3, sp, #2 + bl _ZN10MapManager18func_ov00_020835e4EiPiS0_ + cmp r0, #0 + addeq sp, sp, #0x34 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldr r8, [r10] + ldr r1, [r10, #4] + mov r0, #0x30 + mla r0, r1, r0, r8 + cmp r8, r0 + addeq sp, sp, #0x34 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldr r4, _02096150 ; =data_027e0e60 + add r6, sp, #0x1c + add r5, sp, #0x28 + add r11, sp, #0x10 +_02096060: + ldr r1, [r8] + ldr r0, [sp, #0xc] + cmp r0, r1 + ldreqb r2, [sp, #2] + ldreqb r0, [r8, #7] + cmpeq r2, r0 + bne _02096128 + ldr r1, [r8, #0xc] + ldr r0, _02096154 ; =0x43525953 + cmp r1, r0 + beq _020960a0 + ldr r0, _02096158 ; =0x464f5243 + cmp r1, r0 + bne _02096128 + mov r7, #0x21 + b _020960b0 +_020960a0: + ldrh r0, [r8, #0x1e] + mov r1, r0, lsl #0x1 + ldr r0, _0209615c ; =data_ov00_020db050 + ldrh r7, [r0, r1] +_020960b0: + ldr r1, [r8, #0x10] + add r0, sp, #0 + str r1, [sp, #0x28] + ldr r3, [r8, #0x14] + ldr r1, [r4] + str r3, [sp, #0x2c] + ldr r3, [r8, #0x18] + str r3, [sp, #0x30] + bl _ZN10MapManager18func_ov00_02083560EiPS_j + ldrb r2, [sp] + ldrb r3, [sp, #1] + ldr r0, [r4] + mov r1, r6 + bl _ZN10MapManager18func_ov00_020834bcEP5Vec3pii + mov r0, r5 + mov r1, r6 + mov r2, r5 + bl func_01ff9bf8 + ldr r0, [r4] + mov r1, r11 + bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p + mov r0, r5 + mov r1, r11 + mov r2, r5 + bl func_01ff9bc4 + mov r2, r7 + mov r0, r10 + mov r1, r5 + mov r3, r9 + bl func_ov00_02096160 +_02096128: + ldr r2, [r10] + ldr r1, [r10, #4] + mov r0, #0x30 + mla r0, r1, r0, r2 + add r8, r8, #0x30 + cmp r8, r0 + bne _02096060 + add sp, sp, #0x34 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_02095fe0 +_0209614c: .word data_027e0d3c +_02096150: .word data_027e0e60 +_02096154: .word 0x43525953 +_02096158: .word 0x464f5243 +_0209615c: .word data_ov00_020db050 + + .global func_ov00_02096160 + arm_func_start func_ov00_02096160 +func_ov00_02096160: ; 0x02096160 + stmdb sp!, {r4, lr} + sub sp, sp, #0x38 + ldrh r0, [r3] + mov r4, r2 + tst r0, #4 + bne _02096184 + tst r0, #8 + addeq sp, sp, #0x38 + ldmeqia sp!, {r4, pc} +_02096184: + add r2, sp, #0x14 + str r2, [sp] + add r0, sp, #0x10 + mov r2, #0 + stmib sp, {r0, r2} + mov r3, #1 + str r3, [sp, #0xc] + ldr r0, _020961f0 ; =data_027e0d3c + mov r3, r2 + ldr r0, [r0] + bl func_ov00_02079470 + cmp r0, #0 + addeq sp, sp, #0x38 + ldmeqia sp!, {r4, pc} + add r0, sp, #0x18 + bl func_01ffbe34 + mov r1, #1 + add r0, sp, #0x18 + str r1, [sp, #0x1c] + str r0, [sp] + ldr r1, [sp, #0x14] + ldr r2, [sp, #0x10] + ldr r0, _020961f4 ; =data_02063e4c + mov r3, r4 + bl func_020313c8 + add sp, sp, #0x38 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_02096160 +_020961f0: .word data_027e0d3c +_020961f4: .word data_02063e4c + + .global func_ov00_020961f8 + arm_func_start func_ov00_020961f8 +func_ov00_020961f8: ; 0x020961f8 + stmdb sp!, {r3, lr} + ldr r1, [r0, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_02096a88 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_020961f8 + + .global func_ov00_0209621c + arm_func_start func_ov00_0209621c +func_ov00_0209621c: ; 0x0209621c + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x30 + ldr r6, _02096320 ; =data_ov00_020eab04 + mov r7, r0 + ldrb r4, [r6, #6] + mov r5, #0 + cmp r4, #0 + addle sp, sp, #0x30 + ldmleia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + add r9, sp, #0x10 + mov r8, r5 + add r11, sp, #0 +_0209624c: + ldrb r10, [r6, #0x34] + ldrb lr, [r6, #0x35] + ldrb ip, [r6, #0x36] + ldrb r3, [r6, #0x37] + ldr r0, [r6, #0x30] + ldr r2, [r6, #0x38] + ldr r1, [r6, #0x3c] + str r0, [sp] + add r0, r6, #0x40 + strb r10, [sp, #4] + strb lr, [sp, #5] + strb ip, [sp, #6] + strb r3, [sp, #7] + str r2, [sp, #8] + str r1, [sp, #0xc] + ldmia r0, {r0, r1, r2} + stmia r9, {r0, r1, r2} + ldrh r10, [r6, #0x4c] + ldrh r3, [r6, #0x4e] + ldrh r2, [r6, #0x50] + ldrh r0, [r6, #0x52] + ldrb r1, [r6, #0x54] + strh r10, [sp, #0x1c] + ldrb r10, [r6, #0x55] + strh r3, [sp, #0x1e] + ldrb r3, [r6, #0x56] + strh r2, [sp, #0x20] + ldrb r2, [r6, #0x57] + strh r0, [sp, #0x22] + ldrsb r0, [r6, #0x58] + strb r1, [sp, #0x24] + ldrb r1, [r6, #0x59] + strb r10, [sp, #0x25] + ldrb r10, [r6, #0x5a] + strb r3, [sp, #0x26] + ldrsb r3, [r6, #0x5b] + strb r2, [sp, #0x27] + ldr r2, [r6, #0x5c] + strb r0, [sp, #0x28] + mov r0, r7 + strb r1, [sp, #0x29] + mov r1, r11 + strb r10, [sp, #0x2a] + strb r3, [sp, #0x2b] + str r2, [sp, #0x2c] + strb r8, [sp, #6] + bl func_ov00_020965c0 + add r5, r5, #1 + cmp r5, r4 + add r6, r6, #0x30 + blt _0209624c + add sp, sp, #0x30 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_0209621c +_02096320: .word data_ov00_020eab04 + + .global func_ov00_02096324 + arm_func_start func_ov00_02096324 +func_ov00_02096324: ; 0x02096324 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + mov r7, r0 + ldr r5, [r7] + ldr r2, [r7, #4] + mov r0, #0x30 + mla r0, r2, r0, r5 + mov r6, r1 + cmp r5, r0 + mov r4, #0 + beq _0209640c + ldr r8, _02096414 ; =data_027e0f7c + mov r9, r4 + mov r11, #0x30 +_02096358: + ldrb r0, [r5, #5] + cmp r0, #0 + beq _020963f0 + ldr r0, [r8] + ldr r1, [r5] + bl func_ov00_0209d738 + cmp r0, #3 + beq _020963f0 + cmp r4, #8 + bhs _0209640c + mla ip, r4, r11, r6 + ldr r1, [r5] + add r0, r4, #1 + str r1, [ip, #0x30] + ldrb r2, [r5, #4] + add r1, r5, #0x10 + add r3, ip, #0x40 + strb r2, [ip, #0x34] + ldrb r2, [r5, #5] + add r10, r5, #0x1c + and r4, r0, #0xff + strb r2, [ip, #0x35] + ldrb r0, [r5, #6] + add lr, ip, #0x4c + strb r0, [ip, #0x36] + ldrb r0, [r5, #7] + strb r0, [ip, #0x37] + ldr r0, [r5, #8] + str r0, [ip, #0x38] + ldr r0, [r5, #0xc] + str r0, [ip, #0x3c] + ldmia r1, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldmia r10!, {r0, r1, r2, r3} + stmia lr!, {r0, r1, r2, r3} + ldr r0, [r10] + str r0, [lr] + strb r9, [ip, #0x36] +_020963f0: + ldr r2, [r7] + ldr r1, [r7, #4] + mov r0, #0x30 + mla r0, r1, r0, r2 + add r5, r5, #0x30 + cmp r5, r0 + bne _02096358 +_0209640c: + strb r4, [r6, #6] + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_02096324 +_02096414: .word data_027e0f7c + + .global func_ov00_02096418 + arm_func_start func_ov00_02096418 +func_ov00_02096418: ; 0x02096418 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0x1c + mov r4, r0 + ldr r1, [r4, #4] + mov r0, #0x30 + mul lr, r1, r0 + ldr r1, [r4] + add r0, r1, lr + mov ip, r1 + cmp r1, r0 + beq _02096470 + mov r3, #0xff + mov r0, #0x30 +_0209644c: + ldrb r1, [ip, #6] + cmp r1, #0 + strneb r3, [ip, #7] + ldmia r4, {r1, r2} + mul lr, r2, r0 + add ip, ip, #0x30 + add r2, r1, lr + cmp ip, r2 + bne _0209644c +_02096470: + ldrb r0, [sp, #1] + add r2, r1, lr + sub r3, sp, #4 + strb r0, [r3] + ldr r3, [r3] + add r0, sp, #0x18 + str r2, [sp, #0xc] + str r2, [sp, #4] + str r2, [sp, #0x10] + str r1, [sp, #0x14] + bl func_ov00_020964cc + mov r2, #0 + ldr r1, [sp, #0x18] + strb r2, [sp] + sub r0, sp, #4 + strb r2, [r0] + ldr r3, [r0] + ldr r2, [sp, #4] + mov r0, r4 + str r1, [sp, #8] + bl func_ov00_02096c3c + add sp, sp, #0x1c + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02096418 + + .global func_ov00_020964cc + arm_func_start func_ov00_020964cc +func_ov00_020964cc: ; 0x020964cc + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r3, r4, r5, r6, r7, lr} + sub sp, sp, #8 + ldr r2, [sp, #0x28] + ldr r1, [sp, #0x24] + mov r5, r0 + str r2, [sp] + str r1, [sp, #4] + b _020964f8 +_020964f0: + add r1, r1, #0x30 + str r1, [sp, #4] +_020964f8: + cmp r1, r2 + ldrneb r0, [r1, #7] + cmpne r0, #0xff + bne _020964f0 + ldr lr, [sp, #4] + ldr ip, [sp, #0x28] + mov r0, lr + cmp r0, ip + addne r4, lr, #0x30 + str lr, [sp, #0x24] + cmpne r4, ip + beq _020965a8 +_02096528: + ldrb r0, [r4, #7] + cmp r0, #0xff + beq _0209659c + ldr r1, [r4] + add r0, r4, #0x10 + str r1, [lr] + ldrb r1, [r4, #4] + add r3, lr, #0x10 + add r7, r4, #0x1c + strb r1, [lr, #4] + ldrb r1, [r4, #5] + add r6, lr, #0x1c + strb r1, [lr, #5] + ldrb r1, [r4, #6] + strb r1, [lr, #6] + ldrb r1, [r4, #7] + strb r1, [lr, #7] + ldr r1, [r4, #8] + str r1, [lr, #8] + ldr r1, [r4, #0xc] + str r1, [lr, #0xc] + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldmia r7!, {r0, r1, r2, r3} + stmia r6!, {r0, r1, r2, r3} + ldr r0, [r7] + add lr, lr, #0x30 + str r0, [r6] + str lr, [sp, #0x24] +_0209659c: + add r4, r4, #0x30 + cmp r4, ip + bne _02096528 +_020965a8: + ldr r0, [sp, #0x24] + str r0, [r5] + add sp, sp, #8 + ldmia sp!, {r3, r4, r5, r6, r7, lr} + add sp, sp, #0x10 + bx lr + arm_func_end func_ov00_020964cc + + .global func_ov00_020965c0 + arm_func_start func_ov00_020965c0 +func_ov00_020965c0: ; 0x020965c0 + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0x2c + mov ip, r0 + ldr r0, [ip, #4] + mov r3, r1 + cmp r0, #0x20 + addhs sp, sp, #0x2c + movhs r0, #0 + ldmhsia sp!, {r4, r5, pc} + ldr lr, [r3, #8] + cmp lr, #0 + blt _020966e8 + ldrb r1, [r3, #7] + ldr r2, [r3] + add r0, sp, #0x20 + add r4, sp, #0x14 + str lr, [sp, #0x28] + str r2, [sp, #0x20] + strb r1, [sp, #0x24] + ldmia r0, {r0, r1, r2} + stmia r4, {r0, r1, r2} + ldr r2, [ip] + ldr r1, [ip, #4] + mov r0, #0x30 + mla r5, r1, r0, r2 + str r5, [sp, #0xc] + str r5, [sp, #4] + str r2, [sp, #0x10] + str r2, [sp, #8] + ldrb r4, [sp, #0x18] + ldr lr, [sp, #0x1c] + ldr r1, [sp, #0x14] + b _0209664c +_02096644: + add r2, r2, #0x30 + str r2, [sp, #8] +_0209664c: + cmp r2, r5 + beq _02096670 + ldr r0, [r2] + cmp r1, r0 + ldreqb r0, [r2, #7] + cmpeq r4, r0 + ldreq r0, [r2, #8] + cmpeq lr, r0 + bne _02096644 +_02096670: + ldr r0, [sp, #8] + cmp r0, r5 + beq _020966e8 + ldr r2, [r3] + add r1, r3, #0x10 + str r2, [r0] + ldrb r2, [r3, #4] + add lr, r0, #0x10 + add ip, r3, #0x1c + strb r2, [r0, #4] + ldrb r2, [r3, #5] + add r4, r0, #0x1c + add sp, sp, #0x2c + strb r2, [r0, #5] + ldrb r2, [r3, #6] + strb r2, [r0, #6] + ldrb r2, [r3, #7] + strb r2, [r0, #7] + ldr r2, [r3, #8] + str r2, [r0, #8] + ldr r2, [r3, #0xc] + str r2, [r0, #0xc] + ldmia r1, {r0, r1, r2} + stmia lr, {r0, r1, r2} + ldmia ip!, {r0, r1, r2, r3} + stmia r4!, {r0, r1, r2, r3} + ldr r1, [ip] + mov r0, #1 + str r1, [r4] + ldmia sp!, {r4, r5, pc} +_020966e8: + mov r2, #0 + strb r2, [sp, #1] + ldr r1, [ip, #4] + ldr r0, [ip, #8] + cmp r1, r0 + bhs _02096780 + add r4, r1, #1 + sub r1, r4, #1 + mov r0, #0x30 + mul r2, r1, r0 + str r4, [ip, #4] + ldr r4, [ip] + ldr r1, [r3] + add r0, r4, r2 + str r1, [r4, r2] + ldrb r2, [r3, #4] + add r1, r3, #0x10 + add r4, r0, #0x10 + strb r2, [r0, #4] + ldrb r2, [r3, #5] + add lr, r3, #0x1c + add ip, r0, #0x1c + strb r2, [r0, #5] + ldrb r2, [r3, #6] + strb r2, [r0, #6] + ldrb r2, [r3, #7] + strb r2, [r0, #7] + ldr r2, [r3, #8] + str r2, [r0, #8] + ldr r2, [r3, #0xc] + str r2, [r0, #0xc] + ldmia r1, {r0, r1, r2} + stmia r4, {r0, r1, r2} + ldmia lr!, {r0, r1, r2, r3} + stmia ip!, {r0, r1, r2, r3} + ldr r0, [lr] + str r0, [ip] + b _020967a0 +_02096780: + strb r2, [sp] + sub r1, sp, #4 + and r0, r2, #0xff + strb r0, [r1] + ldr r2, [r1] + mov r0, ip + mov r1, r3 + bl func_ov00_02096a58 +_020967a0: + mov r0, #1 + add sp, sp, #0x2c + ldmia sp!, {r4, r5, pc} + arm_func_end func_ov00_020965c0 + + .global func_ov00_020967ac + arm_func_start func_ov00_020967ac +func_ov00_020967ac: ; 0x020967ac + stmdb sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #0xe4 + mov r7, r0 + ldr r3, [r7, #4] + mov r0, #0x30 + mul ip, r3, r0 + mov r6, r1 + ldr r1, [r7] + mov r5, r2 + add r0, r1, ip + mov r4, r1 + cmp r1, r0 + beq _02096994 +_020967e0: + ldr r0, [r4] + cmp r6, r0 + ldreqb r0, [r4, #7] + cmpeq r5, r0 + bne _02096974 + ldrb r0, [r4, #4] + cmp r0, #0 + beq _020968b4 + ldr r0, [r4, #8] + cmp r0, #0 + bge _02096974 + add r0, sp, #0x2c + bl func_ov00_020c1500 + mvn r1, #0 + add r0, sp, #0x2c + str r1, [sp, #0x48] + str r1, [sp, #0x4c] + bl func_ov00_020c3348 + ldrh r2, [r4, #0x1c] + ldrh r0, [r4, #0x1e] + mov r1, #0 + add r3, sp, #0x2c + strh r2, [sp, #0x2c] + strh r0, [sp, #0x2e] + ldrh lr, [r4, #0x20] + ldrh ip, [r4, #0x22] + ldr r0, _020969f0 ; =data_027e0fe8 + add r2, r4, #0x10 + strh lr, [sp, #0x30] + strh ip, [sp, #0x32] + ldrb lr, [r4, #0x24] + ldrb ip, [r4, #0x25] + strb lr, [sp, #0x34] + strb ip, [sp, #0x35] + ldrb lr, [r4, #0x26] + ldrb ip, [r4, #0x27] + strb lr, [sp, #0x36] + strb ip, [sp, #0x37] + ldrsb ip, [r4, #0x28] + strb ip, [sp, #0x38] + ldrb ip, [r4, #0x29] + strb ip, [sp, #0x39] + ldrb ip, [r4, #0x2a] + strb ip, [sp, #0x3a] + ldrsb ip, [r4, #0x2b] + strb ip, [sp, #0x3b] + ldr ip, [r4, #0x2c] + str ip, [sp, #0x3c] + str r1, [sp] + ldr r0, [r0] + ldr r1, [r4, #0xc] + bl func_ov00_020c4048 + b _0209696c +_020968b4: + ldr ip, [r4, #8] + cmp ip, #0 + blt _02096974 + ldr r3, [r4, #0xc] + ldr r2, _020969f4 ; =data_ov00_020e30c8 + add lr, sp, #0x64 + mov r1, #0x10 + mov r0, #0 + str r1, [sp, #0x5c] + str r0, [sp, #0x60] + str r2, [sp, #0x20] + str ip, [sp, #0x24] + str r3, [sp, #0x28] + str lr, [sp, #0x58] + mvn r1, #0 + add r0, sp, #0xe4 +_020968f4: + str r1, [lr] + str r1, [lr, #4] + add lr, lr, #8 + cmp lr, r0 + blo _020968f4 + ldr r0, _020969f8 ; =data_027e0fe4 + add r1, sp, #0x20 + ldr r0, [r0] + add r2, sp, #0x58 + bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + cmp r0, #0 + ble _02096974 + ldr r0, _020969f8 ; =data_027e0fe4 + ldr r1, [sp, #0x58] + ldr r0, [r0] + bl _ZN12ActorManager8GetActorEP8ActorRef + cmp r0, #0 + beq _02096974 + ldr r1, [r4, #0x10] + str r1, [r0, #0x48] + ldr r1, [r4, #0x14] + str r1, [r0, #0x4c] + ldr r1, [r4, #0x18] + str r1, [r0, #0x50] + ldr r1, [r4, #0x10] + str r1, [r0, #0x54] + ldr r1, [r4, #0x14] + str r1, [r0, #0x58] + ldr r1, [r4, #0x18] + str r1, [r0, #0x5c] +_0209696c: + mov r0, #0xff + strb r0, [r4, #7] +_02096974: + ldr r1, [r7, #4] + mov r0, #0x30 + mul ip, r1, r0 + ldr r1, [r7] + add r4, r4, #0x30 + add r0, r1, ip + cmp r4, r0 + bne _020967e0 +_02096994: + ldrb r0, [sp, #5] + add r2, r1, ip + sub r3, sp, #4 + strb r0, [r3] + ldr r3, [r3] + add r0, sp, #0x1c + str r2, [sp, #0x10] + str r2, [sp, #8] + str r2, [sp, #0x14] + str r1, [sp, #0x18] + bl func_ov00_020964cc + mov r2, #0 + ldr r1, [sp, #0x1c] + strb r2, [sp, #4] + sub r0, sp, #4 + strb r2, [r0] + ldr r3, [r0] + ldr r2, [sp, #8] + mov r0, r7 + str r1, [sp, #0xc] + bl func_ov00_02096c3c + add sp, sp, #0xe4 + ldmia sp!, {r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end func_ov00_020967ac +_020969f0: .word data_027e0fe8 +_020969f4: .word data_ov00_020e30c8 +_020969f8: .word data_027e0fe4 + + .global func_ov00_020969fc + arm_func_start func_ov00_020969fc +func_ov00_020969fc: ; 0x020969fc + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02096d38 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_020969fc + + .global func_ov00_02096a10 + arm_func_start func_ov00_02096a10 +func_ov00_02096a10: ; 0x02096a10 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r1, [r4] + cmp r1, #0 + beq _02096a4c + ldr r1, [r4, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_02096a88 + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_02096a4c: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02096a10 + + .global func_ov00_02096a58 + arm_func_start func_ov00_02096a58 +func_ov00_02096a58: ; 0x02096a58 + stmdb sp!, {r3, r4, r5, lr} + mov r4, r1 + mov r2, #0 + mov r5, r0 + mov r1, #1 + strb r2, [sp] + bl func_ov00_0209703c + mov r0, r5 + mov r2, r4 + mov r1, #1 + bl func_ov00_02096de0 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02096a58 + + .global func_ov00_02096a88 + arm_func_start func_ov00_02096a88 +func_ov00_02096a88: ; 0x02096a88 + ldr r2, [r0, #4] + sub r1, r2, r1 + str r1, [r0, #4] + bx lr + arm_func_end func_ov00_02096a88 + + .global func_ov00_02096a98 + arm_func_start func_ov00_02096a98 +func_ov00_02096a98: ; 0x02096a98 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #0x10 + mov r4, r0 + ldrb r3, [r4, #8] + mov r5, r1 + mov r1, #0 + str r1, [sp, #4] + str r1, [sp, #8] + sub r0, sp, #4 + strb r3, [r0] + ldr r2, [r0] + add r0, sp, #0xc + strb r3, [sp, #3] + bl func_ov00_02096dd8 + mov r1, #0 + strb r1, [sp, #2] + sub r0, sp, #4 + strb r1, [r0] + ldr r2, [r0] + add r0, sp, #4 + mov r1, r5 + bl func_ov00_0209710c + ldr ip, [r4] + ldr r1, [r4, #4] + mov r0, #0x30 + mla r3, r1, r0, ip + mov r5, #0 + ldr r2, [sp, #4] + ldr r1, [sp, #8] + strb r5, [sp, #1] + mla lr, r1, r0, r2 + cmp ip, r3 + bhs _02096bf0 +_02096b1c: + cmp lr, #0 + beq _02096bd4 + ldr r1, [ip] + add r0, ip, #0x10 + str r1, [lr] + ldrb r1, [ip, #4] + add r5, lr, #0x10 + strb r1, [lr, #4] + ldrb r1, [ip, #5] + strb r1, [lr, #5] + ldrb r1, [ip, #6] + strb r1, [lr, #6] + ldrb r1, [ip, #7] + strb r1, [lr, #7] + ldr r1, [ip, #8] + str r1, [lr, #8] + ldr r1, [ip, #0xc] + str r1, [lr, #0xc] + ldmia r0, {r0, r1, r2} + stmia r5, {r0, r1, r2} + ldrh r1, [ip, #0x1c] + ldrh r0, [ip, #0x1e] + strh r1, [lr, #0x1c] + strh r0, [lr, #0x1e] + ldrh r1, [ip, #0x20] + ldrh r0, [ip, #0x22] + strh r1, [lr, #0x20] + strh r0, [lr, #0x22] + ldrb r1, [ip, #0x24] + ldrb r0, [ip, #0x25] + strb r1, [lr, #0x24] + strb r0, [lr, #0x25] + ldrb r1, [ip, #0x26] + ldrb r0, [ip, #0x27] + strb r1, [lr, #0x26] + strb r0, [lr, #0x27] + ldrsb r0, [ip, #0x28] + strb r0, [lr, #0x28] + ldrb r0, [ip, #0x29] + strb r0, [lr, #0x29] + ldrb r0, [ip, #0x2a] + strb r0, [lr, #0x2a] + ldrsb r0, [ip, #0x2b] + strb r0, [lr, #0x2b] + ldr r0, [ip, #0x2c] + str r0, [lr, #0x2c] +_02096bd4: + ldr r0, [sp, #8] + add ip, ip, #0x30 + add r0, r0, #1 + str r0, [sp, #8] + cmp ip, r3 + add lr, lr, #0x30 + blo _02096b1c +_02096bf0: + mov r0, #0 + strb r0, [sp] + add r3, sp, #0xc + ldr r2, [r4, #8] + ldr r1, [r3] + add r0, sp, #4 + str r1, [r4, #8] + str r2, [r3] + ldr r2, [r4] + ldr r1, [sp, #4] + str r1, [r4] + str r2, [sp, #4] + ldr r2, [r4, #4] + ldr r1, [sp, #8] + str r1, [r4, #4] + str r2, [sp, #8] + bl func_ov00_02096d88 + add sp, sp, #0x10 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02096a98 + + .global func_ov00_02096c3c + arm_func_start func_ov00_02096c3c +func_ov00_02096c3c: ; 0x02096c3c + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + mov r6, r1 + mov r5, r2 + mov r7, r0 + cmp r6, r5 + beq _02096d2c + ldr r2, [r7] + ldr r1, [r7, #4] + mov r0, #0x30 + mla r4, r1, r0, r2 + sub r1, r4, r5 + ldr r2, _02096d34 ; =0x2aaaaaab + mov r0, r1, lsr #0x1f + smull r1, r3, r2, r1 + adds r3, r0, r3, asr #3 + beq _02096cfc + mov lr, r6 + mov ip, r5 + cmp r5, r4 + bhs _02096cfc +_02096c8c: + ldr r1, [ip] + add r0, ip, #0x10 + str r1, [lr] + ldrb r1, [ip, #4] + add r3, lr, #0x10 + add r9, ip, #0x1c + strb r1, [lr, #4] + ldrb r1, [ip, #5] + add r8, lr, #0x1c + strb r1, [lr, #5] + ldrb r1, [ip, #6] + strb r1, [lr, #6] + ldrb r1, [ip, #7] + strb r1, [lr, #7] + ldr r1, [ip, #8] + str r1, [lr, #8] + ldr r1, [ip, #0xc] + add ip, ip, #0x30 + str r1, [lr, #0xc] + ldmia r0, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldmia r9!, {r0, r1, r2, r3} + stmia r8!, {r0, r1, r2, r3} + ldr r0, [r9] + cmp ip, r4 + str r0, [r8] + add lr, lr, #0x30 + blo _02096c8c +_02096cfc: + mov r0, #0 + ldr r2, _02096d34 ; =0x2aaaaaab + sub r3, r5, r6 + strb r0, [sp] + sub r4, sp, #4 + strb r0, [r4] + smull r0, r1, r2, r3 + mov r3, r3, lsr #0x1f + ldr r2, [r4] + mov r0, r7 + add r1, r3, r1, asr #3 + bl func_ov00_02096a88 +_02096d2c: + mov r0, r6 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + .align 2, 0 + arm_func_end func_ov00_02096c3c +_02096d34: .word 0x2aaaaaab + + .global func_ov00_02096d38 + arm_func_start func_ov00_02096d38 +func_ov00_02096d38: ; 0x02096d38 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r1, #0 + str r1, [r4] + add r0, r4, #8 + str r1, [r4, #4] + bl func_ov00_02096dd0 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02096d38 + + .global func_ov00_02096d5c + arm_func_start func_ov00_02096d5c +func_ov00_02096d5c: ; 0x02096d5c + ldr r3, [r0, #4] + ldr r2, [r1, #0x3c] + cmp r3, r2 + movne r0, #0 + bxne lr + ldr r2, [r0, #8] + ldr r0, [r1, #4] + cmp r2, r0 + moveq r0, #1 + movne r0, #0 + bx lr + arm_func_end func_ov00_02096d5c + + .global func_ov00_02096d88 + arm_func_start func_ov00_02096d88 +func_ov00_02096d88: ; 0x02096d88 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r1, [r4] + cmp r1, #0 + beq _02096dc4 + ldr r1, [r4, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_02096a88 + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_02096dc4: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02096d88 + + .global func_ov00_02096dd0 + arm_func_start func_ov00_02096dd0 +func_ov00_02096dd0: ; 0x02096dd0 + str r1, [r0] + bx lr + arm_func_end func_ov00_02096dd0 + + .global func_ov00_02096dd8 + arm_func_start func_ov00_02096dd8 +func_ov00_02096dd8: ; 0x02096dd8 + str r1, [r0] + bx lr + arm_func_end func_ov00_02096dd8 + + .global func_ov00_02096de0 + arm_func_start func_ov00_02096de0 +func_ov00_02096de0: ; 0x02096de0 + stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x1c + mov r4, r0 + mov r7, r1 + add r0, sp, #8 + add r1, r4, #8 + mov r6, r2 + bl func_ov00_02097200 + mov r0, #0 + str r0, [sp, #0x18] + ldmib r4, {r0, r1} + add r2, r0, r7 + mov r0, r4 + sub r1, r2, r1 + bl func_ov00_0209703c + mov r3, #0 + mov r1, r0 + strb r3, [sp, #4] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + add r0, sp, #8 + strb r3, [sp] + bl func_ov00_020971b8 + ldr r3, [r4, #4] + mov r0, #0 + strb r0, [sp, #3] + ldr r1, [sp, #8] + mov r0, #0x30 + mla r2, r3, r0, r1 + ldr r1, [sp, #0xc] + str r3, [sp, #0x18] + mla lr, r1, r0, r2 + cmp r7, #0 + mov r5, r7 + beq _02096edc + add ip, r6, #0x10 +_02096e74: + ldr r0, [r6] + add r3, lr, #0x10 + str r0, [lr] + ldrb r0, [r6, #4] + add r9, r6, #0x1c + add r8, lr, #0x1c + strb r0, [lr, #4] + ldrb r0, [r6, #5] + subs r5, r5, #1 + strb r0, [lr, #5] + ldrb r0, [r6, #6] + strb r0, [lr, #6] + ldrb r0, [r6, #7] + strb r0, [lr, #7] + ldr r0, [r6, #8] + str r0, [lr, #8] + ldr r0, [r6, #0xc] + str r0, [lr, #0xc] + ldmia ip, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldmia r9!, {r0, r1, r2, r3} + stmia r8!, {r0, r1, r2, r3} + ldr r0, [r9] + add lr, lr, #0x30 + str r0, [r8] + bne _02096e74 +_02096edc: + ldr r1, [sp, #0xc] + mov r0, #0x30 + add r1, r1, r7 + str r1, [sp, #0xc] + ldr r5, [r4] + ldr r1, [r4, #4] + mov r6, #0 + mla r3, r1, r0, r5 + ldr r2, [sp, #8] + ldr r1, [sp, #0x18] + strb r6, [sp, #2] + mla ip, r1, r0, r2 + cmp r3, r5 + bls _02096ff0 +_02096f14: + sub r3, r3, #0x30 + subs ip, ip, #0x30 + beq _02096fd0 + ldr r1, [r3] + add r0, r3, #0x10 + str r1, [ip] + ldrb r1, [r3, #4] + add r6, ip, #0x10 + strb r1, [ip, #4] + ldrb r1, [r3, #5] + strb r1, [ip, #5] + ldrb r1, [r3, #6] + strb r1, [ip, #6] + ldrb r1, [r3, #7] + strb r1, [ip, #7] + ldr r1, [r3, #8] + str r1, [ip, #8] + ldr r1, [r3, #0xc] + str r1, [ip, #0xc] + ldmia r0, {r0, r1, r2} + stmia r6, {r0, r1, r2} + ldrh r1, [r3, #0x1c] + ldrh r0, [r3, #0x1e] + strh r1, [ip, #0x1c] + strh r0, [ip, #0x1e] + ldrh r1, [r3, #0x20] + ldrh r0, [r3, #0x22] + strh r1, [ip, #0x20] + strh r0, [ip, #0x22] + ldrb r1, [r3, #0x24] + ldrb r0, [r3, #0x25] + strb r1, [ip, #0x24] + strb r0, [ip, #0x25] + ldrb r1, [r3, #0x26] + ldrb r0, [r3, #0x27] + strb r1, [ip, #0x26] + strb r0, [ip, #0x27] + ldrsb r0, [r3, #0x28] + strb r0, [ip, #0x28] + ldrb r0, [r3, #0x29] + strb r0, [ip, #0x29] + ldrb r0, [r3, #0x2a] + strb r0, [ip, #0x2a] + ldrsb r0, [r3, #0x2b] + strb r0, [ip, #0x2b] + ldr r0, [r3, #0x2c] + str r0, [ip, #0x2c] +_02096fd0: + ldr r1, [sp, #0x18] + ldr r0, [sp, #0xc] + sub r1, r1, #1 + add r0, r0, #1 + str r1, [sp, #0x18] + str r0, [sp, #0xc] + cmp r3, r5 + bhi _02096f14 +_02096ff0: + mov r0, #0 + strb r0, [sp, #1] + add r3, sp, #0x10 + ldr r2, [r4, #8] + ldr r1, [r3] + add r0, sp, #8 + str r1, [r4, #8] + str r2, [r3] + ldr r2, [r4] + ldr r1, [sp, #8] + str r1, [r4] + str r2, [sp, #8] + ldr r2, [r4, #4] + ldr r1, [sp, #0xc] + str r1, [r4, #4] + str r2, [sp, #0xc] + bl func_ov00_02097154 + add sp, sp, #0x1c + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} + arm_func_end func_ov00_02096de0 + + .global func_ov00_0209703c + arm_func_start func_ov00_0209703c +func_ov00_0209703c: ; 0x0209703c + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, lr} + sub sp, sp, #8 + ldr r4, [r0, #8] + ldr r0, _02097100 ; =0x05555555 + ldr r1, [sp, #0x14] + sub r0, r0, r4 + cmp r1, r0 + bls _02097064 + bl func_0204dd9c +_02097064: + ldr r0, _02097104 ; =0x01c71c71 + cmp r4, r0 + bhs _020970b0 + add r1, r4, #1 + ldr r0, _02097108 ; =0xcccccccd + add r1, r1, r1, lsl #1 + umull r0, r2, r1, r0 + mov r2, r2, lsr #0x2 + ldr r0, [sp, #0x14] + str r2, [sp, #4] + cmp r0, r2 + addhi r0, sp, #0x14 + addls r0, sp, #4 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_020970b0: + cmp r4, r0, lsl #1 + bhs _020970ec + ldr r0, [sp, #0x14] + add r1, r4, #1 + mov r2, r1, lsr #0x1 + cmp r0, r1, lsr #1 + addhi r0, sp, #0x14 + str r2, [sp] + addls r0, sp, #0 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_020970ec: + ldr r0, _02097100 ; =0x05555555 + add sp, sp, #8 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr + .align 2, 0 + arm_func_end func_ov00_0209703c +_02097100: .word 0x05555555 +_02097104: .word 0x01c71c71 +_02097108: .word 0xcccccccd + + .global func_ov00_0209710c + arm_func_start func_ov00_0209710c +func_ov00_0209710c: ; 0x0209710c + stmdb sp!, {r3, r4, r5, lr} + ldr r2, _0209714c ; =0x05555555 + mov r4, r1 + mov r5, r0 + cmp r4, r2 + bls _02097128 + bl func_0204dd9c +_02097128: + mov r0, #0x30 + mul r0, r4, r0 + ldr r1, _02097150 ; =data_027e0ce0 + mov r2, #4 + ldr r1, [r1, #4] + bl _ZN9SysObjectnwEmPjj + str r0, [r5] + str r4, [r5, #8] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_0209710c +_0209714c: .word 0x05555555 +_02097150: .word data_027e0ce0 + + .global func_ov00_02097154 + arm_func_start func_ov00_02097154 +func_ov00_02097154: ; 0x02097154 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r1, #0 + str r1, [r4, #4] + bl func_ov00_02097170 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02097154 + + .global func_ov00_02097170 + arm_func_start func_ov00_02097170 +func_ov00_02097170: ; 0x02097170 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r1, [r4] + cmp r1, #0 + beq _020971ac + ldr r1, [r4, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_02097230 + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_020971ac: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02097170 + + .global func_ov00_020971b8 + arm_func_start func_ov00_020971b8 +func_ov00_020971b8: ; 0x020971b8 + stmdb sp!, {r3, r4, r5, lr} + ldr r2, _020971f8 ; =0x05555555 + mov r4, r1 + mov r5, r0 + cmp r4, r2 + bls _020971d4 + bl func_0204dd9c +_020971d4: + mov r0, #0x30 + mul r0, r4, r0 + ldr r1, _020971fc ; =data_027e0ce0 + mov r2, #4 + ldr r1, [r1, #4] + bl _ZN9SysObjectnwEmPjj + str r0, [r5] + str r4, [r5, #8] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_020971b8 +_020971f8: .word 0x05555555 +_020971fc: .word data_027e0ce0 + + .global func_ov00_02097200 + arm_func_start func_ov00_02097200 +func_ov00_02097200: ; 0x02097200 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r2, r1 + mov r1, #0 + str r1, [r4] + add r0, r4, #8 + str r1, [r4, #4] + bl func_ov00_02097228 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02097200 + + .global func_ov00_02097228 + arm_func_start func_ov00_02097228 +func_ov00_02097228: ; 0x02097228 + stmia r0, {r1, r2} + bx lr + arm_func_end func_ov00_02097228 + + .global func_ov00_02097230 + arm_func_start func_ov00_02097230 +func_ov00_02097230: ; 0x02097230 + ldr r2, [r0, #4] + sub r1, r2, r1 + str r1, [r0, #4] + bx lr + arm_func_end func_ov00_02097230 + + .global func_ov00_02097240 + arm_func_start func_ov00_02097240 +func_ov00_02097240: ; 0x02097240 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r0, #0 + strb r0, [r5] + ldrb r4, [r1] + ldr lr, [sp, #0x10] + ldr ip, [sp, #0x14] + strb r4, [r5, #1] + ldrh r4, [r1, #4] + strh r4, [r5, #2] + ldrh r4, [r1, #6] + add r1, r5, #0x20 + strh r4, [r5, #4] + str lr, [r5, #8] + str ip, [r5, #0xc] + strb r2, [r5, #0x10] + strb r3, [r5, #0x11] + str r0, [r5, #0x14] + str r0, [r5, #0x18] + mov r2, #4 + str r0, [r5, #0x1c] + bl func_020078f4 + add r1, r5, #0x24 + mov r0, #0 + mov r2, #0x20 + bl func_020078f4 + add r1, r5, #0x44 + mov r0, #0 + mov r2, #8 + bl func_020078f4 + add r1, r5, #0x4c + mov r0, #0 + mov r2, #8 + bl func_020078f4 + mov r0, #0 + add r1, r5, #0x54 + mov r2, #4 + bl func_020078f4 + mov r0, r5 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02097240 + + .global func_ov00_020972e0 + arm_func_start func_ov00_020972e0 +func_ov00_020972e0: ; 0x020972e0 + bx lr + arm_func_end func_ov00_020972e0 + + .global func_ov00_020972e4 + arm_func_start func_ov00_020972e4 +func_ov00_020972e4: ; 0x020972e4 + ldrh ip, [r0, #2] + cmp r3, #0 + strh ip, [r1] + beq _0209731c + ldr r1, [r0, #0x54] + str r1, [r2, #8] + ldrb r0, [r0] + cmp r0, #0 + ldr r0, [r2, #8] + orrne r0, r0, #0x80000000 + strne r0, [r2, #8] + biceq r0, r0, #0x80000000 + streq r0, [r2, #8] + bx lr +_0209731c: + ldr r3, [r0, #0x4c] + ldr r1, [r0, #0x50] + str r3, [r2] + str r1, [r2, #4] + ldr r1, [r0, #0x54] + str r1, [r2, #8] + ldrb r0, [r0] + cmp r0, #0 + ldr r0, [r2, #8] + orrne r0, r0, #0x80000000 + strne r0, [r2, #8] + biceq r0, r0, #0x80000000 + streq r0, [r2, #8] + bx lr + arm_func_end func_ov00_020972e4 + + .global func_ov00_02097354 + arm_func_start func_ov00_02097354 +func_ov00_02097354: ; 0x02097354 + stmdb sp!, {r4, lr} + mov r4, r0 + ldrh r1, [r4, #2] + ldr r0, _02097404 ; =0x0000ffff + cmp r1, r0 + beq _020973a8 + mov r0, #0xc + mul r0, r1, r0 + ldr r1, _02097408 ; =data_ov00_020ea110 + add r2, r1, r0 + ldr r1, [r1, r0] + ldr r0, [r2, #4] + str r1, [r4, #0x4c] + str r0, [r4, #0x50] + ldr r0, [r2, #8] + str r0, [r4, #0x54] + ldr r0, [r2, #8] + tst r0, #0x80000000 + movne r0, #1 + moveq r0, #0 + b _020973cc +_020973a8: + add r1, r4, #0x4c + mov r0, #0 + mov r2, #8 + bl func_020078f4 + add r1, r4, #0x54 + mov r0, #0 + mov r2, #4 + bl func_020078f4 + mov r0, #0 +_020973cc: + strb r0, [r4] + add r1, r4, #0x44 + mov r0, #0 + mov r2, #8 + bl func_020078f4 + add r1, r4, #0x20 + mov r0, #0 + mov r2, #4 + bl func_020078f4 + add r1, r4, #0x24 + mov r0, #0 + mov r2, #0x20 + bl func_020078f4 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_02097354 +_02097404: .word 0x0000ffff +_02097408: .word data_ov00_020ea110 + + .global func_ov00_0209740c + arm_func_start func_ov00_0209740c +func_ov00_0209740c: ; 0x0209740c + cmp r2, #0 + beq _02097434 + add ip, r0, #0x20 + mov r3, r1, lsr #0x5 + and r0, r1, #0x1f + ldr r2, [ip, r3, lsl #2] + mov r1, #1 + orr r0, r2, r1, lsl r0 + str r0, [ip, r3, lsl #2] + bx lr +_02097434: + add r3, r0, #0x20 + mov r2, r1, lsr #0x5 + and r0, r1, #0x1f + mov r1, #1 + mvn r0, r1, lsl r0 + ldr r1, [r3, r2, lsl #2] + and r0, r1, r0 + str r0, [r3, r2, lsl #2] + bx lr + arm_func_end func_ov00_0209740c + + .global func_ov00_02097458 + arm_func_start func_ov00_02097458 +func_ov00_02097458: ; 0x02097458 + mov r2, r1, lsr #0x5 + add r0, r0, r2, lsl #2 + ldr r2, [r0, #0x20] + and r1, r1, #0x1f + mov r0, #1 + tst r2, r0, lsl r1 + moveq r0, #0 + bx lr + arm_func_end func_ov00_02097458 + + .global func_ov00_02097478 + arm_func_start func_ov00_02097478 +func_ov00_02097478: ; 0x02097478 + cmp r2, #0 + beq _020974a0 + add ip, r0, #0x24 + mov r3, r1, lsr #0x5 + and r0, r1, #0x1f + ldr r2, [ip, r3, lsl #2] + mov r1, #1 + orr r0, r2, r1, lsl r0 + str r0, [ip, r3, lsl #2] + bx lr +_020974a0: + add r3, r0, #0x24 + mov r2, r1, lsr #0x5 + and r0, r1, #0x1f + mov r1, #1 + mvn r0, r1, lsl r0 + ldr r1, [r3, r2, lsl #2] + and r0, r1, r0 + str r0, [r3, r2, lsl #2] + bx lr + arm_func_end func_ov00_02097478 + + .global func_ov00_020974c4 + arm_func_start func_ov00_020974c4 +func_ov00_020974c4: ; 0x020974c4 + mov r2, r1, lsr #0x5 + add r0, r0, r2, lsl #2 + ldr r2, [r0, #0x24] + and r1, r1, #0x1f + mov r0, #1 + tst r2, r0, lsl r1 + moveq r0, #0 + bx lr + arm_func_end func_ov00_020974c4 + + .global func_ov00_020974e4 + arm_func_start func_ov00_020974e4 +func_ov00_020974e4: ; 0x020974e4 + cmp r2, #0 + beq _0209750c + add ip, r0, #0x44 + mov r3, r1, lsr #0x5 + and r0, r1, #0x1f + ldr r2, [ip, r3, lsl #2] + mov r1, #1 + orr r0, r2, r1, lsl r0 + str r0, [ip, r3, lsl #2] + bx lr +_0209750c: + add r3, r0, #0x44 + mov r2, r1, lsr #0x5 + and r0, r1, #0x1f + mov r1, #1 + mvn r0, r1, lsl r0 + ldr r1, [r3, r2, lsl #2] + and r0, r1, r0 + str r0, [r3, r2, lsl #2] + bx lr + arm_func_end func_ov00_020974e4 + + .global func_ov00_02097530 + arm_func_start func_ov00_02097530 +func_ov00_02097530: ; 0x02097530 + mov r2, r1, lsr #0x5 + add r0, r0, r2, lsl #2 + ldr r2, [r0, #0x44] + and r1, r1, #0x1f + mov r0, #1 + tst r2, r0, lsl r1 + moveq r0, #0 + bx lr + arm_func_end func_ov00_02097530 + + .global func_ov00_02097550 + arm_func_start func_ov00_02097550 +func_ov00_02097550: ; 0x02097550 + cmp r2, #0 + beq _02097578 + add ip, r0, #0x4c + mov r3, r1, lsr #0x5 + and r0, r1, #0x1f + ldr r2, [ip, r3, lsl #2] + mov r1, #1 + orr r0, r2, r1, lsl r0 + str r0, [ip, r3, lsl #2] + bx lr +_02097578: + add r3, r0, #0x4c + mov r2, r1, lsr #0x5 + and r0, r1, #0x1f + mov r1, #1 + mvn r0, r1, lsl r0 + ldr r1, [r3, r2, lsl #2] + and r0, r1, r0 + str r0, [r3, r2, lsl #2] + bx lr + arm_func_end func_ov00_02097550 + + .global func_ov00_0209759c + arm_func_start func_ov00_0209759c +func_ov00_0209759c: ; 0x0209759c + mov r2, r1, lsr #0x5 + add r0, r0, r2, lsl #2 + ldr r2, [r0, #0x4c] + and r1, r1, #0x1f + mov r0, #1 + tst r2, r0, lsl r1 + moveq r0, #0 + bx lr + arm_func_end func_ov00_0209759c + + .global func_ov00_020975bc + arm_func_start func_ov00_020975bc +func_ov00_020975bc: ; 0x020975bc + cmp r2, #0 + beq _020975e4 + add ip, r0, #0x54 + mov r3, r1, lsr #0x5 + and r0, r1, #0x1f + ldr r2, [ip, r3, lsl #2] + mov r1, #1 + orr r0, r2, r1, lsl r0 + str r0, [ip, r3, lsl #2] + bx lr +_020975e4: + add r3, r0, #0x54 + mov r2, r1, lsr #0x5 + and r0, r1, #0x1f + mov r1, #1 + mvn r0, r1, lsl r0 + ldr r1, [r3, r2, lsl #2] + and r0, r1, r0 + str r0, [r3, r2, lsl #2] + bx lr + arm_func_end func_ov00_020975bc + + .global func_ov00_02097608 + arm_func_start func_ov00_02097608 +func_ov00_02097608: ; 0x02097608 + mov r2, r1, lsr #0x5 + add r0, r0, r2, lsl #2 + ldr r2, [r0, #0x54] + and r1, r1, #0x1f + mov r0, #1 + tst r2, r0, lsl r1 + moveq r0, #0 + bx lr + arm_func_end func_ov00_02097608 + + .rodata + + .global data_ov00_020d8aa8 +data_ov00_020d8aa8: ; 0x020d8aa8 + .byte 0x44, 0x46, 0x4d, 0x43, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8ac0 +data_ov00_020d8ac0: ; 0x020d8ac0 + .byte 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8b10 +data_ov00_020d8b10: ; 0x020d8b10 + .byte 0x47, 0x46, 0x4d, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0x28, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00 + .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8b78 +data_ov00_020d8b78: ; 0x020d8b78 + .byte 0x48, 0x46, 0x4d, 0x43, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x7c, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8be0 +data_ov00_020d8be0: ; 0x020d8be0 + .byte 0x4d, 0x44, 0x4d, 0x43, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0xe4, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8c48 +data_ov00_020d8c48: ; 0x020d8c48 + .byte 0x4c, 0x45, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8cb0 +data_ov00_020d8cb0: ; 0x020d8cb0 + .byte 0x32, 0x45, 0x4d, 0x43, 0x06, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8d18 +data_ov00_020d8d18: ; 0x020d8d18 + .byte 0x4b, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x5b, 0x10, 0x00, 0x00, 0x55, 0x15, 0x00, 0x00 + .byte 0x00, 0x18, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xf9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x9a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8d80 +data_ov00_020d8d80: ; 0x020d8d80 + .byte 0x44, 0x52, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0xc7, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 + .byte 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8de8 +data_ov00_020d8de8: ; 0x020d8de8 + .byte 0x49, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x28, 0x0a, 0x00, 0x00, 0x80, 0x0c, 0x00, 0x00, 0x38, 0x18, 0x00, 0x00 + .byte 0x00, 0x60, 0x00, 0x00, 0x66, 0xfe, 0xff, 0xff, 0x33, 0xfb, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x9a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8e50 +data_ov00_020d8e50: ; 0x020d8e50 + .byte 0x49, 0x52, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xc4, 0x09, 0x00, 0x00 + .byte 0xa0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xf4, 0xff, 0xff + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 + .byte 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8eb8 +data_ov00_020d8eb8: ; 0x020d8eb8 + .byte 0x54, 0x47, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00, 0x66, 0x21, 0x00, 0x00, 0x72, 0x06, 0x00, 0x00 + .byte 0xc9, 0x28, 0x00, 0x00, 0x89, 0xf7, 0xff, 0xff, 0x66, 0x06, 0x00, 0x00, 0x2d, 0x02, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8f20 +data_ov00_020d8f20: ; 0x020d8f20 + .byte 0x55, 0x47, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00 + .byte 0x08, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 + .byte 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8f88 +data_ov00_020d8f88: ; 0x020d8f88 + .byte 0x44, 0x47, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x50, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x70, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8ff0 +data_ov00_020d8ff0: ; 0x020d8ff0 + .byte 0x42, 0x52, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 + .byte 0x08, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x33, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9058 +data_ov00_020d9058: ; 0x020d9058 + .byte 0x45, 0x53, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0xb8, 0x0b, 0x00, 0x00, 0xb8, 0x0b, 0x00, 0x00, 0x90, 0xe8, 0xff, 0xff + .byte 0x9a, 0x19, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x66, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d90c0 +data_ov00_020d90c0: ; 0x020d90c0 + .byte 0x47, 0x53, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00 + .byte 0x28, 0x23, 0x00, 0x00, 0xc0, 0xe0, 0xff, 0xff, 0xcd, 0x14, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00 + .byte 0x66, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9128 +data_ov00_020d9128: ; 0x020d9128 + .byte 0x50, 0x48, 0x53, 0x43, 0x07, 0x00, 0x00, 0x00 + .byte 0x00, 0x10, 0x00, 0x00, 0xe4, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x33, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00 + .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9190 +data_ov00_020d9190: ; 0x020d9190 + .byte 0x31, 0x4d, 0x4f, 0x52, 0x09, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x28, 0x0a, 0x00, 0x00 + .byte 0x8c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xcd, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 + .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x33, 0x03, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d91f8 +data_ov00_020d91f8: ; 0x020d91f8 + .byte 0x32, 0x4d, 0x4f, 0x52, 0x09, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x6b, 0x0b, 0x00, 0x00, 0x80, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xb8, 0x8e, 0x00, 0x00, 0xb8, 0x1a, 0x00, 0x00, 0xcd, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 + .byte 0x33, 0x03, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9260 +data_ov00_020d9260: ; 0x020d9260 + .byte 0x33, 0x4d, 0x4f, 0x52, 0x09, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x6b, 0x0b, 0x00, 0x00 + .byte 0x94, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x8e, 0x00, 0x00, 0xcd, 0x14, 0x00, 0x00 + .byte 0xcd, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 + .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x33, 0x03, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d92c8 +data_ov00_020d92c8: ; 0x020d92c8 + .byte 0x35, 0x4d, 0x4f, 0x52, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x6b, 0x0b, 0x00, 0x00, 0x80, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xb8, 0x8e, 0x00, 0x00, 0xb8, 0x1a, 0x00, 0x00, 0xcd, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9330 +data_ov00_020d9330: ; 0x020d9330 + .byte 0x36, 0x4d, 0x4f, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00 + .byte 0xc7, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00 + .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9398 +data_ov00_020d9398: ; 0x020d9398 + .byte 0x37, 0x4d, 0x4f, 0x52, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00, 0xc7, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0xc0, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1f, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x33, 0x13, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9400 +data_ov00_020d9400: ; 0x020d9400 + .byte 0x4e, 0x41, 0x4d, 0x43, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 + .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x8e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 + .byte 0x1c, 0x07, 0x00, 0x00, 0x55, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x02, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9468 +data_ov00_020d9468: ; 0x020d9468 + .byte 0x50, 0x53, 0x4d, 0x43, 0x08, 0x00, 0x00, 0x00 + .byte 0x00, 0x10, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x10, 0x00, 0x00, 0x66, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x1c, 0x07, 0x00, 0x00, 0x55, 0xf5, 0xff, 0xff + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0xe4, 0x38, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d94d0 +data_ov00_020d94d0: ; 0x020d94d0 + .byte 0x31, 0x43, 0x4d, 0x43, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x13, 0x00, 0x00, 0x1f, 0x05, 0x00, 0x00 + .byte 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 + .byte 0x1c, 0x07, 0x00, 0x00, 0x30, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00 + .byte 0xe4, 0x38, 0x00, 0x00, 0xa0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9538 +data_ov00_020d9538: ; 0x020d9538 + .byte 0x4d, 0x43, 0x4d, 0x43, 0x08, 0x00, 0x00, 0x00 + .byte 0x00, 0x10, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x33, 0x13, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x9a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x1c, 0x07, 0x00, 0x00, 0x30, 0xf8, 0xff, 0xff + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0xe4, 0x38, 0x00, 0x00, 0xa0, 0x0f, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d95a0 +data_ov00_020d95a0: ; 0x020d95a0 + .byte 0x34, 0x4d, 0x4f, 0x52, 0x09, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xc4, 0x09, 0x00, 0x00 + .byte 0xb8, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00 + .byte 0x33, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 + .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x33, 0x03, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 + .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9608 +data_ov00_020d9608: ; 0x020d9608 + .byte 0x43, 0x42, 0x4d, 0x43, 0x0a, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00, 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9670 +data_ov00_020d9670: ; 0x020d9670 + .byte 0x4d, 0x57, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00 + .byte 0xcd, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d96d8 +data_ov00_020d96d8: ; 0x020d96d8 + .byte 0x53, 0x57, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00 + .byte 0x9a, 0x01, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00, 0xcd, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .global data_ov00_020d9740 +data_ov00_020d9740: ; 0x020d9740 + .byte 0x50, 0x42, 0x4d, 0x43, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 + .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d97a8 +data_ov00_020d97a8: ; 0x020d97a8 + .byte 0x4e, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x0b, 0x16, 0x00, 0x00, 0x0b, 0xf6, 0xff, 0xff + .byte 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xf9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9810 +data_ov00_020d9810: ; 0x020d9810 + .byte 0x32, 0x4e, 0x54, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0x0b, 0x16, 0x00, 0x00, 0x0b, 0xf6, 0xff, 0xff, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x9a, 0xf9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 + .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9878 +data_ov00_020d9878: ; 0x020d9878 + .byte 0x49, 0x4e, 0x54, 0x43, 0x0c, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x28, 0x0a, 0x00, 0x00, 0x0b, 0x16, 0x00, 0x00, 0x0b, 0xf6, 0xff, 0xff + .byte 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xf9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d98e0 +data_ov00_020d98e0: ; 0x020d98e0 + .byte 0x4d, 0x53, 0x4d, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 + .byte 0x8e, 0x03, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9948 +data_ov00_020d9948: ; 0x020d9948 + .byte 0x53, 0x53, 0x4d, 0x43, 0x0b, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00 + .byte 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xfb, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xfb, 0xff, 0xff + .byte 0x00, 0x00, 0x00, 0x00, 0xcd, 0xf4, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x66, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d99b0 +data_ov00_020d99b0: ; 0x020d99b0 + .byte 0x4d, 0x46, 0x4d, 0x43, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x3c, 0x0f, 0x00, 0x00 + .byte 0x1c, 0x25, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xd7, 0x0b, 0x00, 0x00, 0x29, 0xfc, 0xff, 0xff + .byte 0xf6, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9a18 +data_ov00_020d9a18: ; 0x020d9a18 + .byte 0x53, 0x46, 0x4d, 0x43, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x55, 0x15, 0x00, 0x00, 0x77, 0x17, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .global data_ov00_020d9a80 +data_ov00_020d9a80: ; 0x020d9a80 + .byte 0x46, 0x47, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 + .byte 0xf0, 0xd8, 0xff, 0xff, 0x38, 0xcd, 0xff, 0xff, 0x33, 0x07, 0x00, 0x00, 0xcd, 0x00, 0x00, 0x00 + .byte 0x85, 0x06, 0x00, 0x00, 0xac, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9ae8 +data_ov00_020d9ae8: ; 0x020d9ae8 + .byte 0x53, 0x47, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00, 0x55, 0xf5, 0xff, 0xff, 0xc7, 0x31, 0x00, 0x00 + .byte 0xae, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x07, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .global data_ov00_020d9b50 +data_ov00_020d9b50: ; 0x020d9b50 + .byte 0x42, 0x47, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 + .byte 0x66, 0xe6, 0xff, 0xff, 0x61, 0x8b, 0xff, 0xff, 0x33, 0x0f, 0x00, 0x00, 0xcd, 0x00, 0x00, 0x00 + .byte 0x5c, 0x0b, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9bb8 +data_ov00_020d9bb8: ; 0x020d9bb8 + .byte 0x43, 0x47, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00, 0x55, 0xf5, 0xff, 0xff, 0xc7, 0x31, 0x00, 0x00 + .byte 0xae, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x07, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .global data_ov00_020d9c20 +data_ov00_020d9c20: ; 0x020d9c20 + .byte 0x4f, 0x53, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 + .byte 0xab, 0x0a, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x33, 0x03, 0x00, 0x00, 0x33, 0x03, 0x00, 0x00 + .byte 0x33, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9c88 +data_ov00_020d9c88: ; 0x020d9c88 + .byte 0x4f, 0x44, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x88, 0x13, 0x00, 0x00, 0xbe, 0xf1, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0x33, 0x53, 0x00, 0x00, 0x9a, 0xd9, 0xff, 0xff, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9cf0 +data_ov00_020d9cf0: ; 0x020d9cf0 + .byte 0x43, 0x44, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xa4, 0x06, 0x00, 0x00 + .byte 0x80, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00 + .byte 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9d58 +data_ov00_020d9d58: ; 0x020d9d58 + .byte 0x4c, 0x43, 0x4d, 0x43, 0x08, 0x00, 0x00, 0x00 + .byte 0x00, 0x10, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0x77, 0xf7, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0x66, 0x16, 0x00, 0x00, 0x66, 0xfe, 0xff, 0xff, 0xcd, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x66, 0x02, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xf5, 0xff, 0xff + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0xe4, 0x38, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9dc0 +data_ov00_020d9dc0: ; 0x020d9dc0 + .byte 0x49, 0x50, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xc7, 0x11, 0x00, 0x00 + .byte 0xcb, 0x17, 0x00, 0x00, 0xb4, 0xe2, 0xff, 0xff, 0x00, 0x68, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00 + .byte 0x33, 0x2b, 0x00, 0x00, 0xcd, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9e28 +data_ov00_020d9e28: ; 0x020d9e28 + .byte 0x55, 0x50, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0xc7, 0x11, 0x00, 0x00, 0xe4, 0xf8, 0xff, 0xff, 0x83, 0x0d, 0x00, 0x00 + .byte 0x00, 0x60, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9e90 +data_ov00_020d9e90: ; 0x020d9e90 + .byte 0x4d, 0x49, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00 + .byte 0xa5, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 + .byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9ef8 +data_ov00_020d9ef8: ; 0x020d9ef8 + .byte 0x53, 0x49, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00 + .byte 0x9a, 0x01, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00, 0xa5, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .global data_ov00_020d9f60 +data_ov00_020d9f60: ; 0x020d9f60 + .byte 0x32, 0x4d, 0x49, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xab, 0x0a, 0x00, 0x00 + .byte 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00 + .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d9fc8 +data_ov00_020d9fc8: ; 0x020d9fc8 + .byte 0x41, 0x57, 0x4d, 0x43, 0x0d, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x33, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da030 +data_ov00_020da030: ; 0x020da030 + .byte 0x42, 0x57, 0x4d, 0x43, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da098 +data_ov00_020da098: ; 0x020da098 + .byte 0x54, 0x57, 0x4d, 0x43, 0x0d, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x33, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x06, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da100 +data_ov00_020da100: ; 0x020da100 + .byte 0x4c, 0x57, 0x4d, 0x43, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x06, 0x00 + .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da168 +data_ov00_020da168: ; 0x020da168 + .byte 0x47, 0x52, 0x4d, 0x43, 0x05, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0xc7, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da1d0 +data_ov00_020da1d0: ; 0x020da1d0 + .byte 0x47, 0x47, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0xc7, 0x11, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xcd, 0xfc, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 + .byte 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da238 +data_ov00_020da238: ; 0x020da238 + .byte 0x52, 0x42, 0x4d, 0x43, 0x0e, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x55, 0x15, 0x00, 0x00, 0xc7, 0xf1, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x48, 0x00, 0x00, 0x33, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da2a0 +data_ov00_020da2a0: ; 0x020da2a0 + .byte 0x46, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0x28, 0x23, 0x00, 0x00, 0x55, 0x15, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x33, 0x0b, 0x00, 0x00 + .byte 0x00, 0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 + .byte 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da308 +data_ov00_020da308: ; 0x020da308 + .byte 0x43, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0xb8, 0x0b, 0x00, 0x00, 0x55, 0x15, 0x00, 0x00 + .byte 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xf9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x66, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da370 +data_ov00_020da370: ; 0x020da370 + .byte 0x53, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0x5b, 0x10, 0x00, 0x00, 0x28, 0x23, 0x00, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x66, 0xf6, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 + .byte 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da3d8 +data_ov00_020da3d8: ; 0x020da3d8 + .byte 0x4d, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x28, 0x23, 0x00, 0x00, 0x55, 0x15, 0x00, 0x00 + .byte 0x00, 0x60, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xf1, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xcd, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da440 +data_ov00_020da440: ; 0x020da440 + .byte 0x54, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0x93, 0x08, 0x00, 0x00, 0xb4, 0x19, 0x00, 0x00, 0x33, 0x47, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x0a, 0xf7, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 + .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da4a8 +data_ov00_020da4a8: ; 0x020da4a8 + .byte 0x4b, 0x43, 0x54, 0x43, 0x0c, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x93, 0x08, 0x00, 0x00, 0xb4, 0x19, 0x00, 0x00 + .byte 0x33, 0x47, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xf7, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x9a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da510 +data_ov00_020da510: ; 0x020da510 + .byte 0x52, 0x46, 0x54, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00 + .byte 0xb8, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x33, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 + .byte 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da578 +data_ov00_020da578: ; 0x020da578 + .byte 0x4d, 0x53, 0x53, 0x43, 0x09, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x30, 0x02, 0x00, 0xf6, 0x28, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da5e0 +data_ov00_020da5e0: ; 0x020da5e0 + .byte 0x53, 0x53, 0x53, 0x43, 0x09, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0x9a, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x02, 0x00, 0xa4, 0xa8, 0xff, 0xff + .byte 0x9a, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00 + .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da648 +data_ov00_020da648: ; 0x020da648 + .byte 0x4d, 0x49, 0x53, 0x43, 0x0c, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x28, 0x0a, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x38, 0x00, 0x00, 0x33, 0xff, 0xff, 0xff, 0x9a, 0xf9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da6b0 +data_ov00_020da6b0: ; 0x020da6b0 + .byte 0x49, 0x49, 0x53, 0x43, 0x09, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 + .byte 0x58, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00 + .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da718 +data_ov00_020da718: ; 0x020da718 + .byte 0x4d, 0x47, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0xab, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da780 +data_ov00_020da780: ; 0x020da780 + .byte 0x53, 0x47, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0xab, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00 + .global data_ov00_020da7e8 +data_ov00_020da7e8: ; 0x020da7e8 + .byte 0x5a, 0x54, 0x4d, 0x43, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da850 +data_ov00_020da850: ; 0x020da850 + .byte 0x55, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x88, 0x13, 0x00, 0x00 + .byte 0x77, 0xf7, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x14, 0xfa, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 + .byte 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da8b8 +data_ov00_020da8b8: ; 0x020da8b8 + .byte 0x4c, 0x54, 0x4d, 0x43, 0x0c, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0xa0, 0x0f, 0x00, 0x00, 0xac, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xf3, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x66, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x80, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da920 +data_ov00_020da920: ; 0x020da920 + .byte 0x4d, 0x59, 0x53, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x28, 0x0a, 0x00, 0x00 + .byte 0x8e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x66, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 + .byte 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da988 +data_ov00_020da988: ; 0x020da988 + .byte 0x4d, 0x4a, 0x53, 0x43, 0x0c, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x28, 0x0a, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xfb, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020da9f0 +data_ov00_020da9f0: ; 0x020da9f0 + .byte 0x4d, 0x43, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0x70, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020daa58 +data_ov00_020daa58: ; 0x020daa58 + .byte 0x53, 0x43, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00 + .global data_ov00_020daac0 +data_ov00_020daac0: ; 0x020daac0 + .byte 0x53, 0x42, 0x4d, 0x43, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00 + .byte 0xb8, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x66, 0x02, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020dab28 +data_ov00_020dab28: ; 0x020dab28 + .byte 0x4d, 0x4c, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00 + .byte 0x9a, 0x01, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00, 0x88, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x80, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x0a, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020dab90 +data_ov00_020dab90: ; 0x020dab90 + .byte 0x53, 0x4c, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 + .byte 0x88, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 + .byte 0x0a, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .global data_ov00_020dabf8 +data_ov00_020dabf8: ; 0x020dabf8 + .byte 0x32, 0x4d, 0x4c, 0x43, 0x00, 0x00, 0x00, 0x00 + .byte 0x9a, 0x01, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00, 0xf0, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0xe0, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x0a, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020dac60 +data_ov00_020dac60: ; 0x020dac60 + .byte 0x33, 0x4d, 0x4c, 0x43, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 + .byte 0x40, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff + .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 + .byte 0x0a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020dacc8 +data_ov00_020dacc8: ; 0x020dacc8 + .byte 0x4d, 0x33, 0x42, 0x43, 0x0f, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x98, 0xff, 0xff, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020dad30 +data_ov00_020dad30: ; 0x020dad30 + .byte 0x53, 0x33, 0x42, 0x43, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x5f, 0x0c, 0x00, 0x00 + .byte 0xc2, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x9a, 0xa1, 0xff, 0xff + .byte 0x7b, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 + .byte 0x64, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020dad98 +data_ov00_020dad98: ; 0x020dad98 + .byte 0x53, 0x53, 0x33, 0x43, 0x0e, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x58, 0x1b, 0x00, 0x00, 0x18, 0xfc, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 + .byte 0xcd, 0x64, 0x00, 0x00, 0x9a, 0xa1, 0xff, 0xff, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020dae00 +data_ov00_020dae00: ; 0x020dae00 + .byte 0x32, 0x4d, 0x33, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x39, 0x0e, 0x00, 0x00 + .byte 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020dae68 +data_ov00_020dae68: ; 0x020dae68 + .byte 0x4d, 0x44, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020daed0 +data_ov00_020daed0: ; 0x020daed0 + .byte 0x4d, 0x45, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020daf38 +data_ov00_020daf38: ; 0x020daf38 + .byte 0x46, 0x42, 0x4d, 0x43, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00, 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020dafa0 +data_ov00_020dafa0: ; 0x020dafa0 + .byte 0x57, 0x50, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x8e, 0x03, 0x00, 0x00 + .byte 0x94, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00 + .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x03, 0x00 + .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020db008 +data_ov00_020db008: ; 0x020db008 + .byte 0x00, 0x00, 0x01, 0x00 + .global data_ov00_020db00c +data_ov00_020db00c: ; 0x020db00c + .byte 0x00, 0x00, 0x02, 0x00 + .global data_ov00_020db010 +data_ov00_020db010: ; 0x020db010 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020db014 +data_ov00_020db014: ; 0x020db014 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020db018 +data_ov00_020db018: ; 0x020db018 + .byte 0xff, 0xff, 0xff, 0xff + .global data_ov00_020db01c +data_ov00_020db01c: ; 0x020db01c + .byte 0x01, 0x00, 0x00, 0x00 + .global data_ov00_020db020 +data_ov00_020db020: ; 0x020db020 + .byte 0xff, 0xff, 0xff, 0xff + .global data_ov00_020db024 +data_ov00_020db024: ; 0x020db024 + .byte 0x01, 0x00, 0x00, 0x00 + .global data_ov00_020db028 +data_ov00_020db028: ; 0x020db028 + .byte 0xff, 0xff, 0xff, 0xff + .global data_ov00_020db02c +data_ov00_020db02c: ; 0x020db02c + .byte 0x01, 0x00, 0x00, 0x00 + .global data_ov00_020db030 +data_ov00_020db030: ; 0x020db030 + .byte 0xff, 0xff, 0xff, 0xff + .global data_ov00_020db034 +data_ov00_020db034: ; 0x020db034 + .byte 0x01, 0x00, 0x00, 0x00 + .global data_ov00_020db038 +data_ov00_020db038: ; 0x020db038 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020db03c +data_ov00_020db03c: ; 0x020db03c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020db040 +data_ov00_020db040: ; 0x020db040 + .byte 0xff, 0xff, 0xff, 0xff + .global data_ov00_020db044 +data_ov00_020db044: ; 0x020db044 + .byte 0xff, 0xff, 0xff, 0xff + .global data_ov00_020db048 +data_ov00_020db048: ; 0x020db048 + .byte 0x01, 0x00, 0x00, 0x00 + .global data_ov00_020db04c +data_ov00_020db04c: ; 0x020db04c + .byte 0x01, 0x00, 0x00, 0x00 + .global data_ov00_020db050 +data_ov00_020db050: ; 0x020db050 + .byte 0x29, 0x00 + .global data_ov00_020db052 +data_ov00_020db052: ; 0x020db052 + .byte 0x2a, 0x00 + .global data_ov00_020db054 +data_ov00_020db054: ; 0x020db054 + .byte 0x28, 0x00 + .global data_ov00_020db056 +data_ov00_020db056: ; 0x020db056 + .byte 0x00, 0x00 + + .data + + .global data_ov00_020e253c +data_ov00_020e253c: ; 0x020e253c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2540 +data_ov00_020e2540: ; 0x020e2540 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2544 +data_ov00_020e2544: ; 0x020e2544 + .word func_ov00_02086cd4 + .global data_ov00_020e2548 +data_ov00_020e2548: ; 0x020e2548 + .word func_ov00_02086da8 + .global data_ov00_020e254c +data_ov00_020e254c: ; 0x020e254c + .word func_ov05_0210199c ; func_ov06_0210199c, func_ov07_0210199c + .global data_ov00_020e2550 +data_ov00_020e2550: ; 0x020e2550 + .word func_ov05_02101ab8 + .global data_ov00_020e2554 +data_ov00_020e2554: ; 0x020e2554 + .word func_ov04_02103444 ; data_ov06_02103444, data_ov07_02103444 + .global data_ov00_020e2558 +data_ov00_020e2558: ; 0x020e2558 + .word func_ov04_021034fc ; data_ov06_021034fc, data_ov07_021034fc + .global data_ov00_020e255c +data_ov00_020e255c: ; 0x020e255c + .word func_ov00_020870a0 + .global data_ov00_020e2560 +data_ov00_020e2560: ; 0x020e2560 + .word func_ov00_020870c4 + .global data_ov00_020e2564 +data_ov00_020e2564: ; 0x020e2564 + .word func_ov00_020870d0 + .global data_ov00_020e2568 +data_ov00_020e2568: ; 0x020e2568 + .ascii "vector::at index out of range" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e2588 +data_ov00_020e2588: ; 0x020e2588 + .byte 0x00, 0x00 + .global data_ov00_020e258a +data_ov00_020e258a: ; 0x020e258a + .byte 0xf0, 0x1f + .global data_ov00_020e258c +data_ov00_020e258c: ; 0x020e258c + .byte 0x00, 0xfc + .global data_ov00_020e258e +data_ov00_020e258e: ; 0x020e258e + .byte 0x07, 0x00 + .global data_ov00_020e2590 +data_ov00_020e2590: ; 0x020e2590 + .byte 0xff, 0x01 + .global data_ov00_020e2592 +data_ov00_020e2592: ; 0x020e2592 + .byte 0x00, 0x00 + .global data_ov00_020e2594 +data_ov00_020e2594: ; 0x020e2594 + .byte 0x00, 0x00 + .global data_ov00_020e2596 +data_ov00_020e2596: ; 0x020e2596 + .byte 0x00, 0x20 + .global data_ov00_020e2598 +data_ov00_020e2598: ; 0x020e2598 + .byte 0x00, 0x00 + .global data_ov00_020e259a +data_ov00_020e259a: ; 0x020e259a + .byte 0x08, 0x00 + .global data_ov00_020e259c +data_ov00_020e259c: ; 0x020e259c + .byte 0x00, 0x02 + .global data_ov00_020e259e +data_ov00_020e259e: ; 0x020e259e + .byte 0x00, 0x00 + .global data_ov00_020e25a0 +data_ov00_020e25a0: ; 0x020e25a0 + .byte 0x00, 0xa8 + .global data_ov00_020e25a2 +data_ov00_020e25a2: ; 0x020e25a2 + .byte 0xa5, 0x16 + .global data_ov00_020e25a4 +data_ov00_020e25a4: ; 0x020e25a4 + .byte 0x00, 0x00 + .global data_ov00_020e25a6 +data_ov00_020e25a6: ; 0x020e25a6 + .byte 0x00, 0x00 + .global data_ov00_020e25a8 +data_ov00_020e25a8: ; 0x020e25a8 + .byte 0x00, 0x00 + .global data_ov00_020e25aa +data_ov00_020e25aa: ; 0x020e25aa + .byte 0x00, 0x00 + .global data_ov00_020e25ac +data_ov00_020e25ac: ; 0x020e25ac + .byte 0x00, 0x00 + .global data_ov00_020e25ae +data_ov00_020e25ae: ; 0x020e25ae + .byte 0x00, 0x00 + .global data_ov00_020e25b0 +data_ov00_020e25b0: ; 0x020e25b0 + .byte 0x00, 0x08 + .global data_ov00_020e25b2 +data_ov00_020e25b2: ; 0x020e25b2 + .byte 0x00, 0x08 + .global data_ov00_020e25b4 +data_ov00_020e25b4: ; 0x020e25b4 + .byte 0x00, 0x08 + .global data_ov00_020e25b6 +data_ov00_020e25b6: ; 0x020e25b6 + .byte 0x00, 0x08 + .global data_ov00_020e25b8 +data_ov00_020e25b8: ; 0x020e25b8 + .byte 0x00, 0x08 + .global data_ov00_020e25ba +data_ov00_020e25ba: ; 0x020e25ba + .byte 0x00, 0xf8 + .global data_ov00_020e25bc +data_ov00_020e25bc: ; 0x020e25bc + .byte 0x00, 0x08 + .global data_ov00_020e25be +data_ov00_020e25be: ; 0x020e25be + .byte 0x00, 0xf8 + .global data_ov00_020e25c0 +data_ov00_020e25c0: ; 0x020e25c0 + .byte 0x00, 0x08 + .global data_ov00_020e25c2 +data_ov00_020e25c2: ; 0x020e25c2 + .byte 0x00, 0x08 + .global data_ov00_020e25c4 +data_ov00_020e25c4: ; 0x020e25c4 + .byte 0x00, 0xf8 + .global data_ov00_020e25c6 +data_ov00_020e25c6: ; 0x020e25c6 + .byte 0x00, 0xf8 + .global data_ov00_020e25c8 +data_ov00_020e25c8: ; 0x020e25c8 + .byte 0x00, 0xf8 + .global data_ov00_020e25ca +data_ov00_020e25ca: ; 0x020e25ca + .byte 0x00, 0x08 + .global data_ov00_020e25cc +data_ov00_020e25cc: ; 0x020e25cc + .byte 0x00, 0x08 + .global data_ov00_020e25ce +data_ov00_020e25ce: ; 0x020e25ce + .byte 0x00, 0xf8 + .global data_ov00_020e25d0 +data_ov00_020e25d0: ; 0x020e25d0 + .byte 0x00, 0x08 + .global data_ov00_020e25d2 +data_ov00_020e25d2: ; 0x020e25d2 + .byte 0x00, 0xf8 + .global data_ov00_020e25d4 +data_ov00_020e25d4: ; 0x020e25d4 + .byte 0x00, 0xf8 + .global data_ov00_020e25d6 +data_ov00_020e25d6: ; 0x020e25d6 + .byte 0x00, 0xf8 + .global data_ov00_020e25d8 +data_ov00_020e25d8: ; 0x020e25d8 + .byte 0x00, 0x08 + .global data_ov00_020e25da +data_ov00_020e25da: ; 0x020e25da + .byte 0x00, 0xf8 + .global data_ov00_020e25dc +data_ov00_020e25dc: ; 0x020e25dc + .byte 0x00, 0xf8 + .global data_ov00_020e25de +data_ov00_020e25de: ; 0x020e25de + .byte 0x00, 0xf8 + .global data_ov00_020e25e0 +data_ov00_020e25e0: ; 0x020e25e0 + .byte 0x00, 0x10 + .global data_ov00_020e25e2 +data_ov00_020e25e2: ; 0x020e25e2 + .byte 0x00, 0x10 + .global data_ov00_020e25e4 +data_ov00_020e25e4: ; 0x020e25e4 + .byte 0x00, 0x08 + .global data_ov00_020e25e6 +data_ov00_020e25e6: ; 0x020e25e6 + .byte 0x00, 0x10 + .global data_ov00_020e25e8 +data_ov00_020e25e8: ; 0x020e25e8 + .byte 0x00, 0x10 + .global data_ov00_020e25ea +data_ov00_020e25ea: ; 0x020e25ea + .byte 0x00, 0xf8 + .global data_ov00_020e25ec +data_ov00_020e25ec: ; 0x020e25ec + .byte 0x00, 0x10 + .global data_ov00_020e25ee +data_ov00_020e25ee: ; 0x020e25ee + .byte 0x00, 0x00 + .global data_ov00_020e25f0 +data_ov00_020e25f0: ; 0x020e25f0 + .byte 0x00, 0x08 + .global data_ov00_020e25f2 +data_ov00_020e25f2: ; 0x020e25f2 + .byte 0x00, 0x10 + .global data_ov00_020e25f4 +data_ov00_020e25f4: ; 0x020e25f4 + .byte 0x00, 0x00 + .global data_ov00_020e25f6 +data_ov00_020e25f6: ; 0x020e25f6 + .byte 0x00, 0xf8 + .global data_ov00_020e25f8 +data_ov00_020e25f8: ; 0x020e25f8 + .byte 0x00, 0x00 + .global data_ov00_020e25fa +data_ov00_020e25fa: ; 0x020e25fa + .byte 0x00, 0x10 + .global data_ov00_020e25fc +data_ov00_020e25fc: ; 0x020e25fc + .byte 0x00, 0x08 + .global data_ov00_020e25fe +data_ov00_020e25fe: ; 0x020e25fe + .byte 0x00, 0x00 + .global data_ov00_020e2600 +data_ov00_020e2600: ; 0x020e2600 + .byte 0x00, 0x10 + .global data_ov00_020e2602 +data_ov00_020e2602: ; 0x020e2602 + .byte 0x00, 0xf8 + .global data_ov00_020e2604 +data_ov00_020e2604: ; 0x020e2604 + .byte 0x00, 0x00 + .global data_ov00_020e2606 +data_ov00_020e2606: ; 0x020e2606 + .byte 0x00, 0x00 + .global data_ov00_020e2608 +data_ov00_020e2608: ; 0x020e2608 + .byte 0x00, 0x08 + .global data_ov00_020e260a +data_ov00_020e260a: ; 0x020e260a + .byte 0x00, 0x00 + .global data_ov00_020e260c +data_ov00_020e260c: ; 0x020e260c + .byte 0x00, 0x00 + .global data_ov00_020e260e +data_ov00_020e260e: ; 0x020e260e + .byte 0x00, 0xf8 + .global data_ov00_020e2610 +data_ov00_020e2610: ; 0x020e2610 + .byte 0x00, 0x00 + .global data_ov00_020e2612 +data_ov00_020e2612: ; 0x020e2612 + .byte 0x00, 0x08 + .global data_ov00_020e2614 +data_ov00_020e2614: ; 0x020e2614 + .byte 0x00, 0x00 + .global data_ov00_020e2616 +data_ov00_020e2616: ; 0x020e2616 + .byte 0x00, 0x00 + .global data_ov00_020e2618 +data_ov00_020e2618: ; 0x020e2618 + .byte 0x00, 0x00 + .global data_ov00_020e261a +data_ov00_020e261a: ; 0x020e261a + .byte 0x00, 0x00 + .global data_ov00_020e261c +data_ov00_020e261c: ; 0x020e261c + .byte 0x00, 0x00 + .global data_ov00_020e261e +data_ov00_020e261e: ; 0x020e261e + .byte 0x00, 0x00 + .global data_ov00_020e2620 +data_ov00_020e2620: ; 0x020e2620 + .word func_ov00_0208caa0 + .global data_ov00_020e2624 +data_ov00_020e2624: ; 0x020e2624 + .word func_ov00_0208cac0 + .global data_ov00_020e2628 +data_ov00_020e2628: ; 0x020e2628 + .word func_ov00_0208b68c + .global data_ov00_020e262c +data_ov00_020e262c: ; 0x020e262c + .word func_ov00_0208b690 + .global data_ov00_020e2630 +data_ov00_020e2630: ; 0x020e2630 + .word func_ov00_0208b694 + .global data_ov00_020e2634 +data_ov00_020e2634: ; 0x020e2634 + .word func_ov00_0208b698 + .global data_ov00_020e2638 +data_ov00_020e2638: ; 0x020e2638 + .word func_ov00_0208b6b8 + .global data_ov00_020e263c +data_ov00_020e263c: ; 0x020e263c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2640 +data_ov00_020e2640: ; 0x020e2640 + .word func_ov00_0208b6bc + .global data_ov00_020e2644 +data_ov00_020e2644: ; 0x020e2644 + .word func_ov00_0208b6c4 + .global data_ov00_020e2648 +data_ov00_020e2648: ; 0x020e2648 + .word func_ov00_0208b6c8 + .global data_ov00_020e264c +data_ov00_020e264c: ; 0x020e264c + .word func_ov00_0208b6d0 + .global data_ov00_020e2650 +data_ov00_020e2650: ; 0x020e2650 + .word func_ov00_0208b6d8 + .global data_ov00_020e2654 +data_ov00_020e2654: ; 0x020e2654 + .word func_ov00_0208b6e0 + .global data_ov00_020e2658 +data_ov00_020e2658: ; 0x020e2658 + .word func_ov00_0208b6e8 + .global data_ov00_020e265c +data_ov00_020e265c: ; 0x020e265c + .word func_ov00_0208b6f0 + .global data_ov00_020e2660 +data_ov00_020e2660: ; 0x020e2660 + .word func_ov00_0208b6f8 + .global data_ov00_020e2664 +data_ov00_020e2664: ; 0x020e2664 + .word func_ov00_0208b700 + .global data_ov00_020e2668 +data_ov00_020e2668: ; 0x020e2668 + .word func_ov00_0208b704 + .global data_ov00_020e266c +data_ov00_020e266c: ; 0x020e266c + .word func_ov00_0208b70c + .global data_ov00_020e2670 +data_ov00_020e2670: ; 0x020e2670 + .word func_ov00_0208b710 + .global data_ov00_020e2674 +data_ov00_020e2674: ; 0x020e2674 + .word func_ov00_0208ca08 + .global data_ov00_020e2678 +data_ov00_020e2678: ; 0x020e2678 + .word func_ov00_0208b71c + .global data_ov00_020e267c +data_ov00_020e267c: ; 0x020e267c + .word func_ov00_0208b844 + .global data_ov00_020e2680 +data_ov00_020e2680: ; 0x020e2680 + .word func_ov00_0208b870 + .global data_ov00_020e2684 +data_ov00_020e2684: ; 0x020e2684 + .word func_ov00_0208b89c + .global data_ov00_020e2688 +data_ov00_020e2688: ; 0x020e2688 + .word func_ov00_0208ba30 + .global data_ov00_020e268c +data_ov00_020e268c: ; 0x020e268c + .word func_ov00_0208ba38 + .global data_ov00_020e2690 +data_ov00_020e2690: ; 0x020e2690 + .word func_ov00_0208ba40 + .global data_ov00_020e2694 +data_ov00_020e2694: ; 0x020e2694 + .word func_ov00_0208ba48 + .global data_ov00_020e2698 +data_ov00_020e2698: ; 0x020e2698 + .word func_ov00_0208ba50 + .global data_ov00_020e269c +data_ov00_020e269c: ; 0x020e269c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e26a0 +data_ov00_020e26a0: ; 0x020e26a0 + .word func_ov00_0208c384 + .global data_ov00_020e26a4 +data_ov00_020e26a4: ; 0x020e26a4 + .word func_ov00_0208c38c + .global data_ov00_020e26a8 +data_ov00_020e26a8: ; 0x020e26a8 + .word func_ov00_0208c39c + .global data_ov00_020e26ac +data_ov00_020e26ac: ; 0x020e26ac + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e26b0 +data_ov00_020e26b0: ; 0x020e26b0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e26b4 +data_ov00_020e26b4: ; 0x020e26b4 + .word func_ov00_0208ca58 + .global data_ov00_020e26b8 +data_ov00_020e26b8: ; 0x020e26b8 + .word func_ov00_0208ca78 + .global data_ov00_020e26bc +data_ov00_020e26bc: ; 0x020e26bc + .word func_ov00_0208b68c + .global data_ov00_020e26c0 +data_ov00_020e26c0: ; 0x020e26c0 + .word func_ov00_0208b690 + .global data_ov00_020e26c4 +data_ov00_020e26c4: ; 0x020e26c4 + .word func_ov00_0208b694 + .global data_ov00_020e26c8 +data_ov00_020e26c8: ; 0x020e26c8 + .word func_ov00_0208b698 + .global data_ov00_020e26cc +data_ov00_020e26cc: ; 0x020e26cc + .word func_ov00_0208b6b8 + .global data_ov00_020e26d0 +data_ov00_020e26d0: ; 0x020e26d0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e26d4 +data_ov00_020e26d4: ; 0x020e26d4 + .word func_ov00_0208b6bc + .global data_ov00_020e26d8 +data_ov00_020e26d8: ; 0x020e26d8 + .word func_ov00_0208b6c4 + .global data_ov00_020e26dc +data_ov00_020e26dc: ; 0x020e26dc + .word func_ov00_0208b6c8 + .global data_ov00_020e26e0 +data_ov00_020e26e0: ; 0x020e26e0 + .word func_ov00_0208b6d0 + .global data_ov00_020e26e4 +data_ov00_020e26e4: ; 0x020e26e4 + .word func_ov00_0208b6d8 + .global data_ov00_020e26e8 +data_ov00_020e26e8: ; 0x020e26e8 + .word func_ov00_0208b6e0 + .global data_ov00_020e26ec +data_ov00_020e26ec: ; 0x020e26ec + .word func_ov00_0208b6e8 + .global data_ov00_020e26f0 +data_ov00_020e26f0: ; 0x020e26f0 + .word func_ov00_0208b6f0 + .global data_ov00_020e26f4 +data_ov00_020e26f4: ; 0x020e26f4 + .word func_ov00_0208b6f8 + .global data_ov00_020e26f8 +data_ov00_020e26f8: ; 0x020e26f8 + .word func_ov00_0208b700 + .global data_ov00_020e26fc +data_ov00_020e26fc: ; 0x020e26fc + .word func_ov00_0208b704 + .global data_ov00_020e2700 +data_ov00_020e2700: ; 0x020e2700 + .word func_ov00_0208b70c + .global data_ov00_020e2704 +data_ov00_020e2704: ; 0x020e2704 + .word func_ov00_0208b710 + .global data_ov00_020e2708 +data_ov00_020e2708: ; 0x020e2708 + .word func_ov00_0208ca00 + .global data_ov00_020e270c +data_ov00_020e270c: ; 0x020e270c + .word func_ov00_0208b71c + .global data_ov00_020e2710 +data_ov00_020e2710: ; 0x020e2710 + .word func_ov00_0208b844 + .global data_ov00_020e2714 +data_ov00_020e2714: ; 0x020e2714 + .word func_ov00_0208b870 + .global data_ov00_020e2718 +data_ov00_020e2718: ; 0x020e2718 + .word func_ov00_0208b89c + .global data_ov00_020e271c +data_ov00_020e271c: ; 0x020e271c + .word func_ov00_0208ba30 + .global data_ov00_020e2720 +data_ov00_020e2720: ; 0x020e2720 + .word func_ov00_0208ba38 + .global data_ov00_020e2724 +data_ov00_020e2724: ; 0x020e2724 + .word func_ov00_0208ba40 + .global data_ov00_020e2728 +data_ov00_020e2728: ; 0x020e2728 + .word func_ov00_0208ba48 + .global data_ov00_020e272c +data_ov00_020e272c: ; 0x020e272c + .word func_ov00_0208ba50 + .global data_ov00_020e2730 +data_ov00_020e2730: ; 0x020e2730 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2734 +data_ov00_020e2734: ; 0x020e2734 + .word func_ov00_0208c384 + .global data_ov00_020e2738 +data_ov00_020e2738: ; 0x020e2738 + .word func_ov00_0208c38c + .global data_ov00_020e273c +data_ov00_020e273c: ; 0x020e273c + .word func_ov00_0208c39c + .global data_ov00_020e2740 +data_ov00_020e2740: ; 0x020e2740 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2744 +data_ov00_020e2744: ; 0x020e2744 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2748 +data_ov00_020e2748: ; 0x020e2748 + .word func_ov00_0208ca10 + .global data_ov00_020e274c +data_ov00_020e274c: ; 0x020e274c + .word func_ov00_0208ca30 + .global data_ov00_020e2750 +data_ov00_020e2750: ; 0x020e2750 + .word func_ov00_0208b68c + .global data_ov00_020e2754 +data_ov00_020e2754: ; 0x020e2754 + .word func_ov00_0208b690 + .global data_ov00_020e2758 +data_ov00_020e2758: ; 0x020e2758 + .word func_ov00_0208b694 + .global data_ov00_020e275c +data_ov00_020e275c: ; 0x020e275c + .word func_ov00_0208b698 + .global data_ov00_020e2760 +data_ov00_020e2760: ; 0x020e2760 + .word func_ov00_0208b6b8 + .global data_ov00_020e2764 +data_ov00_020e2764: ; 0x020e2764 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2768 +data_ov00_020e2768: ; 0x020e2768 + .word func_ov00_0208b6bc + .global data_ov00_020e276c +data_ov00_020e276c: ; 0x020e276c + .word func_ov00_0208b6c4 + .global data_ov00_020e2770 +data_ov00_020e2770: ; 0x020e2770 + .word func_ov00_0208b6c8 + .global data_ov00_020e2774 +data_ov00_020e2774: ; 0x020e2774 + .word func_ov00_0208b6d0 + .global data_ov00_020e2778 +data_ov00_020e2778: ; 0x020e2778 + .word func_ov00_0208b6d8 + .global data_ov00_020e277c +data_ov00_020e277c: ; 0x020e277c + .word func_ov00_0208b6e0 + .global data_ov00_020e2780 +data_ov00_020e2780: ; 0x020e2780 + .word func_ov00_0208b6e8 + .global data_ov00_020e2784 +data_ov00_020e2784: ; 0x020e2784 + .word func_ov00_0208b6f0 + .global data_ov00_020e2788 +data_ov00_020e2788: ; 0x020e2788 + .word func_ov00_0208b6f8 + .global data_ov00_020e278c +data_ov00_020e278c: ; 0x020e278c + .word func_ov00_0208b700 + .global data_ov00_020e2790 +data_ov00_020e2790: ; 0x020e2790 + .word func_ov00_0208b704 + .global data_ov00_020e2794 +data_ov00_020e2794: ; 0x020e2794 + .word func_ov00_0208b70c + .global data_ov00_020e2798 +data_ov00_020e2798: ; 0x020e2798 + .word func_ov00_0208b710 + .global data_ov00_020e279c +data_ov00_020e279c: ; 0x020e279c + .word func_ov00_0208c9f8 + .global data_ov00_020e27a0 +data_ov00_020e27a0: ; 0x020e27a0 + .word func_ov00_0208b71c + .global data_ov00_020e27a4 +data_ov00_020e27a4: ; 0x020e27a4 + .word func_ov00_0208b844 + .global data_ov00_020e27a8 +data_ov00_020e27a8: ; 0x020e27a8 + .word func_ov00_0208b870 + .global data_ov00_020e27ac +data_ov00_020e27ac: ; 0x020e27ac + .word func_ov00_0208b89c + .global data_ov00_020e27b0 +data_ov00_020e27b0: ; 0x020e27b0 + .word func_ov00_0208ba30 + .global data_ov00_020e27b4 +data_ov00_020e27b4: ; 0x020e27b4 + .word func_ov00_0208ba38 + .global data_ov00_020e27b8 +data_ov00_020e27b8: ; 0x020e27b8 + .word func_ov00_0208ba40 + .global data_ov00_020e27bc +data_ov00_020e27bc: ; 0x020e27bc + .word func_ov00_0208ba48 + .global data_ov00_020e27c0 +data_ov00_020e27c0: ; 0x020e27c0 + .word func_ov00_0208ba50 + .global data_ov00_020e27c4 +data_ov00_020e27c4: ; 0x020e27c4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e27c8 +data_ov00_020e27c8: ; 0x020e27c8 + .word func_ov00_0208c384 + .global data_ov00_020e27cc +data_ov00_020e27cc: ; 0x020e27cc + .word func_ov00_0208c38c + .global data_ov00_020e27d0 +data_ov00_020e27d0: ; 0x020e27d0 + .word func_ov00_0208c39c + .global data_ov00_020e27d4 +data_ov00_020e27d4: ; 0x020e27d4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e27d8 +data_ov00_020e27d8: ; 0x020e27d8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e27dc +data_ov00_020e27dc: ; 0x020e27dc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e27e0 +data_ov00_020e27e0: ; 0x020e27e0 + .word func_ov00_0208b5a8 + .global data_ov00_020e27e4 +data_ov00_020e27e4: ; 0x020e27e4 + .word func_ov00_0208b68c + .global data_ov00_020e27e8 +data_ov00_020e27e8: ; 0x020e27e8 + .word func_ov00_0208b690 + .global data_ov00_020e27ec +data_ov00_020e27ec: ; 0x020e27ec + .word func_ov00_0208b694 + .global data_ov00_020e27f0 +data_ov00_020e27f0: ; 0x020e27f0 + .word func_ov00_0208b698 + .global data_ov00_020e27f4 +data_ov00_020e27f4: ; 0x020e27f4 + .word func_ov00_0208b6b8 + .global data_ov00_020e27f8 +data_ov00_020e27f8: ; 0x020e27f8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e27fc +data_ov00_020e27fc: ; 0x020e27fc + .word func_ov00_0208b6bc + .global data_ov00_020e2800 +data_ov00_020e2800: ; 0x020e2800 + .word func_ov00_0208b6c4 + .global data_ov00_020e2804 +data_ov00_020e2804: ; 0x020e2804 + .word func_ov00_0208b6c8 + .global data_ov00_020e2808 +data_ov00_020e2808: ; 0x020e2808 + .word func_ov00_0208b6d0 + .global data_ov00_020e280c +data_ov00_020e280c: ; 0x020e280c + .word func_ov00_0208b6d8 + .global data_ov00_020e2810 +data_ov00_020e2810: ; 0x020e2810 + .word func_ov00_0208b6e0 + .global data_ov00_020e2814 +data_ov00_020e2814: ; 0x020e2814 + .word func_ov00_0208b6e8 + .global data_ov00_020e2818 +data_ov00_020e2818: ; 0x020e2818 + .word func_ov00_0208b6f0 + .global data_ov00_020e281c +data_ov00_020e281c: ; 0x020e281c + .word func_ov00_0208b6f8 + .global data_ov00_020e2820 +data_ov00_020e2820: ; 0x020e2820 + .word func_ov00_0208b700 + .global data_ov00_020e2824 +data_ov00_020e2824: ; 0x020e2824 + .word func_ov00_0208b704 + .global data_ov00_020e2828 +data_ov00_020e2828: ; 0x020e2828 + .word func_ov00_0208b70c + .global data_ov00_020e282c +data_ov00_020e282c: ; 0x020e282c + .word func_ov00_0208b710 + .global data_ov00_020e2830 +data_ov00_020e2830: ; 0x020e2830 + .word func_ov00_0208b714 + .global data_ov00_020e2834 +data_ov00_020e2834: ; 0x020e2834 + .word func_ov00_0208b71c + .global data_ov00_020e2838 +data_ov00_020e2838: ; 0x020e2838 + .word func_ov00_0208b844 + .global data_ov00_020e283c +data_ov00_020e283c: ; 0x020e283c + .word func_ov00_0208b870 + .global data_ov00_020e2840 +data_ov00_020e2840: ; 0x020e2840 + .word func_ov00_0208b89c + .global data_ov00_020e2844 +data_ov00_020e2844: ; 0x020e2844 + .word func_ov00_0208ba30 + .global data_ov00_020e2848 +data_ov00_020e2848: ; 0x020e2848 + .word func_ov00_0208ba38 + .global data_ov00_020e284c +data_ov00_020e284c: ; 0x020e284c + .word func_ov00_0208ba40 + .global data_ov00_020e2850 +data_ov00_020e2850: ; 0x020e2850 + .word func_ov00_0208ba48 + .global data_ov00_020e2854 +data_ov00_020e2854: ; 0x020e2854 + .word func_ov00_0208ba50 + .global data_ov00_020e2858 +data_ov00_020e2858: ; 0x020e2858 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e285c +data_ov00_020e285c: ; 0x020e285c + .word func_ov00_0208c384 + .global data_ov00_020e2860 +data_ov00_020e2860: ; 0x020e2860 + .word func_ov00_0208c38c + .global data_ov00_020e2864 +data_ov00_020e2864: ; 0x020e2864 + .word func_ov00_0208c39c + .global data_ov00_020e2868 +data_ov00_020e2868: ; 0x020e2868 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e286c +data_ov00_020e286c: ; 0x020e286c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2870 +data_ov00_020e2870: ; 0x020e2870 + .word func_ov00_0208def0 + .global data_ov00_020e2874 +data_ov00_020e2874: ; 0x020e2874 + .word func_ov00_0208df04 + .global data_ov00_020e2878 +data_ov00_020e2878: ; 0x020e2878 + .word func_ov00_0208df2c + .global data_ov00_020e287c +data_ov00_020e287c: ; 0x020e287c + .word func_ov00_0208df74 + .global data_ov00_020e2880 +data_ov00_020e2880: ; 0x020e2880 + .word func_ov00_0208de70 + .global data_ov00_020e2884 +data_ov00_020e2884: ; 0x020e2884 + .word func_ov00_0208de98 + .global data_ov00_020e2888 +data_ov00_020e2888: ; 0x020e2888 + .word func_ov00_0208e41c + .global data_ov00_020e288c +data_ov00_020e288c: ; 0x020e288c + .word func_ov00_0208e420 + .global data_ov00_020e2890 +data_ov00_020e2890: ; 0x020e2890 + .word func_ov00_0208e4f4 + .global data_ov00_020e2894 +data_ov00_020e2894: ; 0x020e2894 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2898 +data_ov00_020e2898: ; 0x020e2898 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e289c +data_ov00_020e289c: ; 0x020e289c + .word func_ov00_0208f720 + .global data_ov00_020e28a0 +data_ov00_020e28a0: ; 0x020e28a0 + .word func_ov00_0208f740 + .global data_ov00_020e28a4 +data_ov00_020e28a4: ; 0x020e28a4 + .word func_ov00_0208f768 + .global data_ov00_020e28a8 +data_ov00_020e28a8: ; 0x020e28a8 + .word func_ov00_0208f9ec + .global data_ov00_020e28ac +data_ov00_020e28ac: ; 0x020e28ac + .word func_ov00_0208b694 + .global data_ov00_020e28b0 +data_ov00_020e28b0: ; 0x020e28b0 + .word func_ov00_0208b698 + .global data_ov00_020e28b4 +data_ov00_020e28b4: ; 0x020e28b4 + .word func_ov00_0208f794 + .global data_ov00_020e28b8 +data_ov00_020e28b8: ; 0x020e28b8 + .word func_ov00_0208fa68 + .global data_ov00_020e28bc +data_ov00_020e28bc: ; 0x020e28bc + .word func_ov00_0208b6bc + .global data_ov00_020e28c0 +data_ov00_020e28c0: ; 0x020e28c0 + .word func_ov00_0208b6c4 + .global data_ov00_020e28c4 +data_ov00_020e28c4: ; 0x020e28c4 + .word func_ov00_0208b6c8 + .global data_ov00_020e28c8 +data_ov00_020e28c8: ; 0x020e28c8 + .word func_ov00_0208b6d0 + .global data_ov00_020e28cc +data_ov00_020e28cc: ; 0x020e28cc + .word func_ov00_0208b6d8 + .global data_ov00_020e28d0 +data_ov00_020e28d0: ; 0x020e28d0 + .word func_ov00_0208b6e0 + .global data_ov00_020e28d4 +data_ov00_020e28d4: ; 0x020e28d4 + .word func_ov00_0208b6e8 + .global data_ov00_020e28d8 +data_ov00_020e28d8: ; 0x020e28d8 + .word func_ov00_0208b6f0 + .global data_ov00_020e28dc +data_ov00_020e28dc: ; 0x020e28dc + .word func_ov00_0208b6f8 + .global data_ov00_020e28e0 +data_ov00_020e28e0: ; 0x020e28e0 + .word func_ov00_0208b700 + .global data_ov00_020e28e4 +data_ov00_020e28e4: ; 0x020e28e4 + .word func_ov00_0208b704 + .global data_ov00_020e28e8 +data_ov00_020e28e8: ; 0x020e28e8 + .word func_ov00_0208b70c + .global data_ov00_020e28ec +data_ov00_020e28ec: ; 0x020e28ec + .word func_ov00_0208b710 + .global data_ov00_020e28f0 +data_ov00_020e28f0: ; 0x020e28f0 + .word func_ov00_0208b714 + .global data_ov00_020e28f4 +data_ov00_020e28f4: ; 0x020e28f4 + .word func_ov00_0208b71c + .global data_ov00_020e28f8 +data_ov00_020e28f8: ; 0x020e28f8 + .word func_ov00_0208b844 + .global data_ov00_020e28fc +data_ov00_020e28fc: ; 0x020e28fc + .word func_ov00_0208b870 + .global data_ov00_020e2900 +data_ov00_020e2900: ; 0x020e2900 + .word func_ov00_0208b89c + .global data_ov00_020e2904 +data_ov00_020e2904: ; 0x020e2904 + .word func_ov00_0208ba30 + .global data_ov00_020e2908 +data_ov00_020e2908: ; 0x020e2908 + .word func_ov00_0208ba38 + .global data_ov00_020e290c +data_ov00_020e290c: ; 0x020e290c + .word func_ov00_0208ba40 + .global data_ov00_020e2910 +data_ov00_020e2910: ; 0x020e2910 + .word func_ov00_0208ba48 + .global data_ov00_020e2914 +data_ov00_020e2914: ; 0x020e2914 + .word func_ov00_0208ba50 + .global data_ov00_020e2918 +data_ov00_020e2918: ; 0x020e2918 + .word func_ov00_0208fa0c + .global data_ov00_020e291c +data_ov00_020e291c: ; 0x020e291c + .word func_ov00_0208f9f0 + .global data_ov00_020e2920 +data_ov00_020e2920: ; 0x020e2920 + .word func_ov00_0208c38c + .global data_ov00_020e2924 +data_ov00_020e2924: ; 0x020e2924 + .word func_ov00_0208c39c + .global data_ov00_020e2928 +data_ov00_020e2928: ; 0x020e2928 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e292c +data_ov00_020e292c: ; 0x020e292c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2930 +data_ov00_020e2930: ; 0x020e2930 + .word func_ov00_02090378 + .global data_ov00_020e2934 +data_ov00_020e2934: ; 0x020e2934 + .word func_ov00_0209038c + .global data_ov00_020e2938 +data_ov00_020e2938: ; 0x020e2938 + .word func_ov00_0208fae8 + .global data_ov00_020e293c +data_ov00_020e293c: ; 0x020e293c + .word func_ov00_0208fb0c + .global data_ov00_020e2940 +data_ov00_020e2940: ; 0x020e2940 + .word _ZN5Actor8vfunc_10Ej + .global data_ov00_020e2944 +data_ov00_020e2944: ; 0x020e2944 + .word func_ov00_0208fb40 + .global data_ov00_020e2948 +data_ov00_020e2948: ; 0x020e2948 + .word func_ov00_0208fbfc + .global data_ov00_020e294c +data_ov00_020e294c: ; 0x020e294c + .word _ZN5Actor8vfunc_1cEt + .global data_ov00_020e2950 +data_ov00_020e2950: ; 0x020e2950 + .word _ZN5Actor8vfunc_20Ei + .global data_ov00_020e2954 +data_ov00_020e2954: ; 0x020e2954 + .word _ZN5Actor8vfunc_24Ev + .global data_ov00_020e2958 +data_ov00_020e2958: ; 0x020e2958 + .word _ZN5Actor8vfunc_28Ev + .global data_ov00_020e295c +data_ov00_020e295c: ; 0x020e295c + .word _ZN5Actor8vfunc_2cEv + .global data_ov00_020e2960 +data_ov00_020e2960: ; 0x020e2960 + .word _ZN5Actor8vfunc_30Ev + .global data_ov00_020e2964 +data_ov00_020e2964: ; 0x020e2964 + .word _ZN5Actor12GetOffsetPosEP5Vec3p + .global data_ov00_020e2968 +data_ov00_020e2968: ; 0x020e2968 + .word _ZN5Actor8vfunc_38Ev + .global data_ov00_020e296c +data_ov00_020e296c: ; 0x020e296c + .word _ZN5Actor16CollidesWithLinkEv + .global data_ov00_020e2970 +data_ov00_020e2970: ; 0x020e2970 + .word _ZN5Actor15IsHitboxTouchedEb + .global data_ov00_020e2974 +data_ov00_020e2974: ; 0x020e2974 + .word _ZN5Actor12CollidesWithEPKS_ + .global data_ov00_020e2978 +data_ov00_020e2978: ; 0x020e2978 + .word _ZN5Actor8vfunc_48Ei + .global data_ov00_020e297c +data_ov00_020e297c: ; 0x020e297c + .word _ZN5Actor8vfunc_4cEPi + .global data_ov00_020e2980 +data_ov00_020e2980: ; 0x020e2980 + .word _ZN5Actor6GetPosEv + .global data_ov00_020e2984 +data_ov00_020e2984: ; 0x020e2984 + .word _ZN5Actor8vfunc_54Ev + .global data_ov00_020e2988 +data_ov00_020e2988: ; 0x020e2988 + .word _ZN5Actor10SetUnk_11bEv + .global data_ov00_020e298c +data_ov00_020e298c: ; 0x020e298c + .word _ZN5Actor11SetVelocityEP5Vec3p + .global data_ov00_020e2990 +data_ov00_020e2990: ; 0x020e2990 + .word _ZN5Actor8vfunc_60Ev + .global data_ov00_020e2994 +data_ov00_020e2994: ; 0x020e2994 + .word _ZN5Actor8vfunc_64Ev + .global data_ov00_020e2998 +data_ov00_020e2998: ; 0x020e2998 + .word _ZN5Actor8vfunc_68Ev + .global data_ov00_020e299c +data_ov00_020e299c: ; 0x020e299c + .word _ZN5Actor8vfunc_6cEv + .global data_ov00_020e29a0 +data_ov00_020e29a0: ; 0x020e29a0 + .word _ZN5Actor8vfunc_70Ev + .global data_ov00_020e29a4 +data_ov00_020e29a4: ; 0x020e29a4 + .word _ZN5Actor8vfunc_74Ev + .global data_ov00_020e29a8 +data_ov00_020e29a8: ; 0x020e29a8 + .word _ZN5Actor8vfunc_78Ev + .global data_ov00_020e29ac +data_ov00_020e29ac: ; 0x020e29ac + .word _ZN5Actor8vfunc_7cEv + .global data_ov00_020e29b0 +data_ov00_020e29b0: ; 0x020e29b0 + .word _ZN5Actor8vfunc_80Ev + .global data_ov00_020e29b4 +data_ov00_020e29b4: ; 0x020e29b4 + .word _ZN5Actor8vfunc_84Ev + .global data_ov00_020e29b8 +data_ov00_020e29b8: ; 0x020e29b8 + .word _ZN5Actor8vfunc_88Ev + .global data_ov00_020e29bc +data_ov00_020e29bc: ; 0x020e29bc + .word _ZN5Actor8vfunc_8cEv + .global data_ov00_020e29c0 +data_ov00_020e29c0: ; 0x020e29c0 + .word _ZN5Actor8vfunc_90Ev + .global data_ov00_020e29c4 +data_ov00_020e29c4: ; 0x020e29c4 + .word _ZN5Actor8vfunc_94Ev + .global data_ov00_020e29c8 +data_ov00_020e29c8: ; 0x020e29c8 + .word _ZN5Actor8vfunc_98Ev + .global data_ov00_020e29cc +data_ov00_020e29cc: ; 0x020e29cc + .word _ZN5Actor8vfunc_9cEv + .global data_ov00_020e29d0 +data_ov00_020e29d0: ; 0x020e29d0 + .word _ZN5Actor15TrySetTransformEP9Transform + .global data_ov00_020e29d4 +data_ov00_020e29d4: ; 0x020e29d4 + .word _ZN5Actor12SetTransformEP9Transform + .global data_ov00_020e29d8 +data_ov00_020e29d8: ; 0x020e29d8 + .word _ZN5Actor8vfunc_a8Ev + .global data_ov00_020e29dc +data_ov00_020e29dc: ; 0x020e29dc + .word _ZN5Actor8vfunc_acEv + .global data_ov00_020e29e0 +data_ov00_020e29e0: ; 0x020e29e0 + .word _ZN5Actor8vfunc_b0Ev + .global data_ov00_020e29e4 +data_ov00_020e29e4: ; 0x020e29e4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e29e8 +data_ov00_020e29e8: ; 0x020e29e8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e29ec +data_ov00_020e29ec: ; 0x020e29ec + .word func_ov00_020904c4 + .global data_ov00_020e29f0 +data_ov00_020e29f0: ; 0x020e29f0 + .word func_ov00_020904d8 + .global data_ov00_020e29f4 +data_ov00_020e29f4: ; 0x020e29f4 + .word func_ov00_020903e8 + .global data_ov00_020e29f8 +data_ov00_020e29f8: ; 0x020e29f8 + .word _ZN5Actor8vfunc_0cEv + .global data_ov00_020e29fc +data_ov00_020e29fc: ; 0x020e29fc + .word _ZN5Actor8vfunc_10Ej + .global data_ov00_020e2a00 +data_ov00_020e2a00: ; 0x020e2a00 + .word func_ov00_02090404 + .global data_ov00_020e2a04 +data_ov00_020e2a04: ; 0x020e2a04 + .word _ZN5Actor8vfunc_18Ej + .global data_ov00_020e2a08 +data_ov00_020e2a08: ; 0x020e2a08 + .word _ZN5Actor8vfunc_1cEt + .global data_ov00_020e2a0c +data_ov00_020e2a0c: ; 0x020e2a0c + .word _ZN5Actor8vfunc_20Ei + .global data_ov00_020e2a10 +data_ov00_020e2a10: ; 0x020e2a10 + .word _ZN5Actor8vfunc_24Ev + .global data_ov00_020e2a14 +data_ov00_020e2a14: ; 0x020e2a14 + .word _ZN5Actor8vfunc_28Ev + .global data_ov00_020e2a18 +data_ov00_020e2a18: ; 0x020e2a18 + .word _ZN5Actor8vfunc_2cEv + .global data_ov00_020e2a1c +data_ov00_020e2a1c: ; 0x020e2a1c + .word _ZN5Actor8vfunc_30Ev + .global data_ov00_020e2a20 +data_ov00_020e2a20: ; 0x020e2a20 + .word _ZN5Actor12GetOffsetPosEP5Vec3p + .global data_ov00_020e2a24 +data_ov00_020e2a24: ; 0x020e2a24 + .word _ZN5Actor8vfunc_38Ev + .global data_ov00_020e2a28 +data_ov00_020e2a28: ; 0x020e2a28 + .word _ZN5Actor16CollidesWithLinkEv + .global data_ov00_020e2a2c +data_ov00_020e2a2c: ; 0x020e2a2c + .word _ZN5Actor15IsHitboxTouchedEb + .global data_ov00_020e2a30 +data_ov00_020e2a30: ; 0x020e2a30 + .word _ZN5Actor12CollidesWithEPKS_ + .global data_ov00_020e2a34 +data_ov00_020e2a34: ; 0x020e2a34 + .word _ZN5Actor8vfunc_48Ei + .global data_ov00_020e2a38 +data_ov00_020e2a38: ; 0x020e2a38 + .word _ZN5Actor8vfunc_4cEPi + .global data_ov00_020e2a3c +data_ov00_020e2a3c: ; 0x020e2a3c + .word _ZN5Actor6GetPosEv + .global data_ov00_020e2a40 +data_ov00_020e2a40: ; 0x020e2a40 + .word _ZN5Actor8vfunc_54Ev + .global data_ov00_020e2a44 +data_ov00_020e2a44: ; 0x020e2a44 + .word _ZN5Actor10SetUnk_11bEv + .global data_ov00_020e2a48 +data_ov00_020e2a48: ; 0x020e2a48 + .word _ZN5Actor11SetVelocityEP5Vec3p + .global data_ov00_020e2a4c +data_ov00_020e2a4c: ; 0x020e2a4c + .word _ZN5Actor8vfunc_60Ev + .global data_ov00_020e2a50 +data_ov00_020e2a50: ; 0x020e2a50 + .word _ZN5Actor8vfunc_64Ev + .global data_ov00_020e2a54 +data_ov00_020e2a54: ; 0x020e2a54 + .word _ZN5Actor8vfunc_68Ev + .global data_ov00_020e2a58 +data_ov00_020e2a58: ; 0x020e2a58 + .word _ZN5Actor8vfunc_6cEv + .global data_ov00_020e2a5c +data_ov00_020e2a5c: ; 0x020e2a5c + .word _ZN5Actor8vfunc_70Ev + .global data_ov00_020e2a60 +data_ov00_020e2a60: ; 0x020e2a60 + .word _ZN5Actor8vfunc_74Ev + .global data_ov00_020e2a64 +data_ov00_020e2a64: ; 0x020e2a64 + .word _ZN5Actor8vfunc_78Ev + .global data_ov00_020e2a68 +data_ov00_020e2a68: ; 0x020e2a68 + .word _ZN5Actor8vfunc_7cEv + .global data_ov00_020e2a6c +data_ov00_020e2a6c: ; 0x020e2a6c + .word _ZN5Actor8vfunc_80Ev + .global data_ov00_020e2a70 +data_ov00_020e2a70: ; 0x020e2a70 + .word _ZN5Actor8vfunc_84Ev + .global data_ov00_020e2a74 +data_ov00_020e2a74: ; 0x020e2a74 + .word _ZN5Actor8vfunc_88Ev + .global data_ov00_020e2a78 +data_ov00_020e2a78: ; 0x020e2a78 + .word _ZN5Actor8vfunc_8cEv + .global data_ov00_020e2a7c +data_ov00_020e2a7c: ; 0x020e2a7c + .word _ZN5Actor8vfunc_90Ev + .global data_ov00_020e2a80 +data_ov00_020e2a80: ; 0x020e2a80 + .word _ZN5Actor8vfunc_94Ev + .global data_ov00_020e2a84 +data_ov00_020e2a84: ; 0x020e2a84 + .word _ZN5Actor8vfunc_98Ev + .global data_ov00_020e2a88 +data_ov00_020e2a88: ; 0x020e2a88 + .word _ZN5Actor8vfunc_9cEv + .global data_ov00_020e2a8c +data_ov00_020e2a8c: ; 0x020e2a8c + .word _ZN5Actor15TrySetTransformEP9Transform + .global data_ov00_020e2a90 +data_ov00_020e2a90: ; 0x020e2a90 + .word _ZN5Actor12SetTransformEP9Transform + .global data_ov00_020e2a94 +data_ov00_020e2a94: ; 0x020e2a94 + .word _ZN5Actor8vfunc_a8Ev + .global data_ov00_020e2a98 +data_ov00_020e2a98: ; 0x020e2a98 + .word _ZN5Actor8vfunc_acEv + .global data_ov00_020e2a9c +data_ov00_020e2a9c: ; 0x020e2a9c + .word _ZN5Actor8vfunc_b0Ev + .global data_ov00_020e2aa0 +data_ov00_020e2aa0: ; 0x020e2aa0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2aa4 +data_ov00_020e2aa4: ; 0x020e2aa4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2aa8 +data_ov00_020e2aa8: ; 0x020e2aa8 + .word func_ov00_020908b0 + .global data_ov00_020e2aac +data_ov00_020e2aac: ; 0x020e2aac + .word func_ov00_020908d0 + .global data_ov00_020e2ab0 +data_ov00_020e2ab0: ; 0x020e2ab0 + .word func_ov00_02090580 + .global data_ov00_020e2ab4 +data_ov00_020e2ab4: ; 0x020e2ab4 + .word _ZN5Actor8vfunc_0cEv + .global data_ov00_020e2ab8 +data_ov00_020e2ab8: ; 0x020e2ab8 + .word _ZN5Actor8vfunc_10Ej + .global data_ov00_020e2abc +data_ov00_020e2abc: ; 0x020e2abc + .word func_ov00_02090630 + .global data_ov00_020e2ac0 +data_ov00_020e2ac0: ; 0x020e2ac0 + .word func_ov00_0209063c + .global data_ov00_020e2ac4 +data_ov00_020e2ac4: ; 0x020e2ac4 + .word func_ov00_020907a0 + .global data_ov00_020e2ac8 +data_ov00_020e2ac8: ; 0x020e2ac8 + .word _ZN5Actor8vfunc_20Ei + .global data_ov00_020e2acc +data_ov00_020e2acc: ; 0x020e2acc + .word _ZN5Actor8vfunc_24Ev + .global data_ov00_020e2ad0 +data_ov00_020e2ad0: ; 0x020e2ad0 + .word _ZN5Actor8vfunc_28Ev + .global data_ov00_020e2ad4 +data_ov00_020e2ad4: ; 0x020e2ad4 + .word _ZN5Actor8vfunc_2cEv + .global data_ov00_020e2ad8 +data_ov00_020e2ad8: ; 0x020e2ad8 + .word _ZN5Actor8vfunc_30Ev + .global data_ov00_020e2adc +data_ov00_020e2adc: ; 0x020e2adc + .word _ZN5Actor12GetOffsetPosEP5Vec3p + .global data_ov00_020e2ae0 +data_ov00_020e2ae0: ; 0x020e2ae0 + .word _ZN5Actor8vfunc_38Ev + .global data_ov00_020e2ae4 +data_ov00_020e2ae4: ; 0x020e2ae4 + .word _ZN5Actor16CollidesWithLinkEv + .global data_ov00_020e2ae8 +data_ov00_020e2ae8: ; 0x020e2ae8 + .word _ZN5Actor15IsHitboxTouchedEb + .global data_ov00_020e2aec +data_ov00_020e2aec: ; 0x020e2aec + .word _ZN5Actor12CollidesWithEPKS_ + .global data_ov00_020e2af0 +data_ov00_020e2af0: ; 0x020e2af0 + .word _ZN5Actor8vfunc_48Ei + .global data_ov00_020e2af4 +data_ov00_020e2af4: ; 0x020e2af4 + .word _ZN5Actor8vfunc_4cEPi + .global data_ov00_020e2af8 +data_ov00_020e2af8: ; 0x020e2af8 + .word _ZN5Actor6GetPosEv + .global data_ov00_020e2afc +data_ov00_020e2afc: ; 0x020e2afc + .word _ZN5Actor8vfunc_54Ev + .global data_ov00_020e2b00 +data_ov00_020e2b00: ; 0x020e2b00 + .word _ZN5Actor10SetUnk_11bEv + .global data_ov00_020e2b04 +data_ov00_020e2b04: ; 0x020e2b04 + .word _ZN5Actor11SetVelocityEP5Vec3p + .global data_ov00_020e2b08 +data_ov00_020e2b08: ; 0x020e2b08 + .word _ZN5Actor8vfunc_60Ev + .global data_ov00_020e2b0c +data_ov00_020e2b0c: ; 0x020e2b0c + .word _ZN5Actor8vfunc_64Ev + .global data_ov00_020e2b10 +data_ov00_020e2b10: ; 0x020e2b10 + .word _ZN5Actor8vfunc_68Ev + .global data_ov00_020e2b14 +data_ov00_020e2b14: ; 0x020e2b14 + .word _ZN5Actor8vfunc_6cEv + .global data_ov00_020e2b18 +data_ov00_020e2b18: ; 0x020e2b18 + .word _ZN5Actor8vfunc_70Ev + .global data_ov00_020e2b1c +data_ov00_020e2b1c: ; 0x020e2b1c + .word _ZN5Actor8vfunc_74Ev + .global data_ov00_020e2b20 +data_ov00_020e2b20: ; 0x020e2b20 + .word _ZN5Actor8vfunc_78Ev + .global data_ov00_020e2b24 +data_ov00_020e2b24: ; 0x020e2b24 + .word _ZN5Actor8vfunc_7cEv + .global data_ov00_020e2b28 +data_ov00_020e2b28: ; 0x020e2b28 + .word _ZN5Actor8vfunc_80Ev + .global data_ov00_020e2b2c +data_ov00_020e2b2c: ; 0x020e2b2c + .word _ZN5Actor8vfunc_84Ev + .global data_ov00_020e2b30 +data_ov00_020e2b30: ; 0x020e2b30 + .word _ZN5Actor8vfunc_88Ev + .global data_ov00_020e2b34 +data_ov00_020e2b34: ; 0x020e2b34 + .word _ZN5Actor8vfunc_8cEv + .global data_ov00_020e2b38 +data_ov00_020e2b38: ; 0x020e2b38 + .word _ZN5Actor8vfunc_90Ev + .global data_ov00_020e2b3c +data_ov00_020e2b3c: ; 0x020e2b3c + .word _ZN5Actor8vfunc_94Ev + .global data_ov00_020e2b40 +data_ov00_020e2b40: ; 0x020e2b40 + .word _ZN5Actor8vfunc_98Ev + .global data_ov00_020e2b44 +data_ov00_020e2b44: ; 0x020e2b44 + .word _ZN5Actor8vfunc_9cEv + .global data_ov00_020e2b48 +data_ov00_020e2b48: ; 0x020e2b48 + .word _ZN5Actor15TrySetTransformEP9Transform + .global data_ov00_020e2b4c +data_ov00_020e2b4c: ; 0x020e2b4c + .word _ZN5Actor12SetTransformEP9Transform + .global data_ov00_020e2b50 +data_ov00_020e2b50: ; 0x020e2b50 + .word _ZN5Actor8vfunc_a8Ev + .global data_ov00_020e2b54 +data_ov00_020e2b54: ; 0x020e2b54 + .word _ZN5Actor8vfunc_acEv + .global data_ov00_020e2b58 +data_ov00_020e2b58: ; 0x020e2b58 + .word _ZN5Actor8vfunc_b0Ev + .global data_ov00_020e2b5c +data_ov00_020e2b5c: ; 0x020e2b5c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2b60 +data_ov00_020e2b60: ; 0x020e2b60 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2b64 +data_ov00_020e2b64: ; 0x020e2b64 + .word func_ov00_02091044 + .global data_ov00_020e2b68 +data_ov00_020e2b68: ; 0x020e2b68 + .word func_ov00_02091048 + .global data_ov00_020e2b6c +data_ov00_020e2b6c: ; 0x020e2b6c + .word func_ov00_020908f8 + .global data_ov00_020e2b70 +data_ov00_020e2b70: ; 0x020e2b70 + .word func_ov00_02090978 + .global data_ov00_020e2b74 +data_ov00_020e2b74: ; 0x020e2b74 + .word func_ov00_0209097c + .global data_ov00_020e2b78 +data_ov00_020e2b78: ; 0x020e2b78 + .word func_ov00_02090980 + .global data_ov00_020e2b7c +data_ov00_020e2b7c: ; 0x020e2b7c + .word func_ov00_020909e4 + .global data_ov00_020e2b80 +data_ov00_020e2b80: ; 0x020e2b80 + .word func_ov00_020909e8 + .global data_ov00_020e2b84 +data_ov00_020e2b84: ; 0x020e2b84 + .word func_ov00_020909ec + .global data_ov00_020e2b88 +data_ov00_020e2b88: ; 0x020e2b88 + .word func_ov00_020909f0 + .global data_ov00_020e2b8c +data_ov00_020e2b8c: ; 0x020e2b8c + .word func_ov00_020909f4 + .global data_ov00_020e2b90 +data_ov00_020e2b90: ; 0x020e2b90 + .word func_ov00_020909f8 + .global data_ov00_020e2b94 +data_ov00_020e2b94: ; 0x020e2b94 + .word func_ov00_020909fc + .global data_ov00_020e2b98 +data_ov00_020e2b98: ; 0x020e2b98 + .word func_ov00_02090a00 + .global data_ov00_020e2b9c +data_ov00_020e2b9c: ; 0x020e2b9c + .word func_ov00_02090a08 + .global data_ov00_020e2ba0 +data_ov00_020e2ba0: ; 0x020e2ba0 + .word func_ov00_02090a0c + .global data_ov00_020e2ba4 +data_ov00_020e2ba4: ; 0x020e2ba4 + .word func_ov00_02090a10 + .global data_ov00_020e2ba8 +data_ov00_020e2ba8: ; 0x020e2ba8 + .word func_ov00_02090a14 + .global data_ov00_020e2bac +data_ov00_020e2bac: ; 0x020e2bac + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2bb0 +data_ov00_020e2bb0: ; 0x020e2bb0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2bb4 +data_ov00_020e2bb4: ; 0x020e2bb4 + .word func_ov00_02091144 + .global data_ov00_020e2bb8 +data_ov00_020e2bb8: ; 0x020e2bb8 + .word func_ov00_02091148 + .global data_ov00_020e2bbc +data_ov00_020e2bbc: ; 0x020e2bbc + .word func_ov00_0209105c + .global data_ov00_020e2bc0 +data_ov00_020e2bc0: ; 0x020e2bc0 + .word func_ov00_02091060 + .global data_ov00_020e2bc4 +data_ov00_020e2bc4: ; 0x020e2bc4 + .word func_ov00_020910dc + .global data_ov00_020e2bc8 +data_ov00_020e2bc8: ; 0x020e2bc8 + .word func_ov00_02091064 + .global data_ov00_020e2bcc +data_ov00_020e2bcc: ; 0x020e2bcc + .word func_ov00_020909e4 + .global data_ov00_020e2bd0 +data_ov00_020e2bd0: ; 0x020e2bd0 + .word func_ov00_020909e8 + .global data_ov00_020e2bd4 +data_ov00_020e2bd4: ; 0x020e2bd4 + .word func_ov00_020909ec + .global data_ov00_020e2bd8 +data_ov00_020e2bd8: ; 0x020e2bd8 + .word func_ov00_020909f0 + .global data_ov00_020e2bdc +data_ov00_020e2bdc: ; 0x020e2bdc + .word func_ov00_020909f4 + .global data_ov00_020e2be0 +data_ov00_020e2be0: ; 0x020e2be0 + .word func_ov00_020910e0 + .global data_ov00_020e2be4 +data_ov00_020e2be4: ; 0x020e2be4 + .word func_ov00_020909fc + .global data_ov00_020e2be8 +data_ov00_020e2be8: ; 0x020e2be8 + .word func_ov00_02090a00 + .global data_ov00_020e2bec +data_ov00_020e2bec: ; 0x020e2bec + .word func_ov00_02090a08 + .global data_ov00_020e2bf0 +data_ov00_020e2bf0: ; 0x020e2bf0 + .word func_ov00_02090a0c + .global data_ov00_020e2bf4 +data_ov00_020e2bf4: ; 0x020e2bf4 + .word func_ov00_02090a10 + .global data_ov00_020e2bf8 +data_ov00_020e2bf8: ; 0x020e2bf8 + .word func_ov00_02090a14 + .global data_ov00_020e2bfc +data_ov00_020e2bfc: ; 0x020e2bfc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2c00 +data_ov00_020e2c00: ; 0x020e2c00 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2c04 +data_ov00_020e2c04: ; 0x020e2c04 + .word func_ov00_02091260 + .global data_ov00_020e2c08 +data_ov00_020e2c08: ; 0x020e2c08 + .word func_ov00_02091264 + .global data_ov00_020e2c0c +data_ov00_020e2c0c: ; 0x020e2c0c + .word func_ov00_0209115c + .global data_ov00_020e2c10 +data_ov00_020e2c10: ; 0x020e2c10 + .word func_ov00_0209116c + .global data_ov00_020e2c14 +data_ov00_020e2c14: ; 0x020e2c14 + .word func_ov00_0209097c + .global data_ov00_020e2c18 +data_ov00_020e2c18: ; 0x020e2c18 + .word func_ov00_020911cc + .global data_ov00_020e2c1c +data_ov00_020e2c1c: ; 0x020e2c1c + .word func_ov00_020909e4 + .global data_ov00_020e2c20 +data_ov00_020e2c20: ; 0x020e2c20 + .word func_ov00_020909e8 + .global data_ov00_020e2c24 +data_ov00_020e2c24: ; 0x020e2c24 + .word func_ov00_020909ec + .global data_ov00_020e2c28 +data_ov00_020e2c28: ; 0x020e2c28 + .word func_ov00_020909f0 + .global data_ov00_020e2c2c +data_ov00_020e2c2c: ; 0x020e2c2c + .word func_ov00_020909f4 + .global data_ov00_020e2c30 +data_ov00_020e2c30: ; 0x020e2c30 + .word func_ov00_020909f8 + .global data_ov00_020e2c34 +data_ov00_020e2c34: ; 0x020e2c34 + .word func_ov00_020909fc + .global data_ov00_020e2c38 +data_ov00_020e2c38: ; 0x020e2c38 + .word func_ov00_02090a00 + .global data_ov00_020e2c3c +data_ov00_020e2c3c: ; 0x020e2c3c + .word func_ov00_02091244 + .global data_ov00_020e2c40 +data_ov00_020e2c40: ; 0x020e2c40 + .word func_ov00_02090a0c + .global data_ov00_020e2c44 +data_ov00_020e2c44: ; 0x020e2c44 + .word func_ov00_02090a10 + .global data_ov00_020e2c48 +data_ov00_020e2c48: ; 0x020e2c48 + .word func_ov00_02090a14 + .global data_ov00_020e2c4c +data_ov00_020e2c4c: ; 0x020e2c4c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2c50 +data_ov00_020e2c50: ; 0x020e2c50 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2c54 +data_ov00_020e2c54: ; 0x020e2c54 + .word func_ov00_020921f4 + .global data_ov00_020e2c58 +data_ov00_020e2c58: ; 0x020e2c58 + .word func_ov00_02092208 + .global data_ov00_020e2c5c +data_ov00_020e2c5c: ; 0x020e2c5c + .word func_ov00_02091278 + .global data_ov00_020e2c60 +data_ov00_020e2c60: ; 0x020e2c60 + .word func_ov00_02091400 + .global data_ov00_020e2c64 +data_ov00_020e2c64: ; 0x020e2c64 + .word func_ov00_020921e8 + .global data_ov00_020e2c68 +data_ov00_020e2c68: ; 0x020e2c68 + .word func_ov00_020915e8 + .global data_ov00_020e2c6c +data_ov00_020e2c6c: ; 0x020e2c6c + .word func_ov00_020909e4 + .global data_ov00_020e2c70 +data_ov00_020e2c70: ; 0x020e2c70 + .word func_ov00_020909e8 + .global data_ov00_020e2c74 +data_ov00_020e2c74: ; 0x020e2c74 + .word func_ov00_020909ec + .global data_ov00_020e2c78 +data_ov00_020e2c78: ; 0x020e2c78 + .word func_ov00_020909f0 + .global data_ov00_020e2c7c +data_ov00_020e2c7c: ; 0x020e2c7c + .word func_ov00_020909f4 + .global data_ov00_020e2c80 +data_ov00_020e2c80: ; 0x020e2c80 + .word func_ov00_020909f8 + .global data_ov00_020e2c84 +data_ov00_020e2c84: ; 0x020e2c84 + .word func_ov00_020921f8 + .global data_ov00_020e2c88 +data_ov00_020e2c88: ; 0x020e2c88 + .word func_ov00_02092200 + .global data_ov00_020e2c8c +data_ov00_020e2c8c: ; 0x020e2c8c + .word func_ov00_02090a08 + .global data_ov00_020e2c90 +data_ov00_020e2c90: ; 0x020e2c90 + .word func_ov00_02090a0c + .global data_ov00_020e2c94 +data_ov00_020e2c94: ; 0x020e2c94 + .word func_ov00_02090a10 + .global data_ov00_020e2c98 +data_ov00_020e2c98: ; 0x020e2c98 + .word func_ov00_02090a14 + .global data_ov00_020e2c9c +data_ov00_020e2c9c: ; 0x020e2c9c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2ca0 +data_ov00_020e2ca0: ; 0x020e2ca0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2ca4 +data_ov00_020e2ca4: ; 0x020e2ca4 + .word func_ov00_0209361c + .global data_ov00_020e2ca8 +data_ov00_020e2ca8: ; 0x020e2ca8 + .word func_ov00_02093620 + .global data_ov00_020e2cac +data_ov00_020e2cac: ; 0x020e2cac + .word func_ov00_0209221c + .global data_ov00_020e2cb0 +data_ov00_020e2cb0: ; 0x020e2cb0 + .word func_ov00_020924b8 + .global data_ov00_020e2cb4 +data_ov00_020e2cb4: ; 0x020e2cb4 + .word func_ov00_0209097c + .global data_ov00_020e2cb8 +data_ov00_020e2cb8: ; 0x020e2cb8 + .word func_ov00_02090980 + .global data_ov00_020e2cbc +data_ov00_020e2cbc: ; 0x020e2cbc + .word func_ov00_020932e8 + .global data_ov00_020e2cc0 +data_ov00_020e2cc0: ; 0x020e2cc0 + .word func_ov00_020909e8 + .global data_ov00_020e2cc4 +data_ov00_020e2cc4: ; 0x020e2cc4 + .word func_ov00_020909ec + .global data_ov00_020e2cc8 +data_ov00_020e2cc8: ; 0x020e2cc8 + .word func_ov00_020909f0 + .global data_ov00_020e2ccc +data_ov00_020e2ccc: ; 0x020e2ccc + .word func_ov00_020909f4 + .global data_ov00_020e2cd0 +data_ov00_020e2cd0: ; 0x020e2cd0 + .word func_ov00_020909f8 + .global data_ov00_020e2cd4 +data_ov00_020e2cd4: ; 0x020e2cd4 + .word func_ov00_020909fc + .global data_ov00_020e2cd8 +data_ov00_020e2cd8: ; 0x020e2cd8 + .word func_ov00_02090a00 + .global data_ov00_020e2cdc +data_ov00_020e2cdc: ; 0x020e2cdc + .word func_ov00_020933b8 + .global data_ov00_020e2ce0 +data_ov00_020e2ce0: ; 0x020e2ce0 + .word func_ov00_02090a0c + .global data_ov00_020e2ce4 +data_ov00_020e2ce4: ; 0x020e2ce4 + .word func_ov00_02090a10 + .global data_ov00_020e2ce8 +data_ov00_020e2ce8: ; 0x020e2ce8 + .word func_ov00_020935fc + .global data_ov00_020e2cec +data_ov00_020e2cec: ; 0x020e2cec + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2cf0 +data_ov00_020e2cf0: ; 0x020e2cf0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2cf4 +data_ov00_020e2cf4: ; 0x020e2cf4 + .word func_ov00_02093934 + .global data_ov00_020e2cf8 +data_ov00_020e2cf8: ; 0x020e2cf8 + .word func_ov00_02093938 + .global data_ov00_020e2cfc +data_ov00_020e2cfc: ; 0x020e2cfc + .word func_ov00_02093634 + .global data_ov00_020e2d00 +data_ov00_020e2d00: ; 0x020e2d00 + .word func_ov00_020936d8 + .global data_ov00_020e2d04 +data_ov00_020e2d04: ; 0x020e2d04 + .word func_ov00_020937d8 + .global data_ov00_020e2d08 +data_ov00_020e2d08: ; 0x020e2d08 + .word func_ov00_020937dc + .global data_ov00_020e2d0c +data_ov00_020e2d0c: ; 0x020e2d0c + .word func_ov00_020909e4 + .global data_ov00_020e2d10 +data_ov00_020e2d10: ; 0x020e2d10 + .word func_ov00_020909e8 + .global data_ov00_020e2d14 +data_ov00_020e2d14: ; 0x020e2d14 + .word func_ov00_02093840 + .global data_ov00_020e2d18 +data_ov00_020e2d18: ; 0x020e2d18 + .word func_ov00_02093854 + .global data_ov00_020e2d1c +data_ov00_020e2d1c: ; 0x020e2d1c + .word func_ov00_02093920 + .global data_ov00_020e2d20 +data_ov00_020e2d20: ; 0x020e2d20 + .word func_ov00_020909f8 + .global data_ov00_020e2d24 +data_ov00_020e2d24: ; 0x020e2d24 + .word func_ov00_020909fc + .global data_ov00_020e2d28 +data_ov00_020e2d28: ; 0x020e2d28 + .word func_ov00_02090a00 + .global data_ov00_020e2d2c +data_ov00_020e2d2c: ; 0x020e2d2c + .word func_ov00_02090a08 + .global data_ov00_020e2d30 +data_ov00_020e2d30: ; 0x020e2d30 + .word func_ov00_02090a0c + .global data_ov00_020e2d34 +data_ov00_020e2d34: ; 0x020e2d34 + .word func_ov00_02090a10 + .global data_ov00_020e2d38 +data_ov00_020e2d38: ; 0x020e2d38 + .word func_ov00_02090a14 + .global data_ov00_020e2d3c +data_ov00_020e2d3c: ; 0x020e2d3c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2d40 +data_ov00_020e2d40: ; 0x020e2d40 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2d44 +data_ov00_020e2d44: ; 0x020e2d44 + .word func_ov00_02093da8 + .global data_ov00_020e2d48 +data_ov00_020e2d48: ; 0x020e2d48 + .word func_ov00_02093dd0 + .global data_ov00_020e2d4c +data_ov00_020e2d4c: ; 0x020e2d4c + .word func_ov00_02093e00 + .global data_ov00_020e2d50 +data_ov00_020e2d50: ; 0x020e2d50 + .word func_ov00_02094120 + .global data_ov00_020e2d54 +data_ov00_020e2d54: ; 0x020e2d54 + .word func_ov00_0208b694 + .global data_ov00_020e2d58 +data_ov00_020e2d58: ; 0x020e2d58 + .word func_ov00_0208b698 + .global data_ov00_020e2d5c +data_ov00_020e2d5c: ; 0x020e2d5c + .word func_ov00_0208b6b8 + .global data_ov00_020e2d60 +data_ov00_020e2d60: ; 0x020e2d60 + .word func_ov00_02094808 + .global data_ov00_020e2d64 +data_ov00_020e2d64: ; 0x020e2d64 + .word func_ov00_0208b6bc + .global data_ov00_020e2d68 +data_ov00_020e2d68: ; 0x020e2d68 + .word func_ov00_0208b6c4 + .global data_ov00_020e2d6c +data_ov00_020e2d6c: ; 0x020e2d6c + .word func_ov00_0208b6c8 + .global data_ov00_020e2d70 +data_ov00_020e2d70: ; 0x020e2d70 + .word func_ov00_0208b6d0 + .global data_ov00_020e2d74 +data_ov00_020e2d74: ; 0x020e2d74 + .word func_ov00_0208b6d8 + .global data_ov00_020e2d78 +data_ov00_020e2d78: ; 0x020e2d78 + .word func_ov00_0208b6e0 + .global data_ov00_020e2d7c +data_ov00_020e2d7c: ; 0x020e2d7c + .word func_ov00_0208b6e8 + .global data_ov00_020e2d80 +data_ov00_020e2d80: ; 0x020e2d80 + .word func_ov00_0208b6f0 + .global data_ov00_020e2d84 +data_ov00_020e2d84: ; 0x020e2d84 + .word func_ov00_0208b6f8 + .global data_ov00_020e2d88 +data_ov00_020e2d88: ; 0x020e2d88 + .word func_ov00_0208b700 + .global data_ov00_020e2d8c +data_ov00_020e2d8c: ; 0x020e2d8c + .word func_ov00_020941ec + .global data_ov00_020e2d90 +data_ov00_020e2d90: ; 0x020e2d90 + .word func_ov00_0208b70c + .global data_ov00_020e2d94 +data_ov00_020e2d94: ; 0x020e2d94 + .word func_ov00_0208b710 + .global data_ov00_020e2d98 +data_ov00_020e2d98: ; 0x020e2d98 + .word func_ov00_0208ca00 + .global data_ov00_020e2d9c +data_ov00_020e2d9c: ; 0x020e2d9c + .word func_ov00_0208b71c + .global data_ov00_020e2da0 +data_ov00_020e2da0: ; 0x020e2da0 + .word func_ov00_0208b844 + .global data_ov00_020e2da4 +data_ov00_020e2da4: ; 0x020e2da4 + .word func_ov00_0208b870 + .global data_ov00_020e2da8 +data_ov00_020e2da8: ; 0x020e2da8 + .word func_ov00_0208b89c + .global data_ov00_020e2dac +data_ov00_020e2dac: ; 0x020e2dac + .word func_ov00_0208ba30 + .global data_ov00_020e2db0 +data_ov00_020e2db0: ; 0x020e2db0 + .word func_ov00_0208ba38 + .global data_ov00_020e2db4 +data_ov00_020e2db4: ; 0x020e2db4 + .word func_ov00_0208ba40 + .global data_ov00_020e2db8 +data_ov00_020e2db8: ; 0x020e2db8 + .word func_ov00_0208ba48 + .global data_ov00_020e2dbc +data_ov00_020e2dbc: ; 0x020e2dbc + .word func_ov00_0208ba50 + .global data_ov00_020e2dc0 +data_ov00_020e2dc0: ; 0x020e2dc0 + .word func_ov00_0209421c + .global data_ov00_020e2dc4 +data_ov00_020e2dc4: ; 0x020e2dc4 + .word func_ov00_020941a4 + .global data_ov00_020e2dc8 +data_ov00_020e2dc8: ; 0x020e2dc8 + .word func_ov00_0208c38c + .global data_ov00_020e2dcc +data_ov00_020e2dcc: ; 0x020e2dcc + .word func_ov00_0208c39c + .global data_ov00_020e2dd0 +data_ov00_020e2dd0: ; 0x020e2dd0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2dd4 +data_ov00_020e2dd4: ; 0x020e2dd4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2dd8 +data_ov00_020e2dd8: ; 0x020e2dd8 + .word func_ov00_02093d94 + .global data_ov00_020e2ddc +data_ov00_020e2ddc: ; 0x020e2ddc + .word func_ov00_02094cc0 + .global data_ov00_020e2de0 +data_ov00_020e2de0: ; 0x020e2de0 + .word func_ov00_02094ba0 + .global data_ov00_020e2de4 +data_ov00_020e2de4: ; 0x020e2de4 + .word func_ov00_02094828 + .global data_ov00_020e2de8 +data_ov00_020e2de8: ; 0x020e2de8 + .word func_ov00_0209482c + .global data_ov00_020e2dec +data_ov00_020e2dec: ; 0x020e2dec + .word func_ov00_020940d8 + .global data_ov00_020e2df0 +data_ov00_020e2df0: ; 0x020e2df0 + .word func_ov00_02094834 + .global data_ov00_020e2df4 +data_ov00_020e2df4: ; 0x020e2df4 + .word func_ov00_02094838 + .global data_ov00_020e2df8 +data_ov00_020e2df8: ; 0x020e2df8 + .word func_ov00_02094ba8 + .global data_ov00_020e2dfc +data_ov00_020e2dfc: ; 0x020e2dfc + .word func_ov00_02094840 + .global data_ov00_020e2e00 +data_ov00_020e2e00: ; 0x020e2e00 + .word func_ov00_02094844 + .global data_ov00_020e2e04 +data_ov00_020e2e04: ; 0x020e2e04 + .word func_ov00_02094bdc + .global data_ov00_020e2e08 +data_ov00_020e2e08: ; 0x020e2e08 + .word func_ov00_02094c10 + .global data_ov00_020e2e0c +data_ov00_020e2e0c: ; 0x020e2e0c + .word func_ov00_02094c64 + .global data_ov00_020e2e10 +data_ov00_020e2e10: ; 0x020e2e10 + .word func_ov00_02094c6c + .global data_ov00_020e2e14 +data_ov00_020e2e14: ; 0x020e2e14 + .word func_ov00_02094c74 + .global data_ov00_020e2e18 +data_ov00_020e2e18: ; 0x020e2e18 + .word func_ov00_02094c84 + .global data_ov00_020e2e1c +data_ov00_020e2e1c: ; 0x020e2e1c + .word func_ov00_02094cb0 + .global data_ov00_020e2e20 +data_ov00_020e2e20: ; 0x020e2e20 + .word func_ov00_02094928 + .global data_ov00_020e2e24 +data_ov00_020e2e24: ; 0x020e2e24 + .word func_ov00_02094938 + .global data_ov00_020e2e28 +data_ov00_020e2e28: ; 0x020e2e28 + .word func_ov00_02094948 + .global data_ov00_020e2e2c +data_ov00_020e2e2c: ; 0x020e2e2c + .word func_ov00_02094958 + .global data_ov00_020e2e30 +data_ov00_020e2e30: ; 0x020e2e30 + .word func_ov00_0209484c + .global data_ov00_020e2e34 +data_ov00_020e2e34: ; 0x020e2e34 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2e38 +data_ov00_020e2e38: ; 0x020e2e38 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2e3c +data_ov00_020e2e3c: ; 0x020e2e3c + .word func_ov00_02094a78 + .global data_ov00_020e2e40 +data_ov00_020e2e40: ; 0x020e2e40 + .word func_ov00_02094b84 + .global data_ov00_020e2e44 +data_ov00_020e2e44: ; 0x020e2e44 + .word func_ov00_02094a8c + .global data_ov00_020e2e48 +data_ov00_020e2e48: ; 0x020e2e48 + .word func_ov00_02094828 + .global data_ov00_020e2e4c +data_ov00_020e2e4c: ; 0x020e2e4c + .word func_ov00_02094ac0 + .global data_ov00_020e2e50 +data_ov00_020e2e50: ; 0x020e2e50 + .word func_ov00_02094830 + .global data_ov00_020e2e54 +data_ov00_020e2e54: ; 0x020e2e54 + .word func_ov00_02094834 + .global data_ov00_020e2e58 +data_ov00_020e2e58: ; 0x020e2e58 + .word func_ov00_02094a94 + .global data_ov00_020e2e5c +data_ov00_020e2e5c: ; 0x020e2e5c + .word func_ov00_0209483c + .global data_ov00_020e2e60 +data_ov00_020e2e60: ; 0x020e2e60 + .word func_ov00_02094840 + .global data_ov00_020e2e64 +data_ov00_020e2e64: ; 0x020e2e64 + .word func_ov00_02094b00 + .global data_ov00_020e2e68 +data_ov00_020e2e68: ; 0x020e2e68 + .word func_ov00_02094848 + .global data_ov00_020e2e6c +data_ov00_020e2e6c: ; 0x020e2e6c + .word func_ov00_02094b2c + .global data_ov00_020e2e70 +data_ov00_020e2e70: ; 0x020e2e70 + .word func_ov00_02094b48 + .global data_ov00_020e2e74 +data_ov00_020e2e74: ; 0x020e2e74 + .word func_ov00_02094b50 + .global data_ov00_020e2e78 +data_ov00_020e2e78: ; 0x020e2e78 + .word func_ov00_02094b58 + .global data_ov00_020e2e7c +data_ov00_020e2e7c: ; 0x020e2e7c + .word func_ov00_02094b74 + .global data_ov00_020e2e80 +data_ov00_020e2e80: ; 0x020e2e80 + .word func_ov00_02094b7c + .global data_ov00_020e2e84 +data_ov00_020e2e84: ; 0x020e2e84 + .word func_ov00_020948e8 + .global data_ov00_020e2e88 +data_ov00_020e2e88: ; 0x020e2e88 + .word func_ov00_020948f8 + .global data_ov00_020e2e8c +data_ov00_020e2e8c: ; 0x020e2e8c + .word func_ov00_02094908 + .global data_ov00_020e2e90 +data_ov00_020e2e90: ; 0x020e2e90 + .word func_ov00_02094918 + .global data_ov00_020e2e94 +data_ov00_020e2e94: ; 0x020e2e94 + .word func_ov00_0209484c + .global data_ov00_020e2e98 +data_ov00_020e2e98: ; 0x020e2e98 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2e9c +data_ov00_020e2e9c: ; 0x020e2e9c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2ea0 +data_ov00_020e2ea0: ; 0x020e2ea0 + .word func_ov00_02094968 + .global data_ov00_020e2ea4 +data_ov00_020e2ea4: ; 0x020e2ea4 + .word func_ov00_02094a5c + .global data_ov00_020e2ea8 +data_ov00_020e2ea8: ; 0x020e2ea8 + .word func_ov00_0209497c + .global data_ov00_020e2eac +data_ov00_020e2eac: ; 0x020e2eac + .word func_ov00_020949a8 + .global data_ov00_020e2eb0 +data_ov00_020e2eb0: ; 0x020e2eb0 + .word func_ov00_0209482c + .global data_ov00_020e2eb4 +data_ov00_020e2eb4: ; 0x020e2eb4 + .word func_ov00_02094830 + .global data_ov00_020e2eb8 +data_ov00_020e2eb8: ; 0x020e2eb8 + .word func_ov00_02094984 + .global data_ov00_020e2ebc +data_ov00_020e2ebc: ; 0x020e2ebc + .word func_ov00_02094838 + .global data_ov00_020e2ec0 +data_ov00_020e2ec0: ; 0x020e2ec0 + .word func_ov00_0209483c + .global data_ov00_020e2ec4 +data_ov00_020e2ec4: ; 0x020e2ec4 + .word func_ov00_020949e0 + .global data_ov00_020e2ec8 +data_ov00_020e2ec8: ; 0x020e2ec8 + .word func_ov00_02094844 + .global data_ov00_020e2ecc +data_ov00_020e2ecc: ; 0x020e2ecc + .word func_ov00_02094848 + .global data_ov00_020e2ed0 +data_ov00_020e2ed0: ; 0x020e2ed0 + .word func_ov00_02094a04 + .global data_ov00_020e2ed4 +data_ov00_020e2ed4: ; 0x020e2ed4 + .word func_ov00_02094a20 + .global data_ov00_020e2ed8 +data_ov00_020e2ed8: ; 0x020e2ed8 + .word func_ov00_02094a28 + .global data_ov00_020e2edc +data_ov00_020e2edc: ; 0x020e2edc + .word func_ov00_02094a30 + .global data_ov00_020e2ee0 +data_ov00_020e2ee0: ; 0x020e2ee0 + .word func_ov00_02094a4c + .global data_ov00_020e2ee4 +data_ov00_020e2ee4: ; 0x020e2ee4 + .word func_ov00_02094a54 + .global data_ov00_020e2ee8 +data_ov00_020e2ee8: ; 0x020e2ee8 + .word func_ov00_020948a8 + .global data_ov00_020e2eec +data_ov00_020e2eec: ; 0x020e2eec + .word func_ov00_020948b8 + .global data_ov00_020e2ef0 +data_ov00_020e2ef0: ; 0x020e2ef0 + .word func_ov00_020948c8 + .global data_ov00_020e2ef4 +data_ov00_020e2ef4: ; 0x020e2ef4 + .word func_ov00_020948d8 + .global data_ov00_020e2ef8 +data_ov00_020e2ef8: ; 0x020e2ef8 + .word func_ov00_0209484c + .global data_ov00_020e2efc +data_ov00_020e2efc: ; 0x020e2efc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f00 +data_ov00_020e2f00: ; 0x020e2f00 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f04 +data_ov00_020e2f04: ; 0x020e2f04 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f08 +data_ov00_020e2f08: ; 0x020e2f08 + .word func_ov00_02094810 + .global data_ov00_020e2f0c +data_ov00_020e2f0c: ; 0x020e2f0c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f10 +data_ov00_020e2f10: ; 0x020e2f10 + .word func_ov00_02094828 + .global data_ov00_020e2f14 +data_ov00_020e2f14: ; 0x020e2f14 + .word func_ov00_0209482c + .global data_ov00_020e2f18 +data_ov00_020e2f18: ; 0x020e2f18 + .word func_ov00_02094830 + .global data_ov00_020e2f1c +data_ov00_020e2f1c: ; 0x020e2f1c + .word func_ov00_02094834 + .global data_ov00_020e2f20 +data_ov00_020e2f20: ; 0x020e2f20 + .word func_ov00_02094838 + .global data_ov00_020e2f24 +data_ov00_020e2f24: ; 0x020e2f24 + .word func_ov00_0209483c + .global data_ov00_020e2f28 +data_ov00_020e2f28: ; 0x020e2f28 + .word func_ov00_02094840 + .global data_ov00_020e2f2c +data_ov00_020e2f2c: ; 0x020e2f2c + .word func_ov00_02094844 + .global data_ov00_020e2f30 +data_ov00_020e2f30: ; 0x020e2f30 + .word func_ov00_02094848 + .global data_ov00_020e2f34 +data_ov00_020e2f34: ; 0x020e2f34 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f38 +data_ov00_020e2f38: ; 0x020e2f38 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f3c +data_ov00_020e2f3c: ; 0x020e2f3c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f40 +data_ov00_020e2f40: ; 0x020e2f40 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f44 +data_ov00_020e2f44: ; 0x020e2f44 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f48 +data_ov00_020e2f48: ; 0x020e2f48 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f4c +data_ov00_020e2f4c: ; 0x020e2f4c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f50 +data_ov00_020e2f50: ; 0x020e2f50 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f54 +data_ov00_020e2f54: ; 0x020e2f54 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f58 +data_ov00_020e2f58: ; 0x020e2f58 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f5c +data_ov00_020e2f5c: ; 0x020e2f5c + .word func_ov00_0209484c + .global data_ov00_020e2f60 +data_ov00_020e2f60: ; 0x020e2f60 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f64 +data_ov00_020e2f64: ; 0x020e2f64 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f68 +data_ov00_020e2f68: ; 0x020e2f68 + .word func_ov00_02094df4 + .global data_ov00_020e2f6c +data_ov00_020e2f6c: ; 0x020e2f6c + .word func_ov00_02094e10 + .global data_ov00_020e2f70 +data_ov00_020e2f70: ; 0x020e2f70 + .word func_ov00_02094cfc + .global data_ov00_020e2f74 +data_ov00_020e2f74: ; 0x020e2f74 + .word func_ov00_02094d48 + .global data_ov00_020e2f78 +data_ov00_020e2f78: ; 0x020e2f78 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f7c +data_ov00_020e2f7c: ; 0x020e2f7c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f80 +data_ov00_020e2f80: ; 0x020e2f80 + .word func_ov00_02094dc4 + .global data_ov00_020e2f84 +data_ov00_020e2f84: ; 0x020e2f84 + .word func_ov00_02094dd8 + .global data_ov00_020e2f88 +data_ov00_020e2f88: ; 0x020e2f88 + .word func_ov00_02094cec + .global data_ov00_020e2f8c +data_ov00_020e2f8c: ; 0x020e2f8c + .word func_ov00_02094cf4 + .global data_ov00_020e2f90 +data_ov00_020e2f90: ; 0x020e2f90 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f94 +data_ov00_020e2f94: ; 0x020e2f94 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2f98 +data_ov00_020e2f98: ; 0x020e2f98 + .word func_ov00_02094d94 + .global data_ov00_020e2f9c +data_ov00_020e2f9c: ; 0x020e2f9c + .word func_ov00_02094da8 + .global data_ov00_020e2fa0 +data_ov00_020e2fa0: ; 0x020e2fa0 + .word func_ov00_02094cdc + .global data_ov00_020e2fa4 +data_ov00_020e2fa4: ; 0x020e2fa4 + .word func_ov00_02094ce4 + .global data_ov00_020e2fa8 +data_ov00_020e2fa8: ; 0x020e2fa8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2fac +data_ov00_020e2fac: ; 0x020e2fac + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2fb0 +data_ov00_020e2fb0: ; 0x020e2fb0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2fb4 +data_ov00_020e2fb4: ; 0x020e2fb4 + .word func_ov00_0208708c + .global data_ov00_020e2fb8 +data_ov00_020e2fb8: ; 0x020e2fb8 + .word func_ov00_020953e0 + .global data_ov00_020e2fbc +data_ov00_020e2fbc: ; 0x020e2fbc + .word func_ov00_02095358 + .global data_ov00_020e2fc0 +data_ov00_020e2fc0: ; 0x020e2fc0 + .word func_ov00_02095390 + .global data_ov00_020e2fc4 +data_ov00_020e2fc4: ; 0x020e2fc4 + .word func_ov00_02095398 + .global data_ov00_020e2fc8 +data_ov00_020e2fc8: ; 0x020e2fc8 + .word func_ov00_020953a0 + .global data_ov00_020e2fcc +data_ov00_020e2fcc: ; 0x020e2fcc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2fd0 +data_ov00_020e2fd0: ; 0x020e2fd0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2fd4 +data_ov00_020e2fd4: ; 0x020e2fd4 + .word func_ov00_02095db8 + .global data_ov00_020e2fd8 +data_ov00_020e2fd8: ; 0x020e2fd8 + .word func_ov00_02095df8 + .global data_ov00_020e2fdc +data_ov00_020e2fdc: ; 0x020e2fdc + .word func_ov00_02095e40 + .global data_ov00_020e2fe0 +data_ov00_020e2fe0: ; 0x020e2fe0 + .word func_ov00_0207fe34 + .global data_ov00_020e2fe4 +data_ov00_020e2fe4: ; 0x020e2fe4 + .word func_ov00_02080ddc + .global data_ov00_020e2fe8 +data_ov00_020e2fe8: ; 0x020e2fe8 + .word func_ov00_02095ec4 + .global data_ov00_020e2fec +data_ov00_020e2fec: ; 0x020e2fec + .word func_ov00_02095ed4 + .global data_ov00_020e2ff0 +data_ov00_020e2ff0: ; 0x020e2ff0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2ff4 +data_ov00_020e2ff4: ; 0x020e2ff4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2ff8 +data_ov00_020e2ff8: ; 0x020e2ff8 + .word func_ov00_020958a8 + .global data_ov00_020e2ffc +data_ov00_020e2ffc: ; 0x020e2ffc + .word func_ov00_02095910 + .global data_ov00_020e3000 +data_ov00_020e3000: ; 0x020e3000 + .word func_ov00_02095980 + .global data_ov00_020e3004 +data_ov00_020e3004: ; 0x020e3004 + .word func_ov00_02095998 + .global data_ov00_020e3008 +data_ov00_020e3008: ; 0x020e3008 + .word func_ov00_02095d08 + .global data_ov00_020e300c +data_ov00_020e300c: ; 0x020e300c + .word func_ov00_02095ec4 + .global data_ov00_020e3010 +data_ov00_020e3010: ; 0x020e3010 + .word func_ov00_02095ed4 + .global data_ov00_020e3014 +data_ov00_020e3014: ; 0x020e3014 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e3018 +data_ov00_020e3018: ; 0x020e3018 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e301c +data_ov00_020e301c: ; 0x020e301c + .word func_ov00_02095764 + .global data_ov00_020e3020 +data_ov00_020e3020: ; 0x020e3020 + .word func_ov00_02095778 + .global data_ov00_020e3024 +data_ov00_020e3024: ; 0x020e3024 + .word func_ov00_0207faa8 + .global data_ov00_020e3028 +data_ov00_020e3028: ; 0x020e3028 + .word func_ov00_0207fe34 + .global data_ov00_020e302c +data_ov00_020e302c: ; 0x020e302c + .word func_ov00_02080ddc + .global data_ov00_020e3030 +data_ov00_020e3030: ; 0x020e3030 + .word func_ov00_02095eb4 + .global data_ov00_020e3034 +data_ov00_020e3034: ; 0x020e3034 + .word func_ov00_02095794 + .global data_ov00_020e3038 +data_ov00_020e3038: ; 0x020e3038 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e303c +data_ov00_020e303c: ; 0x020e303c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e3040 +data_ov00_020e3040: ; 0x020e3040 + .word func_ov00_02095608 + .global data_ov00_020e3044 +data_ov00_020e3044: ; 0x020e3044 + .word func_ov00_0209561c + .global data_ov00_020e3048 +data_ov00_020e3048: ; 0x020e3048 + .word func_ov00_0207faa8 + .global data_ov00_020e304c +data_ov00_020e304c: ; 0x020e304c + .word func_ov00_0207fe34 + .global data_ov00_020e3050 +data_ov00_020e3050: ; 0x020e3050 + .word func_ov00_02080ddc + .global data_ov00_020e3054 +data_ov00_020e3054: ; 0x020e3054 + .word func_ov00_02095ec4 + .global data_ov00_020e3058 +data_ov00_020e3058: ; 0x020e3058 + .word func_ov00_02095ed4 + .global data_ov00_020e305c +data_ov00_020e305c: ; 0x020e305c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e3060 +data_ov00_020e3060: ; 0x020e3060 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e3064 +data_ov00_020e3064: ; 0x020e3064 + .word func_ov00_02095484 + .global data_ov00_020e3068 +data_ov00_020e3068: ; 0x020e3068 + .word func_ov00_02095488 + .global data_ov00_020e306c +data_ov00_020e306c: ; 0x020e306c + .word func_ov00_0207faa8 + .global data_ov00_020e3070 +data_ov00_020e3070: ; 0x020e3070 + .word func_ov00_0207fe34 + .global data_ov00_020e3074 +data_ov00_020e3074: ; 0x020e3074 + .word func_ov00_02080ddc + .global data_ov00_020e3078 +data_ov00_020e3078: ; 0x020e3078 + .word func_ov00_0207fc90 + .global data_ov00_020e307c +data_ov00_020e307c: ; 0x020e307c + .word func_ov00_0207fb5c + .global data_ov00_020e3080 +data_ov00_020e3080: ; 0x020e3080 + .ascii "brg" + .byte 0x00 + .global data_ov00_020e3084 +data_ov00_020e3084: ; 0x020e3084 + .ascii "fnl" + .byte 0x00 + .global data_ov00_020e3088 +data_ov00_020e3088: ; 0x020e3088 + .ascii "pdl" + .byte 0x00 + .global data_ov00_020e308c +data_ov00_020e308c: ; 0x020e308c + .ascii "dco" + .byte 0x00 + .global data_ov00_020e3090 +data_ov00_020e3090: ; 0x020e3090 + .ascii "can" + .byte 0x00 + .global data_ov00_020e3094 +data_ov00_020e3094: ; 0x020e3094 + .ascii "hul" + .byte 0x00 + .global data_ov00_020e3098 +data_ov00_020e3098: ; 0x020e3098 + .ascii "bow" + .byte 0x00 + .global data_ov00_020e309c +data_ov00_020e309c: ; 0x020e309c + .ascii "anc" + .byte 0x00 + .global data_ov00_020e30a0 +data_ov00_020e30a0: ; 0x020e30a0 + .word data_ov00_020e309c + .global data_ov00_020e30a4 +data_ov00_020e30a4: ; 0x020e30a4 + .word data_ov00_020e3098 + .global data_ov00_020e30a8 +data_ov00_020e30a8: ; 0x020e30a8 + .word data_ov00_020e3094 + .global data_ov00_020e30ac +data_ov00_020e30ac: ; 0x020e30ac + .word data_ov00_020e3090 + .global data_ov00_020e30b0 +data_ov00_020e30b0: ; 0x020e30b0 + .word data_ov00_020e308c + .global data_ov00_020e30b4 +data_ov00_020e30b4: ; 0x020e30b4 + .word data_ov00_020e3088 + .global data_ov00_020e30b8 +data_ov00_020e30b8: ; 0x020e30b8 + .word data_ov00_020e3084 + .global data_ov00_020e30bc +data_ov00_020e30bc: ; 0x020e30bc + .word data_ov00_020e3080 + .global data_ov00_020e30c0 +data_ov00_020e30c0: ; 0x020e30c0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e30c4 +data_ov00_020e30c4: ; 0x020e30c4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e30c8 +data_ov00_020e30c8: ; 0x020e30c8 + .word func_ov00_02096d5c + .global data_ov00_020e30cc +data_ov00_020e30cc: ; 0x020e30cc + .ascii "brg" + .byte 0x00 + .global data_ov00_020e30d0 +data_ov00_020e30d0: ; 0x020e30d0 + .ascii "fnl" + .byte 0x00 + .global data_ov00_020e30d4 +data_ov00_020e30d4: ; 0x020e30d4 + .ascii "pdl" + .byte 0x00 + .global data_ov00_020e30d8 +data_ov00_020e30d8: ; 0x020e30d8 + .ascii "dco" + .byte 0x00 + .global data_ov00_020e30dc +data_ov00_020e30dc: ; 0x020e30dc + .ascii "can" + .byte 0x00 + .global data_ov00_020e30e0 +data_ov00_020e30e0: ; 0x020e30e0 + .ascii "hul" + .byte 0x00 + .global data_ov00_020e30e4 +data_ov00_020e30e4: ; 0x020e30e4 + .ascii "bow" + .byte 0x00 + .global data_ov00_020e30e8 +data_ov00_020e30e8: ; 0x020e30e8 + .ascii "anc" + .byte 0x00 + .global data_ov00_020e30ec +data_ov00_020e30ec: ; 0x020e30ec + .word data_ov00_020e30e8 + .global data_ov00_020e30f0 +data_ov00_020e30f0: ; 0x020e30f0 + .word data_ov00_020e30e4 + .global data_ov00_020e30f4 +data_ov00_020e30f4: ; 0x020e30f4 + .word data_ov00_020e30e0 + .global data_ov00_020e30f8 +data_ov00_020e30f8: ; 0x020e30f8 + .word data_ov00_020e30dc + .global data_ov00_020e30fc +data_ov00_020e30fc: ; 0x020e30fc + .word data_ov00_020e30d8 + .global data_ov00_020e3100 +data_ov00_020e3100: ; 0x020e3100 + .word data_ov00_020e30d4 + .global data_ov00_020e3104 +data_ov00_020e3104: ; 0x020e3104 + .word data_ov00_020e30d0 + .global data_ov00_020e3108 +data_ov00_020e3108: ; 0x020e3108 + .word data_ov00_020e30cc + + .sbss + .global data_ov00_020ec9d4 +data_ov00_020ec9d4: + .space 0x2 + .global data_ov00_020ec9d6 +data_ov00_020ec9d6: + .space 0x2 + .global data_ov00_020ec9d8 +data_ov00_020ec9d8: + .space 0x4 + .global data_ov00_020ec9dc +data_ov00_020ec9dc: + .space 0x4 + .global data_ov00_020ec9e0 +data_ov00_020ec9e0: + .space 0x4 + .global data_ov00_020ec9e4 +data_ov00_020ec9e4: + .space 0x4 + .global data_ov00_020ec9e8 +data_ov00_020ec9e8: + .space 0x4 + .global data_ov00_020ec9ec +data_ov00_020ec9ec: + .space 0x4 + .global data_ov00_020ec9f0 +data_ov00_020ec9f0: + .space 0x4 + .global data_ov00_020ec9f4 +data_ov00_020ec9f4: + .space 0x4 + .global data_ov00_020ec9f8 +data_ov00_020ec9f8: + .space 0x4 + .global data_ov00_020ec9fc +data_ov00_020ec9fc: + .space 0x4 + .global data_ov00_020eca00 +data_ov00_020eca00: + .space 0x4 + .global data_ov00_020eca04 +data_ov00_020eca04: + .space 0x4 + .global data_ov00_020eca08 +data_ov00_020eca08: + .space 0x4 + .global data_ov00_020eca0c +data_ov00_020eca0c: + .space 0x4 + .global data_ov00_020eca10 +data_ov00_020eca10: + .space 0x4 + .global data_ov00_020eca14 +data_ov00_020eca14: + .space 0x4 + .global data_ov00_020eca18 +data_ov00_020eca18: + .space 0x4 + .global data_ov00_020eca1c +data_ov00_020eca1c: + .space 0x4 + .global data_ov00_020eca20 +data_ov00_020eca20: + .space 0x4 + .global data_ov00_020eca24 +data_ov00_020eca24: + .space 0x4 + .global data_ov00_020eca28 +data_ov00_020eca28: + .space 0x4 + .global data_ov00_020eca2c +data_ov00_020eca2c: + .space 0x4 + .global data_ov00_020eca30 +data_ov00_020eca30: + .space 0x4 + .global data_ov00_020eca34 +data_ov00_020eca34: + .space 0x4 + .global data_ov00_020eca38 +data_ov00_020eca38: + .space 0x4 + .global data_ov00_020eca3c +data_ov00_020eca3c: + .space 0x4 + .global data_ov00_020eca40 +data_ov00_020eca40: + .space 0x4 + .global data_ov00_020eca44 +data_ov00_020eca44: + .space 0x4 + .global data_ov00_020eca48 +data_ov00_020eca48: + .space 0x4 + .global data_ov00_020eca4c +data_ov00_020eca4c: + .space 0x4 + .global data_ov00_020eca50 +data_ov00_020eca50: + .space 0x4 + .global data_ov00_020eca54 +data_ov00_020eca54: + .space 0x4 + .global data_ov00_020eca58 +data_ov00_020eca58: + .space 0x4 + .global data_ov00_020eca5c +data_ov00_020eca5c: + .space 0x4 + .global data_ov00_020eca60 +data_ov00_020eca60: + .space 0x4 + .global data_ov00_020eca64 +data_ov00_020eca64: + .space 0x4 + .global data_ov00_020eca68 +data_ov00_020eca68: + .space 0x4 + .global data_ov00_020eca6c +data_ov00_020eca6c: + .space 0x4 + .global data_ov00_020eca70 +data_ov00_020eca70: + .space 0x4 + .global data_ov00_020eca74 +data_ov00_020eca74: + .space 0x4 + .global data_ov00_020eca78 +data_ov00_020eca78: + .space 0x4 + .global data_ov00_020eca7c +data_ov00_020eca7c: + .space 0x4 + .global data_ov00_020eca80 +data_ov00_020eca80: + .space 0x4 + .global data_ov00_020eca84 +data_ov00_020eca84: + .space 0x4 + .global data_ov00_020eca88 +data_ov00_020eca88: + .space 0x4 + .global data_ov00_020eca8c +data_ov00_020eca8c: + .space 0x4 + .global data_ov00_020eca90 +data_ov00_020eca90: + .space 0x4 + .global data_ov00_020eca94 +data_ov00_020eca94: + .space 0x4 + .global data_ov00_020eca98 +data_ov00_020eca98: + .space 0x4 + .global data_ov00_020eca9c +data_ov00_020eca9c: + .space 0x4 + .global data_ov00_020ecaa0 +data_ov00_020ecaa0: + .space 0x4 + .global data_ov00_020ecaa4 +data_ov00_020ecaa4: + .space 0x4 + .global data_ov00_020ecaa8 +data_ov00_020ecaa8: + .space 0x4 + .global data_ov00_020ecaac +data_ov00_020ecaac: + .space 0x4 + .global data_ov00_020ecab0 +data_ov00_020ecab0: + .space 0x4 + .global data_ov00_020ecab4 +data_ov00_020ecab4: + .space 0x4 + .global data_ov00_020ecab8 +data_ov00_020ecab8: + .space 0x4 + .global data_ov00_020ecabc +data_ov00_020ecabc: + .space 0x4 + .global data_ov00_020ecac0 +data_ov00_020ecac0: + .space 0x4 + .global data_ov00_020ecac4 +data_ov00_020ecac4: + .space 0x4 + .global data_ov00_020ecac8 +data_ov00_020ecac8: + .space 0x4 + .global data_ov00_020ecacc +data_ov00_020ecacc: + .space 0x4 + .global data_ov00_020ecad0 +data_ov00_020ecad0: + .space 0x4 + .global data_ov00_020ecad4 +data_ov00_020ecad4: + .space 0x4 + .global data_ov00_020ecad8 +data_ov00_020ecad8: + .space 0x4 + .global data_ov00_020ecadc +data_ov00_020ecadc: + .space 0x4 + .global data_ov00_020ecae0 +data_ov00_020ecae0: + .space 0x4 + .global data_ov00_020ecae4 +data_ov00_020ecae4: + .space 0x4 + .global data_ov00_020ecae8 +data_ov00_020ecae8: + .space 0x4 + .global data_ov00_020ecaec +data_ov00_020ecaec: + .space 0x4 + .global data_ov00_020ecaf0 +data_ov00_020ecaf0: + .space 0x4 + .global data_ov00_020ecaf4 +data_ov00_020ecaf4: + .space 0x4 + .global data_ov00_020ecaf8 +data_ov00_020ecaf8: + .space 0x4 + .global data_ov00_020ecafc +data_ov00_020ecafc: + .space 0x4 + .global data_ov00_020ecb00 +data_ov00_020ecb00: + .space 0x4 + .global data_ov00_020ecb04 +data_ov00_020ecb04: + .space 0x4 + .global data_ov00_020ecb08 +data_ov00_020ecb08: + .space 0x4 + .global data_ov00_020ecb0c +data_ov00_020ecb0c: + .space 0x4 + .global data_ov00_020ecb10 +data_ov00_020ecb10: + .space 0x4 + .global data_ov00_020ecb14 +data_ov00_020ecb14: + .space 0x4 + .global data_ov00_020ecb18 +data_ov00_020ecb18: + .space 0x4 + .global data_ov00_020ecb1c +data_ov00_020ecb1c: + .space 0x4 + .global data_ov00_020ecb20 +data_ov00_020ecb20: + .space 0x4 + .global data_ov00_020ecb24 +data_ov00_020ecb24: + .space 0x4 + .global data_ov00_020ecb28 +data_ov00_020ecb28: + .space 0x4 + .global data_ov00_020ecb2c +data_ov00_020ecb2c: + .space 0x4 + .global data_ov00_020ecb30 +data_ov00_020ecb30: + .space 0x4 + .global data_ov00_020ecb34 +data_ov00_020ecb34: + .space 0x4 + .global data_ov00_020ecb38 +data_ov00_020ecb38: + .space 0x4 + .global data_ov00_020ecb3c +data_ov00_020ecb3c: + .space 0x4 + .global data_ov00_020ecb40 +data_ov00_020ecb40: + .space 0x4 + .global data_ov00_020ecb44 +data_ov00_020ecb44: + .space 0x4 + .global data_ov00_020ecb48 +data_ov00_020ecb48: + .space 0x4 + .global data_ov00_020ecb4c +data_ov00_020ecb4c: + .space 0x4 + .global data_ov00_020ecb50 +data_ov00_020ecb50: + .space 0x4 + .global data_ov00_020ecb54 +data_ov00_020ecb54: + .space 0x4 + .global data_ov00_020ecb58 +data_ov00_020ecb58: + .space 0x4 + .global data_ov00_020ecb5c +data_ov00_020ecb5c: + .space 0x4 + .global data_ov00_020ecb60 +data_ov00_020ecb60: + .space 0x4 + .global data_ov00_020ecb64 +data_ov00_020ecb64: + .space 0x4 + .global data_ov00_020ecb68 +data_ov00_020ecb68: + .space 0x4 + .global data_ov00_020ecb6c +data_ov00_020ecb6c: + .space 0x4 + .global data_ov00_020ecb70 +data_ov00_020ecb70: + .space 0x4 + .global data_ov00_020ecb74 +data_ov00_020ecb74: + .space 0x4 + .global data_ov00_020ecb78 +data_ov00_020ecb78: + .space 0x4 + .global data_ov00_020ecb7c +data_ov00_020ecb7c: + .space 0x4 + .global data_ov00_020ecb80 +data_ov00_020ecb80: + .space 0x4 + .global data_ov00_020ecb84 +data_ov00_020ecb84: + .space 0x4 + .global data_ov00_020ecb88 +data_ov00_020ecb88: + .space 0x4 + .global data_ov00_020ecb8c +data_ov00_020ecb8c: + .space 0x4 + .global data_ov00_020ecb90 +data_ov00_020ecb90: + .space 0x4 + .global data_ov00_020ecb94 +data_ov00_020ecb94: + .space 0x4 + .global data_ov00_020ecb98 +data_ov00_020ecb98: + .space 0x4 + .global data_ov00_020ecb9c +data_ov00_020ecb9c: + .space 0x4 + .global data_ov00_020ecba0 +data_ov00_020ecba0: + .space 0x4 + .global data_ov00_020ecba4 +data_ov00_020ecba4: + .space 0x4 + .global data_ov00_020ecba8 +data_ov00_020ecba8: + .space 0x4 + .global data_ov00_020ecbac +data_ov00_020ecbac: + .space 0x4 + .global data_ov00_020ecbb0 +data_ov00_020ecbb0: + .space 0x4 + .global data_ov00_020ecbb4 +data_ov00_020ecbb4: + .space 0x4 + .global data_ov00_020ecbb8 +data_ov00_020ecbb8: + .space 0x4 + .global data_ov00_020ecbbc +data_ov00_020ecbbc: + .space 0x4 + .global data_ov00_020ecbc0 +data_ov00_020ecbc0: + .space 0x4 + .global data_ov00_020ecbc4 +data_ov00_020ecbc4: + .space 0x4 + .global data_ov00_020ecbc8 +data_ov00_020ecbc8: + .space 0x4 + .global data_ov00_020ecbcc +data_ov00_020ecbcc: + .space 0x4 + .global data_ov00_020ecbd0 +data_ov00_020ecbd0: + .space 0x4 + .global data_ov00_020ecbd4 +data_ov00_020ecbd4: + .space 0x4 + .global data_ov00_020ecbd8 +data_ov00_020ecbd8: + .space 0x4 + .global data_ov00_020ecbdc +data_ov00_020ecbdc: + .space 0x4 + .global data_ov00_020ecbe0 +data_ov00_020ecbe0: + .space 0x4 + .global data_ov00_020ecbe4 +data_ov00_020ecbe4: + .space 0x4 + .global data_ov00_020ecbe8 +data_ov00_020ecbe8: + .space 0x4 + .global data_ov00_020ecbec +data_ov00_020ecbec: + .space 0x4 + .global data_ov00_020ecbf0 +data_ov00_020ecbf0: + .space 0x4 + .global data_ov00_020ecbf4 +data_ov00_020ecbf4: + .space 0x4 + .global data_ov00_020ecbf8 +data_ov00_020ecbf8: + .space 0x4 + .global data_ov00_020ecbfc +data_ov00_020ecbfc: + .space 0x4 + .global data_ov00_020ecc00 +data_ov00_020ecc00: + .space 0x4 + .global data_ov00_020ecc04 +data_ov00_020ecc04: + .space 0x4 + .global data_ov00_020ecc08 +data_ov00_020ecc08: + .space 0x4 + .global data_ov00_020ecc0c +data_ov00_020ecc0c: + .space 0x4 + .global data_ov00_020ecc10 +data_ov00_020ecc10: + .space 0x4 + .global data_ov00_020ecc14 +data_ov00_020ecc14: + .space 0x4 + .global data_ov00_020ecc18 +data_ov00_020ecc18: + .space 0x4 + .global data_ov00_020ecc1c +data_ov00_020ecc1c: + .space 0x4 + .global data_ov00_020ecc20 +data_ov00_020ecc20: + .space 0x4 + .global data_ov00_020ecc24 +data_ov00_020ecc24: + .space 0x4 + .global data_ov00_020ecc28 +data_ov00_020ecc28: + .space 0x4 + .global data_ov00_020ecc2c +data_ov00_020ecc2c: + .space 0x4 + .global data_ov00_020ecc30 +data_ov00_020ecc30: + .space 0x4 + .global data_ov00_020ecc34 +data_ov00_020ecc34: + .space 0x4 + .global data_ov00_020ecc38 +data_ov00_020ecc38: + .space 0x4 + .global data_ov00_020ecc3c +data_ov00_020ecc3c: + .space 0x4 + .global data_ov00_020ecc40 +data_ov00_020ecc40: + .space 0x4 + .global data_ov00_020ecc44 +data_ov00_020ecc44: + .space 0x4 + .global data_ov00_020ecc48 +data_ov00_020ecc48: + .space 0x4 + .global data_ov00_020ecc4c +data_ov00_020ecc4c: + .space 0x4 + .global data_ov00_020ecc50 +data_ov00_020ecc50: + .space 0x4 + .global data_ov00_020ecc54 +data_ov00_020ecc54: + .space 0x4 + .global data_ov00_020ecc58 +data_ov00_020ecc58: + .space 0x4 + .global data_ov00_020ecc5c +data_ov00_020ecc5c: + .space 0x4 + .global data_ov00_020ecc60 +data_ov00_020ecc60: + .space 0x4 + .global data_ov00_020ecc64 +data_ov00_020ecc64: + .space 0x4 + .global data_ov00_020ecc68 +data_ov00_020ecc68: + .space 0x4 + .global data_ov00_020ecc6c +data_ov00_020ecc6c: + .space 0x4 + .global data_ov00_020ecc70 +data_ov00_020ecc70: + .space 0x4 + .global data_ov00_020ecc74 +data_ov00_020ecc74: + .space 0x4 + .global data_ov00_020ecc78 +data_ov00_020ecc78: + .space 0x4 + .global data_ov00_020ecc7c +data_ov00_020ecc7c: + .space 0x4 + .global data_ov00_020ecc80 +data_ov00_020ecc80: + .space 0x4 + .global data_ov00_020ecc84 +data_ov00_020ecc84: + .space 0x4 + .global data_ov00_020ecc88 +data_ov00_020ecc88: + .space 0x4 + .global data_ov00_020ecc8c +data_ov00_020ecc8c: + .space 0x4 + .global data_ov00_020ecc90 +data_ov00_020ecc90: + .space 0x4 + .global data_ov00_020ecc94 +data_ov00_020ecc94: + .space 0x4 + .global data_ov00_020ecc98 +data_ov00_020ecc98: + .space 0x4 + .global data_ov00_020ecc9c +data_ov00_020ecc9c: + .space 0x4 + .global data_ov00_020ecca0 +data_ov00_020ecca0: + .space 0x4 + .global data_ov00_020ecca4 +data_ov00_020ecca4: + .space 0x4 + .global data_ov00_020ecca8 +data_ov00_020ecca8: + .space 0x4 + .global data_ov00_020eccac +data_ov00_020eccac: + .space 0x4 + .global data_ov00_020eccb0 +data_ov00_020eccb0: + .space 0x4 + .global data_ov00_020eccb4 +data_ov00_020eccb4: + .space 0x4 + .global data_ov00_020eccb8 +data_ov00_020eccb8: + .space 0x4 + .global data_ov00_020eccbc +data_ov00_020eccbc: + .space 0x4 + .global data_ov00_020eccc0 +data_ov00_020eccc0: + .space 0x4 + .global data_ov00_020eccc4 +data_ov00_020eccc4: + .space 0x4 + .global data_ov00_020eccc8 +data_ov00_020eccc8: + .space 0x4 + .global data_ov00_020ecccc +data_ov00_020ecccc: + .space 0x4 + .global data_ov00_020eccd0 +data_ov00_020eccd0: + .space 0x4 + .global data_ov00_020eccd4 +data_ov00_020eccd4: + .space 0x4 + .global data_ov00_020eccd8 +data_ov00_020eccd8: + .space 0x4 + .global data_ov00_020eccdc +data_ov00_020eccdc: + .space 0x4 + .global data_ov00_020ecce0 +data_ov00_020ecce0: + .space 0x4 + .global data_ov00_020ecce4 +data_ov00_020ecce4: + .space 0x4 + .global data_ov00_020ecce8 +data_ov00_020ecce8: + .space 0x4 + .global data_ov00_020eccec +data_ov00_020eccec: + .space 0x4 + .global data_ov00_020eccf0 +data_ov00_020eccf0: + .space 0x4 + .global data_ov00_020eccf4 +data_ov00_020eccf4: + .space 0x4 + .global data_ov00_020eccf8 +data_ov00_020eccf8: + .space 0x4 + .global data_ov00_020eccfc +data_ov00_020eccfc: + .space 0x4 + .global data_ov00_020ecd00 +data_ov00_020ecd00: + .space 0x4 + .global data_ov00_020ecd04 +data_ov00_020ecd04: + .space 0x4 + .global data_ov00_020ecd08 +data_ov00_020ecd08: + .space 0x4 + .global data_ov00_020ecd0c +data_ov00_020ecd0c: + .space 0x4 + .global data_ov00_020ecd10 +data_ov00_020ecd10: + .space 0x4 + .global data_ov00_020ecd14 +data_ov00_020ecd14: + .space 0x4 + .global data_ov00_020ecd18 +data_ov00_020ecd18: + .space 0x4 + .global data_ov00_020ecd1c +data_ov00_020ecd1c: + .space 0x4 + .global data_ov00_020ecd20 +data_ov00_020ecd20: + .space 0x4 + .global data_ov00_020ecd24 +data_ov00_020ecd24: + .space 0x4 + .global data_ov00_020ecd28 +data_ov00_020ecd28: + .space 0x4 + .global data_ov00_020ecd2c +data_ov00_020ecd2c: + .space 0x4 + .global data_ov00_020ecd30 +data_ov00_020ecd30: + .space 0x4 + .global data_ov00_020ecd34 +data_ov00_020ecd34: + .space 0x4 + .global data_ov00_020ecd38 +data_ov00_020ecd38: + .space 0x4 + .global data_ov00_020ecd3c +data_ov00_020ecd3c: + .space 0x4 + .global data_ov00_020ecd40 +data_ov00_020ecd40: + .space 0x4 + .global data_ov00_020ecd44 +data_ov00_020ecd44: + .space 0x4 + .global data_ov00_020ecd48 +data_ov00_020ecd48: + .space 0x4 + .global data_ov00_020ecd4c +data_ov00_020ecd4c: + .space 0x4 + .global data_ov00_020ecd50 +data_ov00_020ecd50: + .space 0x4 + .global data_ov00_020ecd54 +data_ov00_020ecd54: + .space 0x4 + .global data_ov00_020ecd58 +data_ov00_020ecd58: + .space 0x4 + .global data_ov00_020ecd5c +data_ov00_020ecd5c: + .space 0x4 + .global data_ov00_020ecd60 +data_ov00_020ecd60: + .space 0x4 + .global data_ov00_020ecd64 +data_ov00_020ecd64: + .space 0x4 + .global data_ov00_020ecd68 +data_ov00_020ecd68: + .space 0x4 + .global data_ov00_020ecd6c +data_ov00_020ecd6c: + .space 0x4 + .global data_ov00_020ecd70 +data_ov00_020ecd70: + .space 0x4 + .global data_ov00_020ecd74 +data_ov00_020ecd74: + .space 0x4 + .global data_ov00_020ecd78 +data_ov00_020ecd78: + .space 0x4 + .global data_ov00_020ecd7c +data_ov00_020ecd7c: + .space 0x4 + .global data_ov00_020ecd80 +data_ov00_020ecd80: + .space 0x4 + .global data_ov00_020ecd84 +data_ov00_020ecd84: + .space 0x4 + .global data_ov00_020ecd88 +data_ov00_020ecd88: + .space 0x4 + .global data_ov00_020ecd8c +data_ov00_020ecd8c: + .space 0x4 + .global data_ov00_020ecd90 +data_ov00_020ecd90: + .space 0x4 + .global data_ov00_020ecd94 +data_ov00_020ecd94: + .space 0x4 + .global data_ov00_020ecd98 +data_ov00_020ecd98: + .space 0x4 + .global data_ov00_020ecd9c +data_ov00_020ecd9c: + .space 0x4 + .global data_ov00_020ecda0 +data_ov00_020ecda0: + .space 0x4 + .global data_ov00_020ecda4 +data_ov00_020ecda4: + .space 0x4 + .global data_ov00_020ecda8 +data_ov00_020ecda8: + .space 0x4 + .global data_ov00_020ecdac +data_ov00_020ecdac: + .space 0x4 + .global data_ov00_020ecdb0 +data_ov00_020ecdb0: + .space 0x4 + .global data_ov00_020ecdb4 +data_ov00_020ecdb4: + .space 0x4 + .global data_ov00_020ecdb8 +data_ov00_020ecdb8: + .space 0x4 + .global data_ov00_020ecdbc +data_ov00_020ecdbc: + .space 0x4 + .global data_ov00_020ecdc0 +data_ov00_020ecdc0: + .space 0x4 + .global data_ov00_020ecdc4 +data_ov00_020ecdc4: + .space 0x4 + .global data_ov00_020ecdc8 +data_ov00_020ecdc8: + .space 0x4 + .global data_ov00_020ecdcc +data_ov00_020ecdcc: + .space 0x4 + .global data_ov00_020ecdd0 +data_ov00_020ecdd0: + .space 0x4 + .global data_ov00_020ecdd4 +data_ov00_020ecdd4: + .space 0x4 + .global data_ov00_020ecdd8 +data_ov00_020ecdd8: + .space 0x4 + .global data_ov00_020ecddc +data_ov00_020ecddc: + .space 0x4 + .global data_ov00_020ecde0 +data_ov00_020ecde0: + .space 0x4 + .global data_ov00_020ecde4 +data_ov00_020ecde4: + .space 0x4 + .global data_ov00_020ecde8 +data_ov00_020ecde8: + .space 0x2 + .global data_ov00_020ecdea +data_ov00_020ecdea: + .space 0x2 + .global data_ov00_020ecdec +data_ov00_020ecdec: + .space 0x2 + .global data_ov00_020ecdee +data_ov00_020ecdee: + .space 0x2 + .global data_ov00_020ecdf0 +data_ov00_020ecdf0: + .space 0x2 + .global data_ov00_020ecdf2 +data_ov00_020ecdf2: + .space 0x2 + .global data_ov00_020ecdf4 +data_ov00_020ecdf4: + .space 0x2 + .global data_ov00_020ecdf6 +data_ov00_020ecdf6: + .space 0x2 + .global data_ov00_020ecdf8 +data_ov00_020ecdf8: + .space 0x2 + .global data_ov00_020ecdfa +data_ov00_020ecdfa: + .space 0x2 + .global data_ov00_020ecdfc +data_ov00_020ecdfc: + .space 0x2 + .global data_ov00_020ecdfe +data_ov00_020ecdfe: + .space 0x2 + .global data_ov00_020ece00 +data_ov00_020ece00: + .space 0x2 + .global data_ov00_020ece02 +data_ov00_020ece02: + .space 0x2 + .global data_ov00_020ece04 +data_ov00_020ece04: + .space 0x2 + .global data_ov00_020ece06 +data_ov00_020ece06: + .space 0x2 + .global data_ov00_020ece08 +data_ov00_020ece08: + .space 0x2 + .global data_ov00_020ece0a +data_ov00_020ece0a: + .space 0x2 + .global data_ov00_020ece0c +data_ov00_020ece0c: + .space 0x2 + .global data_ov00_020ece0e +data_ov00_020ece0e: + .space 0x2 + .global data_ov00_020ece10 +data_ov00_020ece10: + .space 0x2 + .global data_ov00_020ece12 +data_ov00_020ece12: + .space 0x2 + .global data_ov00_020ece14 +data_ov00_020ece14: + .space 0x2 + .global data_ov00_020ece16 +data_ov00_020ece16: + .space 0x2 + .global data_ov00_020ece18 +data_ov00_020ece18: + .space 0x2 + .global data_ov00_020ece1a +data_ov00_020ece1a: + .space 0x2 + .global data_ov00_020ece1c +data_ov00_020ece1c: + .space 0x2 + .global data_ov00_020ece1e +data_ov00_020ece1e: + .space 0x2 + .global data_ov00_020ece20 +data_ov00_020ece20: + .space 0x2 + .global data_ov00_020ece22 +data_ov00_020ece22: + .space 0x2 + .global data_ov00_020ece24 +data_ov00_020ece24: + .space 0x2 + .global data_ov00_020ece26 +data_ov00_020ece26: + .space 0x2 + .global data_ov00_020ece28 +data_ov00_020ece28: + .space 0x2 + .global data_ov00_020ece2a +data_ov00_020ece2a: + .space 0x2 + .global data_ov00_020ece2c +data_ov00_020ece2c: + .space 0x2 + .global data_ov00_020ece2e +data_ov00_020ece2e: + .space 0x2 + .global data_ov00_020ece30 +data_ov00_020ece30: + .space 0x2 + .global data_ov00_020ece32 +data_ov00_020ece32: + .space 0x2 + .global data_ov00_020ece34 +data_ov00_020ece34: + .space 0x2 + .global data_ov00_020ece36 +data_ov00_020ece36: + .space 0x2 + .global data_ov00_020ece38 +data_ov00_020ece38: + .space 0x4 + .global data_ov00_020ece3c +data_ov00_020ece3c: + .space 0x4 + .global data_ov00_020ece40 +data_ov00_020ece40: + .space 0x4 + .global data_ov00_020ece44 +data_ov00_020ece44: + .space 0x4 + .global data_ov00_020ece48 +data_ov00_020ece48: + .space 0x2 + .global data_ov00_020ece4a +data_ov00_020ece4a: + .space 0x2 + .global data_ov00_020ece4c +data_ov00_020ece4c: + .space 0x4 + .global data_ov00_020ece50 +data_ov00_020ece50: + .space 0x4 + .global data_ov00_020ece54 +data_ov00_020ece54: + .space 0x4 + .global data_ov00_020ece58 +data_ov00_020ece58: + .space 0x4 + .global data_ov00_020ece5c +data_ov00_020ece5c: + .space 0x4 + .global data_ov00_020ece60 +data_ov00_020ece60: + .space 0x4 + .global data_ov00_020ece64 +data_ov00_020ece64: + .space 0x4 + .global data_ov00_020ece68 +data_ov00_020ece68: + .space 0x4 + .global data_ov00_020ece6c +data_ov00_020ece6c: + .space 0x4 + .global data_ov00_020ece70 +data_ov00_020ece70: + .space 0x4 + .global data_ov00_020ece74 +data_ov00_020ece74: + .space 0x4 + .global data_ov00_020ece78 +data_ov00_020ece78: + .space 0x4 + .global data_ov00_020ece7c +data_ov00_020ece7c: + .space 0x4 + .global data_ov00_020ece80 +data_ov00_020ece80: + .space 0x4 + .global data_ov00_020ece84 +data_ov00_020ece84: + .space 0x4 + .global data_ov00_020ece88 +data_ov00_020ece88: + .space 0x4 + .global data_ov00_020ece8c +data_ov00_020ece8c: + .space 0x4 + .global data_ov00_020ece90 +data_ov00_020ece90: + .space 0x4 + .global data_ov00_020ece94 +data_ov00_020ece94: + .space 0x4 + .global data_ov00_020ece98 +data_ov00_020ece98: + .space 0x4 + .global data_ov00_020ece9c +data_ov00_020ece9c: + .space 0x4 + .global data_ov00_020ecea0 +data_ov00_020ecea0: + .space 0x4 + .global data_ov00_020ecea4 +data_ov00_020ecea4: + .space 0x4 + .global data_ov00_020ecea8 +data_ov00_020ecea8: + .space 0x4 + .global data_ov00_020eceac +data_ov00_020eceac: + .space 0x4 + .global data_ov00_020eceb0 +data_ov00_020eceb0: + .space 0x4 + .global data_ov00_020eceb4 +data_ov00_020eceb4: + .space 0x4 + .global data_ov00_020eceb8 +data_ov00_020eceb8: + .space 0x4 + .global data_ov00_020ecebc +data_ov00_020ecebc: + .space 0x4 + .global data_ov00_020ecec0 +data_ov00_020ecec0: + .space 0x4 + .global data_ov00_020ecec4 +data_ov00_020ecec4: + .space 0x4 + .global data_ov00_020ecec8 +data_ov00_020ecec8: + .space 0x4 + .global data_ov00_020ececc +data_ov00_020ececc: + .space 0x4 + .global data_ov00_020eced0 +data_ov00_020eced0: + .space 0x4 + .global data_ov00_020eced4 +data_ov00_020eced4: + .space 0x4 + .global data_ov00_020eced8 +data_ov00_020eced8: + .space 0x4 + .global data_ov00_020ecedc +data_ov00_020ecedc: + .space 0x4 + .global data_ov00_020ecee0 +data_ov00_020ecee0: + .space 0x4 + .global data_ov00_020ecee4 +data_ov00_020ecee4: + .space 0x4 + .global data_ov00_020ecee8 +data_ov00_020ecee8: + .space 0x4 + .global data_ov00_020eceec +data_ov00_020eceec: + .space 0x4 + .global data_ov00_020ecef0 +data_ov00_020ecef0: + .space 0x4 + .global data_ov00_020ecef4 +data_ov00_020ecef4: + .space 0x4 + .global data_ov00_020ecef8 +data_ov00_020ecef8: + .space 0x4 + .global data_ov00_020ecefc +data_ov00_020ecefc: + .space 0x4 + .global data_ov00_020ecf00 +data_ov00_020ecf00: + .space 0x4 + .global data_ov00_020ecf04 +data_ov00_020ecf04: + .space 0x4 + .global data_ov00_020ecf08 +data_ov00_020ecf08: + .space 0x4 + .global data_ov00_020ecf0c +data_ov00_020ecf0c: + .space 0x4 + .global data_ov00_020ecf10 +data_ov00_020ecf10: + .space 0x4 + .global data_ov00_020ecf14 +data_ov00_020ecf14: + .space 0x4 + .global data_ov00_020ecf18 +data_ov00_020ecf18: + .space 0x4 + .global data_ov00_020ecf1c +data_ov00_020ecf1c: + .space 0x4 + .global data_ov00_020ecf20 +data_ov00_020ecf20: + .space 0x4 + .global data_ov00_020ecf24 +data_ov00_020ecf24: + .space 0x4 + .global data_ov00_020ecf28 +data_ov00_020ecf28: + .space 0x4 + .global data_ov00_020ecf2c +data_ov00_020ecf2c: + .space 0x4 + .global data_ov00_020ecf30 +data_ov00_020ecf30: + .space 0x4 + .global data_ov00_020ecf34 +data_ov00_020ecf34: + .space 0x4 + .global data_ov00_020ecf38 +data_ov00_020ecf38: + .space 0x4 + .global data_ov00_020ecf3c +data_ov00_020ecf3c: + .space 0x4 + .global data_ov00_020ecf40 +data_ov00_020ecf40: + .space 0x4 + .global data_ov00_020ecf44 +data_ov00_020ecf44: + .space 0x4 + .global data_ov00_020ecf48 +data_ov00_020ecf48: + .space 0x4 + .global data_ov00_020ecf4c +data_ov00_020ecf4c: + .space 0x4 + .global data_ov00_020ecf50 +data_ov00_020ecf50: + .space 0x4 + .global data_ov00_020ecf54 +data_ov00_020ecf54: + .space 0x4 + .global data_ov00_020ecf58 +data_ov00_020ecf58: + .space 0x4 + .global data_ov00_020ecf5c +data_ov00_020ecf5c: + .space 0x4 + .global data_ov00_020ecf60 +data_ov00_020ecf60: + .space 0x4 + .global data_ov00_020ecf64 +data_ov00_020ecf64: + .space 0x4 + .global data_ov00_020ecf68 +data_ov00_020ecf68: + .space 0x4 + .global data_ov00_020ecf6c +data_ov00_020ecf6c: + .space 0x4 + .global data_ov00_020ecf70 +data_ov00_020ecf70: + .space 0x4 + .global data_ov00_020ecf74 +data_ov00_020ecf74: + .space 0x4 + .global data_ov00_020ecf78 +data_ov00_020ecf78: + .space 0x4 + .global data_ov00_020ecf7c +data_ov00_020ecf7c: + .space 0x4 + .global data_ov00_020ecf80 +data_ov00_020ecf80: + .space 0x4 + .global data_ov00_020ecf84 +data_ov00_020ecf84: + .space 0x4 + .global data_ov00_020ecf88 +data_ov00_020ecf88: + .space 0x4 + .global data_ov00_020ecf8c +data_ov00_020ecf8c: + .space 0x4 + .global data_ov00_020ecf90 +data_ov00_020ecf90: + .space 0x4 + .global data_ov00_020ecf94 +data_ov00_020ecf94: + .space 0x4 + .global data_ov00_020ecf98 +data_ov00_020ecf98: + .space 0x4 + .global data_ov00_020ecf9c +data_ov00_020ecf9c: + .space 0x4 + .global data_ov00_020ecfa0 +data_ov00_020ecfa0: + .space 0x4 + .global data_ov00_020ecfa4 +data_ov00_020ecfa4: + .space 0x4 + .global data_ov00_020ecfa8 +data_ov00_020ecfa8: + .space 0x4 + .global data_ov00_020ecfac +data_ov00_020ecfac: + .space 0x4 + .global data_ov00_020ecfb0 +data_ov00_020ecfb0: + .space 0x4 + .global data_ov00_020ecfb4 +data_ov00_020ecfb4: + .space 0x4 + .global data_ov00_020ecfb8 +data_ov00_020ecfb8: + .space 0x4 + .global data_ov00_020ecfbc +data_ov00_020ecfbc: + .space 0x4 + .global data_ov00_020ecfc0 +data_ov00_020ecfc0: + .space 0x4 + .global data_ov00_020ecfc4 +data_ov00_020ecfc4: + .space 0x4 + .global data_ov00_020ecfc8 +data_ov00_020ecfc8: + .space 0x4 + .global data_ov00_020ecfcc +data_ov00_020ecfcc: + .space 0x4 + .global data_ov00_020ecfd0 +data_ov00_020ecfd0: + .space 0x4 + .global data_ov00_020ecfd4 +data_ov00_020ecfd4: + .space 0x4 + .global data_ov00_020ecfd8 +data_ov00_020ecfd8: + .space 0x4 + .global data_ov00_020ecfdc +data_ov00_020ecfdc: + .space 0x4 + .global data_ov00_020ecfe0 +data_ov00_020ecfe0: + .space 0x4 + .global data_ov00_020ecfe4 +data_ov00_020ecfe4: + .space 0x4 + .global data_ov00_020ecfe8 +data_ov00_020ecfe8: + .space 0x4 + .global data_ov00_020ecfec +data_ov00_020ecfec: + .space 0x4 + .global data_ov00_020ecff0 +data_ov00_020ecff0: + .space 0x4 + .global data_ov00_020ecff4 +data_ov00_020ecff4: + .space 0x4 + .global data_ov00_020ecff8 +data_ov00_020ecff8: + .space 0x4 + .global data_ov00_020ecffc +data_ov00_020ecffc: + .space 0x4 + .global data_ov00_020ed000 +data_ov00_020ed000: + .space 0x4 + .global data_ov00_020ed004 +data_ov00_020ed004: + .space 0x4 + .global data_ov00_020ed008 +data_ov00_020ed008: + .space 0x4 + .global data_ov00_020ed00c +data_ov00_020ed00c: + .space 0x4 + .global data_ov00_020ed010 +data_ov00_020ed010: + .space 0x4 + .global data_ov00_020ed014 +data_ov00_020ed014: + .space 0x4 + .global data_ov00_020ed018 +data_ov00_020ed018: + .space 0x4 + .global data_ov00_020ed01c +data_ov00_020ed01c: + .space 0x4 + .global data_ov00_020ed020 +data_ov00_020ed020: + .space 0x4 + .global data_ov00_020ed024 +data_ov00_020ed024: + .space 0x4 + .global data_ov00_020ed028 +data_ov00_020ed028: + .space 0x4 + .global data_ov00_020ed02c +data_ov00_020ed02c: + .space 0x4 + .global data_ov00_020ed030 +data_ov00_020ed030: + .space 0x4 + .global data_ov00_020ed034 +data_ov00_020ed034: + .space 0x4 + .global data_ov00_020ed038 +data_ov00_020ed038: + .space 0x4 + .global data_ov00_020ed03c +data_ov00_020ed03c: + .space 0x4 + .global data_ov00_020ed040 +data_ov00_020ed040: + .space 0x4 + .global data_ov00_020ed044 +data_ov00_020ed044: + .space 0x4 + .global data_ov00_020ed048 +data_ov00_020ed048: + .space 0x4 + .global data_ov00_020ed04c +data_ov00_020ed04c: + .space 0x4 + .global data_ov00_020ed050 +data_ov00_020ed050: + .space 0x4 + .global data_ov00_020ed054 +data_ov00_020ed054: + .space 0x4 + .global data_ov00_020ed058 +data_ov00_020ed058: + .space 0x4 + .global data_ov00_020ed05c +data_ov00_020ed05c: + .space 0x4 + .global data_ov00_020ed060 +data_ov00_020ed060: + .space 0x4 + .global data_ov00_020ed064 +data_ov00_020ed064: + .space 0x4 + .global data_ov00_020ed068 +data_ov00_020ed068: + .space 0x4 + .global data_ov00_020ed06c +data_ov00_020ed06c: + .space 0x4 + .global data_ov00_020ed070 +data_ov00_020ed070: + .space 0x4 + .global data_ov00_020ed074 +data_ov00_020ed074: + .space 0x4 + .global data_ov00_020ed078 +data_ov00_020ed078: + .space 0x4 + .global data_ov00_020ed07c +data_ov00_020ed07c: + .space 0x4 + .global data_ov00_020ed080 +data_ov00_020ed080: + .space 0x4 + .global data_ov00_020ed084 +data_ov00_020ed084: + .space 0x4 + .global data_ov00_020ed088 +data_ov00_020ed088: + .space 0x4 + .global data_ov00_020ed08c +data_ov00_020ed08c: + .space 0x4 + .global data_ov00_020ed090 +data_ov00_020ed090: + .space 0x4 + .global data_ov00_020ed094 +data_ov00_020ed094: + .space 0x4 + .global data_ov00_020ed098 +data_ov00_020ed098: + .space 0x4 + .global data_ov00_020ed09c +data_ov00_020ed09c: + .space 0x4 + .global data_ov00_020ed0a0 +data_ov00_020ed0a0: + .space 0x4 + .global data_ov00_020ed0a4 +data_ov00_020ed0a4: + .space 0x4 + .global data_ov00_020ed0a8 +data_ov00_020ed0a8: + .space 0x4 + .global data_ov00_020ed0ac +data_ov00_020ed0ac: + .space 0x4 + .global data_ov00_020ed0b0 +data_ov00_020ed0b0: + .space 0x4 + .global data_ov00_020ed0b4 +data_ov00_020ed0b4: + .space 0x4 + .global data_ov00_020ed0b8 +data_ov00_020ed0b8: + .space 0x4 + .global data_ov00_020ed0bc +data_ov00_020ed0bc: + .space 0x4 + .global data_ov00_020ed0c0 +data_ov00_020ed0c0: + .space 0x4 + .global data_ov00_020ed0c4 +data_ov00_020ed0c4: + .space 0x4 + .global data_ov00_020ed0c8 +data_ov00_020ed0c8: + .space 0x4 + .global data_ov00_020ed0cc +data_ov00_020ed0cc: + .space 0x4 + .global data_ov00_020ed0d0 +data_ov00_020ed0d0: + .space 0x4 + .global data_ov00_020ed0d4 +data_ov00_020ed0d4: + .space 0x4 + .global data_ov00_020ed0d8 +data_ov00_020ed0d8: + .space 0x4 + .global data_ov00_020ed0dc +data_ov00_020ed0dc: + .space 0x4 + .global data_ov00_020ed0e0 +data_ov00_020ed0e0: + .space 0x4 + .global data_ov00_020ed0e4 +data_ov00_020ed0e4: + .space 0x4 + .global data_ov00_020ed0e8 +data_ov00_020ed0e8: + .space 0x4 + .global data_ov00_020ed0ec +data_ov00_020ed0ec: + .space 0x4 + .global data_ov00_020ed0f0 +data_ov00_020ed0f0: + .space 0x4 + .global data_ov00_020ed0f4 +data_ov00_020ed0f4: + .space 0x4 + .global data_ov00_020ed0f8 +data_ov00_020ed0f8: + .space 0x4 + .global data_ov00_020ed0fc +data_ov00_020ed0fc: + .space 0x4 + .global data_ov00_020ed100 +data_ov00_020ed100: + .space 0x4 + .global data_ov00_020ed104 +data_ov00_020ed104: + .space 0x4 + .global data_ov00_020ed108 +data_ov00_020ed108: + .space 0x4 + .global data_ov00_020ed10c +data_ov00_020ed10c: + .space 0x4 + .global data_ov00_020ed110 +data_ov00_020ed110: + .space 0x4 + .global data_ov00_020ed114 +data_ov00_020ed114: + .space 0x4 + .global data_ov00_020ed118 +data_ov00_020ed118: + .space 0x4 + .global data_ov00_020ed11c +data_ov00_020ed11c: + .space 0x4 + .global data_ov00_020ed120 +data_ov00_020ed120: + .space 0x4 + .global data_ov00_020ed124 +data_ov00_020ed124: + .space 0x4 + .global data_ov00_020ed128 +data_ov00_020ed128: + .space 0x4 + .global data_ov00_020ed12c +data_ov00_020ed12c: + .space 0x4 + .global data_ov00_020ed130 +data_ov00_020ed130: + .space 0x4 + .global data_ov00_020ed134 +data_ov00_020ed134: + .space 0x4 + .global data_ov00_020ed138 +data_ov00_020ed138: + .space 0x4 + .global data_ov00_020ed13c +data_ov00_020ed13c: + .space 0x4 + .global data_ov00_020ed140 +data_ov00_020ed140: + .space 0x4 + .global data_ov00_020ed144 +data_ov00_020ed144: + .space 0x4 + .global data_ov00_020ed148 +data_ov00_020ed148: + .space 0x4 + .global data_ov00_020ed14c +data_ov00_020ed14c: + .space 0x4 + .global data_ov00_020ed150 +data_ov00_020ed150: + .space 0x4 + .global data_ov00_020ed154 +data_ov00_020ed154: + .space 0x4 + .global data_ov00_020ed158 +data_ov00_020ed158: + .space 0x4 + .global data_ov00_020ed15c +data_ov00_020ed15c: + .space 0x4 + .global data_ov00_020ed160 +data_ov00_020ed160: + .space 0x4 + .global data_ov00_020ed164 +data_ov00_020ed164: + .space 0x4 + .global data_ov00_020ed168 +data_ov00_020ed168: + .space 0x4 + .global data_ov00_020ed16c +data_ov00_020ed16c: + .space 0x4 + .global data_ov00_020ed170 +data_ov00_020ed170: + .space 0x4 + .global data_ov00_020ed174 +data_ov00_020ed174: + .space 0x4 + .global data_ov00_020ed178 +data_ov00_020ed178: + .space 0x4 + .global data_ov00_020ed17c +data_ov00_020ed17c: + .space 0x4 + .global data_ov00_020ed180 +data_ov00_020ed180: + .space 0x4 + .global data_ov00_020ed184 +data_ov00_020ed184: + .space 0x4 + .global data_ov00_020ed188 +data_ov00_020ed188: + .space 0x4 + .global data_ov00_020ed18c +data_ov00_020ed18c: + .space 0x4 + .global data_ov00_020ed190 +data_ov00_020ed190: + .space 0x4 + .global data_ov00_020ed194 +data_ov00_020ed194: + .space 0x4 + .global data_ov00_020ed198 +data_ov00_020ed198: + .space 0x4 + .global data_ov00_020ed19c +data_ov00_020ed19c: + .space 0x4 + .global data_ov00_020ed1a0 +data_ov00_020ed1a0: + .space 0x4 + .global data_ov00_020ed1a4 +data_ov00_020ed1a4: + .space 0x4 + .global data_ov00_020ed1a8 +data_ov00_020ed1a8: + .space 0x4 + .global data_ov00_020ed1ac +data_ov00_020ed1ac: + .space 0x4 + .global data_ov00_020ed1b0 +data_ov00_020ed1b0: + .space 0x4 + .global data_ov00_020ed1b4 +data_ov00_020ed1b4: + .space 0x4 + .global data_ov00_020ed1b8 +data_ov00_020ed1b8: + .space 0x4 + .global data_ov00_020ed1bc +data_ov00_020ed1bc: + .space 0x4 + .global data_ov00_020ed1c0 +data_ov00_020ed1c0: + .space 0x4 + .global data_ov00_020ed1c4 +data_ov00_020ed1c4: + .space 0x4 + .global data_ov00_020ed1c8 +data_ov00_020ed1c8: + .space 0x4 + .global data_ov00_020ed1cc +data_ov00_020ed1cc: + .space 0x4 + .global data_ov00_020ed1d0 +data_ov00_020ed1d0: + .space 0x4 + .global data_ov00_020ed1d4 +data_ov00_020ed1d4: + .space 0x4 + .global data_ov00_020ed1d8 +data_ov00_020ed1d8: + .space 0x4 + .global data_ov00_020ed1dc +data_ov00_020ed1dc: + .space 0x4 + .global data_ov00_020ed1e0 +data_ov00_020ed1e0: + .space 0x4 + .global data_ov00_020ed1e4 +data_ov00_020ed1e4: + .space 0x4 + .global data_ov00_020ed1e8 +data_ov00_020ed1e8: + .space 0x4 + .global data_ov00_020ed1ec +data_ov00_020ed1ec: + .space 0x4 + .global data_ov00_020ed1f0 +data_ov00_020ed1f0: + .space 0x4 + .global data_ov00_020ed1f4 +data_ov00_020ed1f4: + .space 0x4 + .global data_ov00_020ed1f8 +data_ov00_020ed1f8: + .space 0x4 + .global data_ov00_020ed1fc +data_ov00_020ed1fc: + .space 0x4 + .global data_ov00_020ed200 +data_ov00_020ed200: + .space 0x4 + .global data_ov00_020ed204 +data_ov00_020ed204: + .space 0x4 + .global data_ov00_020ed208 +data_ov00_020ed208: + .space 0x4 + .global data_ov00_020ed20c +data_ov00_020ed20c: + .space 0x4 + .global data_ov00_020ed210 +data_ov00_020ed210: + .space 0x4 + .global data_ov00_020ed214 +data_ov00_020ed214: + .space 0x4 + .global data_ov00_020ed218 +data_ov00_020ed218: + .space 0x4 + .global data_ov00_020ed21c +data_ov00_020ed21c: + .space 0x4 + .global data_ov00_020ed220 +data_ov00_020ed220: + .space 0x4 + .global data_ov00_020ed224 +data_ov00_020ed224: + .space 0x4 + .global data_ov00_020ed228 +data_ov00_020ed228: + .space 0x4 + .global data_ov00_020ed22c +data_ov00_020ed22c: + .space 0x4 + .global data_ov00_020ed230 +data_ov00_020ed230: + .space 0x4 + .global data_ov00_020ed234 +data_ov00_020ed234: + .space 0x4 + .global data_ov00_020ed238 +data_ov00_020ed238: + .space 0x4 + .global data_ov00_020ed23c +data_ov00_020ed23c: + .space 0x4 + .global data_ov00_020ed240 +data_ov00_020ed240: + .space 0x4 + .global data_ov00_020ed244 +data_ov00_020ed244: + .space 0x4 + .global data_ov00_020ed248 +data_ov00_020ed248: + .space 0x4 + .global data_ov00_020ed24c +data_ov00_020ed24c: + .space 0x4 + .global data_ov00_020ed250 +data_ov00_020ed250: + .space 0x4 + .global data_ov00_020ed254 +data_ov00_020ed254: + .space 0x4 + .global data_ov00_020ed258 +data_ov00_020ed258: + .space 0x4 + .global data_ov00_020ed25c +data_ov00_020ed25c: + .space 0x4 + .global data_ov00_020ed260 +data_ov00_020ed260: + .space 0x4 + .global data_ov00_020ed264 +data_ov00_020ed264: + .space 0x4 + .global data_ov00_020ed268 +data_ov00_020ed268: + .space 0x4 + .global data_ov00_020ed26c +data_ov00_020ed26c: + .space 0x4 + .global data_ov00_020ed270 +data_ov00_020ed270: + .space 0x4 + .global data_ov00_020ed274 +data_ov00_020ed274: + .space 0x4 + .global data_ov00_020ed278 +data_ov00_020ed278: + .space 0x4 + .global data_ov00_020ed27c +data_ov00_020ed27c: + .space 0x4 + .global data_ov00_020ed280 +data_ov00_020ed280: + .space 0x4 + .global data_ov00_020ed284 +data_ov00_020ed284: + .space 0x4 + .global data_ov00_020ed288 +data_ov00_020ed288: + .space 0x4 + .global data_ov00_020ed28c +data_ov00_020ed28c: + .space 0x4 + .global data_ov00_020ed290 +data_ov00_020ed290: + .space 0x4 + .global data_ov00_020ed294 +data_ov00_020ed294: + .space 0x4 + .global data_ov00_020ed298 +data_ov00_020ed298: + .space 0x4 + .global data_ov00_020ed29c +data_ov00_020ed29c: + .space 0x4 + .global data_ov00_020ed2a0 +data_ov00_020ed2a0: + .space 0x4 + .global data_ov00_020ed2a4 +data_ov00_020ed2a4: + .space 0x4 + .global data_ov00_020ed2a8 +data_ov00_020ed2a8: + .space 0x4 + .global data_ov00_020ed2ac +data_ov00_020ed2ac: + .space 0x4 + .global data_ov00_020ed2b0 +data_ov00_020ed2b0: + .space 0x4 + .global data_ov00_020ed2b4 +data_ov00_020ed2b4: + .space 0x4 + .global data_ov00_020ed2b8 +data_ov00_020ed2b8: + .space 0x4 + .global data_ov00_020ed2bc +data_ov00_020ed2bc: + .space 0x4 + .global data_ov00_020ed2c0 +data_ov00_020ed2c0: + .space 0x4 + .global data_ov00_020ed2c4 +data_ov00_020ed2c4: + .space 0x4 + .global data_ov00_020ed2c8 +data_ov00_020ed2c8: + .space 0x4 + .global data_ov00_020ed2cc +data_ov00_020ed2cc: + .space 0x4 + .global data_ov00_020ed2d0 +data_ov00_020ed2d0: + .space 0x4 + .global data_ov00_020ed2d4 +data_ov00_020ed2d4: + .space 0x4 + .global data_ov00_020ed2d8 +data_ov00_020ed2d8: + .space 0x4 + .global data_ov00_020ed2dc +data_ov00_020ed2dc: + .space 0x4 + .global data_ov00_020ed2e0 +data_ov00_020ed2e0: + .space 0x4 + .global data_ov00_020ed2e4 +data_ov00_020ed2e4: + .space 0x4 + .global data_ov00_020ed2e8 +data_ov00_020ed2e8: + .space 0x4 + .global data_ov00_020ed2ec +data_ov00_020ed2ec: + .space 0x4 + .global data_ov00_020ed2f0 +data_ov00_020ed2f0: + .space 0x4 + .global data_ov00_020ed2f4 +data_ov00_020ed2f4: + .space 0x4 + .global data_ov00_020ed2f8 +data_ov00_020ed2f8: + .space 0x4 + .global data_ov00_020ed2fc +data_ov00_020ed2fc: + .space 0x4 + .global data_ov00_020ed300 +data_ov00_020ed300: + .space 0x4 + .global data_ov00_020ed304 +data_ov00_020ed304: + .space 0x4 + .global data_ov00_020ed308 +data_ov00_020ed308: + .space 0x4 + .global data_ov00_020ed30c +data_ov00_020ed30c: + .space 0x4 + .global data_ov00_020ed310 +data_ov00_020ed310: + .space 0x4 + .global data_ov00_020ed314 +data_ov00_020ed314: + .space 0x4 + .global data_ov00_020ed318 +data_ov00_020ed318: + .space 0x4 + .global data_ov00_020ed31c +data_ov00_020ed31c: + .space 0x4 + .global data_ov00_020ed320 +data_ov00_020ed320: + .space 0x4 + .global data_ov00_020ed324 +data_ov00_020ed324: + .space 0x4 + .global data_ov00_020ed328 +data_ov00_020ed328: + .space 0x4 + .global data_ov00_020ed32c +data_ov00_020ed32c: + .space 0x4 + .global data_ov00_020ed330 +data_ov00_020ed330: + .space 0x4 + .global data_ov00_020ed334 +data_ov00_020ed334: + .space 0x4 + .global data_ov00_020ed338 +data_ov00_020ed338: + .space 0x4 + .global data_ov00_020ed33c +data_ov00_020ed33c: + .space 0x4 + .global data_ov00_020ed340 +data_ov00_020ed340: + .space 0x4 + .global data_ov00_020ed344 +data_ov00_020ed344: + .space 0x4 + .global data_ov00_020ed348 +data_ov00_020ed348: + .space 0x4 + .global data_ov00_020ed34c +data_ov00_020ed34c: + .space 0x4 + .global data_ov00_020ed350 +data_ov00_020ed350: + .space 0x4 + .global data_ov00_020ed354 +data_ov00_020ed354: + .space 0x4 + .global data_ov00_020ed358 +data_ov00_020ed358: + .space 0x4 + .global data_ov00_020ed35c +data_ov00_020ed35c: + .space 0x4 + .global data_ov00_020ed360 +data_ov00_020ed360: + .space 0x4 + .global data_ov00_020ed364 +data_ov00_020ed364: + .space 0x4 + .global data_ov00_020ed368 +data_ov00_020ed368: + .space 0x4 + .global data_ov00_020ed36c +data_ov00_020ed36c: + .space 0x4 + .global data_ov00_020ed370 +data_ov00_020ed370: + .space 0x4 + .global data_ov00_020ed374 +data_ov00_020ed374: + .space 0x4 + .global data_ov00_020ed378 +data_ov00_020ed378: + .space 0x4 + .global data_ov00_020ed37c +data_ov00_020ed37c: + .space 0x4 + .global data_ov00_020ed380 +data_ov00_020ed380: + .space 0x4 + .global data_ov00_020ed384 +data_ov00_020ed384: + .space 0x4 + .global data_ov00_020ed388 +data_ov00_020ed388: + .space 0x4 + .global data_ov00_020ed38c +data_ov00_020ed38c: + .space 0x4 + .global data_ov00_020ed390 +data_ov00_020ed390: + .space 0x4 + .global data_ov00_020ed394 +data_ov00_020ed394: + .space 0x4 + .global data_ov00_020ed398 +data_ov00_020ed398: + .space 0x4 + .global data_ov00_020ed39c +data_ov00_020ed39c: + .space 0x4 + .global data_ov00_020ed3a0 +data_ov00_020ed3a0: + .space 0x4 + .global data_ov00_020ed3a4 +data_ov00_020ed3a4: + .space 0x4 + .global data_ov00_020ed3a8 +data_ov00_020ed3a8: + .space 0x4 + .global data_ov00_020ed3ac +data_ov00_020ed3ac: + .space 0x4 + .global data_ov00_020ed3b0 +data_ov00_020ed3b0: + .space 0x4 + .global data_ov00_020ed3b4 +data_ov00_020ed3b4: + .space 0x4 + .global data_ov00_020ed3b8 +data_ov00_020ed3b8: + .space 0x4 + .global data_ov00_020ed3bc +data_ov00_020ed3bc: + .space 0x4 + .global data_ov00_020ed3c0 +data_ov00_020ed3c0: + .space 0x4 + .global data_ov00_020ed3c4 +data_ov00_020ed3c4: + .space 0x4 + .global data_ov00_020ed3c8 +data_ov00_020ed3c8: + .space 0x4 + .global data_ov00_020ed3cc +data_ov00_020ed3cc: + .space 0x4 + .global data_ov00_020ed3d0 +data_ov00_020ed3d0: + .space 0x4 + .global data_ov00_020ed3d4 +data_ov00_020ed3d4: + .space 0x4 + .global data_ov00_020ed3d8 +data_ov00_020ed3d8: + .space 0x4 + .global data_ov00_020ed3dc +data_ov00_020ed3dc: + .space 0x4 + .global data_ov00_020ed3e0 +data_ov00_020ed3e0: + .space 0x4 + .global data_ov00_020ed3e4 +data_ov00_020ed3e4: + .space 0x4 + .global data_ov00_020ed3e8 +data_ov00_020ed3e8: + .space 0x4 + .global data_ov00_020ed3ec +data_ov00_020ed3ec: + .space 0x4 + .global data_ov00_020ed3f0 +data_ov00_020ed3f0: + .space 0x4 + .global data_ov00_020ed3f4 +data_ov00_020ed3f4: + .space 0x4 + .global data_ov00_020ed3f8 +data_ov00_020ed3f8: + .space 0x4 + .global data_ov00_020ed3fc +data_ov00_020ed3fc: + .space 0x4 + .global data_ov00_020ed400 +data_ov00_020ed400: + .space 0x4 + .global data_ov00_020ed404 +data_ov00_020ed404: + .space 0x4 + .global data_ov00_020ed408 +data_ov00_020ed408: + .space 0x4 + .global data_ov00_020ed40c +data_ov00_020ed40c: + .space 0x4 + .global data_ov00_020ed410 +data_ov00_020ed410: + .space 0x4 + .global data_ov00_020ed414 +data_ov00_020ed414: + .space 0x4 + .global data_ov00_020ed418 +data_ov00_020ed418: + .space 0x4 + .global data_ov00_020ed41c +data_ov00_020ed41c: + .space 0x4 + .global data_ov00_020ed420 +data_ov00_020ed420: + .space 0x4 + .global data_ov00_020ed424 +data_ov00_020ed424: + .space 0x4 + .global data_ov00_020ed428 +data_ov00_020ed428: + .space 0x4 + .global data_ov00_020ed42c +data_ov00_020ed42c: + .space 0x4 + .global data_ov00_020ed430 +data_ov00_020ed430: + .space 0x4 + .global data_ov00_020ed434 +data_ov00_020ed434: + .space 0x4 + .global data_ov00_020ed438 +data_ov00_020ed438: + .space 0x4 + .global data_ov00_020ed43c +data_ov00_020ed43c: + .space 0x4 + .global data_ov00_020ed440 +data_ov00_020ed440: + .space 0x4 + .global data_ov00_020ed444 +data_ov00_020ed444: + .space 0x4 + .global data_ov00_020ed448 +data_ov00_020ed448: + .space 0x4 + .global data_ov00_020ed44c +data_ov00_020ed44c: + .space 0x4 + .global data_ov00_020ed450 +data_ov00_020ed450: + .space 0x4 + .global data_ov00_020ed454 +data_ov00_020ed454: + .space 0x4 + .global data_ov00_020ed458 +data_ov00_020ed458: + .space 0x4 + .global data_ov00_020ed45c +data_ov00_020ed45c: + .space 0x4 + .global data_ov00_020ed460 +data_ov00_020ed460: + .space 0x4 + .global data_ov00_020ed464 +data_ov00_020ed464: + .space 0x4 + .global data_ov00_020ed468 +data_ov00_020ed468: + .space 0x4 + .global data_ov00_020ed46c +data_ov00_020ed46c: + .space 0x4 + .global data_ov00_020ed470 +data_ov00_020ed470: + .space 0x4 + .global data_ov00_020ed474 +data_ov00_020ed474: + .space 0x4 + .global data_ov00_020ed478 +data_ov00_020ed478: + .space 0x4 + .global data_ov00_020ed47c +data_ov00_020ed47c: + .space 0x4 + .global data_ov00_020ed480 +data_ov00_020ed480: + .space 0x4 + .global data_ov00_020ed484 +data_ov00_020ed484: + .space 0x4 + .global data_ov00_020ed488 +data_ov00_020ed488: + .space 0x4 + .global data_ov00_020ed48c +data_ov00_020ed48c: + .space 0x4 + .global data_ov00_020ed490 +data_ov00_020ed490: + .space 0x4 + .global data_ov00_020ed494 +data_ov00_020ed494: + .space 0x4 + .global data_ov00_020ed498 +data_ov00_020ed498: + .space 0x4 + .global data_ov00_020ed49c +data_ov00_020ed49c: + .space 0x4 + .global data_ov00_020ed4a0 +data_ov00_020ed4a0: + .space 0x4 + .global data_ov00_020ed4a4 +data_ov00_020ed4a4: + .space 0x4 + .global data_ov00_020ed4a8 +data_ov00_020ed4a8: + .space 0x4 + .global data_ov00_020ed4ac +data_ov00_020ed4ac: + .space 0x4 + .global data_ov00_020ed4b0 +data_ov00_020ed4b0: + .space 0x4 + .global data_ov00_020ed4b4 +data_ov00_020ed4b4: + .space 0x4 + .global data_ov00_020ed4b8 +data_ov00_020ed4b8: + .space 0x4 + .global data_ov00_020ed4bc +data_ov00_020ed4bc: + .space 0x4 + .global data_ov00_020ed4c0 +data_ov00_020ed4c0: + .space 0x4 + .global data_ov00_020ed4c4 +data_ov00_020ed4c4: + .space 0x4 + .global data_ov00_020ed4c8 +data_ov00_020ed4c8: + .space 0x4 + .global data_ov00_020ed4cc +data_ov00_020ed4cc: + .space 0x4 + .global data_ov00_020ed4d0 +data_ov00_020ed4d0: + .space 0x4 + .global data_ov00_020ed4d4 +data_ov00_020ed4d4: + .space 0x4 + .global data_ov00_020ed4d8 +data_ov00_020ed4d8: + .space 0x4 + .global data_ov00_020ed4dc +data_ov00_020ed4dc: + .space 0x4 + .global data_ov00_020ed4e0 +data_ov00_020ed4e0: + .space 0x4 + .global data_ov00_020ed4e4 +data_ov00_020ed4e4: + .space 0x4 + .global data_ov00_020ed4e8 +data_ov00_020ed4e8: + .space 0x4 + .global data_ov00_020ed4ec +data_ov00_020ed4ec: + .space 0x4 + .global data_ov00_020ed4f0 +data_ov00_020ed4f0: + .space 0x4 + .global data_ov00_020ed4f4 +data_ov00_020ed4f4: + .space 0x4 + .global data_ov00_020ed4f8 +data_ov00_020ed4f8: + .space 0x4 + .global data_ov00_020ed4fc +data_ov00_020ed4fc: + .space 0x4 + .global data_ov00_020ed500 +data_ov00_020ed500: + .space 0x4 + .global data_ov00_020ed504 +data_ov00_020ed504: + .space 0x4 + .global data_ov00_020ed508 +data_ov00_020ed508: + .space 0x4 + .global data_ov00_020ed50c +data_ov00_020ed50c: + .space 0x4 + .global data_ov00_020ed510 +data_ov00_020ed510: + .space 0x4 + .global data_ov00_020ed514 +data_ov00_020ed514: + .space 0x4 + .global data_ov00_020ed518 +data_ov00_020ed518: + .space 0x4 + .global data_ov00_020ed51c +data_ov00_020ed51c: + .space 0x4 + .global data_ov00_020ed520 +data_ov00_020ed520: + .space 0x4 + .global data_ov00_020ed524 +data_ov00_020ed524: + .space 0x4 + .global data_ov00_020ed528 +data_ov00_020ed528: + .space 0x4 + .global data_ov00_020ed52c +data_ov00_020ed52c: + .space 0x4 + .global data_ov00_020ed530 +data_ov00_020ed530: + .space 0x4 + .global data_ov00_020ed534 +data_ov00_020ed534: + .space 0x4 + .global data_ov00_020ed538 +data_ov00_020ed538: + .space 0x4 + .global data_ov00_020ed53c +data_ov00_020ed53c: + .space 0x4 + .global data_ov00_020ed540 +data_ov00_020ed540: + .space 0x4 + .global data_ov00_020ed544 +data_ov00_020ed544: + .space 0x4 + .global data_ov00_020ed548 +data_ov00_020ed548: + .space 0x4 + .global data_ov00_020ed54c +data_ov00_020ed54c: + .space 0x4 + .global data_ov00_020ed550 +data_ov00_020ed550: + .space 0x4 + .global data_ov00_020ed554 +data_ov00_020ed554: + .space 0x4 + .global data_ov00_020ed558 +data_ov00_020ed558: + .space 0x4 + .global data_ov00_020ed55c +data_ov00_020ed55c: + .space 0x4 + .global data_ov00_020ed560 +data_ov00_020ed560: + .space 0x4 + .global data_ov00_020ed564 +data_ov00_020ed564: + .space 0x4 + .global data_ov00_020ed568 +data_ov00_020ed568: + .space 0x4 + .global data_ov00_020ed56c +data_ov00_020ed56c: + .space 0x4 + .global data_ov00_020ed570 +data_ov00_020ed570: + .space 0x4 + .global data_ov00_020ed574 +data_ov00_020ed574: + .space 0x4 + .global data_ov00_020ed578 +data_ov00_020ed578: + .space 0x4 + .global data_ov00_020ed57c +data_ov00_020ed57c: + .space 0x4 + .global data_ov00_020ed580 +data_ov00_020ed580: + .space 0x4 + .global data_ov00_020ed584 +data_ov00_020ed584: + .space 0x4 + .global data_ov00_020ed588 +data_ov00_020ed588: + .space 0x4 + .global data_ov00_020ed58c +data_ov00_020ed58c: + .space 0x4 + .global data_ov00_020ed590 +data_ov00_020ed590: + .space 0x4 + .global data_ov00_020ed594 +data_ov00_020ed594: + .space 0x4 + .global data_ov00_020ed598 +data_ov00_020ed598: + .space 0x4 + .global data_ov00_020ed59c +data_ov00_020ed59c: + .space 0x4 + .global data_ov00_020ed5a0 +data_ov00_020ed5a0: + .space 0x4 + .global data_ov00_020ed5a4 +data_ov00_020ed5a4: + .space 0x4 + .global data_ov00_020ed5a8 +data_ov00_020ed5a8: + .space 0x4 + .global data_ov00_020ed5ac +data_ov00_020ed5ac: + .space 0x4 + .global data_ov00_020ed5b0 +data_ov00_020ed5b0: + .space 0x4 + .global data_ov00_020ed5b4 +data_ov00_020ed5b4: + .space 0x4 + .global data_ov00_020ed5b8 +data_ov00_020ed5b8: + .space 0x4 + .global data_ov00_020ed5bc +data_ov00_020ed5bc: + .space 0x4 + .global data_ov00_020ed5c0 +data_ov00_020ed5c0: + .space 0x4 + .global data_ov00_020ed5c4 +data_ov00_020ed5c4: + .space 0x4 + .global data_ov00_020ed5c8 +data_ov00_020ed5c8: + .space 0x4 + .global data_ov00_020ed5cc +data_ov00_020ed5cc: + .space 0x4 + .global data_ov00_020ed5d0 +data_ov00_020ed5d0: + .space 0x4 + .global data_ov00_020ed5d4 +data_ov00_020ed5d4: + .space 0x4 + .global data_ov00_020ed5d8 +data_ov00_020ed5d8: + .space 0x4 + .global data_ov00_020ed5dc +data_ov00_020ed5dc: + .space 0x4 + .global data_ov00_020ed5e0 +data_ov00_020ed5e0: + .space 0x4 + .global data_ov00_020ed5e4 +data_ov00_020ed5e4: + .space 0x4 + .global data_ov00_020ed5e8 +data_ov00_020ed5e8: + .space 0x4 + .global data_ov00_020ed5ec +data_ov00_020ed5ec: + .space 0x4 + .global data_ov00_020ed5f0 +data_ov00_020ed5f0: + .space 0x4 + .global data_ov00_020ed5f4 +data_ov00_020ed5f4: + .space 0x4 + .global data_ov00_020ed5f8 +data_ov00_020ed5f8: + .space 0x4 + .global data_ov00_020ed5fc +data_ov00_020ed5fc: + .space 0x4 + .global data_ov00_020ed600 +data_ov00_020ed600: + .space 0x4 + .global data_ov00_020ed604 +data_ov00_020ed604: + .space 0x4 + .global data_ov00_020ed608 +data_ov00_020ed608: + .space 0x4 + .global data_ov00_020ed60c +data_ov00_020ed60c: + .space 0x4 + .global data_ov00_020ed610 +data_ov00_020ed610: + .space 0x4 + .global data_ov00_020ed614 +data_ov00_020ed614: + .space 0x4 + .global data_ov00_020ed618 +data_ov00_020ed618: + .space 0x4 + .global data_ov00_020ed61c +data_ov00_020ed61c: + .space 0x4 + .global data_ov00_020ed620 +data_ov00_020ed620: + .space 0x4 + .global data_ov00_020ed624 +data_ov00_020ed624: + .space 0x4 + .global data_ov00_020ed628 +data_ov00_020ed628: + .space 0x4 + .global data_ov00_020ed62c +data_ov00_020ed62c: + .space 0x4 + .global data_ov00_020ed630 +data_ov00_020ed630: + .space 0x4 + .global data_ov00_020ed634 +data_ov00_020ed634: + .space 0x4 + .global data_ov00_020ed638 +data_ov00_020ed638: + .space 0x4 + .global data_ov00_020ed63c +data_ov00_020ed63c: + .space 0x4 + .global data_ov00_020ed640 +data_ov00_020ed640: + .space 0x4 + .global data_ov00_020ed644 +data_ov00_020ed644: + .space 0x4 + .global data_ov00_020ed648 +data_ov00_020ed648: + .space 0x4 + .global data_ov00_020ed64c +data_ov00_020ed64c: + .space 0x4 + .global data_ov00_020ed650 +data_ov00_020ed650: + .space 0x4 + .global data_ov00_020ed654 +data_ov00_020ed654: + .space 0x4 + .global data_ov00_020ed658 +data_ov00_020ed658: + .space 0x4 + .global data_ov00_020ed65c +data_ov00_020ed65c: + .space 0x4 + .global data_ov00_020ed660 +data_ov00_020ed660: + .space 0x4 + .global data_ov00_020ed664 +data_ov00_020ed664: + .space 0x4 + .global data_ov00_020ed668 +data_ov00_020ed668: + .space 0x4 + .global data_ov00_020ed66c +data_ov00_020ed66c: + .space 0x4 + .global data_ov00_020ed670 +data_ov00_020ed670: + .space 0x4 + .global data_ov00_020ed674 +data_ov00_020ed674: + .space 0x4 + .global data_ov00_020ed678 +data_ov00_020ed678: + .space 0x4 + .global data_ov00_020ed67c +data_ov00_020ed67c: + .space 0x4 + .global data_ov00_020ed680 +data_ov00_020ed680: + .space 0x4 + .global data_ov00_020ed684 +data_ov00_020ed684: + .space 0x4 + .global data_ov00_020ed688 +data_ov00_020ed688: + .space 0x4 + .global data_ov00_020ed68c +data_ov00_020ed68c: + .space 0x4 + .global data_ov00_020ed690 +data_ov00_020ed690: + .space 0x4 + .global data_ov00_020ed694 +data_ov00_020ed694: + .space 0x4 + .global data_ov00_020ed698 +data_ov00_020ed698: + .space 0x4 + .global data_ov00_020ed69c +data_ov00_020ed69c: + .space 0x4 + .global data_ov00_020ed6a0 +data_ov00_020ed6a0: + .space 0x4 + .global data_ov00_020ed6a4 +data_ov00_020ed6a4: + .space 0x4 + .global data_ov00_020ed6a8 +data_ov00_020ed6a8: + .space 0x4 + .global data_ov00_020ed6ac +data_ov00_020ed6ac: + .space 0x4 + .global data_ov00_020ed6b0 +data_ov00_020ed6b0: + .space 0x4 + .global data_ov00_020ed6b4 +data_ov00_020ed6b4: + .space 0x4 + .global data_ov00_020ed6b8 +data_ov00_020ed6b8: + .space 0x4 + .global data_ov00_020ed6bc +data_ov00_020ed6bc: + .space 0x4 + .global data_ov00_020ed6c0 +data_ov00_020ed6c0: + .space 0x4 + .global data_ov00_020ed6c4 +data_ov00_020ed6c4: + .space 0x4 + .global data_ov00_020ed6c8 +data_ov00_020ed6c8: + .space 0x4 + .global data_ov00_020ed6cc +data_ov00_020ed6cc: + .space 0x4 + .global data_ov00_020ed6d0 +data_ov00_020ed6d0: + .space 0x4 + .global data_ov00_020ed6d4 +data_ov00_020ed6d4: + .space 0x4 + .global data_ov00_020ed6d8 +data_ov00_020ed6d8: + .space 0x4 + .global data_ov00_020ed6dc +data_ov00_020ed6dc: + .space 0x4 + .global data_ov00_020ed6e0 +data_ov00_020ed6e0: + .space 0x4 + .global data_ov00_020ed6e4 +data_ov00_020ed6e4: + .space 0x4 + .global data_ov00_020ed6e8 +data_ov00_020ed6e8: + .space 0x4 + .global data_ov00_020ed6ec +data_ov00_020ed6ec: + .space 0x4 + .global data_ov00_020ed6f0 +data_ov00_020ed6f0: + .space 0x4 + .global data_ov00_020ed6f4 +data_ov00_020ed6f4: + .space 0x4 + .global data_ov00_020ed6f8 +data_ov00_020ed6f8: + .space 0x4 + .global data_ov00_020ed6fc +data_ov00_020ed6fc: + .space 0x4 + .global data_ov00_020ed700 +data_ov00_020ed700: + .space 0x4 + .global data_ov00_020ed704 +data_ov00_020ed704: + .space 0x4 + .global data_ov00_020ed708 +data_ov00_020ed708: + .space 0x4 + .global data_ov00_020ed70c +data_ov00_020ed70c: + .space 0x4 + .global data_ov00_020ed710 +data_ov00_020ed710: + .space 0x4 + .global data_ov00_020ed714 +data_ov00_020ed714: + .space 0x4 + .global data_ov00_020ed718 +data_ov00_020ed718: + .space 0x4 + .global data_ov00_020ed71c +data_ov00_020ed71c: + .space 0x4 + .global data_ov00_020ed720 +data_ov00_020ed720: + .space 0x4 + .global data_ov00_020ed724 +data_ov00_020ed724: + .space 0x4 + .global data_ov00_020ed728 +data_ov00_020ed728: + .space 0x4 + .global data_ov00_020ed72c +data_ov00_020ed72c: + .space 0x4 + .global data_ov00_020ed730 +data_ov00_020ed730: + .space 0x4 + .global data_ov00_020ed734 +data_ov00_020ed734: + .space 0x4 + .global data_ov00_020ed738 +data_ov00_020ed738: + .space 0x4 + .global data_ov00_020ed73c +data_ov00_020ed73c: + .space 0x4 + .global data_ov00_020ed740 +data_ov00_020ed740: + .space 0x4 + .global data_ov00_020ed744 +data_ov00_020ed744: + .space 0x4 + .global data_ov00_020ed748 +data_ov00_020ed748: + .space 0x4 + .global data_ov00_020ed74c +data_ov00_020ed74c: + .space 0x4 + .global data_ov00_020ed750 +data_ov00_020ed750: + .space 0x4 + .global data_ov00_020ed754 +data_ov00_020ed754: + .space 0x4 + .global data_ov00_020ed758 +data_ov00_020ed758: + .space 0x4 + .global data_ov00_020ed75c +data_ov00_020ed75c: + .space 0x4 + .global data_ov00_020ed760 +data_ov00_020ed760: + .space 0x4 + .global data_ov00_020ed764 +data_ov00_020ed764: + .space 0x4 + .global data_ov00_020ed768 +data_ov00_020ed768: + .space 0x4 + .global data_ov00_020ed76c +data_ov00_020ed76c: + .space 0x4 + .global data_ov00_020ed770 +data_ov00_020ed770: + .space 0x4 + .global data_ov00_020ed774 +data_ov00_020ed774: + .space 0x4 + .global data_ov00_020ed778 +data_ov00_020ed778: + .space 0x4 + .global data_ov00_020ed77c +data_ov00_020ed77c: + .space 0x4 + .global data_ov00_020ed780 +data_ov00_020ed780: + .space 0x4 + .global data_ov00_020ed784 +data_ov00_020ed784: + .space 0x4 + .global data_ov00_020ed788 +data_ov00_020ed788: + .space 0x4 + .global data_ov00_020ed78c +data_ov00_020ed78c: + .space 0x4 + .global data_ov00_020ed790 +data_ov00_020ed790: + .space 0x4 + .global data_ov00_020ed794 +data_ov00_020ed794: + .space 0x4 + .global data_ov00_020ed798 +data_ov00_020ed798: + .space 0x4 + .global data_ov00_020ed79c +data_ov00_020ed79c: + .space 0x4 + .global data_ov00_020ed7a0 +data_ov00_020ed7a0: + .space 0x4 + .global data_ov00_020ed7a4 +data_ov00_020ed7a4: + .space 0x4 + .global data_ov00_020ed7a8 +data_ov00_020ed7a8: + .space 0x4 + .global data_ov00_020ed7ac +data_ov00_020ed7ac: + .space 0x4 + .global data_ov00_020ed7b0 +data_ov00_020ed7b0: + .space 0x4 + .global data_ov00_020ed7b4 +data_ov00_020ed7b4: + .space 0x4 + .global data_ov00_020ed7b8 +data_ov00_020ed7b8: + .space 0x4 + .global data_ov00_020ed7bc +data_ov00_020ed7bc: + .space 0x4 + .global data_ov00_020ed7c0 +data_ov00_020ed7c0: + .space 0x4 + .global data_ov00_020ed7c4 +data_ov00_020ed7c4: + .space 0x4 + .global data_ov00_020ed7c8 +data_ov00_020ed7c8: + .space 0x4 + .global data_ov00_020ed7cc +data_ov00_020ed7cc: + .space 0x4 + .global data_ov00_020ed7d0 +data_ov00_020ed7d0: + .space 0x4 + .global data_ov00_020ed7d4 +data_ov00_020ed7d4: + .space 0x4 + .global data_ov00_020ed7d8 +data_ov00_020ed7d8: + .space 0x4 + .global data_ov00_020ed7dc +data_ov00_020ed7dc: + .space 0x4 + .global data_ov00_020ed7e0 +data_ov00_020ed7e0: + .space 0x4 + .global data_ov00_020ed7e4 +data_ov00_020ed7e4: + .space 0x4 + .global data_ov00_020ed7e8 +data_ov00_020ed7e8: + .space 0x4 + .global data_ov00_020ed7ec +data_ov00_020ed7ec: + .space 0x4 + .global data_ov00_020ed7f0 +data_ov00_020ed7f0: + .space 0x4 + .global data_ov00_020ed7f4 +data_ov00_020ed7f4: + .space 0x4 + .global data_ov00_020ed7f8 +data_ov00_020ed7f8: + .space 0x4 + .global data_ov00_020ed7fc +data_ov00_020ed7fc: + .space 0x4 + .global data_ov00_020ed800 +data_ov00_020ed800: + .space 0x4 + .global data_ov00_020ed804 +data_ov00_020ed804: + .space 0x4 + .global data_ov00_020ed808 +data_ov00_020ed808: + .space 0x4 + .global data_ov00_020ed80c +data_ov00_020ed80c: + .space 0x4 + .global data_ov00_020ed810 +data_ov00_020ed810: + .space 0x4 + .global data_ov00_020ed814 +data_ov00_020ed814: + .space 0x4 + .global data_ov00_020ed818 +data_ov00_020ed818: + .space 0x4 + .global data_ov00_020ed81c +data_ov00_020ed81c: + .space 0x4 + .global data_ov00_020ed820 +data_ov00_020ed820: + .space 0x4 + .global data_ov00_020ed824 +data_ov00_020ed824: + .space 0x4 + .global data_ov00_020ed828 +data_ov00_020ed828: + .space 0x4 + .global data_ov00_020ed82c +data_ov00_020ed82c: + .space 0x4 + .global data_ov00_020ed830 +data_ov00_020ed830: + .space 0x4 + .global data_ov00_020ed834 +data_ov00_020ed834: + .space 0x4 + .global data_ov00_020ed838 +data_ov00_020ed838: + .space 0x4 + .global data_ov00_020ed83c +data_ov00_020ed83c: + .space 0x4 + .global data_ov00_020ed840 +data_ov00_020ed840: + .space 0x4 + .global data_ov00_020ed844 +data_ov00_020ed844: + .space 0x4 + .global data_ov00_020ed848 +data_ov00_020ed848: + .space 0x4 + .global data_ov00_020ed84c +data_ov00_020ed84c: + .space 0x4 + .global data_ov00_020ed850 +data_ov00_020ed850: + .space 0x4 + .global data_ov00_020ed854 +data_ov00_020ed854: + .space 0x4 + .global data_ov00_020ed858 +data_ov00_020ed858: + .space 0x4 + .global data_ov00_020ed85c +data_ov00_020ed85c: + .space 0x4 + .global data_ov00_020ed860 +data_ov00_020ed860: + .space 0x4 + .global data_ov00_020ed864 +data_ov00_020ed864: + .space 0x4 + .global data_ov00_020ed868 +data_ov00_020ed868: + .space 0x4 + .global data_ov00_020ed86c +data_ov00_020ed86c: + .space 0x4 + .global data_ov00_020ed870 +data_ov00_020ed870: + .space 0x4 + .global data_ov00_020ed874 +data_ov00_020ed874: + .space 0x4 + .global data_ov00_020ed878 +data_ov00_020ed878: + .space 0x4 + .global data_ov00_020ed87c +data_ov00_020ed87c: + .space 0x4 + .global data_ov00_020ed880 +data_ov00_020ed880: + .space 0x4 + .global data_ov00_020ed884 +data_ov00_020ed884: + .space 0x4 + .global data_ov00_020ed888 +data_ov00_020ed888: + .space 0x4 + .global data_ov00_020ed88c +data_ov00_020ed88c: + .space 0x4 + .global data_ov00_020ed890 +data_ov00_020ed890: + .space 0x4 + .global data_ov00_020ed894 +data_ov00_020ed894: + .space 0x4 + .global data_ov00_020ed898 +data_ov00_020ed898: + .space 0x4 + .global data_ov00_020ed89c +data_ov00_020ed89c: + .space 0x4 + .global data_ov00_020ed8a0 +data_ov00_020ed8a0: + .space 0x4 + .global data_ov00_020ed8a4 +data_ov00_020ed8a4: + .space 0x4 + .global data_ov00_020ed8a8 +data_ov00_020ed8a8: + .space 0x4 + .global data_ov00_020ed8ac +data_ov00_020ed8ac: + .space 0x4 + .global data_ov00_020ed8b0 +data_ov00_020ed8b0: + .space 0x4 + .global data_ov00_020ed8b4 +data_ov00_020ed8b4: + .space 0x4 + .global data_ov00_020ed8b8 +data_ov00_020ed8b8: + .space 0x4 + .global data_ov00_020ed8bc +data_ov00_020ed8bc: + .space 0x4 + .global data_ov00_020ed8c0 +data_ov00_020ed8c0: + .space 0x4 + .global data_ov00_020ed8c4 +data_ov00_020ed8c4: + .space 0x4 + .global data_ov00_020ed8c8 +data_ov00_020ed8c8: + .space 0x4 + .global data_ov00_020ed8cc +data_ov00_020ed8cc: + .space 0x4 + .global data_ov00_020ed8d0 +data_ov00_020ed8d0: + .space 0x4 + .global data_ov00_020ed8d4 +data_ov00_020ed8d4: + .space 0x4 + .global data_ov00_020ed8d8 +data_ov00_020ed8d8: + .space 0x4 + .global data_ov00_020ed8dc +data_ov00_020ed8dc: + .space 0x4 + .global data_ov00_020ed8e0 +data_ov00_020ed8e0: + .space 0x4 + .global data_ov00_020ed8e4 +data_ov00_020ed8e4: + .space 0x4 + .global data_ov00_020ed8e8 +data_ov00_020ed8e8: + .space 0x4 + .global data_ov00_020ed8ec +data_ov00_020ed8ec: + .space 0x4 + .global data_ov00_020ed8f0 +data_ov00_020ed8f0: + .space 0x4 + .global data_ov00_020ed8f4 +data_ov00_020ed8f4: + .space 0x4 + .global data_ov00_020ed8f8 +data_ov00_020ed8f8: + .space 0x4 + .global data_ov00_020ed8fc +data_ov00_020ed8fc: + .space 0x4 + .global data_ov00_020ed900 +data_ov00_020ed900: + .space 0x4 + .global data_ov00_020ed904 +data_ov00_020ed904: + .space 0x4 + .global data_ov00_020ed908 +data_ov00_020ed908: + .space 0x4 + .global data_ov00_020ed90c +data_ov00_020ed90c: + .space 0x4 + .global data_ov00_020ed910 +data_ov00_020ed910: + .space 0x4 + .global data_ov00_020ed914 +data_ov00_020ed914: + .space 0x4 + .global data_ov00_020ed918 +data_ov00_020ed918: + .space 0x4 + .global data_ov00_020ed91c +data_ov00_020ed91c: + .space 0x4 + .global data_ov00_020ed920 +data_ov00_020ed920: + .space 0x4 + .global data_ov00_020ed924 +data_ov00_020ed924: + .space 0x4 + .global data_ov00_020ed928 +data_ov00_020ed928: + .space 0x4 + .global data_ov00_020ed92c +data_ov00_020ed92c: + .space 0x4 + .global data_ov00_020ed930 +data_ov00_020ed930: + .space 0x4 + .global data_ov00_020ed934 +data_ov00_020ed934: + .space 0x4 + .global data_ov00_020ed938 +data_ov00_020ed938: + .space 0x4 + .global data_ov00_020ed93c +data_ov00_020ed93c: + .space 0x4 + .global data_ov00_020ed940 +data_ov00_020ed940: + .space 0x4 + .global data_ov00_020ed944 +data_ov00_020ed944: + .space 0x4 + .global data_ov00_020ed948 +data_ov00_020ed948: + .space 0x4 + .global data_ov00_020ed94c +data_ov00_020ed94c: + .space 0x4 + .global data_ov00_020ed950 +data_ov00_020ed950: + .space 0x4 + .global data_ov00_020ed954 +data_ov00_020ed954: + .space 0x4 + .global data_ov00_020ed958 +data_ov00_020ed958: + .space 0x4 + .global data_ov00_020ed95c +data_ov00_020ed95c: + .space 0x4 + .global data_ov00_020ed960 +data_ov00_020ed960: + .space 0x4 + .global data_ov00_020ed964 +data_ov00_020ed964: + .space 0x4 + .global data_ov00_020ed968 +data_ov00_020ed968: + .space 0x4 + .global data_ov00_020ed96c +data_ov00_020ed96c: + .space 0x4 + .global data_ov00_020ed970 +data_ov00_020ed970: + .space 0x4 + .global data_ov00_020ed974 +data_ov00_020ed974: + .space 0x4 + .global data_ov00_020ed978 +data_ov00_020ed978: + .space 0x4 + .global data_ov00_020ed97c +data_ov00_020ed97c: + .space 0x4 + .global data_ov00_020ed980 +data_ov00_020ed980: + .space 0x4 + .global data_ov00_020ed984 +data_ov00_020ed984: + .space 0x4 + .global data_ov00_020ed988 +data_ov00_020ed988: + .space 0x4 + .global data_ov00_020ed98c +data_ov00_020ed98c: + .space 0x4 + .global data_ov00_020ed990 +data_ov00_020ed990: + .space 0x4 + .global data_ov00_020ed994 +data_ov00_020ed994: + .space 0x4 + .global data_ov00_020ed998 +data_ov00_020ed998: + .space 0x4 + .global data_ov00_020ed99c +data_ov00_020ed99c: + .space 0x4 + .global data_ov00_020ed9a0 +data_ov00_020ed9a0: + .space 0x4 + .global data_ov00_020ed9a4 +data_ov00_020ed9a4: + .space 0x4 + .global data_ov00_020ed9a8 +data_ov00_020ed9a8: + .space 0x4 + .global data_ov00_020ed9ac +data_ov00_020ed9ac: + .space 0x4 + .global data_ov00_020ed9b0 +data_ov00_020ed9b0: + .space 0x4 + .global data_ov00_020ed9b4 +data_ov00_020ed9b4: + .space 0x4 + .global data_ov00_020ed9b8 +data_ov00_020ed9b8: + .space 0x4 + .global data_ov00_020ed9bc +data_ov00_020ed9bc: + .space 0x4 + .global data_ov00_020ed9c0 +data_ov00_020ed9c0: + .space 0x4 + .global data_ov00_020ed9c4 +data_ov00_020ed9c4: + .space 0x4 + .global data_ov00_020ed9c8 +data_ov00_020ed9c8: + .space 0x4 + .global data_ov00_020ed9cc +data_ov00_020ed9cc: + .space 0x4 + .global data_ov00_020ed9d0 +data_ov00_020ed9d0: + .space 0x4 + .global data_ov00_020ed9d4 +data_ov00_020ed9d4: + .space 0x4 + .global data_ov00_020ed9d8 +data_ov00_020ed9d8: + .space 0x4 + .global data_ov00_020ed9dc +data_ov00_020ed9dc: + .space 0x4 + .global data_ov00_020ed9e0 +data_ov00_020ed9e0: + .space 0x4 + .global data_ov00_020ed9e4 +data_ov00_020ed9e4: + .space 0x4 + .global data_ov00_020ed9e8 +data_ov00_020ed9e8: + .space 0x4 + .global data_ov00_020ed9ec +data_ov00_020ed9ec: + .space 0x4 + .global data_ov00_020ed9f0 +data_ov00_020ed9f0: + .space 0x4 + .global data_ov00_020ed9f4 +data_ov00_020ed9f4: + .space 0x4 + .global data_ov00_020ed9f8 +data_ov00_020ed9f8: + .space 0x4 + .global data_ov00_020ed9fc +data_ov00_020ed9fc: + .space 0x4 + .global data_ov00_020eda00 +data_ov00_020eda00: + .space 0x4 + .global data_ov00_020eda04 +data_ov00_020eda04: + .space 0x4 + .global data_ov00_020eda08 +data_ov00_020eda08: + .space 0x4 + .global data_ov00_020eda0c +data_ov00_020eda0c: + .space 0x4 + .global data_ov00_020eda10 +data_ov00_020eda10: + .space 0x4 + .global data_ov00_020eda14 +data_ov00_020eda14: + .space 0x4 + .global data_ov00_020eda18 +data_ov00_020eda18: + .space 0x4 + .global data_ov00_020eda1c +data_ov00_020eda1c: + .space 0x4 + .global data_ov00_020eda20 +data_ov00_020eda20: + .space 0x4 + .global data_ov00_020eda24 +data_ov00_020eda24: + .space 0x4 + .global data_ov00_020eda28 +data_ov00_020eda28: + .space 0x4 + .global data_ov00_020eda2c +data_ov00_020eda2c: + .space 0x4 + .global data_ov00_020eda30 +data_ov00_020eda30: + .space 0x4 + .global data_ov00_020eda34 +data_ov00_020eda34: + .space 0x4 + .global data_ov00_020eda38 +data_ov00_020eda38: + .space 0x4 + .global data_ov00_020eda3c +data_ov00_020eda3c: + .space 0x4 + .global data_ov00_020eda40 +data_ov00_020eda40: + .space 0x4 + .global data_ov00_020eda44 +data_ov00_020eda44: + .space 0x4 + .global data_ov00_020eda48 +data_ov00_020eda48: + .space 0x4 + .global data_ov00_020eda4c +data_ov00_020eda4c: + .space 0x4 + .global data_ov00_020eda50 +data_ov00_020eda50: + .space 0x4 + .global data_ov00_020eda54 +data_ov00_020eda54: + .space 0x4 + .global data_ov00_020eda58 +data_ov00_020eda58: + .space 0x4 + .global data_ov00_020eda5c +data_ov00_020eda5c: + .space 0x4 + .global data_ov00_020eda60 +data_ov00_020eda60: + .space 0x4 + .global data_ov00_020eda64 +data_ov00_020eda64: + .space 0x4 + .global data_ov00_020eda68 +data_ov00_020eda68: + .space 0x4 + .global data_ov00_020eda6c +data_ov00_020eda6c: + .space 0x4 + .global data_ov00_020eda70 +data_ov00_020eda70: + .space 0x4 + .global data_ov00_020eda74 +data_ov00_020eda74: + .space 0x4 + .global data_ov00_020eda78 +data_ov00_020eda78: + .space 0x4 + .global data_ov00_020eda7c +data_ov00_020eda7c: + .space 0x4 + .global data_ov00_020eda80 +data_ov00_020eda80: + .space 0x4 + .global data_ov00_020eda84 +data_ov00_020eda84: + .space 0x4 + .global data_ov00_020eda88 +data_ov00_020eda88: + .space 0x4 + .global data_ov00_020eda8c +data_ov00_020eda8c: + .space 0x4 + .global data_ov00_020eda90 +data_ov00_020eda90: + .space 0x4 + .global data_ov00_020eda94 +data_ov00_020eda94: + .space 0x4 + .global data_ov00_020eda98 +data_ov00_020eda98: + .space 0x4 + .global data_ov00_020eda9c +data_ov00_020eda9c: + .space 0x4 + .global data_ov00_020edaa0 +data_ov00_020edaa0: + .space 0x4 + .global data_ov00_020edaa4 +data_ov00_020edaa4: + .space 0x4 + .global data_ov00_020edaa8 +data_ov00_020edaa8: + .space 0x4 + .global data_ov00_020edaac +data_ov00_020edaac: + .space 0x4 + .global data_ov00_020edab0 +data_ov00_020edab0: + .space 0x4 + .global data_ov00_020edab4 +data_ov00_020edab4: + .space 0x4 + .global data_ov00_020edab8 +data_ov00_020edab8: + .space 0x4 + .global data_ov00_020edabc +data_ov00_020edabc: + .space 0x4 + .global data_ov00_020edac0 +data_ov00_020edac0: + .space 0x4 + .global data_ov00_020edac4 +data_ov00_020edac4: + .space 0x4 + .global data_ov00_020edac8 +data_ov00_020edac8: + .space 0x4 + .global data_ov00_020edacc +data_ov00_020edacc: + .space 0x4 + .global data_ov00_020edad0 +data_ov00_020edad0: + .space 0x4 + .global data_ov00_020edad4 +data_ov00_020edad4: + .space 0x4 + .global data_ov00_020edad8 +data_ov00_020edad8: + .space 0x4 + .global data_ov00_020edadc +data_ov00_020edadc: + .space 0x4 + .global data_ov00_020edae0 +data_ov00_020edae0: + .space 0x4 + .global data_ov00_020edae4 +data_ov00_020edae4: + .space 0x4 + .global data_ov00_020edae8 +data_ov00_020edae8: + .space 0x4 + .global data_ov00_020edaec +data_ov00_020edaec: + .space 0x4 + .global data_ov00_020edaf0 +data_ov00_020edaf0: + .space 0x4 + .global data_ov00_020edaf4 +data_ov00_020edaf4: + .space 0x4 + .global data_ov00_020edaf8 +data_ov00_020edaf8: + .space 0x4 + .global data_ov00_020edafc +data_ov00_020edafc: + .space 0x4 + .global data_ov00_020edb00 +data_ov00_020edb00: + .space 0x4 + .global data_ov00_020edb04 +data_ov00_020edb04: + .space 0x4 + .global data_ov00_020edb08 +data_ov00_020edb08: + .space 0x4 + .global data_ov00_020edb0c +data_ov00_020edb0c: + .space 0x4 + .global data_ov00_020edb10 +data_ov00_020edb10: + .space 0x4 + .global data_ov00_020edb14 +data_ov00_020edb14: + .space 0x4 + .global data_ov00_020edb18 +data_ov00_020edb18: + .space 0x4 + .global data_ov00_020edb1c +data_ov00_020edb1c: + .space 0x4 + .global data_ov00_020edb20 +data_ov00_020edb20: + .space 0x4 + .global data_ov00_020edb24 +data_ov00_020edb24: + .space 0x4 + .global data_ov00_020edb28 +data_ov00_020edb28: + .space 0x4 + .global data_ov00_020edb2c +data_ov00_020edb2c: + .space 0x4 + .global data_ov00_020edb30 +data_ov00_020edb30: + .space 0x4 + .global data_ov00_020edb34 +data_ov00_020edb34: + .space 0x4 + .global data_ov00_020edb38 +data_ov00_020edb38: + .space 0x4 + .global data_ov00_020edb3c +data_ov00_020edb3c: + .space 0x4 + .global data_ov00_020edb40 +data_ov00_020edb40: + .space 0x4 + .global data_ov00_020edb44 +data_ov00_020edb44: + .space 0x4 + .global data_ov00_020edb48 +data_ov00_020edb48: + .space 0x4 + .global data_ov00_020edb4c +data_ov00_020edb4c: + .space 0x4 + .global data_ov00_020edb50 +data_ov00_020edb50: + .space 0x4 + .global data_ov00_020edb54 +data_ov00_020edb54: + .space 0x4 + .global data_ov00_020edb58 +data_ov00_020edb58: + .space 0x4 + .global data_ov00_020edb5c +data_ov00_020edb5c: + .space 0x4 + .global data_ov00_020edb60 +data_ov00_020edb60: + .space 0x4 + .global data_ov00_020edb64 +data_ov00_020edb64: + .space 0x4 + .global data_ov00_020edb68 +data_ov00_020edb68: + .space 0x4 + .global data_ov00_020edb6c +data_ov00_020edb6c: + .space 0x4 + .global data_ov00_020edb70 +data_ov00_020edb70: + .space 0x4 + .global data_ov00_020edb74 +data_ov00_020edb74: + .space 0x4 + .global data_ov00_020edb78 +data_ov00_020edb78: + .space 0x4 + .global data_ov00_020edb7c +data_ov00_020edb7c: + .space 0x4 + .global data_ov00_020edb80 +data_ov00_020edb80: + .space 0x4 + .global data_ov00_020edb84 +data_ov00_020edb84: + .space 0x4 + .global data_ov00_020edb88 +data_ov00_020edb88: + .space 0x4 + .global data_ov00_020edb8c +data_ov00_020edb8c: + .space 0x4 + .global data_ov00_020edb90 +data_ov00_020edb90: + .space 0x4 + .global data_ov00_020edb94 +data_ov00_020edb94: + .space 0x4 + .global data_ov00_020edb98 +data_ov00_020edb98: + .space 0x4 + .global data_ov00_020edb9c +data_ov00_020edb9c: + .space 0x4 + .global data_ov00_020edba0 +data_ov00_020edba0: + .space 0x4 + .global data_ov00_020edba4 +data_ov00_020edba4: + .space 0x4 + .global data_ov00_020edba8 +data_ov00_020edba8: + .space 0x4 + .global data_ov00_020edbac +data_ov00_020edbac: + .space 0x4 + .global data_ov00_020edbb0 +data_ov00_020edbb0: + .space 0x4 + .global data_ov00_020edbb4 +data_ov00_020edbb4: + .space 0x4 + .global data_ov00_020edbb8 +data_ov00_020edbb8: + .space 0x4 + .global data_ov00_020edbbc +data_ov00_020edbbc: + .space 0x4 + .global data_ov00_020edbc0 +data_ov00_020edbc0: + .space 0x4 + .global data_ov00_020edbc4 +data_ov00_020edbc4: + .space 0x4 + .global data_ov00_020edbc8 +data_ov00_020edbc8: + .space 0x4 + .global data_ov00_020edbcc +data_ov00_020edbcc: + .space 0x4 + .global data_ov00_020edbd0 +data_ov00_020edbd0: + .space 0x4 + .global data_ov00_020edbd4 +data_ov00_020edbd4: + .space 0x4 + .global data_ov00_020edbd8 +data_ov00_020edbd8: + .space 0x4 + .global data_ov00_020edbdc +data_ov00_020edbdc: + .space 0x4 + .global data_ov00_020edbe0 +data_ov00_020edbe0: + .space 0x4 + .global data_ov00_020edbe4 +data_ov00_020edbe4: + .space 0x4 + .global data_ov00_020edbe8 +data_ov00_020edbe8: + .space 0x4 + .global data_ov00_020edbec +data_ov00_020edbec: + .space 0x4 + .global data_ov00_020edbf0 +data_ov00_020edbf0: + .space 0x4 + .global data_ov00_020edbf4 +data_ov00_020edbf4: + .space 0x4 + .global data_ov00_020edbf8 +data_ov00_020edbf8: + .space 0x4 + .global data_ov00_020edbfc +data_ov00_020edbfc: + .space 0x4 + .global data_ov00_020edc00 +data_ov00_020edc00: + .space 0x4 + .global data_ov00_020edc04 +data_ov00_020edc04: + .space 0x4 + .global data_ov00_020edc08 +data_ov00_020edc08: + .space 0x4 + .global data_ov00_020edc0c +data_ov00_020edc0c: + .space 0x4 + .global data_ov00_020edc10 +data_ov00_020edc10: + .space 0x4 + .global data_ov00_020edc14 +data_ov00_020edc14: + .space 0x4 + .global data_ov00_020edc18 +data_ov00_020edc18: + .space 0x4 + .global data_ov00_020edc1c +data_ov00_020edc1c: + .space 0x4 + .global data_ov00_020edc20 +data_ov00_020edc20: + .space 0x4 + .global data_ov00_020edc24 +data_ov00_020edc24: + .space 0x4 + .global data_ov00_020edc28 +data_ov00_020edc28: + .space 0x4 + .global data_ov00_020edc2c +data_ov00_020edc2c: + .space 0x4 + .global data_ov00_020edc30 +data_ov00_020edc30: + .space 0x4 + .global data_ov00_020edc34 +data_ov00_020edc34: + .space 0x4 + .global data_ov00_020edc38 +data_ov00_020edc38: + .space 0x4 + .global data_ov00_020edc3c +data_ov00_020edc3c: + .space 0x4 + .global data_ov00_020edc40 +data_ov00_020edc40: + .space 0x4 + .global data_ov00_020edc44 +data_ov00_020edc44: + .space 0x4 + .global data_ov00_020edc48 +data_ov00_020edc48: + .space 0x4 + .global data_ov00_020edc4c +data_ov00_020edc4c: + .space 0x4 + .global data_ov00_020edc50 +data_ov00_020edc50: + .space 0x4 + .global data_ov00_020edc54 +data_ov00_020edc54: + .space 0x4 + .global data_ov00_020edc58 +data_ov00_020edc58: + .space 0x4 + .global data_ov00_020edc5c +data_ov00_020edc5c: + .space 0x4 + .global data_ov00_020edc60 +data_ov00_020edc60: + .space 0x4 + .global data_ov00_020edc64 +data_ov00_020edc64: + .space 0x4 + .global data_ov00_020edc68 +data_ov00_020edc68: + .space 0x4 + .global data_ov00_020edc6c +data_ov00_020edc6c: + .space 0x4 + .global data_ov00_020edc70 +data_ov00_020edc70: + .space 0x4 + .global data_ov00_020edc74 +data_ov00_020edc74: + .space 0x4 + .global data_ov00_020edc78 +data_ov00_020edc78: + .space 0x4 + .global data_ov00_020edc7c +data_ov00_020edc7c: + .space 0x4 + .global data_ov00_020edc80 +data_ov00_020edc80: + .space 0x4 + .global data_ov00_020edc84 +data_ov00_020edc84: + .space 0x4 + .global data_ov00_020edc88 +data_ov00_020edc88: + .space 0x4 + .global data_ov00_020edc8c +data_ov00_020edc8c: + .space 0x4 + .global data_ov00_020edc90 +data_ov00_020edc90: + .space 0x4 + .global data_ov00_020edc94 +data_ov00_020edc94: + .space 0x4 + .global data_ov00_020edc98 +data_ov00_020edc98: + .space 0x4 + .global data_ov00_020edc9c +data_ov00_020edc9c: + .space 0x4 + .global data_ov00_020edca0 +data_ov00_020edca0: + .space 0x4 + .global data_ov00_020edca4 +data_ov00_020edca4: + .space 0x4 + .global data_ov00_020edca8 +data_ov00_020edca8: + .space 0x4 + .global data_ov00_020edcac +data_ov00_020edcac: + .space 0x4 + .global data_ov00_020edcb0 +data_ov00_020edcb0: + .space 0x4 + .global data_ov00_020edcb4 +data_ov00_020edcb4: + .space 0x4 + .global data_ov00_020edcb8 +data_ov00_020edcb8: + .space 0x4 + .global data_ov00_020edcbc +data_ov00_020edcbc: + .space 0x4 + .global data_ov00_020edcc0 +data_ov00_020edcc0: + .space 0x4 + .global data_ov00_020edcc4 +data_ov00_020edcc4: + .space 0x4 + .global data_ov00_020edcc8 +data_ov00_020edcc8: + .space 0x4 + .global data_ov00_020edccc +data_ov00_020edccc: + .space 0x4 + .global data_ov00_020edcd0 +data_ov00_020edcd0: + .space 0x4 + .global data_ov00_020edcd4 +data_ov00_020edcd4: + .space 0x4 + .global data_ov00_020edcd8 +data_ov00_020edcd8: + .space 0x4 + .global data_ov00_020edcdc +data_ov00_020edcdc: + .space 0x4 + .global data_ov00_020edce0 +data_ov00_020edce0: + .space 0x4 + .global data_ov00_020edce4 +data_ov00_020edce4: + .space 0x4 + .global data_ov00_020edce8 +data_ov00_020edce8: + .space 0x4 + .global data_ov00_020edcec +data_ov00_020edcec: + .space 0x4 + .global data_ov00_020edcf0 +data_ov00_020edcf0: + .space 0x4 + .global data_ov00_020edcf4 +data_ov00_020edcf4: + .space 0x4 + .global data_ov00_020edcf8 +data_ov00_020edcf8: + .space 0x4 + .global data_ov00_020edcfc +data_ov00_020edcfc: + .space 0x4 + .global data_ov00_020edd00 +data_ov00_020edd00: + .space 0x4 + .global data_ov00_020edd04 +data_ov00_020edd04: + .space 0x4 + .global data_ov00_020edd08 +data_ov00_020edd08: + .space 0x4 + .global data_ov00_020edd0c +data_ov00_020edd0c: + .space 0x4 + .global data_ov00_020edd10 +data_ov00_020edd10: + .space 0x4 + .global data_ov00_020edd14 +data_ov00_020edd14: + .space 0x4 + .global data_ov00_020edd18 +data_ov00_020edd18: + .space 0x4 + .global data_ov00_020edd1c +data_ov00_020edd1c: + .space 0x4 + .global data_ov00_020edd20 +data_ov00_020edd20: + .space 0x4 + .global data_ov00_020edd24 +data_ov00_020edd24: + .space 0x4 + .global data_ov00_020edd28 +data_ov00_020edd28: + .space 0x4 + .global data_ov00_020edd2c +data_ov00_020edd2c: + .space 0x4 + .global data_ov00_020edd30 +data_ov00_020edd30: + .space 0x4 + .global data_ov00_020edd34 +data_ov00_020edd34: + .space 0x4 + .global data_ov00_020edd38 +data_ov00_020edd38: + .space 0x4 + .global data_ov00_020edd3c +data_ov00_020edd3c: + .space 0x4 + .global data_ov00_020edd40 +data_ov00_020edd40: + .space 0x4 + .global data_ov00_020edd44 +data_ov00_020edd44: + .space 0x4 + .global data_ov00_020edd48 +data_ov00_020edd48: + .space 0x4 + .global data_ov00_020edd4c +data_ov00_020edd4c: + .space 0x4 + .global data_ov00_020edd50 +data_ov00_020edd50: + .space 0x4 + .global data_ov00_020edd54 +data_ov00_020edd54: + .space 0x4 + .global data_ov00_020edd58 +data_ov00_020edd58: + .space 0x4 + .global data_ov00_020edd5c +data_ov00_020edd5c: + .space 0x4 + .global data_ov00_020edd60 +data_ov00_020edd60: + .space 0x4 + .global data_ov00_020edd64 +data_ov00_020edd64: + .space 0x4 + .global data_ov00_020edd68 +data_ov00_020edd68: + .space 0x4 + .global data_ov00_020edd6c +data_ov00_020edd6c: + .space 0x4 + .global data_ov00_020edd70 +data_ov00_020edd70: + .space 0x4 + .global data_ov00_020edd74 +data_ov00_020edd74: + .space 0x4 + .global data_ov00_020edd78 +data_ov00_020edd78: + .space 0x4 + .global data_ov00_020edd7c +data_ov00_020edd7c: + .space 0x4 + .global data_ov00_020edd80 +data_ov00_020edd80: + .space 0x4 + .global data_ov00_020edd84 +data_ov00_020edd84: + .space 0x4 + .global data_ov00_020edd88 +data_ov00_020edd88: + .space 0x4 + .global data_ov00_020edd8c +data_ov00_020edd8c: + .space 0x4 + .global data_ov00_020edd90 +data_ov00_020edd90: + .space 0x4 + .global data_ov00_020edd94 +data_ov00_020edd94: + .space 0x4 + .global data_ov00_020edd98 +data_ov00_020edd98: + .space 0x4 + .global data_ov00_020edd9c +data_ov00_020edd9c: + .space 0x4 + .global data_ov00_020edda0 +data_ov00_020edda0: + .space 0x4 + .global data_ov00_020edda4 +data_ov00_020edda4: + .space 0x4 + .global data_ov00_020edda8 +data_ov00_020edda8: + .space 0x4 + .global data_ov00_020eddac +data_ov00_020eddac: + .space 0x4 + .global data_ov00_020eddb0 +data_ov00_020eddb0: + .space 0x4 + .global data_ov00_020eddb4 +data_ov00_020eddb4: + .space 0x4 + .global data_ov00_020eddb8 +data_ov00_020eddb8: + .space 0x4 + .global data_ov00_020eddbc +data_ov00_020eddbc: + .space 0x4 + .global data_ov00_020eddc0 +data_ov00_020eddc0: + .space 0x4 + .global data_ov00_020eddc4 +data_ov00_020eddc4: + .space 0x4 + .global data_ov00_020eddc8 +data_ov00_020eddc8: + .space 0x4 + .global data_ov00_020eddcc +data_ov00_020eddcc: + .space 0x4 + .global data_ov00_020eddd0 +data_ov00_020eddd0: + .space 0x4 + .global data_ov00_020eddd4 +data_ov00_020eddd4: + .space 0x4 + .global data_ov00_020eddd8 +data_ov00_020eddd8: + .space 0x4 + .global data_ov00_020edddc +data_ov00_020edddc: + .space 0x4 + .global data_ov00_020edde0 +data_ov00_020edde0: + .space 0x4 + .global data_ov00_020edde4 +data_ov00_020edde4: + .space 0x4 + .global data_ov00_020edde8 +data_ov00_020edde8: + .space 0x4 + .global data_ov00_020eddec +data_ov00_020eddec: + .space 0x4 + .global data_ov00_020eddf0 +data_ov00_020eddf0: + .space 0x4 + .global data_ov00_020eddf4 +data_ov00_020eddf4: + .space 0x4 + .global data_ov00_020eddf8 +data_ov00_020eddf8: + .space 0x4 + .global data_ov00_020eddfc +data_ov00_020eddfc: + .space 0x4 + .global data_ov00_020ede00 +data_ov00_020ede00: + .space 0x4 + .global data_ov00_020ede04 +data_ov00_020ede04: + .space 0x4 + .global data_ov00_020ede08 +data_ov00_020ede08: + .space 0x4 + .global data_ov00_020ede0c +data_ov00_020ede0c: + .space 0x4 + .global data_ov00_020ede10 +data_ov00_020ede10: + .space 0x4 + .global data_ov00_020ede14 +data_ov00_020ede14: + .space 0x4 + .global data_ov00_020ede18 +data_ov00_020ede18: + .space 0x4 + .global data_ov00_020ede1c +data_ov00_020ede1c: + .space 0x4 + .global data_ov00_020ede20 +data_ov00_020ede20: + .space 0x4 + .global data_ov00_020ede24 +data_ov00_020ede24: + .space 0x4 + .global data_ov00_020ede28 +data_ov00_020ede28: + .space 0x4 + .global data_ov00_020ede2c +data_ov00_020ede2c: + .space 0x4 + .global data_ov00_020ede30 +data_ov00_020ede30: + .space 0x4 + .global data_ov00_020ede34 +data_ov00_020ede34: + .space 0x4 + .global data_ov00_020ede38 +data_ov00_020ede38: + .space 0x4 + .global data_ov00_020ede3c +data_ov00_020ede3c: + .space 0x4 + .global data_ov00_020ede40 +data_ov00_020ede40: + .space 0x4 + .global data_ov00_020ede44 +data_ov00_020ede44: + .space 0x4 + .global data_ov00_020ede48 +data_ov00_020ede48: + .space 0x4 + .global data_ov00_020ede4c +data_ov00_020ede4c: + .space 0x4 + .global data_ov00_020ede50 +data_ov00_020ede50: + .space 0x4 + .global data_ov00_020ede54 +data_ov00_020ede54: + .space 0x4 + .global data_ov00_020ede58 +data_ov00_020ede58: + .space 0x4 + .global data_ov00_020ede5c +data_ov00_020ede5c: + .space 0x4 + .global data_ov00_020ede60 +data_ov00_020ede60: + .space 0x4 + .global data_ov00_020ede64 +data_ov00_020ede64: + .space 0x4 + .global data_ov00_020ede68 +data_ov00_020ede68: + .space 0x4 + .global data_ov00_020ede6c +data_ov00_020ede6c: + .space 0x4 + .global data_ov00_020ede70 +data_ov00_020ede70: + .space 0x4 + .global data_ov00_020ede74 +data_ov00_020ede74: + .space 0x4 + .global data_ov00_020ede78 +data_ov00_020ede78: + .space 0x4 + .global data_ov00_020ede7c +data_ov00_020ede7c: + .space 0x4 + .global data_ov00_020ede80 +data_ov00_020ede80: + .space 0x4 + .global data_ov00_020ede84 +data_ov00_020ede84: + .space 0x4 + .global data_ov00_020ede88 +data_ov00_020ede88: + .space 0x4 + .global data_ov00_020ede8c +data_ov00_020ede8c: + .space 0x4 + .global data_ov00_020ede90 +data_ov00_020ede90: + .space 0x4 + .global data_ov00_020ede94 +data_ov00_020ede94: + .space 0x4 + .global data_ov00_020ede98 +data_ov00_020ede98: + .space 0x4 + .global data_ov00_020ede9c +data_ov00_020ede9c: + .space 0x4 + .global data_ov00_020edea0 +data_ov00_020edea0: + .space 0x4 + .global data_ov00_020edea4 +data_ov00_020edea4: + .space 0x4 + .global data_ov00_020edea8 +data_ov00_020edea8: + .space 0x4 + .global data_ov00_020edeac +data_ov00_020edeac: + .space 0x4 + .global data_ov00_020edeb0 +data_ov00_020edeb0: + .space 0x4 + .global data_ov00_020edeb4 +data_ov00_020edeb4: + .space 0x4 + .global data_ov00_020edeb8 +data_ov00_020edeb8: + .space 0x4 + .global data_ov00_020edebc +data_ov00_020edebc: + .space 0x4 + .global data_ov00_020edec0 +data_ov00_020edec0: + .space 0x4 + .global data_ov00_020edec4 +data_ov00_020edec4: + .space 0x4 + .global data_ov00_020edec8 +data_ov00_020edec8: + .space 0x4 + .global data_ov00_020edecc +data_ov00_020edecc: + .space 0x4 + .global data_ov00_020eded0 +data_ov00_020eded0: + .space 0x4 + .global data_ov00_020eded4 +data_ov00_020eded4: + .space 0x4 + .global data_ov00_020eded8 +data_ov00_020eded8: + .space 0x4 + .global data_ov00_020ededc +data_ov00_020ededc: + .space 0x4 + .global data_ov00_020edee0 +data_ov00_020edee0: + .space 0x4 + .global data_ov00_020edee4 +data_ov00_020edee4: + .space 0x4 + .global data_ov00_020edee8 +data_ov00_020edee8: + .space 0x4 + .global data_ov00_020edeec +data_ov00_020edeec: + .space 0x4 + .global data_ov00_020edef0 +data_ov00_020edef0: + .space 0x4 + .global data_ov00_020edef4 +data_ov00_020edef4: + .space 0x4 + .global data_ov00_020edef8 +data_ov00_020edef8: + .space 0x4 + .global data_ov00_020edefc +data_ov00_020edefc: + .space 0x4 + .global data_ov00_020edf00 +data_ov00_020edf00: + .space 0x4 + .global data_ov00_020edf04 +data_ov00_020edf04: + .space 0x4 + .global data_ov00_020edf08 +data_ov00_020edf08: + .space 0x4 + .global data_ov00_020edf0c +data_ov00_020edf0c: + .space 0x4 + .global data_ov00_020edf10 +data_ov00_020edf10: + .space 0x4 + .global data_ov00_020edf14 +data_ov00_020edf14: + .space 0x4 + .global data_ov00_020edf18 +data_ov00_020edf18: + .space 0x4 + .global data_ov00_020edf1c +data_ov00_020edf1c: + .space 0x4 + .global data_ov00_020edf20 +data_ov00_020edf20: + .space 0x4 + .global data_ov00_020edf24 +data_ov00_020edf24: + .space 0x4 + .global data_ov00_020edf28 +data_ov00_020edf28: + .space 0x4 + .global data_ov00_020edf2c +data_ov00_020edf2c: + .space 0x4 + .global data_ov00_020edf30 +data_ov00_020edf30: + .space 0x4 + .global data_ov00_020edf34 +data_ov00_020edf34: + .space 0x4 + .global data_ov00_020edf38 +data_ov00_020edf38: + .space 0x4 + .global data_ov00_020edf3c +data_ov00_020edf3c: + .space 0x4 + .global data_ov00_020edf40 +data_ov00_020edf40: + .space 0x4 + .global data_ov00_020edf44 +data_ov00_020edf44: + .space 0x4 + .global data_ov00_020edf48 +data_ov00_020edf48: + .space 0x4 + .global data_ov00_020edf4c +data_ov00_020edf4c: + .space 0x4 + .global data_ov00_020edf50 +data_ov00_020edf50: + .space 0x4 + .global data_ov00_020edf54 +data_ov00_020edf54: + .space 0x4 + .global data_ov00_020edf58 +data_ov00_020edf58: + .space 0x4 + .global data_ov00_020edf5c +data_ov00_020edf5c: + .space 0x4 + .global data_ov00_020edf60 +data_ov00_020edf60: + .space 0x4 + .global data_ov00_020edf64 +data_ov00_020edf64: + .space 0x4 + .global data_ov00_020edf68 +data_ov00_020edf68: + .space 0x4 + .global data_ov00_020edf6c +data_ov00_020edf6c: + .space 0x4 + .global data_ov00_020edf70 +data_ov00_020edf70: + .space 0x4 + .global data_ov00_020edf74 +data_ov00_020edf74: + .space 0x4 + .global data_ov00_020edf78 +data_ov00_020edf78: + .space 0x4 + .global data_ov00_020edf7c +data_ov00_020edf7c: + .space 0x4 + .global data_ov00_020edf80 +data_ov00_020edf80: + .space 0x4 + .global data_ov00_020edf84 +data_ov00_020edf84: + .space 0x4 + .global data_ov00_020edf88 +data_ov00_020edf88: + .space 0x4 + .global data_ov00_020edf8c +data_ov00_020edf8c: + .space 0x4 + .global data_ov00_020edf90 +data_ov00_020edf90: + .space 0x4 + .global data_ov00_020edf94 +data_ov00_020edf94: + .space 0x4 + .global data_ov00_020edf98 +data_ov00_020edf98: + .space 0x4 + .global data_ov00_020edf9c +data_ov00_020edf9c: + .space 0x4 + .global data_ov00_020edfa0 +data_ov00_020edfa0: + .space 0x4 + .global data_ov00_020edfa4 +data_ov00_020edfa4: + .space 0x4 + .global data_ov00_020edfa8 +data_ov00_020edfa8: + .space 0x4 + .global data_ov00_020edfac +data_ov00_020edfac: + .space 0x4 + .global data_ov00_020edfb0 +data_ov00_020edfb0: + .space 0x4 + .global data_ov00_020edfb4 +data_ov00_020edfb4: + .space 0x4 + .global data_ov00_020edfb8 +data_ov00_020edfb8: + .space 0x4 + .global data_ov00_020edfbc +data_ov00_020edfbc: + .space 0x4 + .global data_ov00_020edfc0 +data_ov00_020edfc0: + .space 0x4 + .global data_ov00_020edfc4 +data_ov00_020edfc4: + .space 0x4 + .global data_ov00_020edfc8 +data_ov00_020edfc8: + .space 0x4 + .global data_ov00_020edfcc +data_ov00_020edfcc: + .space 0x4 + .global data_ov00_020edfd0 +data_ov00_020edfd0: + .space 0x4 + .global data_ov00_020edfd4 +data_ov00_020edfd4: + .space 0x4 + .global data_ov00_020edfd8 +data_ov00_020edfd8: + .space 0x4 + .global data_ov00_020edfdc +data_ov00_020edfdc: + .space 0x4 + .global data_ov00_020edfe0 +data_ov00_020edfe0: + .space 0x4 + .global data_ov00_020edfe4 +data_ov00_020edfe4: + .space 0x4 + .global data_ov00_020edfe8 +data_ov00_020edfe8: + .space 0x4 + .global data_ov00_020edfec +data_ov00_020edfec: + .space 0x4 + .global data_ov00_020edff0 +data_ov00_020edff0: + .space 0x4 + .global data_ov00_020edff4 +data_ov00_020edff4: + .space 0x4 + .global data_ov00_020edff8 +data_ov00_020edff8: + .space 0x4 + .global data_ov00_020edffc +data_ov00_020edffc: + .space 0x4 + .global data_ov00_020ee000 +data_ov00_020ee000: + .space 0x4 + .global data_ov00_020ee004 +data_ov00_020ee004: + .space 0x4 + .global data_ov00_020ee008 +data_ov00_020ee008: + .space 0x4 + .global data_ov00_020ee00c +data_ov00_020ee00c: + .space 0x4 + .global data_ov00_020ee010 +data_ov00_020ee010: + .space 0x4 + .global data_ov00_020ee014 +data_ov00_020ee014: + .space 0x4 + .global data_ov00_020ee018 +data_ov00_020ee018: + .space 0x4 + .global data_ov00_020ee01c +data_ov00_020ee01c: + .space 0x4 + .global data_ov00_020ee020 +data_ov00_020ee020: + .space 0x4 + .global data_ov00_020ee024 +data_ov00_020ee024: + .space 0x4 + .global data_ov00_020ee028 +data_ov00_020ee028: + .space 0x4 + .global data_ov00_020ee02c +data_ov00_020ee02c: + .space 0x4 + .global data_ov00_020ee030 +data_ov00_020ee030: + .space 0x4 + .global data_ov00_020ee034 +data_ov00_020ee034: + .space 0x4 + .global data_ov00_020ee038 +data_ov00_020ee038: + .space 0x4 + .global data_ov00_020ee03c +data_ov00_020ee03c: + .space 0x4 + .global data_ov00_020ee040 +data_ov00_020ee040: + .space 0x4 + .global data_ov00_020ee044 +data_ov00_020ee044: + .space 0x4 + .global data_ov00_020ee048 +data_ov00_020ee048: + .space 0x4 + .global data_ov00_020ee04c +data_ov00_020ee04c: + .space 0x4 + .global data_ov00_020ee050 +data_ov00_020ee050: + .space 0x4 + .global data_ov00_020ee054 +data_ov00_020ee054: + .space 0x4 + .global data_ov00_020ee058 +data_ov00_020ee058: + .space 0x4 + .global data_ov00_020ee05c +data_ov00_020ee05c: + .space 0x4 + .global data_ov00_020ee060 +data_ov00_020ee060: + .space 0x4 + .global data_ov00_020ee064 +data_ov00_020ee064: + .space 0x4 + .global data_ov00_020ee068 +data_ov00_020ee068: + .space 0x4 + .global data_ov00_020ee06c +data_ov00_020ee06c: + .space 0x4 + .global data_ov00_020ee070 +data_ov00_020ee070: + .space 0x4 + .global data_ov00_020ee074 +data_ov00_020ee074: + .space 0x4 + .global data_ov00_020ee078 +data_ov00_020ee078: + .space 0x4 + .global data_ov00_020ee07c +data_ov00_020ee07c: + .space 0x4 + .global data_ov00_020ee080 +data_ov00_020ee080: + .space 0x4 + .global data_ov00_020ee084 +data_ov00_020ee084: + .space 0x4 + .global data_ov00_020ee088 +data_ov00_020ee088: + .space 0x4 + .global data_ov00_020ee08c +data_ov00_020ee08c: + .space 0x4 + .global data_ov00_020ee090 +data_ov00_020ee090: + .space 0x4 + .global data_ov00_020ee094 +data_ov00_020ee094: + .space 0x4 + .global data_ov00_020ee098 +data_ov00_020ee098: + .space 0x4 + .global data_ov00_020ee09c +data_ov00_020ee09c: + .space 0x4 + .global data_ov00_020ee0a0 +data_ov00_020ee0a0: + .space 0x4 + .global data_ov00_020ee0a4 +data_ov00_020ee0a4: + .space 0x4 + .global data_ov00_020ee0a8 +data_ov00_020ee0a8: + .space 0x4 + .global data_ov00_020ee0ac +data_ov00_020ee0ac: + .space 0x4 + .global data_ov00_020ee0b0 +data_ov00_020ee0b0: + .space 0x4 + .global data_ov00_020ee0b4 +data_ov00_020ee0b4: + .space 0x4 + .global data_ov00_020ee0b8 +data_ov00_020ee0b8: + .space 0x4 + .global data_ov00_020ee0bc +data_ov00_020ee0bc: + .space 0x4 + .global data_ov00_020ee0c0 +data_ov00_020ee0c0: + .space 0x4 + .global data_ov00_020ee0c4 +data_ov00_020ee0c4: + .space 0x4 + .global data_ov00_020ee0c8 +data_ov00_020ee0c8: + .space 0x4 + .global data_ov00_020ee0cc +data_ov00_020ee0cc: + .space 0x4 + .global data_ov00_020ee0d0 +data_ov00_020ee0d0: + .space 0x4 + .global data_ov00_020ee0d4 +data_ov00_020ee0d4: + .space 0x4 + .global data_ov00_020ee0d8 +data_ov00_020ee0d8: + .space 0x4 + .global data_ov00_020ee0dc +data_ov00_020ee0dc: + .space 0x4 + .global data_ov00_020ee0e0 +data_ov00_020ee0e0: + .space 0x4 + .global data_ov00_020ee0e4 +data_ov00_020ee0e4: + .space 0x4 + .global data_ov00_020ee0e8 +data_ov00_020ee0e8: + .space 0x4 + .global data_ov00_020ee0ec +data_ov00_020ee0ec: + .space 0x4 + .global data_ov00_020ee0f0 +data_ov00_020ee0f0: + .space 0x4 + .global data_ov00_020ee0f4 +data_ov00_020ee0f4: + .space 0x4 + .global data_ov00_020ee0f8 +data_ov00_020ee0f8: + .space 0x4 + .global data_ov00_020ee0fc +data_ov00_020ee0fc: + .space 0x4 + .global data_ov00_020ee100 +data_ov00_020ee100: + .space 0x4 + .global data_ov00_020ee104 +data_ov00_020ee104: + .space 0x4 + .global data_ov00_020ee108 +data_ov00_020ee108: + .space 0x4 + .global data_ov00_020ee10c +data_ov00_020ee10c: + .space 0x4 + .global data_ov00_020ee110 +data_ov00_020ee110: + .space 0x4 + .global data_ov00_020ee114 +data_ov00_020ee114: + .space 0x4 + .global data_ov00_020ee118 +data_ov00_020ee118: + .space 0x4 + .global data_ov00_020ee11c +data_ov00_020ee11c: + .space 0x4 + .global data_ov00_020ee120 +data_ov00_020ee120: + .space 0x4 + .global data_ov00_020ee124 +data_ov00_020ee124: + .space 0x4 + .global data_ov00_020ee128 +data_ov00_020ee128: + .space 0x4 + .global data_ov00_020ee12c +data_ov00_020ee12c: + .space 0x4 + .global data_ov00_020ee130 +data_ov00_020ee130: + .space 0x4 + .global data_ov00_020ee134 +data_ov00_020ee134: + .space 0x4 + .global data_ov00_020ee138 +data_ov00_020ee138: + .space 0x4 + .global data_ov00_020ee13c +data_ov00_020ee13c: + .space 0x4 + .global data_ov00_020ee140 +data_ov00_020ee140: + .space 0x4 + .global data_ov00_020ee144 +data_ov00_020ee144: + .space 0x4 + .global data_ov00_020ee148 +data_ov00_020ee148: + .space 0x4 + .global data_ov00_020ee14c +data_ov00_020ee14c: + .space 0x4 + .global data_ov00_020ee150 +data_ov00_020ee150: + .space 0x4 + .global data_ov00_020ee154 +data_ov00_020ee154: + .space 0x4 + .global data_ov00_020ee158 +data_ov00_020ee158: + .space 0x4 + .global data_ov00_020ee15c +data_ov00_020ee15c: + .space 0x4 + .global data_ov00_020ee160 +data_ov00_020ee160: + .space 0x4 + .global data_ov00_020ee164 +data_ov00_020ee164: + .space 0x4 + .global data_ov00_020ee168 +data_ov00_020ee168: + .space 0x4 + .global data_ov00_020ee16c +data_ov00_020ee16c: + .space 0x4 + .global data_ov00_020ee170 +data_ov00_020ee170: + .space 0x4 + .global data_ov00_020ee174 +data_ov00_020ee174: + .space 0x4 + .global data_ov00_020ee178 +data_ov00_020ee178: + .space 0xc + .global data_ov00_020ee184 +data_ov00_020ee184: + .space 0x14 diff --git a/tools/lcf.py b/tools/lcf.py index 35763449..62eaaea2 100644 --- a/tools/lcf.py +++ b/tools/lcf.py @@ -39,6 +39,11 @@ ov00 = Overlay(name='ov00', after='ARM9', objects=[ 'asm/ov00/ov00_0207af9c.s', + 'asm/ov00/Map/MapManager.s', + 'src/00_Core/Map/MapManager.cpp', + + 'asm/ov00/ov00_02086cd0.s', + 'src/00_Core/Save/AdventureFlags.cpp', 'asm/ov00/Save/AdventureFlags.s', From 1b2b274633ca475d3ce0ec29ba849fe8dda26969 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 21 Apr 2024 13:09:41 +0200 Subject: [PATCH 16/76] Name `gMapManager` --- asm/dtcm.s | 4 +- asm/itcm.inc | 2 +- asm/itcm.s | 6 +- asm/main/main_02000000.inc | 2 +- asm/main/main_02000000.s | 14 +- asm/ov00/Actor/Actor.inc | 2 +- asm/ov00/Actor/Actor.s | 20 +- asm/ov00/Actor/ActorManager.inc | 2 +- asm/ov00/Actor/ActorManager.s | 8 +- asm/ov00/Item/ItemManager.inc | 2 +- asm/ov00/Item/ItemManager.s | 10 +- .../Item/ItemManager_func_ov00_020ad790.inc | 2 +- asm/ov00/Map/MapManager.inc | 2 +- asm/ov00/Map/MapManager.s | 16 +- asm/ov00/Player/LinkStateFollow.inc | 2 +- asm/ov00/Player/LinkStateFollow.s | 12 +- asm/ov00/Player/LinkStateInteract.inc | 2 +- asm/ov00/Player/LinkStateInteract.s | 4 +- asm/ov00/Player/PlayerBase.inc | 2 +- asm/ov00/Player/PlayerBase.s | 10 +- asm/ov00/Player/PlayerControl.inc | 2 +- asm/ov00/Player/PlayerControl.s | 30 +- asm/ov00/Save/AdventureFlags.inc | 2 +- asm/ov00/Save/AdventureFlags.s | 4 +- asm/ov00/ov00_020773c0.inc | 2 +- asm/ov00/ov00_020773c0.s | 28 +- asm/ov00/ov00_0207af9c.inc | 2 +- asm/ov00/ov00_0207af9c.s | 32 +- asm/ov00/ov00_02086cd0.inc | 2 +- asm/ov00/ov00_02086cd0.s | 182 ++-- asm/ov00/ov00_020980f4.inc | 2 +- asm/ov00/ov00_020980f4.s | 112 +-- asm/ov00/ov00_020b1498.inc | 2 +- asm/ov00/ov00_020b1498.s | 190 ++--- asm/ov00/ov00_020c3e54.inc | 2 +- asm/ov00/ov00_020c3e54.s | 122 +-- asm/ov02.inc | 2 +- asm/ov02.s | 4 +- asm/ov03.inc | 2 +- asm/ov03.s | 80 +- asm/ov04.inc | 2 +- asm/ov04.s | 98 +-- asm/ov05.inc | 2 +- asm/ov05.s | 158 ++-- asm/ov09.inc | 2 +- asm/ov09.s | 18 +- asm/ov12.inc | 2 +- asm/ov12.s | 168 ++-- asm/ov14/Actor/ActorRupee.inc | 2 +- asm/ov14/Actor/ActorRupee.s | 4 +- asm/ov14/ov14_0211f640.inc | 2 +- asm/ov14/ov14_0211f640.s | 374 ++++----- asm/ov14/ov14_0213b778.inc | 2 +- asm/ov14/ov14_0213b778.s | 256 +++--- asm/ov15.inc | 2 +- asm/ov15.s | 794 +++++++++--------- asm/ov17.inc | 2 +- asm/ov17.s | 324 +++---- asm/ov18.inc | 2 +- asm/ov18.s | 128 +-- asm/ov19.inc | 2 +- asm/ov19.s | 36 +- asm/ov20.inc | 2 +- asm/ov20.s | 54 +- asm/ov21.inc | 2 +- asm/ov21.s | 34 +- asm/ov22.inc | 2 +- asm/ov22.s | 92 +- asm/ov23.inc | 2 +- asm/ov23.s | 128 +-- asm/ov24.inc | 2 +- asm/ov24.s | 90 +- asm/ov25.inc | 2 +- asm/ov25.s | 54 +- asm/ov26.inc | 2 +- asm/ov26.s | 140 +-- asm/ov27.inc | 2 +- asm/ov27.s | 88 +- asm/ov28.inc | 2 +- asm/ov28.s | 74 +- asm/ov29.inc | 2 +- asm/ov29.s | 38 +- asm/ov30.inc | 2 +- asm/ov30.s | 122 +-- asm/ov31.inc | 2 +- asm/ov31.s | 4 +- asm/ov32.inc | 2 +- asm/ov32.s | 54 +- asm/ov33.inc | 2 +- asm/ov33.s | 18 +- asm/ov34.inc | 2 +- asm/ov34.s | 26 +- asm/ov35.inc | 2 +- asm/ov35.s | 14 +- asm/ov36.inc | 2 +- asm/ov36.s | 66 +- asm/ov37.inc | 2 +- asm/ov37.s | 52 +- asm/ov38.inc | 2 +- asm/ov38.s | 24 +- asm/ov39.inc | 2 +- asm/ov39.s | 20 +- asm/ov40.inc | 2 +- asm/ov40.s | 56 +- asm/ov41.inc | 2 +- asm/ov41.s | 22 +- asm/ov42.inc | 2 +- asm/ov42.s | 6 +- asm/ov43.inc | 2 +- asm/ov43.s | 12 +- asm/ov44.inc | 2 +- asm/ov44.s | 4 +- asm/ov46.inc | 2 +- asm/ov46.s | 8 +- asm/ov47.inc | 2 +- asm/ov47.s | 22 +- asm/ov48.inc | 2 +- asm/ov48.s | 4 +- asm/ov49.inc | 2 +- asm/ov49.s | 20 +- asm/ov50.inc | 2 +- asm/ov50.s | 24 +- asm/ov51.inc | 2 +- asm/ov51.s | 12 +- asm/ov52.inc | 2 +- asm/ov52.s | 28 +- asm/ov53.inc | 2 +- asm/ov53.s | 16 +- asm/ov54.inc | 2 +- asm/ov54.s | 20 +- asm/ov55.inc | 2 +- asm/ov55.s | 6 +- asm/ov57.inc | 2 +- asm/ov57.s | 20 +- asm/ov58.inc | 2 +- asm/ov58.s | 110 +-- asm/ov59.inc | 2 +- asm/ov59.s | 30 +- include/Item/ItemManager.hpp | 1 + include/Map/MapManager.hpp | 2 + src/00_Core/Item/ItemManager.cpp | 5 +- 141 files changed, 2503 insertions(+), 2501 deletions(-) diff --git a/asm/dtcm.s b/asm/dtcm.s index b3664d47..d3b1bcb1 100644 --- a/asm/dtcm.s +++ b/asm/dtcm.s @@ -3548,8 +3548,8 @@ data_027e0e58: .global data_027e0e5c data_027e0e5c: .space 0x4 - .global data_027e0e60 -data_027e0e60: + .global gMapManager +gMapManager: .space 0x4 .global data_027e0e64 data_027e0e64: diff --git a/asm/itcm.inc b/asm/itcm.inc index f282df4a..1ab002af 100644 --- a/asm/itcm.inc +++ b/asm/itcm.inc @@ -19,7 +19,7 @@ .extern data_027e080c .extern data_027e081c .extern data_027e08e4 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0e64 .extern data_027e0f6c .extern data_027e0fdc diff --git a/asm/itcm.s b/asm/itcm.s index bc5b45df..34e9c16a 100644 --- a/asm/itcm.s +++ b/asm/itcm.s @@ -9181,7 +9181,7 @@ func_01fffd04: ; 0x01fffd04 ldr r0, [sp, #0x4c] ldr r1, [sp, #0x44] str r0, [sp, #0x34] - ldr r0, _01ffff04 ; =data_027e0e60 + ldr r0, _01ffff04 ; =gMapManager ldr r3, [sp, #0x48] ldr r2, [sp, #0x54] str r1, [sp, #0x2c] @@ -9212,7 +9212,7 @@ _01fffdf4: mov ip, #0 str r0, [sp, #0x24] ldr r1, [r6, #0x50] - ldr r0, _01ffff04 ; =data_027e0e60 + ldr r0, _01ffff04 ; =gMapManager str r1, [sp, #0x28] ldr r1, [r6, #0x54] add r2, sp, #0x20 @@ -9277,7 +9277,7 @@ _01fffef8: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_01fffd04 -_01ffff04: .word data_027e0e60 +_01ffff04: .word gMapManager .global func_01ffff08 arm_func_start func_01ffff08 diff --git a/asm/main/main_02000000.inc b/asm/main/main_02000000.inc index 60b5442b..ff72ea0a 100644 --- a/asm/main/main_02000000.inc +++ b/asm/main/main_02000000.inc @@ -111,7 +111,7 @@ .extern data_027e0dbc .extern data_027e0e28 .extern data_027e0e2c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f7c .extern data_027e0f80 diff --git a/asm/main/main_02000000.s b/asm/main/main_02000000.s index e9f932fc..74757c8c 100644 --- a/asm/main/main_02000000.s +++ b/asm/main/main_02000000.s @@ -58474,7 +58474,7 @@ func_0202bf58: ; 0x0202bf58 mov r0, #0 ldmmiia sp!, {r3, pc} ldr ip, [r2] - ldr r0, _0202bfbc ; =data_027e0e60 + ldr r0, _0202bfbc ; =gMapManager str ip, [sp, #0xc] ldr ip, [r2, #4] ldr r0, [r0] @@ -58494,7 +58494,7 @@ func_0202bf58: ; 0x0202bf58 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_0202bf58 -_0202bfbc: .word data_027e0e60 +_0202bfbc: .word gMapManager .global func_0202bfc0 arm_func_start func_0202bfc0 @@ -76848,7 +76848,7 @@ _020382e8: mov r3, #0 sub r2, r3, #2 mov r5, #0x47 - ldr r0, _0203859c ; =data_027e0e60 + ldr r0, _0203859c ; =gMapManager mov r1, #0xff str r2, [sp, #0xc] str r5, [sp] @@ -76953,7 +76953,7 @@ _02038444: mov r0, #2 ldmia sp!, {r3, r4, r5, pc} _0203846c: - ldr r0, _0203859c ; =data_027e0e60 + ldr r0, _0203859c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 @@ -77039,7 +77039,7 @@ _0203858c: .word data_027e0618 _02038590: .word gItemManager _02038594: .word data_027e0db0 _02038598: .word data_027e0c68 -_0203859c: .word data_027e0e60 +_0203859c: .word gMapManager _020385a0: .word data_027e0d38 _020385a4: .word data_027e0f64 _020385a8: .word data_020569e0 @@ -80336,7 +80336,7 @@ _0203ac8c: b _0203ad24 _0203acc0: ldrh r2, [r5, #6] - ldr r0, _0203ae9c ; =data_027e0e60 + ldr r0, _0203ae9c ; =gMapManager add r1, sp, #8 ldr r0, [r0] and r2, r2, #0xff @@ -80465,7 +80465,7 @@ _0203ae8c: .word 0x00020001 _0203ae90: .word 0xffff0001 _0203ae94: .word data_027e103c _0203ae98: .word data_027e0d3c -_0203ae9c: .word data_027e0e60 +_0203ae9c: .word gMapManager _0203aea0: .word data_02057ed0 _0203aea4: .word data_027e0c68 diff --git a/asm/ov00/Actor/Actor.inc b/asm/ov00/Actor/Actor.inc index e490c88b..be979665 100644 --- a/asm/ov00/Actor/Actor.inc +++ b/asm/ov00/Actor/Actor.inc @@ -25,7 +25,7 @@ .extern data_027e0c54 .extern data_027e0d0c .extern data_027e0d3c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f90 .extern data_027e0f94 .extern data_027e0fac diff --git a/asm/ov00/Actor/Actor.s b/asm/ov00/Actor/Actor.s index 0f7fa178..d255d42d 100644 --- a/asm/ov00/Actor/Actor.s +++ b/asm/ov00/Actor/Actor.s @@ -204,7 +204,7 @@ _020c1784: .word func_ov00_02087ef0 .global _ZN5Actor18func_ov00_020c1788Ev arm_func_start _ZN5Actor18func_ov00_020c1788Ev _ZN5Actor18func_ov00_020c1788Ev: ; 0x020c1788 - ldr r3, _020c17a0 ; =data_027e0e60 + ldr r3, _020c17a0 ; =gMapManager ldr ip, _020c17a4 ; =_ZN10MapManager18func_ov00_02083570Eii ldrb r1, [r0, #0x10] ldrb r2, [r0, #0x11] @@ -212,7 +212,7 @@ _ZN5Actor18func_ov00_020c1788Ev: ; 0x020c1788 bx ip .align 2, 0 arm_func_end _ZN5Actor18func_ov00_020c1788Ev -_020c17a0: .word data_027e0e60 +_020c17a0: .word gMapManager _020c17a4: .word _ZN10MapManager18func_ov00_02083570Eii .global _ZN5Actor8vfunc_2cEv @@ -680,7 +680,7 @@ _ZN5Actor8vfunc_a8Ev: ; 0x020c1bf8 arm_func_start _ZN5Actor18func_Ov00_020c1bfcEi _ZN5Actor18func_Ov00_020c1bfcEi: ; 0x020c1bfc add r2, r0, r1 - ldr r0, _020c1c18 ; =data_027e0e60 + ldr r0, _020c1c18 ; =gMapManager ldrb r1, [r2, #0x2a] ldr ip, _020c1c1c ; =_ZN10MapManager18func_ov00_02084be0Eii ldrb r2, [r2, #0x28] @@ -688,7 +688,7 @@ _ZN5Actor18func_Ov00_020c1bfcEi: ; 0x020c1bfc bx ip .align 2, 0 arm_func_end _ZN5Actor18func_Ov00_020c1bfcEi -_020c1c18: .word data_027e0e60 +_020c1c18: .word gMapManager _020c1c1c: .word _ZN10MapManager18func_ov00_02084be0Eii .global _ZN5Actor18func_ov00_020c1c20Eiii @@ -696,7 +696,7 @@ _020c1c1c: .word _ZN10MapManager18func_ov00_02084be0Eii _ZN5Actor18func_ov00_020c1c20Eiii: ; 0x020c1c20 stmdb sp!, {r3, lr} add ip, r0, r1 - ldr r0, _020c1c44 ; =data_027e0e60 + ldr r0, _020c1c44 ; =gMapManager mov r3, r2 ldrb r1, [ip, #0x2a] ldrb r2, [ip, #0x28] @@ -705,7 +705,7 @@ _ZN5Actor18func_ov00_020c1c20Eiii: ; 0x020c1c20 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end _ZN5Actor18func_ov00_020c1c20Eiii -_020c1c44: .word data_027e0e60 +_020c1c44: .word gMapManager .global _ZN5Actor8vfunc_48Ei arm_func_start _ZN5Actor8vfunc_48Ei @@ -2306,7 +2306,7 @@ _ZN5Actor18func_ov00_020c3094Ev: ; 0x020c3094 sub sp, sp, #0x18 mov r5, r0 ldr r1, [r5, #0x48] - ldr r0, _020c3108 ; =data_027e0e60 + ldr r0, _020c3108 ; =gMapManager str r1, [sp, #0xc] ldr r1, [r5, #0x4c] mov r4, #0 @@ -2333,7 +2333,7 @@ _ZN5Actor18func_ov00_020c3094Ev: ; 0x020c3094 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end _ZN5Actor18func_ov00_020c3094Ev -_020c3108: .word data_027e0e60 +_020c3108: .word gMapManager .global _ZN5Actor6GetPosEv arm_func_start _ZN5Actor6GetPosEv @@ -2382,14 +2382,14 @@ _ZN5Actor18func_ov00_020c3158Ev: ; 0x020c3158 ldr r1, [r0, #0x3c] cmp r1, #0 ldmltia sp!, {r3, pc} - ldr r0, _020c317c ; =data_027e0e60 + ldr r0, _020c317c ; =gMapManager mov r2, #1 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084c5cEii ldmia sp!, {r3, pc} .align 2, 0 arm_func_end _ZN5Actor18func_ov00_020c3158Ev -_020c317c: .word data_027e0e60 +_020c317c: .word gMapManager .global _ZN5Actor4KillEv arm_func_start _ZN5Actor4KillEv diff --git a/asm/ov00/Actor/ActorManager.inc b/asm/ov00/Actor/ActorManager.inc index 3feda380..68a7a1cd 100644 --- a/asm/ov00/Actor/ActorManager.inc +++ b/asm/ov00/Actor/ActorManager.inc @@ -6,7 +6,7 @@ .extern _ZN5Actor18func_ov00_020c27a8Ei .extern data_02056be4 .extern data_027e077c -.extern data_027e0e60 +.extern gMapManager .extern data_027e103c .extern func_01ff9ec0 .extern func_ov00_0208e72c diff --git a/asm/ov00/Actor/ActorManager.s b/asm/ov00/Actor/ActorManager.s index cff6edf7..b8de6df0 100644 --- a/asm/ov00/Actor/ActorManager.s +++ b/asm/ov00/Actor/ActorManager.s @@ -616,7 +616,7 @@ _ZN12ActorManager18func_ov00_020c3bb0EiPi: ; 0x020c3bb0 str r0, [sp] movne r0, #0 strne r0, [r10] - ldr r0, _020c3ce4 ; =data_027e0e60 + ldr r0, _020c3ce4 ; =gMapManager add r2, sp, #0x14 ldr r0, [r0] mov r3, #8 @@ -695,14 +695,14 @@ _020c3cd8: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end _ZN12ActorManager18func_ov00_020c3bb0EiPi -_020c3ce4: .word data_027e0e60 +_020c3ce4: .word gMapManager .global _ZN12ActorManager18func_ov00_020c3ce8Eii arm_func_start _ZN12ActorManager18func_ov00_020c3ce8Eii _ZN12ActorManager18func_ov00_020c3ce8Eii: ; 0x020c3ce8 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xcc - ldr r3, _020c3dcc ; =data_027e0e60 + ldr r3, _020c3dcc ; =gMapManager mov r11, r0 ldr r0, [r3] mov r10, r2 @@ -763,7 +763,7 @@ _020c3db0: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end _ZN12ActorManager18func_ov00_020c3ce8Eii -_020c3dcc: .word data_027e0e60 +_020c3dcc: .word gMapManager .global _ZN12ActorManager14Actor_vfunc_28Ev arm_func_start _ZN12ActorManager14Actor_vfunc_28Ev diff --git a/asm/ov00/Item/ItemManager.inc b/asm/ov00/Item/ItemManager.inc index 8288875e..89530a89 100644 --- a/asm/ov00/Item/ItemManager.inc +++ b/asm/ov00/Item/ItemManager.inc @@ -6,7 +6,7 @@ .extern _ZN14AdventureFlags3GetEj .extern _ZN14AdventureFlags3SetEjb .extern _ZNK11ItemManager10GetMaxAmmoEi -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f78 .extern data_027e0fbc .extern data_027e103c diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index ba83e597..30d80c1f 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -1113,20 +1113,20 @@ _020ae34c: .word data_027e103c .global _ZNK11ItemManager18func_ov00_020ae350Ev arm_func_start _ZNK11ItemManager18func_ov00_020ae350Ev _ZNK11ItemManager18func_ov00_020ae350Ev: ; 0x020ae350 - ldr r0, _020ae360 ; =data_027e0e60 + ldr r0, _020ae360 ; =gMapManager ldr ip, _020ae364 ; =_ZN10MapManager10GetNumKeysEv ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZNK11ItemManager18func_ov00_020ae350Ev -_020ae360: .word data_027e0e60 +_020ae360: .word gMapManager _020ae364: .word _ZN10MapManager10GetNumKeysEv .global _ZN11ItemManager8GiveKeysEj thumb_func_start _ZN11ItemManager8GiveKeysEj _ZN11ItemManager8GiveKeysEj: ; 0x020ae368 push {r4, lr} - ldr r0, _020ae38c ; =data_027e0e60 + ldr r0, _020ae38c ; =gMapManager add r4, r1, #0 ldr r0, [r0] blx _ZN10MapManager10GetNumKeysEv @@ -1139,13 +1139,13 @@ _020ae37c: bgt _020ae382 mov r1, #0 _020ae382: - ldr r0, _020ae38c ; =data_027e0e60 + ldr r0, _020ae38c ; =gMapManager ldr r0, [r0] blx _ZN10MapManager10SetNumKeysEi pop {r4, pc} .align 2, 0 thumb_func_end _ZN11ItemManager8GiveKeysEj -_020ae38c: .word data_027e0e60 +_020ae38c: .word gMapManager .global _ZNK11ItemManager15GetEquippedItemEv arm_func_start _ZNK11ItemManager15GetEquippedItemEv diff --git a/asm/ov00/Item/ItemManager_func_ov00_020ad790.inc b/asm/ov00/Item/ItemManager_func_ov00_020ad790.inc index fe397d2b..7381d9e3 100644 --- a/asm/ov00/Item/ItemManager_func_ov00_020ad790.inc +++ b/asm/ov00/Item/ItemManager_func_ov00_020ad790.inc @@ -29,7 +29,7 @@ _020ad7c0: movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} _020ad800: - lda r0, data_027e0e60 + lda r0, gMapManager ldr r4, [r6, #8] ldr r0, [r0] bl _ZN10MapManager18func_ov00_020849f8Ei diff --git a/asm/ov00/Map/MapManager.inc b/asm/ov00/Map/MapManager.inc index d26a3ac5..da0f4814 100644 --- a/asm/ov00/Map/MapManager.inc +++ b/asm/ov00/Map/MapManager.inc @@ -10,7 +10,7 @@ .extern data_027e0ce0 .extern data_027e0d38 .extern data_027e0d3c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov00/Map/MapManager.s b/asm/ov00/Map/MapManager.s index 9a2bd053..e32a3b60 100644 --- a/asm/ov00/Map/MapManager.s +++ b/asm/ov00/Map/MapManager.s @@ -4243,7 +4243,7 @@ _02085188: cmp r0, r7 blt _02085250 ldr r0, [sp, #0xc] - ldr r11, _02085278 ; =data_027e0e60 + ldr r11, _02085278 ; =gMapManager and r5, r0, #0xff _020851a4: ldr r0, [r11] @@ -4304,7 +4304,7 @@ _02085268: .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02085108EPi _02085274: .word data_027e0f64 -_02085278: .word data_027e0e60 +_02085278: .word gMapManager .global _ZN10MapManager18func_ov00_0208527cEv arm_func_start _ZN10MapManager18func_ov00_0208527cEv @@ -4362,7 +4362,7 @@ _ZN10MapManager18func_ov00_0208527cEv: ; 0x0208527c ldr r0, [sp, #8] cmp r11, r0 bgt _020853e8 - ldr r4, _020853f8 ; =data_027e0e60 + ldr r4, _020853f8 ; =gMapManager add r6, sp, #0x10 _02085358: ldr r8, [sp, #4] @@ -4411,7 +4411,7 @@ _020853e8: .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_0208527cEv _020853f4: .word data_027e0f64 -_020853f8: .word data_027e0e60 +_020853f8: .word gMapManager .global _ZN10MapManager18func_ov00_020853fcEv arm_func_start _ZN10MapManager18func_ov00_020853fcEv @@ -4482,7 +4482,7 @@ _020854e4: ldr r0, [sp, #8] and r6, r0, #0xff _020854fc: - ldr r0, _02085590 ; =data_027e0e60 + ldr r0, _02085590 ; =gMapManager add r1, sp, #0x10 ldr r0, [r0] strb r6, [sp, #0x10] @@ -4524,7 +4524,7 @@ _02085580: .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020853fcEv _0208558c: .word data_027e0f64 -_02085590: .word data_027e0e60 +_02085590: .word gMapManager .global _ZN10MapManager18func_ov00_02085594Ev arm_func_start _ZN10MapManager18func_ov00_02085594Ev @@ -5362,7 +5362,7 @@ _02086164: ldr r1, [sp, #4] cmp r0, r1 ble _020861ec - ldr r0, _02086280 ; =data_027e0e60 + ldr r0, _02086280 ; =gMapManager add r1, sp, #0x12 ldr r0, [r0] add r2, sp, #0x68 @@ -5432,7 +5432,7 @@ _02086274: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02086044Eiii -_02086280: .word data_027e0e60 +_02086280: .word gMapManager .global _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ arm_func_start _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ diff --git a/asm/ov00/Player/LinkStateFollow.inc b/asm/ov00/Player/LinkStateFollow.inc index 7844a71f..c5775e7b 100644 --- a/asm/ov00/Player/LinkStateFollow.inc +++ b/asm/ov00/Player/LinkStateFollow.inc @@ -10,7 +10,7 @@ .extern _ZN13LinkStateBase8vfunc_24Ei .extern _ZN13PlayerControl13StopFollowingEv .extern _ZN13PlayerControl18func_ov00_020af01cEPc -.extern data_027e0e60 +.extern gMapManager .extern data_027e0fb8 .extern func_01ff9bf8 .extern func_01ff9cec diff --git a/asm/ov00/Player/LinkStateFollow.s b/asm/ov00/Player/LinkStateFollow.s index d9a6bf8f..22b8876c 100644 --- a/asm/ov00/Player/LinkStateFollow.s +++ b/asm/ov00/Player/LinkStateFollow.s @@ -30,7 +30,7 @@ _ZN15LinkStateFollow16MoveTowardTargetEv: ; 0x020a8f80 ldmneia sp!, {r4, r5, pc} mov r0, r5 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev - ldr r2, _020a9020 ; =data_027e0e60 + ldr r2, _020a9020 ; =gMapManager add r1, r0, #0xc4 ldr r0, [r2] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -62,7 +62,7 @@ _ZN15LinkStateFollow16MoveTowardTargetEv: ; 0x020a8f80 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end _ZN15LinkStateFollow16MoveTowardTargetEv -_020a9020: .word data_027e0e60 +_020a9020: .word gMapManager _020a9024: .word 0x00000155 .global _ZN15LinkStateFollow12OnStateLeaveEi @@ -82,7 +82,7 @@ _020a904c: cmp r0, #6 cmpne r0, #7 ldmneia sp!, {r3, r4, r5, pc} - ldr r1, _020a90ac ; =data_027e0e60 + ldr r1, _020a90ac ; =gMapManager add r0, sp, #0 ldr r4, [r1] add r2, r5, #0x24 @@ -104,7 +104,7 @@ _020a904c: .align 2, 0 arm_func_end _ZN15LinkStateFollow12OnStateLeaveEi _020a90a8: .word data_027e0fb8 -_020a90ac: .word data_027e0e60 +_020a90ac: .word gMapManager .global _ZN15LinkStateFollow8vfunc_24Ei arm_func_start _ZN15LinkStateFollow8vfunc_24Ei @@ -204,7 +204,7 @@ _ZN15LinkStateFollow18func_ov00_020a9180EP5Vec3p: ; 0x020a9180 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _020a920c ; =data_027e0e60 + ldr r0, _020a920c ; =gMapManager ldrb r2, [sp] ldrb r1, [sp, #1] ldr r0, [r0] @@ -226,7 +226,7 @@ _020a91f0: .align 2, 0 arm_func_end _ZN15LinkStateFollow18func_ov00_020a9180EP5Vec3p _020a9208: .word data_027e0fb8 -_020a920c: .word data_027e0e60 +_020a920c: .word gMapManager .global _ZN15LinkStateFollow18func_ov00_020a9210EP5Vec3pP5Actor arm_func_start _ZN15LinkStateFollow18func_ov00_020a9210EP5Vec3pP5Actor diff --git a/asm/ov00/Player/LinkStateInteract.inc b/asm/ov00/Player/LinkStateInteract.inc index c35564bc..01e57bcd 100644 --- a/asm/ov00/Player/LinkStateInteract.inc +++ b/asm/ov00/Player/LinkStateInteract.inc @@ -43,7 +43,7 @@ .extern _ZNK11ItemManager8GetFairyEi .extern data_02050f54 .extern data_027e0d0c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0fb8 .extern data_027e0fe4 .extern data_ov00_020eec9c diff --git a/asm/ov00/Player/LinkStateInteract.s b/asm/ov00/Player/LinkStateInteract.s index d07a02de..1d94409f 100644 --- a/asm/ov00/Player/LinkStateInteract.s +++ b/asm/ov00/Player/LinkStateInteract.s @@ -940,7 +940,7 @@ _020aae90: add r2, r6, #0x8c str r1, [sp, #0x28] ldr r1, [r6, #0x4c] - ldr r5, _020ab3d8 ; =data_027e0e60 + ldr r5, _020ab3d8 ; =gMapManager str r1, [sp, #0x2c] ldr r3, [r6, #0x50] add r1, sp, #0x68 @@ -1270,7 +1270,7 @@ _020ab3c8: .word 0x000004cd _020ab3cc: .word data_027e0fb8 _020ab3d0: .word data_027e0fe4 _020ab3d4: .word 0x0000ffff -_020ab3d8: .word data_027e0e60 +_020ab3d8: .word gMapManager _020ab3dc: .word 0x00001ccd _020ab3e0: .word 0x00001333 _020ab3e4: .word 0x000018e4 diff --git a/asm/ov00/Player/PlayerBase.inc b/asm/ov00/Player/PlayerBase.inc index b8790e5c..73867f5f 100644 --- a/asm/ov00/Player/PlayerBase.inc +++ b/asm/ov00/Player/PlayerBase.inc @@ -6,7 +6,7 @@ .extern _ZNK11ItemManager8GetFairyEi .extern data_027e0c54 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern gAdventureFlags .extern data_027e0f94 diff --git a/asm/ov00/Player/PlayerBase.s b/asm/ov00/Player/PlayerBase.s index f8977340..e5d45665 100644 --- a/asm/ov00/Player/PlayerBase.s +++ b/asm/ov00/Player/PlayerBase.s @@ -285,7 +285,7 @@ _020a7de4: _ZN10PlayerBase8TeleportEP5Vec3psibb: ; 0x020a7df4 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x1c - ldr r3, _020a7e6c ; =data_027e0e60 + ldr r3, _020a7e6c ; =gMapManager mov r5, r0 mov r4, r1 mov lr, #0xff @@ -315,7 +315,7 @@ _ZN10PlayerBase8TeleportEP5Vec3psibb: ; 0x020a7df4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end _ZN10PlayerBase8TeleportEP5Vec3psibb -_020a7e6c: .word data_027e0e60 +_020a7e6c: .word gMapManager .global _ZN10PlayerBase18TeleportToEntranceEib arm_func_start _ZN10PlayerBase18TeleportToEntranceEib @@ -328,7 +328,7 @@ _ZN10PlayerBase18TeleportToEntranceEib: ; 0x020a7e70 mov r4, r2 str r0, [r3] ldr r1, [r5, #4] - ldr r0, _020a7f68 ; =data_027e0e60 + ldr r0, _020a7f68 ; =gMapManager str r1, [r3, #4] ldr r2, [r5, #8] add r1, sp, #0 @@ -366,7 +366,7 @@ _ZN10PlayerBase18TeleportToEntranceEib: ; 0x020a7e70 ldrb r0, [sp, #0x18] cmp r0, #0 beq _020a7f40 - ldr r0, _020a7f68 ; =data_027e0e60 + ldr r0, _020a7f68 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082af4Ev ldr r0, _020a7f80 ; =gAdventureFlags @@ -386,7 +386,7 @@ _020a7f58: .align 2, 0 arm_func_end _ZN10PlayerBase18TeleportToEntranceEib _020a7f64: .word data_027e0f94 -_020a7f68: .word data_027e0e60 +_020a7f68: .word gMapManager _020a7f6c: .word data_027e0fac _020a7f70: .word data_027e0fa0 _020a7f74: .word data_027e0fb0 diff --git a/asm/ov00/Player/PlayerControl.inc b/asm/ov00/Player/PlayerControl.inc index 5fdbb0fb..31b1b43a 100644 --- a/asm/ov00/Player/PlayerControl.inc +++ b/asm/ov00/Player/PlayerControl.inc @@ -26,7 +26,7 @@ .extern data_027e0d0c .extern data_027e0d38 .extern data_027e0e2c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f90 .extern data_027e0f94 diff --git a/asm/ov00/Player/PlayerControl.s b/asm/ov00/Player/PlayerControl.s index 1ac075f6..bd4688a2 100644 --- a/asm/ov00/Player/PlayerControl.s +++ b/asm/ov00/Player/PlayerControl.s @@ -643,7 +643,7 @@ _020af5c4: mov r0, r4 bl _ZN13PlayerControl13StopFollowingEv _020af620: - ldr r0, _020af6d8 ; =data_027e0e60 + ldr r0, _020af6d8 ; =gMapManager add r1, sp, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02085108EPi @@ -695,7 +695,7 @@ _020af6c8: .word data_027e0c68 _020af6cc: .word data_027e0fac _020af6d0: .word data_027e0ffc _020af6d4: .word 0x0000010a -_020af6d8: .word data_027e0e60 +_020af6d8: .word gMapManager _020af6dc: .word data_027e103c _020af6e0: .word data_027e05f8 @@ -721,7 +721,7 @@ _ZN13PlayerControl18func_ov00_020af6e4EP5Vec3pii: ; 0x020af6e4 str r0, [r4, #0x84] str r0, [r4, #0x88] _020af72c: - ldr r1, _020af774 ; =data_027e0e60 + ldr r1, _020af774 ; =gMapManager add r0, sp, #0 ldr r1, [r1] mov r2, r6 @@ -741,7 +741,7 @@ _020af72c: .align 2, 0 arm_func_end _ZN13PlayerControl18func_ov00_020af6e4EP5Vec3pii _020af770: .word data_027e0f94 -_020af774: .word data_027e0e60 +_020af774: .word gMapManager .global _ZN13PlayerControl18func_ov00_020af778Ev arm_func_start _ZN13PlayerControl18func_ov00_020af778Ev @@ -883,7 +883,7 @@ _020af944: bl _ZN5Actor16XzDistanceToLinkEv mov r4, r0 _020af97c: - ldr r0, _020afad0 ; =data_027e0e60 + ldr r0, _020afad0 ; =gMapManager add r1, sp, #8 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02085108EPi @@ -974,7 +974,7 @@ _020afac0: .word data_027e0f90 _020afac4: .word gItemManager _020afac8: .word data_027e0fc8 _020afacc: .word data_027e0fe4 -_020afad0: .word data_027e0e60 +_020afad0: .word gMapManager _020afad4: .word data_027e0f94 .global _ZN13PlayerControl18func_ov00_020afad8EP5Vec3p @@ -999,7 +999,7 @@ _ZN13PlayerControl18func_ov00_020afad8EP5Vec3p: ; 0x020afad8 blx r1 cmp r0, #3 bne _020afb48 - ldr r0, _020afb68 ; =data_027e0e60 + ldr r0, _020afb68 ; =gMapManager add r1, sp, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02085594Ev @@ -1020,7 +1020,7 @@ _020afb54: arm_func_end _ZN13PlayerControl18func_ov00_020afad8EP5Vec3p _020afb60: .word data_027e0f94 _020afb64: .word data_027e0f90 -_020afb68: .word data_027e0e60 +_020afb68: .word gMapManager .global _ZN13PlayerControl18func_ov00_020afb6cEv arm_func_start _ZN13PlayerControl18func_ov00_020afb6cEv @@ -1136,7 +1136,7 @@ _020afcf4: ldrb r0, [r9, #0x81] cmp r0, #0 beq _020afe24 - ldr r0, _020afe84 ; =data_027e0e60 + ldr r0, _020afe84 ; =gMapManager add r1, r9, #0x9c ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -1173,7 +1173,7 @@ _020afd5c: b _020afdc4 _020afd88: ldr r1, _020afe78 ; =data_027e0f94 - ldr r0, _020afe84 ; =data_027e0e60 + ldr r0, _020afe84 ; =gMapManager ldr r1, [r1, #4] ldr r0, [r0] str r1, [sp, #8] @@ -1242,7 +1242,7 @@ _020afe74: .word gItemManager _020afe78: .word data_027e0f94 _020afe7c: .word data_027e0fc8 _020afe80: .word data_027e0ffc -_020afe84: .word data_027e0e60 +_020afe84: .word gMapManager .global _ZN13PlayerControl18func_ov00_020afe88Eib arm_func_start _ZN13PlayerControl18func_ov00_020afe88Eib @@ -1864,17 +1864,17 @@ _ZN13PlayerControl18func_ov00_020b05e8EP5Vec3p: ; 0x020b05e8 str r3, [sp, #4] str r1, [sp, #0xc] _020b06e0: - ldr r1, _020b0774 ; =data_027e0e60 + ldr r1, _020b0774 ; =gMapManager add r0, sp, #0 ldr r1, [r1] add r2, sp, #4 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - ldr r0, _020b0774 ; =data_027e0e60 + ldr r0, _020b0774 ; =gMapManager ldrb r1, [sp] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083c24Ei ldr r1, [sp, #4] - ldr r2, _020b0774 ; =data_027e0e60 + ldr r2, _020b0774 ; =gMapManager sub r0, r0, r1 add r0, r0, r0, lsr #31 add r3, r1, r0, asr #1 @@ -1904,7 +1904,7 @@ _020b0764: .word 0x00000333 _020b0768: .word data_027e0f94 _020b076c: .word data_027e0fac _020b0770: .word data_02050f54 -_020b0774: .word data_027e0e60 +_020b0774: .word gMapManager .global _ZN13PlayerControl18func_ov00_020b0778EP5Vec3pji arm_func_start _ZN13PlayerControl18func_ov00_020b0778EP5Vec3pji diff --git a/asm/ov00/Save/AdventureFlags.inc b/asm/ov00/Save/AdventureFlags.inc index 60618808..cd1910ee 100644 --- a/asm/ov00/Save/AdventureFlags.inc +++ b/asm/ov00/Save/AdventureFlags.inc @@ -3,7 +3,7 @@ .extern data_027e0c68 .extern data_027e0db0 .extern data_027e0dbc -.extern data_027e0e60 +.extern gMapManager .extern func_0204f754 .extern func_ov00_0207b2f0 .extern func_ov00_0207b334 diff --git a/asm/ov00/Save/AdventureFlags.s b/asm/ov00/Save/AdventureFlags.s index 9555e442..2880f496 100644 --- a/asm/ov00/Save/AdventureFlags.s +++ b/asm/ov00/Save/AdventureFlags.s @@ -325,7 +325,7 @@ _ZN14AdventureFlags18func_ov00_02097968Ei: ; 0x02097968 strb ip, [sp, #0x14] strb ip, [sp, #0x15] bl _ZN14AdventureFlags15Get_FlagsUnk_00EiP9FlagsUnk2 - ldr r0, _02097a40 ; =data_027e0e60 + ldr r0, _02097a40 ; =gMapManager add r1, sp, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020838f8EPi @@ -342,7 +342,7 @@ _ZN14AdventureFlags18func_ov00_02097968Ei: ; 0x02097968 .align 2, 0 arm_func_end _ZN14AdventureFlags18func_ov00_02097968Ei _02097a3c: .word data_027e0db0 -_02097a40: .word data_027e0e60 +_02097a40: .word gMapManager .global _ZN14AdventureFlags18func_ov00_02097a44Eii arm_func_start _ZN14AdventureFlags18func_ov00_02097a44Eii diff --git a/asm/ov00/ov00_020773c0.inc b/asm/ov00/ov00_020773c0.inc index cc2cf301..41b5124f 100644 --- a/asm/ov00/ov00_020773c0.inc +++ b/asm/ov00/ov00_020773c0.inc @@ -26,7 +26,7 @@ .extern data_027e0d48 .extern data_027e0d54 .extern data_027e0e28 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern gAdventureFlags .extern data_027e0f7c diff --git a/asm/ov00/ov00_020773c0.s b/asm/ov00/ov00_020773c0.s index 4f4c32d4..4fba1472 100644 --- a/asm/ov00/ov00_020773c0.s +++ b/asm/ov00/ov00_020773c0.s @@ -3875,7 +3875,7 @@ _02078f7c: .word data_027e1054 arm_func_start func_ov00_02078f80 func_ov00_02078f80: ; 0x02078f80 stmdb sp!, {r4, lr} - ldr r1, _02078fa8 ; =data_027e0e60 + ldr r1, _02078fa8 ; =gMapManager mov r4, r0 ldr r0, [r1] bl _ZN10MapManager18func_ov00_02083588Ev @@ -3886,7 +3886,7 @@ func_ov00_02078f80: ; 0x02078f80 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_02078f80 -_02078fa8: .word data_027e0e60 +_02078fa8: .word gMapManager .global func_ov00_02078fac arm_func_start func_ov00_02078fac @@ -4038,7 +4038,7 @@ _02079148: .word data_027e0c38 func_ov00_0207914c: ; 0x0207914c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x14 - ldr r4, _020791d8 ; =data_027e0e60 + ldr r4, _020791d8 ; =gMapManager mov r11, r0 ldr r7, [r4] mov r10, r1 @@ -4073,7 +4073,7 @@ func_ov00_0207914c: ; 0x0207914c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_0207914c -_020791d8: .word data_027e0e60 +_020791d8: .word gMapManager .global func_ov00_020791dc arm_func_start func_ov00_020791dc @@ -4097,7 +4097,7 @@ func_ov00_020791dc: ; 0x020791dc func_ov00_0207920c: ; 0x0207920c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x14 - ldr r4, _0207929c ; =data_027e0e60 + ldr r4, _0207929c ; =gMapManager mov r11, r0 ldr r7, [r4] mov r10, r1 @@ -4133,7 +4133,7 @@ func_ov00_0207920c: ; 0x0207920c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_0207920c -_0207929c: .word data_027e0e60 +_0207929c: .word gMapManager .global func_ov00_020792a0 arm_func_start func_ov00_020792a0 @@ -4161,7 +4161,7 @@ _020792d4: ldr r0, [r0, #0x14] add r9, r9, r0 _020792f4: - ldr r0, _020793b4 ; =data_027e0e60 + ldr r0, _020793b4 ; =gMapManager ldr r6, [r0] mov r0, r6 bl _ZN10MapManager13GetCourseMinXEv @@ -4212,7 +4212,7 @@ _02079368: .align 2, 0 arm_func_end func_ov00_020792a0 _020793b0: .word data_027e0c38 -_020793b4: .word data_027e0e60 +_020793b4: .word gMapManager .global func_ov00_020793b8 arm_func_start func_ov00_020793b8 @@ -4340,7 +4340,7 @@ _0207955c: mov r0, #0 b _02079614 _02079564: - ldr r0, _0207967c ; =data_027e0e60 + ldr r0, _0207967c ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, r4 @@ -4348,7 +4348,7 @@ _02079564: cmp r0, #0 movne r0, #0 bne _02079614 - ldr r0, _0207967c ; =data_027e0e60 + ldr r0, _0207967c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 @@ -4357,7 +4357,7 @@ _02079564: cmp r0, #0 moveq r0, #0 beq _02079614 - ldr r0, _0207967c ; =data_027e0e60 + ldr r0, _0207967c ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, r4 @@ -4415,7 +4415,7 @@ _0207966c: .word data_027e0e28 _02079670: .word data_027e0d38 _02079674: .word gOverlayManager _02079678: .word 0x00000003 -_0207967c: .word data_027e0e60 +_0207967c: .word gMapManager .global func_ov00_02079680 arm_func_start func_ov00_02079680 @@ -4510,7 +4510,7 @@ func_ov00_0207977c: ; 0x0207977c bl func_ov00_02078b88 cmp r0, #0 bne _0207984c - ldr r0, _0207986c ; =data_027e0e60 + ldr r0, _0207986c ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, r4 @@ -4555,7 +4555,7 @@ _0207984c: arm_func_end func_ov00_0207977c _02079864: .word data_027e0e28 _02079868: .word data_027e0d38 -_0207986c: .word data_027e0e60 +_0207986c: .word gMapManager _02079870: .word data_027e0c38 _02079874: .word data_027e080c diff --git a/asm/ov00/ov00_0207af9c.inc b/asm/ov00/ov00_0207af9c.inc index 257ecc7e..dbcb92ae 100644 --- a/asm/ov00/ov00_0207af9c.inc +++ b/asm/ov00/ov00_0207af9c.inc @@ -41,7 +41,7 @@ .extern data_027e0e2c .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov00/ov00_0207af9c.s b/asm/ov00/ov00_0207af9c.s index 59f1b892..5993970e 100644 --- a/asm/ov00/ov00_0207af9c.s +++ b/asm/ov00/ov00_0207af9c.s @@ -807,7 +807,7 @@ _0207b62c: ldr r0, [r5] blx func_ov00_020a5e9c str r0, [r5, #0x44] - ldr r0, _0207b808 ; =data_027e0e60 + ldr r0, _0207b808 ; =gMapManager ldr r0, [r0] blx _ZN10MapManager18func_ov00_02082d08Ev add r1, r5, #0 @@ -954,12 +954,12 @@ _0207b740: ldr r0, [r0, #8] cmp r0, #1 beq _0207b7f0 - ldr r0, _0207b808 ; =data_027e0e60 + ldr r0, _0207b808 ; =gMapManager ldr r0, [r0] blx _ZN10MapManager18func_ov00_02083328Ev cmp r0, #0 beq _0207b7f0 - ldr r0, _0207b808 ; =data_027e0e60 + ldr r0, _0207b808 ; =gMapManager ldrb r1, [r4, #0x12] ldr r0, [r0] blx _ZN10MapManager18func_ov00_02083318Ei @@ -1027,7 +1027,7 @@ _0207b7f0: thumb_func_end func_ov00_0207b5bc _0207b800: .word data_027e0fe4 _0207b804: .word 0x414e4353 -_0207b808: .word data_027e0e60 +_0207b808: .word gMapManager _0207b80c: .word data_027e0f94 _0207b810: .word data_027e0fac _0207b814: .word data_027e0f7c @@ -5073,7 +5073,7 @@ func_ov00_0207e4b0: ; 0x0207e4b0 func_ov00_0207e4b8: ; 0x0207e4b8 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x7c - ldr r3, _0207e92c ; =data_027e0e60 + ldr r3, _0207e92c ; =gMapManager mov r9, r1 ldr r1, [r3] mov r8, r0 @@ -5376,7 +5376,7 @@ _0207e8f4: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_0207e4b8 -_0207e92c: .word data_027e0e60 +_0207e92c: .word gMapManager _0207e930: .word data_027e0f6c _0207e934: .word data_ov00_020ec824 _0207e938: .word func_ov00_0207e968 @@ -5415,7 +5415,7 @@ func_ov00_0207e96c: ; 0x0207e96c func_ov00_0207e970: ; 0x0207e970 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xc4 - ldr r4, _0207ee00 ; =data_027e0e60 + ldr r4, _0207ee00 ; =gMapManager mov r9, r1 ldr r1, [r4] mov r8, r0 @@ -5723,7 +5723,7 @@ _0207edd0: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_0207e970 -_0207ee00: .word data_027e0e60 +_0207ee00: .word gMapManager _0207ee04: .word data_027e0f6c _0207ee08: .word data_ov00_020ec864 _0207ee0c: .word func_ov00_0207e968 @@ -5734,7 +5734,7 @@ _0207ee10: .word func_ov00_0207e96c func_ov00_0207ee14: ; 0x0207ee14 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x74 - ldr r0, _0207efdc ; =data_027e0e60 + ldr r0, _0207efdc ; =gMapManager mov r9, r1 ldr r1, [r0] add r0, sp, #8 @@ -5851,7 +5851,7 @@ _0207efbc: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_0207ee14 -_0207efdc: .word data_027e0e60 +_0207efdc: .word gMapManager _0207efe0: .word data_027e0f6c _0207efe4: .word data_ov00_020ec8a4 _0207efe8: .word func_ov00_0207e968 @@ -5863,7 +5863,7 @@ _0207eff0: .word 0x0000ffff func_ov00_0207eff4: ; 0x0207eff4 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x24 - ldr r0, _0207f0f4 ; =data_027e0e60 + ldr r0, _0207f0f4 ; =gMapManager mov r8, r1 ldr r1, [r0] add r0, sp, #8 @@ -5930,7 +5930,7 @@ _0207f0e8: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov00_0207eff4 -_0207f0f4: .word data_027e0e60 +_0207f0f4: .word gMapManager _0207f0f8: .word data_027e0f6c _0207f0fc: .word data_ov00_020ec8e4 @@ -5944,7 +5944,7 @@ func_ov00_0207f100: ; 0x0207f100 arm_func_start func_ov00_0207f104 func_ov00_0207f104: ; 0x0207f104 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r3, _0207f1f0 ; =data_027e0e60 + ldr r3, _0207f1f0 ; =gMapManager mov r5, r1 ldr r1, [r3] mov r6, r0 @@ -6005,14 +6005,14 @@ _0207f1cc: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov00_0207f104 -_0207f1f0: .word data_027e0e60 +_0207f1f0: .word gMapManager .global func_ov00_0207f1f4 arm_func_start func_ov00_0207f1f4 func_ov00_0207f1f4: ; 0x0207f1f4 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x3c - ldr r0, _0207f318 ; =data_027e0e60 + ldr r0, _0207f318 ; =gMapManager mov r9, r1 ldr r1, [r0] mov r8, r2 @@ -6088,7 +6088,7 @@ _0207f30c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov00_0207f1f4 -_0207f318: .word data_027e0e60 +_0207f318: .word gMapManager _0207f31c: .word data_027e0f6c _0207f320: .word data_ov00_020ec924 diff --git a/asm/ov00/ov00_02086cd0.inc b/asm/ov00/ov00_02086cd0.inc index e7aea8bc..ffeb319f 100644 --- a/asm/ov00/ov00_02086cd0.inc +++ b/asm/ov00/ov00_02086cd0.inc @@ -103,7 +103,7 @@ .extern data_027e0d38 .extern data_027e0d3c .extern data_027e0d44 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov00/ov00_02086cd0.s b/asm/ov00/ov00_02086cd0.s index 619704f2..b6547b46 100644 --- a/asm/ov00/ov00_02086cd0.s +++ b/asm/ov00/ov00_02086cd0.s @@ -253,7 +253,7 @@ _02086fd0: str r0, [sp, #0xc] mov r1, #1 str r1, [sp, #0x10] - ldr r0, _02087088 ; =data_027e0e60 + ldr r0, _02087088 ; =gMapManager add r1, sp, #0x30 ldr r0, [r0] add r2, sp, #0x24 @@ -279,7 +279,7 @@ _02087068: _0208707c: .word data_ov00_020e2fb4 _02087080: .word data_027e0d38 _02087084: .word data_027e071c -_02087088: .word data_027e0e60 +_02087088: .word gMapManager .global func_ov00_0208708c arm_func_start func_ov00_0208708c @@ -445,7 +445,7 @@ _0208729c: strh r1, [r0, #0x18] cmp ip, #2 blo _0208729c - ldr r0, _020872e4 ; =data_027e0e60 + ldr r0, _020872e4 ; =gMapManager ldrb r2, [r5, #0x1b8] ldr r0, [r0] add r1, sp, #0 @@ -460,7 +460,7 @@ _0208729c: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov00_0208726c -_020872e4: .word data_027e0e60 +_020872e4: .word gMapManager .global func_ov00_020872e8 arm_func_start func_ov00_020872e8 @@ -782,7 +782,7 @@ _02087724: strh r1, [r0, #0x18] cmp r3, #2 blo _02087724 - ldr r0, _0208784c ; =data_027e0e60 + ldr r0, _0208784c ; =gMapManager ldrb r2, [r7, #0x1b8] ldr r0, [r0] add r1, sp, #0x6c @@ -855,7 +855,7 @@ _02087830: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov00_020876bc -_0208784c: .word data_027e0e60 +_0208784c: .word gMapManager .global func_ov00_02087850 arm_func_start func_ov00_02087850 @@ -892,7 +892,7 @@ _020878b8: strh r1, [r0, #0x18] cmp r3, #2 blo _020878b8 - ldr r0, _020879e0 ; =data_027e0e60 + ldr r0, _020879e0 ; =gMapManager ldrb r2, [r7, #0x1b8] ldr r0, [r0] add r1, sp, #0x6c @@ -965,7 +965,7 @@ _020879c4: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov00_02087850 -_020879e0: .word data_027e0e60 +_020879e0: .word gMapManager .global func_ov00_020879e4 arm_func_start func_ov00_020879e4 @@ -1329,7 +1329,7 @@ func_ov00_02087e14: ; 0x02087e14 arm_func_start func_ov00_02087e8c func_ov00_02087e8c: ; 0x02087e8c stmdb sp!, {r3, lr} - ldr r0, _02087eec ; =data_027e0e60 + ldr r0, _02087eec ; =gMapManager mov r1, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083938Ei @@ -1357,7 +1357,7 @@ _02087ee4: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov00_02087e8c -_02087eec: .word data_027e0e60 +_02087eec: .word gMapManager .global func_ov00_02087ef0 arm_func_start func_ov00_02087ef0 @@ -1475,7 +1475,7 @@ _0208800c: .word func_ov00_020a1888 func_ov00_02088010: ; 0x02088010 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc - ldr r2, _02088070 ; =data_027e0e60 + ldr r2, _02088070 ; =gMapManager mov r5, r0 ldr r0, [r2] mov r4, r1 @@ -1499,7 +1499,7 @@ func_ov00_02088010: ; 0x02088010 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov00_02088010 -_02088070: .word data_027e0e60 +_02088070: .word gMapManager .global func_ov00_02088074 arm_func_start func_ov00_02088074 @@ -2664,7 +2664,7 @@ func_ov00_0208901c: ; 0x0208901c func_ov00_02089068: ; 0x02089068 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x4c - ldr r3, _02089164 ; =data_027e0e60 + ldr r3, _02089164 ; =gMapManager mov r5, r0 ldr r0, [r3] mov r4, r2 @@ -2697,7 +2697,7 @@ _020890b8: str r0, [sp, #0x20] b _0208912c _020890ec: - ldr r0, _02089164 ; =data_027e0e60 + ldr r0, _02089164 ; =gMapManager add r1, sp, #0xc ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -2731,7 +2731,7 @@ _0208912c: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov00_02089068 -_02089164: .word data_027e0e60 +_02089164: .word gMapManager .global func_ov00_02089168 arm_func_start func_ov00_02089168 @@ -3290,7 +3290,7 @@ _02089910: strh r1, [r0, #0x18] cmp r3, #2 blo _02089910 - ldr r0, _02089a28 ; =data_027e0e60 + ldr r0, _02089a28 ; =gMapManager ldrb r2, [r9, #0x1b8] ldr r0, [r0] add r1, sp, #0x20 @@ -3360,7 +3360,7 @@ _020899b4: .align 2, 0 arm_func_end func_ov00_0208967c _02089a24: .word gAdventureFlags -_02089a28: .word data_027e0e60 +_02089a28: .word gMapManager .global func_ov00_02089a2c arm_func_start func_ov00_02089a2c @@ -4133,7 +4133,7 @@ func_ov00_0208a464: ; 0x0208a464 bl func_ov00_0208edd8 b _0208a77c _0208a4d0: - ldr r1, _0208a844 ; =data_027e0e60 + ldr r1, _0208a844 ; =gMapManager add r0, sp, #0x18 ldr r1, [r1] bl _ZN10MapManager18func_ov00_02084100EiPS_ @@ -4305,25 +4305,25 @@ _0208a4d0: add r1, sp, #0x20 bl func_ov00_0208ed74 _0208a77c: - ldr r0, _0208a844 ; =data_027e0e60 + ldr r0, _0208a844 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk28Ev - ldr r1, _0208a844 ; =data_027e0e60 + ldr r1, _0208a844 ; =gMapManager mov r4, r0 ldr r0, [r1] bl _ZN10MapManager17Get_MapData_Unk2aEv - ldr r1, _0208a844 ; =data_027e0e60 + ldr r1, _0208a844 ; =gMapManager mov r5, r0 ldr r0, [r1] ldr r1, [r6, #0x308] bl _ZN10MapManager18func_ov00_020839d4Ev strb r0, [r6, #0x320] - ldr r0, _0208a844 ; =data_027e0e60 + ldr r0, _0208a844 ; =gMapManager ldr r1, [r6, #0x310] ldr r0, [r0] bl _ZN10MapManager18func_ov00_020839f8Ev strb r0, [r6, #0x321] - ldr r0, _0208a844 ; =data_027e0e60 + ldr r0, _0208a844 ; =gMapManager ldr r1, [r6, #0x314] ldr r0, [r0] bl _ZN10MapManager18func_ov00_020839d4Ev @@ -4338,7 +4338,7 @@ _0208a77c: cmp r0, r4 subge r0, r4, #1 strgeb r0, [r6, #0x322] - ldr r0, _0208a844 ; =data_027e0e60 + ldr r0, _0208a844 ; =gMapManager ldr r1, [r6, #0x31c] ldr r0, [r0] bl _ZN10MapManager18func_ov00_020839f8Ev @@ -4357,7 +4357,7 @@ _0208a77c: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_0208a464 -_0208a844: .word data_027e0e60 +_0208a844: .word gMapManager _0208a848: .word data_027e0f94 .global func_ov00_0208a84c @@ -4907,7 +4907,7 @@ _0208af04: strh r2, [r0, #0x18] cmp r5, #2 blo _0208af04 - ldr r0, _0208b114 ; =data_027e0e60 + ldr r0, _0208b114 ; =gMapManager add r1, sp, #0x18 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083928EPci @@ -5037,7 +5037,7 @@ _0208b0dc: ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov00_0208aed8 -_0208b114: .word data_027e0e60 +_0208b114: .word gMapManager _0208b118: .word data_027e0f64 .global func_ov00_0208b11c @@ -5851,7 +5851,7 @@ _0208b9e0: .word func_ov00_0208ba58 arm_func_start func_ov00_0208b9e4 func_ov00_0208b9e4: ; 0x0208b9e4 add r2, r0, r1 - ldr r0, _0208ba00 ; =data_027e0e60 + ldr r0, _0208ba00 ; =gMapManager ldrb r1, [r2, #0x2e] ldr ip, _0208ba04 ; =_ZN10MapManager18func_ov00_02084be0Eii ldrb r2, [r2, #0x2c] @@ -5859,7 +5859,7 @@ func_ov00_0208b9e4: ; 0x0208b9e4 bx ip .align 2, 0 arm_func_end func_ov00_0208b9e4 -_0208ba00: .word data_027e0e60 +_0208ba00: .word gMapManager _0208ba04: .word _ZN10MapManager18func_ov00_02084be0Eii .global func_ov00_0208ba08 @@ -5867,7 +5867,7 @@ _0208ba04: .word _ZN10MapManager18func_ov00_02084be0Eii func_ov00_0208ba08: ; 0x0208ba08 stmdb sp!, {r3, lr} add ip, r0, r1 - ldr r0, _0208ba2c ; =data_027e0e60 + ldr r0, _0208ba2c ; =gMapManager mov r3, r2 ldrb r1, [ip, #0x2e] ldrb r2, [ip, #0x2c] @@ -5876,7 +5876,7 @@ func_ov00_0208ba08: ; 0x0208ba08 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov00_0208ba08 -_0208ba2c: .word data_027e0e60 +_0208ba2c: .word gMapManager .global func_ov00_0208ba30 arm_func_start func_ov00_0208ba30 @@ -7394,7 +7394,7 @@ _0208cd78: mov r2, #0x18 str r4, [sp] bl func_0204f614 - ldr r0, _0208ce80 ; =data_027e0e60 + ldr r0, _0208ce80 ; =gMapManager add r2, sp, #0x24 ldr r0, [r0] mov r1, r5 @@ -7459,7 +7459,7 @@ _0208ce54: arm_func_end func_ov00_0208cd48 _0208ce78: .word func_ov00_0207f100 _0208ce7c: .word func_ov00_0208d018 -_0208ce80: .word data_027e0e60 +_0208ce80: .word gMapManager .global func_ov00_0208ce84 arm_func_start func_ov00_0208ce84 @@ -7619,7 +7619,7 @@ _0208d064: mov r2, #0x18 str r4, [sp] bl func_0204f614 - ldr r0, _0208d1f4 ; =data_027e0e60 + ldr r0, _0208d1f4 ; =gMapManager add r2, sp, #0x44 ldr r0, [r0] mov r1, r5 @@ -7719,7 +7719,7 @@ _0208d1c8: arm_func_end func_ov00_0208d01c _0208d1ec: .word func_ov00_0207f100 _0208d1f0: .word func_ov00_0208d018 -_0208d1f4: .word data_027e0e60 +_0208d1f4: .word gMapManager .global func_ov00_0208d1f8 arm_func_start func_ov00_0208d1f8 @@ -10562,7 +10562,7 @@ func_ov00_0208f794: ; 0x0208f794 bl func_020078f4 ldr r6, _0208f9dc ; =data_ov00_020db010 ldr r11, _0208f9e0 ; =data_ov00_020db030 - ldr r4, _0208f9e4 ; =data_027e0e60 + ldr r4, _0208f9e4 ; =gMapManager mov r9, #0 add r5, sp, #4 _0208f7d4: @@ -10710,7 +10710,7 @@ _0208f9ac: arm_func_end func_ov00_0208f794 _0208f9dc: .word data_ov00_020db010 _0208f9e0: .word data_ov00_020db030 -_0208f9e4: .word data_027e0e60 +_0208f9e4: .word gMapManager _0208f9e8: .word data_027e0f68 .global func_ov00_0208f9ec @@ -10980,7 +10980,7 @@ _0208fcd4: cmp r1, r0 cmplt r6, r1 bge _0208fd30 - ldr r4, _0208fef4 ; =data_027e0e60 + ldr r4, _0208fef4 ; =gMapManager _0208fcf8: ldr r0, [r4] ldr r2, [r5, #0x16c] @@ -10998,7 +10998,7 @@ _0208fd20: cmp r6, r1 blt _0208fcf8 _0208fd30: - ldr r0, _0208fef4 ; =data_027e0e60 + ldr r0, _0208fef4 ; =gMapManager ldr r2, [r5, #0x16c] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084be0Eii @@ -11009,7 +11009,7 @@ _0208fd30: add r6, r0, #1 cmp r6, r1 bge _0208fd98 - ldr r4, _0208fef4 ; =data_027e0e60 + ldr r4, _0208fef4 ; =gMapManager _0208fd60: ldr r0, [r4] ldr r2, [r5, #0x16c] @@ -11039,7 +11039,7 @@ _0208fda8: movne r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0208fdc0: - ldr r0, _0208fef4 ; =data_027e0e60 + ldr r0, _0208fef4 ; =gMapManager ldr r1, [r5, #0x160] ldr r0, [r0] ldr r2, [r5, #0x16c] @@ -11052,7 +11052,7 @@ _0208fdc0: cmp r4, r0 mov r8, #0 bge _0208fe2c - ldr r6, _0208fef4 ; =data_027e0e60 + ldr r6, _0208fef4 ; =gMapManager mov r7, #1 _0208fdfc: ldr r0, [r6] @@ -11078,7 +11078,7 @@ _0208fe3c: mov r6, #1 cmp r7, r0 bge _0208fe80 - ldr r4, _0208fef4 ; =data_027e0e60 + ldr r4, _0208fef4 ; =gMapManager _0208fe54: ldr r0, [r4] ldr r2, [r5, #0x16c] @@ -11108,7 +11108,7 @@ _0208fea8: mov r6, #0 cmp r0, #0 ble _0208feec - ldr r4, _0208fef4 ; =data_027e0e60 + ldr r4, _0208fef4 ; =gMapManager _0208febc: ldr r1, [r5, #0x164] ldr r0, [r4] @@ -11127,7 +11127,7 @@ _0208feec: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov00_0208fcb4 -_0208fef4: .word data_027e0e60 +_0208fef4: .word gMapManager .global func_ov00_0208fef8 arm_func_start func_ov00_0208fef8 @@ -11268,7 +11268,7 @@ _02090004: bl func_01ff9bc4 cmp r5, #0xa bge _020902d4 - ldr r1, _02090320 ; =data_027e0e60 + ldr r1, _02090320 ; =gMapManager add r0, sp, #0x18 ldr r1, [r1] add r2, sp, #0x5c @@ -11278,7 +11278,7 @@ _02090004: bl func_01ff9ec0 cmp r0, #0x2000 blt _02090144 - ldr r0, _02090320 ; =data_027e0e60 + ldr r0, _02090320 ; =gMapManager add r1, sp, #0x18 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083e70Ev @@ -11289,13 +11289,13 @@ _02090144: add r5, r5, #1 b _020902f8 _02090150: - ldr r0, _02090320 ; =data_027e0e60 + ldr r0, _02090320 ; =gMapManager add r1, sp, #0x18 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev cmp r0, #0 bne _020902f8 - ldr r0, _02090320 ; =data_027e0e60 + ldr r0, _02090320 ; =gMapManager add r1, sp, #0x18 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084164Ev @@ -11303,7 +11303,7 @@ _02090150: subeq r6, r6, #1 addeq r5, r5, #1 beq _020902f8 - ldr r0, _02090320 ; =data_027e0e60 + ldr r0, _02090320 ; =gMapManager add r1, sp, #0x18 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_54Ev @@ -11418,7 +11418,7 @@ _02090310: .word data_027e0f94 _02090314: .word data_027e0fe4 _02090318: .word 0x534e414b _0209031c: .word data_027e0764 -_02090320: .word data_027e0e60 +_02090320: .word gMapManager _02090324: .word 0x5053424c _02090328: .word data_027e0fe8 @@ -11431,7 +11431,7 @@ func_ov00_0209032c: ; 0x0209032c ldr r0, [r7, #0x168] cmp r6, r0 ldmgeia sp!, {r3, r4, r5, r6, r7, pc} - ldr r4, _02090374 ; =data_027e0e60 + ldr r4, _02090374 ; =gMapManager mov r5, #0 _0209034c: ldr r0, [r4] @@ -11446,7 +11446,7 @@ _0209034c: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov00_0209032c -_02090374: .word data_027e0e60 +_02090374: .word gMapManager .global func_ov00_02090378 arm_func_start func_ov00_02090378 @@ -13284,7 +13284,7 @@ func_ov00_020915e8: ; 0x020915e8 _0209167c: cmp r1, #0 bne _0209173c - ldr r0, _020917ac ; =data_027e0e60 + ldr r0, _020917ac ; =gMapManager ldr r6, _020917b0 ; =0x000004cd ldr r0, [r0] bl _ZN10MapManager18func_ov00_020848b8Ev @@ -13314,7 +13314,7 @@ _0209167c: str r0, [sp, #8] str r1, [sp, #0xc] str r1, [sp, #0x10] - ldr r0, _020917ac ; =data_027e0e60 + ldr r0, _020917ac ; =gMapManager add r1, sp, #0x34 ldr r0, [r0] mov r3, r2 @@ -13361,7 +13361,7 @@ _0209173c: arm_func_end func_ov00_020915e8 _020917a4: .word data_027e0d38 _020917a8: .word data_027e10a4 -_020917ac: .word data_027e0e60 +_020917ac: .word gMapManager _020917b0: .word 0x000004cd _020917b4: .word 0x0000ffff @@ -13671,7 +13671,7 @@ _02091bd4: ldrb r0, [r5, #0x18] cmp r0, #0 beq _02091ce0 - ldr r0, _02091d4c ; =data_027e0e60 + ldr r0, _02091d4c ; =gMapManager ldr r4, _02091d50 ; =0x000004cd ldr r0, [r0] bl _ZN10MapManager18func_ov00_020848b8Ev @@ -13701,7 +13701,7 @@ _02091bd4: str r0, [sp, #8] str r1, [sp, #0xc] str r1, [sp, #0x10] - ldr r0, _02091d4c ; =data_027e0e60 + ldr r0, _02091d4c ; =gMapManager add r1, sp, #0x5c ldr r0, [r0] mov r3, r2 @@ -13751,7 +13751,7 @@ _02091d3c: .word data_027e0f94 _02091d40: .word data_027e0fac _02091d44: .word data_027e10a4 _02091d48: .word data_027e0d38 -_02091d4c: .word data_027e0e60 +_02091d4c: .word gMapManager _02091d50: .word 0x000004cd _02091d54: .word 0x0000ffff @@ -15098,7 +15098,7 @@ _0209309c: strle r0, [sp, #0x104] b _020930d4 _020930b4: - ldr r0, _02093208 ; =data_027e0e60 + ldr r0, _02093208 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082538Ev add r3, sp, #0x28 @@ -15188,7 +15188,7 @@ _020931f8: .word data_027e0f94 _020931fc: .word 0x00001ccd _02093200: .word 0xffffe333 _02093204: .word 0x000004cd -_02093208: .word data_027e0e60 +_02093208: .word gMapManager .global func_ov00_0209320c arm_func_start func_ov00_0209320c @@ -15391,7 +15391,7 @@ _0209349c: strgt r0, [r4, #8] ldmia sp!, {r3, r4, pc} _020934c8: - ldr r0, _02093504 ; =data_027e0e60 + ldr r0, _02093504 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082538Ev add r3, sp, #0 @@ -15408,7 +15408,7 @@ _020934c8: .align 2, 0 arm_func_end func_ov00_020933d4 _02093500: .word data_027e0f94 -_02093504: .word data_027e0e60 +_02093504: .word gMapManager .global func_ov00_02093508 arm_func_start func_ov00_02093508 @@ -16155,7 +16155,7 @@ func_ov00_02093e00: ; 0x02093e00 sub sp, sp, #0x70 mov r10, r0 ldr r1, [r10, #4] - ldr r0, _020940cc ; =data_027e0e60 + ldr r0, _020940cc ; =gMapManager orr r1, r1, #0x800 str r1, [r10, #4] ldr r2, [r10, #0x18] @@ -16240,7 +16240,7 @@ _02093e70: strb r5, [sp, #0x54] strb r5, [sp, #0x55] bl _ZN14AdventureFlags15Get_FlagsUnk_00EiP9FlagsUnk2 - ldr r0, _020940cc ; =data_027e0e60 + ldr r0, _020940cc ; =gMapManager add r1, sp, #0x40 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020838f8EPi @@ -16272,7 +16272,7 @@ _02093f80: add r0, r8, #2 cmp r8, r0 bge _0209406c - ldr r4, _020940cc ; =data_027e0e60 + ldr r4, _020940cc ; =gMapManager add r6, sp, #6 mov r5, #1 add r11, sp, #4 @@ -16340,7 +16340,7 @@ _020940ac: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_02093e00 -_020940cc: .word data_027e0e60 +_020940cc: .word gMapManager _020940d0: .word 0x00000e66 _020940d4: .word gAdventureFlags @@ -17651,7 +17651,7 @@ func_ov00_02094e6c: ; 0x02094e6c strb r0, [r10] mov r5, r2 strh r6, [r10, #2] - ldr r0, _02094f84 ; =data_027e0e60 + ldr r0, _02094f84 ; =gMapManager strh r5, [r10, #4] ldr r0, [r0] mov r9, r3 @@ -17659,7 +17659,7 @@ func_ov00_02094e6c: ; 0x02094e6c ldrh r1, [r10, #2] bl func_02002c14 mov r1, r0, lsl #0xc - ldr r0, _02094f84 ; =data_027e0e60 + ldr r0, _02094f84 ; =gMapManager str r1, [r10, #0xc] ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk2aEv @@ -17718,7 +17718,7 @@ _02094f40: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_02094e6c -_02094f84: .word data_027e0e60 +_02094f84: .word gMapManager _02094f88: .word data_027e0ce0 _02094f8c: .word func_ov00_02094fa8 _02094f90: .word func_ov00_02094f94 @@ -17762,13 +17762,13 @@ func_ov00_02094fbc: ; 0x02094fbc cmpne r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} - ldr r0, _02095124 ; =data_027e0e60 + ldr r0, _02095124 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk28Ev ldrh r1, [r4, #2] bl func_02002c14 mov r1, r0, lsl #0xc - ldr r0, _02095124 ; =data_027e0e60 + ldr r0, _02095124 ; =gMapManager str r1, [r4, #0xc] ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk2aEv @@ -17842,7 +17842,7 @@ _0209510c: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov00_02094fbc -_02095124: .word data_027e0e60 +_02095124: .word gMapManager _02095128: .word data_027e0ce0 _0209512c: .word func_ov00_02094fa8 _02095130: .word func_ov00_02094f94 @@ -17958,7 +17958,7 @@ func_ov00_02095258: ; 0x02095258 func_ov00_02095278: ; 0x02095278 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 - ldr r3, _0209530c ; =data_027e0e60 + ldr r3, _0209530c ; =gMapManager add ip, sp, #0xc mov r4, r0 mov r6, r1 @@ -17995,7 +17995,7 @@ func_ov00_02095278: ; 0x02095278 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_02095278 -_0209530c: .word data_027e0e60 +_0209530c: .word gMapManager .global func_ov00_02095310 arm_func_start func_ov00_02095310 @@ -18171,26 +18171,26 @@ func_ov00_020954a0: ; 0x020954a0 mov r5, r1 bl func_ov00_020953fc ldr r1, _0209554c ; =data_ov00_020e3040 - ldr r0, _02095550 ; =data_027e0e60 + ldr r0, _02095550 ; =gMapManager str r1, [r6] ldrb r1, [r5, #1] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083bacEv - ldr r2, _02095550 ; =data_027e0e60 + ldr r2, _02095550 ; =gMapManager mov r4, r0 ldrb r1, [r5, #2] ldr r0, [r2] bl _ZN10MapManager18func_ov00_02083b84Ev mov r3, #0x5000 rsb r3, r3, #0 - ldr r2, _02095550 ; =data_027e0e60 + ldr r2, _02095550 ; =gMapManager str r0, [sp, #0xc] ldrb r1, [r5, #3] ldr r0, [r2] str r3, [sp, #0x10] str r4, [sp, #0x14] bl _ZN10MapManager18func_ov00_02083bfcEv - ldr r2, _02095550 ; =data_027e0e60 + ldr r2, _02095550 ; =gMapManager mov r4, r0 ldrb r1, [r5, #4] ldr r0, [r2] @@ -18211,7 +18211,7 @@ func_ov00_020954a0: ; 0x020954a0 .align 2, 0 arm_func_end func_ov00_020954a0 _0209554c: .word data_ov00_020e3040 -_02095550: .word data_027e0e60 +_02095550: .word gMapManager .global func_ov00_02095554 arm_func_start func_ov00_02095554 @@ -18222,26 +18222,26 @@ func_ov00_02095554: ; 0x02095554 mov r5, r1 bl func_ov00_020953fc ldr r1, _02095600 ; =data_ov00_020e3040 - ldr r0, _02095604 ; =data_027e0e60 + ldr r0, _02095604 ; =gMapManager str r1, [r6] ldrb r1, [r5, #1] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083bacEv - ldr r2, _02095604 ; =data_027e0e60 + ldr r2, _02095604 ; =gMapManager mov r4, r0 ldrb r1, [r5, #2] ldr r0, [r2] bl _ZN10MapManager18func_ov00_02083b84Ev mov r3, #0x5000 rsb r3, r3, #0 - ldr r2, _02095604 ; =data_027e0e60 + ldr r2, _02095604 ; =gMapManager str r0, [sp, #0xc] ldrb r1, [r5, #3] ldr r0, [r2] str r3, [sp, #0x10] str r4, [sp, #0x14] bl _ZN10MapManager18func_ov00_02083bfcEv - ldr r2, _02095604 ; =data_027e0e60 + ldr r2, _02095604 ; =gMapManager mov r4, r0 ldrb r1, [r5, #4] ldr r0, [r2] @@ -18262,7 +18262,7 @@ func_ov00_02095554: ; 0x02095554 .align 2, 0 arm_func_end func_ov00_02095554 _02095600: .word data_ov00_020e3040 -_02095604: .word data_027e0e60 +_02095604: .word gMapManager .global func_ov00_02095608 arm_func_start func_ov00_02095608 @@ -18311,11 +18311,11 @@ func_ov00_0209564c: ; 0x0209564c str r0, [r6, #0x14] str r0, [r6, #0x18] str r0, [r6, #0x1c] - ldr r0, _0209571c ; =data_027e0e60 + ldr r0, _0209571c ; =gMapManager ldrb r1, [r5, #1] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083bacEv - ldr r2, _0209571c ; =data_027e0e60 + ldr r2, _0209571c ; =gMapManager mov r4, r0 ldrb r1, [r5, #2] ldr r0, [r2] @@ -18353,7 +18353,7 @@ func_ov00_0209564c: ; 0x0209564c .align 2, 0 arm_func_end func_ov00_0209564c _02095718: .word data_ov00_020e301c -_0209571c: .word data_027e0e60 +_0209571c: .word gMapManager .global func_ov00_02095720 arm_func_start func_ov00_02095720 @@ -19067,7 +19067,7 @@ func_ov00_02095fe0: ; 0x02095fe0 addeq sp, sp, #0x34 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _0209614c ; =data_027e0d3c - ldr r1, _02096150 ; =data_027e0e60 + ldr r1, _02096150 ; =gMapManager ldr r2, [r0] ldr r0, [r1] ldr r1, [r2, #0x44] @@ -19084,7 +19084,7 @@ func_ov00_02095fe0: ; 0x02095fe0 cmp r8, r0 addeq sp, sp, #0x34 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r4, _02096150 ; =data_027e0e60 + ldr r4, _02096150 ; =gMapManager add r6, sp, #0x1c add r5, sp, #0x28 add r11, sp, #0x10 @@ -19154,7 +19154,7 @@ _02096128: .align 2, 0 arm_func_end func_ov00_02095fe0 _0209614c: .word data_027e0d3c -_02096150: .word data_027e0e60 +_02096150: .word gMapManager _02096154: .word 0x43525953 _02096158: .word 0x464f5243 _0209615c: .word data_ov00_020db050 diff --git a/asm/ov00/ov00_020980f4.inc b/asm/ov00/ov00_020980f4.inc index 5cf35abe..3a4153df 100644 --- a/asm/ov00/ov00_020980f4.inc +++ b/asm/ov00/ov00_020980f4.inc @@ -95,7 +95,7 @@ .extern data_027e0d38 .extern data_027e0db0 .extern data_027e0de4 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f78 diff --git a/asm/ov00/ov00_020980f4.s b/asm/ov00/ov00_020980f4.s index 5e1a5e28..bc9cb609 100644 --- a/asm/ov00/ov00_020980f4.s +++ b/asm/ov00/ov00_020980f4.s @@ -301,7 +301,7 @@ _0209848c: sub r2, r3, #2 mov ip, #0x47 mov r1, #0xff - ldr r0, _020985b8 ; =data_027e0e60 + ldr r0, _020985b8 ; =gMapManager str r2, [sp, #0x18] str ip, [sp, #0xc] str r3, [sp, #0x10] @@ -354,7 +354,7 @@ _020985a8: .word data_027e0f64 _020985ac: .word data_027e0f90 _020985b0: .word data_027e0c54 _020985b4: .word data_027e0db0 -_020985b8: .word data_027e0e60 +_020985b8: .word gMapManager _020985bc: .word data_027e0d38 .global func_ov00_020985c0 @@ -1469,7 +1469,7 @@ _020993b4: sub r2, r3, #2 mov r4, #0x47 mov r1, #0xff - ldr r0, _020994cc ; =data_027e0e60 + ldr r0, _020994cc ; =gMapManager str r2, [sp, #0x14] str r4, [sp, #8] str r3, [sp, #0xc] @@ -1535,7 +1535,7 @@ _020994bc: .word data_027e0f68 _020994c0: .word data_027e0f64 _020994c4: .word data_027e0c68 _020994c8: .word data_027e0db0 -_020994cc: .word data_027e0e60 +_020994cc: .word gMapManager _020994d0: .word data_027e0d38 _020994d4: .word 0x414e4353 @@ -5632,7 +5632,7 @@ func_ov00_0209c8f4: ; 0x0209c8f4 str r1, [r4, #0xfc] ldmia sp!, {r4, pc} _0209c93c: - ldr r0, _0209c954 ; =data_027e0e60 + ldr r0, _0209c954 ; =gMapManager add r1, r4, #0xf8 ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -5640,7 +5640,7 @@ _0209c93c: .align 2, 0 arm_func_end func_ov00_0209c8f4 _0209c950: .word data_027e0f94 -_0209c954: .word data_027e0e60 +_0209c954: .word gMapManager .global func_ov00_0209c958 arm_func_start func_ov00_0209c958 @@ -5743,11 +5743,11 @@ func_ov00_0209ca80: ; 0x0209ca80 bl func_01ffa8d4 ldr r1, _0209cbbc ; =0x04000444 mov r2, #0 - ldr r0, _0209cbc0 ; =data_027e0e60 + ldr r0, _0209cbc0 ; =gMapManager str r2, [r1] ldr r0, [r0] bl _ZN10MapManager18Get_MapData_Unk_d8Ev - ldr r1, _0209cbc0 ; =data_027e0e60 + ldr r1, _0209cbc0 ; =gMapManager mov r4, r0 ldr r0, [r1] bl _ZN10MapManager18Get_MapData_Unk_d0Ev @@ -5820,7 +5820,7 @@ func_ov00_0209ca80: ; 0x0209ca80 .align 2, 0 arm_func_end func_ov00_0209ca80 _0209cbbc: .word 0x04000444 -_0209cbc0: .word data_027e0e60 +_0209cbc0: .word gMapManager _0209cbc4: .word 0x04000470 _0209cbc8: .word 0x4210ffff _0209cbcc: .word 0x001f0080 @@ -5830,7 +5830,7 @@ _0209cbd0: .word 0x04000504 arm_func_start func_ov00_0209cbd4 func_ov00_0209cbd4: ; 0x0209cbd4 stmdb sp!, {r3, r4, r5, lr} - ldr r3, _0209cc2c ; =data_027e0e60 + ldr r3, _0209cc2c ; =gMapManager mov r5, r0 ldr r0, [r3] mov r4, r2 @@ -5853,7 +5853,7 @@ func_ov00_0209cbd4: ; 0x0209cbd4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov00_0209cbd4 -_0209cc2c: .word data_027e0e60 +_0209cc2c: .word gMapManager .global func_ov00_0209cc30 arm_func_start func_ov00_0209cc30 @@ -5888,7 +5888,7 @@ func_ov00_0209cc48: ; 0x0209cc48 ldrh r1, [r4, #0x1a] ldr r0, [r0] bl func_ov00_020c4648 - ldr r0, _0209cce0 ; =data_027e0e60 + ldr r0, _0209cce0 ; =gMapManager ldrh r1, [r4, #0x1c] ldrh r2, [r4, #0x1e] ldr r0, [r0] @@ -5915,7 +5915,7 @@ func_ov00_0209cc48: ; 0x0209cc48 arm_func_end func_ov00_0209cc48 _0209ccd8: .word gItemManager _0209ccdc: .word data_027e0fec -_0209cce0: .word data_027e0e60 +_0209cce0: .word gMapManager _0209cce4: .word data_027e0f68 .global func_ov00_0209cce8 @@ -6642,7 +6642,7 @@ func_ov00_0209d564: ; 0x0209d564 mov r2, #2 str r0, [sp, #0x28] ldr r1, [lr, #0x288] - ldr r0, _0209d6cc ; =data_027e0e60 + ldr r0, _0209d6cc ; =gMapManager str r1, [sp, #0x2c] ldr lr, [lr, #0x28c] add r1, sp, #0x40 @@ -6698,7 +6698,7 @@ _0209d694: arm_func_end func_ov00_0209d564 _0209d6c4: .word 0x0000ffff _0209d6c8: .word 0x00000333 -_0209d6cc: .word data_027e0e60 +_0209d6cc: .word gMapManager .global func_ov00_0209d6d0 arm_func_start func_ov00_0209d6d0 @@ -8276,7 +8276,7 @@ _0209e9c0: strh r2, [r0, #0x18] cmp ip, #2 blo _0209e9c0 - ldr r0, _0209eafc ; =data_027e0e60 + ldr r0, _0209eafc ; =gMapManager add r1, sp, #0xc ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083928EPci @@ -8290,7 +8290,7 @@ _0209e9c0: moveq r0, #1 movne r0, #0 strb r0, [r4, #0x165] - ldr r0, _0209eafc ; =data_027e0e60 + ldr r0, _0209eafc ; =gMapManager ldrb r1, [r4, #0x163] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083908EcPi @@ -8357,7 +8357,7 @@ _0209eae4: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_0209e994 -_0209eafc: .word data_027e0e60 +_0209eafc: .word gMapManager .global func_ov00_0209eb00 arm_func_start func_ov00_0209eb00 @@ -8448,7 +8448,7 @@ _0209ec14: cmp r2, #0 movne r0, #1 ldmneia sp!, {r4, pc} - ldr r0, _0209ecd0 ; =data_027e0e60 + ldr r0, _0209ecd0 ; =gMapManager ldrb r1, [r4, #0x162] ldr r0, [r0] mov r2, r3 @@ -8479,7 +8479,7 @@ _0209ec80: mov r3, #0 bl func_ov00_02087400 _0209ec9c: - ldr r0, _0209ecd0 ; =data_027e0e60 + ldr r0, _0209ecd0 ; =gMapManager ldrb r1, [r4, #0x16c] ldr r0, [r0] mov r2, #0 @@ -8496,7 +8496,7 @@ _0209ecc8: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_0209ebec -_0209ecd0: .word data_027e0e60 +_0209ecd0: .word gMapManager _0209ecd4: .word data_027e0f64 .global func_ov00_0209ecd8 @@ -8509,7 +8509,7 @@ func_ov00_0209ecd8: ; 0x0209ecd8 cmp r1, #1 b _0209ed08 _0209ecf0: - ldr r2, _0209ed14 ; =data_027e0e60 + ldr r2, _0209ed14 ; =gMapManager ldrb r1, [r0, #0x164] ldr r0, [r2] mov r2, #0 @@ -8521,7 +8521,7 @@ _0209ed08: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov00_0209ecd8 -_0209ed14: .word data_027e0e60 +_0209ed14: .word gMapManager .global func_ov00_0209ed18 arm_func_start func_ov00_0209ed18 @@ -12501,7 +12501,7 @@ func_ov00_020a1dc8: ; 0x020a1dc8 _020a1de8: cmp r2, #0 bne _020a1e4c - ldr r0, _020a1e54 ; =data_027e0e60 + ldr r0, _020a1e54 ; =gMapManager ldrb r1, [r4, #0x15c] ldrb r2, [r4, #0x29] ldr r0, [r0] @@ -12510,7 +12510,7 @@ _020a1de8: b _020a1e4c _020a1e0c: bl func_ov00_020a1e58 - ldr r0, _020a1e54 ; =data_027e0e60 + ldr r0, _020a1e54 ; =gMapManager ldrb r1, [r4, #0x15c] ldrb r2, [r4, #0x29] ldr r0, [r0] @@ -12530,7 +12530,7 @@ _020a1e4c: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_020a1dc8 -_020a1e54: .word data_027e0e60 +_020a1e54: .word gMapManager .global func_ov00_020a1e58 arm_func_start func_ov00_020a1e58 @@ -12611,11 +12611,11 @@ func_ov00_020a1f24: ; 0x020a1f24 ldr r0, [r0, #0x15c] cmp r0, #0x24 bne _020a1f90 - ldr r0, _020a1fc8 ; =data_027e0e60 + ldr r0, _020a1fc8 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082538Ev ldr r2, [r0] - ldr r1, _020a1fc8 ; =data_027e0e60 + ldr r1, _020a1fc8 ; =gMapManager str r2, [r4, #0x18] ldr r2, [r0, #4] str r2, [r4, #0x1c] @@ -12647,7 +12647,7 @@ _020a1f90: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_020a1f24 -_020a1fc8: .word data_027e0e60 +_020a1fc8: .word gMapManager _020a1fcc: .word data_027e0f94 .global func_ov00_020a1fd0 @@ -12736,14 +12736,14 @@ func_ov00_020a1fd0: ; 0x020a1fd0 add r5, r0, r2 b _020a21d0 _020a2118: - ldr r0, _020a2224 ; =data_027e0e60 + ldr r0, _020a2224 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082424Ev rsb r0, r0, #0 sub r0, r0, #0x4000 cmp r4, r0 blt _020a21d0 - ldr r0, _020a2224 ; =data_027e0e60 + ldr r0, _020a2224 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082424Ev add r0, r4, r0 @@ -12806,7 +12806,7 @@ _020a21d0: .align 2, 0 arm_func_end func_ov00_020a1fd0 _020a2220: .word data_027e0fac -_020a2224: .word data_027e0e60 +_020a2224: .word gMapManager .global func_ov00_020a2228 arm_func_start func_ov00_020a2228 @@ -12833,7 +12833,7 @@ func_ov00_020a222c: ; 0x020a222c ldr r0, [r4, #0x28] sub r1, r1, #0x1000 cmp r0, r1 - ldr r0, _020a22b4 ; =data_027e0e60 + ldr r0, _020a22b4 ; =gMapManager strgt r1, [r4, #0x28] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082424Ev @@ -12843,7 +12843,7 @@ func_ov00_020a222c: ; 0x020a222c add r0, r1, r0 cmp r2, r0 ldmgeia sp!, {r4, pc} - ldr r0, _020a22b4 ; =data_027e0e60 + ldr r0, _020a22b4 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082424Ev ldr r1, [r4, #0x1c] @@ -12853,7 +12853,7 @@ func_ov00_020a222c: ; 0x020a222c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_020a222c -_020a22b4: .word data_027e0e60 +_020a22b4: .word gMapManager .global func_ov00_020a22b8 arm_func_start func_ov00_020a22b8 @@ -13107,12 +13107,12 @@ _020a2614: mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 beq _020a2680 - ldr r0, _020a26e0 ; =data_027e0e60 + ldr r0, _020a26e0 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_06Ev cmp r0, #0 bne _020a2680 - ldr r0, _020a26e0 ; =data_027e0e60 + ldr r0, _020a26e0 ; =gMapManager mov r1, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083938Ei @@ -13157,7 +13157,7 @@ _020a2680: .align 2, 0 arm_func_end func_ov00_020a23a4 _020a26dc: .word data_027e0d38 -_020a26e0: .word data_027e0e60 +_020a26e0: .word gMapManager .global func_ov00_020a26e4 arm_func_start func_ov00_020a26e4 @@ -13180,7 +13180,7 @@ func_ov00_020a26e4: ; 0x020a26e4 stmia sp, {r0, r3} mov r1, #0 str r1, [sp, #8] - ldr r0, _020a2758 ; =data_027e0e60 + ldr r0, _020a2758 ; =gMapManager add r1, sp, #0xc ldr r0, [r0] add r2, sp, #0x18 @@ -13193,7 +13193,7 @@ func_ov00_020a26e4: ; 0x020a26e4 ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov00_020a26e4 -_020a2758: .word data_027e0e60 +_020a2758: .word gMapManager .global func_ov00_020a275c arm_func_start func_ov00_020a275c @@ -13216,7 +13216,7 @@ func_ov00_020a275c: ; 0x020a275c stmia sp, {r0, r3} mov r1, #0 str r1, [sp, #8] - ldr r0, _020a27d0 ; =data_027e0e60 + ldr r0, _020a27d0 ; =gMapManager add r1, sp, #0xc ldr r0, [r0] add r2, sp, #0x18 @@ -13229,7 +13229,7 @@ func_ov00_020a275c: ; 0x020a275c ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov00_020a275c -_020a27d0: .word data_027e0e60 +_020a27d0: .word gMapManager .global func_ov00_020a27d4 arm_func_start func_ov00_020a27d4 @@ -13252,7 +13252,7 @@ func_ov00_020a27d4: ; 0x020a27d4 stmia sp, {r0, r3} mov r1, #0 str r1, [sp, #8] - ldr r0, _020a2848 ; =data_027e0e60 + ldr r0, _020a2848 ; =gMapManager add r1, sp, #0xc ldr r0, [r0] add r2, sp, #0x18 @@ -13265,7 +13265,7 @@ func_ov00_020a27d4: ; 0x020a27d4 ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov00_020a27d4 -_020a2848: .word data_027e0e60 +_020a2848: .word gMapManager .global func_ov00_020a284c arm_func_start func_ov00_020a284c @@ -13472,7 +13472,7 @@ _020a2b28: add r3, sp, #4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _020a2c04 ; =data_027e0e60 + ldr r0, _020a2c04 ; =gMapManager mov r1, r3 ldr r0, [r0] mov r2, #1 @@ -13522,7 +13522,7 @@ _020a2ba8: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_020a2adc -_020a2c04: .word data_027e0e60 +_020a2c04: .word gMapManager .global func_ov00_020a2c08 arm_func_start func_ov00_020a2c08 @@ -13770,7 +13770,7 @@ _020a2f18: cmp r5, #2 blo _020a2f18 ldr r1, [r4, #4] - ldr r0, _020a2ff0 ; =data_027e0e60 + ldr r0, _020a2ff0 ; =gMapManager ldrb r2, [r1, #0x1b8] ldr r0, [r0] add r1, sp, #0x10 @@ -13822,7 +13822,7 @@ _020a2fac: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov00_020a2e8c -_020a2ff0: .word data_027e0e60 +_020a2ff0: .word gMapManager .global func_ov00_020a2ff4 arm_func_start func_ov00_020a2ff4 @@ -13867,7 +13867,7 @@ _020a3074: cmp r5, #2 blo _020a3074 ldr r1, [r4, #4] - ldr r0, _020a3140 ; =data_027e0e60 + ldr r0, _020a3140 ; =gMapManager ldrb r2, [r1, #0x1b8] ldr r0, [r0] add r1, sp, #0x10 @@ -13916,7 +13916,7 @@ _020a3108: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov00_020a2ff4 -_020a3140: .word data_027e0e60 +_020a3140: .word gMapManager .global func_ov00_020a3144 arm_func_start func_ov00_020a3144 @@ -15289,7 +15289,7 @@ func_ov00_020a41e4: ; 0x020a41e4 mov r5, r2 mov r4, r3 bl func_ov00_020a5e9c - ldr r1, _020a42c8 ; =data_027e0e60 + ldr r1, _020a42c8 ; =gMapManager str r0, [r6] ldr r0, [r1] bl _ZN10MapManager18func_ov00_02082d08Ev @@ -15335,7 +15335,7 @@ func_ov00_020a41e4: ; 0x020a41e4 .align 2, 0 arm_func_end func_ov00_020a41e4 _020a42c4: .word data_027e0d38 -_020a42c8: .word data_027e0e60 +_020a42c8: .word gMapManager .global func_ov00_020a42cc arm_func_start func_ov00_020a42cc @@ -15351,7 +15351,7 @@ func_ov00_020a42cc: ; 0x020a42cc mov r5, r2 mov r4, r3 bl func_ov00_020a5e9c - ldr r1, _020a4344 ; =data_027e0e60 + ldr r1, _020a4344 ; =gMapManager str r0, [r6] ldr r0, [r1] bl _ZN10MapManager18func_ov00_02082d08Ev @@ -15372,7 +15372,7 @@ func_ov00_020a42cc: ; 0x020a42cc .align 2, 0 arm_func_end func_ov00_020a42cc _020a4340: .word data_027e0d38 -_020a4344: .word data_027e0e60 +_020a4344: .word gMapManager .global func_ov00_020a4348 arm_func_start func_ov00_020a4348 @@ -16228,14 +16228,14 @@ func_ov00_020a4dd0: ; 0x020a4dd0 strb r3, [r4, #0x37] str r3, [r4, #0x38] bl func_ov00_020a5508 - ldr r0, _020a4e08 ; =data_027e0e60 + ldr r0, _020a4e08 ; =gMapManager add r1, r4, #0x28 ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_020a4dd0 -_020a4e08: .word data_027e0e60 +_020a4e08: .word gMapManager .global func_ov00_020a4e0c arm_func_start func_ov00_020a4e0c diff --git a/asm/ov00/ov00_020b1498.inc b/asm/ov00/ov00_020b1498.inc index c94f1c44..a0a41016 100644 --- a/asm/ov00/ov00_020b1498.inc +++ b/asm/ov00/ov00_020b1498.inc @@ -183,7 +183,7 @@ .extern data_027e0d84 .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f78 diff --git a/asm/ov00/ov00_020b1498.s b/asm/ov00/ov00_020b1498.s index 5bfdb1fc..3abb7153 100644 --- a/asm/ov00/ov00_020b1498.s +++ b/asm/ov00/ov00_020b1498.s @@ -280,7 +280,7 @@ _020b1788: .word data_027e0f6c func_ov00_020b178c: ; 0x020b178c stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, lr} - ldr r3, _020b17e8 ; =data_027e0e60 + ldr r3, _020b17e8 ; =gMapManager ldrb r1, [sp, #0xc] mov r4, r0 ldrb r2, [sp, #0xd] @@ -288,7 +288,7 @@ func_ov00_020b178c: ; 0x020b178c bl _ZN10MapManager18func_ov00_02083e34Ecci cmp r0, r4 bgt _020b17d8 - ldr r0, _020b17e8 ; =data_027e0e60 + ldr r0, _020b17e8 ; =gMapManager add r1, sp, #0xc ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -304,7 +304,7 @@ _020b17d8: bx lr .align 2, 0 arm_func_end func_ov00_020b178c -_020b17e8: .word data_027e0e60 +_020b17e8: .word gMapManager .global func_ov00_020b17ec arm_func_start func_ov00_020b17ec @@ -444,14 +444,14 @@ func_ov00_020b199c: ; 0x020b199c mov r5, r1 mov r4, r2 bmi _020b19e4 - ldr r0, _020b1a48 ; =data_027e0e60 + ldr r0, _020b1a48 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk28Ev cmp r0, r6 ble _020b19e4 cmp r5, #0 blt _020b19e4 - ldr r0, _020b1a48 ; =data_027e0e60 + ldr r0, _020b1a48 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk2aEv cmp r0, r5 @@ -461,7 +461,7 @@ _020b19e4: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, pc} _020b19f0: - ldr r0, _020b1a48 ; =data_027e0e60 + ldr r0, _020b1a48 ; =gMapManager add r1, sp, #0 ldr r0, [r0] strb r6, [sp] @@ -478,7 +478,7 @@ _020b19f0: moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} _020b1a30: - ldr r0, _020b1a48 ; =data_027e0e60 + ldr r0, _020b1a48 ; =gMapManager add r1, sp, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084164Ev @@ -486,20 +486,20 @@ _020b1a30: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020b199c -_020b1a48: .word data_027e0e60 +_020b1a48: .word gMapManager .global func_ov00_020b1a4c arm_func_start func_ov00_020b1a4c func_ov00_020b1a4c: ; 0x020b1a4c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0xc0 - ldr r2, _020b1b48 ; =data_027e0e60 + ldr r2, _020b1b48 ; =gMapManager mov r8, r1 mov r9, r0 ldr r0, [r2] ldr r1, [r8] bl _ZN10MapManager18func_ov00_020839d4Ev - ldr r1, _020b1b48 ; =data_027e0e60 + ldr r1, _020b1b48 ; =gMapManager mov r5, r0 ldr r0, [r1] ldr r1, [r8, #8] @@ -559,7 +559,7 @@ _020b1b34: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov00_020b1a4c -_020b1b48: .word data_027e0e60 +_020b1b48: .word gMapManager _020b1b4c: .word func_ov00_020b1940 _020b1b50: .word data_ov00_020dc704 @@ -568,7 +568,7 @@ _020b1b50: .word data_ov00_020dc704 func_ov00_020b1b54: ; 0x020b1b54 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} - ldr r0, _020b1ba0 ; =data_027e0e60 + ldr r0, _020b1ba0 ; =gMapManager ldrb r1, [sp, #8] ldrb r2, [sp, #9] ldr r0, [r0] @@ -588,7 +588,7 @@ _020b1b90: bx lr .align 2, 0 arm_func_end func_ov00_020b1b54 -_020b1ba0: .word data_027e0e60 +_020b1ba0: .word gMapManager .global func_ov00_020b1ba4 arm_func_start func_ov00_020b1ba4 @@ -596,7 +596,7 @@ func_ov00_020b1ba4: ; 0x020b1ba4 stmdb sp!, {r3, lr} sub sp, sp, #0x10 ldr r2, [r0] - ldr r1, _020b1bf8 ; =data_027e0e60 + ldr r1, _020b1bf8 ; =gMapManager str r2, [sp, #4] ldr r2, [r0, #4] ldr r1, [r1] @@ -616,7 +616,7 @@ func_ov00_020b1ba4: ; 0x020b1ba4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov00_020b1ba4 -_020b1bf8: .word data_027e0e60 +_020b1bf8: .word gMapManager .global func_ov00_020b1bfc arm_func_start func_ov00_020b1bfc @@ -625,7 +625,7 @@ func_ov00_020b1bfc: ; 0x020b1bfc stmdb sp!, {r3, r4, r5, r6, r7, lr} ldrb r5, [sp, #0x1d] ldrb r6, [sp, #0x1c] - ldr r1, _020b1d38 ; =data_027e0e60 + ldr r1, _020b1d38 ; =gMapManager mov r7, r0 ldr r0, [r1] mov r1, r6 @@ -702,7 +702,7 @@ func_ov00_020b1bfc: ; 0x020b1bfc bx lr .align 2, 0 arm_func_end func_ov00_020b1bfc -_020b1d38: .word data_027e0e60 +_020b1d38: .word gMapManager .global func_ov00_020b1d3c arm_func_start func_ov00_020b1d3c @@ -1435,7 +1435,7 @@ func_ov00_020b2598: ; 0x020b2598 mov r3, #0 sub r2, r3, #2 mov r5, #0x47 - ldr r0, _020b2b90 ; =data_027e0e60 + ldr r0, _020b2b90 ; =gMapManager mov r1, #0xff str r2, [sp, #0xc] str r5, [sp] @@ -1830,7 +1830,7 @@ _020b2b88: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov00_020b2598 -_020b2b90: .word data_027e0e60 +_020b2b90: .word gMapManager _020b2b94: .word data_027e0d38 _020b2b98: .word data_02052f54 _020b2b9c: .word data_02051f54 @@ -2300,7 +2300,7 @@ func_ov00_020b30e4: ; 0x020b30e4 ldr r0, [r0, #4] cmp r2, r0 bne _020b325c - ldr r0, _020b3270 ; =data_027e0e60 + ldr r0, _020b3270 ; =gMapManager add r2, sp, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020838e8EjPi @@ -2375,7 +2375,7 @@ _020b325c: arm_func_end func_ov00_020b30e4 _020b3268: .word data_027e0d38 _020b326c: .word data_027e077c -_020b3270: .word data_027e0e60 +_020b3270: .word gMapManager _020b3274: .word gAdventureFlags .global func_ov00_020b3278 @@ -3112,7 +3112,7 @@ _020b3ce4: mov r0, r4 str r1, [sp, #8] bl _ZN13LinkStateBase12GetPlayerPosEv - ldr r1, _020b3d68 ; =data_027e0e60 + ldr r1, _020b3d68 ; =gMapManager ldr r5, [r0, #4] ldr r0, [r1] add r1, sp, #0 @@ -3137,7 +3137,7 @@ _020b3d58: .word data_027e0618 _020b3d5c: .word data_ov00_020eec9c _020b3d60: .word 0xffffe4cd _020b3d64: .word data_ov00_020e6194 -_020b3d68: .word data_027e0e60 +_020b3d68: .word gMapManager .global func_ov00_020b3d6c arm_func_start func_ov00_020b3d6c @@ -4606,7 +4606,7 @@ _020b4cfc: .word 0xffffb000 func_ov00_020b4d00: ; 0x020b4d00 push {r3, r4, lr} sub sp, #4 - ldr r1, _020b4d24 ; =data_027e0e60 + ldr r1, _020b4d24 ; =gMapManager add r4, r0, #0 add r2, r4, #0 ldr r1, [r1] @@ -4622,7 +4622,7 @@ func_ov00_020b4d00: ; 0x020b4d00 pop {r3, r4, pc} nop thumb_func_end func_ov00_020b4d00 -_020b4d24: .word data_027e0e60 +_020b4d24: .word gMapManager .global func_ov00_020b4d28 arm_func_start func_ov00_020b4d28 @@ -4645,7 +4645,7 @@ func_ov00_020b4d28: ; 0x020b4d28 rsblt r1, r4, #0 cmp r1, r0 ble _020b4ec8 - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r2, [r7, #0x20] ldr r1, [r7, #0x2c] ldr r0, [r0] @@ -4654,7 +4654,7 @@ func_ov00_020b4d28: ; 0x020b4d28 bl _ZN10MapManager18func_ov00_020839d4Ev ldr r3, [r7, #0x20] ldr r2, [r7, #0x2c] - ldr r1, _020b502c ; =data_027e0e60 + ldr r1, _020b502c ; =gMapManager mov r8, r0 sub r2, r3, r2 ldr r0, [r1] @@ -4664,14 +4664,14 @@ func_ov00_020b4d28: ; 0x020b4d28 mov r1, r0 cmp r2, #0 ble _020b4dd0 - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083c24Ei mov r8, r0 b _020b4e60 _020b4dd0: bge _020b4dec - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager mov r1, r8 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083c24Ei @@ -4697,24 +4697,24 @@ _020b4dec: str ip, [r3, #4] adds r0, r2, r0, ror #31 bne _020b4e4c - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083c24Ei mov r8, r0 b _020b4e60 _020b4e4c: - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager mov r1, r8 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083c24Ei mov r8, r0 _020b4e60: - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020833c4Ev cmp r8, r0 ble _020b4e88 - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020833dcEv cmp r8, r0 @@ -4738,7 +4738,7 @@ _020b4e90: str r0, [r6] b _020b501c _020b4ec8: - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r2, [r7, #0x28] ldr r1, [r7, #0x2c] ldr r0, [r0] @@ -4747,7 +4747,7 @@ _020b4ec8: bl _ZN10MapManager18func_ov00_020839f8Ev ldr r3, [r7, #0x28] ldr r2, [r7, #0x2c] - ldr r1, _020b502c ; =data_027e0e60 + ldr r1, _020b502c ; =gMapManager mov r8, r0 sub r2, r3, r2 ldr r0, [r1] @@ -4757,14 +4757,14 @@ _020b4ec8: mov r1, r0 cmp r2, #0 ble _020b4f28 - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083c50Ei mov r8, r0 b _020b4fb8 _020b4f28: bge _020b4f44 - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager mov r1, r8 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083c50Ei @@ -4790,24 +4790,24 @@ _020b4f44: str ip, [r3, #4] adds r0, r2, r0, ror #31 bne _020b4fa4 - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083c50Ei mov r8, r0 b _020b4fb8 _020b4fa4: - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager mov r1, r8 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083c50Ei mov r8, r0 _020b4fb8: - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020833d0Ev cmp r8, r0 ble _020b4fe0 - ldr r0, _020b502c ; =data_027e0e60 + ldr r0, _020b502c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020833e8Ev cmp r8, r0 @@ -4836,7 +4836,7 @@ _020b501c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov00_020b4d28 -_020b502c: .word data_027e0e60 +_020b502c: .word gMapManager _020b5030: .word data_027e0764 .global func_ov00_020b5034 @@ -4849,7 +4849,7 @@ func_ov00_020b5034: ; 0x020b5034 ldr r4, [r5, #4] cmp r0, #0 blt _020b50cc - ldr r0, _020b50d4 ; =data_027e0e60 + ldr r0, _020b50d4 ; =gMapManager ldrb r3, [r6, #0x1c] ldrb r2, [r6, #0x1d] ldr r0, [r0] @@ -4885,7 +4885,7 @@ _020b50cc: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov00_020b5034 -_020b50d4: .word data_027e0e60 +_020b50d4: .word gMapManager _020b50d8: .word 0xfffff333 _020b50dc: .word func_ov00_020b1940 @@ -5024,7 +5024,7 @@ func_ov00_020b5268: ; 0x020b5268 mov r5, r1 str r2, [sp, #0x28] ldr r2, [r4, #4] - ldr r1, _020b5340 ; =data_027e0e60 + ldr r1, _020b5340 ; =gMapManager str r2, [sp, #0x2c] ldr r2, [r4, #8] mov r6, r0 @@ -5055,7 +5055,7 @@ _020b52d0: add r1, sp, #0x14 str r0, [sp, #0x20] ldr r2, [r4, #8] - ldr r0, _020b5340 ; =data_027e0e60 + ldr r0, _020b5340 ; =gMapManager str r2, [sp, #0x24] ldr r4, [r6, #0x2c] add r2, sp, #0x1c @@ -5075,7 +5075,7 @@ _020b52d0: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020b5268 -_020b5340: .word data_027e0e60 +_020b5340: .word gMapManager _020b5344: .word 0xfffff667 _020b5348: .word data_ov00_020e64a8 @@ -5520,7 +5520,7 @@ _020b5884: add r2, r1, r0, lsl #1 ldrb r4, [r1, r0, lsl #1] ldrb r3, [r2, #1] - ldr r0, _020b5c98 ; =data_027e0e60 + ldr r0, _020b5c98 ; =gMapManager sub r2, sp, #4 ldr r0, [r0] add r1, sp, #0x28 @@ -5742,7 +5742,7 @@ _020b5c88: .word data_02050f54 _020b5c8c: .word gAdventureFlags _020b5c90: .word 0x00000ccd _020b5c94: .word data_027e0fc8 -_020b5c98: .word data_027e0e60 +_020b5c98: .word gMapManager _020b5c9c: .word data_027e0f78 _020b5ca0: .word gItemManager _020b5ca4: .word 0x0000019a @@ -5882,7 +5882,7 @@ _020b5e88: str r1, [sp] str r0, [sp, #4] ldrh r2, [r7, #0xa4] - ldr r0, _020b6ac8 ; =data_027e0e60 + ldr r0, _020b6ac8 ; =gMapManager add r1, sp, #0x1e4 str r2, [sp, #8] str r7, [sp, #0xc] @@ -5964,7 +5964,7 @@ _020b5f34: str ip, [sp, #0xec] ldrh r11, [r7, #0xa4] add r0, sp, #0x28 - ldr lr, _020b6ac8 ; =data_027e0e60 + ldr lr, _020b6ac8 ; =gMapManager bic r11, r11, #2 mov r11, r11, lsl #0x10 str r9, [sp, #0xf4] @@ -6102,7 +6102,7 @@ _020b61d4: strh r0, [r7, #0x60] _020b61e0: ldr r0, [r7, #0x20] - ldr r1, _020b6ac8 ; =data_027e0e60 + ldr r1, _020b6ac8 ; =gMapManager stmia r10, {r0, r8} ldr r2, [r7, #0x28] add r0, sp, #0x14 @@ -6111,7 +6111,7 @@ _020b61e0: add r2, r7, #0x20 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r2, [sp, #0x14] - ldr r0, _020b6ac8 ; =data_027e0e60 + ldr r0, _020b6ac8 ; =gMapManager add r1, r7, #0x1c strb r2, [r7, #0x1c] ldrb r2, [sp, #0x15] @@ -6214,7 +6214,7 @@ _020b632c: ldmia r8, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp, #0xb4] - ldr r0, _020b6ac8 ; =data_027e0e60 + ldr r0, _020b6ac8 ; =gMapManager sub r1, r1, #0x1000 str r1, [sp, #0xb4] ldr r2, [r10] @@ -6265,7 +6265,7 @@ _020b632c: stmib sp, {r0, r1} str r0, [sp, #0xc] str r0, [sp, #0x10] - ldr r0, _020b6ac8 ; =data_027e0e60 + ldr r0, _020b6ac8 ; =gMapManager add r1, sp, #0x124 ldr r0, [r0] add r2, sp, #0x68 @@ -6284,7 +6284,7 @@ _020b6494: str r1, [r6, #8] strb r0, [r7, #0x55] _020b64a4: - ldr r0, _020b6ac8 ; =data_027e0e60 + ldr r0, _020b6ac8 ; =gMapManager ldr r1, [r10] ldr r8, [r0] mov r0, r8 @@ -6330,7 +6330,7 @@ _020b6538: subne r0, r8, #1 cmpne r1, r0 beq _020b65c0 - ldr r0, _020b6ac8 ; =data_027e0e60 + ldr r0, _020b6ac8 ; =gMapManager add r1, r7, #0xc4 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -6536,7 +6536,7 @@ _020b6830: cmp r1, r0 blt _020b68c0 ldr r1, [r10] - ldr r0, _020b6ac8 ; =data_027e0e60 + ldr r0, _020b6ac8 ; =gMapManager str r1, [sp, #0x50] ldr r2, [r10, #4] ldr r1, [r0] @@ -6705,7 +6705,7 @@ _020b6aa0: arm_func_end func_ov00_020b5cb4 _020b6ac0: .word data_027e0ff8 _020b6ac4: .word 0x0000ffff -_020b6ac8: .word data_027e0e60 +_020b6ac8: .word gMapManager _020b6acc: .word data_027e0d0c _020b6ad0: .word data_ov00_020e64a8 _020b6ad4: .word data_027e0d38 @@ -6721,7 +6721,7 @@ _020b6aec: .word data_ov00_020e647c func_ov00_020b6af0: ; 0x020b6af0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x14 - ldr r0, _020b6b94 ; =data_027e0e60 + ldr r0, _020b6b94 ; =gMapManager mov r5, r1 ldr r0, [r0] ldrb r1, [r0, #9] @@ -6743,7 +6743,7 @@ func_ov00_020b6af0: ; 0x020b6af0 beq _020b6b84 ldrh r1, [r0, #0x20] ldr r2, [r5] - ldr r0, _020b6b94 ; =data_027e0e60 + ldr r0, _020b6b94 ; =gMapManager str r2, [sp, #8] ldr r2, [r5, #4] ldr r0, [r0] @@ -6763,7 +6763,7 @@ _020b6b84: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020b6af0 -_020b6b94: .word data_027e0e60 +_020b6b94: .word gMapManager _020b6b98: .word data_027e0fe4 _020b6b9c: .word 0x574c4354 _020b6ba0: .word 0xfffff666 @@ -6881,7 +6881,7 @@ _020b6c3c: strb r0, [sp, #0xb9] str r1, [sp, #0x1c] ldr r1, [r6, #0x2c] - ldr r4, _020b6e6c ; =data_027e0e60 + ldr r4, _020b6e6c ; =gMapManager str r1, [sp] str r0, [sp, #4] ldrh r3, [r6, #0xa4] @@ -6956,7 +6956,7 @@ _020b6e28: .align 2, 0 arm_func_end func_ov00_020b6ba4 _020b6e68: .word 0x0000ffff -_020b6e6c: .word data_027e0e60 +_020b6e6c: .word gMapManager .global func_ov00_020b6e70 arm_func_start func_ov00_020b6e70 @@ -7106,7 +7106,7 @@ _020b7000: str ip, [sp, #0x20] str lr, [sp, #0x28] bl func_01ff9e64 - ldr r0, _020b7334 ; =data_027e0e60 + ldr r0, _020b7334 ; =gMapManager ldr r6, [sp, #0x14] ldr r3, [sp, #0x18] ldr r2, [sp, #0x1c] @@ -7286,7 +7286,7 @@ _020b7324: .word data_027e0f6c _020b7328: .word func_ov00_0207e968 _020b732c: .word func_ov00_0207e96c _020b7330: .word data_02050f54 -_020b7334: .word data_027e0e60 +_020b7334: .word gMapManager _020b7338: .word 0x00000e66 .global func_ov00_020b733c @@ -7495,7 +7495,7 @@ _020b75b0: str r1, [sp, #4] tst r0, #0x3f bne _020b7714 - ldr r0, _020b7750 ; =data_027e0e60 + ldr r0, _020b7750 ; =gMapManager ldrb r4, [r5, #0x14] ldrb r3, [r5, #0x15] ldr r0, [r0] @@ -7511,7 +7511,7 @@ _020b75b0: add r1, r6, #0x20 mov r2, r0 bl func_01ff9bf8 - ldr r0, _020b7750 ; =data_027e0e60 + ldr r0, _020b7750 ; =gMapManager ldrb r2, [r6, #0xc4] ldrb r1, [r6, #0xc5] ldr r0, [r0] @@ -7581,7 +7581,7 @@ _020b7714: .align 2, 0 arm_func_end func_ov00_020b73b0 _020b774c: .word data_027e0fa0 -_020b7750: .word data_027e0e60 +_020b7750: .word gMapManager .global func_ov00_020b7754 arm_func_start func_ov00_020b7754 @@ -9927,7 +9927,7 @@ _020b9260: _020b9278: mvn r1, #0 str r1, [r9, #0x280] - ldr r0, _020b92d4 ; =data_027e0e60 + ldr r0, _020b92d4 ; =gMapManager str r1, [r9, #0x284] ldr r1, [r0] add r0, sp, #4 @@ -9952,7 +9952,7 @@ _020b92b8: arm_func_end func_ov00_020b917c _020b92cc: .word data_ov00_020dc81c _020b92d0: .word data_027e0e58 -_020b92d4: .word data_027e0e60 +_020b92d4: .word gMapManager .global func_ov00_020b92d8 arm_func_start func_ov00_020b92d8 @@ -10135,7 +10135,7 @@ _020b94e8: add r0, r1, r0 str r0, [r7, #0x15c] _020b956c: - ldr r0, _020b9758 ; =data_027e0e60 + ldr r0, _020b9758 ; =gMapManager ldr r3, [sp] ldr r0, [r0] add r1, sp, #8 @@ -10268,7 +10268,7 @@ _020b9748: .word data_027e0fc8 _020b974c: .word data_027e0f94 _020b9750: .word data_027e0fe4 _020b9754: .word data_ov00_020e67d8 -_020b9758: .word data_027e0e60 +_020b9758: .word gMapManager .global func_ov00_020b975c arm_func_start func_ov00_020b975c @@ -11105,7 +11105,7 @@ func_ov00_020ba204: ; 0x020ba204 add r0, sp, #0x2c str r0, [sp, #0xc] str r3, [sp, #0x10] - ldr r0, _020ba34c ; =data_027e0e60 + ldr r0, _020ba34c ; =gMapManager add r1, sp, #0x4c ldr r0, [r0] add r2, sp, #0x20 @@ -11133,7 +11133,7 @@ _020ba32c: _020ba340: .word data_ov00_020e67b8 _020ba344: .word 0x0000ffff _020ba348: .word 0x00000333 -_020ba34c: .word data_027e0e60 +_020ba34c: .word gMapManager .global func_ov00_020ba350 arm_func_start func_ov00_020ba350 @@ -11624,7 +11624,7 @@ _020ba958: cmp r0, #0x31 bne _020baab8 ldr r1, _020bac68 ; =data_027e0f64 - ldr r0, _020bac6c ; =data_027e0e60 + ldr r0, _020bac6c ; =gMapManager ldr r1, [r1] ldr r2, _020bac70 ; =data_02050f54 ldr r1, [r1, #4] @@ -11727,7 +11727,7 @@ _020baab8: ldr r7, [sp, #0x18] orr r4, r4, ip, lsl #20 add r7, r7, r4 - ldr r1, _020bac6c ; =data_027e0e60 + ldr r1, _020bac6c ; =gMapManager orr r2, r2, r0, lsl #20 ldr r4, [sp, #0x20] ldr r0, [r1] @@ -11810,7 +11810,7 @@ _020bac5c: .word data_ov00_020eec9c _020bac60: .word data_027e0f94 _020bac64: .word data_027e0d38 _020bac68: .word data_027e0f64 -_020bac6c: .word data_027e0e60 +_020bac6c: .word gMapManager _020bac70: .word data_02050f54 .global func_ov00_020bac74 @@ -11940,7 +11940,7 @@ _020badf0: mov r0, #0x24 smlabb r3, r1, r0, r2 ldr r1, [r3, #4] - ldr r0, _020baf60 ; =data_027e0e60 + ldr r0, _020baf60 ; =gMapManager str r1, [r6, #0x158] ldr r2, [r3, #8] add r1, sp, #0xc @@ -12008,7 +12008,7 @@ _020baef0: mov r0, #0x24 smlabb r3, r1, r0, r2 ldr r1, [r3, #4] - ldr r0, _020baf60 ; =data_027e0e60 + ldr r0, _020baf60 ; =gMapManager str r1, [r6, #0x158] ldr r2, [r3, #8] add r1, sp, #0 @@ -12033,7 +12033,7 @@ _020baf50: .align 2, 0 arm_func_end func_ov00_020bad44 _020baf5c: .word data_ov00_020e8b08 -_020baf60: .word data_027e0e60 +_020baf60: .word gMapManager _020baf64: .word 0x00000333 .global func_ov00_020baf68 @@ -12093,7 +12093,7 @@ _020baff8: _020bb020: str r0, [r5, #0x160] ldr r1, [r5, #0x158] - ldr r0, _020bb0a8 ; =data_027e0e60 + ldr r0, _020bb0a8 ; =gMapManager str r1, [sp] ldr r1, [r5, #0x15c] ldr r0, [r0] @@ -12127,7 +12127,7 @@ _020bb020: .align 2, 0 arm_func_end func_ov00_020baf68 _020bb0a4: .word data_ov00_020e8b08 -_020bb0a8: .word data_027e0e60 +_020bb0a8: .word gMapManager .global func_ov00_020bb0ac arm_func_start func_ov00_020bb0ac @@ -13909,7 +13909,7 @@ _020bc3e0: ldr r0, [r2, #0xc] str r0, [sp, #0x14] _020bc40c: - ldr r0, _020bc464 ; =data_027e0e60 + ldr r0, _020bc464 ; =gMapManager ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -13933,7 +13933,7 @@ _020bc40c: .align 2, 0 arm_func_end func_ov00_020bc398 _020bc460: .word data_027e0f94 -_020bc464: .word data_027e0e60 +_020bc464: .word gMapManager _020bc468: .word data_027e0fac .global func_ov00_020bc46c @@ -14298,7 +14298,7 @@ _020bc8b4: .word data_027e0fd0 func_ov00_020bc8b8: ; 0x020bc8b8 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 - ldr r3, _020bc908 ; =data_027e0e60 + ldr r3, _020bc908 ; =gMapManager mov r5, r1 ldr r1, [r3] mov r6, r0 @@ -14318,7 +14318,7 @@ func_ov00_020bc8b8: ; 0x020bc8b8 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020bc8b8 -_020bc908: .word data_027e0e60 +_020bc908: .word gMapManager .global func_ov00_020bc90c arm_func_start func_ov00_020bc90c @@ -14326,7 +14326,7 @@ func_ov00_020bc90c: ; 0x020bc90c stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r2 - ldr r0, _020bc95c ; =data_027e0e60 + ldr r0, _020bc95c ; =gMapManager add r2, r6, r5, lsl #1 mov r4, r1 ldrb r1, [r2, #0x2c] @@ -14337,7 +14337,7 @@ func_ov00_020bc90c: ; 0x020bc90c ldr r0, [r0, #0x30] add r1, r6, r5, lsl #1 str r0, [r4, #4] - ldr r0, _020bc95c ; =data_027e0e60 + ldr r0, _020bc95c ; =gMapManager ldrb r1, [r1, #0x2d] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083c50Ei @@ -14345,7 +14345,7 @@ func_ov00_020bc90c: ; 0x020bc90c ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020bc90c -_020bc95c: .word data_027e0e60 +_020bc95c: .word gMapManager .global func_ov00_020bc960 arm_func_start func_ov00_020bc960 @@ -16474,7 +16474,7 @@ _020be334: _020be338: cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _020be404 ; =data_027e0e60 + ldr r0, _020be404 ; =gMapManager ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 @@ -16528,7 +16528,7 @@ _020be3e4: .align 2, 0 arm_func_end func_ov00_020be294 _020be400: .word data_027e0fc8 -_020be404: .word data_027e0e60 +_020be404: .word gMapManager _020be408: .word gAdventureFlags .global func_ov00_020be40c @@ -18103,7 +18103,7 @@ _020bf70c: str r0, [sp, #0xc] mov r1, #0 str r1, [sp, #0x10] - ldr r0, _020bff3c ; =data_027e0e60 + ldr r0, _020bff3c ; =gMapManager add r1, sp, #0x154 ldr r0, [r0] add r2, sp, #0xe4 @@ -18238,7 +18238,7 @@ _020bf794: add r0, sp, #0x14 str r0, [sp, #0xc] str r3, [sp, #0x10] - ldr r0, _020bff3c ; =data_027e0e60 + ldr r0, _020bff3c ; =gMapManager add r1, sp, #0xf4 ldr r0, [r0] add r2, sp, #0x30 @@ -18637,7 +18637,7 @@ _020bff2c: .word data_ov00_020e6f90 _020bff30: .word data_ov00_020dd294 _020bff34: .word data_ov00_020eec9c _020bff38: .word gItemManager -_020bff3c: .word data_027e0e60 +_020bff3c: .word gMapManager _020bff40: .word 0x0000099a _020bff44: .word data_ov00_020dd268 _020bff48: .word data_027e0fe4 diff --git a/asm/ov00/ov00_020c3e54.inc b/asm/ov00/ov00_020c3e54.inc index 253cb127..758d0fdb 100644 --- a/asm/ov00/ov00_020c3e54.inc +++ b/asm/ov00/ov00_020c3e54.inc @@ -139,7 +139,7 @@ .extern data_027e0e28 .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f70 diff --git a/asm/ov00/ov00_020c3e54.s b/asm/ov00/ov00_020c3e54.s index a1d1b9cb..f75eab4c 100644 --- a/asm/ov00/ov00_020c3e54.s +++ b/asm/ov00/ov00_020c3e54.s @@ -296,7 +296,7 @@ _020c40b4: strlt r2, [r0, #0x3c] ldr r2, [r6] ldr r1, [r9, #0x1c] - ldr r0, _020c42d4 ; =data_027e0e60 + ldr r0, _020c42d4 ; =gMapManager str r1, [r2, #0x34] ldr r1, [r9, #0x20] str r1, [r2, #0x38] @@ -322,7 +322,7 @@ _020c40b4: ldr r0, [r0] bl _ZN10MapManager20GetCourseData_Unk_1cEv ldr r2, [r6] - ldr r1, _020c42d4 ; =data_027e0e60 + ldr r1, _020c42d4 ; =gMapManager strb r0, [r2, #0x10] ldr r0, [r1] bl _ZN10MapManager20GetCourseData_Unk_1dEv @@ -378,7 +378,7 @@ _020c42c4: arm_func_end func_ov00_020c4048 _020c42cc: .word data_027e0fe4 _020c42d0: .word 0x0000ffff -_020c42d4: .word data_027e0e60 +_020c42d4: .word gMapManager .global func_ov00_020c42d8 arm_func_start func_ov00_020c42d8 @@ -923,7 +923,7 @@ _020c498c: ldrb r0, [r6, #6] cmp r0, #0 beq _020c49fc - ldr r0, _020c4ae0 ; =data_027e0e60 + ldr r0, _020c4ae0 ; =gMapManager ldr lr, [sp, #0x20] ldr ip, [sp, #0x24] ldr r3, [sp, #0x28] @@ -1003,7 +1003,7 @@ _020c4ad4: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020c4924 -_020c4ae0: .word data_027e0e60 +_020c4ae0: .word gMapManager _020c4ae4: .word data_027e0ff0 .global func_ov00_020c4ae8 @@ -1605,7 +1605,7 @@ func_ov00_020c51d0: ; 0x020c51d0 arm_func_start func_ov00_020c522c func_ov00_020c522c: ; 0x020c522c stmdb sp!, {r4, r5, r6, lr} - ldr r2, _020c5284 ; =data_027e0e60 + ldr r2, _020c5284 ; =gMapManager mov r6, r0 ldr r4, [r2] mov r5, r1 @@ -1628,14 +1628,14 @@ func_ov00_020c522c: ; 0x020c522c ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020c522c -_020c5284: .word data_027e0e60 +_020c5284: .word gMapManager .global func_ov00_020c5288 arm_func_start func_ov00_020c5288 func_ov00_020c5288: ; 0x020c5288 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 - ldr r1, _020c532c ; =data_027e0e60 + ldr r1, _020c532c ; =gMapManager mov r2, #0 mov r5, r0 ldr r4, [r1] @@ -1676,19 +1676,19 @@ func_ov00_020c5288: ; 0x020c5288 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov00_020c5288 -_020c532c: .word data_027e0e60 +_020c532c: .word gMapManager .global func_ov00_020c5330 arm_func_start func_ov00_020c5330 func_ov00_020c5330: ; 0x020c5330 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 - ldr r0, _020c5370 ; =data_027e0e60 + ldr r0, _020c5370 ; =gMapManager mov r5, r1 ldrb r1, [r6, #1] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083c50Ei - ldr r2, _020c5370 ; =data_027e0e60 + ldr r2, _020c5370 ; =gMapManager mov r4, r0 ldrb r1, [r6] ldr r0, [r2] @@ -1699,14 +1699,14 @@ func_ov00_020c5330: ; 0x020c5330 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020c5330 -_020c5370: .word data_027e0e60 +_020c5370: .word gMapManager .global func_ov00_020c5374 arm_func_start func_ov00_020c5374 func_ov00_020c5374: ; 0x020c5374 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 - ldr r3, _020c53ac ; =data_027e0e60 + ldr r3, _020c53ac ; =gMapManager mov r4, r1 ldr r1, [r3] mov r2, r0 @@ -1720,7 +1720,7 @@ func_ov00_020c5374: ; 0x020c5374 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov00_020c5374 -_020c53ac: .word data_027e0e60 +_020c53ac: .word gMapManager .global func_ov00_020c53b0 arm_func_start func_ov00_020c53b0 @@ -1902,7 +1902,7 @@ func_ov00_020c558c: ; 0x020c558c str r0, [sp, #4] add r1, sp, #0xc str r1, [sp, #8] - ldr r0, _020c5654 ; =data_027e0e60 + ldr r0, _020c5654 ; =gMapManager add r1, sp, #0x1c ldr r0, [r0] add r2, sp, #0x10 @@ -1923,7 +1923,7 @@ _020c5640: .align 2, 0 arm_func_end func_ov00_020c558c _020c5650: .word data_ov00_020e892c -_020c5654: .word data_027e0e60 +_020c5654: .word gMapManager .global func_ov00_020c5658 arm_func_start func_ov00_020c5658 @@ -4549,7 +4549,7 @@ func_ov00_020c7764: ; 0x020c7764 rsb r0, r0, #0 cmp r1, r0 strlt r0, [sp, #0x18] - ldr r0, _020c7e9c ; =data_027e0e60 + ldr r0, _020c7e9c ; =gMapManager ldr ip, [sp, #0x14] ldr r4, [r0] ldr r8, [sp, #0x18] @@ -4723,7 +4723,7 @@ _020c79b0: add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, r7, r8, pc} _020c7a38: - ldr r0, _020c7e9c ; =data_027e0e60 + ldr r0, _020c7e9c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084838Ev cmp r0, #0 @@ -5018,7 +5018,7 @@ _020c7e94: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov00_020c7764 -_020c7e9c: .word data_027e0e60 +_020c7e9c: .word gMapManager _020c7ea0: .word data_027e0d38 _020c7ea4: .word data_027e0e58 _020c7ea8: .word 0x000001ee @@ -5100,7 +5100,7 @@ func_ov00_020c7f98: ; 0x020c7f98 movs r5, r3 stmia r4, {r0, r1, r2} beq _020c7ffc - ldr r0, _020c8048 ; =data_027e0e60 + ldr r0, _020c8048 ; =gMapManager ldr ip, [sp, #0x10] ldr r4, [r0] ldr r7, [sp, #0x14] @@ -5142,7 +5142,7 @@ _020c8040: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov00_020c7f98 -_020c8048: .word data_027e0e60 +_020c8048: .word gMapManager _020c804c: .word 0x00000ccd .global func_ov00_020c8050 @@ -7684,7 +7684,7 @@ func_ov00_020ca094: ; 0x020ca094 cmp r0, #0 beq _020ca108 ldr r1, [r5, #0x48] - ldr r0, _020ca144 ; =data_027e0e60 + ldr r0, _020ca144 ; =gMapManager str r1, [sp] ldr r1, [r5, #0x4c] ldr r7, [r0] @@ -7719,7 +7719,7 @@ _020ca12c: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov00_020ca094 -_020ca144: .word data_027e0e60 +_020ca144: .word gMapManager .global func_ov00_020ca148 arm_func_start func_ov00_020ca148 @@ -8582,7 +8582,7 @@ _020cab14: strb r2, [sp, #4] strb r2, [sp, #5] bl func_ov00_020c5374 - ldr r0, _020cace8 ; =data_027e0e60 + ldr r0, _020cace8 ; =gMapManager add r1, sp, #4 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084164Ev @@ -8692,7 +8692,7 @@ _020cacd8: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020caa90 -_020cace8: .word data_027e0e60 +_020cace8: .word gMapManager _020cacec: .word data_027e0ffc _020cacf0: .word data_027e0f64 @@ -10366,7 +10366,7 @@ func_ov00_020cc180: ; 0x020cc180 sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _020cc1f4 ; =data_027e0e60 + ldr r0, _020cc1f4 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -10394,7 +10394,7 @@ _020cc1d8: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov00_020cc180 -_020cc1f4: .word data_027e0e60 +_020cc1f4: .word gMapManager .global func_ov00_020cc1f8 arm_func_start func_ov00_020cc1f8 @@ -10456,7 +10456,7 @@ func_ov00_020cc27c: ; 0x020cc27c stmdb sp!, {r3, lr} sub sp, sp, #0x10 ldr r2, [r0, #0x48] - ldr r1, _020cc2d0 ; =data_027e0e60 + ldr r1, _020cc2d0 ; =gMapManager str r2, [sp, #4] ldr r2, [r0, #0x4c] ldr r1, [r1] @@ -10476,7 +10476,7 @@ func_ov00_020cc27c: ; 0x020cc27c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov00_020cc27c -_020cc2d0: .word data_027e0e60 +_020cc2d0: .word gMapManager .global func_ov00_020cc2d4 arm_func_start func_ov00_020cc2d4 @@ -10535,7 +10535,7 @@ func_ov00_020cc308: ; 0x020cc308 add lr, sp, #0x14 str r1, [sp, #0x30] ldr r1, [r4, #0x54] - ldr ip, _020cc3e4 ; =data_027e0e60 + ldr ip, _020cc3e4 ; =gMapManager str r1, [sp, #0x1c] ldr r2, [r4, #0x58] add r1, sp, #0x34 @@ -10557,7 +10557,7 @@ func_ov00_020cc308: ; 0x020cc308 .align 2, 0 arm_func_end func_ov00_020cc308 _020cc3e0: .word 0x0000ffff -_020cc3e4: .word data_027e0e60 +_020cc3e4: .word gMapManager .global func_ov00_020cc3e8 arm_func_start func_ov00_020cc3e8 @@ -11129,7 +11129,7 @@ func_ov00_020cca68: ; 0x020cca68 str ip, [sp, #0x1c] ldrh r0, [r4, #0x9c] ldr r1, [sp, #0x20] - ldr r2, _020ccb00 ; =data_027e0e60 + ldr r2, _020ccb00 ; =gMapManager bic r0, r0, #2 mov r0, r0, lsl #0x10 str r3, [sp, #0xc] @@ -11150,7 +11150,7 @@ func_ov00_020cca68: ; 0x020cca68 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov00_020cca68 -_020ccb00: .word data_027e0e60 +_020ccb00: .word gMapManager .global func_ov00_020ccb04 arm_func_start func_ov00_020ccb04 @@ -12720,7 +12720,7 @@ _020cdec8: str r0, [sp] mov r2, r3 ldrh r3, [r4, #0x9c] - ldr r0, _020cdfc8 ; =data_027e0e60 + ldr r0, _020cdfc8 ; =gMapManager add r1, sp, #0x18 str r3, [sp, #4] ldr r3, [r4, #0xa0] @@ -12742,7 +12742,7 @@ _020cdec8: .align 2, 0 arm_func_end func_ov00_020cde0c _020cdfc4: .word data_02050f54 -_020cdfc8: .word data_027e0e60 +_020cdfc8: .word gMapManager .global func_ov00_020cdfcc arm_func_start func_ov00_020cdfcc @@ -13787,7 +13787,7 @@ _020cecd4: .word 0x000002fd func_ov00_020cecd8: ; 0x020cecd8 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 - ldr r4, _020ced5c ; =data_027e0e60 + ldr r4, _020ced5c ; =gMapManager mov r6, r0 ldr r0, [r4] mov r5, r1 @@ -13820,7 +13820,7 @@ func_ov00_020cecd8: ; 0x020cecd8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov00_020cecd8 -_020ced5c: .word data_027e0e60 +_020ced5c: .word gMapManager _020ced60: .word data_ov00_020eec9c .global func_ov00_020ced64 @@ -13839,7 +13839,7 @@ _020ced78: .word data_ov00_020eec9c arm_func_start func_ov00_020ced7c func_ov00_020ced7c: ; 0x020ced7c stmdb sp!, {r4, r5, r6, lr} - ldr r0, _020cedb4 ; =data_027e0e60 + ldr r0, _020cedb4 ; =gMapManager mov r5, r2 ldr r0, [r0] mov r4, r3 @@ -13854,7 +13854,7 @@ func_ov00_020ced7c: ; 0x020ced7c ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020ced7c -_020cedb4: .word data_027e0e60 +_020cedb4: .word gMapManager _020cedb8: .word data_ov00_020eec9c .global func_ov00_020cedbc @@ -14210,7 +14210,7 @@ func_ov00_020cf13c: ; 0x020cf13c blx func_ov00_02078e00 b _020cf184 _020cf168: - ldr r0, _020cf1b0 ; =data_027e0e60 + ldr r0, _020cf1b0 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083588Ev mov r2, r0 @@ -14231,7 +14231,7 @@ _020cf184: .align 2, 0 arm_func_end func_ov00_020cf13c _020cf1ac: .word data_027e0d3c -_020cf1b0: .word data_027e0e60 +_020cf1b0: .word gMapManager _020cf1b4: .word data_027e0c54 .global func_ov00_020cf1b8 @@ -15359,7 +15359,7 @@ _020cfd50: ldreqb r0, [r0, #4] cmpeq r0, #0 bne _020cfdb8 - ldr r0, _020cfde0 ; =data_027e0e60 + ldr r0, _020cfde0 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 @@ -15378,7 +15378,7 @@ _020cfdd0: .word data_027e0c68 _020cfdd4: .word data_027e0e28 _020cfdd8: .word data_ov09_0211f5b4 _020cfddc: .word data_027e0d04 -_020cfde0: .word data_027e0e60 +_020cfde0: .word gMapManager .global func_ov00_020cfde4 arm_func_start func_ov00_020cfde4 @@ -19103,7 +19103,7 @@ _020d2d34: .word data_ov00_020e8b64 arm_func_start func_ov00_020d2d38 func_ov00_020d2d38: ; 0x020d2d38 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _020d2da8 ; =data_027e0e60 + ldr r2, _020d2da8 ; =gMapManager mov r5, r0 ldr r0, [r2] mov r4, r1 @@ -19133,7 +19133,7 @@ _020d2d84: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov00_020d2d38 -_020d2da8: .word data_027e0e60 +_020d2da8: .word gMapManager _020d2dac: .word data_027e0f64 _020d2db0: .word data_027e0c68 @@ -19161,7 +19161,7 @@ _020d2de0: func_ov00_020d2de8: ; 0x020d2de8 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 - ldr r2, _020d2f00 ; =data_027e0e60 + ldr r2, _020d2f00 ; =gMapManager mov r6, r0 ldr r0, [r2] mov r5, r1 @@ -19234,7 +19234,7 @@ _020d2e8c: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020d2de8 -_020d2f00: .word data_027e0e60 +_020d2f00: .word gMapManager _020d2f04: .word data_027e0c68 .global func_ov00_020d2f08 @@ -20208,7 +20208,7 @@ _020d3a00: .word data_027e0d0c func_ov00_020d3a04: ; 0x020d3a04 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 - ldr r0, _020d3b04 ; =data_027e0e60 + ldr r0, _020d3b04 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 @@ -20276,7 +20276,7 @@ _020d3afc: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov00_020d3a04 -_020d3b04: .word data_027e0e60 +_020d3b04: .word gMapManager _020d3b08: .word gAdventureFlags _020d3b0c: .word data_027e0f90 _020d3b10: .word data_027e077c @@ -21200,7 +21200,7 @@ func_ov00_020d454c: ; 0x020d454c mov r1, r0 bl func_ov00_020b1a4c ldr r1, [r6, #0x158] - ldr r0, _020d4604 ; =data_027e0e60 + ldr r0, _020d4604 ; =gMapManager str r1, [sp] ldr r1, [r6, #0x15c] ldr r0, [r0] @@ -21232,7 +21232,7 @@ func_ov00_020d454c: ; 0x020d454c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov00_020d454c -_020d4604: .word data_027e0e60 +_020d4604: .word gMapManager .global func_ov00_020d4608 arm_func_start func_ov00_020d4608 @@ -21268,7 +21268,7 @@ _020d4648: str r0, [sp, #0x6c] _020d4660: ldr r1, [sp, #0x68] - ldr r0, _020d484c ; =data_027e0e60 + ldr r0, _020d484c ; =gMapManager add r3, r1, #0x40 ldr r6, [sp, #0x64] ldr r4, [sp, #0x6c] @@ -21279,7 +21279,7 @@ _020d4660: str r4, [sp, #0x60] str r3, [sp, #0x5c] bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - ldr r0, _020d484c ; =data_027e0e60 + ldr r0, _020d484c ; =gMapManager ldr r6, [sp, #0x58] ldr r4, [sp, #0x5c] ldr r3, [sp, #0x60] @@ -21294,7 +21294,7 @@ _020d4660: ldr r4, [sp, #0x5c] ldr r3, [sp, #0x60] str r2, [sp, #0x20] - ldr r1, _020d484c ; =data_027e0e60 + ldr r1, _020d484c ; =gMapManager mov r8, r0 ldr r0, [r1] add r1, sp, #0x20 @@ -21359,7 +21359,7 @@ _020d4790: add r0, r1, r4, lsl #12 str r0, [sp] ldr r2, [sp] - ldr r0, _020d484c ; =data_027e0e60 + ldr r0, _020d484c ; =gMapManager str r2, [sp, #0x1c] ldrb r2, [sp, #0x11] ldr r0, [r0] @@ -21397,7 +21397,7 @@ _020d4834: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_020d4624 -_020d484c: .word data_027e0e60 +_020d484c: .word gMapManager _020d4850: .word func_ov00_020d4608 _020d4854: .word data_ov00_020df2f8 _020d4858: .word func_ov00_020b1940 @@ -21752,7 +21752,7 @@ _020d4d08: cmp r1, r0 blt _020d4da8 ldr r1, [r10, #0x48] - ldr r0, _020d4de0 ; =data_027e0e60 + ldr r0, _020d4de0 ; =gMapManager str r1, [sp, #0x10] ldr r1, [r10, #0x4c] ldr r0, [r0] @@ -21771,7 +21771,7 @@ _020d4d08: bl func_ov00_020b18d8 b _020d4db8 _020d4d68: - ldr r0, _020d4de0 ; =data_027e0e60 + ldr r0, _020d4de0 ; =gMapManager ldr r5, [r10, #0x4c] ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_48Ev @@ -21805,7 +21805,7 @@ _020d4db8: .align 2, 0 arm_func_end func_ov00_020d4b54 _020d4ddc: .word data_ov00_020ee670 -_020d4de0: .word data_027e0e60 +_020d4de0: .word gMapManager _020d4de4: .word 0x00000333 .global func_ov00_020d4de8 @@ -22568,7 +22568,7 @@ func_ov00_020d573c: ; 0x020d573c cmp r0, #0 beq _020d57b0 ldr r1, [r10, #0x48] - ldr r0, _020d58a8 ; =data_027e0e60 + ldr r0, _020d58a8 ; =gMapManager str r1, [sp, #4] ldr r1, [r10, #0x4c] ldr r5, [r0] @@ -22654,7 +22654,7 @@ _020d5888: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_020d573c -_020d58a8: .word data_027e0e60 +_020d58a8: .word gMapManager .global func_ov00_020d58ac arm_func_start func_ov00_020d58ac diff --git a/asm/ov02.inc b/asm/ov02.inc index 6b85cfea..3566fa97 100644 --- a/asm/ov02.inc +++ b/asm/ov02.inc @@ -31,7 +31,7 @@ .extern data_027e0d0c .extern data_027e0d44 .extern data_027e0d78 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f88 .extern data_027e0f8c .extern data_027e0fbc diff --git a/asm/ov02.s b/asm/ov02.s index 4775a3ab..f2e646ca 100644 --- a/asm/ov02.s +++ b/asm/ov02.s @@ -6629,7 +6629,7 @@ _020f430c: ldr r0, _020f4ce4 ; =data_027e0f88 ldr r0, [r0] bl func_ov00_020a1abc - ldr r0, _020f4ce8 ; =data_027e0e60 + ldr r0, _020f4ce8 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020847e0Ev str r0, [r7, #0x2c] @@ -7282,7 +7282,7 @@ _020f4cd8: .word data_ov09_0211ee20 _020f4cdc: .word data_ov09_0211ee24 _020f4ce0: .word data_ov09_0211ee28 _020f4ce4: .word data_027e0f88 -_020f4ce8: .word data_027e0e60 +_020f4ce8: .word gMapManager _020f4cec: .word data_027e0f8c _020f4cf0: .word data_ov00_020ecdf6 _020f4cf4: .word data_ov00_020ee0a0 diff --git a/asm/ov03.inc b/asm/ov03.inc index e5bafba2..5f7fe179 100644 --- a/asm/ov03.inc +++ b/asm/ov03.inc @@ -93,7 +93,7 @@ .extern data_027e0e28 .extern data_027e0e2c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f7c .extern data_027e0f84 diff --git a/asm/ov03.s b/asm/ov03.s index ef9b6453..8f95b4b5 100644 --- a/asm/ov03.s +++ b/asm/ov03.s @@ -3622,7 +3622,7 @@ _020f0884: bl func_0202ed14 add r7, r7, r0, lsl #12 _020f08a4: - ldr r0, _020f0aa4 ; =data_027e0e60 + ldr r0, _020f0aa4 ; =gMapManager ldr r5, [r0] mov r0, r5 bl _ZN10MapManager13GetCourseMinXEv @@ -3755,7 +3755,7 @@ _020f0a30: arm_func_end func_ov03_020f0844 _020f0a9c: .word data_027e0c38 _020f0aa0: .word data_027e080c -_020f0aa4: .word data_027e0e60 +_020f0aa4: .word gMapManager .global func_ov03_020f0aa8 arm_func_start func_ov03_020f0aa8 @@ -3780,7 +3780,7 @@ func_ov03_020f0aa8: ; 0x020f0aa8 ldrb r0, [r1, #0x95] cmp r0, #0 beq _020f0b18 - ldr r0, _020f0b84 ; =data_027e0e60 + ldr r0, _020f0b84 ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, r4 @@ -3789,10 +3789,10 @@ func_ov03_020f0aa8: ; 0x020f0aa8 mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _020f0b18: - ldr r0, _020f0b84 ; =data_027e0e60 + ldr r0, _020f0b84 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d40Ev - ldr r1, _020f0b84 ; =data_027e0e60 + ldr r1, _020f0b84 ; =gMapManager mov r2, r0 ldr r0, [r1] add r1, sp, #0 @@ -3804,7 +3804,7 @@ _020f0b18: bl strcmp cmp r0, #0 bne _020f0b74 - ldr r0, _020f0b84 ; =data_027e0e60 + ldr r0, _020f0b84 ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, r4 @@ -3819,7 +3819,7 @@ _020f0b74: .align 2, 0 arm_func_end func_ov03_020f0aa8 _020f0b80: .word data_027e1054 -_020f0b84: .word data_027e0e60 +_020f0b84: .word gMapManager _020f0b88: .word data_027e0d3c .global func_ov03_020f0b8c @@ -3896,7 +3896,7 @@ _020f0c7c: mov r4, r0 cmp r1, #0 blt _020f0ca4 - ldr r0, _020f0e3c ; =data_027e0e60 + ldr r0, _020f0e3c ; =gMapManager add r2, sp, #0x24 ldr r0, [r0] mov r3, #8 @@ -4011,7 +4011,7 @@ _020f0e2c: .word data_027e0c54 _020f0e30: .word data_027e0d3c _020f0e34: .word data_027e0f94 _020f0e38: .word 0x00001ccd -_020f0e3c: .word data_027e0e60 +_020f0e3c: .word gMapManager _020f0e40: .word 0x00002ccd _020f0e44: .word data_ov03_020fc45c _020f0e48: .word data_ov03_020fc460 @@ -9792,7 +9792,7 @@ func_ov03_020f4778: ; 0x020f4778 sub sp, #0x44 add r6, r0, #0 add r5, r1, #0 - ldr r0, _020f47d8 ; =data_027e0e60 + ldr r0, _020f47d8 ; =gMapManager lsl r2, r5, #0x18 ldr r0, [r0] add r1, sp, #4 @@ -9818,7 +9818,7 @@ func_ov03_020f4778: ; 0x020f4778 _020f47b4: mov r4, #7 _020f47b6: - ldr r0, _020f47d8 ; =data_027e0e60 + ldr r0, _020f47d8 ; =gMapManager lsl r1, r5, #0x18 ldr r0, [r0] lsr r1, r1, #0x18 @@ -9835,7 +9835,7 @@ _020f47b6: pop {r3, r4, r5, r6, pc} .align 2, 0 thumb_func_end func_ov03_020f4778 -_020f47d8: .word data_027e0e60 +_020f47d8: .word gMapManager _020f47dc: .word data_027e0d38 _020f47e0: .word data_027e103c @@ -10419,13 +10419,13 @@ _020f4ce4: mov r0, #7 str r0, [r5, #0xc] _020f4ce8: - ldr r0, _020f4d18 ; =data_027e0e60 + ldr r0, _020f4d18 ; =gMapManager add r1, r5, #0 ldr r0, [r0] add r1, #0x50 add r2, r4, #0 blx _ZN10MapManager18func_ov00_02082614Eii - ldr r0, _020f4d18 ; =data_027e0e60 + ldr r0, _020f4d18 ; =gMapManager add r1, r4, #0 ldr r0, [r0] blx _ZN10MapManager18func_ov00_02082d74Ei @@ -10439,7 +10439,7 @@ _020f4ce8: thumb_func_end func_ov03_020f4c94 _020f4d10: .word data_027e0d38 _020f4d14: .word data_027e103c -_020f4d18: .word data_027e0e60 +_020f4d18: .word gMapManager _020f4d1c: .word data_027e077c .global func_ov03_020f4d20 @@ -10552,7 +10552,7 @@ func_ov03_020f4de0: ; 0x020f4de0 add r4, r0, #0 ldr r0, _020f4e48 ; =data_027e0d3c ldr r5, [r0] - ldr r0, _020f4e4c ; =data_027e0e60 + ldr r0, _020f4e4c ; =gMapManager ldr r0, [r0] blx _ZN10MapManager18func_ov00_02083588Ev ldr r1, _020f4e50 ; =data_ov00_020d878c @@ -10601,7 +10601,7 @@ _020f4e40: .align 2, 0 thumb_func_end func_ov03_020f4de0 _020f4e48: .word data_027e0d3c -_020f4e4c: .word data_027e0e60 +_020f4e4c: .word gMapManager _020f4e50: .word data_ov00_020d878c _020f4e54: .word data_027e0d38 _020f4e58: .word data_027e103c @@ -10613,7 +10613,7 @@ func_ov03_020f4e5c: ; 0x020f4e5c add r4, r0, #0 ldr r0, _020f4f30 ; =data_027e0d3c ldr r5, [r0] - ldr r0, _020f4f34 ; =data_027e0e60 + ldr r0, _020f4f34 ; =gMapManager ldr r0, [r0] blx _ZN10MapManager18func_ov00_02083588Ev add r1, r4, #0 @@ -10621,7 +10621,7 @@ func_ov03_020f4e5c: ; 0x020f4e5c add r0, r5, #0 add r1, #0x10 bl func_ov00_02078e00 - ldr r0, _020f4f34 ; =data_027e0e60 + ldr r0, _020f4f34 ; =gMapManager ldr r0, [r0] blx _ZN10MapManager18func_ov00_02082accEv add r0, r4, #0 @@ -10715,7 +10715,7 @@ _020f4f20: nop thumb_func_end func_ov03_020f4e5c _020f4f30: .word data_027e0d3c -_020f4f34: .word data_027e0e60 +_020f4f34: .word gMapManager _020f4f38: .word data_027e103c _020f4f3c: .word data_027e0cbc _020f4f40: .word 0x0400100c @@ -10729,7 +10729,7 @@ func_ov03_020f4f4c: ; 0x020f4f4c add r5, r0, #0 ldr r0, _020f4fa8 ; =data_027e0d3c ldr r4, [r0] - ldr r0, _020f4fac ; =data_027e0e60 + ldr r0, _020f4fac ; =gMapManager ldr r0, [r0] blx _ZN10MapManager18func_ov00_02083588Ev add r1, r5, #0 @@ -10770,7 +10770,7 @@ _020f4f9e: nop thumb_func_end func_ov03_020f4f4c _020f4fa8: .word data_027e0d3c -_020f4fac: .word data_027e0e60 +_020f4fac: .word gMapManager _020f4fb0: .word data_027e103c _020f4fb4: .word data_027e0cbc @@ -10780,7 +10780,7 @@ func_ov03_020f4fb8: ; 0x020f4fb8 push {r3, r4, r5, lr} sub sp, #0x40 add r5, r0, #0 - ldr r0, _020f4ffc ; =data_027e0e60 + ldr r0, _020f4ffc ; =gMapManager mov r1, #0x93 ldrsb r1, [r5, r1] ldr r0, [r0] @@ -10795,7 +10795,7 @@ func_ov03_020f4fb8: ; 0x020f4fb8 ldr r0, _020f5004 ; =data_027e103c mov r1, #0x93 ldr r4, [r0] - ldr r0, _020f4ffc ; =data_027e0e60 + ldr r0, _020f4ffc ; =gMapManager ldrsb r1, [r5, r1] ldr r0, [r0] blx _ZN10MapManager18func_ov00_020835f4Ei @@ -10809,7 +10809,7 @@ func_ov03_020f4fb8: ; 0x020f4fb8 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end func_ov03_020f4fb8 -_020f4ffc: .word data_027e0e60 +_020f4ffc: .word gMapManager _020f5000: .word data_027e0d3c _020f5004: .word data_027e103c @@ -12830,7 +12830,7 @@ _020f6578: ldrb r0, [r0, #0x98] cmp r0, #0 bne _020f6600 - ldr r0, _020f670c ; =data_027e0e60 + ldr r0, _020f670c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083588Ev cmp r0, #0 @@ -12913,7 +12913,7 @@ _020f66fc: .word 0x000004cc _020f6700: .word data_027e077c _020f6704: .word data_02056be4 _020f6708: .word data_027e1054 -_020f670c: .word data_027e0e60 +_020f670c: .word gMapManager _020f6710: .word 0x0000ffff .global func_ov03_020f6714 @@ -14232,7 +14232,7 @@ _020f7760: bl func_ov03_020f4b7c cmp r0, #0 bne _020f7794 - ldr r0, _020f7bb4 ; =data_027e0e60 + ldr r0, _020f7bb4 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 @@ -14523,7 +14523,7 @@ _020f7ba4: arm_func_end func_ov03_020f7730 _020f7bac: .word data_027e1054 _020f7bb0: .word data_027e0d3c -_020f7bb4: .word data_027e0e60 +_020f7bb4: .word gMapManager _020f7bb8: .word data_027e0f7c _020f7bbc: .word gAdventureFlags _020f7bc0: .word data_027e0618 @@ -14862,12 +14862,12 @@ func_ov03_020f7f6c: ; 0x020f7f6c bl func_ov03_020f74b8 cmp r0, #0 beq _020f7fbc - ldr r0, _020f7fe4 ; =data_027e0e60 + ldr r0, _020f7fe4 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083588Ev cmp r0, #0 beq _020f7fbc - ldr r0, _020f7fe4 ; =data_027e0e60 + ldr r0, _020f7fe4 ; =gMapManager ldr r7, [r0] mov r0, r7 bl _ZN10MapManager18func_ov00_020835a4Ev @@ -14890,7 +14890,7 @@ _020f7fdc: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov03_020f7f6c -_020f7fe4: .word data_027e0e60 +_020f7fe4: .word gMapManager _020f7fe8: .word data_027e1054 .global func_ov03_020f7fec @@ -14909,40 +14909,40 @@ func_ov03_020f7fec: ; 0x020f7fec arm_func_start func_ov03_020f8008 func_ov03_020f8008: ; 0x020f8008 stmdb sp!, {r3, lr} - ldr r0, _020f8020 ; =data_027e0e60 + ldr r0, _020f8020 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083588Ev bl func_ov03_020f805c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov03_020f8008 -_020f8020: .word data_027e0e60 +_020f8020: .word gMapManager .global func_ov03_020f8024 arm_func_start func_ov03_020f8024 func_ov03_020f8024: ; 0x020f8024 stmdb sp!, {r3, lr} - ldr r0, _020f803c ; =data_027e0e60 + ldr r0, _020f803c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020835a4Ev bl func_ov03_020f805c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov03_020f8024 -_020f803c: .word data_027e0e60 +_020f803c: .word gMapManager .global func_ov03_020f8040 arm_func_start func_ov03_020f8040 func_ov03_020f8040: ; 0x020f8040 stmdb sp!, {r3, lr} - ldr r0, _020f8058 ; =data_027e0e60 + ldr r0, _020f8058 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020835b4Ev bl func_ov03_020f805c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov03_020f8040 -_020f8058: .word data_027e0e60 +_020f8058: .word gMapManager .global func_ov03_020f805c arm_func_start func_ov03_020f805c @@ -18001,7 +18001,7 @@ func_ov03_020fa528: ; 0x020fa528 bl func_ov00_020a5e9c movs r1, r0 bne _020fa568 - ldr r0, _020fa5c8 ; =data_027e0e60 + ldr r0, _020fa5c8 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d08Ev add r0, r0, #0xab @@ -18037,7 +18037,7 @@ _020fa590: .align 2, 0 arm_func_end func_ov03_020fa528 _020fa5c4: .word data_027e0d38 -_020fa5c8: .word data_027e0e60 +_020fa5c8: .word gMapManager _020fa5cc: .word data_027e0f7c _020fa5d0: .word data_ov03_020ff648 _020fa5d4: .word data_027e0c68 diff --git a/asm/ov04.inc b/asm/ov04.inc index 3f4f6d8b..0f2b9596 100644 --- a/asm/ov04.inc +++ b/asm/ov04.inc @@ -107,7 +107,7 @@ .extern data_027e0e28 .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov04.s b/asm/ov04.s index dc1a28a3..bd2df20b 100644 --- a/asm/ov04.s +++ b/asm/ov04.s @@ -921,7 +921,7 @@ _0210122a: str r0, [sp] mov r0, #1 str r0, [sp, #4] - ldr r0, _02101388 ; =data_027e0e60 + ldr r0, _02101388 ; =gMapManager ldr r0, [r0] blx _ZN10MapManager18func_ov00_02083588Ev str r0, [sp, #8] @@ -971,7 +971,7 @@ _02101292: ldr r0, _02101398 ; =data_027e0e58 ldr r0, [r0] bl func_ov04_02107e34 - ldr r0, _02101388 ; =data_027e0e60 + ldr r0, _02101388 ; =gMapManager add r1, r5, #4 ldr r0, [r0] blx _ZN10MapManager18func_ov00_02082b3cEi @@ -982,7 +982,7 @@ _02101292: cmp r7, #3 bne _021012d0 _021012b0: - ldr r0, _02101388 ; =data_027e0e60 + ldr r0, _02101388 ; =gMapManager ldr r0, [r0] blx _ZN10MapManager18func_ov00_02083588Ev add r1, r0, #0 @@ -1088,7 +1088,7 @@ _02101378: .word data_027e0d38 _0210137c: .word data_027e0fac _02101380: .word data_027e0f94 _02101384: .word data_027e0618 -_02101388: .word data_027e0e60 +_02101388: .word gMapManager _0210138c: .word data_027e077c _02101390: .word 0x04000304 _02101394: .word 0xffff7fff @@ -2204,7 +2204,7 @@ _02101bce: add r5, #0xc add r7, sp, #4 _02101bda: - ldr r0, _02101c0c ; =data_027e0e60 + ldr r0, _02101c0c ; =gMapManager add r1, r7, #0 ldr r0, [r0] blx _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -2229,7 +2229,7 @@ _02101bf6: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end func_ov04_02101bbc -_02101c0c: .word data_027e0e60 +_02101c0c: .word gMapManager _02101c10: .word data_027e0f6c .global func_ov04_02101c14 @@ -2765,7 +2765,7 @@ _02101fb6: thumb_func_start func_ov04_02101fbc func_ov04_02101fbc: ; 0x02101fbc push {r3, lr} - ldr r0, _02101fe0 ; =data_027e0e60 + ldr r0, _02101fe0 ; =gMapManager ldr r0, [r0] cmp r0, #0 bne _02101fde @@ -2778,20 +2778,20 @@ func_ov04_02101fbc: ; 0x02101fbc beq _02101fda bl func_ov04_02101f54 _02101fda: - ldr r1, _02101fe0 ; =data_027e0e60 + ldr r1, _02101fe0 ; =gMapManager str r0, [r1] _02101fde: pop {r3, pc} .align 2, 0 thumb_func_end func_ov04_02101fbc -_02101fe0: .word data_027e0e60 +_02101fe0: .word gMapManager _02101fe4: .word data_027e0ce0 .global func_ov04_02101fe8 thumb_func_start func_ov04_02101fe8 func_ov04_02101fe8: ; 0x02101fe8 push {r4, lr} - ldr r0, _02102008 ; =data_027e0e60 + ldr r0, _02102008 ; =gMapManager ldr r4, [r0] cmp r4, #0 beq _02102006 @@ -2801,14 +2801,14 @@ func_ov04_02101fe8: ; 0x02101fe8 add r0, r4, #0 blx _ZN9SysObjectdlEPv _02102000: - ldr r0, _02102008 ; =data_027e0e60 + ldr r0, _02102008 ; =gMapManager mov r1, #0 str r1, [r0] _02102006: pop {r4, pc} .align 2, 0 thumb_func_end func_ov04_02101fe8 -_02102008: .word data_027e0e60 +_02102008: .word gMapManager .global func_ov04_0210200c thumb_func_start func_ov04_0210200c @@ -7455,7 +7455,7 @@ _021045bc: mov r1, #0 strb r1, [r0, #0xa] strb r1, [r0, #0xb] - ldr r0, _021046bc ; =data_027e0e60 + ldr r0, _021046bc ; =gMapManager add r1, sp, #0x30 ldr r0, [r0] blx _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -7525,7 +7525,7 @@ _021045bc: ldrb r0, [r0, #0x15] strb r0, [r1, #0x15] _02104682: - ldr r0, _021046bc ; =data_027e0e60 + ldr r0, _021046bc ; =gMapManager add r1, sp, #0x18 ldr r0, [r0] blx _ZN10MapManager18func_ov00_020838f8EPi @@ -7554,7 +7554,7 @@ _021046b6: pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end func_ov04_0210455c -_021046bc: .word data_027e0e60 +_021046bc: .word gMapManager _021046c0: .word data_ov00_020eab04 _021046c4: .word gAdventureFlags @@ -7868,7 +7868,7 @@ _02104920: ldr r0, _021049fc ; =data_027e0f78 ldr r0, [r0] bl func_ov04_02102e3c - ldr r0, _02104a00 ; =data_027e0e60 + ldr r0, _02104a00 ; =gMapManager ldr r0, [r0] bl func_ov04_02102260 ldr r0, _02104a04 ; =data_027e0f68 @@ -7894,7 +7894,7 @@ _02104920: ldrb r2, [r2] ldr r1, [sp] bl func_ov04_02109b78 - ldr r0, _02104a00 ; =data_027e0e60 + ldr r0, _02104a00 ; =gMapManager ldr r1, [sp] ldr r0, [r0] ldr r2, [sp, #4] @@ -7938,7 +7938,7 @@ _021049f0: .word data_027e0f64 _021049f4: .word data_ov09_0211f5b4 _021049f8: .word data_027e1048 _021049fc: .word data_027e0f78 -_02104a00: .word data_027e0e60 +_02104a00: .word gMapManager _02104a04: .word data_027e0f68 _02104a08: .word data_027e0f90 _02104a0c: .word data_027e0fc0 @@ -7971,7 +7971,7 @@ _02104a3c: ldr r0, _02104adc ; =data_027e0f68 ldr r0, [r0] bl func_ov04_02102ad8 - ldr r0, _02104ae0 ; =data_027e0e60 + ldr r0, _02104ae0 ; =gMapManager ldr r0, [r0] bl func_ov04_021025d8 ldr r0, _02104ae4 ; =data_027e0f64 @@ -8021,7 +8021,7 @@ _02104ad0: .word data_ov09_0211f5b4 _02104ad4: .word data_027e0e28 _02104ad8: .word data_ov00_020ee734 _02104adc: .word data_027e0f68 -_02104ae0: .word data_027e0e60 +_02104ae0: .word gMapManager _02104ae4: .word data_027e0f64 _02104ae8: .word gAdventureFlags _02104aec: .word data_027e0fe4 @@ -9864,7 +9864,7 @@ func_ov04_021058cc: ; 0x021058cc blx func_ov00_02078b40 cmp r0, #2 beq _021058f6 - ldr r0, _02105948 ; =data_027e0e60 + ldr r0, _02105948 ; =gMapManager ldr r0, [r0] blx _ZN10MapManager18func_ov00_02084838Ev cmp r0, #0 @@ -9914,7 +9914,7 @@ _02105940: nop thumb_func_end func_ov04_021058cc _02105944: .word data_027e0d38 -_02105948: .word data_027e0e60 +_02105948: .word gMapManager _0210594c: .word 0x00000126 .global func_ov04_02105950 @@ -16578,7 +16578,7 @@ _02108c18: strh r1, [r4, #0x1c] ldrh r0, [r0, #0x16] strh r0, [r4, #0x1e] - ldr r0, _02108d20 ; =data_027e0e60 + ldr r0, _02108d20 ; =gMapManager ldrh r1, [r4, #0x14] ldr r0, [r0] lsr r1, r1, #4 @@ -16602,7 +16602,7 @@ _02108c18: ldrh r7, [r4, #0x16] lsl r0, r0, #0xc str r0, [sp, #0x3c] - ldr r0, _02108d20 ; =data_027e0e60 + ldr r0, _02108d20 ; =gMapManager lsr r1, r7, #4 ldr r0, [r0] blx _ZN10MapManager18func_ov00_02083bacEv @@ -16689,7 +16689,7 @@ _02108d0e: .align 2, 0 thumb_func_end func_ov04_02108bd4 _02108d1c: .word data_027e0ff0 -_02108d20: .word data_027e0e60 +_02108d20: .word gMapManager _02108d24: .word 0x0b60b60b _02108d28: .word 0x00000800 @@ -16792,13 +16792,13 @@ func_ov04_02108de0: ; 0x02108de0 push {r4, r5, r6, r7, lr} sub sp, #0x44 add r4, r0, #0 - ldr r0, _02109090 ; =data_027e0e60 + ldr r0, _02109090 ; =gMapManager add r7, r1, #0 ldr r0, [r0] str r2, [sp, #4] blx _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #0xc] - ldr r0, _02109090 ; =data_027e0e60 + ldr r0, _02109090 ; =gMapManager ldr r0, [r0] blx _ZN10MapManager17Get_MapData_Unk2aEv str r0, [sp, #8] @@ -17172,7 +17172,7 @@ _0210906c: b _0210909c nop thumb_func_end func_ov04_02108de0 -_02109090: .word data_027e0e60 +_02109090: .word gMapManager _02109094: .word 0x0b60b60b _02109098: .word 0x00000800 _0210909c: @@ -17207,13 +17207,13 @@ func_ov04_021090c8: ; 0x021090c8 push {r3, r4, r5, r6, r7, lr} sub sp, #0x88 add r5, r0, #0 - ldr r0, _021092d0 ; =data_027e0e60 + ldr r0, _021092d0 ; =gMapManager str r1, [sp, #4] ldr r0, [r0] str r2, [sp, #8] blx _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #0x18] - ldr r0, _021092d0 ; =data_027e0e60 + ldr r0, _021092d0 ; =gMapManager ldr r0, [r0] blx _ZN10MapManager17Get_MapData_Unk2aEv str r0, [sp, #0x14] @@ -17270,7 +17270,7 @@ _021090f2: _02109148: b _021092ba _0210914a: - ldr r0, _021092d0 ; =data_027e0e60 + ldr r0, _021092d0 ; =gMapManager ldr r1, [r5, #0x10] ldr r0, [r0] lsl r1, r1, #0x10 @@ -17289,7 +17289,7 @@ _0210914a: _0210916c: b _021092b4 _0210916e: - ldr r0, _021092d0 ; =data_027e0e60 + ldr r0, _021092d0 ; =gMapManager add r1, r7, #0 ldr r0, [r0] blx _ZN10MapManager18func_ov00_02083c24Ei @@ -17301,7 +17301,7 @@ _0210916e: blx func_0200388c add r0, r7, r0 str r0, [sp, #0x7c] - ldr r0, _021092d0 ; =data_027e0e60 + ldr r0, _021092d0 ; =gMapManager add r1, r6, #0 ldr r0, [r0] blx _ZN10MapManager18func_ov00_02083c50Ei @@ -17316,7 +17316,7 @@ _0210916e: mov r0, #5 lsl r0, r0, #0xc str r0, [sp, #0x80] - ldr r0, _021092d0 ; =data_027e0e60 + ldr r0, _021092d0 ; =gMapManager add r1, sp, #0x7c ldr r0, [r0] mov r2, #0 @@ -17466,7 +17466,7 @@ _021092ca: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end func_ov04_021090c8 -_021092d0: .word data_027e0e60 +_021092d0: .word gMapManager _021092d4: .word 0x414e4353 _021092d8: .word 0x0b60b60b _021092dc: .word 0x00000800 @@ -17553,13 +17553,13 @@ _02109360: beq _02109382 b _0210938a _02109378: - ldr r0, _02109480 ; =data_027e0e60 + ldr r0, _02109480 ; =gMapManager ldr r1, [r0] mov r0, #1 strb r0, [r1, #8] b _0210938a _02109382: - ldr r0, _02109480 ; =data_027e0e60 + ldr r0, _02109480 ; =gMapManager ldr r1, [r0] mov r0, #0 strb r0, [r1, #8] @@ -17704,7 +17704,7 @@ _0210946c: nop thumb_func_end func_ov04_021092e8 _0210947c: .word 0x00001333 -_02109480: .word data_027e0e60 +_02109480: .word gMapManager _02109484: .word data_027e0618 _02109488: .word data_027e0d38 _0210948c: .word gOverlayManager @@ -17763,7 +17763,7 @@ _021094b2: lsr r0, r0, #0x1c add r0, r5, r0 asr r7, r0, #4 - ldr r0, _021095b0 ; =data_027e0e60 + ldr r0, _021095b0 ; =gMapManager add r1, r7, #0 ldr r0, [r0] blx _ZN10MapManager18func_ov00_02083c50Ei @@ -17782,12 +17782,12 @@ _021094b2: add r2, r7, #0 add r0, r1, r0 str r0, [sp, #8] - ldr r0, _021095b0 ; =data_027e0e60 + ldr r0, _021095b0 ; =gMapManager ldr r1, [sp, #0xc] ldr r0, [r0] blx _ZN10MapManager18func_ov00_02083e34Ecci add r5, r0, #0 - ldr r0, _021095b0 ; =data_027e0e60 + ldr r0, _021095b0 ; =gMapManager ldr r1, [sp, #0xc] ldr r0, [r0] blx _ZN10MapManager18func_ov00_02083c24Ei @@ -17848,7 +17848,7 @@ _021095a8: pop {r4, r5, r6, r7, pc} nop thumb_func_end func_ov04_021094a0 -_021095b0: .word data_027e0e60 +_021095b0: .word gMapManager _021095b4: .word 0x0b60b60b _021095b8: .word 0x00000800 @@ -17938,7 +17938,7 @@ _021095ec: lsl r0, r0, #0xa add r0, r1, r0 asr r6, r0, #0xc - ldr r0, _0210974c ; =data_027e0e60 + ldr r0, _0210974c ; =gMapManager asr r1, r6, #3 lsr r1, r1, #0x1c add r1, r6, r1 @@ -17977,7 +17977,7 @@ _021095ec: mul r1, r2 add r6, r1, r0 ldr r1, [sp, #8] - ldr r0, _0210974c ; =data_027e0e60 + ldr r0, _0210974c ; =gMapManager asr r1, r1, #3 lsr r2, r1, #0x1c ldr r1, [sp, #8] @@ -18052,7 +18052,7 @@ _02109746: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end func_ov04_021095bc -_0210974c: .word data_027e0e60 +_0210974c: .word gMapManager _02109750: .word 0x00001333 _02109754: .word 0x00000133 _02109758: .word 0x0b60b60b @@ -24825,7 +24825,7 @@ func_ov04_0210cb38: ; 0x0210cb38 str r0, [sp, #0xa0] add r0, sp, #0x80 blx func_ov00_020c3348 - ldr r0, _0210cc0c ; =data_027e0e60 + ldr r0, _0210cc0c ; =gMapManager add r1, sp, #0x74 ldr r0, [r0] blx _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -24857,7 +24857,7 @@ _0210cb7a: str r0, [sp, #0x68] add r0, sp, #0x48 blx func_ov00_020c3348 - ldr r0, _0210cc0c ; =data_027e0e60 + ldr r0, _0210cc0c ; =gMapManager add r1, sp, #0x3c ldr r0, [r0] blx _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -24886,7 +24886,7 @@ _0210cbc2: str r0, [sp, #0x30] add r0, sp, #0x10 blx func_ov00_020c3348 - ldr r0, _0210cc0c ; =data_027e0e60 + ldr r0, _0210cc0c ; =gMapManager add r1, sp, #4 ldr r0, [r0] blx _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -24904,7 +24904,7 @@ _0210cc04: .align 2, 0 thumb_func_end func_ov04_0210cb38 _0210cc08: .word data_027e0d38 -_0210cc0c: .word data_027e0e60 +_0210cc0c: .word gMapManager _0210cc10: .word data_027e0fe8 _0210cc14: .word 0x49434645 _0210cc18: .word 0x534e4546 diff --git a/asm/ov05.inc b/asm/ov05.inc index cb564927..0947554a 100644 --- a/asm/ov05.inc +++ b/asm/ov05.inc @@ -159,7 +159,7 @@ .extern data_027e0e2c .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov05.s b/asm/ov05.s index 41a25650..1e6810e9 100644 --- a/asm/ov05.s +++ b/asm/ov05.s @@ -604,7 +604,7 @@ _02101280: ldr r0, [r1, #4] tst r0, #1 bne _02101338 - ldr r0, _02101420 ; =data_027e0e60 + ldr r0, _02101420 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_84Ev ldr r3, [r8] @@ -709,7 +709,7 @@ _021013f4: .align 2, 0 arm_func_end func_ov05_02101230 _0210141c: .word data_027e077c -_02101420: .word data_027e0e60 +_02101420: .word gMapManager .global func_ov05_02101424 arm_func_start func_ov05_02101424 @@ -1340,12 +1340,12 @@ _02101c04: bl func_ov00_020a5e9c cmp r0, #0x12 bne _02101c90 - ldr r0, _021021dc ; =data_027e0e60 + ldr r0, _021021dc ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, #2 beq _02101c44 - ldr r0, _021021dc ; =data_027e0e60 + ldr r0, _021021dc ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, #3 @@ -1561,7 +1561,7 @@ _02101f18: cmp r0, #0 addne sp, sp, #0x58 ldmneia sp!, {r4, r5, r6, pc} - ldr r0, _021021dc ; =data_027e0e60 + ldr r0, _021021dc ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 @@ -1730,7 +1730,7 @@ _02102140: arm_func_end func_ov05_02101b14 _021021d4: .word data_027e0f64 _021021d8: .word data_027e0d38 -_021021dc: .word data_027e0e60 +_021021dc: .word gMapManager _021021e0: .word data_027e0f94 _021021e4: .word data_027e0ffc _021021e8: .word data_ov00_020eec9c @@ -2009,7 +2009,7 @@ _0210259c: mov r1, r8 ldr r0, [r0] bl func_ov05_021017e8 - ldr r0, _021026e0 ; =data_027e0e60 + ldr r0, _021026e0 ; =gMapManager mov r1, r8 ldr r0, [r0] bl func_ov05_0210112c @@ -2081,7 +2081,7 @@ _021026d0: .word data_027e0d04 _021026d4: .word data_027e0f90 _021026d8: .word data_027e0f64 _021026dc: .word data_027e0f78 -_021026e0: .word data_027e0e60 +_021026e0: .word gMapManager _021026e4: .word data_027e0fe4 _021026e8: .word data_027e0f6c _021026ec: .word data_ov12_0213deb0 @@ -2100,7 +2100,7 @@ func_ov05_021026f8: ; 0x021026f8 bl func_ov05_02103df0 cmp r5, #1 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _02102744 ; =data_027e0e60 + ldr r0, _02102744 ; =gMapManager mov r1, r4 ldr r0, [r0] bl func_ov05_021011b4 @@ -2112,7 +2112,7 @@ func_ov05_021026f8: ; 0x021026f8 .align 2, 0 arm_func_end func_ov05_021026f8 _02102740: .word data_027e103c -_02102744: .word data_027e0e60 +_02102744: .word gMapManager _02102748: .word data_027e0fc0 .global func_ov05_0210274c @@ -2164,7 +2164,7 @@ _021027d8: mov r1, r4 ldr r0, [r0] bl func_ov05_02105304 - ldr r0, _02102824 ; =data_027e0e60 + ldr r0, _02102824 ; =gMapManager mov r1, r4 ldr r0, [r0] bl func_ov05_021011cc @@ -2176,7 +2176,7 @@ _02102814: .word data_027e103c _02102818: .word data_027e0c54 _0210281c: .word data_027e0f90 _02102820: .word data_027e0fe4 -_02102824: .word data_027e0e60 +_02102824: .word gMapManager .global func_ov05_02102828 arm_func_start func_ov05_02102828 @@ -2266,7 +2266,7 @@ _0210294c: bl func_ov05_02101804 cmp r7, #0 bne _02102978 - ldr r0, _02102a5c ; =data_027e0e60 + ldr r0, _02102a5c ; =gMapManager mov r1, r8 ldr r0, [r0] bl func_ov05_021011fc @@ -2333,7 +2333,7 @@ _02102a4c: .word data_027e0de4 _02102a50: .word data_027e0de8 _02102a54: .word data_027e0f88 _02102a58: .word data_027e0f64 -_02102a5c: .word data_027e0e60 +_02102a5c: .word gMapManager _02102a60: .word data_027e0f90 _02102a64: .word data_027e0fe4 _02102a68: .word data_027e0618 @@ -2389,7 +2389,7 @@ _02102b08: .word data_027e0cbc arm_func_start func_ov05_02102b0c func_ov05_02102b0c: ; 0x02102b0c stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr ip, _02102c28 ; =data_027e0e60 + ldr ip, _02102c28 ; =gMapManager mov r8, r0 mov r7, r1 mov r4, r2 @@ -2471,7 +2471,7 @@ _02102c20: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov05_02102b0c -_02102c28: .word data_027e0e60 +_02102c28: .word gMapManager .global func_ov05_02102c2c arm_func_start func_ov05_02102c2c @@ -3320,7 +3320,7 @@ func_ov05_0210373c: ; 0x0210373c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x10 ldr r7, [sp, #0x44] - ldr r4, _021038c0 ; =data_027e0e60 + ldr r4, _021038c0 ; =gMapManager ldr r6, [r7, #8] ldr r5, [sp, #0x3c] ldr r4, [r4] @@ -3419,7 +3419,7 @@ _021038b4: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov05_0210373c -_021038c0: .word data_027e0e60 +_021038c0: .word gMapManager _021038c4: .word data_ov05_021122a8 .global func_ov05_021038c8 @@ -3428,7 +3428,7 @@ func_ov05_021038c8: ; 0x021038c8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x18 ldr r7, [sp, #0x4c] - ldr r4, _02103a9c ; =data_027e0e60 + ldr r4, _02103a9c ; =gMapManager ldr r6, [r7] ldr r5, [sp, #0x44] ldr r4, [r4] @@ -3548,7 +3548,7 @@ _02103a90: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov05_021038c8 -_02103a9c: .word data_027e0e60 +_02103a9c: .word gMapManager _02103aa0: .word data_ov05_021122a8 .global func_ov05_02103aa4 @@ -3684,12 +3684,12 @@ func_ov05_02103b88: ; 0x02103b88 .global func_ov05_02103ba0 arm_func_start func_ov05_02103ba0 func_ov05_02103ba0: ; 0x02103ba0 - ldr r0, _02103bac ; =data_027e0e60 + ldr r0, _02103bac ; =gMapManager ldr r0, [r0] bx lr .align 2, 0 arm_func_end func_ov05_02103ba0 -_02103bac: .word data_027e0e60 +_02103bac: .word gMapManager .global func_ov05_02103bb0 arm_func_start func_ov05_02103bb0 @@ -6070,7 +6070,7 @@ _021059f0: add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02105c0c ; =data_027e0e60 + ldr r0, _02105c0c ; =gMapManager mov r1, r3 ldr r0, [r0] mov r2, #1 @@ -6210,7 +6210,7 @@ _02105bfc: .word 0x00000112 _02105c00: .word 0x00000113 _02105c04: .word 0x00000666 _02105c08: .word data_ov05_021124f0 -_02105c0c: .word data_027e0e60 +_02105c0c: .word gMapManager _02105c10: .word data_02050f54 _02105c14: .word 0x00000266 _02105c18: .word 0x00000115 @@ -7366,7 +7366,7 @@ func_ov05_02106bbc: ; 0x02106bbc mov r0, r5 bl _ZN13LinkStateBase12GetPlayerPosEv ldr r0, [r0, #4] - ldr r1, _02106c70 ; =data_027e0e60 + ldr r1, _02106c70 ; =gMapManager add r0, r0, #0x33 add r0, r0, #0x1300 str r0, [r4, #4] @@ -7387,7 +7387,7 @@ _02106c64: .align 2, 0 arm_func_end func_ov05_02106bbc _02106c6c: .word data_027e0fb8 -_02106c70: .word data_027e0e60 +_02106c70: .word gMapManager .global func_ov05_02106c74 arm_func_start func_ov05_02106c74 @@ -7700,7 +7700,7 @@ _0210707c: add r3, sp, #0x28 ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _021071e8 ; =data_027e0e60 + ldr r0, _021071e8 ; =gMapManager ldr r4, [sp, #0x28] ldr r5, [sp, #0x2c] ldr r2, [sp, #0x30] @@ -7721,7 +7721,7 @@ _0210707c: add r0, r0, #0x800 cmp r0, r8 bge _02107148 - ldr r0, _021071e8 ; =data_027e0e60 + ldr r0, _021071e8 ; =gMapManager add r1, sp, #0x10 ldr r0, [r0] mov r2, #1 @@ -7775,7 +7775,7 @@ _021071d8: .word data_ov05_021126ac _021071dc: .word data_027e0fb8 _021071e0: .word 0x00000ccd _021071e4: .word data_027e0e58 -_021071e8: .word data_027e0e60 +_021071e8: .word gMapManager _021071ec: .word 0xfffffb33 _021071f0: .word func_ov05_02106c74 _021071f4: .word data_027e103c @@ -8382,7 +8382,7 @@ _02107a18: ldrsh r0, [r4, #0x10] cmp r0, #0 bgt _02107b1c - ldr r1, _02107b68 ; =data_027e0e60 + ldr r1, _02107b68 ; =gMapManager mov r0, r4 ldr r5, [r1] bl _ZN13LinkStateBase12GetPlayerPosEv @@ -8452,7 +8452,7 @@ _02107b1c: _02107b5c: .word data_ov05_021126ac _02107b60: .word data_ov05_021126b4 _02107b64: .word data_027e0fb8 -_02107b68: .word data_027e0e60 +_02107b68: .word gMapManager _02107b6c: .word data_ov05_021122e0 _02107b70: .word data_027e0d0c @@ -10028,7 +10028,7 @@ _02109018: bl func_ov00_020d70a4 b _02109080 _02109060: - ldr r0, _02109294 ; =data_027e0e60 + ldr r0, _02109294 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 @@ -10180,7 +10180,7 @@ _02109278: arm_func_end func_ov05_02108f98 _0210928c: .word data_ov00_020eec68 _02109290: .word data_027e071c -_02109294: .word data_027e0e60 +_02109294: .word gMapManager _02109298: .word data_027e0d38 _0210929c: .word data_027e0618 _021092a0: .word data_027e0c54 @@ -10966,7 +10966,7 @@ _02109d0c: str r1, [r7, #0x40] str r3, [r7, #0x44] str r2, [r7, #0x48] - ldr r0, _02109e80 ; =data_027e0e60 + ldr r0, _02109e80 ; =gMapManager add r1, r7, #0x40 ldr r0, [r0] mov r2, #1 @@ -11058,7 +11058,7 @@ _02109e74: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov05_02109cd0 -_02109e80: .word data_027e0e60 +_02109e80: .word gMapManager .global func_ov05_02109e84 arm_func_start func_ov05_02109e84 @@ -11801,12 +11801,12 @@ func_ov05_0210a7d4: ; 0x0210a7d4 str r1, [r0, #4] b _0210aa98 _0210a830: - ldr r1, _0210aad8 ; =data_027e0e60 + ldr r1, _0210aad8 ; =gMapManager add r0, sp, #0x14 ldr r1, [r1] add r2, sp, #0x2c bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - ldr r0, _0210aad8 ; =data_027e0e60 + ldr r0, _0210aad8 ; =gMapManager add r1, sp, #0x14 ldr r0, [r0] mov r5, #0 @@ -11829,7 +11829,7 @@ _0210a830: movls r5, #0 cmp r1, r0 bne _0210a904 - ldr r1, _0210aad8 ; =data_027e0e60 + ldr r1, _0210aad8 ; =gMapManager mov r0, r6 ldr r7, [r1] bl _ZN13LinkStateBase15GetGrabActorRefEv @@ -11867,7 +11867,7 @@ _0210a904: mov r5, #1 cmp r1, r0 beq _0210aa20 - ldr r0, _0210aad8 ; =data_027e0e60 + ldr r0, _0210aad8 ; =gMapManager add r1, sp, #0x2c ldr r0, [r0] mov r2, #0 @@ -11906,7 +11906,7 @@ _0210a904: mov ip, #0 str r1, [sp, #0x24] ldr r1, [r0, #8] - ldr r0, _0210aad8 ; =data_027e0e60 + ldr r0, _0210aad8 ; =gMapManager str r1, [sp, #0x28] ldr r2, [r4, #0x98] add r1, sp, #0x38 @@ -11979,7 +11979,7 @@ _0210aac0: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov05_0210a7d4 -_0210aad8: .word data_027e0e60 +_0210aad8: .word gMapManager _0210aadc: .word 0x424f4d42 _0210aae0: .word gItemManager _0210aae4: .word 0x43525953 @@ -12399,7 +12399,7 @@ _0210ae98: movne r1, #1 moveq r1, #0 strb r1, [r5, #0xb1] - ldr r0, _0210b290 ; =data_027e0e60 + ldr r0, _0210b290 ; =gMapManager ldr r7, [sp, #0x28] ldr r6, [sp, #0x2c] ldr r3, [sp, #0x30] @@ -12514,7 +12514,7 @@ _0210b280: .word data_027e0fe4 _0210b284: .word gAdventureFlags _0210b288: .word data_02050f54 _0210b28c: .word 0x0000ffff -_0210b290: .word data_027e0e60 +_0210b290: .word gMapManager _0210b294: .word data_027e0fb8 _0210b298: .word data_ov05_021128a4 _0210b29c: .word data_ov05_021128b4 @@ -12818,7 +12818,7 @@ _0210b684: ldr r0, _0210b95c ; =data_027e0fb8 ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev - ldr r1, _0210b968 ; =data_027e0e60 + ldr r1, _0210b968 ; =gMapManager add r0, sp, #0x12 ldr r4, [r1] add r2, r5, #0x24 @@ -12865,7 +12865,7 @@ _0210b6dc: ldmia sp!, {r3, r4, r5, r6, pc} _0210b73c: mov r1, #2 - ldr r0, _0210b968 ; =data_027e0e60 + ldr r0, _0210b968 ; =gMapManager str r1, [r5, #0xc] ldr r4, [r0] add r0, sp, #0x10 @@ -12910,7 +12910,7 @@ _0210b7b0: _0210b7dc: mov r0, r5 bl _ZN13LinkStateBase18EquipItem_vfunc_28Ev - ldr r1, _0210b968 ; =data_027e0e60 + ldr r1, _0210b968 ; =gMapManager mov r0, r5 ldr r6, [r1] bl _ZN13LinkStateBase12GetPlayerPosEv @@ -12919,7 +12919,7 @@ _0210b7dc: mov r0, r6 bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [r4] - ldr r1, _0210b968 ; =data_027e0e60 + ldr r1, _0210b968 ; =gMapManager mov r0, r5 ldr r6, [r1] bl _ZN13LinkStateBase12GetPlayerPosEv @@ -13012,7 +13012,7 @@ _0210b954: _0210b95c: .word data_027e0fb8 _0210b960: .word data_ov05_02112984 _0210b964: .word data_ov05_021129f4 -_0210b968: .word data_027e0e60 +_0210b968: .word gMapManager .global func_ov05_0210b96c arm_func_start func_ov05_0210b96c @@ -13064,7 +13064,7 @@ func_ov05_0210b9c4: ; 0x0210b9c4 ldr r1, _0210ba8c ; =data_027e0fe4 str r0, [sp] ldr r2, [r4, #0x28] - ldr r0, _0210ba90 ; =data_027e0e60 + ldr r0, _0210ba90 ; =gMapManager str r2, [sp, #4] ldr r3, [r4, #0x2c] ldr r5, [r1] @@ -13106,7 +13106,7 @@ _0210ba7c: .align 2, 0 arm_func_end func_ov05_0210b9c4 _0210ba8c: .word data_027e0fe4 -_0210ba90: .word data_027e0e60 +_0210ba90: .word gMapManager _0210ba94: .word data_ov00_020eec9c .global func_ov05_0210ba98 @@ -13135,7 +13135,7 @@ func_ov05_0210babc: ; 0x0210babc cmp r0, #0 beq _0210bb10 ldr r1, [r4, #0x24] - ldr r0, _0210bb48 ; =data_027e0e60 + ldr r0, _0210bb48 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x28] ldr r0, [r0] @@ -13164,7 +13164,7 @@ _0210bb10: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov05_0210babc -_0210bb48: .word data_027e0e60 +_0210bb48: .word gMapManager _0210bb4c: .word data_027e0fb8 .global func_ov05_0210bb50 @@ -13199,7 +13199,7 @@ func_ov05_0210bb98: ; 0x0210bb98 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev mov r1, #0 strb r1, [r0, #0xbc] - ldr r1, _0210bd58 ; =data_027e0e60 + ldr r1, _0210bd58 ; =gMapManager add r0, sp, #0 ldr r4, [r1] add r2, r5, #0x24 @@ -13314,7 +13314,7 @@ _0210bd48: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov05_0210bb98 -_0210bd58: .word data_027e0e60 +_0210bd58: .word gMapManager _0210bd5c: .word gAdventureFlags _0210bd60: .word data_027e0fb8 _0210bd64: .word data_ov05_021129d4 @@ -13334,7 +13334,7 @@ func_ov05_0210bd70: ; 0x0210bd70 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev mov r1, #0 strb r1, [r0, #0xbc] - ldr r1, _0210bf40 ; =data_027e0e60 + ldr r1, _0210bf40 ; =gMapManager add r0, sp, #0 ldr r4, [r1] add r2, r5, #0x24 @@ -13451,7 +13451,7 @@ _0210beb8: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov05_0210bd70 -_0210bf40: .word data_027e0e60 +_0210bf40: .word gMapManager _0210bf44: .word data_027e0fb8 _0210bf48: .word gAdventureFlags _0210bf4c: .word 0x00000155 @@ -13662,7 +13662,7 @@ func_ov05_0210c20c: ; 0x0210c20c bl _ZN13PlayerControl18func_ov00_020af01cEPc cmp r0, #0 beq _0210c2a8 - ldr r0, _0210c950 ; =data_027e0e60 + ldr r0, _0210c950 ; =gMapManager ldrb r2, [sp, #8] ldrb r1, [sp, #9] ldr r0, [r0] @@ -13752,7 +13752,7 @@ _0210c398: ldr r5, [r0, #0xa0] cmp r5, #0 beq _0210c3ec - ldr r0, _0210c950 ; =data_027e0e60 + ldr r0, _0210c950 ; =gMapManager add r1, r5, #0x18 ldr r0, [r0] add r2, r7, #0x24 @@ -13841,7 +13841,7 @@ _0210c4d8: ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv ldr r1, [r7, #0x24] - ldr r0, _0210c950 ; =data_027e0e60 + ldr r0, _0210c950 ; =gMapManager str r1, [sp, #0x3c] ldr r1, [r7, #0x28] ldr r0, [r0] @@ -13863,7 +13863,7 @@ _0210c528: ldmia sp!, {r3, r4, r5, r6, r7, pc} _0210c540: ldr r1, [r7, #0x24] - ldr r0, _0210c950 ; =data_027e0e60 + ldr r0, _0210c950 ; =gMapManager str r1, [sp, #0x30] ldr r1, [r7, #0x28] ldr r0, [r0] @@ -13953,7 +13953,7 @@ _0210c650: ldmia sp!, {r3, r4, r5, r6, r7, pc} _0210c680: ldr r1, [r7, #0x24] - ldr r0, _0210c950 ; =data_027e0e60 + ldr r0, _0210c950 ; =gMapManager str r1, [sp, #0x24] ldr r1, [r7, #0x28] ldr r0, [r0] @@ -13964,7 +13964,7 @@ _0210c680: str r3, [sp, #0x2c] bl _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi str r0, [r7, #0x10] - ldr r1, _0210c950 ; =data_027e0e60 + ldr r1, _0210c950 ; =gMapManager add r0, sp, #6 ldr r1, [r1] add r2, r7, #0x24 @@ -14049,7 +14049,7 @@ _0210c7cc: cmpne r1, r0 bne _0210c818 ldr r1, [r7, #0x24] - ldr r0, _0210c950 ; =data_027e0e60 + ldr r0, _0210c950 ; =gMapManager str r1, [sp, #0x18] ldr r1, [r7, #0x28] ldr r0, [r0] @@ -14074,7 +14074,7 @@ _0210c824: mov r1, #0 str r2, [sp, #0x14] bl _ZNK11ItemManager8GetFairyEi - ldr r1, _0210c950 ; =data_027e0e60 + ldr r1, _0210c950 ; =gMapManager mov r4, r0 ldr r0, [r1] add r1, sp, #0xc @@ -14143,7 +14143,7 @@ _0210c93c: arm_func_end func_ov05_0210c20c _0210c948: .word data_027e0618 _0210c94c: .word data_027e0fb8 -_0210c950: .word data_027e0e60 +_0210c950: .word gMapManager _0210c954: .word data_ov00_020eec9c _0210c958: .word data_ov05_02112324 _0210c95c: .word data_ov05_02112360 @@ -14195,7 +14195,7 @@ _0210c9d0: _0210c9e4: mov r5, #2 _0210c9e8: - ldr r1, _0210ca7c ; =data_027e0e60 + ldr r1, _0210ca7c ; =gMapManager add r0, sp, #0 ldr r6, [r1] add r2, r4, #0x24 @@ -14234,7 +14234,7 @@ _0210c9e8: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov05_0210c990 -_0210ca7c: .word data_027e0e60 +_0210ca7c: .word gMapManager .global func_ov05_0210ca80 arm_func_start func_ov05_0210ca80 @@ -16372,7 +16372,7 @@ _0210e6d8: cmp r0, #0 beq _0210e72c ldr r0, _0210e884 ; =data_027e0fd4 - ldr r1, _0210e894 ; =data_027e0e60 + ldr r1, _0210e894 ; =gMapManager ldr r2, [r0] ldr r0, [r1] add r1, r2, #0xc4 @@ -16474,7 +16474,7 @@ _0210e884: .word data_027e0fd4 _0210e888: .word data_027e0fa0 _0210e88c: .word data_027e0fd0 _0210e890: .word data_027e0f94 -_0210e894: .word data_027e0e60 +_0210e894: .word gMapManager _0210e898: .word gAdventureFlags _0210e89c: .word 0x66666667 _0210e8a0: .word data_027e0fac @@ -16504,7 +16504,7 @@ func_ov05_0210e8b4: ; 0x0210e8b4 ldr r1, [r1, #0x14] cmp r1, #1 bne _0210e918 - ldr r0, _0210ea8c ; =data_027e0e60 + ldr r0, _0210ea8c ; =gMapManager ldrh r2, [r5, #0xe] ldr r0, [r0] add r1, sp, #4 @@ -16619,7 +16619,7 @@ _0210ea38: .align 2, 0 arm_func_end func_ov05_0210e8b4 _0210ea88: .word data_027e0d38 -_0210ea8c: .word data_027e0e60 +_0210ea8c: .word gMapManager _0210ea90: .word data_027e0fac _0210ea94: .word data_027e0f94 _0210ea98: .word data_027e0fcc @@ -18859,7 +18859,7 @@ func_ov05_021109c0: ; 0x021109c0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 ldr r1, _02110b38 ; =data_027e0fd4 - ldr r2, _02110b3c ; =data_027e0e60 + ldr r2, _02110b3c ; =gMapManager ldr r1, [r1] mov r6, r0 ldr r0, [r2] @@ -18972,7 +18972,7 @@ _02110b2c: .align 2, 0 arm_func_end func_ov05_021109c0 _02110b38: .word data_027e0fd4 -_02110b3c: .word data_027e0e60 +_02110b3c: .word gMapManager .global func_ov05_02110b40 arm_func_start func_ov05_02110b40 @@ -19393,7 +19393,7 @@ _021110cc: _02111100: bl _ZN13LinkStateBase12GetPlayerPosEv ldr r2, [r0] - ldr r1, _021112e8 ; =data_027e0e60 + ldr r1, _021112e8 ; =gMapManager str r2, [sp, #0xc] ldr r2, [r0, #4] ldr r5, [r1] @@ -19522,7 +19522,7 @@ _021112d8: .word data_ov05_02112b34 _021112dc: .word data_027e0e58 _021112e0: .word 0x0000102e _021112e4: .word 0x000001a7 -_021112e8: .word data_027e0e60 +_021112e8: .word gMapManager .global func_ov05_021112ec arm_func_start func_ov05_021112ec @@ -20206,7 +20206,7 @@ func_ov05_02111c00: ; 0x02111c00 mov r0, r5 mov r1, r4 bl func_ov00_02080de8 - ldr r0, _02111c68 ; =data_027e0e60 + ldr r0, _02111c68 ; =gMapManager add r1, sp, #0 ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -20219,7 +20219,7 @@ func_ov05_02111c00: ; 0x02111c00 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov05_02111c00 -_02111c68: .word data_027e0e60 +_02111c68: .word gMapManager .global func_ov05_02111c6c arm_func_start func_ov05_02111c6c @@ -20446,7 +20446,7 @@ func_ov05_02111f40: ; 0x02111f40 ldr r0, [r5, #0xf0] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _02111fb0 ; =data_027e0e60 + ldr r0, _02111fb0 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020848b8Ev cmp r0, #0 @@ -20466,7 +20466,7 @@ func_ov05_02111f40: ; 0x02111f40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov05_02111f40 -_02111fb0: .word data_027e0e60 +_02111fb0: .word gMapManager _02111fb4: .word data_027e0d3c .global func_ov05_02111fb8 diff --git a/asm/ov09.inc b/asm/ov09.inc index a19e48af..5f97c006 100644 --- a/asm/ov09.inc +++ b/asm/ov09.inc @@ -49,7 +49,7 @@ .extern data_027e0e28 .extern data_027e0e2c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f90 .extern data_027e0fbc diff --git a/asm/ov09.s b/asm/ov09.s index b9675189..acb0357c 100644 --- a/asm/ov09.s +++ b/asm/ov09.s @@ -3206,7 +3206,7 @@ func_ov09_02114554: ; 0x02114554 blx _ZN12ActorManager14Actor_vfunc_28Ev mov r0, #0 str r0, [sp, #8] - ldr r0, _021146ac ; =data_027e0e60 + ldr r0, _021146ac ; =gMapManager add r1, sp, #0x14 ldr r7, [r0] ldr r0, [sp, #8] @@ -3345,7 +3345,7 @@ _02114688: ldr r1, [sp, #8] add r0, r5, #0 bl func_ov09_02114520 - ldr r0, _021146ac ; =data_027e0e60 + ldr r0, _021146ac ; =gMapManager ldr r0, [r0] blx _ZN10MapManager18func_ov00_02082adcEv add sp, #0x1ec @@ -3353,7 +3353,7 @@ _02114688: .align 2, 0 thumb_func_end func_ov09_02114554 _021146a8: .word data_027e0fe4 -_021146ac: .word data_027e0e60 +_021146ac: .word gMapManager _021146b0: .word data_027e0d38 _021146b4: .word data_ov00_020e9f10 _021146b8: .word data_ov00_020ea110 @@ -16510,7 +16510,7 @@ _0211c3d4: .word data_027e0ce0 func_ov09_0211c3d8: ; 0x0211c3d8 push {r3, r4, r5, lr} add r4, r0, #0 - ldr r0, _0211c418 ; =data_027e0e60 + ldr r0, _0211c418 ; =gMapManager ldr r0, [r0] blx _ZN10MapManager18func_ov00_020848b8Ev strb r0, [r4, #0xa] @@ -16541,7 +16541,7 @@ _0211c416: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end func_ov09_0211c3d8 -_0211c418: .word data_027e0e60 +_0211c418: .word gMapManager .global func_ov09_0211c41c thumb_func_start func_ov09_0211c41c @@ -18378,7 +18378,7 @@ func_ov09_0211d180: ; 0x0211d180 str r2, [sp, #0x94] add r3, r2, r1 ldr r9, [r4, #8] - ldr r1, _0211d658 ; =data_027e0e60 + ldr r1, _0211d658 ; =gMapManager mov r5, r0 ldr r0, [r1] add r1, sp, #0x90 @@ -18690,7 +18690,7 @@ _0211d628: .align 2, 0 arm_func_end func_ov09_0211d180 _0211d654: .word 0xfffffccd -_0211d658: .word data_027e0e60 +_0211d658: .word gMapManager _0211d65c: .word 0x00000385 _0211d660: .word 0xfffff4a4 _0211d664: .word 0x0000099a @@ -18850,7 +18850,7 @@ func_ov09_0211d860: ; 0x0211d860 push {r3, r4, r5, r6, r7, lr} sub sp, #0x40 add r6, r0, #0 - ldr r0, _0211d89c ; =data_027e0e60 + ldr r0, _0211d89c ; =gMapManager mov r5, #0 ldr r4, [r0] add r7, sp, #0 @@ -18879,7 +18879,7 @@ _0211d88a: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end func_ov09_0211d860 -_0211d89c: .word data_027e0e60 +_0211d89c: .word gMapManager .global func_ov09_0211d8a0 thumb_func_start func_ov09_0211d8a0 diff --git a/asm/ov12.inc b/asm/ov12.inc index 4131efbf..601b38ee 100644 --- a/asm/ov12.inc +++ b/asm/ov12.inc @@ -128,7 +128,7 @@ .extern data_027e0dcc .extern data_027e0e2c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f84 diff --git a/asm/ov12.s b/asm/ov12.s index 36039620..f3e1e475 100644 --- a/asm/ov12.s +++ b/asm/ov12.s @@ -931,7 +931,7 @@ _0211371c: .word data_027e0fe0 arm_func_start func_ov12_02113720 func_ov12_02113720: ; 0x02113720 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _0211378c ; =data_027e0e60 + ldr r2, _0211378c ; =gMapManager mov r4, r0 ldr r0, [r2] mov r5, r1 @@ -959,13 +959,13 @@ func_ov12_02113720: ; 0x02113720 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_02113720 -_0211378c: .word data_027e0e60 +_0211378c: .word gMapManager .global func_ov12_02113790 arm_func_start func_ov12_02113790 func_ov12_02113790: ; 0x02113790 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _021137e4 ; =data_027e0e60 + ldr r2, _021137e4 ; =gMapManager mov r4, r0 ldr r0, [r2] mov r5, r1 @@ -987,7 +987,7 @@ func_ov12_02113790: ; 0x02113790 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_02113790 -_021137e4: .word data_027e0e60 +_021137e4: .word gMapManager .global func_ov12_021137e8 arm_func_start func_ov12_021137e8 @@ -1003,7 +1003,7 @@ func_ov12_021137e8: ; 0x021137e8 add r0, r2, r0, lsr #22 add r0, r0, r1, lsr #20 mov r4, r0, lsl #0x6 - ldr r0, _02113834 ; =data_027e0e60 + ldr r0, _02113834 ; =gMapManager tst r4, #0x20000 orrne r4, r4, #0x3fc0000 ldr r0, [r0] @@ -1013,7 +1013,7 @@ func_ov12_021137e8: ; 0x021137e8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov12_021137e8 -_02113834: .word data_027e0e60 +_02113834: .word gMapManager .global func_ov12_02113838 arm_func_start func_ov12_02113838 @@ -1026,7 +1026,7 @@ func_ov12_02113838: ; 0x02113838 mov r0, r0, lsl #0x1a add r0, r1, r0, lsr #20 mov r4, r0, lsl #0x6 - ldr r0, _02113878 ; =data_027e0e60 + ldr r0, _02113878 ; =gMapManager tst r4, #0x20000 orrne r4, r4, #0x3fc0000 ldr r0, [r0] @@ -1036,7 +1036,7 @@ func_ov12_02113838: ; 0x02113838 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov12_02113838 -_02113878: .word data_027e0e60 +_02113878: .word gMapManager .global func_ov12_0211387c arm_func_start func_ov12_0211387c @@ -6736,12 +6736,12 @@ func_ov12_02118428: ; 0x02118428 addeq sp, sp, #0x128 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _02118808 ; =data_027e0e60 + ldr r0, _02118808 ; =gMapManager add r1, sp, #0xbc ldr r0, [r0] mov r2, #0 bl _ZN10MapManager16MapData_vfunc_68Ev - ldr r1, _02118808 ; =data_027e0e60 + ldr r1, _02118808 ; =gMapManager str r0, [sp, #0x9c] ldr r0, [r1] add r1, sp, #0xbc @@ -6785,7 +6785,7 @@ _0211857c: cmp r10, #0 stmia r7, {r0, r1, r2} ble _0211877c - ldr r11, _02118808 ; =data_027e0e60 + ldr r11, _02118808 ; =gMapManager add r5, r8, #0x8c add r4, sp, #0x44 mov r6, #0 @@ -6934,7 +6934,7 @@ _0211877c: _021187fc: .word data_027e0c38 _02118800: .word data_027e0d3c _02118804: .word data_ov12_02137d20 -_02118808: .word data_027e0e60 +_02118808: .word gMapManager _0211880c: .word 0x0000ffff _02118810: .word 0xfffff0f7 @@ -8226,12 +8226,12 @@ func_ov12_021196d4: ; 0x021196d4 bl func_ov00_020bbb64 cmp r0, #0 bne _02119774 - ldr r1, _0211977c ; =data_027e0e60 + ldr r1, _0211977c ; =gMapManager add r0, sp, #0 ldr r1, [r1] mov r2, r4 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - ldr r0, _0211977c ; =data_027e0e60 + ldr r0, _0211977c ; =gMapManager ldrb r1, [sp] ldrb r2, [sp, #1] ldr r0, [r0] @@ -8264,7 +8264,7 @@ _02119774: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_021196d4 -_0211977c: .word data_027e0e60 +_0211977c: .word gMapManager .global func_ov12_02119780 arm_func_start func_ov12_02119780 @@ -8361,7 +8361,7 @@ func_ov12_02119840: ; 0x02119840 arm_func_start func_ov12_0211986c func_ov12_0211986c: ; 0x0211986c stmdb sp!, {r3, r4, r5, lr} - ldr r2, _02119964 ; =data_027e0e60 + ldr r2, _02119964 ; =gMapManager mov r5, r0 ldr r0, [r2] mov r4, r1 @@ -8377,7 +8377,7 @@ func_ov12_0211986c: ; 0x0211986c strb r0, [r5, #0x118] ldrb r2, [r5, #0x119] and r1, r3, #0x1f00 - ldr r0, _02119964 ; =data_027e0e60 + ldr r0, _02119964 ; =gMapManager bic r3, r2, #0x1f and r2, r3, #0xff orr r1, r2, r1, asr #8 @@ -8424,7 +8424,7 @@ func_ov12_0211986c: ; 0x0211986c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_0211986c -_02119964: .word data_027e0e60 +_02119964: .word gMapManager .global func_ov12_02119968 arm_func_start func_ov12_02119968 @@ -8437,7 +8437,7 @@ func_ov12_02119968: ; 0x02119968 mov r0, r0, lsl #0x1b add r0, r2, r0, lsr #19 mov r6, r0, lsl #0x5 - ldr r0, _02119a24 ; =data_027e0e60 + ldr r0, _02119a24 ; =gMapManager tst r6, #0x20000 orrne r6, r6, #0x3fc0000 ldr r0, [r0] @@ -8467,7 +8467,7 @@ func_ov12_02119968: ; 0x02119968 add r0, r1, r0, lsr #22 add r0, r0, r2, lsr #19 mov r5, r0, lsl #0x5 - ldr r0, _02119a24 ; =data_027e0e60 + ldr r0, _02119a24 ; =gMapManager tst r5, #0x20000 orrne r5, r5, #0x3fc0000 ldr r0, [r0] @@ -8478,7 +8478,7 @@ func_ov12_02119968: ; 0x02119968 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov12_02119968 -_02119a24: .word data_027e0e60 +_02119a24: .word gMapManager .global func_ov12_02119a28 arm_func_start func_ov12_02119a28 @@ -9488,7 +9488,7 @@ func_ov12_0211a7d0: ; 0x0211a7d0 _0211a830: mov r4, r2 _0211a834: - ldr r0, _0211a948 ; =data_027e0e60 + ldr r0, _0211a948 ; =gMapManager add r1, sp, #8 ldr r0, [r0] mov r2, r4 @@ -9560,7 +9560,7 @@ _0211a884: .align 2, 0 arm_func_end func_ov12_0211a7d0 _0211a944: .word data_ov12_02137c64 -_0211a948: .word data_027e0e60 +_0211a948: .word gMapManager _0211a94c: .word data_027e0f94 _0211a950: .word data_027e0fcc _0211a954: .word data_027e0fd4 @@ -10858,7 +10858,7 @@ func_ov12_0211b9c4: ; 0x0211b9c4 add r4, r0, #0xd8 str r1, [sp] ldr r1, [r7, r8] - ldr r0, _0211ba90 ; =data_027e0e60 + ldr r0, _0211ba90 ; =gMapManager str r1, [sp, #4] ldr r2, [r4, r8] ldr r0, [r0] @@ -10889,7 +10889,7 @@ _0211ba84: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov12_0211b9c4 -_0211ba90: .word data_027e0e60 +_0211ba90: .word gMapManager .global func_ov12_0211ba94 arm_func_start func_ov12_0211ba94 @@ -27791,10 +27791,10 @@ func_ov12_021296a4: ; 0x021296a4 mov r1, r1, asr #0x5 and r1, r1, #7 bl func_ov12_0212a258 - ldr r0, _0212975c ; =data_027e0e60 + ldr r0, _0212975c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18Get_MapData_Unk_d0Ev - ldr r1, _0212975c ; =data_027e0e60 + ldr r1, _0212975c ; =gMapManager mov r4, r0 ldr r0, [r1] bl _ZN10MapManager18Get_MapData_Unk_d8Ev @@ -27833,7 +27833,7 @@ func_ov12_021296a4: ; 0x021296a4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_021296a4 -_0212975c: .word data_027e0e60 +_0212975c: .word gMapManager .global func_ov12_02129760 arm_func_start func_ov12_02129760 @@ -28545,7 +28545,7 @@ func_ov12_0212a104: ; 0x0212a104 add r0, r0, #0x1300 cmp r1, r0 bge _0212a15c - ldr r0, _0212a164 ; =data_027e0e60 + ldr r0, _0212a164 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_48Ev ldr r1, [r5, #0x4c] @@ -28561,20 +28561,20 @@ _0212a15c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_0212a104 -_0212a164: .word data_027e0e60 +_0212a164: .word gMapManager .global func_ov12_0212a168 arm_func_start func_ov12_0212a168 func_ov12_0212a168: ; 0x0212a168 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _0212a230 ; =data_027e0e60 + ldr r2, _0212a230 ; =gMapManager mov r5, r0 mov r4, r1 ldr r1, [r2] add r0, sp, #0 add r2, r5, #0x48 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - ldr r0, _0212a230 ; =data_027e0e60 + ldr r0, _0212a230 ; =gMapManager ldrb r1, [sp] ldrb r2, [sp, #1] ldr r0, [r0] @@ -28624,7 +28624,7 @@ _0212a220: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_0212a168 -_0212a230: .word data_027e0e60 +_0212a230: .word gMapManager .global func_ov12_0212a234 arm_func_start func_ov12_0212a234 @@ -28870,10 +28870,10 @@ _0212a520: add r1, sp, #0 mov r0, r5 bl func_ov12_0212a234 - ldr r0, _0212a618 ; =data_027e0e60 + ldr r0, _0212a618 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18Get_MapData_Unk_d0Ev - ldr r1, _0212a618 ; =data_027e0e60 + ldr r1, _0212a618 ; =gMapManager mov r4, r0 ldr r0, [r1] bl _ZN10MapManager18Get_MapData_Unk_d8Ev @@ -28925,7 +28925,7 @@ _0212a60c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_0212a4d4 -_0212a618: .word data_027e0e60 +_0212a618: .word gMapManager .global func_ov12_0212a61c arm_func_start func_ov12_0212a61c @@ -29007,7 +29007,7 @@ _0212a6cc: bl func_01ff9bc4 _0212a740: ldr r1, [r6, #0x48] - ldr r0, _0212a9ec ; =data_027e0e60 + ldr r0, _0212a9ec ; =gMapManager str r1, [sp, #0x14] ldr r1, [r6, #0x4c] ldr r0, [r0] @@ -29025,12 +29025,12 @@ _0212a740: ldrb r0, [r6, #0x256] cmp r0, #0 beq _0212a8e4 - ldr r1, _0212a9ec ; =data_027e0e60 + ldr r1, _0212a9ec ; =gMapManager add r0, sp, #0 ldr r1, [r1] add r2, r6, #0x48 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - ldr r0, _0212a9ec ; =data_027e0e60 + ldr r0, _0212a9ec ; =gMapManager ldrb r1, [sp] ldrb r2, [sp, #1] ldr r0, [r0] @@ -29073,7 +29073,7 @@ _0212a81c: b _0212a8c0 _0212a830: ldr r1, [r6, #0x48] - ldr r0, _0212a9ec ; =data_027e0e60 + ldr r0, _0212a9ec ; =gMapManager str r1, [sp, #8] ldr r2, [r6, #0x4c] ldr r1, [r0] @@ -29193,7 +29193,7 @@ _0212a9d4: arm_func_end func_ov12_0212a61c _0212a9e4: .word 0x00000555 _0212a9e8: .word 0xc00c00c1 -_0212a9ec: .word data_027e0e60 +_0212a9ec: .word gMapManager _0212a9f0: .word data_ov12_0213dd0c _0212a9f4: .word data_ov12_02137c64 _0212a9f8: .word data_ov00_020eec9c @@ -29254,7 +29254,7 @@ _0212aa88: .word data_ov12_0213dc88 func_ov12_0212aa8c: ; 0x0212aa8c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x30 - ldr r1, _0212ad00 ; =data_027e0e60 + ldr r1, _0212ad00 ; =gMapManager mov r10, r0 ldr r0, [r1] mov r1, #0 @@ -29263,7 +29263,7 @@ func_ov12_0212aa8c: ; 0x0212aa8c mov r1, #3 mov r7, r0 bl func_01ff9b4c - ldr r0, _0212ad00 ; =data_027e0e60 + ldr r0, _0212ad00 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk2aEv str r0, [sp] @@ -29320,13 +29320,13 @@ _0212ab2c: mla r2, r1, r0, r2 mov r9, r2 _0212ab90: - ldr r0, _0212ad00 ; =data_027e0e60 + ldr r0, _0212ad00 ; =gMapManager mov r1, r8 ldr r0, [r0] mov r2, r9 bl _ZN10MapManager18func_ov00_020840a0Ecci mov r5, r0 - ldr r0, _0212ad00 ; =data_027e0e60 + ldr r0, _0212ad00 ; =gMapManager ldr r2, _0212ad08 ; =func_ov00_020b1940 ldr r6, [r0] mov r0, r8 @@ -29374,7 +29374,7 @@ _0212ab90: ldr r0, [sp, #0x28] ldr r1, [sp, #0x24] str r0, [sp, #0x10] - ldr r0, _0212ad00 ; =data_027e0e60 + ldr r0, _0212ad00 ; =gMapManager str r1, [sp, #0xc] ldr r1, [sp, #0x2c] ldr r0, [r0] @@ -29415,7 +29415,7 @@ _0212acec: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov12_0212aa8c -_0212ad00: .word data_027e0e60 +_0212ad00: .word gMapManager _0212ad04: .word data_027e0764 _0212ad08: .word func_ov00_020b1940 @@ -29713,12 +29713,12 @@ _0212b0bc: ldrb r0, [r4, #0x255] cmp r0, #0 beq _0212b11c - ldr r1, _0212b13c ; =data_027e0e60 + ldr r1, _0212b13c ; =gMapManager add r0, sp, #0 ldr r1, [r1] add r2, r4, #0x48 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - ldr r0, _0212b13c ; =data_027e0e60 + ldr r0, _0212b13c ; =gMapManager ldrb r1, [sp] ldrb r2, [sp, #1] ldr r0, [r0] @@ -29748,7 +29748,7 @@ _0212b130: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov12_0212b078 -_0212b13c: .word data_027e0e60 +_0212b13c: .word gMapManager _0212b140: .word data_ov12_0213dd0c .global func_ov12_0212b144 @@ -30526,7 +30526,7 @@ func_ov12_0212ba84: ; 0x0212ba84 sub sp, sp, #0x1c mov r6, r2 mov r7, r1 - ldr r2, _0212bb9c ; =data_027e0e60 + ldr r2, _0212bb9c ; =gMapManager mov r8, r0 ldrb r1, [r6, #1] ldr r0, [r2] @@ -30538,7 +30538,7 @@ func_ov12_0212ba84: ; 0x0212ba84 mov r1, r6 ldr r2, [r2, #0x60] blx r2 - ldr r1, _0212bb9c ; =data_027e0e60 + ldr r1, _0212bb9c ; =gMapManager mov r9, r0 ldr r0, [r1] ldrb r1, [r6] @@ -30597,7 +30597,7 @@ _0212bb90: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov12_0212ba84 -_0212bb9c: .word data_027e0e60 +_0212bb9c: .word gMapManager _0212bba0: .word data_027e0f68 .global func_ov12_0212bba4 @@ -33922,10 +33922,10 @@ func_ov12_0212e3e8: ; 0x0212e3e8 mov r0, r5 bl func_ov12_0212e990 _0212e42c: - ldr r0, _0212e4cc ; =data_027e0e60 + ldr r0, _0212e4cc ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18Get_MapData_Unk_d0Ev - ldr r1, _0212e4cc ; =data_027e0e60 + ldr r1, _0212e4cc ; =gMapManager mov r4, r0 ldr r0, [r1] bl _ZN10MapManager18Get_MapData_Unk_d8Ev @@ -33964,7 +33964,7 @@ _0212e42c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_0212e3e8 -_0212e4cc: .word data_027e0e60 +_0212e4cc: .word gMapManager .global func_ov12_0212e4d0 arm_func_start func_ov12_0212e4d0 @@ -34453,7 +34453,7 @@ _0212eb6c: beq _0212ec88 ldrb r1, [r5, #0x218] ldr r6, [r5, #0x130] - ldr r0, _0212eca8 ; =data_027e0e60 + ldr r0, _0212eca8 ; =gMapManager bic r3, r1, #0x20 and r2, r3, #0xff mov r1, r6, lsl #0x1f @@ -34461,7 +34461,7 @@ _0212eb6c: strb r1, [r5, #0x218] ldr r0, [r0] bl _ZN10MapManager18Get_MapData_Unk_d0Ev - ldr r1, _0212eca8 ; =data_027e0e60 + ldr r1, _0212eca8 ; =gMapManager mov r6, r0 ldr r0, [r1] bl _ZN10MapManager18Get_MapData_Unk_d8Ev @@ -34529,7 +34529,7 @@ _0212ec94: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov12_0212eb14 -_0212eca8: .word data_027e0e60 +_0212eca8: .word gMapManager _0212ecac: .word 0x00001fe0 .global func_ov12_0212ecb0 @@ -34537,14 +34537,14 @@ _0212ecac: .word 0x00001fe0 func_ov12_0212ecb0: ; 0x0212ecb0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 - ldr r1, _0212ed4c ; =data_027e0e60 + ldr r1, _0212ed4c ; =gMapManager mov r4, r0 ldr r1, [r1] add r0, sp, #0 add r2, r4, #0x48 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r1, [r4, #0x48] - ldr r0, _0212ed4c ; =data_027e0e60 + ldr r0, _0212ed4c ; =gMapManager str r1, [sp, #8] ldr r2, [r4, #0x4c] ldr r1, [r0] @@ -34578,7 +34578,7 @@ _0212ed40: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov12_0212ecb0 -_0212ed4c: .word data_027e0e60 +_0212ed4c: .word gMapManager .global func_ov12_0212ed50 arm_func_start func_ov12_0212ed50 @@ -35599,7 +35599,7 @@ _0212fa88: cmp r5, r4 bne _0212fa88 _0212fa9c: - ldr r0, _0212fb04 ; =data_027e0e60 + ldr r0, _0212fb04 ; =gMapManager add r1, r6, #0x74 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020839c4Ei @@ -35627,7 +35627,7 @@ _0212fa9c: .align 2, 0 arm_func_end func_ov12_0212fa68 _0212fb00: .word data_ov12_021375ac -_0212fb04: .word data_027e0e60 +_0212fb04: .word gMapManager _0212fb08: .word func_ov12_021194c0 .global func_ov12_0212fb0c @@ -35648,7 +35648,7 @@ _0212fb2c: cmp r5, r4 bne _0212fb2c _0212fb40: - ldr r0, _0212fba0 ; =data_027e0e60 + ldr r0, _0212fba0 ; =gMapManager add r1, r6, #0x74 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020839c4Ei @@ -35674,7 +35674,7 @@ _0212fb40: .align 2, 0 arm_func_end func_ov12_0212fb0c _0212fb9c: .word data_ov12_021375ac -_0212fba0: .word data_027e0e60 +_0212fba0: .word gMapManager _0212fba4: .word func_ov12_021194c0 .global func_ov12_0212fba8 @@ -35822,7 +35822,7 @@ _0212fc68: mov r2, #0 str r0, [r4, #0x7c] ldr r1, [sp, #0x10] - ldr r0, _0212fe9c ; =data_027e0e60 + ldr r0, _0212fe9c ; =gMapManager str r1, [r4, #0x80] ldr r3, [sp, #0x14] add r1, r4, #0x74 @@ -35878,7 +35878,7 @@ _0212fe78: _0212fe90: .word 0xfffff666 _0212fe94: .word data_02050f54 _0212fe98: .word 0x000004cd -_0212fe9c: .word data_027e0e60 +_0212fe9c: .word gMapManager _0212fea0: .word 0x0000026e .global func_ov12_0212fea4 @@ -36220,7 +36220,7 @@ func_ov12_0213024c: ; 0x0213024c mov r0, #0 str r0, [sp, #0xc] str r0, [sp, #0x10] - ldr r0, _021306a0 ; =data_027e0e60 + ldr r0, _021306a0 ; =gMapManager add r1, sp, #0xa4 ldr r0, [r0] add r2, sp, #0x80 @@ -36458,7 +36458,7 @@ _02130598: .align 2, 0 arm_func_end func_ov12_0213024c _0213069c: .word 0x0000ffff -_021306a0: .word data_027e0e60 +_021306a0: .word gMapManager _021306a4: .word 0x00000d9a _021306a8: .word data_ov12_0213758c _021306ac: .word data_ov12_02137574 @@ -36738,11 +36738,11 @@ _02130990: .word func_ov12_02130994 arm_func_start func_ov12_02130994 func_ov12_02130994: ; 0x02130994 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _02130a90 ; =data_027e0e60 + ldr r1, _02130a90 ; =gMapManager mov r5, r0 ldr r0, [r1] bl _ZN10MapManager18Get_MapData_Unk_d0Ev - ldr r1, _02130a90 ; =data_027e0e60 + ldr r1, _02130a90 ; =gMapManager mov r4, r0 ldr r0, [r1] bl _ZN10MapManager18Get_MapData_Unk_d8Ev @@ -36809,7 +36809,7 @@ _02130a84: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov12_02130994 -_02130a90: .word data_027e0e60 +_02130a90: .word gMapManager .global func_ov12_02130a94 arm_func_start func_ov12_02130a94 @@ -37593,7 +37593,7 @@ func_ov12_021314e8: ; 0x021314e8 add r0, r4, #0x48 bl func_ov00_020c70ac ldr r1, [r4, #0x48] - ldr r0, _021315b4 ; =data_027e0e60 + ldr r0, _021315b4 ; =gMapManager str r1, [sp, #0xc] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -37621,7 +37621,7 @@ func_ov12_021314e8: ; 0x021314e8 .align 2, 0 arm_func_end func_ov12_021314e8 _021315b0: .word data_ov12_02137d1c -_021315b4: .word data_027e0e60 +_021315b4: .word gMapManager _021315b8: .word data_ov12_02137680 .global func_ov12_021315bc @@ -37905,7 +37905,7 @@ _021318d0: ldr r0, [r10, #8] stmib sp, {r0, r11} str r5, [sp, #0xc] - ldr r0, _02131a28 ; =data_027e0e60 + ldr r0, _02131a28 ; =gMapManager str r5, [sp, #0x10] ldr r0, [r0] bl func_01ffbe78 @@ -37937,7 +37937,7 @@ _02131a00: _02131a1c: .word data_027e0764 _02131a20: .word data_02050f54 _02131a24: .word 0x0000ffff -_02131a28: .word data_027e0e60 +_02131a28: .word gMapManager _02131a2c: .word data_ov12_02137680 .global func_ov12_02131a30 @@ -38132,10 +38132,10 @@ _02131c90: ldrb r0, [r4, #0x754] cmp r0, #0 beq _02131d64 - ldr r0, _02131d78 ; =data_027e0e60 + ldr r0, _02131d78 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18Get_MapData_Unk_d0Ev - ldr r1, _02131d78 ; =data_027e0e60 + ldr r1, _02131d78 ; =gMapManager mov r5, r0 ldr r0, [r1] bl _ZN10MapManager18Get_MapData_Unk_d8Ev @@ -38190,7 +38190,7 @@ _02131d64: arm_func_end func_ov12_02131bdc _02131d70: .word data_ov12_02137c64 _02131d74: .word data_027e0f90 -_02131d78: .word data_027e0e60 +_02131d78: .word gMapManager .global func_ov12_02131d7c arm_func_start func_ov12_02131d7c @@ -38691,7 +38691,7 @@ func_ov12_0213234c: ; 0x0213234c moveq r0, #0 ldmeqia sp!, {pc} ldr r2, [r1, #0x48] - ldr r0, _021323c8 ; =data_027e0e60 + ldr r0, _021323c8 ; =gMapManager str r2, [sp] ldr r2, [r1, #0x4c] ldr r0, [r0] @@ -38710,7 +38710,7 @@ _021323b8: .align 2, 0 arm_func_end func_ov12_0213234c _021323c4: .word 0x42545246 -_021323c8: .word data_027e0e60 +_021323c8: .word gMapManager .global func_ov12_021323cc arm_func_start func_ov12_021323cc @@ -41089,7 +41089,7 @@ func_ov12_02134300: ; 0x02134300 mov lr, #0x47 mov r2, #0xff strb r2, [sp, #0x12] - ldr r1, _02134374 ; =data_027e0e60 + ldr r1, _02134374 ; =gMapManager mov r4, r0 str lr, [sp] str ip, [sp, #4] @@ -41113,7 +41113,7 @@ func_ov12_02134300: ; 0x02134300 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov12_02134300 -_02134374: .word data_027e0e60 +_02134374: .word gMapManager .global func_ov12_02134378 arm_func_start func_ov12_02134378 diff --git a/asm/ov14/Actor/ActorRupee.inc b/asm/ov14/Actor/ActorRupee.inc index e9efdb15..503947b8 100644 --- a/asm/ov14/Actor/ActorRupee.inc +++ b/asm/ov14/Actor/ActorRupee.inc @@ -56,7 +56,7 @@ .extern _ZN9SysObjectnwEmPjj .extern __register_global_object .extern data_027e0764 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0fc8 .extern data_027e0fe0 .extern data_ov00_020e9370 diff --git a/asm/ov14/Actor/ActorRupee.s b/asm/ov14/Actor/ActorRupee.s index c5d567e4..8a454123 100644 --- a/asm/ov14/Actor/ActorRupee.s +++ b/asm/ov14/Actor/ActorRupee.s @@ -431,7 +431,7 @@ _0213b3cc: cmp r0, #0 beq _0213b4fc ldr r1, [r5, #0x48] - ldr r0, _0213b518 ; =data_027e0e60 + ldr r0, _0213b518 ; =gMapManager str r1, [sp, #4] ldr r2, [r5, #0x4c] ldr r1, [r0] @@ -517,7 +517,7 @@ _0213b4fc: _0213b50c: .word data_027e0fc8 _0213b510: .word gItemManager _0213b514: .word data_ov00_020eec9c -_0213b518: .word data_027e0e60 +_0213b518: .word gMapManager .global _ZN10ActorRupee8vfunc_14Ej arm_func_start _ZN10ActorRupee8vfunc_14Ej diff --git a/asm/ov14/ov14_0211f640.inc b/asm/ov14/ov14_0211f640.inc index e2e3a669..d0057a03 100644 --- a/asm/ov14/ov14_0211f640.inc +++ b/asm/ov14/ov14_0211f640.inc @@ -159,7 +159,7 @@ .extern data_027e0d44 .extern data_027e0d78 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov14/ov14_0211f640.s b/asm/ov14/ov14_0211f640.s index 639e0deb..56e7282a 100644 --- a/asm/ov14/ov14_0211f640.s +++ b/asm/ov14/ov14_0211f640.s @@ -322,7 +322,7 @@ func_ov14_0211f980: ; 0x0211f980 ldr r0, _0211faa4 ; =gItemManager mvn r5, #0 ldr r3, _0211faa8 ; =data_027e0d3c - ldr r2, _0211faac ; =data_027e0e60 + ldr r2, _0211faac ; =gMapManager ldr r0, [r0] mov r1, #7 str r5, [sp, #4] @@ -389,7 +389,7 @@ _0211fa8c: arm_func_end func_ov14_0211f980 _0211faa4: .word gItemManager _0211faa8: .word data_027e0d3c -_0211faac: .word data_027e0e60 +_0211faac: .word gMapManager .global func_ov14_0211fab0 arm_func_start func_ov14_0211fab0 @@ -2675,7 +2675,7 @@ _021218e4: add lr, sp, #0x34 str r1, [sp, #0x30] ldr r1, [r5, #0x48] - ldr ip, _021219e0 ; =data_027e0e60 + ldr ip, _021219e0 ; =gMapManager str r1, [sp, #0x1c] ldr r2, [r5, #0x4c] add r1, sp, #0x44 @@ -2705,7 +2705,7 @@ _021219d0: .word data_027e0fb8 _021219d4: .word data_027e0f64 _021219d8: .word 0x0000ffff _021219dc: .word data_ov14_02155aa4 -_021219e0: .word data_027e0e60 +_021219e0: .word gMapManager .global func_ov14_021219e4 arm_func_start func_ov14_021219e4 @@ -3267,7 +3267,7 @@ _02122124: cmp r0, #3 bne _02122420 ldr r1, [r5, #0x248] - ldr r0, _02122acc ; =data_027e0e60 + ldr r0, _02122acc ; =gMapManager str r1, [sp, #0x2c] ldr r1, [r5, #0x24c] ldr r0, [r0] @@ -3312,7 +3312,7 @@ _02122174: mov r7, #0 str r0, [sp, #0x8c] ldr r1, [r5, #0x4c] - ldr r0, _02122acc ; =data_027e0e60 + ldr r0, _02122acc ; =gMapManager str r1, [sp, #0x90] ldr r8, _02122ad4 ; =0x0000ffff ldr r1, [r5, #0x50] @@ -3735,7 +3735,7 @@ _02122820: cmp r0, #0 beq _02122864 ldr r1, [r5, #0x48] - ldr r0, _02122acc ; =data_027e0e60 + ldr r0, _02122acc ; =gMapManager str r1, [sp, #0x14] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -3913,7 +3913,7 @@ _02122abc: .word 0x0000059a _02122ac0: .word 0x00000333 _02122ac4: .word data_02050f54 _02122ac8: .word 0x000004cd -_02122acc: .word data_027e0e60 +_02122acc: .word gMapManager _02122ad0: .word 0x00000e66 _02122ad4: .word 0x0000ffff _02122ad8: .word data_027e0764 @@ -5961,7 +5961,7 @@ _0212448c: mov r0, r5 bl _ZN5Actor12ApplyGravityEv ldr r1, [r5, #0x48] - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager str r1, [sp, #0x74] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -6020,7 +6020,7 @@ _02124580: bl func_ov14_0213ed94 ldrb r2, [r0] ldrb r3, [r0, #1] - ldr r1, _02124c54 ; =data_027e0e60 + ldr r1, _02124c54 ; =gMapManager strb r2, [sp, #0xe] ldr r1, [r1] add r0, sp, #0xc @@ -6045,7 +6045,7 @@ _02124580: str r0, [r5, #0x174] b _02124724 _02124608: - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager ldrb r1, [sp, #0xe] ldr r0, [r0] sub r3, sp, #4 @@ -6071,7 +6071,7 @@ _02124608: b _02124724 _02124668: ldr r1, [r5, #0x48] - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager str r1, [sp, #0x68] ldr r2, [r5, #0x4c] ldr r1, [r0] @@ -6082,7 +6082,7 @@ _02124668: str r3, [sp, #0x70] bl _ZN10MapManager18func_ov00_02083fb0EiPS_i ldr r1, [r5, #0x48] - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager str r1, [sp, #0x5c] ldr r1, [r5, #0x4c] ldr r7, [r0] @@ -6180,7 +6180,7 @@ _021247d8: mov r1, #0 str r1, [r0, #0x34] ldr r1, [r5, #0x48] - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager str r1, [sp, #0x80] ldr r7, [r5, #0x4c] ldr r0, [r0] @@ -6226,7 +6226,7 @@ _021248a8: cmp r0, #0 beq _02124930 ldr r1, [r5, #0xb8] - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager str r1, [r5, #0x48] ldr r2, [r5, #0xbc] add r1, sp, #0x44 @@ -6290,7 +6290,7 @@ _02124948: bl func_ov00_0208967c _021249a4: ldr r1, [r5, #0x48] - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager str r1, [sp, #0x38] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -6309,7 +6309,7 @@ _021249a4: cmp r0, #0 beq _02124a6c ldr r1, [r5, #0x48] - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager str r1, [sp, #0x2c] ldr r2, [r5, #0x4c] ldr r1, [r0] @@ -6382,7 +6382,7 @@ _02124af0: cmp r0, #0 bne _02124b50 ldr r1, [r5, #0x48] - ldr r0, _02124c54 ; =data_027e0e60 + ldr r0, _02124c54 ; =gMapManager str r1, [sp, #0x20] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -6477,7 +6477,7 @@ _02124c44: .word data_027e077c _02124c48: .word data_02056be4 _02124c4c: .word data_027e0ffc _02124c50: .word 0x000001a1 -_02124c54: .word data_027e0e60 +_02124c54: .word gMapManager _02124c58: .word 0x00000333 _02124c5c: .word data_ov14_02153bfc _02124c60: .word data_ov14_0215ac9c @@ -6866,7 +6866,7 @@ _021250fc: .word data_ov14_02155fd4 arm_func_start func_ov14_02125100 func_ov14_02125100: ; 0x02125100 stmdb sp!, {r3, lr} - ldr r2, _02125124 ; =data_027e0e60 + ldr r2, _02125124 ; =gMapManager ldrsh r1, [r0, #0x34] ldr r0, [r2] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -6876,7 +6876,7 @@ func_ov14_02125100: ; 0x02125100 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov14_02125100 -_02125124: .word data_027e0e60 +_02125124: .word gMapManager .global func_ov14_02125128 arm_func_start func_ov14_02125128 @@ -7041,7 +7041,7 @@ func_ov14_021252b8: ; 0x021252b8 cmp r0, #1 bne _02125340 ldr r0, [r5, #0x18] - ldr r1, _02125598 ; =data_027e0e60 + ldr r1, _02125598 ; =gMapManager add r0, r0, #0x3fc add r0, r0, #0x400 str r0, [r5, #0x18] @@ -7054,7 +7054,7 @@ func_ov14_021252b8: ; 0x021252b8 strb r3, [sp, #0xd] bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r2, [sp, #0xc] - ldr r0, _02125598 ; =data_027e0e60 + ldr r0, _02125598 ; =gMapManager add r1, sp, #0xc add r3, r2, #1 ldr r0, [r0] @@ -7089,7 +7089,7 @@ _02125340: add r1, sp, #0x14 mov r2, r0 bl func_01ff9bc4 - ldr r0, _02125598 ; =data_027e0e60 + ldr r0, _02125598 ; =gMapManager ldrb r3, [r5, #0x15] ldrb r2, [r5, #0x14] ldr r0, [r0] @@ -7102,7 +7102,7 @@ _02125340: ldrb r1, [r5, #0x14] cmp r0, #1 bne _02125444 - ldr r0, _02125598 ; =data_027e0e60 + ldr r0, _02125598 ; =gMapManager ldrb r3, [r5, #0x15] ldr r0, [r0] sub r2, r1, #1 @@ -7115,7 +7115,7 @@ _02125340: ldrb r2, [sp, #0xa] subgt r0, r0, #0x800 strgt r0, [sp, #0x50] - ldr r0, _02125598 ; =data_027e0e60 + ldr r0, _02125598 ; =gMapManager add r2, r2, #3 ldr r0, [r0] add r1, sp, #0xa @@ -7128,7 +7128,7 @@ _02125340: str r0, [sp, #0x44] b _021254a0 _02125444: - ldr r0, _02125598 ; =data_027e0e60 + ldr r0, _02125598 ; =gMapManager ldrb r3, [r5, #0x15] ldr r0, [r0] sub r2, r1, #1 @@ -7141,7 +7141,7 @@ _02125444: ldrb r2, [sp, #8] subeq r0, r0, #0x800 streq r0, [sp, #0x50] - ldr r0, _02125598 ; =data_027e0e60 + ldr r0, _02125598 ; =gMapManager add r2, r2, #2 ldr r0, [r0] add r1, sp, #8 @@ -7153,7 +7153,7 @@ _02125444: streq r0, [sp, #0x44] _021254a0: ldrb r1, [r5, #0x15] - ldr r0, _02125598 ; =data_027e0e60 + ldr r0, _02125598 ; =gMapManager ldrb r3, [r5, #0x14] sub r2, r1, #1 ldr r0, [r0] @@ -7163,7 +7163,7 @@ _021254a0: bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 bne _021254ec - ldr r0, _02125598 ; =data_027e0e60 + ldr r0, _02125598 ; =gMapManager add r1, sp, #6 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_60Ev @@ -7218,7 +7218,7 @@ _0212553c: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov14_021252b8 -_02125598: .word data_027e0e60 +_02125598: .word gMapManager .global func_ov14_0212559c arm_func_start func_ov14_0212559c @@ -7420,14 +7420,14 @@ _02125864: beq _02125890 cmp r0, #2 ldmneia sp!, {r4, pc} - ldr r0, _021258b0 ; =data_027e0e60 + ldr r0, _021258b0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl _ZN10MapManager18func_ov00_02084ce4Ei ldmia sp!, {r4, pc} _02125890: - ldr r0, _021258b0 ; =data_027e0e60 + ldr r0, _021258b0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 @@ -7437,7 +7437,7 @@ _02125890: arm_func_end func_ov14_0212559c _021258a8: .word gAdventureFlags _021258ac: .word data_ov14_02153c04 -_021258b0: .word data_027e0e60 +_021258b0: .word gMapManager .global func_ov14_021258b4 arm_func_start func_ov14_021258b4 @@ -7565,7 +7565,7 @@ _021259c4: ldrb r2, [r4, #0x36] strb r2, [sp, #0xc0] bl _ZN14AdventureFlags18func_Ov00_02097810Ei - ldr r1, _02125c18 ; =data_027e0e60 + ldr r1, _02125c18 ; =gMapManager str r0, [r4, #0x68] ldr r0, [r1] add r1, r4, #0x18 @@ -7653,7 +7653,7 @@ _02125b40: ldrb r0, [r4, #0x71] cmp r0, #0 beq _02125b88 - ldr r0, _02125c18 ; =data_027e0e60 + ldr r0, _02125c18 ; =gMapManager ldr r1, [r4, #0x64] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084ac4Ej @@ -7686,7 +7686,7 @@ _02125bd8: ldrb r0, [r4, #0x71] cmp r0, #0 beq _02125bfc - ldr r0, _02125c18 ; =data_027e0e60 + ldr r0, _02125c18 ; =gMapManager ldr r1, [r4, #0x64] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084ac4Ej @@ -7703,7 +7703,7 @@ _02125c04: arm_func_end func_ov14_0212595c _02125c10: .word data_ov14_02153c04 _02125c14: .word gAdventureFlags -_02125c18: .word data_027e0e60 +_02125c18: .word gMapManager _02125c1c: .word data_027e0ffc _02125c20: .word 0x000001af @@ -7763,7 +7763,7 @@ _02125cc0: moveq r0, #0 ldmia sp!, {r4, pc} _02125cd8: - ldr r0, _02125d48 ; =data_027e0e60 + ldr r0, _02125d48 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cfcEi @@ -7778,7 +7778,7 @@ _02125cd8: moveq r0, #0 ldmia sp!, {r4, pc} _02125d10: - ldr r0, _02125d48 ; =data_027e0e60 + ldr r0, _02125d48 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -7794,7 +7794,7 @@ _02125d10: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_02125c98 -_02125d48: .word data_027e0e60 +_02125d48: .word gMapManager .global func_ov14_02125d4c arm_func_start func_ov14_02125d4c @@ -8156,7 +8156,7 @@ _02126110: .word data_ov14_021562ac arm_func_start func_ov14_02126114 func_ov14_02126114: ; 0x02126114 stmdb sp!, {r3, lr} - ldr r2, _02126138 ; =data_027e0e60 + ldr r2, _02126138 ; =gMapManager ldrsh r1, [r0, #0x34] ldr r0, [r2] bl _ZN10MapManager18func_ov00_02084cfcEi @@ -8166,7 +8166,7 @@ func_ov14_02126114: ; 0x02126114 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov14_02126114 -_02126138: .word data_027e0e60 +_02126138: .word gMapManager .global func_ov14_0212613c arm_func_start func_ov14_0212613c @@ -8878,7 +8878,7 @@ _02126898: mov r2, #1 strb r2, [r5, #0x83] ldrb r1, [r5, #0x15] - ldr r0, _02126ab4 ; =data_027e0e60 + ldr r0, _02126ab4 ; =gMapManager ldrb r3, [r5, #0x14] add ip, r1, #1 ldr r0, [r0] @@ -8929,7 +8929,7 @@ _02126958: str r3, [sp, #0x2c] bl func_01ff9bc4 ldrb r1, [r5, #0x14] - ldr r0, _02126ab4 ; =data_027e0e60 + ldr r0, _02126ab4 ; =gMapManager ldrb ip, [r5, #0x15] add r3, r1, #1 ldr r0, [r0] @@ -8978,7 +8978,7 @@ _02126a20: .align 2, 0 arm_func_end func_ov14_02126854 _02126ab0: .word 0x0000059a -_02126ab4: .word data_027e0e60 +_02126ab4: .word gMapManager _02126ab8: .word 0x00002666 .global func_ov14_02126abc @@ -9397,7 +9397,7 @@ _02127064: ldmgtia sp!, {r4, pc} mov r1, #1 strb r1, [r4, #0x3c] - ldr r0, _02127180 ; =data_027e0e60 + ldr r0, _02127180 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 @@ -9417,7 +9417,7 @@ _021270b0: ldmgtia sp!, {r4, pc} mov r1, #1 strb r1, [r4, #0x3c] - ldr r0, _02127180 ; =data_027e0e60 + ldr r0, _02127180 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 @@ -9434,7 +9434,7 @@ _021270fc: ldmltia sp!, {r4, pc} mov r1, #0 strb r1, [r4, #0x3c] - ldr r0, _02127180 ; =data_027e0e60 + ldr r0, _02127180 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 @@ -9451,7 +9451,7 @@ _0212713c: cmp r0, #0 ldmneia sp!, {r4, pc} mov r1, #1 - ldr r0, _02127180 ; =data_027e0e60 + ldr r0, _02127180 ; =gMapManager strb r1, [r4, #0x3c] ldr r0, [r0] add r1, r4, #0x38 @@ -9460,7 +9460,7 @@ _0212713c: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_02127034 -_02127180: .word data_027e0e60 +_02127180: .word gMapManager _02127184: .word gAdventureFlags .global func_ov14_02127188 @@ -9582,7 +9582,7 @@ _0212731c: _02127338: cmp r4, #0 bne _021276a0 - ldr r0, _021276b0 ; =data_027e0e60 + ldr r0, _021276b0 ; =gMapManager ldrsh r1, [r5, #0x34] ldr r0, [r0] mov r2, #0 @@ -9609,7 +9609,7 @@ _02127378: b _021276a0 _0212739c: mvn r1, #0 - ldr r0, _021276b0 ; =data_027e0e60 + ldr r0, _021276b0 ; =gMapManager str r1, [r5, #0x64] ldr r0, [r0] add r1, r5, #0x38 @@ -9747,7 +9747,7 @@ _02127548: cmp r0, #0 cmpne r0, #1 bne _021275cc - ldr r0, _021276b0 ; =data_027e0e60 + ldr r0, _021276b0 ; =gMapManager mov r2, r4 ldr r0, [r0] add r1, r5, #0x18 @@ -9755,7 +9755,7 @@ _02127548: bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _021276a0 _021275cc: - ldr r0, _021276b0 ; =data_027e0e60 + ldr r0, _021276b0 ; =gMapManager mov r2, r4 ldr r0, [r0] add r1, r5, #0x18 @@ -9796,14 +9796,14 @@ _02127644: mov r0, r5 mov r2, r1 bl func_ov00_0208ba08 - ldr r0, _021276b0 ; =data_027e0e60 + ldr r0, _021276b0 ; =gMapManager ldrsh r1, [r5, #0x34] ldr r0, [r0] mov r2, #1 bl _ZN10MapManager18func_ov00_02084cb0Ei _02127674: mov r1, #0 - ldr r0, _021276b0 ; =data_027e0e60 + ldr r0, _021276b0 ; =gMapManager strb r1, [r5, #0x3c] ldr r0, [r0] add r1, r5, #0x38 @@ -9820,7 +9820,7 @@ _021276a0: .align 2, 0 arm_func_end func_ov14_02127188 _021276ac: .word gAdventureFlags -_021276b0: .word data_027e0e60 +_021276b0: .word gMapManager _021276b4: .word data_027e0ffc _021276b8: .word 0x000001b5 _021276bc: .word data_ov14_02153c38 @@ -9834,14 +9834,14 @@ func_ov14_021276c0: ; 0x021276c0 .global func_ov14_021276c4 arm_func_start func_ov14_021276c4 func_ov14_021276c4: ; 0x021276c4 - ldr r2, _021276d8 ; =data_027e0e60 + ldr r2, _021276d8 ; =gMapManager ldr ip, _021276dc ; =_ZN10MapManager18func_ov00_02084cc8Ei ldrsh r1, [r0, #0x34] ldr r0, [r2] bx ip .align 2, 0 arm_func_end func_ov14_021276c4 -_021276d8: .word data_027e0e60 +_021276d8: .word gMapManager _021276dc: .word _ZN10MapManager18func_ov00_02084cc8Ei .global func_ov14_021276e0 @@ -10057,7 +10057,7 @@ func_ov14_02127984: ; 0x02127984 mov r2, r1 str r3, [r4, #0x64] bl func_ov00_0208ba08 - ldr r0, _021279c8 ; =data_027e0e60 + ldr r0, _021279c8 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 @@ -10069,7 +10069,7 @@ func_ov14_02127984: ; 0x02127984 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_02127984 -_021279c8: .word data_027e0e60 +_021279c8: .word gMapManager .global func_ov14_021279cc arm_func_start func_ov14_021279cc @@ -10244,7 +10244,7 @@ func_ov14_02127bb0: ; 0x02127bb0 cmp r11, r0 addge sp, sp, #8 ldmgeia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r4, _02127c5c ; =data_027e0e60 + ldr r4, _02127c5c ; =gMapManager add r5, sp, #4 _02127bfc: ldrb r7, [r10, #0x15] @@ -10275,7 +10275,7 @@ _02127c3c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_02127bb0 -_02127c5c: .word data_027e0e60 +_02127c5c: .word gMapManager .global func_ov14_02127c60 arm_func_start func_ov14_02127c60 @@ -10521,7 +10521,7 @@ func_ov14_02127eb8: ; 0x02127eb8 bl _ZN14AdventureFlags3GetEj ldmia sp!, {r3, pc} _02127edc: - ldr r2, _02127ef4 ; =data_027e0e60 + ldr r2, _02127ef4 ; =gMapManager ldrsh r1, [r0, #0x34] ldr r0, [r2] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -10529,7 +10529,7 @@ _02127edc: .align 2, 0 arm_func_end func_ov14_02127eb8 _02127ef0: .word gAdventureFlags -_02127ef4: .word data_027e0e60 +_02127ef4: .word gMapManager .global func_ov14_02127ef8 arm_func_start func_ov14_02127ef8 @@ -13623,7 +13623,7 @@ func_ov14_0212a758: ; 0x0212a758 ldrh r0, [r4, #0x26] cmp r0, #1 bne _0212a8f4 - ldr r0, _0212a91c ; =data_027e0e60 + ldr r0, _0212a91c ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -13657,7 +13657,7 @@ _0212a8f4: arm_func_end func_ov14_0212a758 _0212a914: .word 0x000007fc _0212a918: .word 0x000002cd -_0212a91c: .word data_027e0e60 +_0212a91c: .word gMapManager .global func_ov14_0212a920 arm_func_start func_ov14_0212a920 @@ -13754,7 +13754,7 @@ _0212aa30: mov r0, r4 mov r2, r1 bl func_ov00_0208ba08 - ldr r0, _0212aaa4 ; =data_027e0e60 + ldr r0, _0212aaa4 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 @@ -13771,7 +13771,7 @@ _0212aa8c: _0212aa98: .word data_027e0e58 _0212aa9c: .word 0x000001a1 _0212aaa0: .word data_027e0ffc -_0212aaa4: .word data_027e0e60 +_0212aaa4: .word gMapManager .global func_ov14_0212aaa8 arm_func_start func_ov14_0212aaa8 @@ -14033,7 +14033,7 @@ func_ov14_0212acdc: ; 0x0212acdc blx ip ldrb r1, [r4, #0x14] ldrb r3, [r4, #0x15] - ldr r0, _0212ae9c ; =data_027e0e60 + ldr r0, _0212ae9c ; =gMapManager add r2, r1, #1 strb r2, [sp, #4] ldr r0, [r0] @@ -14044,7 +14044,7 @@ func_ov14_0212acdc: ; 0x0212acdc ldrh r0, [r4, #0x26] cmp r0, #1 bne _0212ae78 - ldr r0, _0212ae9c ; =data_027e0e60 + ldr r0, _0212ae9c ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -14077,7 +14077,7 @@ _0212ae78: .align 2, 0 arm_func_end func_ov14_0212acdc _0212ae98: .word 0x0000059a -_0212ae9c: .word data_027e0e60 +_0212ae9c: .word gMapManager .global func_ov14_0212aea0 arm_func_start func_ov14_0212aea0 @@ -14162,7 +14162,7 @@ _0212af98: mov r0, r4 mov r2, r1 bl func_ov00_0208ba08 - ldr r0, _0212b00c ; =data_027e0e60 + ldr r0, _0212b00c ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 @@ -14179,7 +14179,7 @@ _0212aff4: _0212b000: .word data_027e0e58 _0212b004: .word 0x000001a1 _0212b008: .word data_027e0ffc -_0212b00c: .word data_027e0e60 +_0212b00c: .word gMapManager .global func_ov14_0212b010 arm_func_start func_ov14_0212b010 @@ -14243,22 +14243,22 @@ func_ov14_0212b0c0: ; 0x0212b0c0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldrh r4, [r6, #0x28] - ldr r0, _0212b124 ; =data_027e0e60 + ldr r0, _0212b124 ; =gMapManager ldrh r5, [r6, #0x2a] ldr r0, [r0] mov r1, r4 bl _ZN10MapManager18func_ov00_020823d4Ei - ldr r1, _0212b124 ; =data_027e0e60 + ldr r1, _0212b124 ; =gMapManager str r0, [r6, #0xcc] ldr r0, [r1] mov r1, r4 bl _ZN10MapManager18func_ov00_020823e4Ei - ldr r1, _0212b124 ; =data_027e0e60 + ldr r1, _0212b124 ; =gMapManager str r0, [r6, #0xd0] ldr r0, [r1] mov r1, r5 bl _ZN10MapManager18func_ov00_020823d4Ei - ldr r1, _0212b124 ; =data_027e0e60 + ldr r1, _0212b124 ; =gMapManager str r0, [r6, #0xd4] ldr r0, [r1] mov r1, r5 @@ -14267,7 +14267,7 @@ func_ov14_0212b0c0: ; 0x0212b0c0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov14_0212b0c0 -_0212b124: .word data_027e0e60 +_0212b124: .word gMapManager .global func_ov14_0212b128 arm_func_start func_ov14_0212b128 @@ -14290,7 +14290,7 @@ func_ov14_0212b128: ; 0x0212b128 mov r0, r5 ldr r1, _0212b1f4 ; =data_ov14_02153cd4 bl func_0201933c - ldr r0, _0212b1f8 ; =data_027e0e60 + ldr r0, _0212b1f8 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_b4Ev mov r4, r0 @@ -14326,7 +14326,7 @@ _0212b1e8: .word data_ov14_02153c98 _0212b1ec: .word data_ov14_02153cac _0212b1f0: .word data_ov14_02153cc0 _0212b1f4: .word data_ov14_02153cd4 -_0212b1f8: .word data_027e0e60 +_0212b1f8: .word gMapManager .global func_ov14_0212b1fc arm_func_start func_ov14_0212b1fc @@ -14506,7 +14506,7 @@ func_ov14_0212b31c: ; 0x0212b31c strb r0, [r4, #0x3c] ldrb r2, [r4, #0x14] ldrb r3, [r4, #0x15] - ldr r0, _0212b4c0 ; =data_027e0e60 + ldr r0, _0212b4c0 ; =gMapManager add r2, r2, #1 strb r2, [sp, #4] ldr r0, [r0] @@ -14514,7 +14514,7 @@ func_ov14_0212b31c: ; 0x0212b31c mov r2, #1 strb r3, [sp, #5] bl _ZN10MapManager18func_ov00_02082680Eii - ldr r0, _0212b4c0 ; =data_027e0e60 + ldr r0, _0212b4c0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -14538,7 +14538,7 @@ _0212b4a4: .align 2, 0 arm_func_end func_ov14_0212b31c _0212b4bc: .word 0x000002cd -_0212b4c0: .word data_027e0e60 +_0212b4c0: .word gMapManager .global func_ov14_0212b4c4 arm_func_start func_ov14_0212b4c4 @@ -14628,7 +14628,7 @@ _0212b5d8: mov r2, r1 strb r1, [r4, #0x3c] bl func_ov00_0208ba08 - ldr r0, _0212b650 ; =data_027e0e60 + ldr r0, _0212b650 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 @@ -14653,7 +14653,7 @@ _0212b640: .word data_027e0e58 _0212b644: .word 0x000001a1 _0212b648: .word data_027e0ffc _0212b64c: .word 0x00000255 -_0212b650: .word data_027e0e60 +_0212b650: .word gMapManager _0212b654: .word data_027e0f68 .global func_ov14_0212b658 @@ -14893,7 +14893,7 @@ func_ov14_0212b81c: ; 0x0212b81c blx r4 mov r0, #1 mov r5, #0 - ldr r8, _0212b9c8 ; =data_027e0e60 + ldr r8, _0212b9c8 ; =gMapManager strb r0, [r7, #0x3c] add r10, sp, #4 mov r9, r0 @@ -14922,7 +14922,7 @@ _0212b97c: .align 2, 0 arm_func_end func_ov14_0212b81c _0212b9c4: .word 0x00000b34 -_0212b9c8: .word data_027e0e60 +_0212b9c8: .word gMapManager .global func_ov14_0212b9cc arm_func_start func_ov14_0212b9cc @@ -16230,7 +16230,7 @@ _0212c9ec: ; jump table _0212ca00: mov r2, #0 strh r2, [r3, #0x6c] - ldr r0, _0212ca70 ; =data_027e0e60 + ldr r0, _0212ca70 ; =gMapManager str r2, [r3, #0x68] ldr r0, [r0] add r1, r3, #0x38 @@ -16251,7 +16251,7 @@ _0212ca38: b _0212ca68 _0212ca48: ldr r1, [r3, #4] - ldr r0, _0212ca70 ; =data_027e0e60 + ldr r0, _0212ca70 ; =gMapManager bic r1, r1, #1 str r1, [r3, #4] ldr r0, [r0] @@ -16263,7 +16263,7 @@ _0212ca68: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov14_0212c9d4 -_0212ca70: .word data_027e0e60 +_0212ca70: .word gMapManager .global func_ov14_0212ca74 arm_func_start func_ov14_0212ca74 @@ -16646,7 +16646,7 @@ _0212cf24: ; jump table b _0212cfac ; case 3 _0212cf34: ldr r1, [r4, #4] - ldr r0, _0212cfb4 ; =data_027e0e60 + ldr r0, _0212cfb4 ; =gMapManager orr r1, r1, #4 str r1, [r4, #4] ldr r0, [r0] @@ -16669,7 +16669,7 @@ _0212cf58: str r0, [r4, #4] b _0212cfac _0212cf8c: - ldr r0, _0212cfb4 ; =data_027e0e60 + ldr r0, _0212cfb4 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 @@ -16682,7 +16682,7 @@ _0212cfac: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0212cf0c -_0212cfb4: .word data_027e0e60 +_0212cfb4: .word gMapManager _0212cfb8: .word data_027e0ffc _0212cfbc: .word 0x000001f9 _0212cfc0: .word data_027e1038 @@ -18984,7 +18984,7 @@ func_ov14_0212eca8: ; 0x0212eca8 sub sp, sp, #0x10 mov r4, r0 ldr r1, [r4, #4] - ldr r0, _0212ecf0 ; =data_027e0e60 + ldr r0, _0212ecf0 ; =gMapManager orr r1, r1, #0x200 str r1, [r4, #4] ldr r0, [r0] @@ -19000,7 +19000,7 @@ func_ov14_0212eca8: ; 0x0212eca8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0212eca8 -_0212ecf0: .word data_027e0e60 +_0212ecf0: .word gMapManager .global func_ov14_0212ecf4 arm_func_start func_ov14_0212ecf4 @@ -19125,7 +19125,7 @@ func_ov14_0212ee58: ; 0x0212ee58 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x70 mov r5, r0 - ldr r0, _0212f070 ; =data_027e0e60 + ldr r0, _0212f070 ; =gMapManager ldrb r1, [r5, #0x14] ldrb r2, [r5, #0x15] ldr r0, [r0] @@ -19258,7 +19258,7 @@ func_ov14_0212ee58: ; 0x0212ee58 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov14_0212ee58 -_0212f070: .word data_027e0e60 +_0212f070: .word gMapManager _0212f074: .word 0x00000fa5 _0212f078: .word data_ov00_020ec9d6 _0212f07c: .word data_ov00_020ec9d4 @@ -19487,13 +19487,13 @@ _0212f374: ldr r4, _0212f550 ; =0x544d4150 b _0212f458 _0212f380: - ldr r0, _0212f554 ; =data_027e0e60 + ldr r0, _0212f554 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_09Ev cmp r0, #0 addeq sp, sp, #0x58 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _0212f554 ; =data_027e0e60 + ldr r0, _0212f554 ; =gMapManager ldrb r4, [r6, #0x15] ldrb r3, [r6, #0x14] ldr r0, [r0] @@ -19613,7 +19613,7 @@ _0212f544: .word 0x52555059 _0212f548: .word 0x4e4b4559 _0212f54c: .word 0x464f5243 _0212f550: .word 0x544d4150 -_0212f554: .word data_027e0e60 +_0212f554: .word gMapManager _0212f558: .word data_027e0764 _0212f55c: .word 0x48415254 _0212f560: .word 0x00000666 @@ -19961,7 +19961,7 @@ _0212f9fc: add r0, r0, #1 cmp r0, #0 ble _0212fab4 - ldr r5, _0212fb20 ; =data_027e0e60 + ldr r5, _0212fb20 ; =gMapManager mov r11, #1 add r6, sp, #4 add r7, sp, #0x24 @@ -20037,7 +20037,7 @@ _0212fb04: arm_func_end func_ov14_0212f7b0 _0212fb18: .word 0x00001333 _0212fb1c: .word data_027e0d38 -_0212fb20: .word data_027e0e60 +_0212fb20: .word gMapManager _0212fb24: .word 0x00004e20 .global func_ov14_0212fb28 @@ -20117,7 +20117,7 @@ _0212fb88: add r1, r7, r7, lsl #2 bl func_02002c14 ldrb r3, [r5, #0x14] - ldr r2, _0213011c ; =data_027e0e60 + ldr r2, _0213011c ; =gMapManager add r1, sp, #0xe add r3, r0, r3 ldr r0, [r2] @@ -20182,7 +20182,7 @@ _0212fc6c: add r1, r7, r7, lsl #2 bl func_02002c14 ldrb r3, [r5, #0x14] - ldr r2, _0213011c ; =data_027e0e60 + ldr r2, _0213011c ; =gMapManager add r1, sp, #0xc add r3, r0, r3 ldr r0, [r2] @@ -20490,7 +20490,7 @@ _0213010c: _02130114: .word 0x0000ffff .endif _02130118: .word 0x66666667 -_0213011c: .word data_027e0e60 +_0213011c: .word gMapManager _02130120: .word data_027e0ffc _02130124: .word data_027e0f64 _02130128: .word data_027e0e58 @@ -20539,7 +20539,7 @@ _02130198: ldrb r0, [r6, #0xa8] cmp r0, #0 beq _021304ac - ldr r0, _021304bc ; =data_027e0e60 + ldr r0, _021304bc ; =gMapManager ldr r1, [r6, #0x6c] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084ac4Ej @@ -20585,7 +20585,7 @@ _02130268: ldrb r0, [r6, #0xaa] cmp r0, #0 beq _02130290 - ldr r0, _021304bc ; =data_027e0e60 + ldr r0, _021304bc ; =gMapManager add r1, sp, #0x1c ldr r0, [r0] mov r2, #1 @@ -20640,7 +20640,7 @@ _02130318: ldrb r0, [r6, #0xa8] cmp r0, #0 beq _021304ac - ldr r0, _021304bc ; =data_027e0e60 + ldr r0, _021304bc ; =gMapManager ldr r1, [r6, #0x6c] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084ac4Ej @@ -20679,7 +20679,7 @@ _021303c0: ldrb r0, [r6, #0xab] cmp r0, #0 beq _021303e8 - ldr r0, _021304bc ; =data_027e0e60 + ldr r0, _021304bc ; =gMapManager add r1, sp, #0x10 ldr r0, [r0] mov r2, #1 @@ -20747,7 +20747,7 @@ _021304ac: .align 2, 0 arm_func_end func_ov14_0213012c _021304b8: .word data_027e0e58 -_021304bc: .word data_027e0e60 +_021304bc: .word gMapManager _021304c0: .word gAdventureFlags _021304c4: .word data_027e0ffc _021304c8: .word 0x000002a2 @@ -21175,10 +21175,10 @@ func_ov14_021309bc: ; 0x021309bc ldrb r0, [r10, #0x79] cmp r0, #0 bne _02130a70 - ldr r0, _02130be0 ; =data_027e0e60 + ldr r0, _02130be0 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk28Ev - ldr r1, _02130be0 ; =data_027e0e60 + ldr r1, _02130be0 ; =gMapManager str r0, [sp] ldr r0, [r1] bl _ZN10MapManager17Get_MapData_Unk2aEv @@ -21187,7 +21187,7 @@ func_ov14_021309bc: ; 0x021309bc mov r11, #0 cmp r0, #0 ble _02130a70 - ldr r4, _02130be0 ; =data_027e0e60 + ldr r4, _02130be0 ; =gMapManager add r6, sp, #6 _02130a0c: mov r9, #0 @@ -21255,7 +21255,7 @@ _02130ae8: add r0, r8, r0 cmp r8, r0 bgt _02130b7c - ldr r9, _02130be0 ; =data_027e0e60 + ldr r9, _02130be0 ; =gMapManager and r6, r7, #0xff add r5, sp, #4 _02130b08: @@ -21319,7 +21319,7 @@ _02130bc8: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_021309bc -_02130be0: .word data_027e0e60 +_02130be0: .word gMapManager _02130be4: .word data_ov14_0215aecc .global func_ov14_02130be8 @@ -21709,11 +21709,11 @@ _02131100: bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x70] mov r1, #0 - ldr r0, _02131410 ; =data_027e0e60 + ldr r0, _02131410 ; =gMapManager strb r1, [r4, #0x78] ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk28Ev - ldr r1, _02131410 ; =data_027e0e60 + ldr r1, _02131410 ; =gMapManager str r0, [sp, #0xc] ldr r0, [r1] bl _ZN10MapManager17Get_MapData_Unk2aEv @@ -21727,7 +21727,7 @@ _021311bc: mov r9, #0 cmp r10, #0 ble _02131230 - ldr r11, _02131410 ; =data_027e0e60 + ldr r11, _02131410 ; =gMapManager and r7, r8, #0xff _021311d0: ldrb r0, [r4, #0x14] @@ -21765,11 +21765,11 @@ _02131240: mvn r0, #0 cmp r1, r0 beq _0213125c - ldr r0, _02131410 ; =data_027e0e60 + ldr r0, _02131410 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084ac4Ej _0213125c: - ldr r0, _02131410 ; =data_027e0e60 + ldr r0, _02131410 ; =gMapManager ldr r5, [r4, #0x88] ldr r3, [r4, #0x84] ldr r2, [r4, #0x80] @@ -21810,7 +21810,7 @@ _021312dc: bgt _02131348 and r8, r11, #0xff _021312f4: - ldr r0, _02131410 ; =data_027e0e60 + ldr r0, _02131410 ; =gMapManager mov r1, r7 ldr r0, [r0] strb r8, [sp, #0x10] @@ -21889,7 +21889,7 @@ _02131400: .word data_ov14_02157314 _02131404: .word data_027e0e58 _02131408: .word 0x0000025b _0213140c: .word gAdventureFlags -_02131410: .word data_027e0e60 +_02131410: .word gMapManager _02131414: .word 0xfffff333 .global func_ov14_02131418 @@ -21969,7 +21969,7 @@ func_ov14_021314b8: ; 0x021314b8 addne sp, sp, #0x10 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldrb r0, [r10, #0x14] - ldr r1, _021316c0 ; =data_027e0e60 + ldr r1, _021316c0 ; =gMapManager str r0, [sp, #4] ldrb r0, [r10, #0x15] str r0, [sp] @@ -21983,17 +21983,17 @@ func_ov14_021314b8: ; 0x021314b8 ldr r1, [sp, #8] cmp r1, r0 blt _02131520 - ldr r0, _021316c0 ; =data_027e0e60 + ldr r0, _021316c0 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #8] _02131520: - ldr r0, _021316c0 ; =data_027e0e60 + ldr r0, _021316c0 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk2aEv cmp r7, r0 blt _02131544 - ldr r0, _021316c0 ; =data_027e0e60 + ldr r0, _021316c0 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk2aEv mov r7, r0 @@ -22002,7 +22002,7 @@ _02131544: mov r0, r8 cmp r0, r7 bge _021315cc - ldr r9, _021316c0 ; =data_027e0e60 + ldr r9, _021316c0 ; =gMapManager mov r4, #0 add r6, sp, #0xe _02131560: @@ -22058,7 +22058,7 @@ _021315f4: ldr r0, [sp, #4] and r6, r0, #0xff _02131620: - ldr r0, _021316c0 ; =data_027e0e60 + ldr r0, _021316c0 ; =gMapManager mov r1, r11 ldr r0, [r0] strb r6, [sp, #0xc] @@ -22104,7 +22104,7 @@ _021316b0: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_021314b8 -_021316c0: .word data_027e0e60 +_021316c0: .word gMapManager .global func_ov14_021316c4 arm_func_start func_ov14_021316c4 @@ -24728,7 +24728,7 @@ _021338b4: cmp r5, #2 add r6, r6, #0xc blo _021338b4 - ldr r0, _02133924 ; =data_027e0e60 + ldr r0, _02133924 ; =gMapManager add r1, r7, #0x6c ldr r0, [r0] bl _ZN10MapManager18func_ov00_020839c4Ei @@ -24751,7 +24751,7 @@ _021338b4: arm_func_end func_ov14_02133894 _0213391c: .word data_ov14_021576d4 _02133920: .word data_027e0e58 -_02133924: .word data_027e0e60 +_02133924: .word gMapManager _02133928: .word func_ov14_02121cd8 - 1 .global func_ov14_0213392c @@ -24773,7 +24773,7 @@ _0213394c: cmp r5, #2 add r6, r6, #0xc blo _0213394c - ldr r0, _021339b4 ; =data_027e0e60 + ldr r0, _021339b4 ; =gMapManager add r1, r7, #0x6c ldr r0, [r0] bl _ZN10MapManager18func_ov00_020839c4Ei @@ -24794,7 +24794,7 @@ _0213394c: arm_func_end func_ov14_0213392c _021339ac: .word data_ov14_021576d4 _021339b0: .word data_027e0e58 -_021339b4: .word data_027e0e60 +_021339b4: .word gMapManager _021339b8: .word func_ov14_02121cd8 - 1 .global func_ov14_021339bc @@ -24883,7 +24883,7 @@ func_ov14_021339bc: ; 0x021339bc str r3, [sp, #0x28] bl func_01fffbec ldr r1, [sp, #0x20] - ldr r0, _02133c58 ; =data_027e0e60 + ldr r0, _02133c58 ; =gMapManager str r1, [r4, #0x74] ldr r2, [sp, #0x24] add r1, r4, #0x6c @@ -24899,7 +24899,7 @@ func_ov14_021339bc: ; 0x021339bc add r0, r0, #1 str r0, [r4, #0xbc] str r1, [r4, #0xc0] - ldr r0, _02133c58 ; =data_027e0e60 + ldr r0, _02133c58 ; =gMapManager add r1, r4, #0x18 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084ebcEi @@ -24907,7 +24907,7 @@ func_ov14_021339bc: ; 0x021339bc movne r0, #1 moveq r0, #0 strb r0, [r4, #0x65] - ldr r0, _02133c58 ; =data_027e0e60 + ldr r0, _02133c58 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 @@ -24973,7 +24973,7 @@ _02133c3c: arm_func_end func_ov14_021339bc _02133c50: .word 0x00002666 _02133c54: .word 0x000004cd -_02133c58: .word data_027e0e60 +_02133c58: .word gMapManager .global func_ov14_02133c5c arm_func_start func_ov14_02133c5c @@ -25723,7 +25723,7 @@ func_ov14_02134554: ; 0x02134554 ldr ip, [ip, #0x14] add r1, sp, #0x20 blx ip - ldr r0, _02134670 ; =data_027e0e60 + ldr r0, _02134670 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -25746,7 +25746,7 @@ _02134658: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_02134554 -_02134670: .word data_027e0e60 +_02134670: .word gMapManager .global func_ov14_02134674 arm_func_start func_ov14_02134674 @@ -25767,7 +25767,7 @@ func_ov14_02134678: ; 0x02134678 beq _021346b4 b _021347c0 _0213469c: - ldr r0, _021347cc ; =data_027e0e60 + ldr r0, _021347cc ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 @@ -25826,13 +25826,13 @@ _02134770: mov r1, #0 mov r2, #1 bl func_ov00_0208ba08 - ldr r0, _021347cc ; =data_027e0e60 + ldr r0, _021347cc ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl _ZN10MapManager18func_ov00_02084cb0Ei ldr r1, [r4, #4] - ldr r0, _021347cc ; =data_027e0e60 + ldr r0, _021347cc ; =gMapManager bic r1, r1, #0x10 str r1, [r4, #4] ldr r0, [r0] @@ -25848,7 +25848,7 @@ _021347c0: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov14_02134678 -_021347cc: .word data_027e0e60 +_021347cc: .word gMapManager _021347d0: .word data_027e0ffc _021347d4: .word 0x00000256 _021347d8: .word data_027e0e58 @@ -26007,7 +26007,7 @@ func_ov14_0213497c: ; 0x0213497c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x24 mov r10, r0 - ldr r0, _02134be4 ; =data_027e0e60 + ldr r0, _02134be4 ; =gMapManager ldrb r3, [r10, #0x15] ldrb r2, [r10, #0x14] ldr r0, [r0] @@ -26044,7 +26044,7 @@ _021349e0: mov r0, #0 strh r0, [r10, #0xc] ldrb r1, [r10, #0x14] - ldr r0, _02134be4 ; =data_027e0e60 + ldr r0, _02134be4 ; =gMapManager ldrb r2, [r10, #0x15] ldr r0, [r0] sub r1, r1, #1 @@ -26054,7 +26054,7 @@ _02134a28: mov r0, #0x4000 strh r0, [r10, #0xc] ldrb r2, [r10, #0x15] - ldr r0, _02134be4 ; =data_027e0e60 + ldr r0, _02134be4 ; =gMapManager ldrb r1, [r10, #0x14] ldr r0, [r0] sub r2, r2, #1 @@ -26104,7 +26104,7 @@ _02134ad4: cmp r0, r1 bge _02134b84 mov r6, #1 - ldr r4, _02134be4 ; =data_027e0e60 + ldr r4, _02134be4 ; =gMapManager add r7, sp, #6 add r5, sp, #4 mov r11, r6 @@ -26171,7 +26171,7 @@ _02134b84: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_0213497c -_02134be4: .word data_027e0e60 +_02134be4: .word gMapManager _02134be8: .word 0x0000099a .global func_ov14_02134bec @@ -27765,7 +27765,7 @@ _02135f4c: .word data_027e0fc8 func_ov14_02135f50: ; 0x02135f50 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 - ldr r1, _02135fec ; =data_027e0e60 + ldr r1, _02135fec ; =gMapManager mov r2, r0 ldr r4, [r1] add r0, sp, #0 @@ -27807,21 +27807,21 @@ _02135fd4: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov14_02135f50 -_02135fec: .word data_027e0e60 +_02135fec: .word gMapManager .global func_ov14_02135ff0 arm_func_start func_ov14_02135ff0 func_ov14_02135ff0: ; 0x02135ff0 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 - ldr r1, _02136074 ; =data_027e0e60 + ldr r1, _02136074 ; =gMapManager mov r2, r0 ldr r1, [r1] add r0, sp, #0 add r2, r2, #0x48 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r0, [sp, #1] - ldr r5, _02136074 ; =data_027e0e60 + ldr r5, _02136074 ; =gMapManager mov r4, #0 sub r0, r0, #1 strb r0, [sp, #1] @@ -27849,7 +27849,7 @@ _02136060: ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov14_02135ff0 -_02136074: .word data_027e0e60 +_02136074: .word gMapManager .global func_ov14_02136078 arm_func_start func_ov14_02136078 @@ -27995,12 +27995,12 @@ _0213625c: bl func_ov14_0213650c cmp r5, #0 beq _021362d0 - ldr r1, _02136350 ; =data_027e0e60 + ldr r1, _02136350 ; =gMapManager add r0, sp, #0 ldr r1, [r1] add r2, r4, #0x48 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - ldr r0, _02136350 ; =data_027e0e60 + ldr r0, _02136350 ; =gMapManager ldrb r2, [sp] ldrb r1, [sp, #1] ldr r0, [r0] @@ -28057,7 +28057,7 @@ _0213630c: .align 2, 0 arm_func_end func_ov14_0213618c _0213634c: .word data_027e0fc8 -_02136350: .word data_027e0e60 +_02136350: .word gMapManager .global func_ov14_02136354 arm_func_start func_ov14_02136354 @@ -28360,13 +28360,13 @@ func_ov14_021366e4: ; 0x021366e4 str r3, [sp, #0x1c] str ip, [sp, #0x20] bl func_01ff9bc4 - ldr r1, _021368c4 ; =data_027e0e60 + ldr r1, _021368c4 ; =gMapManager add r0, sp, #8 ldr r1, [r1] add r2, r4, #0x48 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r1, [sp, #8] - ldr r0, _021368c4 ; =data_027e0e60 + ldr r0, _021368c4 ; =gMapManager ldrb r2, [sp, #9] sub r3, r1, #1 ldr r0, [r0] @@ -28380,7 +28380,7 @@ func_ov14_021366e4: ; 0x021366e4 subeq r0, r0, #0x800 streq r0, [sp, #0x54] add r3, r1, #1 - ldr r0, _021368c4 ; =data_027e0e60 + ldr r0, _021368c4 ; =gMapManager ldrb r2, [sp, #9] ldr r0, [r0] add r1, sp, #4 @@ -28393,7 +28393,7 @@ func_ov14_021366e4: ; 0x021366e4 addeq r0, r0, #0x800 streq r0, [sp, #0x48] sub r2, r1, #1 - ldr r0, _021368c4 ; =data_027e0e60 + ldr r0, _021368c4 ; =gMapManager ldrb r3, [sp, #8] ldr r0, [r0] add r1, sp, #2 @@ -28406,7 +28406,7 @@ func_ov14_021366e4: ; 0x021366e4 subeq r0, r0, #0x800 streq r0, [sp, #0x5c] add r2, r1, #1 - ldr r0, _021368c4 ; =data_027e0e60 + ldr r0, _021368c4 ; =gMapManager ldrb r3, [sp, #8] ldr r0, [r0] add r1, sp, #0 @@ -28450,7 +28450,7 @@ _021368a8: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_021366e4 -_021368c4: .word data_027e0e60 +_021368c4: .word gMapManager .global func_ov14_021368c8 arm_func_start func_ov14_021368c8 @@ -28738,7 +28738,7 @@ _02136c04: ldr r1, _02136d08 ; =0x000004cd bl func_01fffbec ldr r1, [sp, #4] - ldr r0, _02136d0c ; =data_027e0e60 + ldr r0, _02136d0c ; =gMapManager str r1, [r4, #0x1d8] ldr r2, [sp, #8] add r1, r4, #0x1d0 @@ -28762,7 +28762,7 @@ _02136c04: _02136d00: .word 0xfffff666 _02136d04: .word data_02050f54 _02136d08: .word 0x000004cd -_02136d0c: .word data_027e0e60 +_02136d0c: .word gMapManager _02136d10: .word 0x0000026e .global func_ov14_02136d14 @@ -29006,7 +29006,7 @@ _02136fb8: mov r0, #0 str r0, [sp, #0xc] str r0, [sp, #0x10] - ldr r0, _021373cc ; =data_027e0e60 + ldr r0, _021373cc ; =gMapManager add r1, sp, #0x84 ldr r0, [r0] add r2, sp, #0x6c @@ -29257,7 +29257,7 @@ _021372c8: arm_func_end func_ov14_02136e30 _021373c4: .word 0x0000ffff _021373c8: .word 0xfffff666 -_021373cc: .word data_027e0e60 +_021373cc: .word gMapManager _021373d0: .word data_ov14_02157ecc _021373d4: .word data_ov14_02157eb4 @@ -30799,7 +30799,7 @@ _021386e8: add ip, sp, #0x24 str r1, [sp, #0x4c] ldr r1, [r5, #0x54] - ldr r4, _021389d0 ; =data_027e0e60 + ldr r4, _021389d0 ; =gMapManager str r1, [sp, #0x38] ldr r2, [r5, #0x58] add r1, sp, #0x50 @@ -30826,7 +30826,7 @@ _021386e8: str r1, [sp, #0x20] cmp r0, #0 beq _02138810 - ldr r0, _021389d0 ; =data_027e0e60 + ldr r0, _021389d0 ; =gMapManager add r1, sp, #0xa0 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -30890,7 +30890,7 @@ _02138890: str r1, [sp, #0x1c] cmp r0, #0 beq _021388f8 - ldr r0, _021389d0 ; =data_027e0e60 + ldr r0, _021389d0 ; =gMapManager add r1, sp, #0x9e ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -30973,7 +30973,7 @@ _021389c0: arm_func_end func_ov14_02138568 _021389c8: .word data_027e0fc8 _021389cc: .word data_ov00_020e242c -_021389d0: .word data_027e0e60 +_021389d0: .word gMapManager _021389d4: .word data_027e0f6c .global func_ov14_021389d8 @@ -31105,7 +31105,7 @@ func_ov14_02138b18: ; 0x02138b18 addge sp, sp, #0x68 ldmgeia sp!, {r4, r5, r6, pc} ldr r1, [r6, #0x48] - ldr r0, _02138d50 ; =data_027e0e60 + ldr r0, _02138d50 ; =gMapManager str r1, [sp, #0x1c] ldr r2, [r6, #0x4c] ldr r1, [r0] @@ -31125,7 +31125,7 @@ func_ov14_02138b18: ; 0x02138b18 cmp r4, #0x10 bne _02138c74 ldr r1, [r6, #0x48] - ldr r0, _02138d50 ; =data_027e0e60 + ldr r0, _02138d50 ; =gMapManager str r1, [sp, #0x10] ldr r1, [r6, #0x4c] ldr r0, [r0] @@ -31171,7 +31171,7 @@ _02138c20: cmp r3, #2 add r1, r1, #1 blo _02138c20 - ldr r1, _02138d50 ; =data_027e0e60 + ldr r1, _02138d50 ; =gMapManager add r0, sp, #4 ldr r5, [r1] add r2, r6, #0x48 @@ -31226,7 +31226,7 @@ _02138cb8: add r3, sp, #0x28 bl func_ov00_020c4048 _02138d08: - ldr r1, _02138d50 ; =data_027e0e60 + ldr r1, _02138d50 ; =gMapManager mov r0, r6 ldr r5, [r1] bl _ZN5Actor18func_ov00_020c1788Ev @@ -31237,7 +31237,7 @@ _02138d08: addne sp, sp, #0x68 ldmneia sp!, {r4, r5, r6, pc} add r0, r6, #0x100 - ldr r2, _02138d50 ; =data_027e0e60 + ldr r2, _02138d50 ; =gMapManager ldrsh r1, [r0, #0x70] ldr r0, [r2] mov r2, #1 @@ -31246,7 +31246,7 @@ _02138d08: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov14_02138b18 -_02138d50: .word data_027e0e60 +_02138d50: .word gMapManager _02138d54: .word 0x0000ffff _02138d58: .word data_027e0f6c _02138d5c: .word 0x48415254 @@ -31286,7 +31286,7 @@ _02138dbc: .word data_027e0fcc arm_func_start func_ov14_02138dc0 func_ov14_02138dc0: ; 0x02138dc0 stmdb sp!, {r4, r5, r6, lr} - ldr r1, _02138e04 ; =data_027e0e60 + ldr r1, _02138e04 ; =gMapManager mov r6, r0 ldr r5, [r1] bl _ZN5Actor18func_ov00_020c1788Ev @@ -31296,7 +31296,7 @@ func_ov14_02138dc0: ; 0x02138dc0 cmp r4, r0 ldmneia sp!, {r4, r5, r6, pc} add r0, r6, #0x100 - ldr r2, _02138e04 ; =data_027e0e60 + ldr r2, _02138e04 ; =gMapManager ldrsh r1, [r0, #0x70] ldr r0, [r2] mov r2, #1 @@ -31304,7 +31304,7 @@ func_ov14_02138dc0: ; 0x02138dc0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov14_02138dc0 -_02138e04: .word data_027e0e60 +_02138e04: .word gMapManager .global func_ov14_02138e08 arm_func_start func_ov14_02138e08 @@ -32369,7 +32369,7 @@ _02139af0: ldmia sp!, {r3, r4, pc} _02139b24: ldr r1, [r4, #0x48] - ldr r0, _02139b7c ; =data_027e0e60 + ldr r0, _02139b7c ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -32392,7 +32392,7 @@ _02139b24: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov14_02139a7c -_02139b7c: .word data_027e0e60 +_02139b7c: .word gMapManager _02139b80: .word data_027e0fe4 .global func_ov14_02139b84 @@ -33290,7 +33290,7 @@ _0213a68c: cmp r0, #0 beq _0213a7fc ldr r1, [r5, #0x48] - ldr r0, _0213a81c ; =data_027e0e60 + ldr r0, _0213a81c ; =gMapManager str r1, [sp, #0x38] ldr r2, [r5, #0x4c] ldr r1, [r0] @@ -33364,7 +33364,7 @@ _0213a80c: .word data_027e0f90 _0213a810: .word data_027e0fc8 _0213a814: .word data_ov00_020eec9c _0213a818: .word data_02050f54 -_0213a81c: .word data_027e0e60 +_0213a81c: .word gMapManager .global func_ov14_0213a820 arm_func_start func_ov14_0213a820 @@ -33672,7 +33672,7 @@ _0213ab94: cmp r0, #0 beq _0213ac98 ldr r1, [r5, #0x48] - ldr r0, _0213acb0 ; =data_027e0e60 + ldr r0, _0213acb0 ; =gMapManager str r1, [sp, #4] ldr r2, [r5, #0x4c] ldr r1, [r0] @@ -33745,7 +33745,7 @@ _0213ac98: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov14_0213aaec -_0213acb0: .word data_027e0e60 +_0213acb0: .word gMapManager _0213acb4: .word data_027e0fc8 .global func_ov14_0213acb8 diff --git a/asm/ov14/ov14_0213b778.inc b/asm/ov14/ov14_0213b778.inc index d32a69a9..ad41220e 100644 --- a/asm/ov14/ov14_0213b778.inc +++ b/asm/ov14/ov14_0213b778.inc @@ -124,7 +124,7 @@ .extern data_027e0d44 .extern data_027e0d78 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov14/ov14_0213b778.s b/asm/ov14/ov14_0213b778.s index 51bc0854..0f633201 100644 --- a/asm/ov14/ov14_0213b778.s +++ b/asm/ov14/ov14_0213b778.s @@ -2764,7 +2764,7 @@ func_ov14_0213d684: ; 0x0213d684 ldreqsh r1, [r0, #0x2e] cmpeq r1, #2 bne _0213d6d4 - ldr r2, _0213d6dc ; =data_027e0e60 + ldr r2, _0213d6dc ; =gMapManager add r1, r0, #0x2c ldr r0, [r2] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -2784,7 +2784,7 @@ _0213d6d4: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov14_0213d684 -_0213d6dc: .word data_027e0e60 +_0213d6dc: .word gMapManager .global func_ov14_0213d6e0 arm_func_start func_ov14_0213d6e0 @@ -2971,7 +2971,7 @@ func_ov14_0213d91c: ; 0x0213d91c cmp r0, #3 b _0213d990 _0213d944: - ldr r0, _0213d9a8 ; =data_027e0e60 + ldr r0, _0213d9a8 ; =gMapManager add r1, r6, #0x2c ldr r0, [r0] add r1, r1, r5 @@ -2999,7 +2999,7 @@ _0213d990: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov14_0213d91c -_0213d9a8: .word data_027e0e60 +_0213d9a8: .word gMapManager .global func_ov14_0213d9ac arm_func_start func_ov14_0213d9ac @@ -3026,7 +3026,7 @@ _0213d9e4: beq _0213da84 b _0213daa4 _0213d9fc: - ldr r0, _0213dad4 ; =data_027e0e60 + ldr r0, _0213dad4 ; =gMapManager mov r1, r8 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -3085,7 +3085,7 @@ _0213dac0: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_0213d9ac -_0213dad4: .word data_027e0e60 +_0213dad4: .word gMapManager _0213dad8: .word data_027e0fe4 .global func_ov14_0213dadc @@ -3628,7 +3628,7 @@ func_ov14_0213e20c: ; 0x0213e20c mov r3, #0x1c mul r6, r1, r3 mov r8, r0 - ldr r0, _0213e324 ; =data_027e0e60 + ldr r0, _0213e324 ; =gMapManager add r1, r8, #0x2c ldr r0, [r0] add r1, r1, r6 @@ -3698,7 +3698,7 @@ _0213e318: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov14_0213e20c -_0213e324: .word data_027e0e60 +_0213e324: .word gMapManager .global func_ov14_0213e328 arm_func_start func_ov14_0213e328 @@ -3736,7 +3736,7 @@ _0213e394: cmp r0, #2 movne r0, #0 bne _0213e3b4 - ldr r0, _0213e53c ; =data_027e0e60 + ldr r0, _0213e53c ; =gMapManager mov r1, r7 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -3852,7 +3852,7 @@ _0213e52c: .align 2, 0 arm_func_end func_ov14_0213e328 _0213e538: .word data_027e0fe4 -_0213e53c: .word data_027e0e60 +_0213e53c: .word gMapManager _0213e540: .word data_027e0fd4 .global func_ov14_0213e544 @@ -5124,7 +5124,7 @@ _0213f378: .word gItemManager arm_func_start func_ov14_0213f37c func_ov14_0213f37c: ; 0x0213f37c stmdb sp!, {r4, lr} - ldr r1, _0213f44c ; =data_027e0e60 + ldr r1, _0213f44c ; =gMapManager mov r4, r0 ldr r0, [r1] bl _ZN10MapManager17GetMapData_Unk_06Ev @@ -5178,7 +5178,7 @@ _0213f434: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0213f37c -_0213f44c: .word data_027e0e60 +_0213f44c: .word gMapManager _0213f450: .word data_027e077c _0213f454: .word gAdventureFlags _0213f458: .word data_027e0c68 @@ -6976,7 +6976,7 @@ _021407e0: smull r0, r1, r2, r4 sub r4, r3, r0 ldr r1, _02141134 ; =data_027e0d38 - ldr r0, _02141138 ; =data_027e0e60 + ldr r0, _02141138 ; =gMapManager cmp r4, #0x28 movlt r8, #1 ldr r7, [r1] @@ -7588,7 +7588,7 @@ _0214110c: arm_func_end func_ov14_021407b8 _02141130: .word 0x88888889 _02141134: .word data_027e0d38 -_02141138: .word data_027e0e60 +_02141138: .word gMapManager _0214113c: .word data_027e1054 _02141140: .word data_027e0d3c _02141144: .word data_02063e4c @@ -8082,7 +8082,7 @@ func_ov14_0214178c: ; 0x0214178c ldmgeia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} add r5, r10, #0xd0 ldr r1, [r5, r8] - ldr r0, _021418e8 ; =data_027e0e60 + ldr r0, _021418e8 ; =gMapManager str r1, [sp] ldr r1, [r7, r8] add r4, r10, #0xd8 @@ -8153,7 +8153,7 @@ _021418dc: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov14_0214178c -_021418e8: .word data_027e0e60 +_021418e8: .word gMapManager .global func_ov14_021418ec arm_func_start func_ov14_021418ec @@ -8181,7 +8181,7 @@ func_ov14_021418ec: ; 0x021418ec add r4, r8, #0xd4 str r1, [sp] ldr r1, [r4, r6] - ldr r0, _021419d4 ; =data_027e0e60 + ldr r0, _021419d4 ; =gMapManager str r1, [sp, #4] ldr r2, [r2, #0xd8] ldr r0, [r0] @@ -8219,7 +8219,7 @@ _021419c8: ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov14_021418ec -_021419d4: .word data_027e0e60 +_021419d4: .word gMapManager .global func_ov14_021419d8 arm_func_start func_ov14_021419d8 @@ -8469,7 +8469,7 @@ _02141cdc: rsb r0, r0, #0 strh r0, [r9, #0xc] ldrb r2, [r9, #0x15] - ldr r0, _02142040 ; =data_027e0e60 + ldr r0, _02142040 ; =gMapManager ldrb r1, [r9, #0x14] ldr r0, [r0] add r2, r2, #1 @@ -8481,7 +8481,7 @@ _02141d0c: mov r0, r4 strh r0, [r9, #0xc] ldrb r2, [r9, #0x15] - ldr r0, _02142040 ; =data_027e0e60 + ldr r0, _02142040 ; =gMapManager ldrb r1, [r9, #0x14] ldr r0, [r0] sub r2, r2, #1 @@ -8493,7 +8493,7 @@ _02141d34: rsb r0, r0, #0 strh r0, [r9, #0xc] ldrb r1, [r9, #0x14] - ldr r0, _02142040 ; =data_027e0e60 + ldr r0, _02142040 ; =gMapManager ldrb r2, [r9, #0x15] ldr r0, [r0] add r1, r1, #1 @@ -8505,7 +8505,7 @@ _02141d64: mov r0, #0x4000 strh r0, [r9, #0xc] ldrb r1, [r9, #0x14] - ldr r0, _02142040 ; =data_027e0e60 + ldr r0, _02142040 ; =gMapManager ldrb r2, [r9, #0x15] ldr r0, [r0] sub r1, r1, #1 @@ -8527,7 +8527,7 @@ _02141d88: cmp r1, r2 ble _02141f0c mov r5, #1 - ldr r4, _02142040 ; =data_027e0e60 + ldr r4, _02142040 ; =gMapManager add r6, sp, #0xe add r10, sp, #0xc mov r11, r5 @@ -8576,7 +8576,7 @@ _02141e5c: cmp r1, r2 bge _02141f0c mov r5, #1 - ldr r4, _02142040 ; =data_027e0e60 + ldr r4, _02142040 ; =gMapManager add r6, sp, #0xa add r10, sp, #8 mov r11, r5 @@ -8702,7 +8702,7 @@ _02142004: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_02141c60 -_02142040: .word data_027e0e60 +_02142040: .word gMapManager .global func_ov14_02142044 arm_func_start func_ov14_02142044 @@ -9133,11 +9133,11 @@ _02142634: ldr r1, [r5, #0x48] cmp r1, r0 beq _02142664 - ldr r0, _02142778 ; =data_027e0e60 + ldr r0, _02142778 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084ac4Ej _02142664: - ldr r0, _02142778 ; =data_027e0e60 + ldr r0, _02142778 ; =gMapManager mov r2, #0 ldr r0, [r0] mov r3, r2 @@ -9192,11 +9192,11 @@ _02142714: ldr r1, [r5, #0x48] cmp r1, r0 beq _02142744 - ldr r0, _02142778 ; =data_027e0e60 + ldr r0, _02142778 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084ac4Ej _02142744: - ldr r0, _02142778 ; =data_027e0e60 + ldr r0, _02142778 ; =gMapManager mov r2, #0 ldr r0, [r0] mov r3, r2 @@ -9212,7 +9212,7 @@ _02142768: .align 2, 0 arm_func_end func_ov14_021424b8 _02142774: .word gAdventureFlags -_02142778: .word data_027e0e60 +_02142778: .word gMapManager .global func_ov14_0214277c arm_func_start func_ov14_0214277c @@ -9255,12 +9255,12 @@ func_ov14_0214278c: ; 0x0214278c bl func_ov00_02078b40 cmp r0, #0 bne _02142818 - ldr r0, _02142908 ; =data_027e0e60 + ldr r0, _02142908 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager20GetCourseData_Unk_86Ev cmp r0, #1 bgt _02142814 - ldr r0, _02142908 ; =data_027e0e60 + ldr r0, _02142908 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager20GetCourseData_Unk_87Ev cmp r0, #1 @@ -9339,7 +9339,7 @@ _021428d8: .align 2, 0 arm_func_end func_ov14_0214278c _02142904: .word data_027e0d38 -_02142908: .word data_027e0e60 +_02142908: .word gMapManager .global func_ov14_0214290c arm_func_start func_ov14_0214290c @@ -14534,7 +14534,7 @@ _02146548: add lr, r5, #0x8c str r1, [sp, #0x28] ldr r1, [r5, #0x4c] - ldr ip, _02146604 ; =data_027e0e60 + ldr ip, _02146604 ; =gMapManager str r1, [sp, #0x2c] ldr r1, [r5, #0x50] add r2, sp, #0x28 @@ -14578,7 +14578,7 @@ _021465e4: arm_func_end func_ov14_021463e4 _021465fc: .word 0x00000b33 _02146600: .word data_ov14_0215b280 -_02146604: .word data_027e0e60 +_02146604: .word gMapManager .global func_ov14_02146608 arm_func_start func_ov14_02146608 @@ -15149,7 +15149,7 @@ func_ov14_02146d48: ; 0x02146d48 add sp, sp, #0x10 ldmia sp!, {r4, pc} _02146dd8: - ldr r0, _02146e20 ; =data_027e0e60 + ldr r0, _02146e20 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084c94Ei @@ -15170,7 +15170,7 @@ _02146df8: arm_func_end func_ov14_02146d48 _02146e18: .word data_027e0f90 _02146e1c: .word 0x00000333 -_02146e20: .word data_027e0e60 +_02146e20: .word gMapManager .global func_ov14_02146e24 arm_func_start func_ov14_02146e24 @@ -15244,7 +15244,7 @@ _02146f08: add r0, r4, #0x38 mov r1, #0 bl func_ov00_02094884 - ldr r0, _02147094 ; =data_027e0e60 + ldr r0, _02147094 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 @@ -15265,7 +15265,7 @@ _02146f54: add r0, r4, #0x38 mov r1, #2 bl func_ov00_02094884 - ldr r0, _02147094 ; =data_027e0e60 + ldr r0, _02147094 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 @@ -15312,19 +15312,19 @@ _02146ff0: mov r1, r0 mov r0, r4 bl func_ov00_0208c4f8 - ldr r0, _02147094 ; =data_027e0e60 + ldr r0, _02147094 ; =gMapManager ldrb r5, [r4, #0x13] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, r5 bne _02147040 - ldr r0, _02147094 ; =data_027e0e60 + ldr r0, _02147094 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl _ZN10MapManager18func_ov00_02084c7cEi _02147040: - ldr r0, _02147094 ; =data_027e0e60 + ldr r0, _02147094 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 @@ -15334,7 +15334,7 @@ _02147040: str r0, [r4, #4] b _02147084 _02147064: - ldr r0, _02147094 ; =data_027e0e60 + ldr r0, _02147094 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 @@ -15349,7 +15349,7 @@ _02147084: .align 2, 0 arm_func_end func_ov14_02146eb4 _02147090: .word data_027e0ffc -_02147094: .word data_027e0e60 +_02147094: .word gMapManager _02147098: .word data_027e0fe8 _0214709c: .word 0x54534248 @@ -16550,7 +16550,7 @@ func_ov14_02147ee4: ; 0x02147ee4 sub r2, r3, #2 mov ip, #0x47 mov r1, #0xff - ldr r0, _02147fb4 ; =data_027e0e60 + ldr r0, _02147fb4 ; =gMapManager str r2, [sp, #0xc] str ip, [sp] str r3, [sp, #4] @@ -16578,7 +16578,7 @@ _02147f9c: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_02147ee4 -_02147fb4: .word data_027e0e60 +_02147fb4: .word gMapManager _02147fb8: .word data_027e0d38 .global func_ov14_02147fbc @@ -16919,7 +16919,7 @@ func_ov14_02148334: ; 0x02148334 func_ov14_02148364: ; 0x02148364 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x128 - ldr r2, _02148644 ; =data_027e0e60 + ldr r2, _02148644 ; =gMapManager mov r10, r0 ldr r0, [r2] mov r2, #0 @@ -16930,12 +16930,12 @@ func_ov14_02148364: ; 0x02148364 addlt sp, sp, #0x128 movlt r0, #0 ldmltia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r1, _02148644 ; =data_027e0e60 + ldr r1, _02148644 ; =gMapManager add r0, sp, #0x14 ldr r1, [r1] mov r2, r9 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - ldr r0, _02148644 ; =data_027e0e60 + ldr r0, _02148644 ; =gMapManager add r1, sp, #0x14 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020840dcEv @@ -16981,7 +16981,7 @@ _021483f8: add r2, r10, #0x100 str r3, [sp, #0x30] ldr r3, [r10, #0x50] - ldr r4, _02148644 ; =data_027e0e60 + ldr r4, _02148644 ; =gMapManager str r3, [sp, #0x34] str r1, [sp] ldr r3, [r10, #8] @@ -17109,7 +17109,7 @@ _02148638: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_02148364 -_02148644: .word data_027e0e60 +_02148644: .word gMapManager _02148648: .word 0x0000ffff _0214864c: .word data_ov14_02153ed8 _02148650: .word data_027e0fe4 @@ -17495,7 +17495,7 @@ _02148b34: str r0, [r4, #0x50] b _02148c38 _02148b50: - ldr r0, _021497e8 ; =data_027e0e60 + ldr r0, _021497e8 ; =gMapManager add r1, sp, #0x60 ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -17526,7 +17526,7 @@ _02148bb4: mov r1, #0 strb r1, [r4, #0x1b6] strb r1, [r4, #0x1b7] - ldr r0, _021497e8 ; =data_027e0e60 + ldr r0, _021497e8 ; =gMapManager add r1, sp, #0x54 ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -17540,7 +17540,7 @@ _02148bb4: _02148bec: mov r1, #0 strb r1, [r4, #0x1b7] - ldr r0, _021497e8 ; =data_027e0e60 + ldr r0, _021497e8 ; =gMapManager add r1, sp, #0x48 ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -18373,7 +18373,7 @@ _021497dc: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov14_021488c0 -_021497e8: .word data_027e0e60 +_021497e8: .word gMapManager _021497ec: .word data_027e0f68 _021497f0: .word data_027e0fec _021497f4: .word gAdventureFlags @@ -18851,7 +18851,7 @@ _02149cec: ldr r4, [r4, #0x14] blx r4 ldr r1, [r5, #0x18] - ldr r0, _02149e8c ; =data_027e0e60 + ldr r0, _02149e8c ; =gMapManager sub r1, r1, #4 str r1, [r5, #0x18] ldr r1, [r5, #0x20] @@ -18884,7 +18884,7 @@ _02149e7c: .word data_ov14_02153f28 _02149e80: .word data_ov14_02153f3c _02149e84: .word func_ov14_0214a4e4 _02149e88: .word 0x00001333 -_02149e8c: .word data_027e0e60 +_02149e8c: .word gMapManager .global func_ov14_02149e90 arm_func_start func_ov14_02149e90 @@ -19112,7 +19112,7 @@ _0214a194: mov r2, #0 str r2, [r6, #0x78] ldr r1, [r6, #4] - ldr r0, _0214a3b8 ; =data_027e0e60 + ldr r0, _0214a3b8 ; =gMapManager orr r1, r1, #0x14 str r1, [r6, #4] ldr r0, [r0] @@ -19209,7 +19209,7 @@ _0214a2e4: cmp r0, #1 moveq r0, #0 streqb r0, [r6, #0x3c] - ldr r0, _0214a3b8 ; =data_027e0e60 + ldr r0, _0214a3b8 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020843ecEPi ldr r1, [r6, #0x74] @@ -19247,7 +19247,7 @@ _0214a358: mov r2, #1 bl func_ov00_0208ba08 _0214a398: - ldr r0, _0214a3b8 ; =data_027e0e60 + ldr r0, _0214a3b8 ; =gMapManager ldrsh r1, [r6, #0x34] ldr r0, [r0] mov r2, #1 @@ -19258,7 +19258,7 @@ _0214a3ac: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov14_0214a160 -_0214a3b8: .word data_027e0e60 +_0214a3b8: .word gMapManager _0214a3bc: .word data_027e0ffc _0214a3c0: .word 0x0000030f _0214a3c4: .word gAdventureFlags @@ -20082,7 +20082,7 @@ _0214adf8: .word 0x534e574d func_ov14_0214adfc: ; 0x0214adfc stmdb sp!, {r3, r4, r5, lr} mov r5, r0 - ldr r0, _0214ae84 ; =data_027e0e60 + ldr r0, _0214ae84 ; =gMapManager ldrh r1, [r5, #0x20] ldr r0, [r0] mov r2, #0 @@ -20119,7 +20119,7 @@ _0214ae7c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov14_0214adfc -_0214ae84: .word data_027e0e60 +_0214ae84: .word gMapManager _0214ae88: .word gAdventureFlags _0214ae8c: .word data_027e0f90 @@ -21484,7 +21484,7 @@ func_ov14_0214c018: ; 0x0214c018 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _0214c0a8 ; =data_027e0e60 + ldr r0, _0214c0a8 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 @@ -21512,7 +21512,7 @@ _0214c09c: .align 2, 0 arm_func_end func_ov14_0214c018 _0214c0a4: .word data_027e0f90 -_0214c0a8: .word data_027e0e60 +_0214c0a8: .word gMapManager _0214c0ac: .word data_ov00_020eed2c _0214c0b0: .word 0x00000bb8 @@ -21688,7 +21688,7 @@ func_ov14_0214c274: ; 0x0214c274 mov r2, r0 bl func_01ff9bc4 ldrb r1, [r4, #0x14] - ldr r0, _0214c2e4 ; =data_027e0e60 + ldr r0, _0214c2e4 ; =gMapManager ldrb ip, [r4, #0x15] add r3, r1, #1 ldr r0, [r0] @@ -21701,7 +21701,7 @@ func_ov14_0214c274: ; 0x0214c274 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0214c274 -_0214c2e4: .word data_027e0e60 +_0214c2e4: .word gMapManager .global func_ov14_0214c2e8 arm_func_start func_ov14_0214c2e8 @@ -21723,22 +21723,22 @@ func_ov14_0214c30c: ; 0x0214c30c stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldrh r4, [r6, #0x28] - ldr r0, _0214c370 ; =data_027e0e60 + ldr r0, _0214c370 ; =gMapManager ldrh r5, [r6, #0x2a] ldr r0, [r0] mov r1, r4 bl _ZN10MapManager18func_ov00_020823d4Ei - ldr r1, _0214c370 ; =data_027e0e60 + ldr r1, _0214c370 ; =gMapManager str r0, [r6, #0x94] ldr r0, [r1] mov r1, r4 bl _ZN10MapManager18func_ov00_020823e4Ei - ldr r1, _0214c370 ; =data_027e0e60 + ldr r1, _0214c370 ; =gMapManager str r0, [r6, #0x98] ldr r0, [r1] mov r1, r5 bl _ZN10MapManager18func_ov00_020823d4Ei - ldr r1, _0214c370 ; =data_027e0e60 + ldr r1, _0214c370 ; =gMapManager str r0, [r6, #0x9c] ldr r0, [r1] mov r1, r5 @@ -21747,7 +21747,7 @@ func_ov14_0214c30c: ; 0x0214c30c ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov14_0214c30c -_0214c370: .word data_027e0e60 +_0214c370: .word gMapManager .global func_ov14_0214c374 arm_func_start func_ov14_0214c374 @@ -21770,7 +21770,7 @@ func_ov14_0214c374: ; 0x0214c374 mov r0, r5 ldr r1, _0214c440 ; =data_ov14_02153fa0 bl func_0201933c - ldr r0, _0214c444 ; =data_027e0e60 + ldr r0, _0214c444 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_b4Ev mov r4, r0 @@ -21806,7 +21806,7 @@ _0214c434: .word data_ov14_02153f64 _0214c438: .word data_ov14_02153f78 _0214c43c: .word data_ov14_02153f8c _0214c440: .word data_ov14_02153fa0 -_0214c444: .word data_027e0e60 +_0214c444: .word gMapManager .global func_ov14_0214c448 arm_func_start func_ov14_0214c448 @@ -22077,7 +22077,7 @@ _0214c7d0: sub r0, r11, #0x8000 mov r7, #0 ldr r6, _0214c93c ; =data_02050f54 - ldr r4, _0214c940 ; =data_027e0e60 + ldr r4, _0214c940 ; =gMapManager strh r0, [sp, #0x1a] add r11, sp, #0x1c mov r5, r7 @@ -22172,7 +22172,7 @@ _0214c92c: arm_func_end func_ov14_0214c678 _0214c938: .word data_027e0764 _0214c93c: .word data_02050f54 -_0214c940: .word data_027e0e60 +_0214c940: .word gMapManager _0214c944: .word 0x0000ffff .global func_ov14_0214c948 @@ -22430,7 +22430,7 @@ _0214cc34: .word gAdventureFlags .global func_ov14_0214cc38 arm_func_start func_ov14_0214cc38 func_ov14_0214cc38: ; 0x0214cc38 - ldr r2, _0214cc50 ; =data_027e0e60 + ldr r2, _0214cc50 ; =gMapManager ldr ip, _0214cc54 ; =_ZN10MapManager18func_ov00_020836dcEii ldrb r1, [r0, #0x160] ldr r0, [r2] @@ -22438,7 +22438,7 @@ func_ov14_0214cc38: ; 0x0214cc38 bx ip .align 2, 0 arm_func_end func_ov14_0214cc38 -_0214cc50: .word data_027e0e60 +_0214cc50: .word gMapManager _0214cc54: .word _ZN10MapManager18func_ov00_020836dcEii .global func_ov14_0214cc58 @@ -22865,7 +22865,7 @@ _0214d134: cmp r5, #2 add r6, r6, #0xc blo _0214d134 - ldr r0, _0214d1b4 ; =data_027e0e60 + ldr r0, _0214d1b4 ; =gMapManager add r1, r7, #0x74 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020839c4Ei @@ -22892,7 +22892,7 @@ _0214d134: arm_func_end func_ov14_0214d114 _0214d1ac: .word data_ov14_0215a1d8 _0214d1b0: .word data_027e0e58 -_0214d1b4: .word data_027e0e60 +_0214d1b4: .word gMapManager _0214d1b8: .word func_ov14_02121cd8 .global func_ov14_0214d1bc @@ -22914,7 +22914,7 @@ _0214d1dc: cmp r5, #2 add r6, r6, #0xc blo _0214d1dc - ldr r0, _0214d254 ; =data_027e0e60 + ldr r0, _0214d254 ; =gMapManager add r1, r7, #0x74 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020839c4Ei @@ -22939,7 +22939,7 @@ _0214d1dc: arm_func_end func_ov14_0214d1bc _0214d24c: .word data_ov14_0215a1d8 _0214d250: .word data_027e0e58 -_0214d254: .word data_027e0e60 +_0214d254: .word gMapManager _0214d258: .word func_ov14_02121cd8 .global func_ov14_0214d25c @@ -23173,7 +23173,7 @@ _0214d46c: ldr r1, _0214d6ac ; =0x000004cd bl func_01fffbec ldr r1, [sp, #0xc] - ldr r0, _0214d6b0 ; =data_027e0e60 + ldr r0, _0214d6b0 ; =gMapManager str r1, [r4, #0x7c] ldr r2, [sp, #0x10] add r1, r4, #0x74 @@ -23238,7 +23238,7 @@ _0214d6a0: .word 0xfffff666 _0214d6a4: .word data_027e0d38 _0214d6a8: .word data_02050f54 _0214d6ac: .word 0x000004cd -_0214d6b0: .word data_027e0e60 +_0214d6b0: .word gMapManager _0214d6b4: .word 0x0000026e .global func_ov14_0214d6b8 @@ -23757,7 +23757,7 @@ _0214ddcc: mov r1, #0 str r1, [sp, #0xc] str r1, [sp, #0x10] - ldr r0, _0214e124 ; =data_027e0e60 + ldr r0, _0214e124 ; =gMapManager add r1, sp, #0x98 ldr r0, [r0] add r2, sp, #0x74 @@ -23985,7 +23985,7 @@ _0214e01c: .align 2, 0 arm_func_end func_ov14_0214dc7c _0214e120: .word 0x0000ffff -_0214e124: .word data_027e0e60 +_0214e124: .word gMapManager _0214e128: .word 0x00000d9a _0214e12c: .word data_ov14_0215a1b8 _0214e130: .word data_ov14_0215a1a0 @@ -23995,12 +23995,12 @@ _0214e130: .word data_ov14_0215a1a0 func_ov14_0214e134: ; 0x0214e134 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xc - ldr r2, _0214e268 ; =data_027e0e60 + ldr r2, _0214e268 ; =gMapManager mov r5, r0 ldr r0, [r2] mov r4, r1 bl _ZN10MapManager17Get_MapData_Unk28Ev - ldr r1, _0214e268 ; =data_027e0e60 + ldr r1, _0214e268 ; =gMapManager mov r6, r0 ldr r0, [r1] bl _ZN10MapManager17Get_MapData_Unk2aEv @@ -24047,7 +24047,7 @@ _0214e1e4: cmp r9, r0 addgt sp, sp, #0xc ldmgtia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r6, _0214e268 ; =data_027e0e60 + ldr r6, _0214e268 ; =gMapManager add r11, sp, #8 _0214e1fc: ldr r10, [sp] @@ -24082,7 +24082,7 @@ _0214e250: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_0214e134 -_0214e268: .word data_027e0e60 +_0214e268: .word gMapManager .global func_ov14_0214e26c arm_func_start func_ov14_0214e26c @@ -24247,7 +24247,7 @@ func_ov14_0214e38c: ; 0x0214e38c ldrh r0, [r4, #0x24] cmp r0, #0 bne _0214e4d0 - ldr r0, _0214e51c ; =data_027e0e60 + ldr r0, _0214e51c ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -24291,7 +24291,7 @@ _0214e504: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0214e38c -_0214e51c: .word data_027e0e60 +_0214e51c: .word gMapManager .global func_ov14_0214e520 arm_func_start func_ov14_0214e520 @@ -24328,7 +24328,7 @@ func_ov14_0214e550: ; 0x0214e550 beq _0214e58c b _0214e6b0 _0214e574: - ldr r0, _0214e6bc ; =data_027e0e60 + ldr r0, _0214e6bc ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 @@ -24393,14 +24393,14 @@ _0214e654: ldrh r0, [r4, #0x24] cmp r0, #0 bne _0214e684 - ldr r0, _0214e6bc ; =data_027e0e60 + ldr r0, _0214e6bc ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl _ZN10MapManager18func_ov00_02084cb0Ei _0214e684: ldr r1, [r4, #4] - ldr r0, _0214e6bc ; =data_027e0e60 + ldr r0, _0214e6bc ; =gMapManager bic r1, r1, #0x10 str r1, [r4, #4] ldr r0, [r0] @@ -24416,7 +24416,7 @@ _0214e6b0: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov14_0214e550 -_0214e6bc: .word data_027e0e60 +_0214e6bc: .word gMapManager _0214e6c0: .word data_027e0e58 _0214e6c4: .word 0x000001a1 _0214e6c8: .word data_027e0ffc @@ -24666,7 +24666,7 @@ func_ov14_0214e8f0: ; 0x0214e8f0 blx ip mov r0, #0 strb r0, [r4, #0x3c] - ldr r0, _0214ea70 ; =data_027e0e60 + ldr r0, _0214ea70 ; =gMapManager ldrh r2, [r4, #0x28] ldr r0, [r0] add r1, r4, #0x88 @@ -24674,7 +24674,7 @@ func_ov14_0214e8f0: ; 0x0214e8f0 cmp r0, #0 addeq sp, sp, #0x50 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _0214ea70 ; =data_027e0e60 + ldr r0, _0214ea70 ; =gMapManager ldrh r2, [r4, #0x2a] ldr r0, [r0] add r1, r4, #0x80 @@ -24682,7 +24682,7 @@ func_ov14_0214e8f0: ; 0x0214e8f0 cmp r0, #0 addeq sp, sp, #0x50 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _0214ea70 ; =data_027e0e60 + ldr r0, _0214ea70 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -24705,7 +24705,7 @@ _0214ea58: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov14_0214e8f0 -_0214ea70: .word data_027e0e60 +_0214ea70: .word gMapManager .global func_ov14_0214ea74 arm_func_start func_ov14_0214ea74 @@ -24726,7 +24726,7 @@ func_ov14_0214ea78: ; 0x0214ea78 beq _0214eac0 b _0214ebb4 _0214ea9c: - ldr r0, _0214ebc0 ; =data_027e0e60 + ldr r0, _0214ebc0 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 @@ -24781,7 +24781,7 @@ _0214eac0: mov r1, #0x3c bl func_ov00_020ce8e4 _0214eb70: - ldr r0, _0214ebc0 ; =data_027e0e60 + ldr r0, _0214ebc0 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 @@ -24790,7 +24790,7 @@ _0214eb70: mov r1, #0 mov r2, #1 bl func_ov00_0208ba08 - ldr r0, _0214ebc0 ; =data_027e0e60 + ldr r0, _0214ebc0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 @@ -24804,7 +24804,7 @@ _0214ebb4: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov14_0214ea78 -_0214ebc0: .word data_027e0e60 +_0214ebc0: .word gMapManager _0214ebc4: .word data_027e0ffc _0214ebc8: .word 0x00000256 _0214ebcc: .word data_027e0e58 @@ -25420,7 +25420,7 @@ _0214f3c0: ldrb r0, [r5, #0xb0] cmp r0, #0 beq _0214f41c - ldr r0, _0214f500 ; =data_027e0e60 + ldr r0, _0214f500 ; =gMapManager mov r2, #0 ldr r0, [r0] mov r3, r2 @@ -25434,14 +25434,14 @@ _0214f41c: cmpne r0, #1 mov r2, #0 bne _0214f44c - ldr r0, _0214f500 ; =data_027e0e60 + ldr r0, _0214f500 ; =gMapManager add r1, r5, #0x18 ldr r0, [r0] mov r3, #2 bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _0214f4e8 _0214f44c: - ldr r0, _0214f500 ; =data_027e0e60 + ldr r0, _0214f500 ; =gMapManager add r1, r5, #0x18 ldr r0, [r0] mov r3, #1 @@ -25475,7 +25475,7 @@ _0214f4b4: mov r0, r5 mov r2, r1 bl func_ov00_0208ba08 - ldr r0, _0214f500 ; =data_027e0e60 + ldr r0, _0214f500 ; =gMapManager ldrh r1, [r5, #0x24] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083840Ei @@ -25493,7 +25493,7 @@ _0214f4e8: _0214f4f4: .word data_ov14_02153fd4 _0214f4f8: .word gAdventureFlags _0214f4fc: .word data_ov00_020eec68 -_0214f500: .word data_027e0e60 +_0214f500: .word gMapManager .global func_ov14_0214f504 arm_func_start func_ov14_0214f504 @@ -25507,7 +25507,7 @@ func_ov14_0214f504: ; 0x0214f504 cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} - ldr r0, _0214f59c ; =data_027e0e60 + ldr r0, _0214f59c ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 @@ -25540,7 +25540,7 @@ _0214f594: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0214f504 -_0214f59c: .word data_027e0e60 +_0214f59c: .word gMapManager _0214f5a0: .word data_027e0fe4 .global func_ov14_0214f5a4 @@ -25563,7 +25563,7 @@ func_ov14_0214f5a4: ; 0x0214f5a4 mov r0, #1 ldmia sp!, {r4, pc} _0214f5e4: - ldr r0, _0214f660 ; =data_027e0e60 + ldr r0, _0214f660 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -25581,7 +25581,7 @@ _0214f600: cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _0214f660 ; =data_027e0e60 + ldr r0, _0214f660 ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083840Ei @@ -25598,7 +25598,7 @@ _0214f640: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0214f5a4 -_0214f660: .word data_027e0e60 +_0214f660: .word gMapManager _0214f664: .word data_027e0fe4 .global func_ov14_0214f668 @@ -25628,7 +25628,7 @@ func_ov14_0214f668: ; 0x0214f668 mov r0, #0 ldmia sp!, {r4, pc} _0214f6c4: - ldr r0, _0214f76c ; =data_027e0e60 + ldr r0, _0214f76c ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -25656,7 +25656,7 @@ _0214f70c: moveq r0, #0 ldmeqia sp!, {r4, pc} _0214f728: - ldr r0, _0214f76c ; =data_027e0e60 + ldr r0, _0214f76c ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 @@ -25664,7 +25664,7 @@ _0214f728: cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _0214f76c ; =data_027e0e60 + ldr r0, _0214f76c ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083790Ei @@ -25676,7 +25676,7 @@ _0214f760: .align 2, 0 arm_func_end func_ov14_0214f668 _0214f768: .word data_027e077c -_0214f76c: .word data_027e0e60 +_0214f76c: .word gMapManager _0214f770: .word data_027e0fe4 .global func_ov14_0214f774 @@ -26154,7 +26154,7 @@ _0214fd64: .word data_ov00_020eec9c .global func_ov14_0214fd68 arm_func_start func_ov14_0214fd68 func_ov14_0214fd68: ; 0x0214fd68 - ldr r2, _0214fd80 ; =data_027e0e60 + ldr r2, _0214fd80 ; =gMapManager ldr ip, _0214fd84 ; =_ZN10MapManager18func_ov00_020836dcEii ldrb r1, [r0, #0x15c] ldr r0, [r2] @@ -26162,7 +26162,7 @@ func_ov14_0214fd68: ; 0x0214fd68 bx ip .align 2, 0 arm_func_end func_ov14_0214fd68 -_0214fd80: .word data_027e0e60 +_0214fd80: .word gMapManager _0214fd84: .word _ZN10MapManager18func_ov00_020836dcEii .global func_ov14_0214fd88 @@ -26287,7 +26287,7 @@ _0214fee0: mov r0, #0x4000 strh r0, [r4, #0xc] ldrb r2, [r4, #0x15] - ldr r0, _021500d0 ; =data_027e0e60 + ldr r0, _021500d0 ; =gMapManager ldrb r1, [r4, #0x14] ldr r0, [r0] sub r2, r2, #1 @@ -26299,7 +26299,7 @@ _0214ff0c: mov r0, #0 strh r0, [r4, #0xc] ldrb r1, [r4, #0x14] - ldr r0, _021500d0 ; =data_027e0e60 + ldr r0, _021500d0 ; =gMapManager ldrb r2, [r4, #0x15] ldr r0, [r0] sub r1, r1, #1 @@ -26351,7 +26351,7 @@ _0214ffc0: cmp r0, r1 bge _02150070 mov r7, #1 - ldr r5, _021500d0 ; =data_027e0e60 + ldr r5, _021500d0 ; =gMapManager add r8, sp, #6 add r6, sp, #4 mov r11, r7 @@ -26418,7 +26418,7 @@ _02150070: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov14_0214fe98 -_021500d0: .word data_027e0e60 +_021500d0: .word gMapManager _021500d4: .word 0x0000099a .global func_ov14_021500d8 @@ -27614,7 +27614,7 @@ _02150d70: mul r0, r1, r0 _02150d88: str r0, [r4, #0x68] - ldr r0, _02150e24 ; =data_027e0e60 + ldr r0, _02150e24 ; =gMapManager ldrb r3, [r4, #0x15] ldrb r2, [r4, #0x14] ldr r0, [r0] @@ -27656,7 +27656,7 @@ _02150e0c: .align 2, 0 arm_func_end func_ov14_02150bb4 _02150e20: .word 0x00001333 -_02150e24: .word data_027e0e60 +_02150e24: .word gMapManager _02150e28: .word data_027e0d38 .global func_ov14_02150e2c @@ -28191,7 +28191,7 @@ func_ov14_0215141c: ; 0x0215141c str r0, [r4, #0x84] str r0, [r4, #0x88] ldr r1, [r4, #0x7c] - ldr r0, _02151518 ; =data_027e0e60 + ldr r0, _02151518 ; =gMapManager str r1, [r4, #0x8c] ldr r2, [r4, #0x80] add r1, sp, #0xc @@ -28249,7 +28249,7 @@ _0215150c: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov14_0215141c -_02151518: .word data_027e0e60 +_02151518: .word gMapManager _0215151c: .word data_027e0d38 _02151520: .word data_027e0f68 _02151524: .word data_ov14_0215401c diff --git a/asm/ov15.inc b/asm/ov15.inc index 0b7b720d..2cdde376 100644 --- a/asm/ov15.inc +++ b/asm/ov15.inc @@ -149,7 +149,7 @@ .extern data_027e0e2c .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov15.s b/asm/ov15.s index 048841fc..08c04702 100644 --- a/asm/ov15.s +++ b/asm/ov15.s @@ -70,7 +70,7 @@ func_ov15_0211f69c: ; 0x0211f69c ands r1, r1, #0x3f addeq sp, sp, #0x3c ldmeqia sp!, {r4, r5, r6, r7, pc} - ldr r0, _0211f858 ; =data_027e0e60 + ldr r0, _0211f858 ; =gMapManager mov r7, #0x47 ldr r0, [r0] sub lr, r7, #0x49 @@ -163,7 +163,7 @@ _0211f848: .align 2, 0 arm_func_end func_ov15_0211f69c _0211f854: .word data_027e0f6c -_0211f858: .word data_027e0e60 +_0211f858: .word gMapManager _0211f85c: .word data_02050f54 _0211f860: .word data_027e0d3c @@ -259,7 +259,7 @@ func_ov15_0211f954: ; 0x0211f954 bl func_ov15_0211fd64 bl func_ov15_0213ce4c bl func_ov15_0213d3d4 - ldr r0, _0211f9a4 ; =data_027e0e60 + ldr r0, _0211f9a4 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082594Ev ldr r0, _0211f9a8 ; =data_027e0fe4 @@ -270,7 +270,7 @@ func_ov15_0211f954: ; 0x0211f954 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0211f954 -_0211f9a4: .word data_027e0e60 +_0211f9a4: .word gMapManager _0211f9a8: .word data_027e0fe4 .global func_ov15_0211f9ac @@ -402,7 +402,7 @@ _0211fab4: mov r0, #8 str r0, [sp, #8] ldr r1, _0211fc38 ; =data_ov15_0218ec18 - ldr r0, _0211fc4c ; =data_027e0e60 + ldr r0, _0211fc4c ; =gMapManager str r1, [sp, #0xc] ldr r0, [r0] add r1, sp, #0x18 @@ -427,7 +427,7 @@ _0211fbac: beq _0211fbe8 ldr r0, [r5, #0x2c] bl func_ov15_02121988 - ldr r0, _0211fc4c ; =data_027e0e60 + ldr r0, _0211fc4c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020825acEv ldr r0, _0211fc54 ; =data_027e0fe4 @@ -462,7 +462,7 @@ _0211fc3c: .word func_ov15_0211fc58 _0211fc40: .word data_ov15_0218ec0c _0211fc44: .word data_027e0d78 _0211fc48: .word 0x0000ffff -_0211fc4c: .word data_027e0e60 +_0211fc4c: .word gMapManager _0211fc50: .word data_ov00_020eec9c _0211fc54: .word data_027e0fe4 @@ -717,7 +717,7 @@ _0211ff18: mov r2, #0x49 str r0, [sp, #0x3c] ldr r5, [r9, #0x3c] - ldr r0, _021205bc ; =data_027e0e60 + ldr r0, _021205bc ; =gMapManager str r5, [sp, #0x40] str r4, [sp] str r3, [sp, #4] @@ -876,7 +876,7 @@ _02120184: mov r1, #0x49 str r0, [sp, #0x2c] ldr r4, [r9, #0x3c] - ldr r0, _021205bc ; =data_027e0e60 + ldr r0, _021205bc ; =gMapManager str r4, [sp, #0x30] str r3, [sp] str r2, [sp, #4] @@ -1039,7 +1039,7 @@ _02120354: mov r2, #0x49 str r1, [sp, #0x1c] ldr ip, [r9, #0x34] - ldr r1, _021205bc ; =data_027e0e60 + ldr r1, _021205bc ; =gMapManager str ip, [sp, #0x20] str r10, [sp] str r3, [sp, #4] @@ -1129,7 +1129,7 @@ _021205ac: .word data_ov15_0218946c _021205b0: .word func_ov15_0211fc6c _021205b4: .word data_ov15_0218ec34 _021205b8: .word 0x0000ffff -_021205bc: .word data_027e0e60 +_021205bc: .word gMapManager _021205c0: .word data_ov15_02189420 _021205c4: .word data_027e0d3c _021205c8: .word data_027e0c38 @@ -2313,7 +2313,7 @@ _02121550: mov r1, #0x24 bl _ZNK11ItemManager7HasItemEi mov r5, #0 - ldr r1, _021216fc ; =data_027e0e60 + ldr r1, _021216fc ; =gMapManager mov r4, r0 ldr r0, [r1] mov r6, r5 @@ -2408,7 +2408,7 @@ _021216ec: .word data_027e1054 _021216f0: .word data_027e0d3c _021216f4: .word data_ov15_02185b5c _021216f8: .word gItemManager -_021216fc: .word data_027e0e60 +_021216fc: .word gMapManager .global func_ov15_02121700 arm_func_start func_ov15_02121700 @@ -2501,7 +2501,7 @@ func_ov15_021217e4: ; 0x021217e4 mov r8, #0 bne _021218b0 ldrb r7, [r9, #0x12] - ldr r0, _02121970 ; =data_027e0e60 + ldr r0, _02121970 ; =gMapManager add r1, r7, #0xa6 ldr r0, [r0] add r9, r1, #0x50000 @@ -2605,7 +2605,7 @@ _02121940: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_021217e4 -_02121970: .word data_027e0e60 +_02121970: .word gMapManager _02121974: .word data_027e0f7c _02121978: .word data_027e0fe4 _0212197c: .word 0x000500aa @@ -3597,7 +3597,7 @@ func_ov15_02122674: ; 0x02122674 ldr r3, [sp, #0xd8] ldr r2, [sp, #0xdc] ldr r1, [sp, #0xe0] - ldr r0, _02122da0 ; =data_027e0e60 + ldr r0, _02122da0 ; =gMapManager str r2, [sp, #0x50] str r3, [sp, #0x4c] str r1, [sp, #0x54] @@ -4047,7 +4047,7 @@ _02122d58: .align 2, 0 arm_func_end func_ov15_02122674 _02122d9c: .word data_027e0f94 -_02122da0: .word data_027e0e60 +_02122da0: .word gMapManager _02122da4: .word data_02050f54 _02122da8: .word data_027e0fe8 _02122dac: .word 0x42554949 @@ -4159,7 +4159,7 @@ _02122edc: cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _021230c8 ; =data_027e0e60 + ldr r0, _021230c8 ; =gMapManager ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 @@ -4260,7 +4260,7 @@ _0212307c: cmp r1, r0 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _021230c8 ; =data_027e0e60 + ldr r0, _021230c8 ; =gMapManager ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 @@ -4276,7 +4276,7 @@ _0212307c: arm_func_end func_ov15_02122e34 _021230c0: .word data_027e10a4 _021230c4: .word data_027e0d3c -_021230c8: .word data_027e0e60 +_021230c8: .word gMapManager _021230cc: .word data_027e0fe4 _021230d0: .word 0x53454b45 _021230d4: .word 0x464c5052 @@ -4459,7 +4459,7 @@ func_ov15_021232b4: ; 0x021232b4 str lr, [sp, #0x64] ldrh lr, [r0, #0x20] mov r3, #0xd - ldr r2, _02123460 ; =data_027e0e60 + ldr r2, _02123460 ; =gMapManager ldr ip, [ip, lr, lsl #2] str r5, [sp, #0x4c] str r5, [sp, #0x50] @@ -4523,7 +4523,7 @@ func_ov15_021232b4: ; 0x021232b4 _02123454: .word data_027e0f94 _02123458: .word 0x0000ffff _0212345c: .word data_ov15_02185b60 -_02123460: .word data_027e0e60 +_02123460: .word gMapManager _02123464: .word data_ov15_02189610 _02123468: .word data_027e0fe4 @@ -6170,7 +6170,7 @@ func_ov15_02124a40: ; 0x02124a40 movs r4, r0 beq _02124b9c ldr r1, [r10, #0x48] - ldr r0, _0212502c ; =data_027e0e60 + ldr r0, _0212502c ; =gMapManager str r1, [r10, #0x54] ldr r2, [r10, #0x4c] add r1, sp, #4 @@ -6561,7 +6561,7 @@ _02124ffc: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02124a40 -_0212502c: .word data_027e0e60 +_0212502c: .word gMapManager _02125030: .word 0x00000733 _02125034: .word data_02050f54 _02125038: .word 0xfffffb33 @@ -6580,7 +6580,7 @@ func_ov15_0212504c: ; 0x0212504c add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02125108 ; =data_027e0e60 + ldr r0, _02125108 ; =gMapManager ldr lr, [sp, #0x14] ldr ip, [sp, #0x18] ldr r3, [sp, #0x1c] @@ -6622,7 +6622,7 @@ func_ov15_0212504c: ; 0x0212504c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0212504c -_02125108: .word data_027e0e60 +_02125108: .word gMapManager _0212510c: .word data_027e0e58 _02125110: .word 0x000009ec _02125114: .word data_027e0ffc @@ -6637,7 +6637,7 @@ func_ov15_02125118: ; 0x02125118 add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _021251d4 ; =data_027e0e60 + ldr r0, _021251d4 ; =gMapManager ldr lr, [sp, #0x14] ldr ip, [sp, #0x18] ldr r3, [sp, #0x1c] @@ -6679,7 +6679,7 @@ func_ov15_02125118: ; 0x02125118 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02125118 -_021251d4: .word data_027e0e60 +_021251d4: .word gMapManager _021251d8: .word 0x00000333 _021251dc: .word data_027e0e58 _021251e0: .word 0x00000666 @@ -7350,7 +7350,7 @@ _02125a88: ; jump table b _02125d4c ; case 7 _02125aa8: ldr r1, [r4, #0x48] - ldr r0, _02125dec ; =data_027e0e60 + ldr r0, _02125dec ; =gMapManager str r1, [sp, #0x14] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -7496,7 +7496,7 @@ _02125ca8: b _02125d68 _02125cd0: ldr r1, [r4, #0x48] - ldr r0, _02125dec ; =data_027e0e60 + ldr r0, _02125dec ; =gMapManager str r1, [sp, #8] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -7573,7 +7573,7 @@ _02125ddc: .word data_ov15_02185bc8 _02125de0: .word data_ov15_02185bc8 _02125de4: .word data_027e0ffc _02125de8: .word 0x000001dd -_02125dec: .word data_027e0e60 +_02125dec: .word gMapManager _02125df0: .word data_02050f54 _02125df4: .word 0x00000e39 _02125df8: .word 0x0000019a @@ -7856,7 +7856,7 @@ func_ov15_0212619c: ; 0x0212619c stmdb sp!, {r4, lr} ldr r1, _021261dc ; =data_ov15_02189990 mov r4, r0 - ldr r0, _021261e0 ; =data_027e0e60 + ldr r0, _021261e0 ; =gMapManager str r1, [r4] ldr r0, [r0] add r1, r4, #0xac @@ -7872,7 +7872,7 @@ func_ov15_0212619c: ; 0x0212619c .align 2, 0 arm_func_end func_ov15_0212619c _021261dc: .word data_ov15_02189990 -_021261e0: .word data_027e0e60 +_021261e0: .word gMapManager .global func_ov15_021261e4 arm_func_start func_ov15_021261e4 @@ -7880,7 +7880,7 @@ func_ov15_021261e4: ; 0x021261e4 stmdb sp!, {r4, lr} ldr r1, _0212622c ; =data_ov15_02189990 mov r4, r0 - ldr r0, _02126230 ; =data_027e0e60 + ldr r0, _02126230 ; =gMapManager str r1, [r4] ldr r0, [r0] add r1, r4, #0xac @@ -7898,7 +7898,7 @@ func_ov15_021261e4: ; 0x021261e4 .align 2, 0 arm_func_end func_ov15_021261e4 _0212622c: .word data_ov15_02189990 -_02126230: .word data_027e0e60 +_02126230: .word gMapManager .global func_ov15_02126234 arm_func_start func_ov15_02126234 @@ -7906,7 +7906,7 @@ func_ov15_02126234: ; 0x02126234 stmdb sp!, {r4, lr} ldr r1, _02126274 ; =data_ov15_02189990 mov r4, r0 - ldr r0, _02126278 ; =data_027e0e60 + ldr r0, _02126278 ; =gMapManager str r1, [r4] ldr r0, [r0] add r1, r4, #0xac @@ -7922,7 +7922,7 @@ func_ov15_02126234: ; 0x02126234 .align 2, 0 arm_func_end func_ov15_02126234 _02126274: .word data_ov15_02189990 -_02126278: .word data_027e0e60 +_02126278: .word gMapManager .global func_ov15_0212627c arm_func_start func_ov15_0212627c @@ -7940,7 +7940,7 @@ func_ov15_0212627c: ; 0x0212627c str r1, [ip, #0xc8] ldr r1, _021262cc ; =0x0000399a str r3, [ip, #0xcc] - ldr r0, _021262d0 ; =data_027e0e60 + ldr r0, _021262d0 ; =gMapManager str r1, [ip, #0xd0] ldr r0, [r0] add r1, ip, #0xac @@ -7950,7 +7950,7 @@ func_ov15_0212627c: ; 0x0212627c .align 2, 0 arm_func_end func_ov15_0212627c _021262cc: .word 0x0000399a -_021262d0: .word data_027e0e60 +_021262d0: .word gMapManager .global func_ov15_021262d4 arm_func_start func_ov15_021262d4 @@ -10308,7 +10308,7 @@ func_ov15_02127d9c: ; 0x02127d9c mov r1, #0x4000 str r0, [r4, #0x70] ldr r2, [sp, #0x2c] - ldr r0, _02127ee8 ; =data_027e0e60 + ldr r0, _02127ee8 ; =gMapManager str r2, [r4, #0x74] ldr r2, [sp, #0x30] str r2, [r4, #0x78] @@ -10373,7 +10373,7 @@ _02127e38: arm_func_end func_ov15_02127d9c _02127ee0: .word data_027e0f68 _02127ee4: .word data_ov15_02185ce8 -_02127ee8: .word data_027e0e60 +_02127ee8: .word gMapManager _02127eec: .word 0xffffd99a _02127ef0: .word 0x00004ccc _02127ef4: .word data_027e0f6c @@ -10560,7 +10560,7 @@ _02128184: mov r3, r2 bl func_ov00_020c75f4 _02128198: - ldr r0, _021281dc ; =data_027e0e60 + ldr r0, _021281dc ; =gMapManager ldrsh r1, [r5, #0x34] ldr r0, [r0] mov r2, #1 @@ -10580,7 +10580,7 @@ _021281cc: .word 0x0000020f _021281d0: .word data_027e1038 _021281d4: .word data_ov15_02185cdc _021281d8: .word data_027e0e58 -_021281dc: .word data_027e0e60 +_021281dc: .word gMapManager .global func_ov15_021281e0 arm_func_start func_ov15_021281e0 @@ -10959,7 +10959,7 @@ func_ov15_02128670: ; 0x02128670 ldr r0, [r6, #0x80] cmp r0, #0x20000 bge _02128888 - ldr r0, _021288b4 ; =data_027e0e60 + ldr r0, _021288b4 ; =gMapManager add r1, r6, #0x18 ldr r0, [r0] ldr r7, [r6, #0x1c] @@ -11097,7 +11097,7 @@ _02128894: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02128670 -_021288b4: .word data_027e0e60 +_021288b4: .word gMapManager _021288b8: .word 0x0000ffff _021288bc: .word 0x04e20000 _021288c0: .word 0x00001b33 @@ -11240,7 +11240,7 @@ _02128a0c: mov r3, #4 bl func_ov00_0207c1b0 _02128ad8: - ldr r0, _02128b84 ; =data_027e0e60 + ldr r0, _02128b84 ; =gMapManager add r1, r4, #0x18 ldr r0, [r0] mov r2, #0 @@ -11287,7 +11287,7 @@ _02128b74: .word 0x43424c53 _02128b78: .word data_027e0ffc _02128b7c: .word 0x0000020e _02128b80: .word data_027e0e58 -_02128b84: .word data_027e0e60 +_02128b84: .word gMapManager _02128b88: .word 0x00001333 .global func_ov15_02128b8c @@ -11827,20 +11827,20 @@ func_ov15_02129254: ; 0x02129254 func_ov15_0212925c: ; 0x0212925c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x74 - ldr r2, _021296c0 ; =data_027e0e60 + ldr r2, _021296c0 ; =gMapManager mov r9, r0 ldr r0, [r2] mov r8, r1 add r1, sp, #0x68 bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p - ldr r0, _021296c0 ; =data_027e0e60 + ldr r0, _021296c0 ; =gMapManager add r1, sp, #0x5c ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p - ldr r0, _021296c0 ; =data_027e0e60 + ldr r0, _021296c0 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083374Ev - ldr r1, _021296c0 ; =data_027e0e60 + ldr r1, _021296c0 ; =gMapManager mov r11, r0 ldr r0, [r1] bl _ZN10MapManager18func_ov00_02083384Ev @@ -12122,7 +12122,7 @@ _021296ac: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0212925c -_021296c0: .word data_027e0e60 +_021296c0: .word gMapManager _021296c4: .word data_027e0ce0 _021296c8: .word data_ov00_020e2f04 _021296cc: .word data_ov00_020e2dd8 @@ -12478,7 +12478,7 @@ func_ov15_02129a6c: ; 0x02129a6c sub sp, sp, #0x1c mov r7, r2 mov r8, r1 - ldr r2, _02129b14 ; =data_027e0e60 + ldr r2, _02129b14 ; =gMapManager mov r9, r0 ldrb r1, [r7, #1] ldr r0, [r2] @@ -12490,7 +12490,7 @@ func_ov15_02129a6c: ; 0x02129a6c mov r1, r7 ldr r2, [r2, #0x60] blx r2 - ldr r1, _02129b14 ; =data_027e0e60 + ldr r1, _02129b14 ; =gMapManager mov r4, r0 ldr r0, [r1] ldrb r1, [r7] @@ -12519,7 +12519,7 @@ _02129b08: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02129a6c -_02129b14: .word data_027e0e60 +_02129b14: .word gMapManager _02129b18: .word data_027e0f68 .global func_ov15_02129b1c @@ -16449,7 +16449,7 @@ _0212cf44: bl func_ov15_0212d008 _0212cf4c: ldr r1, [r4, #0x48] - ldr r0, _0212cfb8 ; =data_027e0e60 + ldr r0, _0212cfb8 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -16477,7 +16477,7 @@ _0212cfa8: .word data_027e0d38 _0212cfac: .word data_027e10a4 _0212cfb0: .word data_027e0f94 _0212cfb4: .word data_027e0fe4 -_0212cfb8: .word data_027e0e60 +_0212cfb8: .word gMapManager _0212cfbc: .word data_ov15_0218a464 _0212cfc0: .word data_ov15_0218a470 @@ -16748,7 +16748,7 @@ _0212d358: sub r0, r0, #1 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _0212d514 ; =data_027e0e60 + ldr r0, _0212d514 ; =gMapManager str r1, [sp, #0x20] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -16803,7 +16803,7 @@ _0212d430: sub r0, r0, #1 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _0212d514 ; =data_027e0e60 + ldr r0, _0212d514 ; =gMapManager str r1, [sp, #0x14] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -16851,7 +16851,7 @@ _0212d494: .align 2, 0 arm_func_end func_ov15_0212d29c _0212d510: .word data_ov15_02185d50 -_0212d514: .word data_027e0e60 +_0212d514: .word gMapManager _0212d518: .word data_ov15_0218a464 _0212d51c: .word data_ov15_0218a470 _0212d520: .word data_027e0fe4 @@ -17575,7 +17575,7 @@ _0212df28: sub r2, r3, #2 mov r5, #0x47 mov r1, #0xff - ldr r0, _0212e06c ; =data_027e0e60 + ldr r0, _0212e06c ; =gMapManager str r2, [sp, #0x38] str r5, [sp, #0x2c] str r3, [sp, #0x30] @@ -17639,7 +17639,7 @@ _0212e05c: .word data_027e0fac _0212e060: .word data_02050f54 _0212e064: .word data_027e0c68 _0212e068: .word 0x00050022 -_0212e06c: .word data_027e0e60 +_0212e06c: .word gMapManager _0212e070: .word data_027e10a4 _0212e074: .word gAdventureFlags @@ -18868,7 +18868,7 @@ _0212f13c: ldr r0, [r4, #0x130] cmp r0, #4 bne _0212f1fc - ldr r0, _0212f25c ; =data_027e0e60 + ldr r0, _0212f25c ; =gMapManager ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -18914,7 +18914,7 @@ _0212f204: arm_func_end func_ov15_0212f0b8 _0212f254: .word data_027e077c _0212f258: .word data_02050f54 -_0212f25c: .word data_027e0e60 +_0212f25c: .word gMapManager _0212f260: .word data_027e0e58 .global func_ov15_0212f264 @@ -18959,7 +18959,7 @@ func_ov15_0212f2c8: ; 0x0212f2c8 mov r0, #2 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _0212f340 ; =data_027e0e60 + ldr r0, _0212f340 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -18985,7 +18985,7 @@ func_ov15_0212f2c8: ; 0x0212f2c8 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0212f2c8 -_0212f340: .word data_027e0e60 +_0212f340: .word gMapManager _0212f344: .word data_ov15_0218a46c _0212f348: .word data_ov15_0218a468 @@ -19234,7 +19234,7 @@ func_ov15_0212f5f0: ; 0x0212f5f0 cmp r1, r4 moveq r1, #0 streq r1, [r0] - ldr r0, _0212f6b8 ; =data_027e0e60 + ldr r0, _0212f6b8 ; =gMapManager add r1, r4, #0x334 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020838d8Ei @@ -19278,7 +19278,7 @@ _0212f65c: arm_func_end func_ov15_0212f5f0 _0212f6b0: .word data_ov15_0218a5b8 _0212f6b4: .word data_027e10a0 -_0212f6b8: .word data_027e0e60 +_0212f6b8: .word gMapManager _0212f6bc: .word data_ov00_020eec68 _0212f6c0: .word data_ov15_02190458 @@ -19294,7 +19294,7 @@ func_ov15_0212f6c4: ; 0x0212f6c4 cmp r1, r4 moveq r1, #0 streq r1, [r0] - ldr r0, _0212f794 ; =data_027e0e60 + ldr r0, _0212f794 ; =gMapManager add r1, r4, #0x334 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020838d8Ei @@ -19340,7 +19340,7 @@ _0212f730: arm_func_end func_ov15_0212f6c4 _0212f78c: .word data_ov15_0218a5b8 _0212f790: .word data_027e10a0 -_0212f794: .word data_027e0e60 +_0212f794: .word gMapManager _0212f798: .word data_ov00_020eec68 _0212f79c: .word data_ov15_02190458 @@ -19508,7 +19508,7 @@ _0212f824: bl _ZN14AdventureFlags3SetEjb mov r1, #4 str r1, [r4, #0x130] - ldr r0, _0212fc24 ; =data_027e0e60 + ldr r0, _0212fc24 ; =gMapManager add r1, r4, #0x334 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020838c8Ei @@ -19653,7 +19653,7 @@ _0212fc14: .word data_027e10a0 _0212fc18: .word 0x00002666 _0212fc1c: .word 0x00006e67 _0212fc20: .word 0x000024cd -_0212fc24: .word data_027e0e60 +_0212fc24: .word gMapManager .global func_ov15_0212fc28 arm_func_start func_ov15_0212fc28 @@ -19695,7 +19695,7 @@ _0212fc6c: str r0, [r4, #0x330] _0212fcb0: ldr r1, [r4, #0x48] - ldr r0, _0212fd18 ; =data_027e0e60 + ldr r0, _0212fd18 ; =gMapManager str r1, [sp, #0x10] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -19722,7 +19722,7 @@ _0212fcb0: _0212fd0c: .word data_027e0fe4 _0212fd10: .word 0x4647474e _0212fd14: .word 0x47534d47 -_0212fd18: .word data_027e0e60 +_0212fd18: .word gMapManager _0212fd1c: .word data_ov15_0218a5a0 _0212fd20: .word data_ov15_0218a5ac @@ -19976,7 +19976,7 @@ _0212fe8c: str r2, [sp, #0x258] strb r11, [sp, #0x1da] bl _ZN14AdventureFlags18func_Ov00_02097810Ei - ldr r1, _02130540 ; =data_027e0e60 + ldr r1, _02130540 ; =gMapManager str r0, [r5, #0x488] ldr r0, [r1] add r1, r5, #0x334 @@ -20011,7 +20011,7 @@ _0213010c: strh r0, [r5, #0x7a] mov r1, #0 strb r1, [r5, #0x490] - ldr r0, _02130540 ; =data_027e0e60 + ldr r0, _02130540 ; =gMapManager add r1, r5, #0x334 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020838c8Ei @@ -20082,7 +20082,7 @@ _02130220: add r1, r5, #0x48 mov r2, r0 bl func_01ff9bc4 - ldr r0, _02130540 ; =data_027e0e60 + ldr r0, _02130540 ; =gMapManager add r1, sp, #0x24 ldr r0, [r0] mov r2, #0 @@ -20122,7 +20122,7 @@ _02130220: add r1, r5, #0x48 mov r2, r0 bl func_01ff9bc4 - ldr r0, _02130540 ; =data_027e0e60 + ldr r0, _02130540 ; =gMapManager add r1, sp, #0x18 ldr r0, [r0] mov r2, #0 @@ -20260,7 +20260,7 @@ _02130530: .word 0x0000ffff _02130534: .word data_027e0f94 _02130538: .word data_027e0f64 _0213053c: .word gAdventureFlags -_02130540: .word data_027e0e60 +_02130540: .word gMapManager _02130544: .word data_027e10a4 _02130548: .word 0xffffc568 _0213054c: .word 0x00001388 @@ -20365,7 +20365,7 @@ _02130694: movne r0, #0 strneb r0, [r4, #0x118] ldmneia sp!, {r4, pc} - ldr r0, _02130780 ; =data_027e0e60 + ldr r0, _02130780 ; =gMapManager ldrh r1, [r4, #0x26] ldr r0, [r0] mov r2, #0 @@ -20423,7 +20423,7 @@ _02130724: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02130558 -_02130780: .word data_027e0e60 +_02130780: .word gMapManager _02130784: .word data_ov15_0218a5a0 _02130788: .word data_ov15_0218a5ac _0213078c: .word data_ov15_02185e40 @@ -21602,7 +21602,7 @@ _021317fc: bl func_ov00_020c66e4 b _021318fc _02131840: - ldr r0, _02131930 ; =data_027e0e60 + ldr r0, _02131930 ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 @@ -21667,7 +21667,7 @@ _02131920: .word gAdventureFlags _02131924: .word data_027e0e2c _02131928: .word func_ov15_0212f3cc _0213192c: .word 0x00050021 -_02131930: .word data_027e0e60 +_02131930: .word gMapManager _02131934: .word 0x00000171 .global func_ov15_02131938 @@ -21903,7 +21903,7 @@ _02131c70: ldr ip, [ip, #0x34] add r1, r4, #0x14 blx ip - ldr r0, _02131f08 ; =data_027e0e60 + ldr r0, _02131f08 ; =gMapManager add r1, r4, #0x334 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020838d8Ei @@ -22066,7 +22066,7 @@ _02131ef8: .word 0x000002e2 _02131efc: .word data_02050f54 _02131f00: .word data_027e0f90 _02131f04: .word data_027e0fac -_02131f08: .word data_027e0e60 +_02131f08: .word gMapManager .global func_ov15_02131f0c arm_func_start func_ov15_02131f0c @@ -22346,7 +22346,7 @@ _021322e8: cmp r0, #0x1000 ldrltb r0, [r4, #0x490] ldr r2, _021325e4 ; =data_02050f54 - ldr r1, _021325e8 ; =data_027e0e60 + ldr r1, _021325e8 ; =gMapManager addlt r0, r0, #1 strltb r0, [r4, #0x490] ldr r0, _021325ec ; =data_027e0fac @@ -22446,7 +22446,7 @@ _0213246c: strh r1, [sp] ldrsh r1, [r4, #0x78] bl func_0202b154 - ldr r0, _021325e8 ; =data_027e0e60 + ldr r0, _021325e8 ; =gMapManager ldr r1, [sp, #0x80] ldrsh r7, [sp] orr r6, r1, #2 @@ -22486,7 +22486,7 @@ _02132504: sub r2, r3, #2 mov r5, #0x47 mov r1, #0xff - ldr r0, _021325e8 ; =data_027e0e60 + ldr r0, _021325e8 ; =gMapManager str r2, [sp, #0x58] str r5, [sp, #0x4c] str r3, [sp, #0x50] @@ -22538,7 +22538,7 @@ _021325d8: .word data_027e0f94 _021325dc: .word data_027e0c68 _021325e0: .word 0x00050082 _021325e4: .word data_02050f54 -_021325e8: .word data_027e0e60 +_021325e8: .word gMapManager _021325ec: .word data_027e0fac _021325f0: .word data_027e10a4 @@ -22673,7 +22673,7 @@ func_ov15_0213278c: ; 0x0213278c sub r0, r0, #4 cmp r0, #1 bhi _021327d0 - ldr r0, _021327d8 ; =data_027e0e60 + ldr r0, _021327d8 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 @@ -22689,7 +22689,7 @@ _021327d0: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213278c -_021327d8: .word data_027e0e60 +_021327d8: .word gMapManager .global func_ov15_021327dc arm_func_start func_ov15_021327dc @@ -23502,7 +23502,7 @@ _021332ac: ldr r0, [r7, #0x360] cmp r0, #0 beq _02133338 - ldr r0, _02133c9c ; =data_027e0e60 + ldr r0, _02133c9c ; =gMapManager ldrh r1, [r7, #0x22] ldr r0, [r0] mov r2, #0 @@ -24172,7 +24172,7 @@ _02133c6c: ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0213321c -_02133c9c: .word data_027e0e60 +_02133c9c: .word gMapManager _02133ca0: .word data_ov15_02185e74 _02133ca4: .word data_ov15_02185e70 _02133ca8: .word data_ov15_02185e6c @@ -25498,7 +25498,7 @@ _02134e00: ldmia sp!, {r3, r4, pc} _02134e14: ldr r1, [r4, #0x48] - ldr r0, _02135108 ; =data_027e0e60 + ldr r0, _02135108 ; =gMapManager str r1, [sp, #0x14] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -25527,7 +25527,7 @@ _02134e6c: add r3, sp, #0x20 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02135108 ; =data_027e0e60 + ldr r0, _02135108 ; =gMapManager ldr lr, [sp, #0x20] ldr ip, [sp, #0x24] ldr r3, [sp, #0x28] @@ -25698,7 +25698,7 @@ _021350e8: .align 2, 0 arm_func_end func_ov15_02134d6c _02135104: .word data_ov15_02185ea0 -_02135108: .word data_027e0e60 +_02135108: .word gMapManager _0213510c: .word data_027e0e58 _02135110: .word 0x00000829 _02135114: .word 0x00000ae1 @@ -26921,7 +26921,7 @@ func_ov15_021360e4: ; 0x021360e4 b _0213618c _02136168: ldr r2, _021363dc ; =data_027e0d78 - ldr r0, _021363e0 ; =data_027e0e60 + ldr r0, _021363e0 ; =gMapManager ldr r1, [r2, #0x24] ldr r0, [r0] ldr r2, [r2, #0x28] @@ -27085,7 +27085,7 @@ _021363cc: arm_func_end func_ov15_021360e4 _021363d8: .word data_027e0fe4 _021363dc: .word data_027e0d78 -_021363e0: .word data_027e0e60 +_021363e0: .word gMapManager _021363e4: .word data_027e0f94 _021363e8: .word data_027e10a4 _021363ec: .word data_02050f54 @@ -28127,7 +28127,7 @@ func_ov15_02137138: ; 0x02137138 bl func_ov00_020b7e6c _02137164: ldr r1, _0213725c ; =data_027e0f94 - ldr r0, _02137260 ; =data_027e0e60 + ldr r0, _02137260 ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #8] @@ -28191,7 +28191,7 @@ _02137164: arm_func_end func_ov15_02137138 _02137258: .word data_027e0fa0 _0213725c: .word data_027e0f94 -_02137260: .word data_027e0e60 +_02137260: .word gMapManager _02137264: .word 0x000004cd _02137268: .word data_027e0e58 _0213726c: .word data_027e0ffc @@ -29249,7 +29249,7 @@ _02138150: cmp r0, #0x28 blt _02138224 ldr r3, _021382e8 ; =data_027e0f94 - ldr r0, _021382f4 ; =data_027e0e60 + ldr r0, _021382f4 ; =gMapManager ldr r2, [r3] ldr r1, [r3, #4] str r2, [sp, #0x1c] @@ -29357,7 +29357,7 @@ _021382e4: .word 0xfffff8a4 _021382e8: .word data_027e0f94 _021382ec: .word data_027e0e58 _021382f0: .word 0x0000019a -_021382f4: .word data_027e0e60 +_021382f4: .word gMapManager _021382f8: .word data_027e0fb8 _021382fc: .word data_ov00_020eec9c _02138300: .word 0xfffffa66 @@ -29449,7 +29449,7 @@ func_ov15_02138408: ; 0x02138408 cmp r0, #1 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _0213846c ; =data_027e0e60 + ldr r0, _0213846c ; =gMapManager mov r2, #0 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_68Ev @@ -29470,7 +29470,7 @@ func_ov15_02138408: ; 0x02138408 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02138408 -_0213846c: .word data_027e0e60 +_0213846c: .word gMapManager _02138470: .word 0xfffffccd _02138474: .word 0x00000ccc @@ -29596,7 +29596,7 @@ func_ov15_02138478: ; 0x02138478 cmp r0, #0 bne _021386b0 ldr r1, _02138bb8 ; =data_027e0f94 - ldr r0, _02138bbc ; =data_027e0e60 + ldr r0, _02138bbc ; =gMapManager ldr r2, [r1, #4] ldr r3, [r1] str r2, [sp, #4] @@ -29957,7 +29957,7 @@ _02138bac: .word data_027e0fb0 _02138bb0: .word data_02050f54 _02138bb4: .word data_027e0fac _02138bb8: .word data_027e0f94 -_02138bbc: .word data_027e0e60 +_02138bbc: .word gMapManager _02138bc0: .word 0xffffc71c _02138bc4: .word 0x000004cd @@ -30050,7 +30050,7 @@ _02138c30: mov r0, #0xcd str r0, [sp, #8] ldr r1, _02138fac ; =data_ov15_0218eec0 - ldr r0, _02138fb0 ; =data_027e0e60 + ldr r0, _02138fb0 ; =gMapManager str r1, [sp, #0xc] str r2, [sp, #0x10] ldr r0, [r0] @@ -30222,7 +30222,7 @@ _02138fa0: .word data_027e0fa0 _02138fa4: .word data_027e0ff8 _02138fa8: .word 0x0000ffff _02138fac: .word data_ov15_0218eec0 -_02138fb0: .word data_027e0e60 +_02138fb0: .word gMapManager _02138fb4: .word data_027e0fac _02138fb8: .word data_02050f54 _02138fbc: .word data_027e0f6c @@ -30319,7 +30319,7 @@ _02139100: add r0, sp, #0 bl func_ov15_02139164 ldr r1, [sp] - ldr r0, _02139160 ; =data_027e0e60 + ldr r0, _02139160 ; =gMapManager mov r1, r1, lsr #0x10 ldr r0, [r0] and r1, r1, #0x3f @@ -30342,7 +30342,7 @@ _02139144: _02139154: .word data_ov15_0218eec0 _02139158: .word data_027e0d38 _0213915c: .word data_027e0e2c -_02139160: .word data_027e0e60 +_02139160: .word gMapManager .global func_ov15_02139164 arm_func_start func_ov15_02139164 @@ -32183,7 +32183,7 @@ _0213aa30: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r5, #0x48] - ldr r0, _0213abac ; =data_027e0e60 + ldr r0, _0213abac ; =gMapManager str r1, [sp, #8] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -32280,7 +32280,7 @@ _0213ab94: .align 2, 0 arm_func_end func_ov15_0213a9c8 _0213aba8: .word 0xffffe668 -_0213abac: .word data_027e0e60 +_0213abac: .word gMapManager _0213abb0: .word 0x0000051f _0213abb4: .word data_027e0e58 _0213abb8: .word data_027e0ffc @@ -32298,7 +32298,7 @@ func_ov15_0213abc4: ; 0x0213abc4 subne r0, r0, #1 strne r0, [r5, #0x178] ldr r1, [r5, #0x48] - ldr r0, _0213b120 ; =data_027e0e60 + ldr r0, _0213b120 ; =gMapManager str r1, [sp, #0x9c] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -32618,7 +32618,7 @@ _0213b05c: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r5, #0x48] - ldr r0, _0213b120 ; =data_027e0e60 + ldr r0, _0213b120 ; =gMapManager str r1, [sp, #0x10] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -32653,7 +32653,7 @@ _0213b0f8: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0213abc4 -_0213b120: .word data_027e0e60 +_0213b120: .word gMapManager _0213b124: .word data_027e0c68 _0213b128: .word 0xffffe668 _0213b12c: .word data_ov00_020e83cc @@ -36692,7 +36692,7 @@ func_ov15_0213e754: ; 0x0213e754 stmdb sp!, {r4, lr} ldr r1, _0213e7d4 ; =data_ov15_0218aeb0 mov r4, r0 - ldr r0, _0213e7d8 ; =data_027e0e60 + ldr r0, _0213e7d8 ; =gMapManager str r1, [r4] ldr r0, [r0] add r1, r4, #0x31c @@ -36724,7 +36724,7 @@ func_ov15_0213e754: ; 0x0213e754 .align 2, 0 arm_func_end func_ov15_0213e754 _0213e7d4: .word data_ov15_0218aeb0 -_0213e7d8: .word data_027e0e60 +_0213e7d8: .word gMapManager _0213e7dc: .word data_027e103c _0213e7e0: .word func_ov00_020b7d74 @@ -36734,7 +36734,7 @@ func_ov15_0213e7e4: ; 0x0213e7e4 stmdb sp!, {r4, lr} ldr r1, _0213e86c ; =data_ov15_0218aeb0 mov r4, r0 - ldr r0, _0213e870 ; =data_027e0e60 + ldr r0, _0213e870 ; =gMapManager str r1, [r4] ldr r0, [r0] add r1, r4, #0x31c @@ -36768,7 +36768,7 @@ func_ov15_0213e7e4: ; 0x0213e7e4 .align 2, 0 arm_func_end func_ov15_0213e7e4 _0213e86c: .word data_ov15_0218aeb0 -_0213e870: .word data_027e0e60 +_0213e870: .word gMapManager _0213e874: .word data_027e103c _0213e878: .word func_ov00_020b7d74 @@ -37292,7 +37292,7 @@ _0213f03c: add r0, r4, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0213f4b8 ; =data_027e0e60 + ldr r0, _0213f4b8 ; =gMapManager ldr r6, [sp, #0x84] ldr r5, [sp, #0x88] ldr r3, [sp, #0x8c] @@ -37332,7 +37332,7 @@ _0213f03c: str r0, [r4, #0x33c] mov r0, #0x14000 str r0, [r4, #0x340] - ldr r0, _0213f4b8 ; =data_027e0e60 + ldr r0, _0213f4b8 ; =gMapManager add r1, r4, #0x31c ldr r0, [r0] bl _ZN10MapManager18func_ov00_020838c8Ei @@ -37360,7 +37360,7 @@ _0213f110: _0213f154: ldr r1, [r4, #0x1b8] mov r2, #1 - ldr r0, _0213f4b8 ; =data_027e0e60 + ldr r0, _0213f4b8 ; =gMapManager strh r2, [r1, #0xc] ldr r0, [r0] add r1, r4, #0x31c @@ -37585,7 +37585,7 @@ _0213f4a8: .word data_027e0f64 _0213f4ac: .word 0x00001388 _0213f4b0: .word gAdventureFlags _0213f4b4: .word data_027e0f94 -_0213f4b8: .word data_027e0e60 +_0213f4b8: .word gMapManager _0213f4bc: .word data_027e0e58 _0213f4c0: .word data_ov15_02190458 _0213f4c4: .word data_ov00_020eec68 @@ -37614,7 +37614,7 @@ func_ov15_0213f4d4: ; 0x0213f4d4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r4, #0x48] - ldr r0, _0213f574 ; =data_027e0e60 + ldr r0, _0213f574 ; =gMapManager str r1, [sp, #4] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -37638,7 +37638,7 @@ func_ov15_0213f4d4: ; 0x0213f4d4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0213f4d4 -_0213f574: .word data_027e0e60 +_0213f574: .word gMapManager .global func_ov15_0213f578 arm_func_start func_ov15_0213f578 @@ -37762,7 +37762,7 @@ _0213f684: add r3, sp, #0x38 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0213f7bc ; =data_027e0e60 + ldr r0, _0213f7bc ; =gMapManager ldr ip, [sp, #0x38] ldr r4, [sp, #0x3c] ldr r3, [sp, #0x40] @@ -37799,7 +37799,7 @@ _0213f7ac: .word data_027e0fe4 _0213f7b0: .word data_ov15_02185fcc _0213f7b4: .word data_ov15_0218ae88 _0213f7b8: .word data_027e0ff8 -_0213f7bc: .word data_027e0e60 +_0213f7bc: .word gMapManager _0213f7c0: .word data_027e0ffc _0213f7c4: .word 0x00000216 _0213f7c8: .word data_027e10a4 @@ -37861,7 +37861,7 @@ func_ov15_0213f80c: ; 0x0213f80c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [sp, #0x94] - ldr r0, _0213fb7c ; =data_027e0e60 + ldr r0, _0213fb7c ; =gMapManager ldr r1, [sp, #0x98] str r2, [sp, #0x88] ldr r2, [sp, #0x9c] @@ -37910,7 +37910,7 @@ _0213f91c: ldr r4, [sp, #0x74] ldr ip, [sp, #0x70] ldr r3, [sp, #0x78] - ldr r0, _0213fb7c ; =data_027e0e60 + ldr r0, _0213fb7c ; =gMapManager add r1, sp, #0x64 ldr r0, [r0] mov r2, #0 @@ -38056,7 +38056,7 @@ _0213facc: .align 2, 0 arm_func_end func_ov15_0213f80c _0213fb78: .word data_027e0f94 -_0213fb7c: .word data_027e0e60 +_0213fb7c: .word gMapManager _0213fb80: .word data_027e0fac _0213fb84: .word data_027e10a4 _0213fb88: .word 0x00000d9a @@ -38701,7 +38701,7 @@ func_ov15_02140424: ; 0x02140424 cmp r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _02140588 ; =data_027e0e60 + ldr r0, _02140588 ; =gMapManager add r1, r4, #0x31c ldr r0, [r0] bl _ZN10MapManager18func_ov00_020838d8Ei @@ -38772,7 +38772,7 @@ _02140540: .align 2, 0 arm_func_end func_ov15_02140424 _02140584: .word data_ov00_020e83cc -_02140588: .word data_027e0e60 +_02140588: .word gMapManager _0214058c: .word data_027e103c _02140590: .word data_027e10a4 _02140594: .word data_027e0ffc @@ -41768,7 +41768,7 @@ func_ov15_02142ba0: ; 0x02142ba0 ldrb r0, [r4, #0x353] cmp r0, #0 bne _02142c38 - ldr r0, _02142c5c ; =data_027e0e60 + ldr r0, _02142c5c ; =gMapManager mov lr, #0 ldr r0, [r0] sub ip, lr, #2 @@ -41810,7 +41810,7 @@ _02142c44: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02142ba0 -_02142c5c: .word data_027e0e60 +_02142c5c: .word gMapManager _02142c60: .word data_027e0d38 _02142c64: .word data_027e1094 @@ -42455,7 +42455,7 @@ _0214352c: ldr r0, [r5, #0x324] cmp r0, #1 bne _02143578 - ldr r0, _021436c0 ; =data_027e0e60 + ldr r0, _021436c0 ; =gMapManager add r2, sp, #0 ldr r0, [r0] add r1, r5, #0x294 @@ -42559,7 +42559,7 @@ _021436a4: .align 2, 0 arm_func_end func_ov15_02143408 _021436bc: .word 0x00001ccc -_021436c0: .word data_027e0e60 +_021436c0: .word gMapManager .global func_ov15_021436c4 arm_func_start func_ov15_021436c4 @@ -43543,7 +43543,7 @@ _0214449c: cmp r0, #0 addne sp, sp, #0xc8 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _02144540 ; =data_027e0e60 + ldr r0, _02144540 ; =gMapManager mov lr, #0 ldr r0, [r0] sub ip, lr, #2 @@ -43583,7 +43583,7 @@ _02144530: .word gAdventureFlags _02144534: .word data_ov15_0218613c _02144538: .word data_ov15_02186130 _0214453c: .word data_027e0ffc -_02144540: .word data_027e0e60 +_02144540: .word gMapManager _02144544: .word data_027e0d38 .global func_ov15_02144548 @@ -43709,7 +43709,7 @@ _021446d8: addne sp, sp, #0xc8 str r0, [r4, #0x378] ldmneia sp!, {r4, pc} - ldr r0, _0214476c ; =data_027e0e60 + ldr r0, _0214476c ; =gMapManager mov ip, #0 ldr r0, [r0] sub r4, ip, #2 @@ -43741,7 +43741,7 @@ _0214475c: .word gAdventureFlags _02144760: .word data_027e0fa0 _02144764: .word data_027e0ffc _02144768: .word 0x000003ea -_0214476c: .word data_027e0e60 +_0214476c: .word gMapManager _02144770: .word data_027e0d38 .global func_ov15_02144774 @@ -44103,7 +44103,7 @@ _02144a40: mov r2, r0 bl func_01ff9bc4 ldr r1, [r9, #0x294] - ldr r0, _021457e0 ; =data_027e0e60 + ldr r0, _021457e0 ; =gMapManager str r1, [r9, #0x4b8] ldr r2, [r9, #0x298] add r1, r9, #0x2a0 @@ -44129,7 +44129,7 @@ _02144d14: add r3, sp, #0xd8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _021457e0 ; =data_027e0e60 + ldr r0, _021457e0 ; =gMapManager ldr r5, [sp, #0xd8] ldr r4, [sp, #0xdc] ldr r3, [sp, #0xe0] @@ -44851,7 +44851,7 @@ _021457d0: .word gAdventureFlags _021457d4: .word data_027e0f94 _021457d8: .word data_027e0fac _021457dc: .word 0xfffffccd -_021457e0: .word data_027e0e60 +_021457e0: .word gMapManager _021457e4: .word 0xfffffe66 _021457e8: .word data_027e0ffc _021457ec: .word 0x000003e2 @@ -45934,14 +45934,14 @@ _02146558: .word data_ov15_0218f42e arm_func_start func_ov15_0214655c func_ov15_0214655c: ; 0x0214655c stmdb sp!, {r3, lr} - ldr r0, _02146574 ; =data_027e0e60 + ldr r0, _02146574 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082424Ev rsb r0, r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0214655c -_02146574: .word data_027e0e60 +_02146574: .word gMapManager .global func_ov15_02146578 arm_func_start func_ov15_02146578 @@ -46279,7 +46279,7 @@ _02146958: mov r0, r4 bl func_ov15_021469f8 _02146960: - ldr r0, _021469ec ; =data_027e0e60 + ldr r0, _021469ec ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082424Ev ldr r1, [r4, #0x4c] @@ -46287,7 +46287,7 @@ _02146960: cmp r0, #0x2000 addgt sp, sp, #0x18 ldmgtia sp!, {r4, pc} - ldr r0, _021469ec ; =data_027e0e60 + ldr r0, _021469ec ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082424Ev ldr r1, [r4, #0x4c] @@ -46316,7 +46316,7 @@ _02146960: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021468f8 -_021469ec: .word data_027e0e60 +_021469ec: .word gMapManager _021469f0: .word 0x00000333 _021469f4: .word data_ov00_020e9370 @@ -48430,7 +48430,7 @@ func_ov15_021486a0: ; 0x021486a0 movlt r0, #0x400 str r0, [r5, #0x40c] ldr r1, [r5, #0x48] - ldr r0, _02148ac0 ; =data_027e0e60 + ldr r0, _02148ac0 ; =gMapManager str r1, [sp, #0x34] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -48685,7 +48685,7 @@ _02148aa8: .align 2, 0 arm_func_end func_ov15_021486a0 _02148abc: .word data_027e10a4 -_02148ac0: .word data_027e0e60 +_02148ac0: .word gMapManager _02148ac4: .word 0x00000aab _02148ac8: .word data_02050f54 _02148acc: .word data_ov15_0218b59c @@ -54825,7 +54825,7 @@ _0214db1c: mov r6, #4 str r1, [sp, #0x30] ldr r1, [r5, #0x48] - ldr ip, _0214dc04 ; =data_027e0e60 + ldr ip, _0214dc04 ; =gMapManager str r1, [sp, #0x1c] ldr r2, [r5, #0x4c] add r1, sp, #0x34 @@ -54855,7 +54855,7 @@ _0214dbf4: .word data_ov15_0218f65c _0214dbf8: .word func_ov15_0214dc08 _0214dbfc: .word data_ov15_0218f650 _0214dc00: .word 0x0000ffff -_0214dc04: .word data_027e0e60 +_0214dc04: .word gMapManager .global func_ov15_0214dc08 arm_func_start func_ov15_0214dc08 @@ -55882,7 +55882,7 @@ _0214eab8: .word data_027e0ff8 arm_func_start func_ov15_0214eabc func_ov15_0214eabc: ; 0x0214eabc stmdb sp!, {r3, r4, r5, lr} - ldr r2, _0214eb14 ; =data_027e0e60 + ldr r2, _0214eb14 ; =gMapManager mov r5, r0 ldr r0, [r2] mov r4, r1 @@ -55905,7 +55905,7 @@ func_ov15_0214eabc: ; 0x0214eabc ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214eabc -_0214eb14: .word data_027e0e60 +_0214eb14: .word gMapManager .global func_ov15_0214eb18 arm_func_start func_ov15_0214eb18 @@ -57644,7 +57644,7 @@ _02150234: add r1, r2, r1 str r1, [r10, #0x1a0] ldr r1, [r0] - ldr r0, _02150858 ; =data_027e0e60 + ldr r0, _02150858 ; =gMapManager ldrb r6, [r1, #0x28] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d40Ev @@ -57731,7 +57731,7 @@ _02150460: add r3, sp, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02150858 ; =data_027e0e60 + ldr r0, _02150858 ; =gMapManager add r1, sp, #0x30 ldr r0, [r0] bl _ZN10MapManager18func_ov00_0208346cEP4AABB @@ -58001,7 +58001,7 @@ _02150848: .word data_027e0dbc _0215084c: .word data_027e0dcc _02150850: .word data_027e0fe4 _02150854: .word 0x00000999 -_02150858: .word data_027e0e60 +_02150858: .word gMapManager _0215085c: .word data_027e0ff0 _02150860: .word data_ov15_02186394 _02150864: .word data_ov15_0218bef4 @@ -58022,7 +58022,7 @@ func_ov15_02150874: ; 0x02150874 mov r0, r4 bl func_ov15_02151174 ldr r1, [r4, #0x48] - ldr r0, _021508f4 ; =data_027e0e60 + ldr r0, _021508f4 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -58046,7 +58046,7 @@ func_ov15_02150874: ; 0x02150874 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02150874 -_021508f4: .word data_027e0e60 +_021508f4: .word gMapManager _021508f8: .word data_ov15_0218bef4 _021508fc: .word data_ov15_0218bef8 @@ -58607,7 +58607,7 @@ func_ov15_021510c0: ; 0x021510c0 sub r0, r0, #1 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _02151164 ; =data_027e0e60 + ldr r0, _02151164 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -58637,7 +58637,7 @@ _0215112c: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021510c0 -_02151164: .word data_027e0e60 +_02151164: .word gMapManager _02151168: .word data_ov15_0218bef4 _0215116c: .word data_ov15_0218bef8 _02151170: .word data_ov15_021863a4 @@ -59018,7 +59018,7 @@ func_ov15_02151680: ; 0x02151680 mov r0, #2 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _021516f8 ; =data_027e0e60 + ldr r0, _021516f8 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -59044,7 +59044,7 @@ func_ov15_02151680: ; 0x02151680 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02151680 -_021516f8: .word data_027e0e60 +_021516f8: .word gMapManager _021516fc: .word data_ov15_0218bf00 _02151700: .word data_ov15_0218befc @@ -59519,7 +59519,7 @@ _02151cf8: .word data_ov15_0218bff8 func_ov15_02151cfc: ; 0x02151cfc stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _02151d7c ; =data_027e0e60 + ldr r0, _02151d7c ; =gMapManager ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 @@ -59533,7 +59533,7 @@ func_ov15_02151cfc: ; 0x02151cfc ldreqb r0, [r1, #0x4d5] cmpeq r0, #0 bne _02151d68 - ldr r0, _02151d7c ; =data_027e0e60 + ldr r0, _02151d7c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 @@ -59552,7 +59552,7 @@ _02151d68: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02151cfc -_02151d7c: .word data_027e0e60 +_02151d7c: .word gMapManager _02151d80: .word data_027e10a4 .global func_ov15_02151d84 @@ -59673,7 +59673,7 @@ _02151ef4: .word data_ov15_0218bff8 func_ov15_02151ef8: ; 0x02151ef8 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _02151f60 ; =data_027e0e60 + ldr r0, _02151f60 ; =gMapManager ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 @@ -59687,7 +59687,7 @@ func_ov15_02151ef8: ; 0x02151ef8 ldreqb r0, [r1, #0x4d5] cmpeq r0, #0 bne _02151f4c - ldr r0, _02151f60 ; =data_027e0e60 + ldr r0, _02151f60 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 @@ -59700,7 +59700,7 @@ _02151f4c: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02151ef8 -_02151f60: .word data_027e0e60 +_02151f60: .word gMapManager _02151f64: .word data_027e10a4 .global func_ov15_02151f68 @@ -60242,7 +60242,7 @@ _02152590: strh r2, [r1, #0x4c] bl func_ov00_0209a508 _021525f4: - ldr r0, _02152688 ; =data_027e0e60 + ldr r0, _02152688 ; =gMapManager mov lr, #0 ldr r0, [r0] sub ip, lr, #2 @@ -60282,7 +60282,7 @@ _0215265c: .align 2, 0 arm_func_end func_ov15_02152560 _02152684: .word gAdventureFlags -_02152688: .word data_027e0e60 +_02152688: .word gMapManager _0215268c: .word data_027e0d38 _02152690: .word data_027e0fa0 @@ -60849,7 +60849,7 @@ _02152e6c: strlt r0, [r5, #0x3ac] ldr r2, [r5, #0x3a0] ldr r1, [r5, #0x3ac] - ldr r0, _02153488 ; =data_027e0e60 + ldr r0, _02153488 ; =gMapManager add r1, r2, r1 str r1, [r5, #0x3a0] ldr r0, [r0] @@ -60864,7 +60864,7 @@ _02152e6c: add r3, sp, #0xd8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02153488 ; =data_027e0e60 + ldr r0, _02153488 ; =gMapManager ldr r7, [sp, #0xd8] ldr r6, [sp, #0xdc] ldr r3, [sp, #0xe0] @@ -60995,7 +60995,7 @@ _021530c4: ldrb r0, [r5, #0x436] cmp r0, #4 bne _021531b0 - ldr r0, _02153488 ; =data_027e0e60 + ldr r0, _02153488 ; =gMapManager add r1, r5, #0x39c ldr r0, [r0] mov r2, #0 @@ -61247,7 +61247,7 @@ _02153478: .word data_02050f54 _0215347c: .word 0xfffffd9a _02153480: .word 0x000004aa _02153484: .word data_027e0ffc -_02153488: .word data_027e0e60 +_02153488: .word gMapManager _0215348c: .word 0x00000266 _02153490: .word data_027e0e58 _02153494: .word 0x00001002 @@ -61848,7 +61848,7 @@ _02153ce0: strneb r0, [r5, #0x436] b _02153d74 _02153d0c: - ldr r0, _02153f78 ; =data_027e0e60 + ldr r0, _02153f78 ; =gMapManager mov r7, #0 ldr r0, [r0] sub r6, r7, #2 @@ -62006,7 +62006,7 @@ _02153f68: .word 0x000006f6 _02153f6c: .word 0xffffdf2b _02153f70: .word 0x000004cd _02153f74: .word 0xfffff8e1 -_02153f78: .word data_027e0e60 +_02153f78: .word gMapManager _02153f7c: .word data_027e0d38 _02153f80: .word data_027e0fac _02153f84: .word data_02050f54 @@ -62029,7 +62029,7 @@ func_ov15_02153f94: ; 0x02153f94 mov r0, r5 bl func_ov15_02175ba8 ldr r1, _0215417c ; =data_027e0f94 - ldr r0, _02154180 ; =data_027e0e60 + ldr r0, _02154180 ; =gMapManager ldr r2, [r1, #4] ldr r3, [r1] str r2, [sp, #0x10] @@ -62142,7 +62142,7 @@ func_ov15_02153f94: ; 0x02153f94 arm_func_end func_ov15_02153f94 _02154178: .word data_027e0fe4 _0215417c: .word data_027e0f94 -_02154180: .word data_027e0e60 +_02154180: .word gMapManager _02154184: .word 0x000003d7 _02154188: .word data_027e0fac _0215418c: .word data_ov15_021863bc @@ -62223,7 +62223,7 @@ _02154280: ldr r0, [r0, #0x44] cmp r0, #0 beq _02154304 - ldr r0, _02154320 ; =data_027e0e60 + ldr r0, _02154320 ; =gMapManager mov lr, #0 ldr r0, [r0] sub ip, lr, #2 @@ -62259,7 +62259,7 @@ _02154304: _02154314: .word data_027e0fe4 _02154318: .word data_027e1060 _0215431c: .word data_027e0c68 -_02154320: .word data_027e0e60 +_02154320: .word gMapManager _02154324: .word data_027e0d38 .global func_ov15_02154328 @@ -62332,7 +62332,7 @@ _02154404: ldr r0, [r5, #0x3e4] cmp r0, #0 bne _02154490 - ldr r0, _02154624 ; =data_027e0e60 + ldr r0, _02154624 ; =gMapManager mov ip, #0 ldr r0, [r0] sub r4, ip, #2 @@ -62431,7 +62431,7 @@ _02154490: ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} ldr r2, [sp, #0x28] - ldr r3, _02154624 ; =data_027e0e60 + ldr r3, _02154624 ; =gMapManager ldr r1, [sp, #0x2c] str r2, [sp, #4] ldr r2, [sp, #0x30] @@ -62463,7 +62463,7 @@ _0215460c: arm_func_end func_ov15_02154328 _0215461c: .word data_027e0fe4 _02154620: .word data_ov00_020eec68 -_02154624: .word data_027e0e60 +_02154624: .word gMapManager _02154628: .word data_027e0d38 _0215462c: .word data_02050f54 @@ -62480,7 +62480,7 @@ func_ov15_02154630: ; 0x02154630 beq _021546d0 b _021546e8 _02154654: - ldr r0, _021546f8 ; =data_027e0e60 + ldr r0, _021546f8 ; =gMapManager mov lr, #0 ldr r0, [r0] sub ip, lr, #2 @@ -62525,7 +62525,7 @@ _021546e8: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02154630 -_021546f8: .word data_027e0e60 +_021546f8: .word gMapManager _021546fc: .word data_027e0d38 _02154700: .word data_ov00_020eec9c @@ -64338,7 +64338,7 @@ _02156084: add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02156194 ; =data_027e0e60 + ldr r0, _02156194 ; =gMapManager ldr ip, [sp, #0xc] ldr r4, [sp, #0x10] ldr r3, [sp, #0x14] @@ -64394,7 +64394,7 @@ _02156184: .word 0x00000171 _02156188: .word data_ov15_0218c0e4 _0215618c: .word data_ov15_0218c0f0 _02156190: .word data_027e0f94 -_02156194: .word data_027e0e60 +_02156194: .word gMapManager _02156198: .word 0x00000333 .global func_ov15_0215619c @@ -65041,7 +65041,7 @@ func_ov15_02156970: ; 0x02156970 mov r4, r1 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02156a2c ; =data_027e0e60 + ldr r0, _02156a2c ; =gMapManager ldr lr, [sp, #0x14] ldr ip, [sp, #0x18] ldr r3, [sp, #0x1c] @@ -65083,7 +65083,7 @@ func_ov15_02156970: ; 0x02156970 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02156970 -_02156a2c: .word data_027e0e60 +_02156a2c: .word gMapManager _02156a30: .word 0x00000333 _02156a34: .word data_027e0e58 _02156a38: .word 0x00000666 @@ -65099,7 +65099,7 @@ func_ov15_02156a44: ; 0x02156a44 add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02156af0 ; =data_027e0e60 + ldr r0, _02156af0 ; =gMapManager ldr lr, [sp, #0x14] ldr ip, [sp, #0x18] ldr r3, [sp, #0x1c] @@ -65138,7 +65138,7 @@ func_ov15_02156a44: ; 0x02156a44 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02156a44 -_02156af0: .word data_027e0e60 +_02156af0: .word gMapManager _02156af4: .word data_027e0e58 _02156af8: .word 0x000009ec _02156afc: .word data_027e0ffc @@ -66208,7 +66208,7 @@ func_ov15_021578e0: ; 0x021578e0 str r2, [r8] ldrh r1, [r1, #0x10] add r8, sp, #0x38 - ldr r6, _02157c30 ; =data_027e0e60 + ldr r6, _02157c30 ; =gMapManager mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 ldrsh r1, [r5, r1] @@ -66352,7 +66352,7 @@ _02157c20: .word data_ov15_0218c1d8 _02157c24: .word data_ov15_0218c1e4 _02157c28: .word data_027e0f94 _02157c2c: .word data_02050f54 -_02157c30: .word data_027e0e60 +_02157c30: .word gMapManager _02157c34: .word 0x000004cd _02157c38: .word data_027e0fe4 _02157c3c: .word 0x00001333 @@ -66577,7 +66577,7 @@ _02157ed8: cmp r0, #0 addne sp, sp, #0x5c ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _021583a8 ; =data_027e0e60 + ldr r0, _021583a8 ; =gMapManager ldrh r1, [r10, #0x20] ldr r0, [r0] mov r2, #0 @@ -66897,7 +66897,7 @@ _02158394: .align 2, 0 arm_func_end func_ov15_02157e68 _021583a4: .word data_027e10a4 -_021583a8: .word data_027e0e60 +_021583a8: .word gMapManager _021583ac: .word data_027e0764 _021583b0: .word data_027e0f94 _021583b4: .word data_027e0fe8 @@ -66973,7 +66973,7 @@ func_ov15_0215846c: ; 0x0215846c mov r4, #0 ands r1, r0, #0xff beq _021584f8 - ldr r0, _0215856c ; =data_027e0e60 + ldr r0, _0215856c ; =gMapManager mov r2, r4 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020836dcEii @@ -67005,7 +67005,7 @@ _021584f8: ldrh r0, [r5, #0x26] ands r1, r0, #0xff ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - ldr r0, _0215856c ; =data_027e0e60 + ldr r0, _0215856c ; =gMapManager mov r2, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020836dcEii @@ -67035,7 +67035,7 @@ _02158554: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_0215846c -_0215856c: .word data_027e0e60 +_0215856c: .word gMapManager _02158570: .word data_027e0fe4 .global func_ov15_02158574 @@ -67464,7 +67464,7 @@ _02158b30: b _02158c9c _02158b38: ldr r1, [r5, #0x48] - ldr r0, _02158cc8 ; =data_027e0e60 + ldr r0, _02158cc8 ; =gMapManager str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -67571,7 +67571,7 @@ _02158cb8: .word data_02050f54 _02158cbc: .word data_027e0f94 _02158cc0: .word data_027e0fac _02158cc4: .word data_027e0c68 -_02158cc8: .word data_027e0e60 +_02158cc8: .word gMapManager _02158ccc: .word data_ov15_0218c384 _02158cd0: .word 0x00000ccd _02158cd4: .word data_027e0fe4 @@ -67856,7 +67856,7 @@ _021590c4: str r3, [r4, #0x60] ldrsh r2, [r5, r1] ldr r1, [r4, #0x2e0] - ldr r0, _02159280 ; =data_027e0e60 + ldr r0, _02159280 ; =gMapManager smull r3, r1, r2, r1 adds r2, r3, #0x800 adc r1, r1, #0 @@ -67959,7 +67959,7 @@ _02159270: .word data_027e0d0c _02159274: .word data_02050f54 _02159278: .word data_027e0f94 _0215927c: .word 0x0000019a -_02159280: .word data_027e0e60 +_02159280: .word gMapManager .global func_ov15_02159284 arm_func_start func_ov15_02159284 @@ -68200,7 +68200,7 @@ func_ov15_0215957c: ; 0x0215957c cmp r6, #0x2b000 bge _0215969c ldr r1, [r5, #0x48] - ldr r0, _021597b8 ; =data_027e0e60 + ldr r0, _021597b8 ; =gMapManager str r1, [sp, #0x14] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -68271,7 +68271,7 @@ _0215969c: bne _0215976c bl _ZN5Actor12ApplyGravityEv ldr r1, [r5, #0x48] - ldr r0, _021597b8 ; =data_027e0e60 + ldr r0, _021597b8 ; =gMapManager str r1, [sp, #8] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -68340,7 +68340,7 @@ _0215976c: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0215957c -_021597b8: .word data_027e0e60 +_021597b8: .word gMapManager _021597bc: .word data_ov15_0218c384 _021597c0: .word 0x00000d9a _021597c4: .word data_027e0e58 @@ -68621,7 +68621,7 @@ func_ov15_02159b70: ; 0x02159b70 sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _02159be8 ; =data_027e0e60 + ldr r0, _02159be8 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -68650,7 +68650,7 @@ _02159bd4: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02159b70 -_02159be8: .word data_027e0e60 +_02159be8: .word gMapManager .global func_ov15_02159bec arm_func_start func_ov15_02159bec @@ -68791,7 +68791,7 @@ func_ov15_02159db8: ; 0x02159db8 sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _02159e34 ; =data_027e0e60 + ldr r0, _02159e34 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -68821,7 +68821,7 @@ _02159e24: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02159db8 -_02159e34: .word data_027e0e60 +_02159e34: .word gMapManager _02159e38: .word 0xfffff4cd .global func_ov15_02159e3c @@ -68909,7 +68909,7 @@ _02159ea0: str r3, [sp, #0x10] bl func_01ff9bc4 ldr r0, [sp] - ldr r1, _0215a1ac ; =data_027e0e60 + ldr r1, _0215a1ac ; =gMapManager ldr r0, [r0, #0x48] str r0, [sp, #0x24] ldr r0, [sp] @@ -69058,7 +69058,7 @@ _0215a17c: .align 2, 0 arm_func_end func_ov15_02159e3c _0215a1a8: .word data_02050f54 -_0215a1ac: .word data_027e0e60 +_0215a1ac: .word gMapManager _0215a1b0: .word data_ov15_021864ec _0215a1b4: .word data_027e0e58 @@ -69365,7 +69365,7 @@ _0215a500: addlt sp, sp, #0x30 movlt r0, #0 ldmltia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _0215a75c ; =data_027e0e60 + ldr r0, _0215a75c ; =gMapManager ldrh r1, [r10, #0x20] ldr r0, [r0] add r2, sp, #0x18 @@ -69500,7 +69500,7 @@ _0215a74c: .word data_027e10a8 _0215a750: .word data_ov15_021865c8 _0215a754: .word data_ov15_021865dc _0215a758: .word data_027e0fec -_0215a75c: .word data_027e0e60 +_0215a75c: .word gMapManager _0215a760: .word data_027e0ff0 _0215a764: .word 0x02f44000 @@ -69514,7 +69514,7 @@ func_ov15_0215a768: ; 0x0215a768 cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} - ldr r0, _0215a8bc ; =data_027e0e60 + ldr r0, _0215a8bc ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 @@ -69574,7 +69574,7 @@ _0215a858: mov r0, #1 strb r0, [r4, #0x236] _0215a860: - ldr r0, _0215a8bc ; =data_027e0e60 + ldr r0, _0215a8bc ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d40Ev cmp r0, #0 @@ -69599,7 +69599,7 @@ _0215a860: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215a768 -_0215a8bc: .word data_027e0e60 +_0215a8bc: .word gMapManager _0215a8c0: .word gAdventureFlags _0215a8c4: .word data_ov15_021865e8 _0215a8c8: .word data_ov15_021865fc @@ -69682,7 +69682,7 @@ func_ov15_0215a970: ; 0x0215a970 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0215a9c0: - ldr r0, _0215b26c ; =data_027e0e60 + ldr r0, _0215b26c ; =gMapManager mov r6, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d40Ev @@ -69780,7 +69780,7 @@ _0215ab28: mov r5, #0 cmp r1, #0 beq _0215ab4c - ldr r0, _0215b26c ; =data_027e0e60 + ldr r0, _0215b26c ; =gMapManager mov r2, r5 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020836dcEii @@ -69789,7 +69789,7 @@ _0215ab4c: ldrb r0, [r4, #0x236] cmp r0, #4 beq _0215ab84 - ldr r0, _0215b26c ; =data_027e0e60 + ldr r0, _0215b26c ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 @@ -70224,7 +70224,7 @@ _0215b164: orr r5, r5, r1, lsl #20 cmpeq r10, #1 bne _0215b240 - ldr r0, _0215b26c ; =data_027e0e60 + ldr r0, _0215b26c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d40Ev cmp r0, #0 @@ -70269,7 +70269,7 @@ _0215b248: arm_func_end func_ov15_0215a970 _0215b264: .word data_027e0f94 _0215b268: .word data_027e10a8 -_0215b26c: .word data_027e0e60 +_0215b26c: .word gMapManager _0215b270: .word data_027e0c68 _0215b274: .word 0x0005000f _0215b278: .word data_02050f54 @@ -70513,11 +70513,11 @@ _0215b54c: mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 bl func_ov00_0209cdbc - ldr r0, _0215b62c ; =data_027e0e60 + ldr r0, _0215b62c ; =gMapManager mov r1, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020823b4Ev - ldr r0, _0215b62c ; =data_027e0e60 + ldr r0, _0215b62c ; =gMapManager mov r1, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020823a4Ei @@ -70527,7 +70527,7 @@ _0215b54c: _0215b620: .word data_ov00_020ee0a0 _0215b624: .word data_ov15_021865c8 _0215b628: .word 0x00000249 -_0215b62c: .word data_027e0e60 +_0215b62c: .word gMapManager .global func_ov15_0215b630 arm_func_start func_ov15_0215b630 @@ -70707,7 +70707,7 @@ _0215b848: .word data_027e0f94 arm_func_start func_ov15_0215b84c func_ov15_0215b84c: ; 0x0215b84c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - ldr r1, _0215bac0 ; =data_027e0e60 + ldr r1, _0215bac0 ; =gMapManager mov r4, r0 ldr r0, [r1] mov r1, #1 @@ -70869,7 +70869,7 @@ _0215ba10: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_0215b84c -_0215bac0: .word data_027e0e60 +_0215bac0: .word gMapManager _0215bac4: .word data_ov00_020ee0a0 _0215bac8: .word 0x00000249 @@ -71094,7 +71094,7 @@ _0215bd68: mov r0, #0 strb r0, [r4, #0x1b8] _0215bd70: - ldr r0, _0215bda8 ; =data_027e0e60 + ldr r0, _0215bda8 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 @@ -71111,7 +71111,7 @@ _0215bd98: arm_func_end func_ov15_0215bcf4 _0215bda0: .word data_027e0d38 _0215bda4: .word data_027e0e2c -_0215bda8: .word data_027e0e60 +_0215bda8: .word gMapManager .global func_ov15_0215bdac arm_func_start func_ov15_0215bdac @@ -71256,7 +71256,7 @@ _0215bf70: sub r2, r3, #2 mov r5, #0x47 mov r1, #0xff - ldr r0, _0215c340 ; =data_027e0e60 + ldr r0, _0215c340 ; =gMapManager str r2, [sp, #0x48] str r5, [sp, #0x3c] str r3, [sp, #0x40] @@ -71370,7 +71370,7 @@ _0215c154: add r3, sp, #0x30 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0215c340 ; =data_027e0e60 + ldr r0, _0215c340 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0x18 @@ -71495,7 +71495,7 @@ _0215c330: .word gAdventureFlags _0215c334: .word data_027e10a4 _0215c338: .word data_027e0c68 _0215c33c: .word 0x0005004a -_0215c340: .word data_027e0e60 +_0215c340: .word gMapManager _0215c344: .word 0x00000186 _0215c348: .word data_027e0e2c _0215c34c: .word func_ov15_0215bb6c @@ -71583,7 +71583,7 @@ _0215c474: add r3, sp, #0x18 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0215c578 ; =data_027e0e60 + ldr r0, _0215c578 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0 @@ -71647,7 +71647,7 @@ _0215c568: .word 0x00050010 _0215c56c: .word func_ov15_0215bb6c _0215c570: .word data_027e103c _0215c574: .word data_027e0f94 -_0215c578: .word data_027e0e60 +_0215c578: .word gMapManager _0215c57c: .word data_027e0f64 _0215c580: .word gAdventureFlags @@ -71657,7 +71657,7 @@ func_ov15_0215c584: ; 0x0215c584 stmdb sp!, {r4, lr} sub sp, sp, #0xb0 mov r4, r0 - ldr r0, _0215c690 ; =data_027e0e60 + ldr r0, _0215c690 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 @@ -71725,7 +71725,7 @@ _0215c660: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215c584 -_0215c690: .word data_027e0e60 +_0215c690: .word gMapManager _0215c694: .word data_027e0f64 _0215c698: .word gAdventureFlags _0215c69c: .word data_027e10a4 @@ -72459,7 +72459,7 @@ func_ov15_0215d078: ; 0x0215d078 mov r6, #0x47 mov r3, #0xff str r4, [sp, #0x60] - ldr r2, _0215d22c ; =data_027e0e60 + ldr r2, _0215d22c ; =gMapManager str r6, [sp, #0x54] str r5, [sp, #0x58] str r5, [sp, #0x5c] @@ -72564,7 +72564,7 @@ _0215d1cc: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_0215d078 -_0215d22c: .word data_027e0e60 +_0215d22c: .word gMapManager _0215d230: .word data_027e0f64 _0215d234: .word data_027e10a4 @@ -73795,7 +73795,7 @@ _0215e0f4: ldrneb r0, [r6, #0x3eb] cmpne r0, #0 beq _0215e558 - ldr r0, _0215e570 ; =data_027e0e60 + ldr r0, _0215e570 ; =gMapManager mov r2, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020836dcEii @@ -74087,7 +74087,7 @@ _0215e558: arm_func_end func_ov15_0215dff8 _0215e568: .word data_027e0d0c _0215e56c: .word data_027e0764 -_0215e570: .word data_027e0e60 +_0215e570: .word gMapManager _0215e574: .word data_027e0dbc _0215e578: .word 0x00000ccc _0215e57c: .word data_027e0f64 @@ -74323,7 +74323,7 @@ func_ov15_0215e890: ; 0x0215e890 add r1, r1, #1 str r1, [r9, #0x3b8] ldrsh r3, [r0, #0xe4] - ldr r2, _0215f7b8 ; =data_027e0e60 + ldr r2, _0215f7b8 ; =gMapManager add r1, sp, #0x4c add r3, r3, #1 strh r3, [r0, #0xe4] @@ -74351,7 +74351,7 @@ _0215e8f8: ; jump table b _0215f70c ; case 6 b _0215f50c ; case 7 _0215e918: - ldr r0, _0215f7b8 ; =data_027e0e60 + ldr r0, _0215f7b8 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 @@ -74547,7 +74547,7 @@ _0215ebbc: bl func_ov15_0215fb6c cmp r0, #0 beq _0215ec14 - ldr r0, _0215f7b8 ; =data_027e0e60 + ldr r0, _0215f7b8 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 @@ -74804,7 +74804,7 @@ _0215ef7c: mov r2, r0 bl func_01ff9bc4 ldr r1, [r9, #0x48] - ldr r0, _0215f7b8 ; =data_027e0e60 + ldr r0, _0215f7b8 ; =gMapManager str r1, [sp, #0x40] ldr r1, [r9, #0x4c] ldr r0, [r0] @@ -74877,7 +74877,7 @@ _0215f048: mov r0, #1 strb r0, [r9, #0x3ea] ldr r1, [r9, #0x48] - ldr r0, _0215f7b8 ; =data_027e0e60 + ldr r0, _0215f7b8 ; =gMapManager str r1, [sp, #0x34] ldr r3, [r9, #0x4c] ldr r0, [r0] @@ -74918,7 +74918,7 @@ _0215f158: add r0, r9, #0x200 strh r1, [r0, #0x82] ldr r1, [r9, #0x48] - ldr r0, _0215f7b8 ; =data_027e0e60 + ldr r0, _0215f7b8 ; =gMapManager str r1, [sp, #0x28] ldr r1, [r9, #0x4c] ldr r0, [r0] @@ -74971,7 +74971,7 @@ _0215f1f4: b _0215f478 _0215f250: ldr r1, [r9, #0x48] - ldr r0, _0215f7b8 ; =data_027e0e60 + ldr r0, _0215f7b8 ; =gMapManager str r1, [sp, #0x1c] ldr r1, [r9, #0x4c] ldr r0, [r0] @@ -75043,7 +75043,7 @@ _0215f350: b _0215f478 _0215f35c: ldr r1, [r9, #0x48] - ldr r0, _0215f7b8 ; =data_027e0e60 + ldr r0, _0215f7b8 ; =gMapManager str r1, [sp, #0x10] ldr r1, [r9, #0x4c] ldr r0, [r0] @@ -75336,7 +75336,7 @@ _0215f7a8: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0215e890 -_0215f7b8: .word data_027e0e60 +_0215f7b8: .word gMapManager _0215f7bc: .word data_027e0764 _0215f7c0: .word data_027e0e58 _0215f7c4: .word data_027e0f94 @@ -75413,7 +75413,7 @@ func_ov15_0215f8b0: ; 0x0215f8b0 mov r6, r0 ldr r5, [r6, #0x64] ldr r1, [r6, #0x48] - ldr r0, _0215fa20 ; =data_027e0e60 + ldr r0, _0215fa20 ; =gMapManager str r1, [sp] ldr r1, [r6, #0x4c] ldr r0, [r0] @@ -75505,7 +75505,7 @@ _0215f9e0: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0215f8b0 -_0215fa20: .word data_027e0e60 +_0215fa20: .word gMapManager _0215fa24: .word data_027e0ffc _0215fa28: .word 0x00000289 _0215fa2c: .word 0x00000286 @@ -75615,7 +75615,7 @@ func_ov15_0215fb6c: ; 0x0215fb6c ldrh r0, [r4, #0x20] ands r1, r0, #0xff beq _0215fba8 - ldr r0, _0215fc94 ; =data_027e0e60 + ldr r0, _0215fc94 ; =gMapManager mov r2, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020836dcEii @@ -75635,7 +75635,7 @@ _0215fba8: addne sp, sp, #0x18 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _0215fc94 ; =data_027e0e60 + ldr r0, _0215fc94 ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, #0 @@ -75692,7 +75692,7 @@ _0215fc88: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0215fb6c -_0215fc94: .word data_027e0e60 +_0215fc94: .word gMapManager _0215fc98: .word data_027e0dbc _0215fc9c: .word data_027e0dcc @@ -75886,7 +75886,7 @@ func_ov15_0215fefc: ; 0x0215fefc ldrh r0, [r4, #0x24] cmp r0, #3 ldmneia sp!, {r4, pc} - ldr r0, _0215ff58 ; =data_027e0e60 + ldr r0, _0215ff58 ; =gMapManager ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 @@ -75897,7 +75897,7 @@ func_ov15_0215fefc: ; 0x0215fefc ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215fefc -_0215ff58: .word data_027e0e60 +_0215ff58: .word gMapManager .global func_ov15_0215ff5c arm_func_start func_ov15_0215ff5c @@ -76903,7 +76903,7 @@ func_ov15_02160c24: ; 0x02160c24 mov r0, r4 bl func_ov15_02161458 ldr r1, [r4, #0x48] - ldr r0, _02160ca4 ; =data_027e0e60 + ldr r0, _02160ca4 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -76927,7 +76927,7 @@ func_ov15_02160c24: ; 0x02160c24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02160c24 -_02160ca4: .word data_027e0e60 +_02160ca4: .word gMapManager _02160ca8: .word data_ov15_0218caec _02160cac: .word data_ov15_0218caf8 @@ -77435,7 +77435,7 @@ func_ov15_021613a4: ; 0x021613a4 sub r0, r0, #1 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _02161448 ; =data_027e0e60 + ldr r0, _02161448 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -77465,7 +77465,7 @@ _02161410: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021613a4 -_02161448: .word data_027e0e60 +_02161448: .word gMapManager _0216144c: .word data_ov15_0218caec _02161450: .word data_ov15_0218caf8 _02161454: .word data_ov15_0218677c @@ -77789,7 +77789,7 @@ func_ov15_02161880: ; 0x02161880 mov r0, #2 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _021618f8 ; =data_027e0e60 + ldr r0, _021618f8 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -77815,7 +77815,7 @@ func_ov15_02161880: ; 0x02161880 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02161880 -_021618f8: .word data_027e0e60 +_021618f8: .word gMapManager _021618fc: .word data_ov15_0218caf4 _02161900: .word data_ov15_0218caf0 @@ -78220,7 +78220,7 @@ _02161cd0: str r1, [r10, #0x278] mov r0, #0xad str r0, [r10, #0x280] - ldr r0, _02162430 ; =data_027e0e60 + ldr r0, _02162430 ; =gMapManager str r1, [r10, #0x284] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d40Ev @@ -78387,7 +78387,7 @@ _021620bc: add r3, sp, #0x44 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02162430 ; =data_027e0e60 + ldr r0, _02162430 ; =gMapManager add r1, sp, #0x2c ldr r0, [r0] bl _ZN10MapManager18func_ov00_0208346cEP4AABB @@ -78624,7 +78624,7 @@ _021623c4: _02162424: .word gAdventureFlags _02162428: .word data_027e0fec _0216242c: .word 0x00000999 -_02162430: .word data_027e0e60 +_02162430: .word gMapManager _02162434: .word data_027e0d38 _02162438: .word data_027e0fe4 _0216243c: .word data_ov15_0218cc00 @@ -78668,7 +78668,7 @@ func_ov15_02162454: ; 0x02162454 strh r0, [r4, #0x78] _021624c8: ldr r1, [r4, #0x48] - ldr r0, _0216252c ; =data_027e0e60 + ldr r0, _0216252c ; =gMapManager str r1, [sp, #4] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -78694,7 +78694,7 @@ _021624c8: arm_func_end func_ov15_02162454 _02162524: .word data_027e0d38 _02162528: .word data_027e0f94 -_0216252c: .word data_027e0e60 +_0216252c: .word gMapManager _02162530: .word data_ov15_0218cc00 _02162534: .word data_ov15_0218cc0c @@ -78741,7 +78741,7 @@ _021625a0: sub r0, r0, #1 strb r0, [r5, #0x1ac] ldr r1, [r5, #0x48] - ldr r0, _02162678 ; =data_027e0e60 + ldr r0, _02162678 ; =gMapManager str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -78787,7 +78787,7 @@ _02162634: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02162538 -_02162678: .word data_027e0e60 +_02162678: .word gMapManager _0216267c: .word data_ov15_0218cc00 _02162680: .word data_ov15_0218cc0c _02162684: .word data_ov15_021867d4 @@ -79503,7 +79503,7 @@ _021630ec: bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 bne _02163160 - ldr r0, _02163c48 ; =data_027e0e60 + ldr r0, _02163c48 ; =gMapManager ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 @@ -79811,7 +79811,7 @@ _0216346c: mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r1, [ip, r0] - ldr r0, _02163c48 ; =data_027e0e60 + ldr r0, _02163c48 ; =gMapManager ldr r5, [sp, #0x90] mov r1, r1, lsl #0xc add r1, r1, #0x800 @@ -79991,7 +79991,7 @@ _02163854: sub r2, r3, #2 mov r5, #0x47 mov r1, #0xff - ldr r0, _02163c48 ; =data_027e0e60 + ldr r0, _02163c48 ; =gMapManager str r2, [sp, #0x68] str r5, [sp, #0x5c] str r3, [sp, #0x60] @@ -80210,7 +80210,7 @@ _02163b90: sub r0, r0, #1 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _02163c48 ; =data_027e0e60 + ldr r0, _02163c48 ; =gMapManager str r1, [sp, #8] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -80247,7 +80247,7 @@ _02163c38: .word data_027e0fe4 _02163c3c: .word data_ov15_02190458 _02163c40: .word data_ov00_020eec68 _02163c44: .word data_027e10a4 -_02163c48: .word data_027e0e60 +_02163c48: .word gMapManager _02163c4c: .word data_027e0f94 _02163c50: .word data_027e0d0c _02163c54: .word data_027e0764 @@ -80588,7 +80588,7 @@ _021640c4: ldr r3, _021643c4 ; =data_02050f54 str r4, [sp, #0x2c] ldr lr, [r6, #0x4c] - ldr r0, _021643c8 ; =data_027e0e60 + ldr r0, _021643c8 ; =gMapManager str lr, [sp, #0x30] ldr ip, [r6, #0x50] ldr r0, [r0] @@ -80762,7 +80762,7 @@ _021643b8: .word data_027e10a4 _021643bc: .word data_027e0e2c _021643c0: .word 0x00050017 _021643c4: .word data_02050f54 -_021643c8: .word data_027e0e60 +_021643c8: .word gMapManager _021643cc: .word data_027e0fe8 _021643d0: .word 0x544f5044 _021643d4: .word 0x0000019a @@ -80899,7 +80899,7 @@ _021644d0: str r2, [sp, #4] str r1, [sp, #8] str r0, [sp, #0xc] - ldr r1, _02164600 ; =data_027e0e60 + ldr r1, _02164600 ; =gMapManager str r0, [sp, #0x10] ldr r0, [r1] add r1, sp, #0x48 @@ -80921,7 +80921,7 @@ _021645f0: .word gAdventureFlags _021645f4: .word data_027e10a4 _021645f8: .word data_027e0f94 _021645fc: .word 0x0000ffff -_02164600: .word data_027e0e60 +_02164600: .word gMapManager .global func_ov15_02164604 arm_func_start func_ov15_02164604 @@ -81663,7 +81663,7 @@ _021650ac: mov r0, #2 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] - ldr r0, _0216511c ; =data_027e0e60 + ldr r0, _0216511c ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -81690,7 +81690,7 @@ _021650ac: .align 2, 0 arm_func_end func_ov15_02165078 _02165118: .word data_ov15_02190458 -_0216511c: .word data_027e0e60 +_0216511c: .word gMapManager _02165120: .word data_ov15_0218cc08 _02165124: .word data_ov15_0218cc04 @@ -82083,7 +82083,7 @@ _02165620: mov r0, #1 str r0, [sp, #4] ldr r1, _02165a18 ; =data_ov15_0218f8cc - ldr r0, _02165a24 ; =data_027e0e60 + ldr r0, _02165a24 ; =gMapManager str r1, [sp, #8] ldr r0, [r0] add r1, sp, #0x18 @@ -82352,7 +82352,7 @@ _02165a14: .word data_ov15_0218cce0 _02165a18: .word data_ov15_0218f8cc _02165a1c: .word func_ov15_02165a34 _02165a20: .word data_ov15_0218f8c0 -_02165a24: .word data_027e0e60 +_02165a24: .word gMapManager _02165a28: .word gAdventureFlags _02165a2c: .word data_ov15_021867d8 _02165a30: .word data_027e0c68 @@ -82586,7 +82586,7 @@ _02165d5c: b _02165e14 _02165d70: ldr r1, [r4, #4] - ldr r0, _02165e54 ; =data_027e0e60 + ldr r0, _02165e54 ; =gMapManager orr r1, r1, #0x10 str r1, [r4, #4] ldr r0, [r0] @@ -82647,7 +82647,7 @@ _02165e44: .word 0x0b60b60b _02165e48: .word data_027e0c68 _02165e4c: .word 0x0005001a _02165e50: .word 0x00050018 -_02165e54: .word data_027e0e60 +_02165e54: .word gMapManager _02165e58: .word 0x00001770 .global func_ov15_02165e5c @@ -83159,7 +83159,7 @@ func_ov15_0216648c: ; 0x0216648c sub sp, sp, #0x18 mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _02166574 ; =data_027e0e60 + ldr r0, _02166574 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -83216,7 +83216,7 @@ _02166564: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216648c -_02166574: .word data_027e0e60 +_02166574: .word gMapManager _02166578: .word data_02050f54 _0216657c: .word data_027e0e58 _02166580: .word 0xfffffe66 @@ -83232,7 +83232,7 @@ func_ov15_02166584: ; 0x02166584 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r4, #0x48] - ldr r0, _02166678 ; =data_027e0e60 + ldr r0, _02166678 ; =gMapManager str r1, [sp, #8] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -83288,7 +83288,7 @@ _02166644: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02166584 -_02166678: .word data_027e0e60 +_02166678: .word gMapManager _0216667c: .word data_027e0e58 _02166680: .word 0x000009ec _02166684: .word data_027e0ffc @@ -83905,7 +83905,7 @@ _02166d48: add r2, r5, #0x48 bl func_01ff9bc4 ldr r1, [r5, #0x48] - ldr r0, _02166eec ; =data_027e0e60 + ldr r0, _02166eec ; =gMapManager str r1, [sp, #0x10] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -83989,7 +83989,7 @@ _02166ecc: _02166ee0: .word 0x000004cd _02166ee4: .word data_027e0f64 _02166ee8: .word data_027e0f94 -_02166eec: .word data_027e0e60 +_02166eec: .word gMapManager _02166ef0: .word data_027e0ffc _02166ef4: .word 0x00000666 _02166ef8: .word data_027e0e58 @@ -84139,12 +84139,12 @@ func_ov15_021670dc: ; 0x021670dc beq _02167208 b _02167238 _02167114: - ldr r0, _0216728c ; =data_027e0e60 + ldr r0, _0216728c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #6 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _0216728c ; =data_027e0e60 + ldr r0, _0216728c ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 @@ -84240,7 +84240,7 @@ _0216726c: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_021670dc -_0216728c: .word data_027e0e60 +_0216728c: .word gMapManager _02167290: .word data_027e0764 _02167294: .word data_027e0ff4 _02167298: .word data_027e10a4 @@ -85274,7 +85274,7 @@ _02168078: mov r3, #0 bl func_0202b418 _02168098: - ldr r0, _0216834c ; =data_027e0e60 + ldr r0, _0216834c ; =gMapManager ldr r5, [sp, #0x28] ldr r3, [sp, #0x2c] ldr r2, [sp, #0x30] @@ -85457,7 +85457,7 @@ _02168338: _02168340: .word data_027e0fac _02168344: .word data_027e0f94 _02168348: .word data_02050f54 -_0216834c: .word data_027e0e60 +_0216834c: .word gMapManager _02168350: .word 0x00000666 _02168354: .word data_027e0d0c @@ -85967,7 +85967,7 @@ _02168a78: mov r3, #0 bl func_0202b418 _02168a9c: - ldr r0, _02168b2c ; =data_027e0e60 + ldr r0, _02168b2c ; =gMapManager ldr ip, [sp, #0x30] ldr r3, [sp, #0x34] ldr r2, [sp, #0x38] @@ -86005,7 +86005,7 @@ _02168a9c: _02168b20: .word data_ov15_0218d094 _02168b24: .word data_027e0f94 _02168b28: .word data_02050f54 -_02168b2c: .word data_027e0e60 +_02168b2c: .word gMapManager .global func_ov15_02168b30 arm_func_start func_ov15_02168b30 @@ -86835,7 +86835,7 @@ _02169594: ldr r3, [r5, r9, lsl #2] str r0, [sp, #8] ldr r1, [r10, #0x4c] - ldr r0, _0216967c ; =data_027e0e60 + ldr r0, _0216967c ; =gMapManager str r1, [sp, #0xc] ldr r2, [r10, #0x50] ldr r0, [r0] @@ -86891,7 +86891,7 @@ _0216966c: .word data_ov15_0218d1bc _02169670: .word data_ov15_0218d1c8 _02169674: .word data_027e0ffc _02169678: .word data_ov15_02186918 -_0216967c: .word data_027e0e60 +_0216967c: .word gMapManager _02169680: .word 0x00000359 .global func_ov15_02169684 @@ -88054,7 +88054,7 @@ _0216a680: _0216a6a8: cmp r4, #0 bne _0216a6c4 - ldr r0, _0216a750 ; =data_027e0e60 + ldr r0, _0216a750 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020848b8Ev cmp r0, #0 @@ -88100,7 +88100,7 @@ _0216a740: .word data_027e0d38 _0216a744: .word data_027e10a4 _0216a748: .word data_027e0d3c _0216a74c: .word data_027e0d04 -_0216a750: .word data_027e0e60 +_0216a750: .word gMapManager .global func_ov15_0216a754 arm_func_start func_ov15_0216a754 @@ -90470,7 +90470,7 @@ func_ov15_0216c650: ; 0x0216c650 arm_func_start func_ov15_0216c664 func_ov15_0216c664: ; 0x0216c664 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0216c6b4 ; =data_027e0e60 + ldr r1, _0216c6b4 ; =gMapManager mov r4, r0 ldr r0, [r1] mov r5, #0 @@ -90492,7 +90492,7 @@ _0216c6ac: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216c664 -_0216c6b4: .word data_027e0e60 +_0216c6b4: .word gMapManager .global func_ov15_0216c6b8 arm_func_start func_ov15_0216c6b8 @@ -91813,7 +91813,7 @@ _0216d8c4: .word data_027e0fb8 func_ov15_0216d8c8: ; 0x0216d8c8 stmdb sp!, {r4, lr} sub sp, sp, #0x18 - ldr r1, _0216d95c ; =data_027e0e60 + ldr r1, _0216d95c ; =gMapManager mov r2, #1 strb r2, [r0, #0xc] mov lr, #0 @@ -91850,7 +91850,7 @@ func_ov15_0216d8c8: ; 0x0216d8c8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216d8c8 -_0216d95c: .word data_027e0e60 +_0216d95c: .word gMapManager _0216d960: .word data_027e0d38 _0216d964: .word gAdventureFlags @@ -91880,7 +91880,7 @@ _0216d9b0: bl func_ov15_0216dd8c cmp r0, #0 beq _0216da38 - ldr r0, _0216da98 ; =data_027e0e60 + ldr r0, _0216da98 ; =gMapManager mov lr, #0 ldr r0, [r0] sub ip, lr, #2 @@ -91938,7 +91938,7 @@ _0216da84: .align 2, 0 arm_func_end func_ov15_0216d968 _0216da94: .word data_027e0c68 -_0216da98: .word data_027e0e60 +_0216da98: .word gMapManager _0216da9c: .word data_027e0d38 _0216daa0: .word gAdventureFlags _0216daa4: .word data_027e0fe4 @@ -94346,7 +94346,7 @@ func_ov15_0216fa98: ; 0x0216fa98 stmdb sp!, {r4, lr} ldr r1, _0216fb48 ; =data_ov15_0218d978 mov r4, r0 - ldr r0, _0216fb4c ; =data_027e0e60 + ldr r0, _0216fb4c ; =gMapManager str r1, [r4] add r1, r4, #0x74 ldr r0, [r0] @@ -94390,7 +94390,7 @@ func_ov15_0216fa98: ; 0x0216fa98 .align 2, 0 arm_func_end func_ov15_0216fa98 _0216fb48: .word data_ov15_0218d978 -_0216fb4c: .word data_027e0e60 +_0216fb4c: .word gMapManager .global func_ov15_0216fb50 arm_func_start func_ov15_0216fb50 @@ -94398,7 +94398,7 @@ func_ov15_0216fb50: ; 0x0216fb50 stmdb sp!, {r4, lr} ldr r1, _0216fc08 ; =data_ov15_0218d978 mov r4, r0 - ldr r0, _0216fc0c ; =data_027e0e60 + ldr r0, _0216fc0c ; =gMapManager str r1, [r4] add r1, r4, #0x74 ldr r0, [r0] @@ -94444,7 +94444,7 @@ func_ov15_0216fb50: ; 0x0216fb50 .align 2, 0 arm_func_end func_ov15_0216fb50 _0216fc08: .word data_ov15_0218d978 -_0216fc0c: .word data_027e0e60 +_0216fc0c: .word gMapManager .global func_ov15_0216fc10 arm_func_start func_ov15_0216fc10 @@ -94627,7 +94627,7 @@ _0216fe54: str r3, [r5, #0x490] str r0, [r5, #0x494] mov r2, #0x14000 - ldr r0, _0217062c ; =data_027e0e60 + ldr r0, _0217062c ; =gMapManager str r2, [r5, #0x498] ldr r0, [r0] bl _ZN10MapManager18func_ov00_020838c8Ei @@ -94994,7 +94994,7 @@ _021703e8: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r5, #0x48] - ldr r0, _0217062c ; =data_027e0e60 + ldr r0, _0217062c ; =gMapManager str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -95114,7 +95114,7 @@ _0217060c: arm_func_end func_ov15_0216fe00 _02170624: .word 0x0000ffff _02170628: .word data_027e103c -_0217062c: .word data_027e0e60 +_0217062c: .word gMapManager _02170630: .word data_027e0f94 _02170634: .word data_027e0f64 _02170638: .word gAdventureFlags @@ -95252,7 +95252,7 @@ _021707e4: .word data_027e10a4 func_ov15_021707e8: ; 0x021707e8 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _0217082c ; =data_027e0e60 + ldr r0, _0217082c ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 @@ -95269,7 +95269,7 @@ func_ov15_021707e8: ; 0x021707e8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021707e8 -_0217082c: .word data_027e0e60 +_0217082c: .word gMapManager .global func_ov15_02170830 arm_func_start func_ov15_02170830 @@ -96002,7 +96002,7 @@ _021712c8: bl _ZN5Actor12ApplyGravityEv ldr r2, [r4, #0x4c] ldr r1, [r4, #0x64] - ldr r0, _021718f4 ; =data_027e0e60 + ldr r0, _021718f4 ; =gMapManager add r1, r2, r1 str r1, [r4, #0x4c] ldr r1, [r4, #0x48] @@ -96085,7 +96085,7 @@ _021713f8: _0217140c: bl func_ov15_02172d18 ldr r1, [r4, #0x4c] - ldr r0, _021718f4 ; =data_027e0e60 + ldr r0, _021718f4 ; =gMapManager add r1, r1, #0x148 str r1, [r4, #0x4c] ldr r1, [r4, #0x48] @@ -96144,7 +96144,7 @@ _0217140c: ldmia sp!, {r4, pc} _021714f8: ldr r1, [r4, #0x4c] - ldr r0, _021718f4 ; =data_027e0e60 + ldr r0, _021718f4 ; =gMapManager add r1, r1, #0x148 str r1, [r4, #0x4c] ldr r1, [r4, #0x48] @@ -96221,7 +96221,7 @@ _021715ac: _0217161c: mvn r1, #0 str r1, [r4, #0x53c] - ldr r0, _021718f4 ; =data_027e0e60 + ldr r0, _021718f4 ; =gMapManager add r1, r4, #0x74 ldr r0, [r0] add r1, r1, #0x400 @@ -96409,7 +96409,7 @@ _021718ec: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217128c -_021718f4: .word data_027e0e60 +_021718f4: .word gMapManager _021718f8: .word 0x00000d9a _021718fc: .word data_027e0e58 _02171900: .word data_027e0ffc @@ -97826,7 +97826,7 @@ func_ov15_02172d18: ; 0x02172d18 sub sp, sp, #0x18 mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _02172d88 ; =data_027e0e60 + ldr r0, _02172d88 ; =gMapManager str r1, [sp, #0xc] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -97852,7 +97852,7 @@ func_ov15_02172d18: ; 0x02172d18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02172d18 -_02172d88: .word data_027e0e60 +_02172d88: .word gMapManager _02172d8c: .word data_027e0e58 .global func_ov15_02172d90 @@ -97862,7 +97862,7 @@ func_ov15_02172d90: ; 0x02172d90 sub sp, sp, #0x1c mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _02172eec ; =data_027e0e60 + ldr r0, _02172eec ; =gMapManager str r1, [sp, #0x10] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -97948,7 +97948,7 @@ _02172ecc: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02172d90 -_02172eec: .word data_027e0e60 +_02172eec: .word gMapManager _02172ef0: .word data_02050f54 _02172ef4: .word 0x0000119a _02172ef8: .word data_027e0e58 @@ -98201,7 +98201,7 @@ func_ov15_0217317c: ; 0x0217317c add r0, r1, r0 str r0, [sp, #0x34] ldr r0, [sp, #0x54] - ldr r3, _021733a8 ; =data_027e0e60 + ldr r3, _021733a8 ; =gMapManager mov r0, r0, lsl #0x10 mov r7, r0, lsr #0x10 ldmia r9, {r0, r1, r2} @@ -98311,7 +98311,7 @@ _02173350: arm_func_end func_ov15_0217317c _021733a0: .word data_027e0f64 _021733a4: .word data_027e0f94 -_021733a8: .word data_027e0e60 +_021733a8: .word gMapManager _021733ac: .word data_02050f54 .global func_ov15_021733b0 @@ -98346,7 +98346,7 @@ func_ov15_021733b0: ; 0x021733b0 str r1, [r4, #0x52c] ldrsh ip, [r0, #0x5e] ldrsh r3, [r0, #0x60] - ldr r2, _0217359c ; =data_027e0e60 + ldr r2, _0217359c ; =gMapManager add r1, sp, #0x20 add r3, ip, r3 strh r3, [r0, #0x5e] @@ -98445,7 +98445,7 @@ _021734d0: .align 2, 0 arm_func_end func_ov15_021733b0 _02173598: .word 0x00000133 -_0217359c: .word data_027e0e60 +_0217359c: .word gMapManager _021735a0: .word data_027e10a4 _021735a4: .word data_027e0f64 @@ -98491,7 +98491,7 @@ func_ov15_021735a8: ; 0x021735a8 add r1, sp, #0x30 mov r2, r5 bl func_01ff9bc4 - ldr r3, _02173718 ; =data_027e0e60 + ldr r3, _02173718 ; =gMapManager add r8, sp, #0xc ldmia r5, {r0, r1, r2} stmia r8, {r0, r1, r2} @@ -98548,7 +98548,7 @@ _02173708: .word 0x00001770 _0217370c: .word data_027e0fac _02173710: .word 0x000008a4 _02173714: .word 0xfffffae1 -_02173718: .word data_027e0e60 +_02173718: .word gMapManager .global func_ov15_0217371c arm_func_start func_ov15_0217371c @@ -99306,7 +99306,7 @@ func_ov15_021740e4: ; 0x021740e4 func_ov15_02174100: ; 0x02174100 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 - ldr r0, _02174174 ; =data_027e0e60 + ldr r0, _02174174 ; =gMapManager ldrsh r5, [r4, #0x78] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082504Ev @@ -99337,7 +99337,7 @@ _0217414c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02174100 -_02174174: .word data_027e0e60 +_02174174: .word gMapManager .global func_ov15_02174178 arm_func_start func_ov15_02174178 @@ -99359,13 +99359,13 @@ func_ov15_02174188: ; 0x02174188 beq _021741b8 b _021741c8 _021741a4: - ldr r2, _021741d0 ; =data_027e0e60 + ldr r2, _021741d0 ; =gMapManager add r1, r0, #0x160 ldr r0, [r2] bl _ZN10MapManager18func_ov00_02082494Ei b _021741c8 _021741b8: - ldr r2, _021741d0 ; =data_027e0e60 + ldr r2, _021741d0 ; =gMapManager add r1, r0, #0x160 ldr r0, [r2] bl _ZN10MapManager18func_ov00_020824ccEi @@ -99374,7 +99374,7 @@ _021741c8: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02174188 -_021741d0: .word data_027e0e60 +_021741d0: .word gMapManager .global func_ov15_021741d4 arm_func_start func_ov15_021741d4 @@ -99422,7 +99422,7 @@ _02174268: mov r1, #4 bl func_01fffbec _02174270: - ldr r0, _021742a8 ; =data_027e0e60 + ldr r0, _021742a8 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082504Ev mov r1, r0 @@ -99438,7 +99438,7 @@ _02174270: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021741d4 -_021742a8: .word data_027e0e60 +_021742a8: .word gMapManager .global func_ov15_021742ac arm_func_start func_ov15_021742ac @@ -99749,7 +99749,7 @@ _0217465c: mov r0, #0x100 _02174660: str r0, [r4, #0x28] - ldr r0, _02174694 ; =data_027e0e60 + ldr r0, _02174694 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082424Ev mov r0, #0 @@ -99763,7 +99763,7 @@ _02174660: arm_func_end func_ov15_021745e4 _0217468c: .word 0x0000100a _02174690: .word 0x000001f5 -_02174694: .word data_027e0e60 +_02174694: .word gMapManager .global func_ov15_02174698 arm_func_start func_ov15_02174698 @@ -99893,7 +99893,7 @@ _0217481c: mov r1, #0x3c8 mov r3, #0 bl func_ov00_020ceacc - ldr r0, _02174888 ; =data_027e0e60 + ldr r0, _02174888 ; =gMapManager ldrb r1, [r4, #0x35] ldrb r2, [r4, #0x34] ldr r0, [r0] @@ -99908,7 +99908,7 @@ _02174878: .word data_ov00_020eec9c _0217487c: .word data_027e0e58 _02174880: .word 0x00001009 _02174884: .word data_027e0ffc -_02174888: .word data_027e0e60 +_02174888: .word gMapManager .global func_ov15_0217488c arm_func_start func_ov15_0217488c @@ -103300,7 +103300,7 @@ func_ov15_021776c4: ; 0x021776c4 stmdb sp!, {r4, lr} ldr r1, _021777e8 ; =data_ov15_0218de14 mov r4, r0 - ldr r0, _021777ec ; =data_027e0e60 + ldr r0, _021777ec ; =gMapManager str r1, [r4] ldr r0, [r0] add r1, r4, #0x374 @@ -103375,7 +103375,7 @@ _02177774: .align 2, 0 arm_func_end func_ov15_021776c4 _021777e8: .word data_ov15_0218de14 -_021777ec: .word data_027e0e60 +_021777ec: .word gMapManager _021777f0: .word data_027e0f6c _021777f4: .word data_027e0d38 _021777f8: .word data_027e10b0 @@ -103389,7 +103389,7 @@ func_ov15_02177808: ; 0x02177808 stmdb sp!, {r4, lr} ldr r1, _02177934 ; =data_ov15_0218de14 mov r4, r0 - ldr r0, _02177938 ; =data_027e0e60 + ldr r0, _02177938 ; =gMapManager str r1, [r4] ldr r0, [r0] add r1, r4, #0x374 @@ -103466,7 +103466,7 @@ _021778b8: .align 2, 0 arm_func_end func_ov15_02177808 _02177934: .word data_ov15_0218de14 -_02177938: .word data_027e0e60 +_02177938: .word gMapManager _0217793c: .word data_027e0f6c _02177940: .word data_027e0d38 _02177944: .word data_027e10b0 @@ -103493,7 +103493,7 @@ func_ov15_02177964: ; 0x02177964 mov r4, r0 str r4, [r1] ldr r1, [r4, #0x48] - ldr r0, _02177ef8 ; =data_027e0e60 + ldr r0, _02177ef8 ; =gMapManager str r1, [sp, #0x38] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -103674,7 +103674,7 @@ _02177c20: str r2, [r4, #0x390] str r0, [r4, #0x394] mov r1, #0x14000 - ldr r0, _02177ef8 ; =data_027e0e60 + ldr r0, _02177ef8 ; =gMapManager str r1, [r4, #0x398] ldr r0, [r0] add r1, r4, #0x374 @@ -103851,7 +103851,7 @@ _02177c84: .align 2, 0 arm_func_end func_ov15_02177964 _02177ef4: .word data_027e10b0 -_02177ef8: .word data_027e0e60 +_02177ef8: .word gMapManager _02177efc: .word data_027e0764 _02177f00: .word 0x0000a332 _02177f04: .word 0x00003666 @@ -104453,7 +104453,7 @@ _021784d0: add r2, sp, #0x2c mov r3, #2 bl func_ov00_0207c1b0 - ldr r0, _021789a0 ; =data_027e0e60 + ldr r0, _021789a0 ; =gMapManager ldr r2, [r5, #0x4c] ldr r4, [r5, #0x50] ldr r3, [r5, #0x48] @@ -104504,7 +104504,7 @@ _02178810: rsb r4, r2, #0x82 str r1, [sp, #8] ldr r1, [r5, #0x4c] - ldr r0, _021789a0 ; =data_027e0e60 + ldr r0, _021789a0 ; =gMapManager str r1, [sp, #0xc] ldr r3, [r5, #0x50] ldr r0, [r0] @@ -104605,7 +104605,7 @@ _02178990: .word data_ov15_0218ddc8 _02178994: .word data_ov15_02186d80 _02178998: .word data_027e0e58 _0217899c: .word 0x00001003 -_021789a0: .word data_027e0e60 +_021789a0: .word gMapManager _021789a4: .word 0x00001ccd _021789a8: .word data_ov00_020eec9c _021789ac: .word 0x00000462 @@ -104757,7 +104757,7 @@ func_ov15_02178b7c: ; 0x02178b7c sub r2, r3, #2 mov r5, #0x47 mov r1, #0xff - ldr r0, _02178c68 ; =data_027e0e60 + ldr r0, _02178c68 ; =gMapManager str r2, [sp, #0x24] str r5, [sp, #0x18] str r3, [sp, #0x1c] @@ -104804,7 +104804,7 @@ _02178c58: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02178b7c -_02178c68: .word data_027e0e60 +_02178c68: .word gMapManager _02178c6c: .word data_027e10a4 .global func_ov15_02178c70 @@ -104815,7 +104815,7 @@ func_ov15_02178c70: ; 0x02178c70 mov r4, r0 bl func_ov15_0217aa30 ldr r1, [r4, #0x48] - ldr r0, _02178d64 ; =data_027e0e60 + ldr r0, _02178d64 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -104875,7 +104875,7 @@ _02178d40: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02178c70 -_02178d64: .word data_027e0e60 +_02178d64: .word gMapManager _02178d68: .word data_ov15_0218ddcc _02178d6c: .word data_ov15_0218ddc8 _02178d70: .word gAdventureFlags @@ -106304,12 +106304,12 @@ _0217a208: cmp r1, #8 mov r5, r0, lsr #0x10 bne _0217a270 - ldr r0, _0217a550 ; =data_027e0e60 + ldr r0, _0217a550 ; =gMapManager mov r1, #0x11 ldr r0, [r0] sub r2, r1, #0x12 bl _ZN10MapManager18func_ov00_02082650Eiii - ldr r0, _0217a550 ; =data_027e0e60 + ldr r0, _0217a550 ; =gMapManager mov r1, #0x27 ldr r0, [r0] sub r2, r1, #0x28 @@ -106514,7 +106514,7 @@ _0217a52c: arm_func_end func_ov15_0217a0b0 _0217a548: .word 0x00000ccd _0217a54c: .word 0x00000fff -_0217a550: .word data_027e0e60 +_0217a550: .word gMapManager _0217a554: .word data_027e0764 _0217a558: .word data_027e0c68 _0217a55c: .word 0x0005003d @@ -106753,7 +106753,7 @@ func_ov15_0217a850: ; 0x0217a850 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217aa20 ; =data_027e0e60 + ldr r0, _0217aa20 ; =gMapManager ldr r6, [sp, #0xc] ldr r5, [sp, #0x10] ldr r3, [sp, #0x14] @@ -106862,7 +106862,7 @@ func_ov15_0217a850: ; 0x0217a850 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0217a850 -_0217aa20: .word data_027e0e60 +_0217aa20: .word gMapManager _0217aa24: .word data_027e0f64 _0217aa28: .word 0x000024cd _0217aa2c: .word gAdventureFlags @@ -109014,7 +109014,7 @@ func_ov15_0217c67c: ; 0x0217c67c strgeb r0, [r5, #0x118] ldmgeia sp!, {r3, r4, r5, pc} ldr r1, [r5, #0x48] - ldr r0, _0217c7ec ; =data_027e0e60 + ldr r0, _0217c7ec ; =gMapManager str r1, [sp, #4] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -109088,7 +109088,7 @@ _0217c7d4: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0217c67c -_0217c7ec: .word data_027e0e60 +_0217c7ec: .word gMapManager _0217c7f0: .word data_ov15_02187018 _0217c7f4: .word data_027e0f94 @@ -109421,7 +109421,7 @@ _0217cc78: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r4, #0x48] - ldr r0, _0217cec8 ; =data_027e0e60 + ldr r0, _0217cec8 ; =gMapManager str r1, [sp, #8] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -109563,7 +109563,7 @@ _0217ceb8: .word 0x00000d71 _0217cebc: .word 0xfffffb33 _0217cec0: .word data_027e0e58 _0217cec4: .word 0x00000733 -_0217cec8: .word data_027e0e60 +_0217cec8: .word gMapManager _0217cecc: .word data_027e0ffc _0217ced0: .word 0x00000666 _0217ced4: .word data_027e0764 @@ -109588,7 +109588,7 @@ func_ov15_0217cedc: ; 0x0217cedc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r10, #0x48] - ldr r0, _0217d008 ; =data_027e0e60 + ldr r0, _0217d008 ; =gMapManager str r1, [sp, #8] ldr r1, [r10, #0x4c] ldr r0, [r0] @@ -109650,7 +109650,7 @@ _0217cfc0: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0217cedc -_0217d008: .word data_027e0e60 +_0217d008: .word gMapManager _0217d00c: .word data_027e0e58 _0217d010: .word 0x000009ec _0217d014: .word data_027e0ffc @@ -110238,7 +110238,7 @@ _0217d79c: str r1, [sp, #4] str r0, [sp] _0217d7b0: - ldr r0, _0217d860 ; =data_027e0e60 + ldr r0, _0217d860 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082504Ev mov r1, r0 @@ -110285,7 +110285,7 @@ _0217d82c: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0217d740 -_0217d860: .word data_027e0e60 +_0217d860: .word gMapManager _0217d864: .word 0xffffda66 _0217d868: .word data_027e0f68 @@ -110624,7 +110624,7 @@ func_ov15_0217dc4c: ; 0x0217dc4c ldrsh r2, [r3, r2] blx func_01ff8214 ldr r1, [r4, #0x48] - ldr r0, _0217dd0c ; =data_027e0e60 + ldr r0, _0217dd0c ; =gMapManager str r1, [sp, #0xc] ldr r1, [r4, #0x4c] mov r2, #0 @@ -110655,7 +110655,7 @@ func_ov15_0217dc4c: ; 0x0217dc4c .align 2, 0 arm_func_end func_ov15_0217dc4c _0217dd08: .word data_02050f54 -_0217dd0c: .word data_027e0e60 +_0217dd0c: .word gMapManager .global func_ov15_0217dd10 arm_func_start func_ov15_0217dd10 @@ -113042,7 +113042,7 @@ func_ov15_0217fc40: ; 0x0217fc40 stmdb sp!, {r4, lr} ldr r1, _0217fd58 ; =data_ov15_0218e8e8 mov r4, r0 - ldr r0, _0217fd5c ; =data_027e0e60 + ldr r0, _0217fd5c ; =gMapManager str r1, [r4] add r1, r4, #0x4c ldr r0, [r0] @@ -113113,7 +113113,7 @@ _0217fc94: .align 2, 0 arm_func_end func_ov15_0217fc40 _0217fd58: .word data_ov15_0218e8e8 -_0217fd5c: .word data_027e0e60 +_0217fd5c: .word gMapManager _0217fd60: .word data_027e10a4 .global func_ov15_0217fd64 @@ -113122,7 +113122,7 @@ func_ov15_0217fd64: ; 0x0217fd64 stmdb sp!, {r4, lr} ldr r1, _0217fe84 ; =data_ov15_0218e8e8 mov r4, r0 - ldr r0, _0217fe88 ; =data_027e0e60 + ldr r0, _0217fe88 ; =gMapManager str r1, [r4] add r1, r4, #0x4c ldr r0, [r0] @@ -113195,7 +113195,7 @@ _0217fdb8: .align 2, 0 arm_func_end func_ov15_0217fd64 _0217fe84: .word data_ov15_0218e8e8 -_0217fe88: .word data_027e0e60 +_0217fe88: .word gMapManager _0217fe8c: .word data_027e10a4 .global func_ov15_0217fe90 @@ -113494,7 +113494,7 @@ _021802a4: b _021802e8 _021802c4: mov r1, #0x1000 - ldr r0, _0218034c ; =data_027e0e60 + ldr r0, _0218034c ; =gMapManager str r1, [r4, #0x37c] add r1, r4, #0x4c ldr r0, [r0] @@ -113531,7 +113531,7 @@ _0218033c: .word 0xcccccccd _02180340: .word 0x00000708 _02180344: .word data_027e0fe8 _02180348: .word 0x4852434e -_0218034c: .word data_027e0e60 +_0218034c: .word gMapManager _02180350: .word 0x0000ffff .global func_ov15_02180354 @@ -114101,7 +114101,7 @@ _02180b9c: bge _02180bd4 cmp r0, #0 beq _02180bf8 - ldr r0, _02180c50 ; =data_027e0e60 + ldr r0, _02180c50 ; =gMapManager add r1, r5, #0x4c ldr r0, [r0] add r1, r1, #0x400 @@ -114112,7 +114112,7 @@ _02180b9c: _02180bd4: cmp r0, #0 bne _02180bf8 - ldr r0, _02180c50 ; =data_027e0e60 + ldr r0, _02180c50 ; =gMapManager add r1, r5, #0x4c ldr r0, [r0] add r1, r1, #0x400 @@ -114145,7 +114145,7 @@ _02180c1c: .align 2, 0 arm_func_end func_ov15_02180af0 _02180c4c: .word 0x0000ffff -_02180c50: .word data_027e0e60 +_02180c50: .word gMapManager _02180c54: .word data_ov15_0218e8c8 _02180c58: .word data_ov15_0218e8d4 _02180c5c: .word data_ov15_02190458 @@ -114832,7 +114832,7 @@ func_ov15_021815b0: ; 0x021815b0 ldr r0, [r1] add r1, r5, #0x36c bl _ZN12ActorManager8GetActorEP8ActorRef - ldr r2, _02181610 ; =data_027e0e60 + ldr r2, _02181610 ; =gMapManager mov r4, r0 ldr r0, [r2] ldrh r1, [r5, #0x26] @@ -114852,7 +114852,7 @@ func_ov15_021815b0: ; 0x021815b0 .align 2, 0 arm_func_end func_ov15_021815b0 _0218160c: .word data_027e0fe4 -_02181610: .word data_027e0e60 +_02181610: .word gMapManager _02181614: .word data_027e0f94 .global func_ov15_02181618 @@ -115634,7 +115634,7 @@ _0218212c: ; jump table b _021824dc ; case 3 b _0218251c ; case 4 _02182140: - ldr r0, _0218257c ; =data_027e0e60 + ldr r0, _0218257c ; =gMapManager ldrh r1, [r4, #0x26] ldr r0, [r0] mov r2, #0 @@ -115912,7 +115912,7 @@ _02182548: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02182110 -_0218257c: .word data_027e0e60 +_0218257c: .word gMapManager _02182580: .word data_027e0f94 _02182584: .word data_027e0f64 _02182588: .word gAdventureFlags @@ -116038,7 +116038,7 @@ func_ov15_021826ac: ; 0x021826ac mov r0, r5 mov r2, r5 bl func_01ff9bc4 - ldr r3, _02182808 ; =data_027e0e60 + ldr r3, _02182808 ; =gMapManager add r7, sp, #0xc ldmia r5, {r0, r1, r2} stmia r7, {r0, r1, r2} @@ -116090,7 +116090,7 @@ _021827f8: .word 0x00001770 _021827fc: .word data_027e0fac _02182800: .word 0x000008a4 _02182804: .word 0xfffffae1 -_02182808: .word data_027e0e60 +_02182808: .word gMapManager _0218280c: .word 0x00001333 .global func_ov15_02182810 @@ -116121,7 +116121,7 @@ func_ov15_02182810: ; 0x02182810 str r1, [r4, #0x334] ldrsh ip, [r0, #0x98] ldrsh r3, [r0, #0x9a] - ldr r2, _021829e4 ; =data_027e0e60 + ldr r2, _021829e4 ; =gMapManager add r1, sp, #0x20 add r3, ip, r3 strh r3, [r0, #0x98] @@ -116218,7 +116218,7 @@ _0218291c: .align 2, 0 arm_func_end func_ov15_02182810 _021829e0: .word 0x00000133 -_021829e4: .word data_027e0e60 +_021829e4: .word gMapManager _021829e8: .word data_027e10a4 _021829ec: .word data_027e0f64 @@ -116758,7 +116758,7 @@ _02182ff0: ldr r0, [sp, #0x28] ldr r1, [sp, #0x24] str r0, [sp, #0x1c] - ldr r0, _02183248 ; =data_027e0e60 + ldr r0, _02183248 ; =gMapManager str r1, [sp, #0x18] ldr r1, [sp, #0x2c] ldr r0, [r0] @@ -116878,7 +116878,7 @@ _021831d4: arm_func_end func_ov15_02182fc0 _02183240: .word data_027e0f64 _02183244: .word data_027e0f94 -_02183248: .word data_027e0e60 +_02183248: .word gMapManager _0218324c: .word data_02050f54 .global func_ov15_02183250 @@ -118300,7 +118300,7 @@ func_ov15_02184540: ; 0x02184540 bl func_ov00_020a5e9c cmp r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _021845e4 ; =data_027e0e60 + ldr r0, _021845e4 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d08Ev ldrb r1, [r4, #0x54] @@ -118328,7 +118328,7 @@ _021845b4: strb r0, [r4, #0x55] mvn r1, #0x80000000 str r1, [r4, #0x48] - ldr r0, _021845e4 ; =data_027e0e60 + ldr r0, _021845e4 ; =gMapManager str r1, [r4, #0x3c] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d08Ev @@ -118337,7 +118337,7 @@ _021845b4: .align 2, 0 arm_func_end func_ov15_02184540 _021845e0: .word data_027e0d38 -_021845e4: .word data_027e0e60 +_021845e4: .word gMapManager .global func_ov15_021845e8 arm_func_start func_ov15_021845e8 @@ -118350,7 +118350,7 @@ func_ov15_021845e8: ; 0x021845e8 bl func_ov00_020a5e9c cmp r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _02184640 ; =data_027e0e60 + ldr r0, _02184640 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d08Ev ldrb r1, [r4, #0x64] @@ -118366,7 +118366,7 @@ func_ov15_021845e8: ; 0x021845e8 .align 2, 0 arm_func_end func_ov15_021845e8 _0218463c: .word data_027e0d38 -_02184640: .word data_027e0e60 +_02184640: .word gMapManager .global func_ov15_02184644 arm_func_start func_ov15_02184644 @@ -118379,7 +118379,7 @@ func_ov15_02184644: ; 0x02184644 bl func_ov00_020a5e9c cmp r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _021846f4 ; =data_027e0e60 + ldr r0, _021846f4 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d08Ev ldrb r1, [r4, #0xc3] @@ -118419,7 +118419,7 @@ _021846c8: .align 2, 0 arm_func_end func_ov15_02184644 _021846f0: .word data_027e0d38 -_021846f4: .word data_027e0e60 +_021846f4: .word gMapManager .global func_ov15_021846f8 arm_func_start func_ov15_021846f8 diff --git a/asm/ov17.inc b/asm/ov17.inc index 5506da16..d717b493 100644 --- a/asm/ov17.inc +++ b/asm/ov17.inc @@ -90,7 +90,7 @@ .extern data_027e0d38 .extern data_027e0d3c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov17.s b/asm/ov17.s index 0a7e68c5..25a4180f 100644 --- a/asm/ov17.s +++ b/asm/ov17.s @@ -768,7 +768,7 @@ func_ov17_0215bbd4: ; 0x0215bbd4 sub sp, sp, #0x1c mov r6, r2 mov r7, r1 - ldr r2, _0215bd28 ; =data_027e0e60 + ldr r2, _0215bd28 ; =gMapManager mov r8, r0 ldrb r1, [r6, #1] ldr r0, [r2] @@ -780,7 +780,7 @@ func_ov17_0215bbd4: ; 0x0215bbd4 mov r1, r6 ldr r2, [r2, #0x60] blx r2 - ldr r1, _0215bd28 ; =data_027e0e60 + ldr r1, _0215bd28 ; =gMapManager mov r9, r0 ldr r0, [r1] ldrb r1, [r6] @@ -858,7 +858,7 @@ _0215bd1c: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov17_0215bbd4 -_0215bd28: .word data_027e0e60 +_0215bd28: .word gMapManager _0215bd2c: .word data_027e0f68 .global func_ov17_0215bd30 @@ -1139,7 +1139,7 @@ func_ov17_0215bf8c: ; 0x0215bf8c sub r0, r0, #4 str r0, [r4, #0x18] ldr r1, [r4, #0x20] - ldr r0, _0215c0fc ; =data_027e0e60 + ldr r0, _0215c0fc ; =gMapManager sub r1, r1, #4 str r1, [r4, #0x20] ldrsh r1, [r4, #0x34] @@ -1164,7 +1164,7 @@ _0215c0e4: .align 2, 0 arm_func_end func_ov17_0215bf8c _0215c0f8: .word 0x00001333 -_0215c0fc: .word data_027e0e60 +_0215c0fc: .word gMapManager .global func_ov17_0215c100 arm_func_start func_ov17_0215c100 @@ -1324,7 +1324,7 @@ _0215c2f4: mov r0, #0x1f strb r0, [r5, #0xd1] ldr r1, [r5, #4] - ldr r0, _0215c654 ; =data_027e0e60 + ldr r0, _0215c654 ; =gMapManager orr r1, r1, #0x14 str r1, [r5, #4] ldr r0, [r0] @@ -1500,7 +1500,7 @@ _0215c598: bic r0, r0, #4 str r0, [r5, #4] strb r1, [r5, #0x3c] - ldr r0, _0215c654 ; =data_027e0e60 + ldr r0, _0215c654 ; =gMapManager add r1, r5, #0x38 ldr r0, [r0] mov r2, #1 @@ -1535,7 +1535,7 @@ _0215c5fc: mov r2, #1 bl func_ov00_0208ba08 _0215c634: - ldr r0, _0215c654 ; =data_027e0e60 + ldr r0, _0215c654 ; =gMapManager ldrsh r1, [r5, #0x34] ldr r0, [r0] mov r2, #1 @@ -1546,7 +1546,7 @@ _0215c648: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov17_0215c2bc -_0215c654: .word data_027e0e60 +_0215c654: .word gMapManager _0215c658: .word gAdventureFlags _0215c65c: .word data_027e0e58 _0215c660: .word data_027e0ffc @@ -1821,7 +1821,7 @@ func_ov17_0215c940: ; 0x0215c940 cmp r0, #1 bne _0215c9c4 ldr r0, [r4, #0x18] - ldr r1, _0215ca64 ; =data_027e0e60 + ldr r1, _0215ca64 ; =gMapManager add r0, r0, #0x3fc add r0, r0, #0x400 str r0, [r4, #0x18] @@ -1834,7 +1834,7 @@ func_ov17_0215c940: ; 0x0215c940 strb r3, [sp, #5] bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r2, [sp, #4] - ldr r0, _0215ca64 ; =data_027e0e60 + ldr r0, _0215ca64 ; =gMapManager add r1, sp, #4 add r3, r2, #1 ldr r0, [r0] @@ -1884,7 +1884,7 @@ _0215c9c4: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_0215c940 -_0215ca64: .word data_027e0e60 +_0215ca64: .word gMapManager _0215ca68: .word data_027e0f68 _0215ca6c: .word 0x000004cd @@ -1897,7 +1897,7 @@ func_ov17_0215ca70: ; 0x0215ca70 ldrh r0, [r4, #0x24] cmp r0, #1 bne _0215cabc - ldr r0, _0215cba0 ; =data_027e0e60 + ldr r0, _0215cba0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -1965,7 +1965,7 @@ _0215cb6c: mov r2, #1 blx r3 _0215cb84: - ldr r0, _0215cba0 ; =data_027e0e60 + ldr r0, _0215cba0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 @@ -1974,7 +1974,7 @@ _0215cb84: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_0215ca70 -_0215cba0: .word data_027e0e60 +_0215cba0: .word gMapManager _0215cba4: .word data_027e0fe4 .global func_ov17_0215cba8 @@ -2216,7 +2216,7 @@ func_ov17_0215ce24: ; 0x0215ce24 movne r0, #0 ldmneia sp!, {r4, r5, pc} ldr r1, [sp, #4] - ldr r0, _0215cee8 ; =data_027e0e60 + ldr r0, _0215cee8 ; =gMapManager str r1, [r4] ldr r1, [r0] add r0, sp, #0 @@ -2236,7 +2236,7 @@ func_ov17_0215ce24: ; 0x0215ce24 arm_func_end func_ov17_0215ce24 _0215cee0: .word data_027e0fe4 _0215cee4: .word 0x43525953 -_0215cee8: .word data_027e0e60 +_0215cee8: .word gMapManager .global func_ov17_0215ceec arm_func_start func_ov17_0215ceec @@ -2488,7 +2488,7 @@ _0215d1ec: mov r2, r0 bl func_01ff9bc4 ldr r3, _0215d478 ; =data_027e0d0c - ldr r1, _0215d47c ; =data_027e0e60 + ldr r1, _0215d47c ; =gMapManager ldr r2, [r3] add r0, sp, #0 str r2, [r4, #0x208] @@ -2653,7 +2653,7 @@ _0215d46c: .word 0x0000019a _0215d470: .word 0xfffffe3d _0215d474: .word 0x000001c3 _0215d478: .word data_027e0d0c -_0215d47c: .word data_027e0e60 +_0215d47c: .word gMapManager _0215d480: .word data_027e0ffc .global func_ov17_0215d484 @@ -2926,7 +2926,7 @@ func_ov17_0215d7bc: ; 0x0215d7bc mov lr, #4 str r1, [sp, #0x24] ldr r1, [r4, #0x50] - ldr ip, _0215d8b0 ; =data_027e0e60 + ldr ip, _0215d8b0 ; =gMapManager str r1, [sp, #0x28] ldr r2, [r4, #0x48] add r1, sp, #0x2c @@ -2960,7 +2960,7 @@ func_ov17_0215d7bc: ; 0x0215d7bc .align 2, 0 arm_func_end func_ov17_0215d7bc _0215d8ac: .word 0x0000ffff -_0215d8b0: .word data_027e0e60 +_0215d8b0: .word gMapManager _0215d8b4: .word data_ov17_0216bc64 .global func_ov17_0215d8b8 @@ -3501,7 +3501,7 @@ _0215dfec: .word func_01ff9bc4 func_ov17_0215dff0: ; 0x0215dff0 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #8 - ldr r2, _0215e1b4 ; =data_027e0e60 + ldr r2, _0215e1b4 ; =gMapManager mov r11, r1 ldr r1, [r2] mov r10, r0 @@ -3509,7 +3509,7 @@ func_ov17_0215dff0: ; 0x0215dff0 mov r2, r11 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r7, #0 - ldr r4, _0215e1b4 ; =data_027e0e60 + ldr r4, _0215e1b4 ; =gMapManager str r7, [r10, #0x1ec] add r6, sp, #4 _0215e024: @@ -3618,7 +3618,7 @@ _0215e090: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov17_0215dff0 -_0215e1b4: .word data_027e0e60 +_0215e1b4: .word gMapManager _0215e1b8: .word data_ov17_0216bc64 _0215e1bc: .word data_027e0e58 @@ -3744,7 +3744,7 @@ _0215e334: .word func_ov00_020b7d74 arm_func_start func_ov17_0215e338 func_ov17_0215e338: ; 0x0215e338 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - ldr r2, _0215e460 ; =data_027e0e60 + ldr r2, _0215e460 ; =gMapManager mov r11, r1 ldr r1, [r2] mov r10, r0 @@ -3752,7 +3752,7 @@ func_ov17_0215e338: ; 0x0215e338 mov r2, r11 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mov r7, #0 - ldr r4, _0215e460 ; =data_027e0e60 + ldr r4, _0215e460 ; =gMapManager str r7, [r10, #0x250] add r6, sp, #0 _0215e368: @@ -3823,7 +3823,7 @@ _0215e3e4: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov17_0215e338 -_0215e460: .word data_027e0e60 +_0215e460: .word gMapManager .global func_ov17_0215e464 arm_func_start func_ov17_0215e464 @@ -4848,12 +4848,12 @@ func_ov17_0215f16c: ; 0x0215f16c bl func_ov17_0215f874 b _0215f2b8 _0215f25c: - ldr r1, _0215f2e0 ; =data_027e0e60 + ldr r1, _0215f2e0 ; =gMapManager add r0, sp, #0 ldr r1, [r1] add r2, r4, #0x48 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - ldr r0, _0215f2e0 ; =data_027e0e60 + ldr r0, _0215f2e0 ; =gMapManager add r1, sp, #0 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -4885,7 +4885,7 @@ _0215f2d0: .word gItemManager _0215f2d4: .word data_027e0fc4 _0215f2d8: .word 0x00000733 _0215f2dc: .word data_ov17_0216b0d0 -_0215f2e0: .word data_027e0e60 +_0215f2e0: .word gMapManager .global func_ov17_0215f2e4 arm_func_start func_ov17_0215f2e4 @@ -5302,12 +5302,12 @@ func_ov17_0215f874: ; 0x0215f874 mov r1, #2 mov r4, r0 bl func_ov17_0215f2e4 - ldr r1, _0215f904 ; =data_027e0e60 + ldr r1, _0215f904 ; =gMapManager add r0, sp, #0 ldr r1, [r1] mov r2, r5 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - ldr r0, _0215f904 ; =data_027e0e60 + ldr r0, _0215f904 ; =gMapManager add r1, sp, #0 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -5335,7 +5335,7 @@ func_ov17_0215f874: ; 0x0215f874 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov17_0215f874 -_0215f904: .word data_027e0e60 +_0215f904: .word gMapManager .global func_ov17_0215f908 arm_func_start func_ov17_0215f908 @@ -5397,7 +5397,7 @@ func_ov17_0215f9a0: ; 0x0215f9a0 cmp r0, #2 bne _0215fa00 ldr r1, [r4, #0x48] - ldr r0, _0215fa20 ; =data_027e0e60 + ldr r0, _0215fa20 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -5425,7 +5425,7 @@ _0215fa00: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov17_0215f9a0 -_0215fa20: .word data_027e0e60 +_0215fa20: .word gMapManager .global func_ov17_0215fa24 arm_func_start func_ov17_0215fa24 @@ -5582,7 +5582,7 @@ _0215fb50: cmp r4, r0 bgt _0215fb88 _0215fb5e: - ldr r0, _0215fba4 ; =data_027e0e60 + ldr r0, _0215fba4 ; =gMapManager ldr r7, [r0] add r0, r4, #0 blx func_ov03_020f8068 @@ -5621,7 +5621,7 @@ _0215fb96: pop {r3, r4, r5, r6, r7, pc} nop thumb_func_end func_ov17_0215faf0 -_0215fba4: .word data_027e0e60 +_0215fba4: .word gMapManager .global func_ov17_0215fba8 arm_func_start func_ov17_0215fba8 @@ -5655,7 +5655,7 @@ func_ov17_0215fbd8: ; 0x0215fbd8 mov r1, #0 movge r6, #6 bl func_ov17_02160274 - ldr r11, _0215fcd0 ; =data_027e0e60 + ldr r11, _0215fcd0 ; =gMapManager mov r4, r7 add r5, r7, #4 mov r9, #0 @@ -5711,7 +5711,7 @@ _0215fcb4: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov17_0215fbd8 -_0215fcd0: .word data_027e0e60 +_0215fcd0: .word gMapManager .global func_ov17_0215fcd4 arm_func_start func_ov17_0215fcd4 @@ -5745,7 +5745,7 @@ _0215fd1c: cmp r7, r6 bgt _0215fd7c _0215fd3c: - ldr r0, _0215ff20 ; =data_027e0e60 + ldr r0, _0215ff20 ; =gMapManager ldr r8, [r0] mov r0, r7 bl func_ov03_020f8068 @@ -5879,7 +5879,7 @@ _0215ff14: .align 2, 0 arm_func_end func_ov17_0215fcd4 _0215ff1c: .word 0x0001869f -_0215ff20: .word data_027e0e60 +_0215ff20: .word gMapManager _0215ff24: .word data_027e1054 _0215ff28: .word data_ov00_020eec9c _0215ff2c: .word data_027e077c @@ -5930,7 +5930,7 @@ _0215ffcc: mov r0, r10 mov r1, r5 bl func_ov17_02160274 - ldr r1, _021600e8 ; =data_027e0e60 + ldr r1, _021600e8 ; =gMapManager mov r4, r0 ldr r6, [r1] bl func_ov03_020f8068 @@ -6002,7 +6002,7 @@ _02160098: arm_func_end func_ov17_0215ff30 _021600e0: .word data_027e0618 _021600e4: .word data_ov17_0216bfb4 -_021600e8: .word data_027e0e60 +_021600e8: .word gMapManager _021600ec: .word data_027e077c .global func_ov17_021600f0 @@ -6724,7 +6724,7 @@ _021608d4: add r1, r4, #0x1b8 bl func_ov00_020c522c ldr r1, [r4, #0x1b8] - ldr r0, _02160950 ; =data_027e0e60 + ldr r0, _02160950 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x1bc] ldr r0, [r0] @@ -6755,7 +6755,7 @@ _02160934: arm_func_end func_ov17_021607b8 _02160948: .word data_027e0fec _0216094c: .word 0x00000333 -_02160950: .word data_027e0e60 +_02160950: .word gMapManager .global func_ov17_02160954 arm_func_start func_ov17_02160954 @@ -6931,7 +6931,7 @@ _02160b10: addeq sp, sp, #0x20 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r5, #0x48] - ldr r0, _02160e5c ; =data_027e0e60 + ldr r0, _02160e5c ; =gMapManager str r1, [sp, #0x14] ldr r2, [r5, #0x4c] ldr r1, [r0] @@ -7003,7 +7003,7 @@ _02160c28: cmp r0, #0 beq _02160d68 ldr r1, [r5, #0x48] - ldr r0, _02160e5c ; =data_027e0e60 + ldr r0, _02160e5c ; =gMapManager str r1, [sp, #8] ldr r2, [r5, #0x4c] ldr r1, [r0] @@ -7139,7 +7139,7 @@ _02160e54: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov17_02160a78 -_02160e5c: .word data_027e0e60 +_02160e5c: .word gMapManager _02160e60: .word data_027e0ffc _02160e64: .word 0x000001ab _02160e68: .word 0xfffffe66 @@ -7607,14 +7607,14 @@ _02161404: cmpne r0, #1 mov r2, #0 bne _02161468 - ldr r0, _021614f0 ; =data_027e0e60 + ldr r0, _021614f0 ; =gMapManager add r1, r5, #0x18 ldr r0, [r0] mov r3, #2 bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _021614dc _02161468: - ldr r0, _021614f0 ; =data_027e0e60 + ldr r0, _021614f0 ; =gMapManager add r1, r5, #0x18 ldr r0, [r0] mov r3, #1 @@ -7638,7 +7638,7 @@ _021614a8: mov r0, r5 mov r2, r1 bl func_ov00_0208ba08 - ldr r0, _021614f0 ; =data_027e0e60 + ldr r0, _021614f0 ; =gMapManager ldrh r1, [r5, #0x24] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083840Ei @@ -7655,7 +7655,7 @@ _021614dc: arm_func_end func_ov17_021612b0 _021614e8: .word data_ov17_0216b0d8 _021614ec: .word gAdventureFlags -_021614f0: .word data_027e0e60 +_021614f0: .word gMapManager .global func_ov17_021614f4 arm_func_start func_ov17_021614f4 @@ -7746,7 +7746,7 @@ func_ov17_0216161c: ; 0x0216161c cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} - ldr r0, _02161678 ; =data_027e0e60 + ldr r0, _02161678 ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 @@ -7766,7 +7766,7 @@ _02161670: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_0216161c -_02161678: .word data_027e0e60 +_02161678: .word gMapManager _0216167c: .word data_027e0fe4 .global func_ov17_02161680 @@ -7774,7 +7774,7 @@ _0216167c: .word data_027e0fe4 func_ov17_02161680: ; 0x02161680 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _021616e8 ; =data_027e0e60 + ldr r0, _021616e8 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -7792,7 +7792,7 @@ func_ov17_02161680: ; 0x02161680 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _021616e8 ; =data_027e0e60 + ldr r0, _021616e8 ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083840Ei @@ -7800,14 +7800,14 @@ func_ov17_02161680: ; 0x02161680 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_02161680 -_021616e8: .word data_027e0e60 +_021616e8: .word gMapManager .global func_ov17_021616ec arm_func_start func_ov17_021616ec func_ov17_021616ec: ; 0x021616ec stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _0216179c ; =data_027e0e60 + ldr r0, _0216179c ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -7835,7 +7835,7 @@ func_ov17_021616ec: ; 0x021616ec cmp r1, r0 movne r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _0216179c ; =data_027e0e60 + ldr r0, _0216179c ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 @@ -7843,7 +7843,7 @@ func_ov17_021616ec: ; 0x021616ec cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _0216179c ; =data_027e0e60 + ldr r0, _0216179c ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083790Ei @@ -7851,7 +7851,7 @@ func_ov17_021616ec: ; 0x021616ec ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_021616ec -_0216179c: .word data_027e0e60 +_0216179c: .word gMapManager _021617a0: .word data_027e0d38 _021617a4: .word data_027e077c @@ -9449,7 +9449,7 @@ func_ov17_02162afc: ; 0x02162afc ldr ip, [ip, #0x10] add r1, sp, #8 blx ip - ldr r0, _02162bec ; =data_027e0e60 + ldr r0, _02162bec ; =gMapManager ldr r1, [r0] ldrb r1, [r1, #8] strb r1, [r4, #0x60] @@ -9475,7 +9475,7 @@ _02162bd0: .align 2, 0 arm_func_end func_ov17_02162afc _02162be8: .word 0x00001333 -_02162bec: .word data_027e0e60 +_02162bec: .word gMapManager .global func_ov17_02162bf0 arm_func_start func_ov17_02162bf0 @@ -9494,7 +9494,7 @@ func_ov17_02162bf0: ; 0x02162bf0 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r5, #0x64] - ldr r0, _02162cf4 ; =data_027e0e60 + ldr r0, _02162cf4 ; =gMapManager add r1, r1, #1 str r1, [r5, #0x64] ldr r1, [r5, #0x68] @@ -9520,7 +9520,7 @@ _02162c78: mov r2, #0 blx r3 _02162c88: - ldr r1, _02162cf4 ; =data_027e0e60 + ldr r1, _02162cf4 ; =gMapManager ldr r0, _02162cf8 ; =data_027e0f64 ldr r2, [r1] add r1, sp, #0 @@ -9550,7 +9550,7 @@ _02162ce0: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov17_02162bf0 -_02162cf4: .word data_027e0e60 +_02162cf4: .word gMapManager _02162cf8: .word data_027e0f64 _02162cfc: .word data_027e0e58 @@ -9628,7 +9628,7 @@ func_ov17_02162dd0: ; 0x02162dd0 cmp r0, #0x19 movlt r0, #1 ldmltia sp!, {r4, pc} - ldr r0, _02162e78 ; =data_027e0e60 + ldr r0, _02162e78 ; =gMapManager mov r3, #0 ldr r1, [r0] add r2, r4, #0x18 @@ -9642,7 +9642,7 @@ func_ov17_02162dd0: ; 0x02162dd0 ldr r1, _02162e80 ; =0x000001a9 str r3, [r4, #0x68] bl func_ov00_020ceacc - ldr r0, _02162e78 ; =data_027e0e60 + ldr r0, _02162e78 ; =gMapManager ldr r0, [r0] ldrb r0, [r0, #8] cmp r0, #0 @@ -9664,7 +9664,7 @@ _02162e70: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_02162dd0 -_02162e78: .word data_027e0e60 +_02162e78: .word gMapManager _02162e7c: .word data_027e0ffc _02162e80: .word 0x000001a9 @@ -10926,10 +10926,10 @@ func_ov17_02163e24: ; 0x02163e24 ldrb r0, [r0, #0x71] cmp r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _02163ecc ; =data_027e0e60 + ldr r0, _02163ecc ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk28Ev - ldr r1, _02163ecc ; =data_027e0e60 + ldr r1, _02163ecc ; =gMapManager mov r11, r0 ldr r0, [r1] bl _ZN10MapManager17Get_MapData_Unk2aEv @@ -10937,7 +10937,7 @@ func_ov17_02163e24: ; 0x02163e24 mov r9, #0 cmp r11, #0 ldmleia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r4, _02163ecc ; =data_027e0e60 + ldr r4, _02163ecc ; =gMapManager add r6, sp, #0 _02163e68: mov r10, #0 @@ -10970,7 +10970,7 @@ _02163ebc: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov17_02163e24 -_02163ecc: .word data_027e0e60 +_02163ecc: .word gMapManager .global func_ov17_02163ed0 arm_func_start func_ov17_02163ed0 @@ -11050,7 +11050,7 @@ _02163fbc: strb r0, [r4, #0x3c] mov r2, #0 str r2, [r4, #0x68] - ldr r0, _02164084 ; =data_027e0e60 + ldr r0, _02164084 ; =gMapManager str r2, [r4, #0x6c] ldr r0, [r0] add r1, r4, #0x38 @@ -11061,7 +11061,7 @@ _02163fe4: strb r0, [r4, #0x3c] ldr r1, _02164088 ; =0xfffff666 str r0, [r4, #0x68] - ldr r0, _02164084 ; =data_027e0e60 + ldr r0, _02164084 ; =gMapManager str r1, [r4, #0x6c] ldr r0, [r0] add r1, r4, #0x38 @@ -11072,7 +11072,7 @@ _02164010: mov r0, #1 strb r0, [r4, #0x3c] mov r2, #0 - ldr r0, _02164084 ; =data_027e0e60 + ldr r0, _02164084 ; =gMapManager str r2, [r4, #0x68] ldr r0, [r0] add r1, r4, #0x38 @@ -11086,7 +11086,7 @@ _02164010: _02164048: mov r1, #0 strb r1, [r4, #0x3c] - ldr r0, _02164084 ; =data_027e0e60 + ldr r0, _02164084 ; =gMapManager str r1, [r4, #0x68] ldr r0, [r0] add r1, r4, #0x38 @@ -11102,7 +11102,7 @@ _0216407c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov17_02163f90 -_02164084: .word data_027e0e60 +_02164084: .word gMapManager _02164088: .word 0xfffff666 .global func_ov17_0216408c @@ -11119,7 +11119,7 @@ func_ov17_0216408c: ; 0x0216408c beq _021640d4 cmp r3, #1 bne _021640d4 - ldr ip, _021640fc ; =data_027e0e60 + ldr ip, _021640fc ; =gMapManager mov r3, #0xc ldr ip, [ip] ldrb ip, [ip, #8] @@ -11127,7 +11127,7 @@ func_ov17_0216408c: ; 0x0216408c movne r1, #0x36 b _021640ec _021640d4: - ldr ip, _021640fc ; =data_027e0e60 + ldr ip, _021640fc ; =gMapManager mov r3, #0xb ldr ip, [ip] ldrb ip, [ip, #8] @@ -11140,7 +11140,7 @@ _021640ec: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov17_0216408c -_021640fc: .word data_027e0e60 +_021640fc: .word gMapManager .global func_ov17_02164100 arm_func_start func_ov17_02164100 @@ -11166,7 +11166,7 @@ func_ov17_02164120: ; 0x02164120 beq _02164178 cmp r1, #1 ldmneia sp!, {r3, pc} - ldr r1, _02164280 ; =data_027e0e60 + ldr r1, _02164280 ; =gMapManager ldr r3, [r0] ldr r1, [r1] ldrb r1, [r1, #8] @@ -11182,7 +11182,7 @@ _02164168: blx r3 ldmia sp!, {r3, pc} _02164178: - ldr r1, _02164280 ; =data_027e0e60 + ldr r1, _02164280 ; =gMapManager ldr r3, [r0] ldr r1, [r1] ldrb r1, [r1, #8] @@ -11202,7 +11202,7 @@ _021641b0: beq _02164220 cmp r1, #1 ldmneia sp!, {r3, pc} - ldr r1, _02164280 ; =data_027e0e60 + ldr r1, _02164280 ; =gMapManager ldr r1, [r1] ldrb r1, [r1, #8] cmp r1, #0 @@ -11228,7 +11228,7 @@ _021641fc: blx r3 ldmia sp!, {r3, pc} _02164220: - ldr r1, _02164280 ; =data_027e0e60 + ldr r1, _02164280 ; =gMapManager ldr r1, [r1] ldrb r1, [r1, #8] cmp r1, #0 @@ -11255,7 +11255,7 @@ _0216425c: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov17_02164120 -_02164280: .word data_027e0e60 +_02164280: .word gMapManager .global func_ov17_02164284 arm_func_start func_ov17_02164284 @@ -11268,7 +11268,7 @@ func_ov17_02164284: ; 0x02164284 addne sp, sp, #0x10 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldrb r0, [r10, #0x14] - ldr r1, _02164474 ; =data_027e0e60 + ldr r1, _02164474 ; =gMapManager str r0, [sp, #4] ldrb r0, [r10, #0x15] str r0, [sp] @@ -11282,17 +11282,17 @@ func_ov17_02164284: ; 0x02164284 ldr r1, [sp, #8] cmp r1, r0 blt _021642ec - ldr r0, _02164474 ; =data_027e0e60 + ldr r0, _02164474 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #8] _021642ec: - ldr r0, _02164474 ; =data_027e0e60 + ldr r0, _02164474 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk2aEv cmp r7, r0 blt _02164310 - ldr r0, _02164474 ; =data_027e0e60 + ldr r0, _02164474 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk2aEv mov r7, r0 @@ -11301,7 +11301,7 @@ _02164310: mov r0, r8 cmp r0, r7 bge _0216438c - ldr r9, _02164474 ; =data_027e0e60 + ldr r9, _02164474 ; =gMapManager mov r4, #0 add r6, sp, #0xe _0216432c: @@ -11354,7 +11354,7 @@ _021643b4: ldr r0, [sp, #4] and r6, r0, #0xff _021643e0: - ldr r0, _02164474 ; =data_027e0e60 + ldr r0, _02164474 ; =gMapManager mov r1, r11 ldr r0, [r0] strb r6, [sp, #0xc] @@ -11397,7 +11397,7 @@ _02164464: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov17_02164284 -_02164474: .word data_027e0e60 +_02164474: .word gMapManager .global func_ov17_02164478 arm_func_start func_ov17_02164478 @@ -12425,10 +12425,10 @@ _021651b0: movne r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _021651c0: - ldr r0, _02165280 ; =data_027e0e60 + ldr r0, _02165280 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk28Ev - ldr r1, _02165280 ; =data_027e0e60 + ldr r1, _02165280 ; =gMapManager and r11, r0, #0xff ldr r0, [r1] bl _ZN10MapManager17Get_MapData_Unk2aEv @@ -12438,7 +12438,7 @@ _021651c0: cmp r11, #0 and r7, r0, #0xff bls _02165278 - ldr r4, _02165280 ; =data_027e0e60 + ldr r4, _02165280 ; =gMapManager add r6, sp, #0 _021651fc: mov r9, #0 @@ -12480,7 +12480,7 @@ _02165278: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov17_0216517c -_02165280: .word data_027e0e60 +_02165280: .word gMapManager .global func_ov17_02165284 arm_func_start func_ov17_02165284 @@ -13051,7 +13051,7 @@ _02165770: add sp, #8 pop {r4, pc} _0216577e: - ldr r0, _021657b8 ; =data_027e0e60 + ldr r0, _021657b8 ; =gMapManager ldr r0, [r0] blx _ZN10MapManager21GetCourseData_Unk_25dEv cmp r0, #0 @@ -13080,7 +13080,7 @@ _021657b0: .align 2, 0 thumb_func_end func_ov17_02165700 _021657b4: .word data_027e0e58 -_021657b8: .word data_027e0e60 +_021657b8: .word gMapManager .global func_ov17_021657bc arm_func_start func_ov17_021657bc @@ -13508,7 +13508,7 @@ _02165d80: ldr r0, [r4, #0x15c] cmp r0, #1 bne _02165de8 - ldr r0, _02165e44 ; =data_027e0e60 + ldr r0, _02165e44 ; =gMapManager mov r1, #1 ldr r0, [r0] bl _ZN10MapManager21SetCourseData_Unk_25cEc @@ -13549,7 +13549,7 @@ _02165e2c: _02165e38: .word data_027e0f6c _02165e3c: .word data_027e0e58 _02165e40: .word gAdventureFlags -_02165e44: .word data_027e0e60 +_02165e44: .word gMapManager .global func_ov17_02165e48 arm_func_start func_ov17_02165e48 @@ -13728,12 +13728,12 @@ _02166080: ; jump table b _0216614c ; case 2 b _0216614c ; case 3 _02166090: - ldr r0, _021661e0 ; =data_027e0e60 + ldr r0, _021661e0 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager21GetCourseData_Unk_25dEv ldmia sp!, {r4, pc} _021660a0: - ldr r0, _021661e0 ; =data_027e0e60 + ldr r0, _021661e0 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager21GetCourseData_Unk_25dEv cmp r0, #0 @@ -13824,7 +13824,7 @@ _021661d8: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_02166068 -_021661e0: .word data_027e0e60 +_021661e0: .word gMapManager _021661e4: .word gAdventureFlags .global func_ov17_021661e8 @@ -14366,7 +14366,7 @@ func_ov17_02166878: ; 0x02166878 sub sp, sp, #0x54 mov r9, r0 ldr r1, [r9, #4] - ldr r0, _02166a54 ; =data_027e0e60 + ldr r0, _02166a54 ; =gMapManager orr r1, r1, #0x810 str r1, [r9, #4] ldr r5, [r0] @@ -14450,7 +14450,7 @@ func_ov17_02166878: ; 0x02166878 add r0, r7, #2 cmp r7, r0 bge _02166a38 - ldr r10, _02166a54 ; =data_027e0e60 + ldr r10, _02166a54 ; =gMapManager add r5, sp, #4 mov r4, #1 _021669e4: @@ -14478,7 +14478,7 @@ _02166a24: cmp r7, r0 blt _021669e4 _02166a38: - ldr r0, _02166a54 ; =data_027e0e60 + ldr r0, _02166a54 ; =gMapManager ldrh r2, [r9, #0x2a] ldr r0, [r0] add r1, r9, #0x64 @@ -14487,7 +14487,7 @@ _02166a38: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov17_02166878 -_02166a54: .word data_027e0e60 +_02166a54: .word gMapManager .global func_ov17_02166a58 arm_func_start func_ov17_02166a58 @@ -14676,7 +14676,7 @@ _02166cc4: strh r0, [r4, #0x78] cmp r5, #0 bne _02166cec - ldr r0, _02166df4 ; =data_027e0e60 + ldr r0, _02166df4 ; =gMapManager ldr r1, [r4, #0x74] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084ac4Ej @@ -14690,7 +14690,7 @@ _02166cec: mov r1, #0 bl func_ov17_021676ac ldr r1, [r4, #4] - ldr r0, _02166df4 ; =data_027e0e60 + ldr r0, _02166df4 ; =gMapManager bic r1, r1, #0x10 str r1, [r4, #4] ldr r0, [r0] @@ -14705,7 +14705,7 @@ _02166d28: ldreqh r0, [r4, #0x24] cmpeq r0, #1 bne _02166d5c - ldr r0, _02166df4 ; =data_027e0e60 + ldr r0, _02166df4 ; =gMapManager add r1, r4, #0x18 ldr r0, [r0] mov r2, #1 @@ -14736,7 +14736,7 @@ _02166d8c: mov r1, #1 bl func_ov17_021676ac ldr r1, [r4, #4] - ldr r0, _02166df4 ; =data_027e0e60 + ldr r0, _02166df4 ; =gMapManager orr r1, r1, #0x10 str r1, [r4, #4] ldr r0, [r0] @@ -14745,7 +14745,7 @@ _02166d8c: bl _ZN10MapManager18func_ov00_020843ecEPi b _02166de8 _02166dd4: - ldr r0, _02166df4 ; =data_027e0e60 + ldr r0, _02166df4 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 @@ -14756,7 +14756,7 @@ _02166de8: .align 2, 0 arm_func_end func_ov17_02166c74 _02166df0: .word data_027e0ffc -_02166df4: .word data_027e0e60 +_02166df4: .word gMapManager _02166df8: .word 0x00003f4a .global func_ov17_02166dfc @@ -15312,7 +15312,7 @@ _021675cc: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrb r1, [r10, #0x7a] - ldr r0, _021676a8 ; =data_027e0e60 + ldr r0, _021676a8 ; =gMapManager ldr r2, [sp, #8] sub r1, r1, #1 sub r1, r2, r1, lsl #11 @@ -15324,7 +15324,7 @@ _021675cc: sub r2, r3, r2, lsl #11 str r2, [sp, #0x10] bl _ZN10MapManager18func_ov00_020839d4Ev - ldr r1, _021676a8 ; =data_027e0e60 + ldr r1, _021676a8 ; =gMapManager mov r5, r0 ldr r0, [r1] ldr r1, [sp, #0x10] @@ -15335,7 +15335,7 @@ _021675cc: cmp r1, #0 addle sp, sp, #0x14 ldmleia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r4, _021676a8 ; =data_027e0e60 + ldr r4, _021676a8 ; =gMapManager mov r11, #0x14 _02167644: mov r8, #0 @@ -15369,7 +15369,7 @@ _02167690: .align 2, 0 arm_func_end func_ov17_021674e8 _021676a4: .word data_027e0f6c -_021676a8: .word data_027e0e60 +_021676a8: .word gMapManager .global func_ov17_021676ac arm_func_start func_ov17_021676ac @@ -16330,7 +16330,7 @@ _02168398: add r0, r9, #2 cmp r9, r0 bge _02168428 - ldr r4, _0216845c ; =data_027e0e60 + ldr r4, _0216845c ; =gMapManager and r7, r8, #0xff _021683b0: ldr r0, [r4] @@ -16382,7 +16382,7 @@ _0216843c: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov17_0216826c -_0216845c: .word data_027e0e60 +_0216845c: .word gMapManager .global func_ov17_02168460 arm_func_start func_ov17_02168460 @@ -16487,11 +16487,11 @@ func_ov17_0216857c: ; 0x0216857c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrh r4, [r5, #0x2a] - ldr r0, _021685b4 ; =data_027e0e60 + ldr r0, _021685b4 ; =gMapManager ldr r0, [r0] mov r1, r4 bl _ZN10MapManager18func_ov00_020823d4Ei - ldr r1, _021685b4 ; =data_027e0e60 + ldr r1, _021685b4 ; =gMapManager str r0, [r5, #0x6c] ldr r0, [r1] mov r1, r4 @@ -16500,7 +16500,7 @@ func_ov17_0216857c: ; 0x0216857c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov17_0216857c -_021685b4: .word data_027e0e60 +_021685b4: .word gMapManager .global func_ov17_021685b8 arm_func_start func_ov17_021685b8 @@ -16522,7 +16522,7 @@ func_ov17_021685b8: ; 0x021685b8 ldr r1, _02168650 ; =data_ov17_0216b1b0 mov r0, r5 bl func_0201933c - ldr r0, _02168654 ; =data_027e0e60 + ldr r0, _02168654 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_b4Ev mov r4, r0 @@ -16546,7 +16546,7 @@ func_ov17_021685b8: ; 0x021685b8 arm_func_end func_ov17_021685b8 _0216864c: .word data_ov17_0216b19c _02168650: .word data_ov17_0216b1b0 -_02168654: .word data_027e0e60 +_02168654: .word gMapManager .global func_ov17_02168658 arm_func_start func_ov17_02168658 @@ -17303,7 +17303,7 @@ _02168ef8: ; jump table b _02168f70 ; case 2 b _02168f9c ; case 3 _02168f08: - ldr r0, _02169180 ; =data_027e0e60 + ldr r0, _02169180 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk28Ev sub r0, r0, #2 @@ -17343,7 +17343,7 @@ _02168f70: str r0, [r6, #0x18] b _02168fd4 _02168f9c: - ldr r0, _02169180 ; =data_027e0e60 + ldr r0, _02169180 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk2aEv sub r0, r0, #2 @@ -17468,7 +17468,7 @@ _02169160: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov17_02168ed0 -_02169180: .word data_027e0e60 +_02169180: .word gMapManager _02169184: .word 0x00001333 _02169188: .word data_027e0d38 _0216918c: .word data_027e0fe8 @@ -17554,7 +17554,7 @@ func_ov17_02169278: ; 0x02169278 cmp r1, #2 b _02169338 _0216929c: - ldr r0, _02169340 ; =data_027e0e60 + ldr r0, _02169340 ; =gMapManager add r1, r4, #0x64 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -17575,7 +17575,7 @@ _021692cc: bl func_ov00_02094884 b _02169338 _021692e8: - ldr r0, _02169340 ; =data_027e0e60 + ldr r0, _02169340 ; =gMapManager add r1, r4, #0x64 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -17601,7 +17601,7 @@ _02169338: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov17_02169278 -_02169340: .word data_027e0e60 +_02169340: .word gMapManager .global func_ov17_02169344 arm_func_start func_ov17_02169344 @@ -17886,7 +17886,7 @@ _021696a8: ; jump table b _02169808 ; case 3 _021696b8: ldr r1, [sp, #0x54] - ldr r0, _021698fc ; =data_027e0e60 + ldr r0, _021698fc ; =gMapManager sub r1, r1, #0x1000 str r1, [sp, #0x54] ldrb r1, [r4, #0x14] @@ -17903,7 +17903,7 @@ _021696b8: bne _02169874 ldrb r2, [r4, #0x15] ldrb r1, [r4, #0x14] - ldr r0, _021698fc ; =data_027e0e60 + ldr r0, _021698fc ; =gMapManager add ip, r2, #1 sub r3, r1, #1 ldr r0, [r0] @@ -17915,7 +17915,7 @@ _021696b8: b _02169874 _02169728: ldr r1, [sp, #0x48] - ldr r0, _021698fc ; =data_027e0e60 + ldr r0, _021698fc ; =gMapManager add r1, r1, #0x1000 str r1, [sp, #0x48] ldrb r1, [r4, #0x14] @@ -17932,7 +17932,7 @@ _02169728: bne _02169874 ldrb r2, [r4, #0x15] ldrb r1, [r4, #0x14] - ldr r0, _021698fc ; =data_027e0e60 + ldr r0, _021698fc ; =gMapManager add ip, r2, #1 add r3, r1, #1 ldr r0, [r0] @@ -17944,7 +17944,7 @@ _02169728: b _02169874 _02169798: ldr r1, [sp, #0x50] - ldr r0, _021698fc ; =data_027e0e60 + ldr r0, _021698fc ; =gMapManager add r1, r1, #0x1000 str r1, [sp, #0x50] ldrb r1, [r4, #0x15] @@ -17961,7 +17961,7 @@ _02169798: bne _02169874 ldrb r2, [r4, #0x15] ldrb r1, [r4, #0x14] - ldr r0, _021698fc ; =data_027e0e60 + ldr r0, _021698fc ; =gMapManager add ip, r2, #1 add r3, r1, #1 ldr r0, [r0] @@ -17973,7 +17973,7 @@ _02169798: b _02169874 _02169808: ldr r1, [sp, #0x5c] - ldr r0, _021698fc ; =data_027e0e60 + ldr r0, _021698fc ; =gMapManager sub r1, r1, #0x1000 str r1, [sp, #0x5c] ldrb r1, [r4, #0x15] @@ -17990,7 +17990,7 @@ _02169808: bne _02169874 ldrb r2, [r4, #0x15] ldrb r1, [r4, #0x14] - ldr r0, _021698fc ; =data_027e0e60 + ldr r0, _021698fc ; =gMapManager sub ip, r2, #1 add r3, r1, #1 ldr r0, [r0] @@ -18036,7 +18036,7 @@ _02169874: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_02169598 -_021698fc: .word data_027e0e60 +_021698fc: .word gMapManager .global func_ov17_02169900 arm_func_start func_ov17_02169900 @@ -18069,7 +18069,7 @@ _02169940: b _021699d4 _02169960: mov r1, #0x4000 - ldr r0, _02169a54 ; =data_027e0e60 + ldr r0, _02169a54 ; =gMapManager strh r1, [r4, #0xc] ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk28Ev @@ -18081,7 +18081,7 @@ _02169960: b _021699d4 _0216998c: mov r1, #0 - ldr r0, _02169a54 ; =data_027e0e60 + ldr r0, _02169a54 ; =gMapManager strh r1, [r4, #0xc] ldr r0, [r0] bl _ZN10MapManager17Get_MapData_Unk2aEv @@ -18124,7 +18124,7 @@ _02169a0c: blo _02169a0c ldrh r2, [r4, #0x26] add r1, sp, #8 - ldr r0, _02169a54 ; =data_027e0e60 + ldr r0, _02169a54 ; =gMapManager strh r2, [sp, #0xa] str r1, [sp] ldrsh r3, [r4, #0xc] @@ -18136,7 +18136,7 @@ _02169a0c: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov17_02169900 -_02169a54: .word data_027e0e60 +_02169a54: .word gMapManager .global func_ov17_02169a58 arm_func_start func_ov17_02169a58 @@ -18794,14 +18794,14 @@ _0216a250: cmpne r0, #1 mov r2, #0 bne _0216a2b4 - ldr r0, _0216a344 ; =data_027e0e60 + ldr r0, _0216a344 ; =gMapManager add r1, r5, #0x18 ldr r0, [r0] mov r3, #2 bl _ZN10MapManager8SpawnNPCEP5Vec3pii b _0216a330 _0216a2b4: - ldr r0, _0216a344 ; =data_027e0e60 + ldr r0, _0216a344 ; =gMapManager add r1, r5, #0x18 ldr r0, [r0] mov r3, #1 @@ -18827,7 +18827,7 @@ _0216a2fc: mov r0, r5 mov r2, r1 bl func_ov00_0208ba08 - ldr r0, _0216a344 ; =data_027e0e60 + ldr r0, _0216a344 ; =gMapManager ldrh r1, [r5, #0x24] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083840Ei @@ -18844,7 +18844,7 @@ _0216a330: arm_func_end func_ov17_0216a0fc _0216a33c: .word data_ov17_0216b1f8 _0216a340: .word gAdventureFlags -_0216a344: .word data_027e0e60 +_0216a344: .word gMapManager .global func_ov17_0216a348 arm_func_start func_ov17_0216a348 @@ -18858,7 +18858,7 @@ func_ov17_0216a348: ; 0x0216a348 cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} - ldr r0, _0216a3e0 ; =data_027e0e60 + ldr r0, _0216a3e0 ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 @@ -18891,7 +18891,7 @@ _0216a3d8: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_0216a348 -_0216a3e0: .word data_027e0e60 +_0216a3e0: .word gMapManager _0216a3e4: .word data_027e0fe4 .global func_ov17_0216a3e8 @@ -18914,7 +18914,7 @@ func_ov17_0216a3e8: ; 0x0216a3e8 mov r0, #1 ldmia sp!, {r4, pc} _0216a428: - ldr r0, _0216a4a4 ; =data_027e0e60 + ldr r0, _0216a4a4 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -18932,7 +18932,7 @@ _0216a444: cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _0216a4a4 ; =data_027e0e60 + ldr r0, _0216a4a4 ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083840Ei @@ -18949,7 +18949,7 @@ _0216a484: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov17_0216a3e8 -_0216a4a4: .word data_027e0e60 +_0216a4a4: .word gMapManager _0216a4a8: .word data_027e0fe4 .global func_ov17_0216a4ac @@ -18979,7 +18979,7 @@ func_ov17_0216a4ac: ; 0x0216a4ac mov r0, #0 ldmia sp!, {r4, pc} _0216a508: - ldr r0, _0216a5b0 ; =data_027e0e60 + ldr r0, _0216a5b0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -19007,7 +19007,7 @@ _0216a550: moveq r0, #0 ldmeqia sp!, {r4, pc} _0216a56c: - ldr r0, _0216a5b0 ; =data_027e0e60 + ldr r0, _0216a5b0 ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 @@ -19015,7 +19015,7 @@ _0216a56c: cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _0216a5b0 ; =data_027e0e60 + ldr r0, _0216a5b0 ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083790Ei @@ -19027,7 +19027,7 @@ _0216a5a4: .align 2, 0 arm_func_end func_ov17_0216a4ac _0216a5ac: .word data_027e077c -_0216a5b0: .word data_027e0e60 +_0216a5b0: .word gMapManager _0216a5b4: .word data_027e0fe4 .global func_ov17_0216a5b8 @@ -19386,7 +19386,7 @@ func_ov17_0216a9fc: ; 0x0216a9fc str r1, [r4, #4] strb r0, [r4, #0x12] ldr r0, [r4, #0x18] - ldr r2, _0216abf8 ; =data_027e0e60 + ldr r2, _0216abf8 ; =gMapManager add r0, r0, #0x3fc add r0, r0, #0x400 str r0, [r4, #0x18] @@ -19447,7 +19447,7 @@ func_ov17_0216a9fc: ; 0x0216a9fc ldr ip, [ip, #0x14] add r1, sp, #0x20 blx ip - ldr r0, _0216abf8 ; =data_027e0e60 + ldr r0, _0216abf8 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -19492,7 +19492,7 @@ _0216abd0: arm_func_end func_ov17_0216a9fc _0216abf0: .word data_ov17_0216b20c _0216abf4: .word data_027e0f68 -_0216abf8: .word data_027e0e60 +_0216abf8: .word gMapManager .global func_ov17_0216abfc arm_func_start func_ov17_0216abfc @@ -19707,7 +19707,7 @@ _0216aedc: mov r1, #0 mov r2, #1 bl func_ov00_0208ba08 - ldr r0, _0216af40 ; =data_027e0e60 + ldr r0, _0216af40 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 @@ -19732,7 +19732,7 @@ _0216af30: .word data_027e0e58 _0216af34: .word data_027e0ffc _0216af38: .word data_ov17_0216b230 _0216af3c: .word data_ov17_0216b224 -_0216af40: .word data_027e0e60 +_0216af40: .word gMapManager .global func_ov17_0216af44 arm_func_start func_ov17_0216af44 diff --git a/asm/ov18.inc b/asm/ov18.inc index c223374b..613fb30f 100644 --- a/asm/ov18.inc +++ b/asm/ov18.inc @@ -90,7 +90,7 @@ .extern data_027e0dbc .extern data_027e0e28 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov18.s b/asm/ov18.s index a029a7a4..00896037 100644 --- a/asm/ov18.s +++ b/asm/ov18.s @@ -301,7 +301,7 @@ func_ov18_0215b86c: ; 0x0215b86c mov r8, r3 str r4, [sp, #4] blx func_ov04_0210c1f8 - ldr r0, _0215bd68 ; =data_027e0e60 + ldr r0, _0215bd68 ; =gMapManager add r1, r9, #0x1b0 ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -319,18 +319,18 @@ func_ov18_0215b86c: ; 0x0215b86c mov r1, r4, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r9, #0x1b4] - ldr r0, _0215bd68 ; =data_027e0e60 + ldr r0, _0215bd68 ; =gMapManager add r1, sp, #0x64 ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p - ldr r0, _0215bd68 ; =data_027e0e60 + ldr r0, _0215bd68 ; =gMapManager add r1, sp, #0x58 ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p - ldr r0, _0215bd68 ; =data_027e0e60 + ldr r0, _0215bd68 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083374Ev - ldr r1, _0215bd68 ; =data_027e0e60 + ldr r1, _0215bd68 ; =gMapManager mov r5, r0 ldr r0, [r1] bl _ZN10MapManager18func_ov00_02083384Ev @@ -630,7 +630,7 @@ _0215bd54: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov18_0215b86c -_0215bd68: .word data_027e0e60 +_0215bd68: .word gMapManager _0215bd6c: .word 0x00001333 _0215bd70: .word 0xffffd99a _0215bd74: .word data_027e0ce0 @@ -691,7 +691,7 @@ _0215be0c: movne r0, #1 strneb r0, [r9, #0x1cc] bne _0215be5c - ldr r0, _0215beb0 ; =data_027e0e60 + ldr r0, _0215beb0 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 @@ -726,7 +726,7 @@ _0215bea8: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov18_0215bd84 -_0215beb0: .word data_027e0e60 +_0215beb0: .word gMapManager _0215beb4: .word func_ov18_0215ca24 .global func_ov18_0215beb8 @@ -813,7 +813,7 @@ func_ov18_0215bfc8: ; 0x0215bfc8 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 ldr r2, _0215c12c ; =data_027e0f94 - ldr r1, _0215c130 ; =data_027e0e60 + ldr r1, _0215c130 ; =gMapManager ldr r4, [r2] ldr r3, [r2, #4] str r4, [sp, #4] @@ -909,7 +909,7 @@ _0215c108: .align 2, 0 arm_func_end func_ov18_0215bfc8 _0215c12c: .word data_027e0f94 -_0215c130: .word data_027e0e60 +_0215c130: .word gMapManager _0215c134: .word 0x0000019a _0215c138: .word data_ov18_0216b43c _0215c13c: .word data_ov18_0216b44c @@ -1214,13 +1214,13 @@ func_ov18_0215c460: ; 0x0215c460 sub sp, sp, #0x1c mov r5, r2 mov r6, r1 - ldr r2, _0215c5bc ; =data_027e0e60 + ldr r2, _0215c5bc ; =gMapManager mov r7, r0 ldrb r1, [r5, #1] ldr r0, [r2] mov r4, r3 bl _ZN10MapManager18func_ov00_02083c50Ei - ldr r2, _0215c5bc ; =data_027e0e60 + ldr r2, _0215c5bc ; =gMapManager mov r8, r0 ldrb r1, [r5] ldr r0, [r2] @@ -1306,7 +1306,7 @@ _0215c5b0: ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov18_0215c460 -_0215c5bc: .word data_027e0e60 +_0215c5bc: .word gMapManager _0215c5c0: .word data_027e0f68 .global func_ov18_0215c5c4 @@ -3210,7 +3210,7 @@ func_ov18_0215dec0: ; 0x0215dec0 func_ov18_0215dee4: ; 0x0215dee4 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _0215df18 ; =data_027e0e60 + ldr r0, _0215df18 ; =gMapManager ldrb r1, [r4, #0x15c] ldr r0, [r0] add r2, r4, #0x1cc @@ -3223,7 +3223,7 @@ func_ov18_0215dee4: ; 0x0215dee4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215dee4 -_0215df18: .word data_027e0e60 +_0215df18: .word gMapManager .global func_ov18_0215df1c arm_func_start func_ov18_0215df1c @@ -3534,13 +3534,13 @@ _0215e300: bl func_ov00_0208edd8 b _0215e3d8 _0215e324: - ldr r1, _0215e49c ; =data_027e0e60 + ldr r1, _0215e49c ; =gMapManager add r0, sp, #4 ldr r1, [r1] add r2, r4, #0x48 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r2, [sp, #4] - ldr r0, _0215e49c ; =data_027e0e60 + ldr r0, _0215e49c ; =gMapManager ldrb r1, [sp, #5] add r3, r2, #2 ldr r0, [r0] @@ -3637,7 +3637,7 @@ _0215e480: .align 2, 0 arm_func_end func_ov18_0215e274 _0215e498: .word data_027e0d38 -_0215e49c: .word data_027e0e60 +_0215e49c: .word gMapManager _0215e4a0: .word 0x000013ae _0215e4a4: .word data_027e0f6c @@ -4300,7 +4300,7 @@ _0215ed70: ldr r0, [sp, #4] add r10, r0, r1 bge _0215ee18 - ldr r5, _0215ee8c ; =data_027e0e60 + ldr r5, _0215ee8c ; =gMapManager add r7, sp, #0xc mov r6, #1 _0215edd0: @@ -4357,7 +4357,7 @@ _0215ee7c: .word data_ov18_0216c3a8 _0215ee80: .word data_ov18_0216c3ce _0215ee84: .word data_ov18_0216c3a9 _0215ee88: .word data_ov18_0216c3cf -_0215ee8c: .word data_027e0e60 +_0215ee8c: .word gMapManager .global func_ov18_0215ee90 arm_func_start func_ov18_0215ee90 @@ -5268,7 +5268,7 @@ _0215f9b0: mov r1, #3 str r2, [r4, #4] bl func_ov00_02094884 - ldr r0, _0215fa24 ; =data_027e0e60 + ldr r0, _0215fa24 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 @@ -5283,7 +5283,7 @@ _0215f9e8: mov r1, #1 str r2, [r4, #4] bl func_ov00_02094884 - ldr r0, _0215fa24 ; =data_027e0e60 + ldr r0, _0215fa24 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 @@ -5295,7 +5295,7 @@ _0215fa1c: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215f990 -_0215fa24: .word data_027e0e60 +_0215fa24: .word gMapManager .global func_ov18_0215fa28 arm_func_start func_ov18_0215fa28 @@ -6411,7 +6411,7 @@ _02160774: ldr r0, [sp, #4] add r10, r0, #3 bgt _021607ec - ldr r4, _0216081c ; =data_027e0e60 + ldr r4, _0216081c ; =gMapManager add r6, sp, #0xc mov r5, #1 _021607a4: @@ -6450,7 +6450,7 @@ _0216080c: .word data_027e0fe8 _02160810: .word 0x48534b42 _02160814: .word data_027e0fe4 _02160818: .word 0x0000099a -_0216081c: .word data_027e0e60 +_0216081c: .word gMapManager .global func_ov18_02160820 arm_func_start func_ov18_02160820 @@ -6609,7 +6609,7 @@ _021609c0: strh r2, [sp, #8] strh r0, [sp, #0xa] str r1, [sp] - ldr r0, _02160a0c ; =data_027e0e60 + ldr r0, _02160a0c ; =gMapManager add r2, sp, #4 ldr r0, [r0] mov r1, #0x30 @@ -6618,7 +6618,7 @@ _021609c0: ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov18_02160968 -_02160a0c: .word data_027e0e60 +_02160a0c: .word gMapManager .global func_ov18_02160a10 arm_func_start func_ov18_02160a10 @@ -6837,7 +6837,7 @@ _02160c5c: cmp r8, r0 bge _02160c9c _02160c80: - ldr r0, _02160ffc ; =data_027e0e60 + ldr r0, _02160ffc ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, r11 @@ -6912,7 +6912,7 @@ _02160d6c: cmp r8, r0 bge _02160dac _02160d90: - ldr r0, _02160ffc ; =data_027e0e60 + ldr r0, _02160ffc ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, r11 @@ -6987,7 +6987,7 @@ _02160e7c: cmp r8, r0 bge _02160ebc _02160ea0: - ldr r0, _02160ffc ; =data_027e0e60 + ldr r0, _02160ffc ; =gMapManager mov r1, r5 ldr r0, [r0] mov r2, r11 @@ -7082,7 +7082,7 @@ _02160fb0: .align 2, 0 arm_func_end func_ov18_02160b6c _02160ff8: .word data_027e0f68 -_02160ffc: .word data_027e0e60 +_02160ffc: .word gMapManager .global func_ov18_02161000 arm_func_start func_ov18_02161000 @@ -9039,7 +9039,7 @@ _0216283c: ; jump table b _02162c20 ; case 6 b _02162bac ; case 7 _0216285c: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084c94Ei @@ -9101,14 +9101,14 @@ _0216285c: add r3, sp, #0x118 bl func_ov00_020c4048 _02162950: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl _ZN10MapManager18func_ov00_02084c7cEi b _02162c90 _02162968: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084c94Ei @@ -9167,14 +9167,14 @@ _02162a00: add r3, sp, #0xec bl func_ov00_020c4048 _02162a48: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl _ZN10MapManager18func_ov00_02084c7cEi b _02162c90 _02162a60: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084c94Ei @@ -9196,14 +9196,14 @@ _02162a60: add r3, sp, #0xb4 bl func_ov00_020c4048 _02162ab4: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl _ZN10MapManager18func_ov00_02084c7cEi b _02162c90 _02162acc: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084c94Ei @@ -9225,14 +9225,14 @@ _02162acc: add r3, sp, #0x88 bl func_ov00_020c4048 _02162b20: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl _ZN10MapManager18func_ov00_02084c7cEi b _02162c90 _02162b38: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -9256,14 +9256,14 @@ _02162b38: add r3, sp, #0x5c bl func_ov00_020c4048 _02162b94: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl _ZN10MapManager18func_ov00_02084cb0Ei b _02162c90 _02162bac: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -9287,14 +9287,14 @@ _02162bac: add r3, sp, #0x30 bl func_ov00_020c4048 _02162c08: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl _ZN10MapManager18func_ov00_02084cb0Ei b _02162c90 _02162c20: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -9318,7 +9318,7 @@ _02162c20: add r3, sp, #4 bl func_ov00_020c4048 _02162c7c: - ldr r0, _02162ca0 ; =data_027e0e60 + ldr r0, _02162ca0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 @@ -9330,7 +9330,7 @@ _02162c90: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021627dc -_02162ca0: .word data_027e0e60 +_02162ca0: .word gMapManager _02162ca4: .word data_027e0fe8 _02162ca8: .word 0x48415254 _02162cac: .word 0x42454548 @@ -17119,7 +17119,7 @@ func_ov18_02169378: ; 0x02169378 func_ov18_021693b0: ; 0x021693b0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x1c - ldr r2, _02169418 ; =data_027e0e60 + ldr r2, _02169418 ; =gMapManager mov r6, r0 ldr r5, [r2] mov r0, r5 @@ -17145,7 +17145,7 @@ func_ov18_021693b0: ; 0x021693b0 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_021693b0 -_02169418: .word data_027e0e60 +_02169418: .word gMapManager .global func_ov18_0216941c arm_func_start func_ov18_0216941c @@ -18333,7 +18333,7 @@ func_ov18_0216a3c8: ; 0x0216a3c8 ldr r0, _0216a5b0 ; =data_ov18_0216b6f4 mov r1, r1, lsl #0x1 ldrh r2, [r0, r1] - ldr r1, _0216a5b4 ; =data_027e0e60 + ldr r1, _0216a5b4 ; =gMapManager add r0, sp, #0x14 strh r2, [r4, #0x10] ldrb r2, [r4, #0x15] @@ -18342,7 +18342,7 @@ func_ov18_0216a3c8: ; 0x0216a3c8 ldrb lr, [r4, #0x16] ldrb ip, [r4, #0x17] ldrb r1, [sp, #0x15] - ldr r0, _0216a5b4 ; =data_027e0e60 + ldr r0, _0216a5b4 ; =gMapManager strb lr, [sp, #0x12] str r1, [sp] ldr r0, [r0] @@ -18354,7 +18354,7 @@ func_ov18_0216a3c8: ; 0x0216a3c8 add r1, sp, #0x18 strb ip, [sp, #0x13] bl _ZN10MapManager18func_ov00_02083ce8Ecccci - ldr r0, _0216a5b4 ; =data_027e0e60 + ldr r0, _0216a5b4 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager21GetCourseData_Unk_25cEv cmp r0, #0 @@ -18372,7 +18372,7 @@ func_ov18_0216a3c8: ; 0x0216a3c8 bl func_ov00_02079470 b _0216a4a4 _0216a47c: - ldr r0, _0216a5b4 ; =data_027e0e60 + ldr r0, _0216a5b4 ; =gMapManager ldrb lr, [r4, #0x17] ldrb ip, [r4, #0x16] ldr r0, [r0] @@ -18383,12 +18383,12 @@ _0216a47c: strb lr, [sp, #0x11] bl _ZN10MapManager18func_ov00_02082d84Ev _0216a4a4: - ldr r0, _0216a5b4 ; =data_027e0e60 + ldr r0, _0216a5b4 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager20GetCourseData_Unk_86Ev cmp r0, #2 bge _0216a4cc - ldr r0, _0216a5b4 ; =data_027e0e60 + ldr r0, _0216a5b4 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager20GetCourseData_Unk_87Ev cmp r0, #2 @@ -18461,7 +18461,7 @@ _0216a5a8: .align 2, 0 arm_func_end func_ov18_0216a3c8 _0216a5b0: .word data_ov18_0216b6f4 -_0216a5b4: .word data_027e0e60 +_0216a5b4: .word gMapManager _0216a5b8: .word data_027e0d3c _0216a5bc: .word data_ov18_0216b710 _0216a5c0: .word data_ov18_0216b748 @@ -18506,7 +18506,7 @@ _0216a63c: cmp r2, #2 cmpne r2, #3 ldmneia sp!, {r4, pc} - ldr r0, _0216a6b0 ; =data_027e0e60 + ldr r0, _0216a6b0 ; =gMapManager ldrb r1, [r4, #0x19] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084be0Eii @@ -18521,7 +18521,7 @@ _0216a674: cmp r2, #2 cmpne r2, #3 ldmneia sp!, {r4, pc} - ldr r0, _0216a6b0 ; =data_027e0e60 + ldr r0, _0216a6b0 ; =gMapManager ldrb r1, [r4, #0x19] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084be0Eii @@ -18534,7 +18534,7 @@ _0216a674: .align 2, 0 arm_func_end func_ov18_0216a5c4 _0216a6ac: .word gAdventureFlags -_0216a6b0: .word data_027e0e60 +_0216a6b0: .word gMapManager .global func_ov18_0216a6b4 arm_func_start func_ov18_0216a6b4 @@ -18545,7 +18545,7 @@ func_ov18_0216a6b4: ; 0x0216a6b4 mov r6, r1 cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _0216a77c ; =data_027e0e60 + ldr r0, _0216a77c ; =gMapManager ldrb r5, [r4, #0x15] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d08Ev @@ -18598,7 +18598,7 @@ _0216a770: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_0216a6b4 -_0216a77c: .word data_027e0e60 +_0216a77c: .word gMapManager .global func_ov18_0216a780 arm_func_start func_ov18_0216a780 @@ -19094,12 +19094,12 @@ func_ov18_0216adcc: ; 0x0216adcc addhi sp, sp, #8 movhi r0, #0 ldmhiia sp!, {r3, r4, r5, pc} - ldr r0, _0216aed4 ; =data_027e0e60 + ldr r0, _0216aed4 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager21GetCourseData_Unk_25cEv cmp r0, #0 beq _0216ae24 - ldr r0, _0216aed4 ; =data_027e0e60 + ldr r0, _0216aed4 ; =gMapManager ldrb r1, [r5, #4] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083318Ei @@ -19108,7 +19108,7 @@ func_ov18_0216adcc: ; 0x0216adcc moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} _0216ae24: - ldr r0, _0216aed4 ; =data_027e0e60 + ldr r0, _0216aed4 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020849c0Ev cmp r0, #0 @@ -19157,7 +19157,7 @@ _0216aec8: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0216adcc -_0216aed4: .word data_027e0e60 +_0216aed4: .word gMapManager _0216aed8: .word data_027e0ce0 .global func_ov18_0216aedc diff --git a/asm/ov19.inc b/asm/ov19.inc index 9ff48dc4..7d8152e9 100644 --- a/asm/ov19.inc +++ b/asm/ov19.inc @@ -112,7 +112,7 @@ .extern data_027e0d44 .extern data_027e0db0 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov19.s b/asm/ov19.s index ed10a3fb..627744b2 100644 --- a/asm/ov19.s +++ b/asm/ov19.s @@ -3464,7 +3464,7 @@ _021703a4: ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r2, [sp, #0x30] - ldr r3, _02170564 ; =data_027e0e60 + ldr r3, _02170564 ; =gMapManager ldr r1, [sp, #0x34] str r2, [sp, #0x18] ldr r2, [sp, #0x38] @@ -3557,7 +3557,7 @@ _02170554: .word data_027e0c54 _02170558: .word func_ov05_02102a80 _0217055c: .word data_027e0db0 _02170560: .word data_027e0f90 -_02170564: .word data_027e0e60 +_02170564: .word gMapManager _02170568: .word data_027e0f64 _0217056c: .word 0x00001555 _02170570: .word data_027e0ffc @@ -5453,7 +5453,7 @@ func_ov19_02171e64: ; 0x02171e64 stmdb sp!, {r3, lr} sub sp, sp, #0x10 ldr r2, [r0, #0x48] - ldr r1, _02171eb8 ; =data_027e0e60 + ldr r1, _02171eb8 ; =gMapManager str r2, [sp, #4] ldr r2, [r0, #0x4c] ldr r1, [r1] @@ -5473,7 +5473,7 @@ func_ov19_02171e64: ; 0x02171e64 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov19_02171e64 -_02171eb8: .word data_027e0e60 +_02171eb8: .word gMapManager .global func_ov19_02171ebc arm_func_start func_ov19_02171ebc @@ -6434,7 +6434,7 @@ _02172adc: .word data_027e0f78 func_ov19_02172ae0: ; 0x02172ae0 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _02172b1c ; =data_027e0e60 + ldr r0, _02172b1c ; =gMapManager ldrb r1, [r4, #0x15a] ldr r0, [r0] mov r2, #0 @@ -6449,7 +6449,7 @@ func_ov19_02172ae0: ; 0x02172ae0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov19_02172ae0 -_02172b1c: .word data_027e0e60 +_02172b1c: .word gMapManager .global func_ov19_02172b20 arm_func_start func_ov19_02172b20 @@ -7832,7 +7832,7 @@ func_ov19_02173d54: ; 0x02173d54 add r0, r7, #2 cmp r7, r0 bge _02173e1c - ldr r4, _02173ee8 ; =data_027e0e60 + ldr r4, _02173ee8 ; =gMapManager add r5, sp, #2 mov r11, #1 _02173d80: @@ -7934,7 +7934,7 @@ _02173ea0: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov19_02173d54 -_02173ee8: .word data_027e0e60 +_02173ee8: .word gMapManager _02173eec: .word data_027e0f6c .global func_ov19_02173ef0 @@ -8410,7 +8410,7 @@ _0217448c: ldmneia sp!, {r3, r4, pc} _021744b8: ldr r1, [r4, #0x48] - ldr r0, _0217454c ; =data_027e0e60 + ldr r0, _0217454c ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -8448,7 +8448,7 @@ _021744b8: .align 2, 0 arm_func_end func_ov19_02174454 _02174548: .word gAdventureFlags -_0217454c: .word data_027e0e60 +_0217454c: .word gMapManager _02174550: .word data_ov19_02176b88 .global func_ov19_02174554 @@ -8585,7 +8585,7 @@ _02174710: ldr r3, [r4] ldr r2, [r4, #4] ldr r1, [r4, #8] - ldr r0, _02174798 ; =data_027e0e60 + ldr r0, _02174798 ; =gMapManager str r2, [sp, #0xc] str r3, [sp, #8] str r1, [sp, #0x10] @@ -8616,7 +8616,7 @@ _02174788: .word 0x424f4d42 _0217478c: .word data_027e0f94 _02174790: .word data_027e0fa0 _02174794: .word 0x0000019a -_02174798: .word data_027e0e60 +_02174798: .word gMapManager .global func_ov19_0217479c arm_func_start func_ov19_0217479c @@ -9138,7 +9138,7 @@ _02174e5c: b _021754d0 _02174eb4: ldr r1, [r4, #0x48] - ldr r0, _02175588 ; =data_027e0e60 + ldr r0, _02175588 ; =gMapManager str r1, [sp, #0x14] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -9603,7 +9603,7 @@ _02175574: arm_func_end func_ov19_02174d7c _02175580: .word data_027e0ffc _02175584: .word 0x0000024a -_02175588: .word data_027e0e60 +_02175588: .word gMapManager _0217558c: .word data_027e0f90 _02175590: .word 0x00000333 _02175594: .word data_027e0fc8 @@ -9892,7 +9892,7 @@ func_ov19_021758c8: ; 0x021758c8 mov r0, r5 bl _ZN5Actor20IncreaseActiveFramesEv ldr r1, [r5, #0x48] - ldr r0, _02175958 ; =data_027e0e60 + ldr r0, _02175958 ; =gMapManager str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -9921,7 +9921,7 @@ _02175940: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov19_021758c8 -_02175958: .word data_027e0e60 +_02175958: .word gMapManager .global func_ov19_0217595c arm_func_start func_ov19_0217595c @@ -10071,7 +10071,7 @@ _02175af8: ldrsh r0, [r4, #0x10] cmp r0, #0 bgt _02175be8 - ldr r1, _02175c34 ; =data_027e0e60 + ldr r1, _02175c34 ; =gMapManager mov r0, r4 ldr r5, [r1] bl _ZN13LinkStateBase12GetPlayerPosEv @@ -10139,7 +10139,7 @@ _02175be8: _02175c28: .word data_027e0fb8 _02175c2c: .word 0xb60b60b7 _02175c30: .word data_ov00_020eec9c -_02175c34: .word data_027e0e60 +_02175c34: .word gMapManager _02175c38: .word data_ov19_02175ee0 _02175c3c: .word data_027e0d0c diff --git a/asm/ov20.inc b/asm/ov20.inc index 26c18122..5f5a1e50 100644 --- a/asm/ov20.inc +++ b/asm/ov20.inc @@ -89,7 +89,7 @@ .extern data_027e0d78 .extern data_027e0de4 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f84 diff --git a/asm/ov20.s b/asm/ov20.s index 5bed0c78..43e594fa 100644 --- a/asm/ov20.s +++ b/asm/ov20.s @@ -830,7 +830,7 @@ _0216e120: add r0, r4, #0x3000 bl func_01ff9e64 ldr r1, [r7, #0xa8c] - ldr r0, _0216e550 ; =data_027e0e60 + ldr r0, _0216e550 ; =gMapManager str r1, [sp, #0x20] ldr r2, [r7, #0xa90] ldr r0, [r0] @@ -846,7 +846,7 @@ _0216e120: cmp r0, #0 addeq sp, sp, #0x124 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _0216e550 ; =data_027e0e60 + ldr r0, _0216e550 ; =gMapManager add r2, sp, #0x44 ldr r0, [r0] mov r1, #2 @@ -1030,7 +1030,7 @@ _0216e540: .word data_027e0ffc _0216e544: .word data_027e0f94 _0216e548: .word data_027e0764 _0216e54c: .word 0x00008001 -_0216e550: .word data_027e0e60 +_0216e550: .word gMapManager _0216e554: .word data_027e0f90 _0216e558: .word data_027e0f64 _0216e55c: .word 0x00001555 @@ -5045,7 +5045,7 @@ _02171ac0: add r3, sp, #0x10 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02171bf8 ; =data_027e0e60 + ldr r0, _02171bf8 ; =gMapManager ldr lr, [sp, #0x10] ldr ip, [sp, #0x14] ldr r3, [sp, #0x18] @@ -5126,7 +5126,7 @@ _02171bd8: arm_func_end func_ov20_021719dc _02171bf0: .word data_027e0ffc _02171bf4: .word 0x00000272 -_02171bf8: .word data_027e0e60 +_02171bf8: .word gMapManager .global func_ov20_02171bfc arm_func_start func_ov20_02171bfc @@ -5364,7 +5364,7 @@ _02171e20: ldr r0, [sp, #0x20] ldr r1, [sp, #0x1c] str r0, [sp, #0x14] - ldr r0, _0217209c ; =data_027e0e60 + ldr r0, _0217209c ; =gMapManager str r1, [sp, #0x10] ldr r1, [sp, #0x24] ldr r0, [r0] @@ -5470,7 +5470,7 @@ _0217208c: .word data_027e0764 _02172090: .word data_02050f54 _02172094: .word data_027e0e58 _02172098: .word 0x00000263 -_0217209c: .word data_027e0e60 +_0217209c: .word gMapManager _021720a0: .word data_027e0ffc _021720a4: .word 0x00000243 _021720a8: .word data_027e0f64 @@ -7621,7 +7621,7 @@ func_ov20_02173ce4: ; 0x02173ce4 mov ip, #5 str r0, [sp, #0x38] ldr r1, [r6, #0x48] - ldr r0, _02173e30 ; =data_027e0e60 + ldr r0, _02173e30 ; =gMapManager str r1, [sp, #0x24] ldr r2, [r6, #0x4c] add r1, sp, #0x48 @@ -7683,7 +7683,7 @@ _02173e20: .align 2, 0 arm_func_end func_ov20_02173ce4 _02173e2c: .word 0x0000ffff -_02173e30: .word data_027e0e60 +_02173e30: .word gMapManager _02173e34: .word data_027e0f94 .global func_ov20_02173e38 @@ -8656,7 +8656,7 @@ _02174a20: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r6, #0x48] - ldr r0, _02174ba0 ; =data_027e0e60 + ldr r0, _02174ba0 ; =gMapManager str r1, [sp, #4] ldr r1, [r6, #0x4c] ldr r0, [r0] @@ -8752,7 +8752,7 @@ _02174b88: _02174b94: .word gItemManager _02174b98: .word 0x000008a4 _02174b9c: .word 0x00000733 -_02174ba0: .word data_027e0e60 +_02174ba0: .word gMapManager _02174ba4: .word data_027e0f94 .global func_ov20_02174ba8 @@ -9874,7 +9874,7 @@ _021759e8: ldr r3, [sp, #0xe0] ldr r2, [sp, #0xe4] ldr r1, [sp, #0xe8] - ldr r0, _02175f14 ; =data_027e0e60 + ldr r0, _02175f14 ; =gMapManager str r2, [sp, #0x40] str r3, [sp, #0x3c] str r1, [sp, #0x44] @@ -10010,7 +10010,7 @@ _02175bf4: beq _02175eb8 b _02175ec8 _02175c00: - ldr r0, _02175f14 ; =data_027e0e60 + ldr r0, _02175f14 ; =gMapManager ldr ip, _02175f30 ; =0xfffffe66 ldr r0, [r0] add ip, r2, ip @@ -10037,7 +10037,7 @@ _02175c00: b _02175ec8 _02175c64: ldr r0, _02175f3c ; =0xfffff333 - ldr ip, _02175f14 ; =data_027e0e60 + ldr ip, _02175f14 ; =gMapManager add r5, r2, r0 add r1, r1, #0x33 add lr, r1, #0x300 @@ -10063,7 +10063,7 @@ _02175c64: bl func_ov00_020c4048 b _02175ec8 _02175ccc: - ldr r0, _02175f14 ; =data_027e0e60 + ldr r0, _02175f14 ; =gMapManager ldr ip, _02175f30 ; =0xfffffe66 ldr r0, [r0] add lr, r2, ip @@ -10089,7 +10089,7 @@ _02175ccc: bl func_ov00_020c4048 b _02175ec8 _02175d30: - ldr r0, _02175f14 ; =data_027e0e60 + ldr r0, _02175f14 ; =gMapManager ldr ip, _02175f3c ; =0xfffff333 ldr r0, [r0] add lr, r2, ip @@ -10218,7 +10218,7 @@ _02175ec8: .align 2, 0 arm_func_end func_ov20_02175978 _02175f10: .word data_027e0f94 -_02175f14: .word data_027e0e60 +_02175f14: .word gMapManager _02175f18: .word data_027e077c _02175f1c: .word gAdventureFlags _02175f20: .word data_027e0ffc @@ -11631,7 +11631,7 @@ func_ov20_02176fe8: ; 0x02176fe8 str r0, [r4, #0x84] str r0, [r4, #0x88] ldr r1, [r4, #0x7c] - ldr r0, _0217705c ; =data_027e0e60 + ldr r0, _0217705c ; =gMapManager str r1, [r4, #0x8c] ldr r1, [r4, #0x80] str r1, [r4, #0x90] @@ -11643,7 +11643,7 @@ func_ov20_02176fe8: ; 0x02176fe8 bl _ZN10MapManager18Get_MapData_Unk_d0Ev ldr r1, _02177060 ; =0xffffd99a str r0, [r4, #0x48] - ldr r0, _0217705c ; =data_027e0e60 + ldr r0, _0217705c ; =gMapManager str r1, [r4, #0x4c] ldr r0, [r0] bl _ZN10MapManager18Get_MapData_Unk_d8Ev @@ -11653,7 +11653,7 @@ func_ov20_02176fe8: ; 0x02176fe8 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov20_02176fe8 -_0217705c: .word data_027e0e60 +_0217705c: .word gMapManager _02177060: .word 0xffffd99a .global func_ov20_02177064 @@ -11898,7 +11898,7 @@ func_ov20_02177300: ; 0x02177300 str r1, [r0, #8] mov r0, r4 bl _ZN13LinkStateBase12GetPlayerPosEv - ldr r1, _021773e0 ; =data_027e0e60 + ldr r1, _021773e0 ; =gMapManager add r3, sp, #0x10 ldr r5, [r1] ldmia r0, {r0, r1, r2} @@ -11944,7 +11944,7 @@ func_ov20_02177300: ; 0x02177300 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov20_02177300 -_021773e0: .word data_027e0e60 +_021773e0: .word gMapManager _021773e4: .word 0x0000012a _021773e8: .word data_027e0e58 _021773ec: .word data_027e0ffc @@ -11958,7 +11958,7 @@ func_ov20_021773f4: ; 0x021773f4 mov r4, r0 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev mov r2, r0 - ldr r1, _021774dc ; =data_027e0e60 + ldr r1, _021774dc ; =gMapManager add r0, sp, #0 ldr r1, [r1] add r2, r2, #0x20 @@ -12014,7 +12014,7 @@ _021774c4: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov20_021773f4 -_021774dc: .word data_027e0e60 +_021774dc: .word gMapManager _021774e0: .word 0xfffff99a _021774e4: .word data_ov20_021793bc @@ -12024,7 +12024,7 @@ func_ov20_021774e8: ; 0x021774e8 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x24 - ldr r0, _021775cc ; =data_027e0e60 + ldr r0, _021775cc ; =gMapManager ldrb r1, [sp, #0x4c] ldr r0, [r0] sub r3, sp, #4 @@ -12035,7 +12035,7 @@ func_ov20_021774e8: ; 0x021774e8 ldr r2, [r3] bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r8, #0 - ldr r4, _021775cc ; =data_027e0e60 + ldr r4, _021775cc ; =gMapManager mov r9, r8 add r5, sp, #0xc mov r7, r8 @@ -12083,7 +12083,7 @@ _021775a8: bx lr .align 2, 0 arm_func_end func_ov20_021774e8 -_021775cc: .word data_027e0e60 +_021775cc: .word gMapManager .global func_ov20_021775d0 arm_func_start func_ov20_021775d0 diff --git a/asm/ov21.inc b/asm/ov21.inc index 1794998b..198d1eea 100644 --- a/asm/ov21.inc +++ b/asm/ov21.inc @@ -73,7 +73,7 @@ .extern data_027e077c .extern data_027e0d3c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f68 .extern data_027e0f6c .extern data_027e0f84 diff --git a/asm/ov21.s b/asm/ov21.s index 2f150d18..0b89e000 100644 --- a/asm/ov21.s +++ b/asm/ov21.s @@ -514,7 +514,7 @@ _0216dcb0: .word data_027e0f94 .global func_ov21_0216dcb4 arm_func_start func_ov21_0216dcb4 func_ov21_0216dcb4: ; 0x0216dcb4 - ldr r2, _0216dccc ; =data_027e0e60 + ldr r2, _0216dccc ; =gMapManager ldr ip, _0216dcd0 ; =_ZN10MapManager18func_ov00_020836dcEii ldrh r1, [r0, #0x22] ldr r0, [r2] @@ -522,7 +522,7 @@ func_ov21_0216dcb4: ; 0x0216dcb4 bx ip .align 2, 0 arm_func_end func_ov21_0216dcb4 -_0216dccc: .word data_027e0e60 +_0216dccc: .word gMapManager _0216dcd0: .word _ZN10MapManager18func_ov00_020836dcEii .global func_ov21_0216dcd4 @@ -922,7 +922,7 @@ _0216e204: .word data_ov21_021710a0 func_ov21_0216e208: ; 0x0216e208 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _0216e238 ; =data_027e0e60 + ldr r0, _0216e238 ; =gMapManager ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 @@ -934,7 +934,7 @@ func_ov21_0216e208: ; 0x0216e208 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov21_0216e208 -_0216e238: .word data_027e0e60 +_0216e238: .word gMapManager .global func_ov21_0216e23c arm_func_start func_ov21_0216e23c @@ -2772,7 +2772,7 @@ func_ov21_0216f7c8: ; 0x0216f7c8 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} ldr r1, [r10, #0x98] - ldr r0, _0216fb84 ; =data_027e0e60 + ldr r0, _0216fb84 ; =gMapManager str r1, [sp, #0x54] ldr r2, [r10, #0x48] add r1, sp, #0xb8 @@ -2874,7 +2874,7 @@ _0216f9c0: add r0, r0, #0x9a add r0, r0, #0x900 ldr r9, _0216fb90 ; =data_ov21_02171750 - ldr r4, _0216fb84 ; =data_027e0e60 + ldr r4, _0216fb84 ; =gMapManager str r1, [sp, #0x3c] str r0, [sp, #0x40] str r2, [sp, #0x44] @@ -2971,7 +2971,7 @@ _0216fb74: .align 2, 0 arm_func_end func_ov21_0216f7c8 _0216fb80: .word 0x0000ffff -_0216fb84: .word data_027e0e60 +_0216fb84: .word gMapManager _0216fb88: .word data_ov21_02171bb4 _0216fb8c: .word data_ov21_02171750 _0216fb90: .word data_ov21_02171750 @@ -3328,7 +3328,7 @@ func_ov21_02170050: ; 0x02170050 str r3, [sp, #0xc] bl func_ov00_020793b8 ldr r1, [r11, #0x48] - ldr r0, _021701a8 ; =data_027e0e60 + ldr r0, _021701a8 ; =gMapManager str r1, [sp, #0x10] ldr r1, [r11, #0x4c] ldr r0, [r0] @@ -3408,7 +3408,7 @@ _0217018c: .align 2, 0 arm_func_end func_ov21_02170050 _021701a4: .word data_027e0d3c -_021701a8: .word data_027e0e60 +_021701a8: .word gMapManager _021701ac: .word data_027e103c .global func_ov21_021701b0 @@ -3429,7 +3429,7 @@ func_ov21_021701b0: ; 0x021701b0 str r3, [sp] bl func_ov00_020793b8 ldr r1, [r10, #0x48] - ldr r0, _0217032c ; =data_027e0e60 + ldr r0, _0217032c ; =gMapManager str r1, [sp, #0x10] ldr r1, [r10, #0x4c] ldr r0, [r0] @@ -3518,13 +3518,13 @@ _02170310: .align 2, 0 arm_func_end func_ov21_021701b0 _02170328: .word data_027e0d3c -_0217032c: .word data_027e0e60 +_0217032c: .word gMapManager _02170330: .word data_027e103c .global func_ov21_02170334 arm_func_start func_ov21_02170334 func_ov21_02170334: ; 0x02170334 - ldr r1, _02170380 ; =data_027e0e60 + ldr r1, _02170380 ; =gMapManager ldrh r2, [r0, #0x20] ldr r1, [r1] ldrh r0, [r0, #0x22] @@ -3547,7 +3547,7 @@ _02170378: bx lr .align 2, 0 arm_func_end func_ov21_02170334 -_02170380: .word data_027e0e60 +_02170380: .word gMapManager .global func_ov21_02170384 arm_func_start func_ov21_02170384 @@ -3564,12 +3564,12 @@ func_ov21_02170388: ; 0x02170388 add r2, sp, #4 ldr r0, [r0] bl func_ov00_020793b8 - ldr r1, _021703fc ; =data_027e0e60 + ldr r1, _021703fc ; =gMapManager add r0, sp, #0 ldr r1, [r1] add r2, sp, #4 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - ldr r0, _021703fc ; =data_027e0e60 + ldr r0, _021703fc ; =gMapManager add r1, sp, #0 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_60Ev @@ -3577,7 +3577,7 @@ func_ov21_02170388: ; 0x02170388 addgt sp, sp, #0x10 movgt r0, #0 ldmgtia sp!, {r3, pc} - ldr r0, _021703fc ; =data_027e0e60 + ldr r0, _021703fc ; =gMapManager add r1, sp, #0 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_54Ev @@ -3589,7 +3589,7 @@ func_ov21_02170388: ; 0x02170388 .align 2, 0 arm_func_end func_ov21_02170388 _021703f8: .word data_027e0d3c -_021703fc: .word data_027e0e60 +_021703fc: .word gMapManager .global func_ov21_02170400 arm_func_start func_ov21_02170400 diff --git a/asm/ov22.inc b/asm/ov22.inc index 4f01808f..c97233e2 100644 --- a/asm/ov22.inc +++ b/asm/ov22.inc @@ -107,7 +107,7 @@ .extern data_027e0d0c .extern data_027e0d38 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov22.s b/asm/ov22.s index d6d92658..a61ee8f5 100644 --- a/asm/ov22.s +++ b/asm/ov22.s @@ -481,7 +481,7 @@ _0216dc98: .word data_027e0f78 func_ov22_0216dc9c: ; 0x0216dc9c stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _0216dcd8 ; =data_027e0e60 + ldr r0, _0216dcd8 ; =gMapManager ldrb r1, [r4, #0x15a] ldr r0, [r0] mov r2, #0 @@ -496,7 +496,7 @@ func_ov22_0216dc9c: ; 0x0216dc9c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov22_0216dc9c -_0216dcd8: .word data_027e0e60 +_0216dcd8: .word gMapManager .global func_ov22_0216dcdc arm_func_start func_ov22_0216dcdc @@ -1056,7 +1056,7 @@ _0216e494: mov r7, #0 cmp r0, #0 ble _0216e52c - ldr r4, _0216e584 ; =data_027e0e60 + ldr r4, _0216e584 ; =gMapManager _0216e4a8: cmp r6, #0 cmpeq r7, #0 @@ -1119,7 +1119,7 @@ _0216e56c: .align 2, 0 arm_func_end func_ov22_0216e2a8 _0216e580: .word 0x00001334 -_0216e584: .word data_027e0e60 +_0216e584: .word gMapManager .global func_ov22_0216e588 arm_func_start func_ov22_0216e588 @@ -1363,7 +1363,7 @@ _0216e8bc: cmpeq r10, #0 beq _0216e938 ldrb r2, [r4, #0x14] - ldr r0, _0216ec8c ; =data_027e0e60 + ldr r0, _0216ec8c ; =gMapManager mov r1, r8 add r2, r9, r2 strb r2, [sp, #0xa] @@ -1423,11 +1423,11 @@ _0216e958: mvn r0, #0 cmp r1, r0 beq _0216e9bc - ldr r0, _0216ec8c ; =data_027e0e60 + ldr r0, _0216ec8c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084ac4Ej _0216e9bc: - ldr r0, _0216ec8c ; =data_027e0e60 + ldr r0, _0216ec8c ; =gMapManager add r1, sp, #0x1c ldr r0, [r0] mov r2, #1 @@ -1528,7 +1528,7 @@ _0216eb28: cmpeq r10, #0 beq _0216eba4 ldrb r2, [r4, #0x14] - ldr r0, _0216ec8c ; =data_027e0e60 + ldr r0, _0216ec8c ; =gMapManager mov r1, r8 add r2, r9, r2 strb r2, [sp, #8] @@ -1588,11 +1588,11 @@ _0216ebc4: mvn r0, #0 cmp r1, r0 beq _0216ec28 - ldr r0, _0216ec8c ; =data_027e0e60 + ldr r0, _0216ec8c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084ac4Ej _0216ec28: - ldr r0, _0216ec8c ; =data_027e0e60 + ldr r0, _0216ec8c ; =gMapManager add r1, sp, #0x10 ldr r0, [r0] mov r2, #1 @@ -1621,7 +1621,7 @@ _0216ec74: .align 2, 0 arm_func_end func_ov22_0216e778 _0216ec88: .word gAdventureFlags -_0216ec8c: .word data_027e0e60 +_0216ec8c: .word gMapManager _0216ec90: .word data_027e0ffc _0216ec94: .word 0x00000335 _0216ec98: .word data_027e0e58 @@ -1823,7 +1823,7 @@ _0216eed0: mov r0, #0x4000 strh r0, [r4, #0xc] ldrb r2, [r4, #0x15] - ldr r0, _0216f0b0 ; =data_027e0e60 + ldr r0, _0216f0b0 ; =gMapManager ldrb r1, [r4, #0x14] ldr r0, [r0] sub r2, r2, #1 @@ -1833,7 +1833,7 @@ _0216eef4: mov r0, #0 strh r0, [r4, #0xc] ldrb r1, [r4, #0x14] - ldr r0, _0216f0b0 ; =data_027e0e60 + ldr r0, _0216f0b0 ; =gMapManager ldrb r2, [r4, #0x15] ldr r0, [r0] sub r1, r1, #1 @@ -1883,7 +1883,7 @@ _0216efa0: cmp r0, r1 bge _0216f050 mov r7, #1 - ldr r5, _0216f0b0 ; =data_027e0e60 + ldr r5, _0216f0b0 ; =gMapManager add r8, sp, #6 add r6, sp, #4 mov r11, r7 @@ -1950,7 +1950,7 @@ _0216f050: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov22_0216ee88 -_0216f0b0: .word data_027e0e60 +_0216f0b0: .word gMapManager _0216f0b4: .word 0x0000099a .global func_ov22_0216f0b8 @@ -3085,7 +3085,7 @@ _0216ff6c: str r0, [r6, #0x698] cmp r0, #0x2d bne _0216ffdc - ldr r0, _021701e4 ; =data_027e0e60 + ldr r0, _021701e4 ; =gMapManager mov r8, #0 ldr r0, [r0] sub r7, r8, #2 @@ -3255,7 +3255,7 @@ _021701d4: .word data_027e0e58 _021701d8: .word data_027e0ffc _021701dc: .word 0x00000297 _021701e0: .word 0x00000295 -_021701e4: .word data_027e0e60 +_021701e4: .word gMapManager _021701e8: .word data_027e0d38 _021701ec: .word 0xfffffccd _021701f0: .word data_ov22_021785b8 @@ -4914,7 +4914,7 @@ func_ov22_02171770: ; 0x02171770 tst r0, #0xff beq _021717d8 ldr r1, [r4, #0x48] - ldr r0, _02171930 ; =data_027e0e60 + ldr r0, _02171930 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -5026,7 +5026,7 @@ _0217190c: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov22_02171770 -_02171930: .word data_027e0e60 +_02171930: .word gMapManager _02171934: .word data_027e0f94 _02171938: .word 0x0000071c _0217193c: .word data_02050f54 @@ -5446,7 +5446,7 @@ func_ov22_02171dfc: ; 0x02171dfc mov ip, #4 str r1, [sp, #0x28] ldr r1, [r4, #0x54] - ldr r3, _02171fec ; =data_027e0e60 + ldr r3, _02171fec ; =gMapManager str r1, [sp, #0x14] ldr r2, [r4, #0x58] add r1, sp, #0x2c @@ -5535,7 +5535,7 @@ _02171fd8: arm_func_end func_ov22_02171dfc _02171fe4: .word 0x00000b33 _02171fe8: .word 0x0000ffff -_02171fec: .word data_027e0e60 +_02171fec: .word gMapManager .global func_ov22_02171ff0 arm_func_start func_ov22_02171ff0 @@ -5887,7 +5887,7 @@ func_ov22_02172438: ; 0x02172438 tst r0, #0xff beq _021724a4 ldr r1, [r4, #0x48] - ldr r0, _0217250c ; =data_027e0e60 + ldr r0, _0217250c ; =gMapManager str r1, [sp, #4] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -5936,7 +5936,7 @@ _021724a4: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov22_02172438 -_0217250c: .word data_027e0e60 +_0217250c: .word gMapManager _02172510: .word data_ov22_02179430 .global func_ov22_02172514 @@ -6089,7 +6089,7 @@ func_ov22_021726e8: ; 0x021726e8 tst r0, #0xff beq _02172754 ldr r1, [r4, #0x48] - ldr r0, _021727ec ; =data_027e0e60 + ldr r0, _021727ec ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -6150,7 +6150,7 @@ _02172754: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov22_021726e8 -_021727ec: .word data_027e0e60 +_021727ec: .word gMapManager _021727f0: .word data_027e0764 _021727f4: .word data_ov22_02179430 @@ -6187,7 +6187,7 @@ func_ov22_0217283c: ; 0x0217283c tst r0, #0xff beq _021728b0 ldr r1, [r4, #0x48] - ldr r0, _02172954 ; =data_027e0e60 + ldr r0, _02172954 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -6254,7 +6254,7 @@ _0217290c: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov22_0217283c -_02172954: .word data_027e0e60 +_02172954: .word gMapManager _02172958: .word data_027e0764 _0217295c: .word data_ov22_02179430 @@ -8052,7 +8052,7 @@ _021740a4: bl func_0202b154 cmp r0, #0 beq _02174134 - ldr r0, _0217460c ; =data_027e0e60 + ldr r0, _0217460c ; =gMapManager ldrh r1, [r5, #0x20] ldr r0, [r0] ldr r2, [r5, #8] @@ -8421,7 +8421,7 @@ _02174604: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov22_0217406c -_0217460c: .word data_027e0e60 +_0217460c: .word gMapManager _02174610: .word data_027e0764 _02174614: .word data_02050f54 _02174618: .word data_027e0f94 @@ -8802,7 +8802,7 @@ func_ov22_02174a80: ; 0x02174a80 cmp r3, #0 beq _02174ae8 ldr r1, [r3, #0x48] - ldr r0, _02174b38 ; =data_027e0e60 + ldr r0, _02174b38 ; =gMapManager str r1, [r4, #0x48] ldr r2, [r3, #0x4c] add r1, sp, #0 @@ -8847,7 +8847,7 @@ _02174b2c: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov22_02174a80 -_02174b38: .word data_027e0e60 +_02174b38: .word gMapManager .global func_ov22_02174b3c arm_func_start func_ov22_02174b3c @@ -8989,7 +8989,7 @@ func_ov22_02174cb0: ; 0x02174cb0 mov r1, r1, lsl #0x2 ldrsh r1, [r0, r1] ldr r2, [sp, #0x24] - ldr lr, _02174db0 ; =data_027e0e60 + ldr lr, _02174db0 ; =gMapManager smulbb r1, r1, ip add r1, r1, #0x800 add r3, r2, r1, asr #12 @@ -9038,7 +9038,7 @@ func_ov22_02174cb0: ; 0x02174cb0 arm_func_end func_ov22_02174cb0 _02174da8: .word data_02050f54 _02174dac: .word 0x00000266 -_02174db0: .word data_027e0e60 +_02174db0: .word gMapManager _02174db4: .word 0x0000059a _02174db8: .word data_ov00_020e9370 @@ -9191,7 +9191,7 @@ _02174f74: strb r0, [sp, #8] cmp r4, r1 bge _02175038 - ldr r7, _0217505c ; =data_027e0e60 + ldr r7, _0217505c ; =gMapManager ldr r6, _02175060 ; =data_027e0764 sub r8, sp, #4 mov r11, #5 @@ -9248,7 +9248,7 @@ _02175038: .align 2, 0 arm_func_end func_ov22_02174f00 _02175058: .word data_027e0f64 -_0217505c: .word data_027e0e60 +_0217505c: .word gMapManager _02175060: .word data_027e0764 _02175064: .word data_027e0e58 @@ -9878,7 +9878,7 @@ func_ov22_021757c0: ; 0x021757c0 ldr r3, [r5, #0x298] str r3, [sp, #0x18] bl func_01ff9bf8 - ldr r1, _0217590c ; =data_027e0e60 + ldr r1, _0217590c ; =gMapManager add r0, sp, #0 ldr r5, [r1] add r2, sp, #0x1c @@ -9940,7 +9940,7 @@ func_ov22_021757c0: ; 0x021757c0 .align 2, 0 arm_func_end func_ov22_021757c0 _02175908: .word data_027e0f64 -_0217590c: .word data_027e0e60 +_0217590c: .word gMapManager .global func_ov22_02175910 arm_func_start func_ov22_02175910 @@ -10225,7 +10225,7 @@ func_ov22_02175c44: ; 0x02175c44 str r1, [r9, #0x44] add r1, r2, #0x7800 str r1, [r9, #0x48] - ldr r0, _02175cfc ; =data_027e0e60 + ldr r0, _02175cfc ; =gMapManager add r1, r9, #0x18 ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -10234,7 +10234,7 @@ func_ov22_02175c44: ; 0x02175c44 cmp r7, r0 addge sp, sp, #4 ldmgeia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} - ldr r10, _02175cfc ; =data_027e0e60 + ldr r10, _02175cfc ; =gMapManager add r5, sp, #0 mov r4, #1 _02175ca0: @@ -10265,7 +10265,7 @@ _02175ce0: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov22_02175c44 -_02175cfc: .word data_027e0e60 +_02175cfc: .word gMapManager .global func_ov22_02175d00 arm_func_start func_ov22_02175d00 @@ -10584,7 +10584,7 @@ _021760b8: cmp r6, r0 addge sp, sp, #0xc ldmgeia sp!, {r3, r4, r5, r6, r7, r8, pc} - ldr r8, _02176174 ; =data_027e0e60 + ldr r8, _02176174 ; =gMapManager mov r5, #0x45 _0217611c: ldrb r7, [r4, #0x15] @@ -10613,7 +10613,7 @@ _02176154: .align 2, 0 arm_func_end func_ov22_02176000 _02176170: .word data_027e0f6c -_02176174: .word data_027e0e60 +_02176174: .word gMapManager .global func_ov22_02176178 arm_func_start func_ov22_02176178 @@ -11543,7 +11543,7 @@ func_ov22_02176d6c: ; 0x02176d6c stmdb sp!, {r4, lr} sub sp, sp, #0x48 mov r4, r0 - ldr r0, _02176f78 ; =data_027e0e60 + ldr r0, _02176f78 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0x30 @@ -11585,13 +11585,13 @@ func_ov22_02176d6c: ; 0x02176d6c mov r0, #4 str r1, [r4, #0x2bc] strb r0, [r4, #0x124] - ldr r0, _02176f78 ; =data_027e0e60 + ldr r0, _02176f78 ; =gMapManager strb r2, [r4, #0x125] ldr r0, [r0] add r1, sp, #0x18 bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldr r1, [sp, #0x18] - ldr r0, _02176f78 ; =data_027e0e60 + ldr r0, _02176f78 ; =gMapManager str r1, [r4, #0x48] ldr r1, [sp, #0x1c] str r1, [r4, #0x4c] @@ -11673,7 +11673,7 @@ func_ov22_02176d6c: ; 0x02176d6c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov22_02176d6c -_02176f78: .word data_027e0e60 +_02176f78: .word gMapManager _02176f7c: .word 0x00000ccd _02176f80: .word data_027e0f6c _02176f84: .word data_ov22_021788f4 diff --git a/asm/ov23.inc b/asm/ov23.inc index 9f4779f2..114655f7 100644 --- a/asm/ov23.inc +++ b/asm/ov23.inc @@ -142,7 +142,7 @@ .extern data_027e0db0 .extern data_027e0e2c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov23.s b/asm/ov23.s index 6357275b..1d821bf2 100644 --- a/asm/ov23.s +++ b/asm/ov23.s @@ -702,7 +702,7 @@ _0216df74: ldreq r0, [r4, #0x480] cmpeq r0, #1 ldmneia sp!, {r3, r4, r5, pc} - ldr r1, _0216e00c ; =data_027e0e60 + ldr r1, _0216e00c ; =gMapManager add r0, sp, #0 ldr r5, [r1] add r2, r4, #0x48 @@ -727,7 +727,7 @@ _0216df74: arm_func_end func_ov23_0216df28 _0216e004: .word data_ov00_020e8b08 _0216e008: .word 0x47524e43 -_0216e00c: .word data_027e0e60 +_0216e00c: .word gMapManager .global func_ov23_0216e010 arm_func_start func_ov23_0216e010 @@ -2277,7 +2277,7 @@ func_ov23_0216f2a4: ; 0x0216f2a4 add r1, r4, #0x48 bl func_ov00_020c5330 ldr r1, [r4, #0x48] - ldr r0, _0216f3ec ; =data_027e0e60 + ldr r0, _0216f3ec ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -2337,7 +2337,7 @@ _0216f39c: arm_func_end func_ov23_0216f2a4 _0216f3e4: .word data_ov23_0217a030 _0216f3e8: .word 0x0000059a -_0216f3ec: .word data_027e0e60 +_0216f3ec: .word gMapManager _0216f3f0: .word data_ov23_0217ac20 _0216f3f4: .word data_ov23_0217a0b8 _0216f3f8: .word data_ov23_0217ac5c @@ -2378,7 +2378,7 @@ func_ov23_0216f428: ; 0x0216f428 add r1, sp, #0xbc add r0, r5, #0x3a8 bl func_ov00_020c5330 - ldr r0, _0216f878 ; =data_027e0e60 + ldr r0, _0216f878 ; =gMapManager ldr r1, [sp, #0xbc] ldr r2, [sp, #0xc0] ldr r3, [sp, #0xc4] @@ -2393,7 +2393,7 @@ func_ov23_0216f428: ; 0x0216f428 ldr r0, [sp, #0xd0] ldr r1, [sp, #0xc8] str r0, [sp, #0x70] - ldr r0, _0216f878 ; =data_027e0e60 + ldr r0, _0216f878 ; =gMapManager str r1, [sp, #0x68] ldr r1, [sp, #0xcc] ldr r0, [r0] @@ -2442,7 +2442,7 @@ func_ov23_0216f428: ; 0x0216f428 str r3, [sp, #0x58] str r2, [sp] ldr r1, [r5, #8] - ldr r4, _0216f878 ; =data_027e0e60 + ldr r4, _0216f878 ; =gMapManager str r1, [sp, #4] ldrh r3, [r5, #0x9c] add r1, sp, #0x19c @@ -2535,7 +2535,7 @@ _0216f630: moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, pc} _0216f6bc: - ldr r0, _0216f878 ; =data_027e0e60 + ldr r0, _0216f878 ; =gMapManager mov r1, r6 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -2654,7 +2654,7 @@ _0216f86c: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov23_0216f428 -_0216f878: .word data_027e0e60 +_0216f878: .word gMapManager _0216f87c: .word 0x0000ffff _0216f880: .word 0x00000733 _0216f884: .word data_027e0fe4 @@ -2834,7 +2834,7 @@ _0216fac8: add r1, r7, #0x39c bl func_ov00_020c5330 ldr r1, [r7, #0x39c] - ldr r0, _0216fb1c ; =data_027e0e60 + ldr r0, _0216fb1c ; =gMapManager str r1, [sp, #4] ldr r1, [r7, #0x3a0] ldr r0, [r0] @@ -2852,7 +2852,7 @@ _0216fac8: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov23_0216f898 -_0216fb1c: .word data_027e0e60 +_0216fb1c: .word gMapManager .global func_ov23_0216fb20 arm_func_start func_ov23_0216fb20 @@ -2976,7 +2976,7 @@ func_ov23_0216fc10: ; 0x0216fc10 add r3, sp, #0x20 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0216fd84 ; =data_027e0e60 + ldr r0, _0216fd84 ; =gMapManager ldr lr, [sp, #0x20] ldr ip, [sp, #0x24] ldr r3, [sp, #0x28] @@ -3012,7 +3012,7 @@ func_ov23_0216fc10: ; 0x0216fc10 strb r2, [r4, #0x3a9] bl func_ov00_020c5330 ldr r1, [r4, #0x48] - ldr r0, _0216fd84 ; =data_027e0e60 + ldr r0, _0216fd84 ; =gMapManager str r1, [sp, #8] ldr r2, [r4, #0x4c] ldr r0, [r0] @@ -3030,7 +3030,7 @@ func_ov23_0216fc10: ; 0x0216fc10 .align 2, 0 arm_func_end func_ov23_0216fc10 _0216fd80: .word 0x66666667 -_0216fd84: .word data_027e0e60 +_0216fd84: .word gMapManager _0216fd88: .word data_027e0e58 _0216fd8c: .word 0x000001a9 _0216fd90: .word data_027e0ffc @@ -3068,7 +3068,7 @@ func_ov23_0216fda0: ; 0x0216fda0 func_ov23_0216fddc: ; 0x0216fddc stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 - ldr r1, _0216fea4 ; =data_027e0e60 + ldr r1, _0216fea4 ; =gMapManager mov r2, r0 ldr r1, [r1] add r0, sp, #2 @@ -3076,7 +3076,7 @@ func_ov23_0216fddc: ; 0x0216fddc bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p mvn r4, #0 _0216fe00: - ldr r6, _0216fea4 ; =data_027e0e60 + ldr r6, _0216fea4 ; =gMapManager mvn r5, #0 add r7, sp, #0 _0216fe0c: @@ -3123,7 +3123,7 @@ _0216fe84: ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov23_0216fddc -_0216fea4: .word data_027e0e60 +_0216fea4: .word gMapManager .global func_ov23_0216fea8 arm_func_start func_ov23_0216fea8 @@ -3454,7 +3454,7 @@ _021702d0: add r1, r5, #0x48 bl func_ov00_020c5330 ldr r1, [r5, #0x48] - ldr r0, _02170670 ; =data_027e0e60 + ldr r0, _02170670 ; =gMapManager str r1, [sp, #0x20] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -3621,7 +3621,7 @@ _02170524: strb r2, [r5, #0x3ab] bl func_ov00_020c5330 ldr r1, [r5, #0x39c] - ldr r0, _02170670 ; =data_027e0e60 + ldr r0, _02170670 ; =gMapManager str r1, [sp, #0x14] ldr r1, [r5, #0x3a0] ldr r0, [r0] @@ -3690,7 +3690,7 @@ _02170658: _02170664: .word data_027e0f94 _02170668: .word data_027e0fe4 _0217066c: .word 0x50534241 -_02170670: .word data_027e0e60 +_02170670: .word gMapManager _02170674: .word data_027e0ffc _02170678: .word 0x00000332 _0217067c: .word 0x00000333 @@ -5842,23 +5842,23 @@ func_ov23_021722d0: ; 0x021722d0 addeq sp, sp, #0x10 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} - ldr r1, _021723c0 ; =data_027e0e60 + ldr r1, _021723c0 ; =gMapManager add r0, sp, #0 ldr r1, [r1] add r2, r4, #0x48 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - ldr r0, _021723c0 ; =data_027e0e60 + ldr r0, _021723c0 ; =gMapManager ldrb r1, [sp] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083c24Ei str r0, [r4, #0x48] - ldr r0, _021723c0 ; =data_027e0e60 + ldr r0, _021723c0 ; =gMapManager ldrb r1, [sp, #1] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083c50Ei str r0, [r4, #0x50] ldr r1, [r4, #0x48] - ldr r0, _021723c0 ; =data_027e0e60 + ldr r0, _021723c0 ; =gMapManager str r1, [sp, #4] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -5896,7 +5896,7 @@ func_ov23_021722d0: ; 0x021722d0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov23_021722d0 -_021723c0: .word data_027e0e60 +_021723c0: .word gMapManager .global func_ov23_021723c4 arm_func_start func_ov23_021723c4 @@ -6189,7 +6189,7 @@ _02172794: bl func_ov23_02172cac b _021727e0 _021727a0: - ldr r0, _021727f0 ; =data_027e0e60 + ldr r0, _021727f0 ; =gMapManager mov r1, #1 ldr r0, [r0] mov r3, r1 @@ -6213,7 +6213,7 @@ _021727e0: arm_func_end func_ov23_02172700 _021727e8: .word data_ov23_0217a3e0 _021727ec: .word 0x00000333 -_021727f0: .word data_027e0e60 +_021727f0: .word gMapManager .global func_ov23_021727f4 arm_func_start func_ov23_021727f4 @@ -6453,7 +6453,7 @@ _02172a44: strb r2, [sp, #3] bl func_ov00_020c5374 mvn r7, #0 - ldr r9, _02172b14 ; =data_027e0e60 + ldr r9, _02172b14 ; =gMapManager mov r6, r7 add r10, sp, #0x1c add r5, sp, #0 @@ -6502,7 +6502,7 @@ _02172ae4: _02172b08: .word data_027e0fe4 _02172b0c: .word 0x00000666 _02172b10: .word 0x424f4d42 -_02172b14: .word data_027e0e60 +_02172b14: .word gMapManager .global func_ov23_02172b18 arm_func_start func_ov23_02172b18 @@ -7119,7 +7119,7 @@ _02173364: _02173388: ldrb r1, [sp, #0x13] ldrb r2, [sp, #0x12] - ldr r0, _021734e0 ; =data_027e0e60 + ldr r0, _021734e0 ; =gMapManager add r1, r1, r5 add r2, r2, r4 strb r1, [sp, #0x11] @@ -7206,7 +7206,7 @@ _021734d0: .word _ZTV11FilterActor _021734d4: .word 0x424f4d42 _021734d8: .word data_027e0fe4 _021734dc: .word 0x00000733 -_021734e0: .word data_027e0e60 +_021734e0: .word gMapManager .global func_ov23_021734e4 arm_func_start func_ov23_021734e4 @@ -7660,11 +7660,11 @@ _02173b48: ldr r0, _021741a8 ; =data_ov00_020eec68 mov r1, #0xf bl func_ov00_020d716c - ldr r0, _021741ac ; =data_027e0e60 + ldr r0, _021741ac ; =gMapManager mov r1, #1 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083790Ei - ldr r0, _021741ac ; =data_027e0e60 + ldr r0, _021741ac ; =gMapManager mov r1, #1 ldr r0, [r0] mov r2, #2 @@ -8077,7 +8077,7 @@ _02174120: mov r0, r4 mov r2, r1 bl _ZN5Actor18func_ov00_020c1c20Eiii - ldr r0, _021741ac ; =data_027e0e60 + ldr r0, _021741ac ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 @@ -8085,11 +8085,11 @@ _02174120: mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 - ldr r0, _021741ac ; =data_027e0e60 + ldr r0, _021741ac ; =gMapManager mov r1, #1 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083840Ei - ldr r0, _021741ac ; =data_027e0e60 + ldr r0, _021741ac ; =gMapManager mov r1, #1 ldr r0, [r0] mov r2, #2 @@ -8102,7 +8102,7 @@ _0217419c: .align 2, 0 arm_func_end func_ov23_021738c0 _021741a8: .word data_ov00_020eec68 -_021741ac: .word data_027e0e60 +_021741ac: .word gMapManager _021741b0: .word data_027e0e58 _021741b4: .word data_027e0ffc _021741b8: .word data_027e103c @@ -10301,7 +10301,7 @@ func_ov23_02175d3c: ; 0x02175d3c str r3, [sp, #8] blx ip ldrb r1, [r4, #0x14] - ldr r0, _02175f08 ; =data_027e0e60 + ldr r0, _02175f08 ; =gMapManager ldrb r4, [r4, #0x15] add r3, r1, #1 ldr r0, [r0] @@ -10318,7 +10318,7 @@ _02175ef8: .word 0x000007fc _02175efc: .word data_ov23_0217966c _02175f00: .word data_027e0f68 _02175f04: .word 0x000002cd -_02175f08: .word data_027e0e60 +_02175f08: .word gMapManager .global func_ov23_02175f0c arm_func_start func_ov23_02175f0c @@ -11642,7 +11642,7 @@ func_ov23_02177020: ; 0x02177020 sub sp, sp, #4 mov r9, r0 ldr r1, [r9, #0x18] - ldr r0, _021770e8 ; =data_027e0e60 + ldr r0, _021770e8 ; =gMapManager str r1, [r9, #0x38] ldr r2, [r9, #0x1c] add r1, r9, #0x18 @@ -11662,7 +11662,7 @@ func_ov23_02177020: ; 0x02177020 cmp r7, r0 addge sp, sp, #4 ldmgeia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} - ldr r10, _021770e8 ; =data_027e0e60 + ldr r10, _021770e8 ; =gMapManager add r5, sp, #0 mov r4, #1 _0217708c: @@ -11693,7 +11693,7 @@ _021770cc: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov23_02177020 -_021770e8: .word data_027e0e60 +_021770e8: .word gMapManager .global func_ov23_021770ec arm_func_start func_ov23_021770ec @@ -12254,7 +12254,7 @@ _0217781c: cmp r6, r0 addge sp, sp, #0xc ldmgeia sp!, {r3, r4, r5, r6, r7, r8, pc} - ldr r8, _021778d8 ; =data_027e0e60 + ldr r8, _021778d8 ; =gMapManager mov r5, #0x15 _02177880: ldrb r7, [r4, #0x15] @@ -12283,7 +12283,7 @@ _021778b8: .align 2, 0 arm_func_end func_ov23_02177754 _021778d4: .word data_027e0f6c -_021778d8: .word data_027e0e60 +_021778d8: .word gMapManager .global func_ov23_021778dc arm_func_start func_ov23_021778dc @@ -12575,7 +12575,7 @@ func_ov23_02177ba0: ; 0x02177ba0 add r2, r6, #0x2c mov r1, r0, lsl #0x1 add r3, r2, r0, lsl #1 - ldr r0, _02177e10 ; =data_027e0e60 + ldr r0, _02177e10 ; =gMapManager ldrb r2, [r2, r1] ldrb r1, [r3, #1] ldr r0, [r0] @@ -12681,7 +12681,7 @@ _02177d24: ldr r0, [sp, #0x74] cmp r0, #0x5000 bge _02177df0 - ldr r0, _02177e10 ; =data_027e0e60 + ldr r0, _02177e10 ; =gMapManager mov r3, #0xff ldr r0, [r0] mov r2, #0 @@ -12701,7 +12701,7 @@ _02177da8: ldr r0, [sp, #0x74] cmp r0, #0x5000 blt _02177df0 - ldr r0, _02177e10 ; =data_027e0e60 + ldr r0, _02177e10 ; =gMapManager mov r4, #0xff ldr r0, [r0] mov r3, #0 @@ -12727,7 +12727,7 @@ _02177df0: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov23_02177ba0 -_02177e10: .word data_027e0e60 +_02177e10: .word gMapManager _02177e14: .word data_027e0fe4 _02177e18: .word 0x504c444d _02177e1c: .word 0x50574253 @@ -12797,7 +12797,7 @@ func_ov23_02177e90: ; 0x02177e90 bl func_ov23_02177e7c mov r6, r0 bl func_ov23_02177e84 - ldr r2, _02178040 ; =data_027e0e60 + ldr r2, _02178040 ; =gMapManager ldr r1, _02178044 ; =data_027e0f94 ldr r8, [r2] mov r5, r0 @@ -12906,7 +12906,7 @@ _02178030: .align 2, 0 arm_func_end func_ov23_02177e90 _0217803c: .word data_027e0d38 -_02178040: .word data_027e0e60 +_02178040: .word gMapManager _02178044: .word data_027e0f94 _02178048: .word data_027e0fa0 _0217804c: .word data_027e0ffc @@ -13052,14 +13052,14 @@ _02178218: strh r1, [r0, #0x18] cmp r3, #2 blo _02178218 - ldr r0, _02178318 ; =data_027e0e60 + ldr r0, _02178318 ; =gMapManager add r2, sp, #0xc ldr r0, [r0] mov r1, #0x5b bl _ZN10MapManager18func_ov00_02083918EiPi cmp r0, #0 beq _02178298 - ldr r0, _02178318 ; =data_027e0e60 + ldr r0, _02178318 ; =gMapManager ldrb r1, [sp, #0x10] ldr r0, [r0] mov r2, #0 @@ -13071,7 +13071,7 @@ _02178218: bl func_ov00_0208726c b _02178298 _02178274: - ldr r0, _02178318 ; =data_027e0e60 + ldr r0, _02178318 ; =gMapManager mov r1, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083958Ei @@ -13115,7 +13115,7 @@ _02178308: .word data_027e0fe4 _0217830c: .word 0x504c444d _02178310: .word data_027e0f94 _02178314: .word data_027e0fac -_02178318: .word data_027e0e60 +_02178318: .word gMapManager _0217831c: .word data_027e0f64 _02178320: .word data_027e0fcc _02178324: .word data_027e0fd4 @@ -13530,7 +13530,7 @@ _02178880: _021788b8: bl _ZN13LinkStateBase12GetPlayerPosEv ldr r2, [r0] - ldr r1, _021789f8 ; =data_027e0e60 + ldr r1, _021789f8 ; =gMapManager str r2, [sp, #0xc] ldr r2, [r0, #4] ldr r6, [r1] @@ -13614,7 +13614,7 @@ _021789e8: .word data_ov23_0217ab40 _021789ec: .word data_ov00_020eec9c _021789f0: .word data_027e0e58 _021789f4: .word 0x000001a7 -_021789f8: .word data_027e0e60 +_021789f8: .word gMapManager .global func_ov23_021789fc arm_func_start func_ov23_021789fc @@ -13631,7 +13631,7 @@ func_ov23_021789fc: ; 0x021789fc str r1, [r0, #8] mov r0, r5 bl _ZN13LinkStateBase12GetPlayerPosEv - ldr r1, _02178aa4 ; =data_027e0e60 + ldr r1, _02178aa4 ; =gMapManager add r3, sp, #8 ldr r4, [r1] ldmia r0, {r0, r1, r2} @@ -13663,7 +13663,7 @@ func_ov23_021789fc: ; 0x021789fc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov23_021789fc -_02178aa4: .word data_027e0e60 +_02178aa4: .word gMapManager _02178aa8: .word data_027e0e58 _02178aac: .word data_027e0ffc @@ -13675,7 +13675,7 @@ func_ov23_02178ab0: ; 0x02178ab0 mov r10, r0 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev mov r2, r0 - ldr r1, _02179014 ; =data_027e0e60 + ldr r1, _02179014 ; =gMapManager add r0, sp, #8 ldr r4, [r1] add r2, r2, #0x20 @@ -13742,7 +13742,7 @@ _02178b10: mov r0, r4 str r3, [sp, #0x34] bl func_01ff9bc4 - ldr r0, _02179014 ; =data_027e0e60 + ldr r0, _02179014 ; =gMapManager mov r2, r4 ldr r9, [r0] add r0, sp, #6 @@ -13751,7 +13751,7 @@ _02178b10: mov r0, r9 add r1, sp, #6 bl _ZN10MapManager16MapData_vfunc_60Ev - ldr r1, _02179014 ; =data_027e0e60 + ldr r1, _02179014 ; =gMapManager str r0, [sp, #0x30] ldr r1, [r1] add r0, sp, #0x10 @@ -13888,7 +13888,7 @@ _02178dcc: sublt r0, r0, #0x800 strlt r0, [sp, #0x20] _02178de8: - ldr r1, _02179014 ; =data_027e0e60 + ldr r1, _02179014 ; =gMapManager add r0, sp, #4 ldr r4, [r1] add r2, sp, #0x20 @@ -13897,7 +13897,7 @@ _02178de8: add r1, sp, #4 mov r0, r4 bl _ZN10MapManager16MapData_vfunc_60Ev - ldr r1, _02179014 ; =data_027e0e60 + ldr r1, _02179014 ; =gMapManager str r0, [sp, #0x24] ldr r1, [r1] add r0, sp, #0xc @@ -14037,7 +14037,7 @@ _02178fd8: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov23_02178ab0 -_02179014: .word data_027e0e60 +_02179014: .word gMapManager _02179018: .word data_02050f54 _0217901c: .word 0x00000333 _02179020: .word data_027e0d38 diff --git a/asm/ov24.inc b/asm/ov24.inc index 4ebd7900..9d81e869 100644 --- a/asm/ov24.inc +++ b/asm/ov24.inc @@ -84,7 +84,7 @@ .extern data_027e0c68 .extern data_027e0d0c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov24.s b/asm/ov24.s index cbd37605..7db058c7 100644 --- a/asm/ov24.s +++ b/asm/ov24.s @@ -164,7 +164,7 @@ _0216d878: add r0, r9, r4 cmp r9, r0 bge _0216d914 - ldr r6, _0216da24 ; =data_027e0e60 + ldr r6, _0216da24 ; =gMapManager add r8, sp, #4 mov r7, #1 _0216d8b4: @@ -265,7 +265,7 @@ _0216d914: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov24_0216d824 -_0216da24: .word data_027e0e60 +_0216da24: .word gMapManager _0216da28: .word data_027e0f6c .global func_ov24_0216da2c @@ -492,7 +492,7 @@ func_ov24_0216dcac: ; 0x0216dcac func_ov24_0216dcbc: ; 0x0216dcbc stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 - ldr r1, _0216dd58 ; =data_027e0e60 + ldr r1, _0216dd58 ; =gMapManager mov r4, r0 ldr r0, [r1] bl _ZN10MapManager18func_ov00_0208412cEv @@ -517,7 +517,7 @@ _0216dd0c: add r1, sp, #0 ldr r2, [r2, #0x2c] blx r2 - ldr r0, _0216dd58 ; =data_027e0e60 + ldr r0, _0216dd58 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_0208412cEv sub r1, r0, #0x800 @@ -533,7 +533,7 @@ _0216dd0c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov24_0216dcbc -_0216dd58: .word data_027e0e60 +_0216dd58: .word gMapManager _0216dd5c: .word 0xfffff667 .global func_ov24_0216dd60 @@ -703,7 +703,7 @@ _0216df44: str r0, [r4, #0x84] str r0, [r4, #0x88] ldr r1, [r4, #0x7c] - ldr r0, _0216dffc ; =data_027e0e60 + ldr r0, _0216dffc ; =gMapManager str r1, [r4, #0x8c] ldr r1, [r4, #0x80] str r1, [r4, #0x90] @@ -715,7 +715,7 @@ _0216df44: bl _ZN10MapManager18Get_MapData_Unk_d0Ev str r0, [r4, #0x228] mov r1, #0 - ldr r0, _0216dffc ; =data_027e0e60 + ldr r0, _0216dffc ; =gMapManager str r1, [r4, #0x22c] ldr r0, [r0] bl _ZN10MapManager18Get_MapData_Unk_d8Ev @@ -731,7 +731,7 @@ _0216dfec: .word data_ov24_02179224 _0216dff0: .word data_027e0fec _0216dff4: .word data_ov24_02179f04 _0216dff8: .word data_ov24_02179204 -_0216dffc: .word data_027e0e60 +_0216dffc: .word gMapManager .global func_ov24_0216e000 arm_func_start func_ov24_0216e000 @@ -917,7 +917,7 @@ _0216e258: ldr r2, [r0, r2, lsl #2] add r0, r4, #0x16c bl Approach_thunk - ldr r0, _0216e4b0 ; =data_027e0e60 + ldr r0, _0216e4b0 ; =gMapManager ldr r1, [r4, #0x16c] ldr r0, [r0] bl _ZN10MapManager18func_ov00_0208413cEi @@ -995,7 +995,7 @@ _0216e378: ldr r2, [r0, r2, lsl #2] add r0, r4, #0x16c bl Approach_thunk - ldr r0, _0216e4b0 ; =data_027e0e60 + ldr r0, _0216e4b0 ; =gMapManager ldr r1, [r4, #0x16c] ldr r0, [r0] bl _ZN10MapManager18func_ov00_0208413cEi @@ -1074,7 +1074,7 @@ _0216e4a0: .word data_027e0f64 _0216e4a4: .word data_027e0ffc _0216e4a8: .word 0x00000355 _0216e4ac: .word data_ov24_021791e4 -_0216e4b0: .word data_027e0e60 +_0216e4b0: .word gMapManager _0216e4b4: .word data_ov24_021791ec _0216e4b8: .word data_ov24_021791fc _0216e4bc: .word 0x00000356 @@ -1103,7 +1103,7 @@ _0216e4f4: mov r1, #1 str r2, [r4, #0x16c] bl func_ov24_0216e740 - ldr r0, _0216e6f0 ; =data_027e0e60 + ldr r0, _0216e6f0 ; =gMapManager ldr r1, [r4, #0x16c] ldr r0, [r0] bl _ZN10MapManager18func_ov00_0208413cEi @@ -1130,7 +1130,7 @@ _0216e558: mov r1, #0 str r2, [r4, #0x16c] bl func_ov24_0216e740 - ldr r0, _0216e6f0 ; =data_027e0e60 + ldr r0, _0216e6f0 ; =gMapManager ldr r1, [r4, #0x16c] ldr r0, [r0] bl _ZN10MapManager18func_ov00_0208413cEi @@ -1236,7 +1236,7 @@ _0216e6e4: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov24_0216e4c8 -_0216e6f0: .word data_027e0e60 +_0216e6f0: .word gMapManager _0216e6f4: .word gAdventureFlags .global func_ov24_0216e6f8 @@ -1332,7 +1332,7 @@ _0216e810: strh r1, [r0, #0x18] cmp r3, #2 blo _0216e810 - ldr r0, _0216e87c ; =data_027e0e60 + ldr r0, _0216e87c ; =gMapManager ldrb r1, [r5, #0x159] ldr r0, [r0] add r2, sp, #0x18 @@ -1357,7 +1357,7 @@ _0216e860: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov24_0216e7b8 -_0216e87c: .word data_027e0e60 +_0216e87c: .word gMapManager .global func_ov24_0216e880 arm_func_start func_ov24_0216e880 @@ -1373,13 +1373,13 @@ func_ov24_0216e880: ; 0x0216e880 movne r0, #0 ldmia sp!, {r3, pc} _0216e8a8: - ldr r0, _0216e8b8 ; =data_027e0e60 + ldr r0, _0216e8b8 ; =gMapManager ldr r0, [r0] ldrb r0, [r0, #9] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov24_0216e880 -_0216e8b8: .word data_027e0e60 +_0216e8b8: .word gMapManager .global func_ov24_0216e8bc arm_func_start func_ov24_0216e8bc @@ -1392,7 +1392,7 @@ func_ov24_0216e8bc: ; 0x0216e8bc bl _ZN5Actor18func_Ov00_020c1bfcEi ldmia sp!, {r3, pc} _0216e8d8: - ldr r0, _0216e8f4 ; =data_027e0e60 + ldr r0, _0216e8f4 ; =gMapManager ldr r0, [r0] ldrb r0, [r0, #9] cmp r0, #0 @@ -1401,7 +1401,7 @@ _0216e8d8: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov24_0216e8bc -_0216e8f4: .word data_027e0e60 +_0216e8f4: .word gMapManager .global func_ov24_0216e8f8 arm_func_start func_ov24_0216e8f8 @@ -1692,7 +1692,7 @@ _0216ec38: cmp r1, r0 bne _0216ed20 ldr r0, [r4, #0x48] - ldr r3, _0216eddc ; =data_027e0e60 + ldr r3, _0216eddc ; =gMapManager str r0, [r4, #0x478] ldr r0, [r4, #0x4c] mov r1, #2 @@ -1782,7 +1782,7 @@ _0216edcc: .word data_ov24_0217922c _0216edd0: .word data_ov24_0217a00c _0216edd4: .word data_ov24_0217a010 _0216edd8: .word func_ov24_0216e960 -_0216eddc: .word data_027e0e60 +_0216eddc: .word gMapManager .global func_ov24_0216ede0 arm_func_start func_ov24_0216ede0 @@ -1874,7 +1874,7 @@ _0216eee4: bne _0216ef1c mov r0, #0 strb r0, [r5, #0x487] - ldr r0, _0216ef28 ; =data_027e0e60 + ldr r0, _0216ef28 ; =gMapManager ldrb r1, [r5, #0x2a] ldr r0, [r0] mov r2, #3 @@ -1886,7 +1886,7 @@ _0216ef1c: .align 2, 0 arm_func_end func_ov24_0216ee88 _0216ef24: .word 0x4d55544f -_0216ef28: .word data_027e0e60 +_0216ef28: .word gMapManager .global func_ov24_0216ef2c arm_func_start func_ov24_0216ef2c @@ -2606,7 +2606,7 @@ func_ov24_0216f79c: ; 0x0216f79c ldr ip, [ip, #0x10] add r1, sp, #8 blx ip - ldr r0, _0216f888 ; =data_027e0e60 + ldr r0, _0216f888 ; =gMapManager ldr r1, [r0] ldrb r1, [r1, #9] strb r1, [r4, #0x60] @@ -2632,7 +2632,7 @@ _0216f86c: .align 2, 0 arm_func_end func_ov24_0216f79c _0216f884: .word 0x00001333 -_0216f888: .word data_027e0e60 +_0216f888: .word gMapManager .global func_ov24_0216f88c arm_func_start func_ov24_0216f88c @@ -2662,7 +2662,7 @@ func_ov24_0216f88c: ; 0x0216f88c str r1, [r4, #0x70] ldrsh ip, [r4, #0x74] mov r2, #0 - ldr r1, _0216f9b0 ; =data_027e0e60 + ldr r1, _0216f9b0 ; =gMapManager add ip, ip, #0x3e8 strh ip, [r4, #0x74] ldrh ip, [r4, #0x74] @@ -2704,7 +2704,7 @@ _0216f974: ldr r3, [r3, #0x80] blx r3 _0216f990: - ldr r0, _0216f9b0 ; =data_027e0e60 + ldr r0, _0216f9b0 ; =gMapManager ldr r0, [r0] ldrb r0, [r0, #9] strb r0, [r4, #0x60] @@ -2714,7 +2714,7 @@ _0216f990: _0216f9a4: .word 0x00001555 _0216f9a8: .word data_02050f54 _0216f9ac: .word 0x00000333 -_0216f9b0: .word data_027e0e60 +_0216f9b0: .word gMapManager .global func_ov24_0216f9b4 arm_func_start func_ov24_0216f9b4 @@ -2830,13 +2830,13 @@ func_ov24_0216fa3c: ; 0x0216fa3c cmp r0, #0 ldrneh r1, [r4, #0x24] strneb r1, [r0, #0x159] - ldr r0, _0216fbd0 ; =data_027e0e60 + ldr r0, _0216fbd0 ; =gMapManager ldr r1, [r0] ldrb r0, [r1, #9] cmp r0, #0 moveq r2, #1 movne r2, #0 - ldr r0, _0216fbd0 ; =data_027e0e60 + ldr r0, _0216fbd0 ; =gMapManager strb r2, [r1, #9] ldr r0, [r0] ldrb r0, [r0, #9] @@ -2867,7 +2867,7 @@ _0216fbc0: .word data_027e0fc8 _0216fbc4: .word gAdventureFlags _0216fbc8: .word data_027e0fe4 _0216fbcc: .word 0x574c4354 -_0216fbd0: .word data_027e0e60 +_0216fbd0: .word gMapManager .global func_ov24_0216fbd4 arm_func_start func_ov24_0216fbd4 @@ -5251,7 +5251,7 @@ _02171950: _02171994: ldrh r1, [r4, #0x22] ldr r2, [r4, #0x48] - ldr r0, _02171e54 ; =data_027e0e60 + ldr r0, _02171e54 ; =gMapManager add r6, r2, r1, lsl #12 str r6, [sp, #0x14] ldrh r1, [r4, #0x24] @@ -5579,7 +5579,7 @@ _02171e40: _02171e48: .word data_027e0fe4 _02171e4c: .word data_027e0e58 _02171e50: .word 0x000001b3 -_02171e54: .word data_027e0e60 +_02171e54: .word gMapManager _02171e58: .word data_027e0764 _02171e5c: .word data_027e0ffc _02171e60: .word 0x0000027d @@ -8619,7 +8619,7 @@ _021745e8: _02174630: ldrh r1, [r4, #0x22] ldr r2, [r4, #0x48] - ldr r0, _02174bb4 ; =data_027e0e60 + ldr r0, _02174bb4 ; =gMapManager add r6, r2, r1, lsl #12 str r6, [sp, #0x14] ldrh r1, [r4, #0x24] @@ -8996,7 +8996,7 @@ _02174ba0: _02174ba8: .word data_027e0fe4 _02174bac: .word data_027e0e58 _02174bb0: .word 0x000001b3 -_02174bb4: .word data_027e0e60 +_02174bb4: .word gMapManager _02174bb8: .word data_027e0764 _02174bbc: .word data_027e0ffc _02174bc0: .word 0x0000027d @@ -9504,7 +9504,7 @@ _021752ac: ; jump table b _021752c4 ; case 4 b _021752c4 ; case 5 _021752c4: - ldr r0, _02175eb8 ; =data_027e0e60 + ldr r0, _02175eb8 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_0208412cEv ldr r1, [r4, #0x4c] @@ -9514,7 +9514,7 @@ _021752c4: mov r0, #1 ldmia sp!, {r4, r5, r6, r7, pc} _021752e8: - ldr r0, _02175eb8 ; =data_027e0e60 + ldr r0, _02175eb8 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_0208412cEv ldr r1, [r4, #0x4c] @@ -9829,7 +9829,7 @@ _021756e8: mov r0, #4 str r0, [sp, #8] str r2, [sp, #0xc] - ldr r0, _02175eb8 ; =data_027e0e60 + ldr r0, _02175eb8 ; =gMapManager str r2, [sp, #0x10] add r3, r4, #0x2a8 add r2, r3, #0x400 @@ -10327,7 +10327,7 @@ _02175eac: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov24_02175290 -_02175eb8: .word data_027e0e60 +_02175eb8: .word gMapManager _02175ebc: .word data_027e0fe4 _02175ec0: .word data_ov24_021792e4 _02175ec4: .word 0x00000b33 @@ -13357,11 +13357,11 @@ _021783f8: str r0, [sp, #0x64] b _0217852c _02178504: - ldr r0, _0217869c ; =data_027e0e60 + ldr r0, _0217869c ; =gMapManager add r1, sp, #0x5c ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p - ldr r0, _0217869c ; =data_027e0e60 + ldr r0, _0217869c ; =gMapManager add r1, sp, #0x5c ldr r0, [r0] mov r2, #0 @@ -13463,7 +13463,7 @@ _0217866c: _02178690: .word data_027e0fe4 _02178694: .word data_027e0f64 _02178698: .word 0x57534253 -_0217869c: .word data_027e0e60 +_0217869c: .word gMapManager .global func_ov24_021786a0 arm_func_start func_ov24_021786a0 @@ -14062,7 +14062,7 @@ func_ov24_02178e20: ; 0x02178e20 add r0, r7, #2 cmp r7, r0 bge _02178ee8 - ldr r4, _02179010 ; =data_027e0e60 + ldr r4, _02179010 ; =gMapManager add r5, sp, #2 mov r11, #1 _02178e4c: @@ -14187,7 +14187,7 @@ _02178fa4: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov24_02178e20 -_02179010: .word data_027e0e60 +_02179010: .word gMapManager _02179014: .word data_027e0f6c .global func_ov24_02179018 diff --git a/asm/ov25.inc b/asm/ov25.inc index 763cbcbc..73781d8b 100644 --- a/asm/ov25.inc +++ b/asm/ov25.inc @@ -108,7 +108,7 @@ .extern data_027e0d38 .extern data_027e0db0 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov25.s b/asm/ov25.s index 2284a809..89154597 100644 --- a/asm/ov25.s +++ b/asm/ov25.s @@ -395,7 +395,7 @@ _0216db80: ldrh r2, [r4, #0x24] ldrh r1, [r4, #0x26] ldr r3, _0216dccc ; =data_027e0f94 - ldr r0, _0216dcd0 ; =data_027e0e60 + ldr r0, _0216dcd0 ; =gMapManager strh r1, [sp, #0x22] strh r2, [sp, #0x20] ldrh r6, [r4, #0x28] @@ -456,7 +456,7 @@ _0216db80: arm_func_end func_ov25_0216daa4 _0216dcc8: .word data_027e0fe8 _0216dccc: .word data_027e0f94 -_0216dcd0: .word data_027e0e60 +_0216dcd0: .word gMapManager _0216dcd4: .word data_027e0fac .global func_ov25_0216dcd8 @@ -611,7 +611,7 @@ _0216de80: strh r2, [r0, #0x22] str ip, [r4, #0x674] str r1, [r4, #0x678] - ldr r0, _0216dff0 ; =data_027e0e60 + ldr r0, _0216dff0 ; =gMapManager add r2, sp, #0 ldr r0, [r0] mov r1, #1 @@ -687,7 +687,7 @@ _0216dfd0: arm_func_end func_ov25_0216de38 _0216dfe8: .word gAdventureFlags _0216dfec: .word data_ov25_02179be0 -_0216dff0: .word data_027e0e60 +_0216dff0: .word gMapManager .global func_ov25_0216dff4 arm_func_start func_ov25_0216dff4 @@ -4558,7 +4558,7 @@ _02171504: .word 0x43425333 func_ov25_02171508: ; 0x02171508 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x38 - ldr r2, _021715dc ; =data_027e0e60 + ldr r2, _021715dc ; =gMapManager mov r5, r0 ldr r0, [r2] mov r4, r1 @@ -4611,7 +4611,7 @@ func_ov25_02171508: ; 0x02171508 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov25_02171508 -_021715dc: .word data_027e0e60 +_021715dc: .word gMapManager _021715e0: .word data_027e0fe8 _021715e4: .word 0x4e4b4559 _021715e8: .word data_027e0fe4 @@ -7971,7 +7971,7 @@ _021741f4: cmpne r0, #0xa bne _02174248 ldr r1, [r4, #0x48] - ldr r0, _0217507c ; =data_027e0e60 + ldr r0, _0217507c ; =gMapManager str r1, [sp, #0xe8] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -8057,7 +8057,7 @@ _02174328: strb r2, [sp, #0x10] strb r2, [sp, #0x11] bl func_ov00_020c5374 - ldr r0, _0217507c ; =data_027e0e60 + ldr r0, _0217507c ; =gMapManager add r1, sp, #0x10 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -8078,7 +8078,7 @@ _02174374: strb r2, [sp, #0xe] strb r2, [sp, #0xf] bl func_ov00_020c5374 - ldr r0, _0217507c ; =data_027e0e60 + ldr r0, _0217507c ; =gMapManager add r1, sp, #0xe ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -8239,7 +8239,7 @@ _021745a8: bl func_ov25_021732fc _021745e0: ldr r1, _02175088 ; =data_027e0f94 - ldr r0, _0217507c ; =data_027e0e60 + ldr r0, _0217507c ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #0xdc] @@ -8306,7 +8306,7 @@ _021746a8: mov r2, #0x7b bl func_ov25_021732fc ldr r1, _02175088 ; =data_027e0f94 - ldr r0, _0217507c ; =data_027e0e60 + ldr r0, _0217507c ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #0xc4] @@ -8398,7 +8398,7 @@ _0217480c: mov r0, r4 bl func_ov25_02173250 ldr r1, _02175088 ; =data_027e0f94 - ldr r0, _0217507c ; =data_027e0e60 + ldr r0, _0217507c ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #0xac] @@ -8857,7 +8857,7 @@ _02174ee8: ldrh r0, [r4, #0x20] cmp r0, #3 bne _02174f80 - ldr r0, _0217507c ; =data_027e0e60 + ldr r0, _0217507c ; =gMapManager mov r6, #0 sub r3, r6, #2 mov r7, #0x47 @@ -8953,7 +8953,7 @@ _0217503c: arm_func_end func_ov25_02174100 _02175074: .word gAdventureFlags _02175078: .word 0x00000152 -_0217507c: .word data_027e0e60 +_0217507c: .word gMapManager _02175080: .word 0xb60b60b7 _02175084: .word 0x00000171 _02175088: .word data_027e0f94 @@ -9107,7 +9107,7 @@ _02175278: strb r2, [sp, #0xc] strb r2, [sp, #0xd] bl func_ov00_020c5374 - ldr r0, _0217507c ; =data_027e0e60 + ldr r0, _0217507c ; =gMapManager add r1, sp, #0xc ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084164Ev @@ -9866,7 +9866,7 @@ func_ov25_02175c54: ; 0x02175c54 ldrsh r1, [r0, #0x78] add r0, sp, #0x18 bl func_ov00_020c5a5c - ldr r0, _02175d18 ; =data_027e0e60 + ldr r0, _02175d18 ; =gMapManager add r2, sp, #0 ldr r0, [r0] mov r1, #1 @@ -9911,7 +9911,7 @@ _02175cb0: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov25_02175c54 -_02175d18: .word data_027e0e60 +_02175d18: .word gMapManager .global func_ov25_02175d1c arm_func_start func_ov25_02175d1c @@ -10444,7 +10444,7 @@ _021763e4: str r0, [r4, #0x1cc] cmp r0, #0x384 blt _0217641c - ldr r0, _02176954 ; =data_027e0e60 + ldr r0, _02176954 ; =gMapManager mov r2, #1 ldr r0, [r0] mov r3, r2 @@ -10822,7 +10822,7 @@ _0217694c: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov25_021763a4 -_02176954: .word data_027e0e60 +_02176954: .word gMapManager _02176958: .word gAdventureFlags _0217695c: .word data_027e0c68 _02176960: .word data_027e0fe4 @@ -11624,7 +11624,7 @@ func_ov25_021772ec: ; 0x021772ec addne sp, sp, #8 movne r0, #0 ldmneia sp!, {r4, pc} - ldr r1, _02177368 ; =data_027e0e60 + ldr r1, _02177368 ; =gMapManager add r0, sp, #4 ldr r1, [r1] add r2, r2, #0x48 @@ -11647,7 +11647,7 @@ func_ov25_021772ec: ; 0x021772ec ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_021772ec -_02177368: .word data_027e0e60 +_02177368: .word gMapManager .global func_ov25_0217736c arm_func_start func_ov25_0217736c @@ -11925,7 +11925,7 @@ _021775e8: ldr r0, [r0] bl func_ov00_020c47cc ldr r1, [r0, #4] - ldr r3, _021777d8 ; =data_027e0e60 + ldr r3, _021777d8 ; =gMapManager str r1, [r4, #0x48] ldr r2, [r0, #8] add r1, sp, #0 @@ -12023,7 +12023,7 @@ _021777c8: arm_func_end func_ov25_021775a4 _021777d0: .word data_ov00_020e8398 _021777d4: .word data_027e0ff0 -_021777d8: .word data_027e0e60 +_021777d8: .word gMapManager _021777dc: .word data_027e0ffc _021777e0: .word 0x00000251 @@ -12859,7 +12859,7 @@ _0217831c: add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02178500 ; =data_027e0e60 + ldr r0, _02178500 ; =gMapManager ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -12986,7 +12986,7 @@ _021784e8: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov25_02178218 -_02178500: .word data_027e0e60 +_02178500: .word gMapManager _02178504: .word gItemManager _02178508: .word 0x66666667 @@ -13313,7 +13313,7 @@ func_ov25_021788a4: ; 0x021788a4 str r0, [r4, #0x84] str r0, [r4, #0x88] ldr r1, [r4, #0x7c] - ldr r0, _021789b8 ; =data_027e0e60 + ldr r0, _021789b8 ; =gMapManager str r1, [r4, #0x8c] ldr r2, [r4, #0x80] add r1, sp, #0xc @@ -13379,7 +13379,7 @@ _021789ac: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_021788a4 -_021789b8: .word data_027e0e60 +_021789b8: .word gMapManager _021789bc: .word data_027e0f68 .global func_ov25_021789c0 diff --git a/asm/ov26.inc b/asm/ov26.inc index 3499120c..bc9c7cc3 100644 --- a/asm/ov26.inc +++ b/asm/ov26.inc @@ -94,7 +94,7 @@ .extern data_027e0d3c .extern data_027e0d78 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov26.s b/asm/ov26.s index 9adcc77e..3d28077e 100644 --- a/asm/ov26.s +++ b/asm/ov26.s @@ -1036,7 +1036,7 @@ func_ov26_0216e11c: ; 0x0216e11c ldrb r2, [r9, #0x15] cmp r0, #0 sub r1, r0, #1 - ldr r0, _0216e320 ; =data_027e0e60 + ldr r0, _0216e320 ; =gMapManager moveq r1, #5 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02083e34Ecci @@ -1045,7 +1045,7 @@ func_ov26_0216e11c: ; 0x0216e11c add r0, r7, #5 cmp r7, r0 bge _0216e1e4 - ldr r10, _0216e320 ; =data_027e0e60 + ldr r10, _0216e320 ; =gMapManager add r5, sp, #4 mov r4, #1 _0216e190: @@ -1155,7 +1155,7 @@ _0216e308: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov26_0216e11c -_0216e320: .word data_027e0e60 +_0216e320: .word gMapManager _0216e324: .word data_027e0f6c .global func_ov26_0216e328 @@ -1937,7 +1937,7 @@ _0216ebe8: _0216ebec: cmp r0, #0 bne _0216ec8c - ldr r0, _0216ec9c ; =data_027e0e60 + ldr r0, _0216ec9c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084a50Ev cmp r0, #0 @@ -1983,7 +1983,7 @@ _0216ec94: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov26_0216ebc0 -_0216ec9c: .word data_027e0e60 +_0216ec9c: .word gMapManager _0216eca0: .word data_027e0c68 _0216eca4: .word gAdventureFlags _0216eca8: .word data_027e071c @@ -2278,7 +2278,7 @@ _0216f024: mov r6, #1 cmpne r0, #2 beq _0216f0d4 - ldr r0, _0216f200 ; =data_027e0e60 + ldr r0, _0216f200 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084a50Ev cmp r0, #0 @@ -2385,7 +2385,7 @@ _0216f0d4: arm_func_end func_ov26_0216efb4 _0216f1f8: .word data_027e0c38 _0216f1fc: .word data_027e0618 -_0216f200: .word data_027e0e60 +_0216f200: .word gMapManager _0216f204: .word data_027e0fd4 _0216f208: .word data_ov26_0217933c @@ -2491,7 +2491,7 @@ _0216f368: bne _0216f38c cmp r0, #0x1e ble _0216f38c - ldr r0, _0216f39c ; =data_027e0e60 + ldr r0, _0216f39c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084a50Ev cmp r0, #0 @@ -2504,7 +2504,7 @@ _0216f394: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov26_0216f334 -_0216f39c: .word data_027e0e60 +_0216f39c: .word gMapManager .global func_ov26_0216f3a0 arm_func_start func_ov26_0216f3a0 @@ -2830,7 +2830,7 @@ func_ov26_0216f7c4: ; 0x0216f7c4 sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x14] - ldr r0, _0216f820 ; =data_027e0e60 + ldr r0, _0216f820 ; =gMapManager str r1, [r4, #0x48] ldr r2, [r4, #0x18] add r1, sp, #0 @@ -2851,7 +2851,7 @@ func_ov26_0216f7c4: ; 0x0216f7c4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov26_0216f7c4 -_0216f820: .word data_027e0e60 +_0216f820: .word gMapManager .global func_ov26_0216f824 arm_func_start func_ov26_0216f824 @@ -2866,7 +2866,7 @@ func_ov26_0216f828: ; 0x0216f828 sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _0216f8b4 ; =data_027e0e60 + ldr r0, _0216f8b4 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -2900,7 +2900,7 @@ _0216f88c: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov26_0216f828 -_0216f8b4: .word data_027e0e60 +_0216f8b4: .word gMapManager .global func_ov26_0216f8b8 arm_func_start func_ov26_0216f8b8 @@ -2909,7 +2909,7 @@ func_ov26_0216f8b8: ; 0x0216f8b8 sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _0216f910 ; =data_027e0e60 + ldr r0, _0216f910 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -2929,7 +2929,7 @@ func_ov26_0216f8b8: ; 0x0216f8b8 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov26_0216f8b8 -_0216f910: .word data_027e0e60 +_0216f910: .word gMapManager .global func_ov26_0216f914 arm_func_start func_ov26_0216f914 @@ -2946,7 +2946,7 @@ func_ov26_0216f920: ; 0x0216f920 sub sp, sp, #0x24 mov r4, r0 ldr lr, [r4, #0x48] - ldr r0, _0216f9f4 ; =data_027e0e60 + ldr r0, _0216f9f4 ; =gMapManager str lr, [sp, #0x18] ldr ip, [r4, #0x4c] ldr r0, [r0] @@ -2998,7 +2998,7 @@ _0216f9d8: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov26_0216f920 -_0216f9f4: .word data_027e0e60 +_0216f9f4: .word gMapManager .global func_ov26_0216f9f8 arm_func_start func_ov26_0216f9f8 @@ -3059,7 +3059,7 @@ _0216fa94: strb r2, [sp] strb r2, [sp, #1] bl func_ov00_020c5374 - ldr r0, _0216fb18 ; =data_027e0e60 + ldr r0, _0216fb18 ; =gMapManager add r1, sp, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084164Ev @@ -3083,7 +3083,7 @@ _0216fa94: arm_func_end func_ov26_0216fa04 _0216fb10: .word data_027e0f94 _0216fb14: .word 0x000004cd -_0216fb18: .word data_027e0e60 +_0216fb18: .word gMapManager .global func_ov26_0216fb1c arm_func_start func_ov26_0216fb1c @@ -3234,7 +3234,7 @@ _0216fc2c: add r0, r5, #0x48 add r1, sp, #0 bl func_ov00_020c5374 - ldr r0, _0216fd94 ; =data_027e0e60 + ldr r0, _0216fd94 ; =gMapManager add r1, sp, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084164Ev @@ -3261,7 +3261,7 @@ _0216fd84: .word data_027e0764 _0216fd88: .word 0x00008001 _0216fd8c: .word data_02050f54 _0216fd90: .word data_027e0d0c -_0216fd94: .word data_027e0e60 +_0216fd94: .word gMapManager .global func_ov26_0216fd98 arm_func_start func_ov26_0216fd98 @@ -3295,7 +3295,7 @@ func_ov26_0216fdb0: ; 0x0216fdb0 str r3, [sp, #0x10] bl func_0202da8c ldr r1, [sp, #0xc] - ldr r0, _0216fe84 ; =data_027e0e60 + ldr r0, _0216fe84 ; =gMapManager str r1, [r4, #0x60] ldr r2, [sp, #0x10] add r1, sp, #0 @@ -3333,7 +3333,7 @@ _0216fe68: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov26_0216fdb0 -_0216fe84: .word data_027e0e60 +_0216fe84: .word gMapManager .global func_ov26_0216fe88 arm_func_start func_ov26_0216fe88 @@ -3405,7 +3405,7 @@ func_ov26_0216ff14: ; 0x0216ff14 mov r0, #0xff strh r0, [r4, #0x9c] ldr r1, [r4, #0x48] - ldr r0, _0216ff68 ; =data_027e0e60 + ldr r0, _0216ff68 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -3422,7 +3422,7 @@ func_ov26_0216ff14: ; 0x0216ff14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov26_0216ff14 -_0216ff68: .word data_027e0e60 +_0216ff68: .word gMapManager .global func_ov26_0216ff6c arm_func_start func_ov26_0216ff6c @@ -3456,7 +3456,7 @@ func_ov26_0216ffb8: ; 0x0216ffb8 sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _02170010 ; =data_027e0e60 + ldr r0, _02170010 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -3476,7 +3476,7 @@ func_ov26_0216ffb8: ; 0x0216ffb8 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov26_0216ffb8 -_02170010: .word data_027e0e60 +_02170010: .word gMapManager .global func_ov26_02170014 arm_func_start func_ov26_02170014 @@ -3543,7 +3543,7 @@ func_ov26_02170088: ; 0x02170088 mov r1, #0x148 bl func_0202da8c ldr r1, [r4, #0x48] - ldr r0, _02170130 ; =data_027e0e60 + ldr r0, _02170130 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -3574,7 +3574,7 @@ _02170114: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov26_02170088 -_02170130: .word data_027e0e60 +_02170130: .word gMapManager .global func_ov26_02170134 arm_func_start func_ov26_02170134 @@ -3653,7 +3653,7 @@ func_ov26_02170194: ; 0x02170194 add r1, sp, #0 add r0, r4, #0x48 bl func_ov00_020c5374 - ldr r0, _02170260 ; =data_027e0e60 + ldr r0, _02170260 ; =gMapManager add r1, sp, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084164Ev @@ -3677,7 +3677,7 @@ func_ov26_02170194: ; 0x02170194 arm_func_end func_ov26_02170194 _02170258: .word data_027e0f94 _0217025c: .word 0x000004cd -_02170260: .word data_027e0e60 +_02170260: .word gMapManager .global func_ov26_02170264 arm_func_start func_ov26_02170264 @@ -3869,7 +3869,7 @@ func_ov26_02170320: ; 0x02170320 strb r2, [sp, #4] strb r2, [sp, #5] bl func_ov00_020c5374 - ldr r0, _0217058c ; =data_027e0e60 + ldr r0, _0217058c ; =gMapManager add r1, sp, #4 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084164Ev @@ -3897,7 +3897,7 @@ _0217057c: .word data_02050f54 _02170580: .word 0x0000019a _02170584: .word data_027e0f94 _02170588: .word data_027e0fa0 -_0217058c: .word data_027e0e60 +_0217058c: .word gMapManager .global func_ov26_02170590 arm_func_start func_ov26_02170590 @@ -4020,7 +4020,7 @@ func_ov26_02170704: ; 0x02170704 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217078c ; =data_027e0e60 + ldr r0, _0217078c ; =gMapManager ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -4050,7 +4050,7 @@ _02170780: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov26_02170704 -_0217078c: .word data_027e0e60 +_0217078c: .word gMapManager _02170790: .word data_027e0f94 .global func_ov26_02170794 @@ -5722,7 +5722,7 @@ func_ov26_02171e4c: ; 0x02171e4c cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} - ldr r0, _02171e94 ; =data_027e0e60 + ldr r0, _02171e94 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -5731,7 +5731,7 @@ func_ov26_02171e4c: ; 0x02171e4c arm_func_end func_ov26_02171e4c _02171e8c: .word gAdventureFlags _02171e90: .word data_ov26_0217944c -_02171e94: .word data_027e0e60 +_02171e94: .word gMapManager .global func_ov26_02171e98 arm_func_start func_ov26_02171e98 @@ -6146,7 +6146,7 @@ func_ov26_021723d4: ; 0x021723d4 cmp r0, #1 bne _02172454 ldr r0, [r4, #0x18] - ldr r1, _021725a0 ; =data_027e0e60 + ldr r1, _021725a0 ; =gMapManager add r0, r0, #0x3fc add r0, r0, #0x400 str r0, [r4, #0x18] @@ -6159,7 +6159,7 @@ func_ov26_021723d4: ; 0x021723d4 strb r3, [sp, #5] bl _ZN10MapManager18func_ov00_020826a0Eiii ldrb r2, [sp, #4] - ldr r0, _021725a0 ; =data_027e0e60 + ldr r0, _021725a0 ; =gMapManager add r1, sp, #4 add r3, r2, #1 ldr r0, [r0] @@ -6231,7 +6231,7 @@ _02172454: mov r3, #6 str ip, [sp] bl func_02018c90 - ldr r0, _021725a0 ; =data_027e0e60 + ldr r0, _021725a0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -6253,7 +6253,7 @@ _0217258c: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov26_021723d4 -_021725a0: .word data_027e0e60 +_021725a0: .word gMapManager _021725a4: .word data_ov26_02179468 _021725a8: .word func_ov26_021728f8 @@ -6396,7 +6396,7 @@ _0217273c: mov r2, #1 bl func_ov00_0208ba08 _02172788: - ldr r0, _021727b0 ; =data_027e0e60 + ldr r0, _021727b0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 @@ -6409,7 +6409,7 @@ _0217279c: arm_func_end func_ov26_02172648 _021727a8: .word gAdventureFlags _021727ac: .word 0xfffff666 -_021727b0: .word data_027e0e60 +_021727b0: .word gMapManager .global func_ov26_021727b4 arm_func_start func_ov26_021727b4 @@ -7919,14 +7919,14 @@ func_ov26_02173b3c: ; 0x02173b3c movne r0, #1 ldmneia sp!, {r4, pc} _02173b64: - ldr r0, _02173b78 ; =data_027e0e60 + ldr r0, _02173b78 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov26_02173b3c -_02173b78: .word data_027e0e60 +_02173b78: .word gMapManager .global func_ov26_02173b7c thumb_func_start func_ov26_02173b7c @@ -12275,7 +12275,7 @@ func_ov26_02176b44: ; 0x02176b44 mov r2, #4 str r3, [sp, #4] blx ip - ldr r0, _02176cb0 ; =data_027e0e60 + ldr r0, _02176cb0 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -12299,7 +12299,7 @@ _02176c94: .align 2, 0 arm_func_end func_ov26_02176b44 _02176cac: .word 0x0000059a -_02176cb0: .word data_027e0e60 +_02176cb0: .word gMapManager .global func_ov26_02176cb4 arm_func_start func_ov26_02176cb4 @@ -12343,7 +12343,7 @@ _02176d0c: mov r0, r4 mov r2, r1 bl func_ov00_0208ba08 - ldr r0, _02176d88 ; =data_027e0e60 + ldr r0, _02176d88 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 @@ -12362,7 +12362,7 @@ _02176d7c: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov26_02176cb4 -_02176d88: .word data_027e0e60 +_02176d88: .word gMapManager .global func_ov26_02176d8c arm_func_start func_ov26_02176d8c @@ -12541,22 +12541,22 @@ func_ov26_02176fc8: ; 0x02176fc8 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldrh r4, [r6, #0x28] - ldr r0, _0217702c ; =data_027e0e60 + ldr r0, _0217702c ; =gMapManager ldrh r5, [r6, #0x2a] ldr r0, [r0] mov r1, r4 bl _ZN10MapManager18func_ov00_020823d4Ei - ldr r1, _0217702c ; =data_027e0e60 + ldr r1, _0217702c ; =gMapManager str r0, [r6, #0xd4] ldr r0, [r1] mov r1, r4 bl _ZN10MapManager18func_ov00_020823e4Ei - ldr r1, _0217702c ; =data_027e0e60 + ldr r1, _0217702c ; =gMapManager str r0, [r6, #0xd8] ldr r0, [r1] mov r1, r5 bl _ZN10MapManager18func_ov00_020823d4Ei - ldr r1, _0217702c ; =data_027e0e60 + ldr r1, _0217702c ; =gMapManager str r0, [r6, #0xdc] ldr r0, [r1] mov r1, r5 @@ -12565,7 +12565,7 @@ func_ov26_02176fc8: ; 0x02176fc8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov26_02176fc8 -_0217702c: .word data_027e0e60 +_0217702c: .word gMapManager .global func_ov26_02177030 arm_func_start func_ov26_02177030 @@ -12588,7 +12588,7 @@ func_ov26_02177030: ; 0x02177030 mov r0, r5 ldr r1, _021770fc ; =data_ov26_021795a0 bl func_0201933c - ldr r0, _02177100 ; =data_027e0e60 + ldr r0, _02177100 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_b4Ev mov r4, r0 @@ -12624,7 +12624,7 @@ _021770f0: .word data_ov26_02179564 _021770f4: .word data_ov26_02179578 _021770f8: .word data_ov26_0217958c _021770fc: .word data_ov26_021795a0 -_02177100: .word data_027e0e60 +_02177100: .word gMapManager .global func_ov26_02177104 arm_func_start func_ov26_02177104 @@ -13237,7 +13237,7 @@ func_ov26_02177878: ; 0x02177878 func_ov26_02177880: ; 0x02177880 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x80 - ldr r5, _021778e0 ; =data_027e0e60 + ldr r5, _021778e0 ; =gMapManager ldr r4, _021778e4 ; =data_027e0d3c mvn r7, #0 mov r8, #0 @@ -13263,7 +13263,7 @@ _021778d4: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov26_02177880 -_021778e0: .word data_027e0e60 +_021778e0: .word gMapManager _021778e4: .word data_027e0d3c .global func_ov26_021778e8 @@ -13686,7 +13686,7 @@ func_ov26_02177e14: ; 0x02177e14 mov r2, #0x10000 str r0, [r7, #0x90] ldr r0, [r7, #0x84] - ldr r1, _02177f60 ; =data_027e0e60 + ldr r1, _02177f60 ; =gMapManager str r0, [r7, #0x94] ldr r4, [r7, #0x88] add r0, sp, #4 @@ -13699,7 +13699,7 @@ func_ov26_02177e14: ; 0x02177e14 add r2, r7, #0x48 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldr r4, _02177f64 ; =data_ov26_0217af64 - ldr r6, _02177f60 ; =data_027e0e60 + ldr r6, _02177f60 ; =gMapManager add r9, sp, #2 mov r8, #1 _02177e90: @@ -13720,7 +13720,7 @@ _02177e90: cmp r5, #0x12 blo _02177e90 mov r0, #0 - ldr r8, _02177f60 ; =data_027e0e60 + ldr r8, _02177f60 ; =gMapManager strb r0, [sp] strb r0, [sp, #1] mov r6, #6 @@ -13759,7 +13759,7 @@ _02177ef4: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov26_02177e14 -_02177f60: .word data_027e0e60 +_02177f60: .word gMapManager _02177f64: .word data_ov26_0217af64 _02177f68: .word 0xffffeccd @@ -14004,7 +14004,7 @@ _02178224: .word data_027e103c .global func_ov26_02178228 arm_func_start func_ov26_02178228 func_ov26_02178228: ; 0x02178228 - ldr r1, _02178244 ; =data_027e0e60 + ldr r1, _02178244 ; =gMapManager mov r2, r0 ldr r0, [r1] ldr r1, [r2, #0x15c] @@ -14013,7 +14013,7 @@ func_ov26_02178228: ; 0x02178228 bx ip .align 2, 0 arm_func_end func_ov26_02178228 -_02178244: .word data_027e0e60 +_02178244: .word gMapManager _02178248: .word _ZN10MapManager18func_ov00_020836dcEii .global func_ov26_0217824c @@ -14130,7 +14130,7 @@ _02178354: bl func_ov00_020d7180 cmp r0, #0 bne _02178384 - ldr r0, _021783b4 ; =data_027e0e60 + ldr r0, _021783b4 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 @@ -14153,7 +14153,7 @@ _02178384: _021783a8: .word data_027e0f64 _021783ac: .word data_ov26_0217968c _021783b0: .word data_ov00_020eec68 -_021783b4: .word data_027e0e60 +_021783b4: .word gMapManager .global func_ov26_021783b8 arm_func_start func_ov26_021783b8 @@ -14307,14 +14307,14 @@ func_ov26_0217855c: ; 0x0217855c sub sp, sp, #0x20 mov r10, r0 ldrb r2, [r10, #0x15] - ldr r0, _021786d4 ; =data_027e0e60 + ldr r0, _021786d4 ; =gMapManager ldrb r1, [r10, #0x14] ldr r0, [r0] sub r2, r2, #1 bl _ZN10MapManager18func_ov00_02083e34Ecci str r0, [r10, #0x1c] ldr r1, [r10, #0x18] - ldr r0, _021786d4 ; =data_027e0e60 + ldr r0, _021786d4 ; =gMapManager add r1, r1, #0x800 str r1, [r10, #0x18] str r1, [r10, #0x50] @@ -14363,7 +14363,7 @@ _02178620: cmp r11, r0 add r9, r1, #0xc bge _0217868c - ldr r4, _021786d4 ; =data_027e0e60 + ldr r4, _021786d4 ; =gMapManager add r6, sp, #4 mov r5, #1 _02178648: @@ -14407,7 +14407,7 @@ _0217868c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov26_0217855c -_021786d4: .word data_027e0e60 +_021786d4: .word gMapManager .global func_ov26_021786d8 arm_func_start func_ov26_021786d8 diff --git a/asm/ov27.inc b/asm/ov27.inc index 191418e7..619f9277 100644 --- a/asm/ov27.inc +++ b/asm/ov27.inc @@ -93,7 +93,7 @@ .extern data_027e0d38 .extern data_027e0dbc .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f84 diff --git a/asm/ov27.s b/asm/ov27.s index e593923c..62c89b51 100644 --- a/asm/ov27.s +++ b/asm/ov27.s @@ -357,7 +357,7 @@ _0216db58: add r0, r0, #0x800 str r0, [r5, #0x48] ldr r1, [r5, #0x4c] - ldr r0, _0216e91c ; =data_027e0e60 + ldr r0, _0216e91c ; =gMapManager add r1, r1, #0x2800 str r1, [r5, #0x4c] ldr r3, [r5, #0x50] @@ -1262,7 +1262,7 @@ _0216e8fc: arm_func_end func_ov27_0216da38 _0216e914: .word 0x00000ccd _0216e918: .word data_027e0d0c -_0216e91c: .word data_027e0e60 +_0216e91c: .word gMapManager _0216e920: .word data_027e0c68 _0216e924: .word 0x00060003 _0216e928: .word gAdventureFlags @@ -1414,7 +1414,7 @@ _0216eadc: bne _0216eb48 mov r1, #2 strb r1, [r4, #0x4ad] - ldr r0, _0216ed44 ; =data_027e0e60 + ldr r0, _0216ed44 ; =gMapManager add r1, sp, #0xc ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -1462,7 +1462,7 @@ _0216eb54: strb r2, [sp, #0x94] ldr r0, [r0, #4] bl func_ov00_02087d34 - ldr r0, _0216ed44 ; =data_027e0e60 + ldr r0, _0216ed44 ; =gMapManager ldr r2, _0216ed4c ; =0x00001333 mov r3, #0xc000 ldr r0, [r0] @@ -1564,7 +1564,7 @@ _0216ed38: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov27_0216eabc -_0216ed44: .word data_027e0e60 +_0216ed44: .word gMapManager _0216ed48: .word data_027e0f64 _0216ed4c: .word 0x00001333 _0216ed50: .word gAdventureFlags @@ -2094,7 +2094,7 @@ _0216f43c: cmp r0, #4 cmpne r0, #7 bne _0216f4b0 - ldr r0, _0216f574 ; =data_027e0e60 + ldr r0, _0216f574 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 @@ -2163,7 +2163,7 @@ _0216f544: _0216f568: .word data_ov00_020eec68 _0216f56c: .word data_027e0f64 _0216f570: .word data_ov27_02178e20 -_0216f574: .word data_027e0e60 +_0216f574: .word gMapManager _0216f578: .word data_027e0ff8 .global func_ov27_0216f57c @@ -2193,7 +2193,7 @@ func_ov27_0216f57c: ; 0x0216f57c func_ov27_0216f5c0: ; 0x0216f5c0 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _0216f604 ; =data_027e0e60 + ldr r0, _0216f604 ; =gMapManager ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 @@ -2210,7 +2210,7 @@ func_ov27_0216f5c0: ; 0x0216f5c0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov27_0216f5c0 -_0216f604: .word data_027e0e60 +_0216f604: .word gMapManager .global func_ov27_0216f608 arm_func_start func_ov27_0216f608 @@ -2252,7 +2252,7 @@ func_ov27_0216f608: ; 0x0216f608 str r2, [r4, #0x64] str r1, [r4, #0x68] ldr r1, [r4, #0x48] - ldr r0, _0216f8e8 ; =data_027e0e60 + ldr r0, _0216f8e8 ; =gMapManager str r1, [sp, #4] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -2406,7 +2406,7 @@ _0216f8a8: arm_func_end func_ov27_0216f608 _0216f8e0: .word data_02050f54 _0216f8e4: .word 0x00000133 -_0216f8e8: .word data_027e0e60 +_0216f8e8: .word gMapManager _0216f8ec: .word 0x00000171 _0216f8f0: .word 0x0000071c _0216f8f4: .word 0x00000333 @@ -3155,7 +3155,7 @@ _021702d0: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r4, #0x48] - ldr r0, _02170470 ; =data_027e0e60 + ldr r0, _02170470 ; =gMapManager str r1, [sp, #8] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -3261,7 +3261,7 @@ _02170444: _02170464: .word 0x00000e39 _02170468: .word 0x0000019a _0217046c: .word 0x000004cd -_02170470: .word data_027e0e60 +_02170470: .word gMapManager _02170474: .word data_027e0e58 _02170478: .word 0x00000163 _0217047c: .word data_027e0764 @@ -4000,7 +4000,7 @@ func_ov27_02170e24: ; 0x02170e24 mov r0, #0x3000 str r0, [r4, #0x4c] ldr r1, [r4, #0x48] - ldr r0, _02170f84 ; =data_027e0e60 + ldr r0, _02170f84 ; =gMapManager str r1, [sp, #0xc] ldr r2, [r4, #0x4c] ldr r0, [r0] @@ -4034,7 +4034,7 @@ _02170f5c: _02170f78: .word 0x0000071c _02170f7c: .word data_02050f54 _02170f80: .word 0x00000266 -_02170f84: .word data_027e0e60 +_02170f84: .word gMapManager .global func_ov27_02170f88 arm_func_start func_ov27_02170f88 @@ -4914,7 +4914,7 @@ func_ov27_02171b14: ; 0x02171b14 mov ip, #1 str r0, [sp, #0x28] ldr r1, [r6, #0x54] - ldr r0, _02171c9c ; =data_027e0e60 + ldr r0, _02171c9c ; =gMapManager str r1, [sp, #0x14] ldr r2, [r6, #0x58] add r1, r6, #0xb8 @@ -4976,7 +4976,7 @@ _02171c90: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov27_02171b14 -_02171c9c: .word data_027e0e60 +_02171c9c: .word gMapManager .global func_ov27_02171ca0 arm_func_start func_ov27_02171ca0 @@ -5421,7 +5421,7 @@ _02172284: cmp r0, #0 bne _021722d0 ldr r1, [r6, #0x48] - ldr r0, _02172484 ; =data_027e0e60 + ldr r0, _02172484 ; =gMapManager str r1, [sp, #0x18] ldr r1, [r6, #0x4c] ldr r0, [r0] @@ -5456,7 +5456,7 @@ _021722d0: add r0, r6, #0x300 ldrsh r1, [r0, #0x96] mov r2, #0 - ldr r0, _02172484 ; =data_027e0e60 + ldr r0, _02172484 ; =gMapManager add r1, r1, #0x4000 strh r1, [r6, #0x78] str r2, [r6, #0x6c] @@ -5552,7 +5552,7 @@ _0217245c: _02172478: .word gAdventureFlags _0217247c: .word data_02050f54 _02172480: .word 0x0000019a -_02172484: .word data_027e0e60 +_02172484: .word gMapManager _02172488: .word 0x00000b33 _0217248c: .word 0xffff699a _02172490: .word data_027e0d0c @@ -5774,7 +5774,7 @@ func_ov27_02172598: ; 0x02172598 ldr r0, [sp, #0x28] ldr r1, [sp, #0x24] str r0, [sp, #0x1c] - ldr r0, _02172838 ; =data_027e0e60 + ldr r0, _02172838 ; =gMapManager str r1, [sp, #0x18] ldr r1, [sp, #0x2c] ldr r0, [r0] @@ -5811,7 +5811,7 @@ func_ov27_02172598: ; 0x02172598 _0217282c: .word data_02050f54 _02172830: .word 0xfffff99a _02172834: .word 0xfffffa66 -_02172838: .word data_027e0e60 +_02172838: .word gMapManager _0217283c: .word 0x00000a8f _02172840: .word data_ov00_020e9370 @@ -5962,7 +5962,7 @@ func_ov27_0217296c: ; 0x0217296c str r2, [sp, #8] add r1, sp, #0x14 str r1, [sp, #0xc] - ldr r1, _02172aa0 ; =data_027e0e60 + ldr r1, _02172aa0 ; =gMapManager str r0, [sp, #0x10] ldr r0, [r1] add r1, sp, #0x40 @@ -5977,7 +5977,7 @@ func_ov27_0217296c: ; 0x0217296c arm_func_end func_ov27_0217296c _02172a98: .word 0x0000ffff _02172a9c: .word data_ov27_021796d4 -_02172aa0: .word data_027e0e60 +_02172aa0: .word gMapManager .global func_ov27_02172aa4 arm_func_start func_ov27_02172aa4 @@ -6640,7 +6640,7 @@ func_ov27_02173330: ; 0x02173330 ldreqb r0, [r4, #0x5af] cmpeq r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _021733a8 ; =data_027e0e60 + ldr r0, _021733a8 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 @@ -6665,7 +6665,7 @@ func_ov27_02173330: ; 0x02173330 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov27_02173330 -_021733a8: .word data_027e0e60 +_021733a8: .word gMapManager _021733ac: .word data_027e0c68 _021733b0: .word 0x00060007 @@ -7017,7 +7017,7 @@ func_ov27_02173830: ; 0x02173830 cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _021738d8 ; =data_027e0e60 + ldr r0, _021738d8 ; =gMapManager mov lr, #0 ldr r0, [r0] sub ip, lr, #2 @@ -7050,7 +7050,7 @@ func_ov27_02173830: ; 0x02173830 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov27_02173830 -_021738d8: .word data_027e0e60 +_021738d8: .word gMapManager _021738dc: .word data_027e0d38 .global func_ov27_021738e0 @@ -7442,7 +7442,7 @@ func_ov27_02173d78: ; 0x02173d78 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [sp, #0x24] - ldr r0, _02173e30 ; =data_027e0e60 + ldr r0, _02173e30 ; =gMapManager ldr r1, [sp, #0x28] str r2, [sp, #0x18] ldr r2, [sp, #0x2c] @@ -7470,7 +7470,7 @@ func_ov27_02173d78: ; 0x02173d78 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov27_02173d78 -_02173e30: .word data_027e0e60 +_02173e30: .word gMapManager _02173e34: .word 0x0000099a _02173e38: .word data_ov00_020e9370 @@ -7965,7 +7965,7 @@ func_ov27_0217440c: ; 0x0217440c bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _02174450 ; =data_027e0e60 + ldr r0, _02174450 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 @@ -7978,7 +7978,7 @@ func_ov27_0217440c: ; 0x0217440c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov27_0217440c -_02174450: .word data_027e0e60 +_02174450: .word gMapManager .global func_ov27_02174454 arm_func_start func_ov27_02174454 @@ -8033,7 +8033,7 @@ func_ov27_02174454: ; 0x02174454 strb r1, [r4, #0x1c1] bl _ZN5Actor10SetUnk_11cEc ldr r1, [r4, #0x48] - ldr r0, _021746f8 ; =data_027e0e60 + ldr r0, _021746f8 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -8154,7 +8154,7 @@ _021746e8: .word data_027e0fac _021746ec: .word data_02050f54 _021746f0: .word data_027e0c68 _021746f4: .word 0x00060015 -_021746f8: .word data_027e0e60 +_021746f8: .word gMapManager _021746fc: .word data_027e0f64 _02174700: .word gAdventureFlags @@ -8200,7 +8200,7 @@ func_ov27_02174748: ; 0x02174748 mov r0, #0x2000 str r0, [r4, #0x4c] ldr r1, [r4, #0x48] - ldr r0, _021747d0 ; =data_027e0e60 + ldr r0, _021747d0 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -8219,7 +8219,7 @@ func_ov27_02174748: ; 0x02174748 .align 2, 0 arm_func_end func_ov27_02174748 _021747cc: .word data_027e0d0c -_021747d0: .word data_027e0e60 +_021747d0: .word gMapManager .global func_ov27_021747d4 arm_func_start func_ov27_021747d4 @@ -8228,7 +8228,7 @@ func_ov27_021747d4: ; 0x021747d4 sub sp, sp, #0xc mov r5, r0 ldr r1, [r5, #0x48] - ldr r0, _021748d4 ; =data_027e0e60 + ldr r0, _021748d4 ; =gMapManager str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -8293,7 +8293,7 @@ _021748c8: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov27_021747d4 -_021748d4: .word data_027e0e60 +_021748d4: .word gMapManager _021748d8: .word 0x00000222 _021748dc: .word gAdventureFlags _021748e0: .word 0x00000266 @@ -9142,7 +9142,7 @@ func_ov27_021752a8: ; 0x021752a8 bic r0, r0, #0x1f orr r0, r0, #9 str r0, [sp, #4] - ldr r0, _021753d4 ; =data_027e0e60 + ldr r0, _021753d4 ; =gMapManager str ip, [sp, #8] str r3, [sp, #0xc] ldr r1, [r1, #8] @@ -9177,7 +9177,7 @@ _021753c4: .word func_ov27_02174f08 _021753c8: .word data_ov27_0217903c _021753cc: .word func_ov27_02175048 _021753d0: .word data_027e0d0c -_021753d4: .word data_027e0e60 +_021753d4: .word gMapManager .global func_ov27_021753d8 arm_func_start func_ov27_021753d8 @@ -9236,7 +9236,7 @@ _02175454: mov r2, r1 bl _ZN5Actor18func_ov00_020c243cEiPi _021754a4: - ldr r0, _02175554 ; =data_027e0e60 + ldr r0, _02175554 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 @@ -9286,7 +9286,7 @@ _02175538: .align 2, 0 arm_func_end func_ov27_021753d8 _02175550: .word data_027e0cbc -_02175554: .word data_027e0e60 +_02175554: .word gMapManager _02175558: .word data_027e0fc8 _0217555c: .word data_027e0f6c @@ -9377,7 +9377,7 @@ func_ov27_02175660: ; 0x02175660 ldrb r0, [r4, #0x285] cmp r0, #0 bne _021757e4 - ldr r0, _02175810 ; =data_027e0e60 + ldr r0, _02175810 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 @@ -9484,7 +9484,7 @@ _021757e4: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov27_02175660 -_02175810: .word data_027e0e60 +_02175810: .word gMapManager _02175814: .word 0x0000038e _02175818: .word 0x00000e39 _0217581c: .word 0x000078e4 diff --git a/asm/ov28.inc b/asm/ov28.inc index f465f63a..4f9adee9 100644 --- a/asm/ov28.inc +++ b/asm/ov28.inc @@ -102,7 +102,7 @@ .extern data_027e0c68 .extern data_027e0ce0 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov28.s b/asm/ov28.s index 05f4f70e..6a48332b 100644 --- a/asm/ov28.s +++ b/asm/ov28.s @@ -3512,7 +3512,7 @@ func_ov28_021704b0: ; 0x021704b0 bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02170524 - ldr r0, _02170630 ; =data_027e0e60 + ldr r0, _02170630 ; =gMapManager mov r1, #1 ldr r0, [r0] mov r2, r1 @@ -3532,7 +3532,7 @@ _02170524: bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02170570 - ldr r0, _02170630 ; =data_027e0e60 + ldr r0, _02170630 ; =gMapManager mov r2, #1 ldr r0, [r0] mov r3, r2 @@ -3552,7 +3552,7 @@ _02170570: bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _021705bc - ldr r0, _02170630 ; =data_027e0e60 + ldr r0, _02170630 ; =gMapManager mov r2, #1 ldr r0, [r0] mov r3, r2 @@ -3572,7 +3572,7 @@ _021705bc: bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02170604 - ldr r0, _02170630 ; =data_027e0e60 + ldr r0, _02170630 ; =gMapManager mov r2, #1 ldr r0, [r0] mov r3, r2 @@ -3593,7 +3593,7 @@ _02170618: _02170624: .word gAdventureFlags _02170628: .word 0x00000126 _0217062c: .word 0x0000012a -_02170630: .word data_027e0e60 +_02170630: .word gMapManager _02170634: .word 0x00000127 _02170638: .word 0x0000012b _0217063c: .word 0x00000129 @@ -3941,7 +3941,7 @@ _021709a4: mov r2, #0 strb r2, [r4, #0x48d] ldr r1, [r4, #0x48] - ldr r0, _02170a94 ; =data_027e0e60 + ldr r0, _02170a94 ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r6, [r0] @@ -3981,7 +3981,7 @@ _02170a84: .align 2, 0 arm_func_end func_ov28_02170930 _02170a90: .word data_ov28_0217827c -_02170a94: .word data_027e0e60 +_02170a94: .word gMapManager _02170a98: .word 0xffffec78 .global func_ov28_02170a9c @@ -5545,7 +5545,7 @@ func_ov28_02171d10: ; 0x02171d10 add r0, r7, #2 cmp r7, r0 bge _02171f28 - ldr r10, _02171f74 ; =data_027e0e60 + ldr r10, _02171f74 ; =gMapManager add r5, sp, #4 mov r4, #1 _02171ed4: @@ -5595,7 +5595,7 @@ _02171f58: .align 2, 0 arm_func_end func_ov28_02171d10 _02171f70: .word data_027e0f6c -_02171f74: .word data_027e0e60 +_02171f74: .word gMapManager .global func_ov28_02171f78 arm_func_start func_ov28_02171f78 @@ -5660,7 +5660,7 @@ _02172008: add r0, r4, #0x70 mov r1, #3 bl func_ov00_02094884 - ldr r0, _021720d0 ; =data_027e0e60 + ldr r0, _021720d0 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 @@ -5685,7 +5685,7 @@ _02172068: add r0, r4, #0x70 mov r1, #1 bl func_ov00_02094884 - ldr r0, _021720d0 ; =data_027e0e60 + ldr r0, _021720d0 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 @@ -5698,7 +5698,7 @@ _021720c4: .align 2, 0 arm_func_end func_ov28_02171fe8 _021720cc: .word data_027e0f68 -_021720d0: .word data_027e0e60 +_021720d0: .word gMapManager .global func_ov28_021720d4 arm_func_start func_ov28_021720d4 @@ -5927,7 +5927,7 @@ func_ov28_02172280: ; 0x02172280 add r0, r7, #2 cmp r7, r0 bge _02172404 - ldr r10, _02172450 ; =data_027e0e60 + ldr r10, _02172450 ; =gMapManager add r5, sp, #4 mov r4, #1 _021723b0: @@ -5977,7 +5977,7 @@ _02172434: .align 2, 0 arm_func_end func_ov28_02172280 _0217244c: .word 0x0000059a -_02172450: .word data_027e0e60 +_02172450: .word gMapManager .global func_ov28_02172454 arm_func_start func_ov28_02172454 @@ -6061,7 +6061,7 @@ _02172528: add r0, r4, #0x38 mov r1, #0 bl func_ov00_02094884 - ldr r0, _021725e4 ; =data_027e0e60 + ldr r0, _021725e4 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 @@ -6084,7 +6084,7 @@ _02172580: add r0, r4, #0x38 mov r1, #3 bl func_ov00_02094884 - ldr r0, _021725e4 ; =data_027e0e60 + ldr r0, _021725e4 ; =gMapManager add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 @@ -6099,7 +6099,7 @@ _021725d8: .align 2, 0 arm_func_end func_ov28_02172508 _021725e0: .word data_027e0f68 -_021725e4: .word data_027e0e60 +_021725e4: .word gMapManager .global func_ov28_021725e8 arm_func_start func_ov28_021725e8 @@ -6536,7 +6536,7 @@ _02172af4: .word data_ov28_02179274 func_ov28_02172af8: ; 0x02172af8 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _02172b3c ; =data_027e0e60 + ldr r0, _02172b3c ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 @@ -6553,7 +6553,7 @@ func_ov28_02172af8: ; 0x02172af8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov28_02172af8 -_02172b3c: .word data_027e0e60 +_02172b3c: .word gMapManager .global func_ov28_02172b40 arm_func_start func_ov28_02172b40 @@ -6611,7 +6611,7 @@ _02172bc4: .word data_ov28_02179274 func_ov28_02172bc8: ; 0x02172bc8 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _02172c24 ; =data_027e0e60 + ldr r0, _02172c24 ; =gMapManager ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 @@ -6634,7 +6634,7 @@ func_ov28_02172bc8: ; 0x02172bc8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov28_02172bc8 -_02172c24: .word data_027e0e60 +_02172c24: .word gMapManager .global func_ov28_02172c28 arm_func_start func_ov28_02172c28 @@ -8451,7 +8451,7 @@ func_ov28_021742b0: ; 0x021742b0 strb r2, [sp, #0x10] strb r2, [sp, #0x16] bl _ZN14AdventureFlags18func_Ov00_02097810Ei - ldr r1, _02174384 ; =data_027e0e60 + ldr r1, _02174384 ; =gMapManager str r0, [r4, #0x228] ldr r0, [r1] add r1, r4, #0x48 @@ -8467,7 +8467,7 @@ func_ov28_021742b0: ; 0x021742b0 _02174378: .word 0x00000666 _0217437c: .word data_ov28_021794e4 _02174380: .word gAdventureFlags -_02174384: .word data_027e0e60 +_02174384: .word gMapManager .global func_ov28_02174388 arm_func_start func_ov28_02174388 @@ -8947,7 +8947,7 @@ func_ov28_02174958: ; 0x02174958 func_ov28_0217496c: ; 0x0217496c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 - ldr r1, _02174a0c ; =data_027e0e60 + ldr r1, _02174a0c ; =gMapManager mov lr, #0 mov r4, r0 ldr r0, [r1] @@ -8970,7 +8970,7 @@ func_ov28_0217496c: ; 0x0217496c ldr r2, _02174a14 ; =0x00000004 mov r1, #2 blx _ZN14OverlayManager15LoadIfNotLoadedEjj - ldr r0, _02174a0c ; =data_027e0e60 + ldr r0, _02174a0c ; =gMapManager mov r2, #1 ldr r0, [r0] add r1, sp, #0 @@ -8987,7 +8987,7 @@ func_ov28_0217496c: ; 0x0217496c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov28_0217496c -_02174a0c: .word data_027e0e60 +_02174a0c: .word gMapManager _02174a10: .word gOverlayManager _02174a14: .word 0x00000004 _02174a18: .word 0x00000005 @@ -9501,7 +9501,7 @@ _0217504c: bl func_ov28_02174948 ldrb ip, [r4, #0x2a] ldrsb r3, [r0, #0xb] - ldr r1, _0217509c ; =data_027e0e60 + ldr r1, _0217509c ; =gMapManager ldrb r2, [r4, #0x28] ldr r0, [r1] add r1, ip, r3 @@ -9520,7 +9520,7 @@ _0217504c: .align 2, 0 arm_func_end func_ov28_02175028 _02175098: .word data_027e0e58 -_0217509c: .word data_027e0e60 +_0217509c: .word gMapManager _021750a0: .word data_ov28_02179684 .global func_ov28_021750a4 @@ -9617,7 +9617,7 @@ _02175184: bl func_ov28_02174948 ldrsb r1, [r0, #0xb] ldrb r3, [r4, #0x2a] - ldr r0, _0217525c ; =data_027e0e60 + ldr r0, _0217525c ; =gMapManager ldrb r2, [r4, #0x28] add r1, r3, r1 ldr r0, [r0] @@ -9662,7 +9662,7 @@ _0217524c: .word 0x000001bd _02175250: .word data_027e0ffc _02175254: .word 0x000001a9 _02175258: .word data_ov28_02178348 -_0217525c: .word data_027e0e60 +_0217525c: .word gMapManager _02175260: .word data_ov28_02179684 _02175264: .word data_ov00_020eec68 _02175268: .word data_027e0c68 @@ -9728,7 +9728,7 @@ _02175308: ldr r0, [r2, #0x44] cmp r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _021753dc ; =data_027e0e60 + ldr r0, _021753dc ; =gMapManager ldrb r2, [r4, #0x29] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084be0Eii @@ -9743,7 +9743,7 @@ _02175364: bl func_ov28_02174948 ldrb ip, [r4, #0x2a] ldrsb r3, [r0, #0xb] - ldr r1, _021753dc ; =data_027e0e60 + ldr r1, _021753dc ; =gMapManager ldrb r2, [r4, #0x28] ldr r0, [r1] add r1, ip, r3 @@ -9774,7 +9774,7 @@ _021753c0: .align 2, 0 arm_func_end func_ov28_02175274 _021753d8: .word data_027e0c68 -_021753dc: .word data_027e0e60 +_021753dc: .word gMapManager _021753e0: .word data_ov00_020eec9c _021753e4: .word 0x00000403 _021753e8: .word 0x00000404 @@ -9790,7 +9790,7 @@ func_ov28_021753f0: ; 0x021753f0 bl func_ov28_02174948 ldrb ip, [r4, #0x2a] ldrsb r3, [r0, #0xb] - ldr r1, _02175464 ; =data_027e0e60 + ldr r1, _02175464 ; =gMapManager ldrb r2, [r4, #0x28] ldr r0, [r1] add r1, ip, r3 @@ -9814,7 +9814,7 @@ func_ov28_021753f0: ; 0x021753f0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov28_021753f0 -_02175464: .word data_027e0e60 +_02175464: .word gMapManager _02175468: .word data_ov28_02178348 _0217546c: .word data_ov28_02179684 @@ -12080,7 +12080,7 @@ _021772a0: ; jump table b _02177300 ; case 2 b _021773f8 ; case 3 _021772b0: - ldr r0, _02177478 ; =data_027e0e60 + ldr r0, _02177478 ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 @@ -12206,7 +12206,7 @@ _02177458: _0217746c: .word data_027e0e58 _02177470: .word data_ov00_020eec9c _02177474: .word 0x0000042a -_02177478: .word data_027e0e60 +_02177478: .word gMapManager _0217747c: .word 0x00000ccd _02177480: .word data_027e0ffc _02177484: .word 0x00000429 diff --git a/asm/ov29.inc b/asm/ov29.inc index cbfe9681..034dcacf 100644 --- a/asm/ov29.inc +++ b/asm/ov29.inc @@ -90,7 +90,7 @@ .extern data_027e0d38 .extern data_027e0db0 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov29.s b/asm/ov29.s index 4f8aad75..cea23880 100644 --- a/asm/ov29.s +++ b/asm/ov29.s @@ -1502,7 +1502,7 @@ func_ov29_0216ea08: ; 0x0216ea08 ldr r0, [r4, #0x4dc] cmp r0, #2 ldmneia sp!, {r4, pc} - ldr r0, _0216ea68 ; =data_027e0e60 + ldr r0, _0216ea68 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #0xd @@ -1522,7 +1522,7 @@ _0216ea58: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov29_0216ea08 -_0216ea68: .word data_027e0e60 +_0216ea68: .word gMapManager .global func_ov29_0216ea6c arm_func_start func_ov29_0216ea6c @@ -2282,13 +2282,13 @@ _0216f4b0: _0216f4bc: cmp r3, #2 blo _0216f4b0 - ldr r0, _0216f6a4 ; =data_027e0e60 + ldr r0, _0216f6a4 ; =gMapManager add r1, sp, #4 ldr r0, [r0] mov r2, #0 bl _ZN10MapManager18func_ov00_02083928EPci ldrb r1, [sp, #8] - ldr r0, _0216f6a4 ; =data_027e0e60 + ldr r0, _0216f6a4 ; =gMapManager add r2, r4, #0x1f0 strb r1, [r4, #0x1c7] ldrh r1, [r4, #0x22] @@ -2298,12 +2298,12 @@ _0216f4bc: and r5, r3, #0xff mov r6, #1 bl _ZN10MapManager18func_ov00_02083908EcPi - ldr r0, _0216f6a4 ; =data_027e0e60 + ldr r0, _0216f6a4 ; =gMapManager mov r1, r5 ldr r0, [r0] add r2, r4, #0x20c bl _ZN10MapManager18func_ov00_02083908EcPi - ldr r0, _0216f6a4 ; =data_027e0e60 + ldr r0, _0216f6a4 ; =gMapManager mov r1, r6 ldr r0, [r0] add r2, r4, #0x228 @@ -2404,7 +2404,7 @@ _0216f4bc: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov29_0216f470 -_0216f6a4: .word data_027e0e60 +_0216f6a4: .word gMapManager _0216f6a8: .word data_02052f54 _0216f6ac: .word data_027e0f68 _0216f6b0: .word data_ov29_0217933c @@ -2645,14 +2645,14 @@ _0216f9a0: mov r3, #0 bl func_ov00_02087400 _0216f9b0: - ldr r0, _0216fbf8 ; =data_027e0e60 + ldr r0, _0216fbf8 ; =gMapManager ldrb r5, [r4, #0x22c] ldr r0, [r0] mov r1, #0 bl _ZN10MapManager18func_ov00_02083938Ei cmp r0, r5 beq _0216fbe8 - ldr r0, _0216fbf8 ; =data_027e0e60 + ldr r0, _0216fbf8 ; =gMapManager ldrb r1, [r4, #0x22c] ldr r0, [r0] mov r2, #0 @@ -2679,14 +2679,14 @@ _0216fa1c: mov r3, #0 bl func_ov00_02087400 _0216fa2c: - ldr r0, _0216fbf8 ; =data_027e0e60 + ldr r0, _0216fbf8 ; =gMapManager ldrb r5, [r4, #0x1f4] ldr r0, [r0] mov r1, #0 bl _ZN10MapManager18func_ov00_02083938Ei cmp r0, r5 beq _0216fbe8 - ldr r0, _0216fbf8 ; =data_027e0e60 + ldr r0, _0216fbf8 ; =gMapManager ldrb r1, [r4, #0x1f4] ldr r0, [r0] mov r2, #0 @@ -2713,14 +2713,14 @@ _0216fa98: mov r3, #0 bl func_ov00_02087400 _0216faa8: - ldr r0, _0216fbf8 ; =data_027e0e60 + ldr r0, _0216fbf8 ; =gMapManager ldrb r5, [r4, #0x210] ldr r0, [r0] mov r1, #0 bl _ZN10MapManager18func_ov00_02083938Ei cmp r0, r5 beq _0216fbe8 - ldr r0, _0216fbf8 ; =data_027e0e60 + ldr r0, _0216fbf8 ; =gMapManager ldrb r1, [r4, #0x210] ldr r0, [r0] mov r2, #0 @@ -2802,7 +2802,7 @@ _0216fbe8: .align 2, 0 arm_func_end func_ov29_0216f918 _0216fbf4: .word data_027e0f64 -_0216fbf8: .word data_027e0e60 +_0216fbf8: .word gMapManager _0216fbfc: .word data_027e0f6c _0216fc00: .word data_027e0e58 _0216fc04: .word data_ov00_020eec9c @@ -2887,7 +2887,7 @@ func_ov29_0216fc94: ; 0x0216fc94 func_ov29_0216fcd4: ; 0x0216fcd4 stmdb sp!, {lr} sub sp, sp, #0x1c - ldr r2, _0216fd78 ; =data_027e0e60 + ldr r2, _0216fd78 ; =gMapManager ldrb r1, [r0, #0x1c6] ldr r0, [r2] mov r2, #0 @@ -2895,7 +2895,7 @@ func_ov29_0216fcd4: ; 0x0216fcd4 cmp r0, #0 beq _0216fd6c ldr r1, _0216fd7c ; =data_027e0f94 - ldr r0, _0216fd78 ; =data_027e0e60 + ldr r0, _0216fd78 ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #0x10] @@ -2930,7 +2930,7 @@ _0216fd6c: ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov29_0216fcd4 -_0216fd78: .word data_027e0e60 +_0216fd78: .word gMapManager _0216fd7c: .word data_027e0f94 .global func_ov29_0216fd80 @@ -10598,7 +10598,7 @@ func_ov29_021765f0: ; 0x021765f0 add r0, r7, #2 cmp r7, r0 bge _021766b8 - ldr r4, _02176784 ; =data_027e0e60 + ldr r4, _02176784 ; =gMapManager add r5, sp, #2 mov r11, #1 _0217661c: @@ -10700,7 +10700,7 @@ _0217673c: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov29_021765f0 -_02176784: .word data_027e0e60 +_02176784: .word gMapManager _02176788: .word data_027e0f6c .global func_ov29_0217678c diff --git a/asm/ov30.inc b/asm/ov30.inc index 213798db..4913a1a2 100644 --- a/asm/ov30.inc +++ b/asm/ov30.inc @@ -84,7 +84,7 @@ .extern data_027e0d38 .extern data_027e0d3c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f90 diff --git a/asm/ov30.s b/asm/ov30.s index ed90ab1e..d903a630 100644 --- a/asm/ov30.s +++ b/asm/ov30.s @@ -229,7 +229,7 @@ _0217c050: stmia sp, {r0, r6} mov r0, #0 str r0, [sp, #8] - ldr r0, _0217c104 ; =data_027e0e60 + ldr r0, _0217c104 ; =gMapManager mov r3, r7 ldr r0, [r0] add r1, sp, #0x18 @@ -251,7 +251,7 @@ _0217c0f4: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov30_0217c020 -_0217c104: .word data_027e0e60 +_0217c104: .word gMapManager .global func_ov30_0217c108 arm_func_start func_ov30_0217c108 @@ -1558,7 +1558,7 @@ func_ov30_0217d09c: ; 0x0217d09c addeq sp, sp, #0x58 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} - ldr r0, _0217d390 ; =data_027e0e60 + ldr r0, _0217d390 ; =gMapManager ldr lr, [r4] ldr ip, [r4, #4] ldr r3, [r4, #8] @@ -1722,7 +1722,7 @@ _0217d2cc: str r0, [sp, #4] add r1, sp, #0xc str r1, [sp, #8] - ldr r0, _0217d390 ; =data_027e0e60 + ldr r0, _0217d390 ; =gMapManager add r1, sp, #0x1c ldr r0, [r0] add r2, sp, #0x10 @@ -1745,7 +1745,7 @@ _0217d37c: arm_func_end func_ov30_0217d09c _0217d388: .word data_027e0f90 _0217d38c: .word data_027e0f94 -_0217d390: .word data_027e0e60 +_0217d390: .word gMapManager _0217d394: .word 0xffff8001 _0217d398: .word 0x00002aaa _0217d39c: .word 0x00005555 @@ -1777,7 +1777,7 @@ func_ov30_0217d3b8: ; 0x0217d3b8 addeq sp, sp, #0x20 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _0217d4e0 ; =data_027e0e60 + ldr r0, _0217d4e0 ; =gMapManager ldr lr, [r4] ldr ip, [r4, #4] ldr r3, [r4, #8] @@ -1840,7 +1840,7 @@ func_ov30_0217d3b8: ; 0x0217d3b8 arm_func_end func_ov30_0217d3b8 _0217d4d8: .word data_027e0f90 _0217d4dc: .word data_027e0f94 -_0217d4e0: .word data_027e0e60 +_0217d4e0: .word gMapManager _0217d4e4: .word 0x0000019a .global func_ov30_0217d4e8 @@ -1857,7 +1857,7 @@ func_ov30_0217d4e8: ; 0x0217d4e8 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} ldr r1, [r4] - ldr r0, _0217d684 ; =data_027e0e60 + ldr r0, _0217d684 ; =gMapManager str r1, [sp] ldr r1, [r4, #4] ldr r0, [r0] @@ -1956,7 +1956,7 @@ _0217d664: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov30_0217d4e8 -_0217d684: .word data_027e0e60 +_0217d684: .word gMapManager _0217d688: .word 0xffff8001 _0217d68c: .word 0x00002aaa @@ -1973,7 +1973,7 @@ func_ov30_0217d690: ; 0x0217d690 addne sp, sp, #0x48 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} - ldr r0, _0217d7d0 ; =data_027e0e60 + ldr r0, _0217d7d0 ; =gMapManager ldr ip, [r4] ldr r6, [r4, #4] ldr r3, [r4, #8] @@ -2028,7 +2028,7 @@ func_ov30_0217d690: ; 0x0217d690 mov r0, #6 str r0, [sp] ldrh r2, [r5, #0x9c] - ldr r0, _0217d7d0 ; =data_027e0e60 + ldr r0, _0217d7d0 ; =gMapManager add r1, sp, #0x18 str r2, [sp, #4] ldr r3, [r5, #0xa0] @@ -2045,7 +2045,7 @@ func_ov30_0217d690: ; 0x0217d690 .align 2, 0 arm_func_end func_ov30_0217d690 _0217d7cc: .word data_027e0f94 -_0217d7d0: .word data_027e0e60 +_0217d7d0: .word gMapManager _0217d7d4: .word 0x00000333 .global func_ov30_0217d7d8 @@ -2057,7 +2057,7 @@ func_ov30_0217d7d8: ; 0x0217d7d8 mov r11, #0 ldr r5, [r3] ldr r4, [r3, #4] - ldr r2, _0217d98c ; =data_027e0e60 + ldr r2, _0217d98c ; =gMapManager mov r10, r0 ldr r0, [r2] str r1, [sp] @@ -2086,7 +2086,7 @@ func_ov30_0217d7d8: ; 0x0217d7d8 mov r4, r2, lsl #0x10 _0217d85c: ldr r0, [sp, #4] - ldr r5, _0217d98c ; =data_027e0e60 + ldr r5, _0217d98c ; =gMapManager mov r0, r0, lsl #0x10 mov r8, #0 mov r7, r0, asr #0x10 @@ -2154,7 +2154,7 @@ _0217d934: blt _0217d85c cmp r11, #0 beq _0217d97c - ldr r0, _0217d98c ; =data_027e0e60 + ldr r0, _0217d98c ; =gMapManager ldr r2, [sp] ldr r0, [r0] add r1, sp, #0x10 @@ -2166,7 +2166,7 @@ _0217d97c: .align 2, 0 arm_func_end func_ov30_0217d7d8 _0217d988: .word data_027e0f94 -_0217d98c: .word data_027e0e60 +_0217d98c: .word gMapManager .global func_ov30_0217d990 arm_func_start func_ov30_0217d990 @@ -4030,7 +4030,7 @@ _0217f250: add r3, sp, #0x5c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217f548 ; =data_027e0e60 + ldr r0, _0217f548 ; =gMapManager ldr r2, [sp, #0x5c] ldr r4, [sp, #0x60] ldr r3, [sp, #0x64] @@ -4090,7 +4090,7 @@ _0217f2f4: ldr r0, [r0] bl func_ov00_020c47cc ldr r6, [r0, #4] - ldr r2, _0217f548 ; =data_027e0e60 + ldr r2, _0217f548 ; =gMapManager str r6, [sp, #0x50] ldr r4, [r0, #8] add r1, sp, #8 @@ -4214,7 +4214,7 @@ _0217f53c: .align 2, 0 arm_func_end func_ov30_0217f1c4 _0217f544: .word gAdventureFlags -_0217f548: .word data_027e0e60 +_0217f548: .word gMapManager _0217f54c: .word data_027e0ffc _0217f550: .word data_ov00_020e8398 _0217f554: .word data_027e0ff0 @@ -4296,7 +4296,7 @@ _0217f5f8: add r1, sp, #0x24 ldr r0, [r0] bl func_ov00_020c47cc - ldr r1, _0217f750 ; =data_027e0e60 + ldr r1, _0217f750 ; =gMapManager ldr r5, [r0, #4] ldr r3, [r0, #8] ldr r7, [r0, #0xc] @@ -4360,7 +4360,7 @@ _0217f730: _0217f744: .word data_ov00_020e8398 _0217f748: .word data_027e0ff0 _0217f74c: .word data_027e0f94 -_0217f750: .word data_027e0e60 +_0217f750: .word gMapManager _0217f754: .word data_027e0f64 .global func_ov30_0217f758 @@ -4467,7 +4467,7 @@ _0217f880: add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217faa0 ; =data_027e0e60 + ldr r0, _0217faa0 ; =gMapManager ldr r2, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -4596,7 +4596,7 @@ _0217fa98: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_0217f77c -_0217faa0: .word data_027e0e60 +_0217faa0: .word gMapManager _0217faa4: .word data_027e0ffc _0217faa8: .word data_027e10b4 @@ -4701,7 +4701,7 @@ _0217fbb4: add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217fd3c ; =data_027e0e60 + ldr r0, _0217fd3c ; =gMapManager ldr r2, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -4788,7 +4788,7 @@ _0217fcf8: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_0217fb7c -_0217fd3c: .word data_027e0e60 +_0217fd3c: .word gMapManager _0217fd40: .word data_027e0ffc .global func_ov30_0217fd44 @@ -5410,7 +5410,7 @@ func_ov30_02180548: ; 0x02180548 bl func_ov00_020a5e9c cmp r0, #0x25 bne _02180594 - ldr r0, _021805a0 ; =data_027e0e60 + ldr r0, _021805a0 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, #7 @@ -5428,7 +5428,7 @@ _02180594: .align 2, 0 arm_func_end func_ov30_02180548 _0218059c: .word data_027e0d38 -_021805a0: .word data_027e0e60 +_021805a0: .word gMapManager _021805a4: .word gAdventureFlags _021805a8: .word data_ov30_021887ac @@ -5442,7 +5442,7 @@ func_ov30_021805ac: ; 0x021805ac bl func_ov00_020a5e9c cmp r0, #0x25 bne _021805f8 - ldr r0, _02180604 ; =data_027e0e60 + ldr r0, _02180604 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d08Ev cmp r0, #7 @@ -5460,7 +5460,7 @@ _021805f8: .align 2, 0 arm_func_end func_ov30_021805ac _02180600: .word data_027e0d38 -_02180604: .word data_027e0e60 +_02180604: .word gMapManager _02180608: .word gAdventureFlags _0218060c: .word data_ov30_021887b4 @@ -8261,7 +8261,7 @@ func_ov30_021824cc: ; 0x021824cc str r2, [sp, #4] str r1, [sp, #8] str r0, [sp, #0xc] - ldr r0, _02182628 ; =data_027e0e60 + ldr r0, _02182628 ; =gMapManager str r3, [sp, #0x10] add r2, r4, #0x860 ldr r0, [r0] @@ -8315,7 +8315,7 @@ _02182618: .align 2, 0 arm_func_end func_ov30_021824cc _02182624: .word 0x0000ffff -_02182628: .word data_027e0e60 +_02182628: .word gMapManager _0218262c: .word data_027e0fe4 _02182630: .word 0x424f4d42 @@ -8356,7 +8356,7 @@ func_ov30_02182634: ; 0x02182634 str r0, [sp, #8] str r2, [sp, #0xc] str r2, [sp, #0x10] - ldr r0, _02182ab8 ; =data_027e0e60 + ldr r0, _02182ab8 ; =gMapManager add r2, r4, #0x860 ldr r0, [r0] add r1, sp, #0x13c @@ -8618,7 +8618,7 @@ _02182960: .align 2, 0 arm_func_end func_ov30_02182634 _02182ab4: .word 0x0000ffff -_02182ab8: .word data_027e0e60 +_02182ab8: .word gMapManager _02182abc: .word _ZTV11FilterActor _02182ac0: .word 0x424f4d42 _02182ac4: .word data_027e0fe4 @@ -10040,7 +10040,7 @@ func_ov30_02183ca8: ; 0x02183ca8 ldr r2, [r2, #0x8c] ldr r1, [r0] ldr r4, [r2, #0x98] - ldr r2, _02183d7c ; =data_027e0e60 + ldr r2, _02183d7c ; =gMapManager str r1, [sp, #0x30] ldr r3, [r0, #4] add r1, sp, #0x30 @@ -10051,7 +10051,7 @@ func_ov30_02183ca8: ; 0x02183ca8 mov r2, #1 bl _ZN10MapManager16MapData_vfunc_68Ev ldr r2, [r7] - ldr r1, _02183d7c ; =data_027e0e60 + ldr r1, _02183d7c ; =gMapManager str r2, [sp, #0x24] ldr r2, [r7, #4] add r5, r4, r0 @@ -10076,7 +10076,7 @@ func_ov30_02183ca8: ; 0x02183ca8 str r1, [sp] str r0, [sp, #4] ldr r1, [r2, #0xa0] - ldr r0, _02183d7c ; =data_027e0e60 + ldr r0, _02183d7c ; =gMapManager str r1, [sp, #8] ldr r0, [r0] add r1, sp, #0x18 @@ -10088,7 +10088,7 @@ func_ov30_02183ca8: ; 0x02183ca8 .align 2, 0 arm_func_end func_ov30_02183ca8 _02183d78: .word data_ov30_021894a0 -_02183d7c: .word data_027e0e60 +_02183d7c: .word gMapManager .global func_ov30_02183d80 arm_func_start func_ov30_02183d80 @@ -10516,7 +10516,7 @@ _021841ec: ldr r0, _02184304 ; =data_ov00_020eec68 mov r1, #0xf bl func_ov00_020d716c - ldr r0, _02184308 ; =data_027e0e60 + ldr r0, _02184308 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 @@ -10524,7 +10524,7 @@ _021841ec: mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 - ldr r0, _02184308 ; =data_027e0e60 + ldr r0, _02184308 ; =gMapManager mov r1, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084924Ej @@ -10545,7 +10545,7 @@ _0218424c: mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 - ldr r0, _02184308 ; =data_027e0e60 + ldr r0, _02184308 ; =gMapManager mov r1, #1 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084924Ej @@ -10581,7 +10581,7 @@ _021842d4: _021842fc: .word data_027e0fc8 _02184300: .word data_027e0fe4 _02184304: .word data_ov00_020eec68 -_02184308: .word data_027e0e60 +_02184308: .word gMapManager _0218430c: .word data_ov00_020eec9c .global func_ov30_02184310 @@ -11340,7 +11340,7 @@ _021848f4: ldrh r10, [r4, #0x20] ble _021849cc ldr r9, [sp, #0x18] - ldr r11, _02185254 ; =data_027e0e60 + ldr r11, _02185254 ; =gMapManager ldr r5, _02185250 ; =data_027e0fe4 _02184940: ldr r1, [sp, #0x530] @@ -11428,7 +11428,7 @@ _02184a34: ldrh r10, [r4, #0x20] ble _02184b10 ldr r9, [sp, #0x14] - ldr r11, _02185254 ; =data_027e0e60 + ldr r11, _02185254 ; =gMapManager ldr r5, _02185250 ; =data_027e0fe4 _02184a84: ldr r1, [sp, #0x4a4] @@ -11528,7 +11528,7 @@ _02184ba8: ldrh r10, [r4, #0x20] ble _02184c84 ldr r9, [sp, #0x10] - ldr r11, _02185254 ; =data_027e0e60 + ldr r11, _02185254 ; =gMapManager ldr r5, _02185250 ; =data_027e0fe4 _02184bf8: ldr r1, [sp, #0x3d0] @@ -11626,7 +11626,7 @@ _02184d18: ldrh r10, [r4, #0x20] ble _02184df0 ldr r9, [sp, #0xc] - ldr r11, _02185254 ; =data_027e0e60 + ldr r11, _02185254 ; =gMapManager ldr r5, _02185250 ; =data_027e0fe4 _02184d64: ldr r1, [sp, #0x2fc] @@ -11724,7 +11724,7 @@ _02184e84: ldrh r10, [r4, #0x20] ble _02184f50 ldr r9, [sp, #8] - ldr r5, _02185254 ; =data_027e0e60 + ldr r5, _02185254 ; =gMapManager ldr r6, _02185250 ; =data_027e0fe4 mov r11, r7 _02184ed4: @@ -11819,7 +11819,7 @@ _02184fe4: ldrh r10, [r4, #0x20] ble _021850b0 ldr r9, [sp, #4] - ldr r5, _02185254 ; =data_027e0e60 + ldr r5, _02185254 ; =gMapManager ldr r6, _02185250 ; =data_027e0fe4 mov r11, r7 _02185034: @@ -11914,7 +11914,7 @@ _02185144: ldrh r10, [r4, #0x20] ble _02185210 ldr r9, [sp] - ldr r5, _02185254 ; =data_027e0e60 + ldr r5, _02185254 ; =gMapManager ldr r6, _02185250 ; =data_027e0fe4 mov r11, r7 _02185194: @@ -11973,7 +11973,7 @@ _02185240: arm_func_end func_ov30_02184868 _0218524c: .word data_ov30_02188b08 _02185250: .word data_027e0fe4 -_02185254: .word data_027e0e60 +_02185254: .word gMapManager _02185258: .word _ZTV11FilterActor _0218525c: .word 0x57544352 _02185260: .word 0x43485352 @@ -14280,7 +14280,7 @@ func_ov30_021872c4: ; 0x021872c4 stmdb sp!, {lr} sub sp, sp, #0xc ldr r2, [r1] - ldr r3, _02187300 ; =data_027e0e60 + ldr r3, _02187300 ; =gMapManager str r2, [sp] ldr ip, [r1, #4] mov r2, r0 @@ -14294,12 +14294,12 @@ func_ov30_021872c4: ; 0x021872c4 ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov30_021872c4 -_02187300: .word data_027e0e60 +_02187300: .word gMapManager .global func_ov30_02187304 arm_func_start func_ov30_02187304 func_ov30_02187304: ; 0x02187304 - ldr r2, _02187320 ; =data_027e0e60 + ldr r2, _02187320 ; =gMapManager mov r3, r0 ldr r0, [r2] mov r2, r1 @@ -14308,7 +14308,7 @@ func_ov30_02187304: ; 0x02187304 bx ip .align 2, 0 arm_func_end func_ov30_02187304 -_02187320: .word data_027e0e60 +_02187320: .word gMapManager _02187324: .word _ZN10MapManager18func_ov00_0208439cEv .global func_ov30_02187328 @@ -14373,7 +14373,7 @@ func_ov30_02187388: ; 0x02187388 func_ov30_021873bc: ; 0x021873bc stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 - ldr r2, _02187568 ; =data_027e0e60 + ldr r2, _02187568 ; =gMapManager mov r5, r0 ldr r0, [r2] mov r4, r1 @@ -14465,13 +14465,13 @@ _021874e8: sub r0, r0, #1 strh r0, [sp, #2] _02187524: - ldr r0, _02187568 ; =data_027e0e60 + ldr r0, _02187568 ; =gMapManager add r1, sp, #4 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_a4Ev cmp r0, #0 beq _0218755c - ldr r0, _02187568 ; =data_027e0e60 + ldr r0, _02187568 ; =gMapManager add r1, sp, #0 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_a4Ev @@ -14485,7 +14485,7 @@ _0218755c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_021873bc -_02187568: .word data_027e0e60 +_02187568: .word gMapManager .global func_ov30_0218756c arm_func_start func_ov30_0218756c @@ -14522,14 +14522,14 @@ _021875d0: .word 0x000016a1 .global func_ov30_021875d4 arm_func_start func_ov30_021875d4 func_ov30_021875d4: ; 0x021875d4 - ldr r2, _021875e8 ; =data_027e0e60 + ldr r2, _021875e8 ; =gMapManager ldr ip, _021875ec ; =_ZN10MapManager16MapData_vfunc_a4Ev mov r1, r0 ldr r0, [r2] bx ip .align 2, 0 arm_func_end func_ov30_021875d4 -_021875e8: .word data_027e0e60 +_021875e8: .word gMapManager _021875ec: .word _ZN10MapManager16MapData_vfunc_a4Ev .global func_ov30_021875f0 @@ -15178,7 +15178,7 @@ func_ov30_02187e18: ; 0x02187e18 mov r7, r3 ldr r6, [sp, #0x60] bl func_ov30_02187dfc - ldr r11, _02187eec ; =data_027e0e60 + ldr r11, _02187eec ; =gMapManager add r5, sp, #0x24 mov r4, #6 _02187e44: @@ -15231,7 +15231,7 @@ func_ov30_02187ee4: ; 0x02187ee4 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov30_02187ee4 -_02187eec: .word data_027e0e60 +_02187eec: .word gMapManager .global func_ov30_02187ef0 arm_func_start func_ov30_02187ef0 diff --git a/asm/ov31.inc b/asm/ov31.inc index 5fbd45ca..cc14b422 100644 --- a/asm/ov31.inc +++ b/asm/ov31.inc @@ -72,7 +72,7 @@ .extern data_027e0d78 .extern data_027e0dbc .extern data_027e0e28 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f94 .extern data_027e0fc8 diff --git a/asm/ov31.s b/asm/ov31.s index 02be17e1..a230104c 100644 --- a/asm/ov31.s +++ b/asm/ov31.s @@ -269,7 +269,7 @@ _0217c040: mov r2, ip mov r1, #0x44 bl func_ov00_02087338 - ldr r0, _0217c218 ; =data_027e0e60 + ldr r0, _0217c218 ; =gMapManager mov r1, #0x45 ldr r0, [r0] add r2, sp, #0x50 @@ -362,7 +362,7 @@ _0217c184: .align 2, 0 arm_func_end func_ov31_0217bfb4 _0217c214: .word data_027e0f64 -_0217c218: .word data_027e0e60 +_0217c218: .word gMapManager _0217c21c: .word 0x0000ffff _0217c220: .word data_027e0fc8 diff --git a/asm/ov32.inc b/asm/ov32.inc index 054d383a..cfd6bb1b 100644 --- a/asm/ov32.inc +++ b/asm/ov32.inc @@ -90,7 +90,7 @@ .extern data_027e0d78 .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov32.s b/asm/ov32.s index c826e628..b13b71aa 100644 --- a/asm/ov32.s +++ b/asm/ov32.s @@ -1366,7 +1366,7 @@ func_ov32_0217cdd8: ; 0x0217cdd8 bl func_ov32_0217d354 cmp r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _0217ce1c ; =data_027e0e60 + ldr r0, _0217ce1c ; =gMapManager ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 @@ -1380,7 +1380,7 @@ func_ov32_0217cdd8: ; 0x0217cdd8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov32_0217cdd8 -_0217ce1c: .word data_027e0e60 +_0217ce1c: .word gMapManager .global func_ov32_0217ce20 arm_func_start func_ov32_0217ce20 @@ -1525,7 +1525,7 @@ _0217cfc4: bl func_ov00_020cca50 cmp r0, #0 beq _0217d030 - ldr r0, _0217d174 ; =data_027e0e60 + ldr r0, _0217d174 ; =gMapManager ldrh r1, [r5, #0x24] ldr r0, [r0] mov r2, #0 @@ -1625,7 +1625,7 @@ _0217d0f8: .align 2, 0 arm_func_end func_ov32_0217cfa4 _0217d170: .word data_027e0f90 -_0217d174: .word data_027e0e60 +_0217d174: .word gMapManager _0217d178: .word 0x0000071c _0217d17c: .word data_027e0764 _0217d180: .word 0x0000038e @@ -1929,7 +1929,7 @@ _0217d500: cmpne r0, #1 bne _0217d570 ldr r1, [r5, #0x48] - ldr r0, _0217d750 ; =data_027e0e60 + ldr r0, _0217d750 ; =gMapManager str r1, [sp, #0x10] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -2074,7 +2074,7 @@ _0217d744: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov32_0217d478 -_0217d750: .word data_027e0e60 +_0217d750: .word gMapManager _0217d754: .word func_ov32_0217c850 _0217d758: .word data_027e0e58 _0217d75c: .word 0x00000239 @@ -3065,7 +3065,7 @@ _0217e3e4: bl func_ov00_020cca50 cmp r0, #0 beq _0217e448 - ldr r0, _0217e590 ; =data_027e0e60 + ldr r0, _0217e590 ; =gMapManager ldrh r1, [r5, #0x24] ldr r0, [r0] mov r2, #0 @@ -3166,7 +3166,7 @@ _0217e514: .align 2, 0 arm_func_end func_ov32_0217e3c4 _0217e58c: .word data_027e0f90 -_0217e590: .word data_027e0e60 +_0217e590: .word gMapManager _0217e594: .word 0x0000071c _0217e598: .word data_027e0764 _0217e59c: .word 0x0000038e @@ -5190,7 +5190,7 @@ func_ov32_0217feac: ; 0x0217feac cmp r0, #0 beq _0217ff6c ldr r1, _02180048 ; =data_027e0f94 - ldr r0, _0218004c ; =data_027e0e60 + ldr r0, _0218004c ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #8] @@ -5274,7 +5274,7 @@ _0217ffd0: arm_func_end func_ov32_0217feac _02180044: .word data_027e0f90 _02180048: .word data_027e0f94 -_0218004c: .word data_027e0e60 +_0218004c: .word gMapManager _02180050: .word data_027e0764 _02180054: .word 0x0000ffff _02180058: .word data_02050f54 @@ -6827,7 +6827,7 @@ _0218158c: blx r3 ldmia sp!, {r4, pc} _021815b8: - ldr r0, _02181624 ; =data_027e0e60 + ldr r0, _02181624 ; =gMapManager ldrsh r1, [r4, #0x34] ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084cc8Ei @@ -6858,7 +6858,7 @@ _02181614: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov32_02181558 -_02181624: .word data_027e0e60 +_02181624: .word gMapManager .global func_ov32_02181628 arm_func_start func_ov32_02181628 @@ -7977,7 +7977,7 @@ func_ov32_0218252c: ; 0x0218252c add r1, r4, #0x78 mov r2, r0 bl func_01ff9bc4 - ldr r1, _0218269c ; =data_027e0e60 + ldr r1, _0218269c ; =gMapManager mov r0, r4 ldr r5, [r1] bl func_ov00_0208b9cc @@ -8039,7 +8039,7 @@ _02182670: arm_func_end func_ov32_0218252c _02182694: .word 0x0000ffff _02182698: .word data_ov32_02185c24 -_0218269c: .word data_027e0e60 +_0218269c: .word gMapManager _021826a0: .word 0x0000019a _021826a4: .word data_027e0e58 _021826a8: .word data_027e0ffc @@ -8063,14 +8063,14 @@ func_ov32_021826c4: ; 0x021826c4 cmp r1, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} - ldr r0, _021826ec ; =data_027e0e60 + ldr r0, _021826ec ; =gMapManager mov r2, #3 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084be0Eii ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov32_021826c4 -_021826ec: .word data_027e0e60 +_021826ec: .word gMapManager .global func_ov32_021826f0 arm_func_start func_ov32_021826f0 @@ -8992,7 +8992,7 @@ func_ov32_0218318c: ; 0x0218318c mov r6, r2, lsr #0xc orr r6, r6, r0, lsl #20 ldr r0, [r4, #0x50] - ldr r5, _02183344 ; =data_027e0e60 + ldr r5, _02183344 ; =gMapManager add r0, r0, r6 str r0, [r4, #0x238] ldr r0, [r5] @@ -9037,7 +9037,7 @@ _02183334: .word 0x00000e39 _02183338: .word 0xfffff8e4 _0218333c: .word 0x00001801 _02183340: .word data_02050f54 -_02183344: .word data_027e0e60 +_02183344: .word gMapManager .global func_ov32_02183348 arm_func_start func_ov32_02183348 @@ -9098,7 +9098,7 @@ _02183414: ldr r5, [lr] str r0, [sp, #0xc] ldr r0, [r4, #0x4c] - ldr ip, _0218353c ; =data_027e0e60 + ldr ip, _0218353c ; =gMapManager str r0, [sp, #0x10] ldr r6, [r4, #0x50] ldr r0, [lr, #4] @@ -9132,7 +9132,7 @@ _02183498: ldr r5, [lr] str r0, [sp] ldr r0, [r4, #0x4c] - ldr ip, _0218353c ; =data_027e0e60 + ldr ip, _0218353c ; =gMapManager str r0, [sp, #4] ldr r6, [r4, #0x50] ldr r0, [lr, #4] @@ -9172,7 +9172,7 @@ _02183518: arm_func_end func_ov32_02183348 _02183534: .word data_027e0764 _02183538: .word 0x00002001 -_0218353c: .word data_027e0e60 +_0218353c: .word gMapManager .global func_ov32_02183540 arm_func_start func_ov32_02183540 @@ -9384,7 +9384,7 @@ func_ov32_02183818: ; 0x02183818 mov r4, r0 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _021838cc ; =data_027e0e60 + ldr r0, _021838cc ; =gMapManager ldr lr, [sp, #0x18] ldr ip, [sp, #0x1c] ldr r3, [sp, #0x20] @@ -9424,7 +9424,7 @@ func_ov32_02183818: ; 0x02183818 .align 2, 0 arm_func_end func_ov32_02183818 _021838c8: .word data_027e0f94 -_021838cc: .word data_027e0e60 +_021838cc: .word gMapManager _021838d0: .word 0x00000333 .global func_ov32_021838d4 @@ -10633,7 +10633,7 @@ func_ov32_02184890: ; 0x02184890 cmp r3, #0 beq _021848f8 ldr r1, [r3, #0x48] - ldr r0, _02184948 ; =data_027e0e60 + ldr r0, _02184948 ; =gMapManager str r1, [r4, #0x48] ldr r2, [r3, #0x4c] add r1, sp, #0 @@ -10678,7 +10678,7 @@ _0218493c: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov32_02184890 -_02184948: .word data_027e0e60 +_02184948: .word gMapManager .global func_ov32_0218494c arm_func_start func_ov32_0218494c @@ -10810,7 +10810,7 @@ func_ov32_02184a9c: ; 0x02184a9c mov r1, r1, lsl #0x2 ldrsh r1, [r0, r1] ldr r2, [sp, #0x24] - ldr lr, _02184b9c ; =data_027e0e60 + ldr lr, _02184b9c ; =gMapManager smulbb r1, r1, ip add r1, r1, #0x800 add r3, r2, r1, asr #12 @@ -10859,7 +10859,7 @@ func_ov32_02184a9c: ; 0x02184a9c arm_func_end func_ov32_02184a9c _02184b94: .word data_02050f54 _02184b98: .word 0x00000266 -_02184b9c: .word data_027e0e60 +_02184b9c: .word gMapManager _02184ba0: .word 0x0000059a _02184ba4: .word data_ov00_020e9370 diff --git a/asm/ov33.inc b/asm/ov33.inc index 65302e14..7170596b 100644 --- a/asm/ov33.inc +++ b/asm/ov33.inc @@ -68,7 +68,7 @@ .extern data_027e0c68 .extern data_027e0e28 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c diff --git a/asm/ov33.s b/asm/ov33.s index 3da5cb2e..313e96de 100644 --- a/asm/ov33.s +++ b/asm/ov33.s @@ -846,7 +846,7 @@ func_ov33_0217c808: ; 0x0217c808 sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x48] - ldr r0, _0217c8ec ; =data_027e0e60 + ldr r0, _0217c8ec ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -901,7 +901,7 @@ func_ov33_0217c808: ; 0x0217c808 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov33_0217c808 -_0217c8ec: .word data_027e0e60 +_0217c8ec: .word gMapManager _0217c8f0: .word data_02050f54 _0217c8f4: .word 0x00000666 _0217c8f8: .word data_027e0ffc @@ -917,7 +917,7 @@ func_ov33_0217c8fc: ; 0x0217c8fc mov r3, #0 str r0, [sp, #0x18] ldr r1, [r4, #0x4c] - ldr r0, _0217c988 ; =data_027e0e60 + ldr r0, _0217c988 ; =gMapManager str r1, [sp, #0x1c] ldr r2, [r4, #0x50] add r1, sp, #0x18 @@ -947,7 +947,7 @@ _0217c97c: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov33_0217c8fc -_0217c988: .word data_027e0e60 +_0217c988: .word gMapManager .global func_ov33_0217c98c arm_func_start func_ov33_0217c98c @@ -1126,7 +1126,7 @@ _0217cb94: ; jump table b _0217cc8c ; case 3 b _0217ccc8 ; case 4 _0217cba8: - ldr r0, _0217cf20 ; =data_027e0e60 + ldr r0, _0217cf20 ; =gMapManager ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 @@ -1162,7 +1162,7 @@ _0217cc24: mov r0, r5 bl func_ov33_0217c98c ldr r1, [r5, #0x48] - ldr r0, _0217cf20 ; =data_027e0e60 + ldr r0, _0217cf20 ; =gMapManager str r1, [sp, #0x1c] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -1276,7 +1276,7 @@ _0217cdbc: ; jump table b _0217ceb4 ; case 3 b _0217cef0 ; case 4 _0217cdd0: - ldr r0, _0217cf20 ; =data_027e0e60 + ldr r0, _0217cf20 ; =gMapManager ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 @@ -1312,7 +1312,7 @@ _0217ce4c: mov r0, r5 bl func_ov33_0217c98c ldr r1, [r5, #0x48] - ldr r0, _0217cf20 ; =data_027e0e60 + ldr r0, _0217cf20 ; =gMapManager str r1, [sp, #0x10] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -1368,7 +1368,7 @@ _0217cf08: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov33_0217ca88 -_0217cf20: .word data_027e0e60 +_0217cf20: .word gMapManager _0217cf24: .word data_027e0ffc _0217cf28: .word 0x000001fb diff --git a/asm/ov34.inc b/asm/ov34.inc index a46e2160..bda56769 100644 --- a/asm/ov34.inc +++ b/asm/ov34.inc @@ -71,7 +71,7 @@ .extern data_027e0764 .extern data_027e0d0c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f94 diff --git a/asm/ov34.s b/asm/ov34.s index b6428dd7..0e2e4280 100644 --- a/asm/ov34.s +++ b/asm/ov34.s @@ -1321,7 +1321,7 @@ func_ov34_0217ceb0: ; 0x0217ceb0 func_ov34_0217cf74: ; 0x0217cf74 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c - ldr r0, _0217d008 ; =data_027e0e60 + ldr r0, _0217d008 ; =gMapManager mov r3, #0 mov r1, #0xff strb r1, [sp, #4] @@ -1359,7 +1359,7 @@ _0217cfa4: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov34_0217cf74 -_0217d008: .word data_027e0e60 +_0217d008: .word gMapManager _0217d00c: .word data_027e0f64 .global func_ov34_0217d010 @@ -1367,7 +1367,7 @@ _0217d00c: .word data_027e0f64 func_ov34_0217d010: ; 0x0217d010 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c - ldr r0, _0217d0a4 ; =data_027e0e60 + ldr r0, _0217d0a4 ; =gMapManager mov r3, #0 mov r1, #0xff strb r1, [sp, #4] @@ -1405,7 +1405,7 @@ _0217d040: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov34_0217d010 -_0217d0a4: .word data_027e0e60 +_0217d0a4: .word gMapManager _0217d0a8: .word data_027e0f64 .global func_ov34_0217d0ac @@ -1413,7 +1413,7 @@ _0217d0a8: .word data_027e0f64 func_ov34_0217d0ac: ; 0x0217d0ac stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c - ldr r0, _0217d140 ; =data_027e0e60 + ldr r0, _0217d140 ; =gMapManager mov r3, #0 mov r1, #0xff strb r1, [sp, #4] @@ -1451,7 +1451,7 @@ _0217d0dc: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov34_0217d0ac -_0217d140: .word data_027e0e60 +_0217d140: .word gMapManager _0217d144: .word data_027e0f64 .global func_ov34_0217d148 @@ -2223,7 +2223,7 @@ _0217db48: ldr r0, [r0] ldr r1, _0217decc ; =0x000b00df bl func_ov00_020cfc70 - ldr r0, _0217ded0 ; =data_027e0e60 + ldr r0, _0217ded0 ; =gMapManager mov r1, #1 ldr r0, [r0] mov r2, #0 @@ -2386,7 +2386,7 @@ _0217dec0: .word data_ov34_02186308 _0217dec4: .word data_ov34_02186320 _0217dec8: .word data_027e103c _0217decc: .word 0x000b00df -_0217ded0: .word data_027e0e60 +_0217ded0: .word gMapManager .global func_ov34_0217ded4 arm_func_start func_ov34_0217ded4 @@ -6619,7 +6619,7 @@ _02181b50: add r2, r6, #0x1000 ldrh r4, [r0, #0x86] ldr r3, [r2, #0xd04] - ldr r1, _02181d00 ; =data_027e0e60 + ldr r1, _02181d00 ; =gMapManager str r3, [sp, #0xc] ldr r3, [r2, #0xd08] ldr r0, [r1] @@ -6722,7 +6722,7 @@ _02181c8c: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov34_02181a00 -_02181d00: .word data_027e0e60 +_02181d00: .word gMapManager _02181d04: .word data_02050f54 _02181d08: .word data_027e0ffc _02181d0c: .word 0x000002fa @@ -10712,13 +10712,13 @@ _021853d8: .word func_ov00_020b7d74 func_ov34_021853dc: ; 0x021853dc stmdb sp!, {r4, lr} sub sp, sp, #0x30 - ldr r1, _02185580 ; =data_027e0e60 + ldr r1, _02185580 ; =gMapManager mov r4, r0 ldr r1, [r1] add r0, sp, #8 add r2, r4, #0x48 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - ldr r0, _02185580 ; =data_027e0e60 + ldr r0, _02185580 ; =gMapManager add r1, sp, #8 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_54Ev @@ -10821,7 +10821,7 @@ _02185568: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov34_021853dc -_02185580: .word data_027e0e60 +_02185580: .word gMapManager _02185584: .word data_027e0fec _02185588: .word data_027e0f6c _0218558c: .word data_027e0e58 diff --git a/asm/ov35.inc b/asm/ov35.inc index cd99a8fb..ae55a040 100644 --- a/asm/ov35.inc +++ b/asm/ov35.inc @@ -90,7 +90,7 @@ .extern data_027e0c68 .extern data_027e0d0c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f90 .extern data_027e0f94 diff --git a/asm/ov35.s b/asm/ov35.s index 94f2f5b6..be34b773 100644 --- a/asm/ov35.s +++ b/asm/ov35.s @@ -2798,7 +2798,7 @@ func_ov35_0217e320: ; 0x0217e320 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [sp, #0x24] - ldr r0, _0217e3d4 ; =data_027e0e60 + ldr r0, _0217e3d4 ; =gMapManager ldr r1, [sp, #0x28] str r2, [sp, #0x18] ldr r2, [sp, #0x2c] @@ -2826,7 +2826,7 @@ func_ov35_0217e320: ; 0x0217e320 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov35_0217e320 -_0217e3d4: .word data_027e0e60 +_0217e3d4: .word gMapManager _0217e3d8: .word data_ov00_020e9370 .global func_ov35_0217e3dc @@ -8082,7 +8082,7 @@ _02182d70: str r1, [sp, #0xac] str r0, [sp, #0xb4] _02182d84: - ldr r0, _02182f94 ; =data_027e0e60 + ldr r0, _02182f94 ; =gMapManager add r2, sp, #0x94 ldr r0, [r0] mov r1, #1 @@ -8177,7 +8177,7 @@ _02182e40: str r8, [sp, #0xc] mov r1, #1 str r1, [sp, #0x10] - ldr r0, _02182f94 ; =data_027e0e60 + ldr r0, _02182f94 ; =gMapManager add r1, sp, #0xb8 ldr r0, [r0] add r2, sp, #0x28 @@ -8217,7 +8217,7 @@ _02182e40: _02182f88: .word data_027e0f64 _02182f8c: .word data_027e0f94 _02182f90: .word data_027e0764 -_02182f94: .word data_027e0e60 +_02182f94: .word gMapManager _02182f98: .word 0x0000ffff _02182f9c: .word 0x0000099a _02182fa0: .word data_027e0fe8 @@ -9242,7 +9242,7 @@ _02183d8c: adc r0, r0, #0 mov r1, r1, lsr #0xc ldr r2, [sp, #0x24] - ldr lr, _02183e90 ; =data_027e0e60 + ldr lr, _02183e90 ; =gMapManager adds r8, ip, #0x800 orr r1, r1, r0, lsl #20 add ip, r2, r1 @@ -9293,7 +9293,7 @@ _02183e80: .word 0x0000019a _02183e84: .word 0x00000ccd _02183e88: .word 0x00000555 _02183e8c: .word data_02050f54 -_02183e90: .word data_027e0e60 +_02183e90: .word gMapManager _02183e94: .word data_ov00_020e9370 .global func_ov35_02183e98 diff --git a/asm/ov36.inc b/asm/ov36.inc index 0721fdc4..69cbd0f8 100644 --- a/asm/ov36.inc +++ b/asm/ov36.inc @@ -76,7 +76,7 @@ .extern data_027e0d0c .extern data_027e0d3c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f90 diff --git a/asm/ov36.s b/asm/ov36.s index f9c3ec74..57175a4b 100644 --- a/asm/ov36.s +++ b/asm/ov36.s @@ -1824,13 +1824,13 @@ _0217d56c: ldr r1, [r1, #0x28] add r0, r0, #0x1800 bl func_ov17_02168660 - ldr r0, _0217d6b0 ; =data_027e0e60 + ldr r0, _0217d6b0 ; =gMapManager mov r1, #3 ldr r0, [r0] mov r2, r1 mov r3, #0 bl _ZN10MapManager18func_ov00_02084b38Eiii - ldr r0, _0217d6b0 ; =data_027e0e60 + ldr r0, _0217d6b0 ; =gMapManager mov r1, #4 ldr r0, [r0] mov r2, #3 @@ -1871,7 +1871,7 @@ _0217d6a0: .word data_ov36_0218683e _0217d6a4: .word 0x00000333 _0217d6a8: .word 0x00001610 _0217d6ac: .word data_027e0fec -_0217d6b0: .word data_027e0e60 +_0217d6b0: .word gMapManager _0217d6b4: .word 0x0000011e _0217d6b8: .word 0x0000011f @@ -2371,7 +2371,7 @@ func_ov36_0217dd98: ; 0x0217dd98 moveq r0, #0 streq r0, [r4, #0x138] ldmeqia sp!, {r4, pc} - ldr r0, _0217ddfc ; =data_027e0e60 + ldr r0, _0217ddfc ; =gMapManager ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 @@ -2391,7 +2391,7 @@ _0217ddf0: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217dd98 -_0217ddfc: .word data_027e0e60 +_0217ddfc: .word gMapManager .global func_ov36_0217de00 arm_func_start func_ov36_0217de00 @@ -3203,7 +3203,7 @@ _0217e970: str r0, [r6, #0x88] _0217e978: ldr r1, [r6, #0x48] - ldr r0, _0217eb4c ; =data_027e0e60 + ldr r0, _0217eb4c ; =gMapManager str r1, [sp, #0xc] ldr r1, [r6, #0x4c] ldr r0, [r0] @@ -3323,7 +3323,7 @@ _0217eb3c: .word data_027e0fc8 _0217eb40: .word data_027e0fe4 _0217eb44: .word 0x504c444d _0217eb48: .word 0x0000219a -_0217eb4c: .word data_027e0e60 +_0217eb4c: .word gMapManager _0217eb50: .word data_02050f54 _0217eb54: .word data_027e0e58 @@ -3510,7 +3510,7 @@ func_ov36_0217ed50: ; 0x0217ed50 b _0217eef8 _0217ede8: ldr r1, [r4, #0x48] - ldr r0, _0217ef0c ; =data_027e0e60 + ldr r0, _0217ef0c ; =gMapManager str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -3525,21 +3525,21 @@ _0217ede8: movne r0, #0 cmp r0, #0 beq _0217eee8 - ldr r0, _0217ef0c ; =data_027e0e60 + ldr r0, _0217ef0c ; =gMapManager ldr r1, [r4, #0x54] ldr r0, [r0] bl _ZN10MapManager18func_ov00_020839d4Ev - ldr r1, _0217ef0c ; =data_027e0e60 + ldr r1, _0217ef0c ; =gMapManager mov r6, r0 ldr r0, [r1] ldr r1, [r4, #0x5c] bl _ZN10MapManager18func_ov00_020839f8Ev - ldr r1, _0217ef0c ; =data_027e0e60 + ldr r1, _0217ef0c ; =gMapManager mov r7, r0 ldr r0, [r1] ldr r1, [r4, #0x48] bl _ZN10MapManager18func_ov00_020839d4Ev - ldr r1, _0217ef0c ; =data_027e0e60 + ldr r1, _0217ef0c ; =gMapManager mov r5, r0 ldr r0, [r1] ldr r1, [r4, #0x50] @@ -3589,7 +3589,7 @@ _0217eef8: arm_func_end func_ov36_0217ed50 _0217ef04: .word data_ov36_02186c9c _0217ef08: .word data_027e0d0c -_0217ef0c: .word data_027e0e60 +_0217ef0c: .word gMapManager .global func_ov36_0217ef10 arm_func_start func_ov36_0217ef10 @@ -5422,7 +5422,7 @@ _02180774: str r0, [sp, #0x14] ldr r0, [r7, #8] stmia sp, {r0, r9, r11} - ldr r0, _02180994 ; =data_027e0e60 + ldr r0, _02180994 ; =gMapManager ldr r0, [r0] bl func_01ffe1cc cmp r0, #0 @@ -5518,7 +5518,7 @@ _02180984: .word data_ov36_02186cd4 _02180988: .word data_ov36_02186838 _0218098c: .word data_02050f54 _02180990: .word 0x000004cd -_02180994: .word data_027e0e60 +_02180994: .word gMapManager _02180998: .word data_027e0f64 _0218099c: .word gAdventureFlags _021809a0: .word data_027e0c68 @@ -6914,7 +6914,7 @@ _02181dc8: bl func_0202d7ac cmp r0, #0 bne _02181e34 - ldr r0, _02181f30 ; =data_027e0e60 + ldr r0, _02181f30 ; =gMapManager mov r1, #2 ldr r0, [r0] mov r2, #1 @@ -6969,7 +6969,7 @@ _02181e34: str r0, [r4, #0x66c] ldr r0, _02181f34 ; =0x0000011e bl func_ov19_0216e7b0 - ldr r0, _02181f30 ; =data_027e0e60 + ldr r0, _02181f30 ; =gMapManager mov r1, #3 ldr r0, [r0] mov r2, r1 @@ -6977,13 +6977,13 @@ _02181e34: cmp r0, #0 addne sp, sp, #0x14 ldmneia sp!, {r3, r4, pc} - ldr r0, _02181f30 ; =data_027e0e60 + ldr r0, _02181f30 ; =gMapManager mov r1, #3 ldr r0, [r0] mov r2, r1 mov r3, #1 bl _ZN10MapManager18func_ov00_02084b38Eiii - ldr r0, _02181f30 ; =data_027e0e60 + ldr r0, _02181f30 ; =gMapManager mov r1, #4 ldr r0, [r0] mov r2, #3 @@ -7003,7 +7003,7 @@ _02181f20: .word data_ov36_02186ce4 _02181f24: .word data_027e0e58 _02181f28: .word 0x000002c7 _02181f2c: .word data_027e071c -_02181f30: .word data_027e0e60 +_02181f30: .word gMapManager _02181f34: .word 0x0000011e _02181f38: .word data_027e0f90 @@ -7016,12 +7016,12 @@ func_ov36_02181f3c: ; 0x02181f3c mov r1, #3 orr r2, r0, #0x100000 str r2, [r4, #0x878] - ldr r0, _02181fc8 ; =data_027e0e60 + ldr r0, _02181fc8 ; =gMapManager mov r2, r1 ldr r0, [r0] mov r3, #0 bl _ZN10MapManager18func_ov00_02084b38Eiii - ldr r0, _02181fc8 ; =data_027e0e60 + ldr r0, _02181fc8 ; =gMapManager mov r1, #4 ldr r0, [r0] mov r2, #3 @@ -7047,7 +7047,7 @@ func_ov36_02181f3c: ; 0x02181f3c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_02181f3c -_02181fc8: .word data_027e0e60 +_02181fc8: .word gMapManager _02181fcc: .word data_027e0f64 .global func_ov36_02181fd0 @@ -7658,14 +7658,14 @@ _021828dc: strh r1, [r0, #0x18] cmp r3, #2 blo _021828dc - ldr r0, _0218298c ; =data_027e0e60 + ldr r0, _0218298c ; =gMapManager add r2, sp, #0x2c ldr r0, [r0] mov r1, #0x5b bl _ZN10MapManager18func_ov00_02083918EiPi cmp r0, #0 beq _02182934 - ldr r0, _0218298c ; =data_027e0e60 + ldr r0, _0218298c ; =gMapManager ldrb r1, [sp, #0x30] ldr r0, [r0] mov r2, #0 @@ -7701,14 +7701,14 @@ _0218297c: .word 0x0000199a _02182980: .word 0x00001003 _02182984: .word 0x000002c2 _02182988: .word 0x000002cd -_0218298c: .word data_027e0e60 +_0218298c: .word gMapManager .global func_ov36_02182990 arm_func_start func_ov36_02182990 func_ov36_02182990: ; 0x02182990 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x124 - ldr r1, _02182c64 ; =data_027e0e60 + ldr r1, _02182c64 ; =gMapManager mov r4, r0 ldr r0, [r1] mov r1, #0 @@ -7892,7 +7892,7 @@ _02182a7c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov36_02182990 -_02182c64: .word data_027e0e60 +_02182c64: .word gMapManager _02182c68: .word data_027e0f64 _02182c6c: .word data_027e0ffc _02182c70: .word data_027e0fc8 @@ -10044,13 +10044,13 @@ _02184a9c: add r1, sp, #0 bl func_ov00_02087d34 mov r1, #0 - ldr r0, _02184de0 ; =data_027e0e60 + ldr r0, _02184de0 ; =gMapManager str r1, [sp, #0x1c] ldr r0, [r0] str r1, [sp, #0x20] str r1, [sp, #0x24] bl _ZN10MapManager18Get_MapData_Unk_d8Ev - ldr r1, _02184de0 ; =data_027e0e60 + ldr r1, _02184de0 ; =gMapManager mov r4, r0 ldr r0, [r1] bl _ZN10MapManager18Get_MapData_Unk_d0Ev @@ -10245,7 +10245,7 @@ _02184dc8: arm_func_end func_ov36_02184a64 _02184dd8: .word gAdventureFlags _02184ddc: .word data_027e0f64 -_02184de0: .word data_027e0e60 +_02184de0: .word gMapManager _02184de4: .word 0x0000038e _02184de8: .word 0x00001e84 @@ -10366,7 +10366,7 @@ func_ov36_02184f44: ; 0x02184f44 mov r4, r0 _02184f6c: ldr r1, [r6, #0x48] - ldr r0, _0218504c ; =data_027e0e60 + ldr r0, _0218504c ; =gMapManager str r1, [sp] ldr r1, [r6, #0x4c] ldr r0, [r0] @@ -10429,7 +10429,7 @@ _02185040: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov36_02184f44 -_0218504c: .word data_027e0e60 +_0218504c: .word gMapManager .global func_ov36_02185050 arm_func_start func_ov36_02185050 diff --git a/asm/ov37.inc b/asm/ov37.inc index d5dd88aa..f4f14ea5 100644 --- a/asm/ov37.inc +++ b/asm/ov37.inc @@ -79,7 +79,7 @@ .extern data_027e0c54 .extern data_027e0d0c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f90 diff --git a/asm/ov37.s b/asm/ov37.s index d8afdba0..ce4eff94 100644 --- a/asm/ov37.s +++ b/asm/ov37.s @@ -3058,14 +3058,14 @@ _0217e78c: strh r1, [r0, #0x18] cmp r3, #2 blo _0217e78c - ldr r0, _0217f0f4 ; =data_027e0e60 + ldr r0, _0217f0f4 ; =gMapManager add r2, sp, #0x7c ldr r0, [r0] mov r1, #3 bl _ZN10MapManager18func_ov00_02083908EcPi cmp r0, #0 beq _0217e7ec - ldr r0, _0217f0f4 ; =data_027e0e60 + ldr r0, _0217f0f4 ; =gMapManager mov r1, #3 ldr r0, [r0] mov r2, #0 @@ -3171,14 +3171,14 @@ _0217e93c: strh r1, [r0, #0x18] cmp r3, #2 blo _0217e93c - ldr r0, _0217f0f4 ; =data_027e0e60 + ldr r0, _0217f0f4 ; =gMapManager add r2, sp, #0x54 ldr r0, [r0] mov r1, #1 bl _ZN10MapManager18func_ov00_02083908EcPi cmp r0, #0 beq _0217e99c - ldr r0, _0217f0f4 ; =data_027e0e60 + ldr r0, _0217f0f4 ; =gMapManager mov r1, #1 ldr r0, [r0] mov r2, #0 @@ -3675,7 +3675,7 @@ _0217f0e8: add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_0217f0f4: .word data_027e0e60 +_0217f0f4: .word gMapManager _0217f0f8: .word data_027e0e58 _0217f0fc: .word 0x00001020 _0217f100: .word 0x00001021 @@ -3929,7 +3929,7 @@ func_ov37_0217f468: ; 0x0217f468 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217f4d0 ; =data_027e0e60 + ldr r0, _0217f4d0 ; =gMapManager ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -3948,7 +3948,7 @@ func_ov37_0217f468: ; 0x0217f468 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov37_0217f468 -_0217f4d0: .word data_027e0e60 +_0217f4d0: .word gMapManager .global func_ov37_0217f4d4 arm_func_start func_ov37_0217f4d4 @@ -3962,7 +3962,7 @@ func_ov37_0217f4d4: ; 0x0217f4d4 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217f53c ; =data_027e0e60 + ldr r0, _0217f53c ; =gMapManager ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -3981,7 +3981,7 @@ func_ov37_0217f4d4: ; 0x0217f4d4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov37_0217f4d4 -_0217f53c: .word data_027e0e60 +_0217f53c: .word gMapManager .global func_ov37_0217f540 arm_func_start func_ov37_0217f540 @@ -3993,7 +3993,7 @@ func_ov37_0217f540: ; 0x0217f540 mov r5, r0 ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217f650 ; =data_027e0e60 + ldr r0, _0217f650 ; =gMapManager ldr lr, [sp, #0x20] ldr ip, [sp, #0x24] ldr r3, [sp, #0x28] @@ -4056,7 +4056,7 @@ func_ov37_0217f540: ; 0x0217f540 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov37_0217f540 -_0217f650: .word data_027e0e60 +_0217f650: .word gMapManager _0217f654: .word data_027e0e58 _0217f658: .word 0x00001013 _0217f65c: .word 0x00001014 @@ -6741,7 +6741,7 @@ _02181b64: add r3, sp, #0x224 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02181f34 ; =data_027e0e60 + ldr r0, _02181f34 ; =gMapManager ldr r6, [sp, #0x224] ldr r4, [sp, #0x228] ldr r3, [sp, #0x22c] @@ -6795,7 +6795,7 @@ _02181c30: add r3, sp, #0x218 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02181f34 ; =data_027e0e60 + ldr r0, _02181f34 ; =gMapManager ldr r6, [sp, #0x218] ldr r4, [sp, #0x21c] ldr r3, [sp, #0x220] @@ -6928,7 +6928,7 @@ _02181e2c: add r3, sp, #0x1f4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02181f34 ; =data_027e0e60 + ldr r0, _02181f34 ; =gMapManager ldr r2, [sp, #0x1f4] ldr r6, [sp, #0x1f8] ldr r3, [sp, #0x1fc] @@ -6984,7 +6984,7 @@ _02181f24: .word 0x0000100f _02181f28: .word 0x00001010 _02181f2c: .word data_ov37_0218801c _02181f30: .word 0x00001011 -_02181f34: .word data_027e0e60 +_02181f34: .word gMapManager _02181f38: .word 0x00000153 _02181f3c: .word data_ov37_02188028 _02181f40: .word 0x000002ae @@ -7157,7 +7157,7 @@ _0218219c: add r3, sp, #0x1b8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02181f34 ; =data_027e0e60 + ldr r0, _02181f34 ; =gMapManager ldr r2, [sp, #0x1b8] ldr r6, [sp, #0x1bc] ldr r3, [sp, #0x1c0] @@ -7276,7 +7276,7 @@ _02182368: add r3, sp, #0x194 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02181f34 ; =data_027e0e60 + ldr r0, _02181f34 ; =gMapManager ldr r6, [sp, #0x194] ldr r4, [sp, #0x198] ldr r3, [sp, #0x19c] @@ -7331,7 +7331,7 @@ _02182438: add r3, sp, #0x188 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02181f34 ; =data_027e0e60 + ldr r0, _02181f34 ; =gMapManager ldr r6, [sp, #0x188] ldr r4, [sp, #0x18c] ldr r3, [sp, #0x190] @@ -12114,7 +12114,7 @@ func_ov37_02186458: ; 0x02186458 add r1, r4, #0x48 bl func_ov00_020c5330 ldr r1, [r4, #0x48] - ldr r0, _02186670 ; =data_027e0e60 + ldr r0, _02186670 ; =gMapManager str r1, [sp, #8] ldr r2, [r4, #0x4c] ldr r0, [r0] @@ -12153,7 +12153,7 @@ _02186660: .word data_027e0f6c _02186664: .word data_027e0fe8 _02186668: .word 0x57534243 _0218666c: .word data_027e0fe4 -_02186670: .word data_027e0e60 +_02186670: .word gMapManager .global func_ov37_02186674 arm_func_start func_ov37_02186674 @@ -12286,7 +12286,7 @@ func_ov37_02186720: ; 0x02186720 str r1, [sp, #4] str r0, [sp, #8] str r5, [sp, #0xc] - ldr r0, _02186858 ; =data_027e0e60 + ldr r0, _02186858 ; =gMapManager str r5, [sp, #0x10] ldr r0, [r0] add r1, sp, #0x44 @@ -12302,7 +12302,7 @@ func_ov37_02186720: ; 0x02186720 arm_func_end func_ov37_02186720 _02186850: .word data_027e0fe4 _02186854: .word 0x0000ffff -_02186858: .word data_027e0e60 +_02186858: .word gMapManager .global func_ov37_0218685c arm_func_start func_ov37_0218685c @@ -12593,7 +12593,7 @@ func_ov37_02186b68: ; 0x02186b68 add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02186cac ; =data_027e0e60 + ldr r0, _02186cac ; =gMapManager ldr lr, [sp, #0x14] ldr ip, [sp, #0x18] ldr r3, [sp, #0x1c] @@ -12632,7 +12632,7 @@ func_ov37_02186b68: ; 0x02186b68 .align 2, 0 arm_func_end func_ov37_02186b68 _02186ca8: .word 0x66666667 -_02186cac: .word data_027e0e60 +_02186cac: .word gMapManager _02186cb0: .word data_027e0e58 _02186cb4: .word 0x000001a9 _02186cb8: .word data_027e0ffc @@ -13254,7 +13254,7 @@ _021874d8: add r3, sp, #0x20 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02187770 ; =data_027e0e60 + ldr r0, _02187770 ; =gMapManager ldr ip, [sp, #0x20] ldr r4, [sp, #0x24] ldr r3, [sp, #0x28] @@ -13422,7 +13422,7 @@ _02187760: .word 0x000002b9 _02187764: .word 0x00000191 _02187768: .word data_ov00_020eec68 _0218776c: .word 0x00000333 -_02187770: .word data_027e0e60 +_02187770: .word gMapManager _02187774: .word data_027e0e58 _02187778: .word 0x00001011 _0218777c: .word 0x000002ba diff --git a/asm/ov38.inc b/asm/ov38.inc index 3d36c5ae..72eaa4fb 100644 --- a/asm/ov38.inc +++ b/asm/ov38.inc @@ -75,7 +75,7 @@ .extern data_027e0d0c .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f94 diff --git a/asm/ov38.s b/asm/ov38.s index d3dbb24a..3c3f2290 100644 --- a/asm/ov38.s +++ b/asm/ov38.s @@ -10962,7 +10962,7 @@ _02185790: ldr r0, [r2, #0x78] cmp r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _02185828 ; =data_027e0e60 + ldr r0, _02185828 ; =gMapManager mov r1, #3 ldr r0, [r0] mov r2, #1 @@ -11002,7 +11002,7 @@ _02185818: .align 2, 0 arm_func_end func_ov38_02185720 _02185824: .word 0x00000708 -_02185828: .word data_027e0e60 +_02185828: .word gMapManager _0218582c: .word data_ov29_0217a4ac .global func_ov38_02185830 @@ -11045,7 +11045,7 @@ _021858ac: ldr r0, [r4, #0x2d8] cmp r0, #0x10 ldmneia sp!, {r4, pc} - ldr r0, _02185a64 ; =data_027e0e60 + ldr r0, _02185a64 ; =gMapManager mov r1, #3 ldr r0, [r0] mov r2, #1 @@ -11060,14 +11060,14 @@ _021858ac: bl func_ov29_021772f8 ldmia sp!, {r4, pc} _021858f0: - ldr r0, _02185a64 ; =data_027e0e60 + ldr r0, _02185a64 ; =gMapManager mov r1, #6 ldr r0, [r0] mov r2, #1 bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _02185a64 ; =data_027e0e60 + ldr r0, _02185a64 ; =gMapManager mov r1, #6 ldr r0, [r0] mov r2, #1 @@ -11100,7 +11100,7 @@ _02185968: bl func_ov38_02185720 ldmia sp!, {r4, pc} _02185984: - ldr r0, _02185a64 ; =data_027e0e60 + ldr r0, _02185a64 ; =gMapManager mov r1, #5 ldr r0, [r0] mov r2, #1 @@ -11113,7 +11113,7 @@ _02185984: ldmneia sp!, {r4, pc} mov r1, #0 bl func_ov29_021772f8 - ldr r0, _02185a64 ; =data_027e0e60 + ldr r0, _02185a64 ; =gMapManager mov r1, #5 ldr r0, [r0] mov r2, #1 @@ -11143,7 +11143,7 @@ _021859e4: mov r1, #5 mov r2, #1 bl func_ov38_0217bf0c - ldr r0, _02185a64 ; =data_027e0e60 + ldr r0, _02185a64 ; =gMapManager mov r2, #1 ldr r0, [r0] mov r3, r2 @@ -11160,7 +11160,7 @@ _02185a58: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov38_02185830 -_02185a64: .word data_027e0e60 +_02185a64: .word gMapManager _02185a68: .word data_ov29_0217a4ac _02185a6c: .word gItemManager @@ -11493,7 +11493,7 @@ _02185ef8: str r0, [r1, #0x210] cmp r0, #0x82 ble _02185f3c - ldr r0, _02186a14 ; =data_027e0e60 + ldr r0, _02186a14 ; =gMapManager mov r1, #1 ldr r0, [r0] mov r2, r1 @@ -11738,7 +11738,7 @@ _02186268: add sp, sp, #0x154 ldmia sp!, {r4, r5, pc} _021862c8: - ldr r0, _02186a14 ; =data_027e0e60 + ldr r0, _02186a14 ; =gMapManager mov r1, #2 ldr r0, [r0] mov r2, #1 @@ -12220,7 +12220,7 @@ _021869dc: .align 2, 0 arm_func_end func_ov38_02185ebc _02186a10: .word data_ov38_021891e0 -_02186a14: .word data_027e0e60 +_02186a14: .word gMapManager _02186a18: .word 0x00000ccd _02186a1c: .word data_027e0f94 _02186a20: .word data_027e0fc8 diff --git a/asm/ov39.inc b/asm/ov39.inc index f4ad32fc..67243319 100644 --- a/asm/ov39.inc +++ b/asm/ov39.inc @@ -80,7 +80,7 @@ .extern data_027e0c54 .extern data_027e0c68 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f90 .extern data_027e0f94 diff --git a/asm/ov39.s b/asm/ov39.s index 448fce53..f76adc68 100644 --- a/asm/ov39.s +++ b/asm/ov39.s @@ -1767,7 +1767,7 @@ func_ov39_0217d534: ; 0x0217d534 sub sp, sp, #0x14 mov r4, r0 ldr r1, [r4, #0x4c] - ldr r0, _0217d5c4 ; =data_027e0e60 + ldr r0, _0217d5c4 ; =gMapManager add r1, r1, #0x3000 str r1, [r4, #0x4c] ldr r1, [r4, #0x48] @@ -1801,7 +1801,7 @@ func_ov39_0217d534: ; 0x0217d534 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov39_0217d534 -_0217d5c4: .word data_027e0e60 +_0217d5c4: .word gMapManager _0217d5c8: .word data_027e0f94 _0217d5cc: .word data_027e0fe4 _0217d5d0: .word 0x4e415649 @@ -3453,7 +3453,7 @@ func_ov39_0217ec34: ; 0x0217ec34 ldr r0, _0217ec88 ; =data_027e0c68 add r1, r5, #0xc60 bl func_02036ce4 - ldr r0, _0217ec8c ; =data_027e0e60 + ldr r0, _0217ec8c ; =gMapManager mov r1, r4 ldr r0, [r0] mov r2, #1 @@ -3463,7 +3463,7 @@ func_ov39_0217ec34: ; 0x0217ec34 .align 2, 0 arm_func_end func_ov39_0217ec34 _0217ec88: .word data_027e0c68 -_0217ec8c: .word data_027e0e60 +_0217ec8c: .word gMapManager .global func_ov39_0217ec90 arm_func_start func_ov39_0217ec90 @@ -3989,7 +3989,7 @@ _0217f3b8: orr r0, r0, #4 str r0, [r4, #0x158] _0217f3c4: - ldr r0, _0217f47c ; =data_027e0e60 + ldr r0, _0217f47c ; =gMapManager mov r1, #3 ldr r0, [r0] mov r2, #1 @@ -4000,7 +4000,7 @@ _0217f3c4: ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _0217f47c ; =data_027e0e60 + ldr r0, _0217f47c ; =gMapManager mov r1, #3 ldr r0, [r0] mov r2, #1 @@ -4038,7 +4038,7 @@ _0217f40c: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov39_0217f32c -_0217f47c: .word data_027e0e60 +_0217f47c: .word gMapManager _0217f480: .word data_ov29_0217bd28 _0217f484: .word gItemManager @@ -7582,13 +7582,13 @@ func_ov39_021825e8: ; 0x021825e8 add r0, r4, #0x3ec add r0, r0, #0x400 bl func_ov39_0217ca2c - ldr r0, _02182670 ; =data_027e0e60 + ldr r0, _02182670 ; =gMapManager mov r1, #1 ldr r0, [r0] mov r2, r1 mov r3, #0 bl _ZN10MapManager18func_ov00_02084b38Eiii - ldr r0, _02182670 ; =data_027e0e60 + ldr r0, _02182670 ; =gMapManager mov r1, #2 ldr r0, [r0] mov r2, #1 @@ -7607,7 +7607,7 @@ func_ov39_021825e8: ; 0x021825e8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov39_021825e8 -_02182670: .word data_027e0e60 +_02182670: .word gMapManager .global func_ov39_02182674 arm_func_start func_ov39_02182674 diff --git a/asm/ov40.inc b/asm/ov40.inc index 506138a7..6bf49085 100644 --- a/asm/ov40.inc +++ b/asm/ov40.inc @@ -89,7 +89,7 @@ .extern data_027e0de4 .extern data_027e0e2c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f78 diff --git a/asm/ov40.s b/asm/ov40.s index f27ddffc..324d5c94 100644 --- a/asm/ov40.s +++ b/asm/ov40.s @@ -4789,7 +4789,7 @@ func_ov40_0217fa44: ; 0x0217fa44 bne _0217fb0c strb r1, [r5, #0xd6] strb r1, [r5, #0xd7] - ldr r0, _0217fbb4 ; =data_027e0e60 + ldr r0, _0217fbb4 ; =gMapManager add r1, sp, #0x70 ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -4849,7 +4849,7 @@ _0217fb0c: ldr r1, [r5, #0xdc] cmp r1, r0 bne _0217fb98 - ldr r0, _0217fbb4 ; =data_027e0e60 + ldr r0, _0217fbb4 ; =gMapManager add r1, sp, #0x38 ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -4878,7 +4878,7 @@ _0217fb98: .align 2, 0 arm_func_end func_ov40_0217fa44 _0217fbb0: .word 0x444d4348 -_0217fbb4: .word data_027e0e60 +_0217fbb4: .word gMapManager _0217fbb8: .word 0x444d5452 _0217fbbc: .word 0x444d4b53 _0217fbc0: .word 0x444d5350 @@ -8485,7 +8485,7 @@ func_ov40_02182694: ; 0x02182694 mov r3, #0x47 sub r2, r3, #0x49 mov r1, #0xff - ldr r0, _021827ac ; =data_027e0e60 + ldr r0, _021827ac ; =gMapManager str r2, [sp, #0xc] str r3, [sp] str r4, [sp, #4] @@ -8512,7 +8512,7 @@ _02182798: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov40_02182694 -_021827ac: .word data_027e0e60 +_021827ac: .word gMapManager .global func_ov40_021827b0 arm_func_start func_ov40_021827b0 @@ -11718,7 +11718,7 @@ func_ov40_02184fb4: ; 0x02184fb4 str r0, [r4, #0x84] str r0, [r4, #0x88] ldr r1, [r4, #0x7c] - ldr r0, _02185028 ; =data_027e0e60 + ldr r0, _02185028 ; =gMapManager str r1, [r4, #0x8c] ldr r2, [r4, #0x80] add r1, sp, #0xc @@ -11740,7 +11740,7 @@ func_ov40_02184fb4: ; 0x02184fb4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov40_02184fb4 -_02185028: .word data_027e0e60 +_02185028: .word gMapManager .global func_ov40_0218502c arm_func_start func_ov40_0218502c @@ -12505,7 +12505,7 @@ func_ov40_02185878: ; 0x02185878 beq _02185b10 b _02185b38 _021858c8: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020846a4Ev sub r0, r0, #0xd @@ -12518,7 +12518,7 @@ _021858e4: ; jump table b _02185994 ; case 2 b _02185994 ; case 3 _021858f4: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0xd @@ -12542,52 +12542,52 @@ _02185924: ; jump table b _0218594c ; case 8 b _02185964 ; case 9 _0218594c: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0x2b bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185964: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0x2c bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _0218597c: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0x1d bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185994: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0xf bl _ZN10MapManager18func_ov00_02082650Eiii - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #4 bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _021859c0: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #6 bl _ZN10MapManager18func_ov00_02082650Eiii - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #4 bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _021859ec: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020846a4Ev sub r0, r0, #0xd @@ -12600,7 +12600,7 @@ _02185a08: ; jump table b _02185ab8 ; case 2 b _02185ab8 ; case 3 _02185a18: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0xe @@ -12624,57 +12624,57 @@ _02185a48: ; jump table b _02185a70 ; case 8 b _02185a88 ; case 9 _02185a70: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0x25 bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185a88: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0x2d bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185aa0: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0x25 bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185ab8: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0x10 bl _ZN10MapManager18func_ov00_02082650Eiii - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #2 bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185ae4: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #2 bl _ZN10MapManager18func_ov00_02082650Eiii - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #2 bl _ZN10MapManager18func_ov00_02082660Eii b _02185b38 _02185b10: - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020846a4Ev cmp r0, #0xe bne _02185b38 - ldr r0, _02185b40 ; =data_027e0e60 + ldr r0, _02185b40 ; =gMapManager mov r2, r5 ldr r0, [r0] mov r1, #0xe @@ -12684,7 +12684,7 @@ _02185b38: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov40_02185878 -_02185b40: .word data_027e0e60 +_02185b40: .word gMapManager _02185b44: .word gAdventureFlags .global func_ov40_02185b48 diff --git a/asm/ov41.inc b/asm/ov41.inc index ac3991a3..c4f6c7ce 100644 --- a/asm/ov41.inc +++ b/asm/ov41.inc @@ -79,7 +79,7 @@ .extern data_027e0d04 .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f68 .extern data_027e0f6c .extern data_027e0f78 diff --git a/asm/ov41.s b/asm/ov41.s index afa97125..d4fa1d52 100644 --- a/asm/ov41.s +++ b/asm/ov41.s @@ -3833,7 +3833,7 @@ _0218c668: str r1, [sp, #0x24] str r0, [sp, #0x1c] _0218c680: - ldr r1, _0218c71c ; =data_027e0e60 + ldr r1, _0218c71c ; =gMapManager add r0, sp, #4 ldr r1, [r1] add r2, sp, #0x1c @@ -3862,7 +3862,7 @@ _0218c6cc: blo _0218c6cc add r1, sp, #8 str r1, [sp] - ldr r0, _0218c71c ; =data_027e0e60 + ldr r0, _0218c71c ; =gMapManager add r2, sp, #4 ldr r0, [r0] mov r1, #2 @@ -3876,7 +3876,7 @@ _0218c6cc: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov41_0218c5e0 -_0218c71c: .word data_027e0e60 +_0218c71c: .word gMapManager .global func_ov41_0218c720 arm_func_start func_ov41_0218c720 @@ -4010,7 +4010,7 @@ func_ov41_0218c834: ; 0x0218c834 add r1, r1, #0x400 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef - ldr r1, _0218cbec ; =data_027e0e60 + ldr r1, _0218cbec ; =gMapManager mov r4, r0 ldr r0, [r1] mov r1, r5 @@ -4222,7 +4222,7 @@ _0218cbdc: .word data_027e0f68 _0218cbe0: .word gAdventureFlags _0218cbe4: .word data_027e0fc8 _0218cbe8: .word data_027e0fe4 -_0218cbec: .word data_027e0e60 +_0218cbec: .word gMapManager _0218cbf0: .word data_02050f54 _0218cbf4: .word 0x4b4f4b4f @@ -4742,7 +4742,7 @@ func_ov41_0218d210: ; 0x0218d210 ldr r3, [sp, #0xc] ldr r2, [sp, #0x10] ldr r1, [sp, #0x14] - ldr r0, _0218d31c ; =data_027e0e60 + ldr r0, _0218d31c ; =gMapManager str r2, [sp, #4] str r3, [sp] str r1, [sp, #8] @@ -4781,7 +4781,7 @@ _0218d2fc: _0218d310: .word data_027e0f94 _0218d314: .word data_027e0f90 _0218d318: .word data_027e0fac -_0218d31c: .word data_027e0e60 +_0218d31c: .word gMapManager _0218d320: .word 0xffff8001 .global func_ov41_0218d324 @@ -4921,7 +4921,7 @@ _0218d438: ldr r0, [r0] bl func_ov00_020c47cc ldr r1, [r0, #4] - ldr r3, _0218d618 ; =data_027e0e60 + ldr r3, _0218d618 ; =gMapManager str r1, [r4, #0x48] ldr r2, [r0, #8] add r1, sp, #0 @@ -5006,7 +5006,7 @@ _0218d608: arm_func_end func_ov41_0218d3e0 _0218d610: .word data_ov00_020e8398 _0218d614: .word data_027e0ff0 -_0218d618: .word data_027e0e60 +_0218d618: .word gMapManager .global func_ov41_0218d61c arm_func_start func_ov41_0218d61c @@ -5134,7 +5134,7 @@ _0218d790: b _0218d970 _0218d7c0: ldr r1, [r4, #0x48] - ldr r0, _0218d97c ; =data_027e0e60 + ldr r0, _0218d97c ; =gMapManager str r1, [sp, #4] ldr r1, [r4, #0x4c] ldr r0, [r0] @@ -5253,7 +5253,7 @@ _0218d970: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov41_0218d668 -_0218d97c: .word data_027e0e60 +_0218d97c: .word gMapManager _0218d980: .word data_027e0ffc _0218d984: .word 0x00000309 _0218d988: .word data_027e103c diff --git a/asm/ov42.inc b/asm/ov42.inc index 73871b88..63708d77 100644 --- a/asm/ov42.inc +++ b/asm/ov42.inc @@ -62,7 +62,7 @@ .extern data_027e0d44 .extern data_027e0de4 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f78 .extern data_027e0f94 diff --git a/asm/ov42.s b/asm/ov42.s index f7fa334e..ff2f3570 100644 --- a/asm/ov42.s +++ b/asm/ov42.s @@ -293,7 +293,7 @@ _02189894: strh r1, [r0, #0x18] cmp r3, #2 blo _02189894 - ldr r0, _02189af4 ; =data_027e0e60 + ldr r0, _02189af4 ; =gMapManager add r2, sp, #0x48 ldr r0, [r0] mov r1, #0x42 @@ -308,7 +308,7 @@ _02189894: mov r3, r2 bl func_ov00_02087400 _021898e0: - ldr r0, _02189af4 ; =data_027e0e60 + ldr r0, _02189af4 ; =gMapManager add r2, sp, #0x64 ldr r0, [r0] mov r1, #0x43 @@ -447,7 +447,7 @@ _02189a74: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov42_02189834 -_02189af4: .word data_027e0e60 +_02189af4: .word gMapManager _02189af8: .word data_027e0f64 _02189afc: .word gItemManager _02189b00: .word data_027e0fc8 diff --git a/asm/ov43.inc b/asm/ov43.inc index 2cada26d..7b5ae442 100644 --- a/asm/ov43.inc +++ b/asm/ov43.inc @@ -62,7 +62,7 @@ .extern data_027e0c68 .extern data_027e0d0c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f90 diff --git a/asm/ov43.s b/asm/ov43.s index b3380421..0539e50f 100644 --- a/asm/ov43.s +++ b/asm/ov43.s @@ -2995,7 +2995,7 @@ _0218bcfc: str r0, [r4, #0x3d4] b _0218c970 _0218bd3c: - ldr r0, _0218c98c ; =data_027e0e60 + ldr r0, _0218c98c ; =gMapManager ldrh r1, [r4, #0x26] ldr r0, [r0] mov r2, #0 @@ -3811,7 +3811,7 @@ _0218c920: ldrh r0, [r4, #0x20] cmp r0, #5 bne _0218c950 - ldr r0, _0218c98c ; =data_027e0e60 + ldr r0, _0218c98c ; =gMapManager ldrh r1, [r4, #0x26] ldr r0, [r0] mov r2, #0 @@ -3839,7 +3839,7 @@ _0218c97c: .word data_027e0fe4 _0218c980: .word 0x0000ffff _0218c984: .word data_027e0fe8 _0218c988: .word 0x50425a4b -_0218c98c: .word data_027e0e60 +_0218c98c: .word gMapManager _0218c990: .word data_027e0d0c _0218c994: .word data_027e0c68 _0218c998: .word 0x00690330 @@ -4213,7 +4213,7 @@ _0218ceac: ldrb r2, [r10, #0x3e6] cmp r2, #0 beq _0218cf04 - ldr r0, _0218cf8c ; =data_027e0e60 + ldr r0, _0218cf8c ; =gMapManager str r11, [sp, #0xc] str r4, [sp, #0x10] str r5, [sp, #0x14] @@ -4230,7 +4230,7 @@ _0218ceac: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0218cf04: - ldr r2, _0218cf8c ; =data_027e0e60 + ldr r2, _0218cf8c ; =gMapManager str r0, [sp] ldr r0, [r2] str r3, [sp, #8] @@ -4269,7 +4269,7 @@ _0218cf78: arm_func_end func_ov43_0218cd7c _0218cf84: .word data_027e0fc8 _0218cf88: .word data_027e0f94 -_0218cf8c: .word data_027e0e60 +_0218cf8c: .word gMapManager .global func_ov43_0218cf90 arm_func_start func_ov43_0218cf90 diff --git a/asm/ov44.inc b/asm/ov44.inc index 1f952648..080ba9c4 100644 --- a/asm/ov44.inc +++ b/asm/ov44.inc @@ -68,7 +68,7 @@ .extern data_027e0194 .extern data_027e0764 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f94 .extern data_027e0fe0 .extern data_027e0fe4 diff --git a/asm/ov44.s b/asm/ov44.s index 9bcdc00f..1157f439 100644 --- a/asm/ov44.s +++ b/asm/ov44.s @@ -6537,7 +6537,7 @@ _0218e49c: .word 0xfffff852 func_ov44_0218e4a0: ; 0x0218e4a0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x4c - ldr r1, _0218e588 ; =data_027e0e60 + ldr r1, _0218e588 ; =gMapManager mov r4, r0 ldr r5, [r1] add r0, sp, #0 @@ -6596,7 +6596,7 @@ _0218e4ec: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov44_0218e4a0 -_0218e588: .word data_027e0e60 +_0218e588: .word gMapManager _0218e58c: .word _ZTV11FilterActor _0218e590: .word 0x5053424c _0218e594: .word data_027e0fe4 diff --git a/asm/ov46.inc b/asm/ov46.inc index f37cdc73..1b7585b9 100644 --- a/asm/ov46.inc +++ b/asm/ov46.inc @@ -69,7 +69,7 @@ .extern data_027e0d38 .extern data_027e0dbc .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f6c .extern data_027e0f94 .extern data_027e0fc8 diff --git a/asm/ov46.s b/asm/ov46.s index 98ddf8c9..832bdb2e 100644 --- a/asm/ov46.s +++ b/asm/ov46.s @@ -27,7 +27,7 @@ _02190070: .word 0x000004dc func_ov46_02190074: ; 0x02190074 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x14 - ldr r1, _021901cc ; =data_027e0e60 + ldr r1, _021901cc ; =gMapManager mov r6, r0 ldr r5, [r1] add r0, sp, #0 @@ -129,7 +129,7 @@ _021901b4: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov46_02190074 -_021901cc: .word data_027e0e60 +_021901cc: .word gMapManager _021901d0: .word 0x0000036d _021901d4: .word 0x0000036e _021901d8: .word 0x0000036f @@ -750,7 +750,7 @@ _021909a8: .word 0x000004d8 func_ov46_021909ac: ; 0x021909ac stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x14 - ldr r1, _02190b04 ; =data_027e0e60 + ldr r1, _02190b04 ; =gMapManager mov r6, r0 ldr r5, [r1] add r0, sp, #0 @@ -852,7 +852,7 @@ _02190aec: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov46_021909ac -_02190b04: .word data_027e0e60 +_02190b04: .word gMapManager _02190b08: .word 0x0000036d _02190b0c: .word 0x0000036e _02190b10: .word 0x0000036f diff --git a/asm/ov47.inc b/asm/ov47.inc index 66cd2b79..5fff50a1 100644 --- a/asm/ov47.inc +++ b/asm/ov47.inc @@ -6,7 +6,7 @@ .extern data_02050f54 .extern data_027e0764 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f6c .extern data_027e0f90 .extern data_027e0f94 diff --git a/asm/ov47.s b/asm/ov47.s index c2aa8c03..3e0b40d6 100644 --- a/asm/ov47.s +++ b/asm/ov47.s @@ -1181,7 +1181,7 @@ _02190fdc: str r1, [sp] cmp r0, #0 beq _02191060 - ldr r0, _021910ec ; =data_027e0e60 + ldr r0, _021910ec ; =gMapManager add r1, r5, #0x108 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -1235,7 +1235,7 @@ _021910cc: arm_func_end func_ov47_02190f58 _021910e4: .word data_027e0ffc _021910e8: .word 0x00000397 -_021910ec: .word data_027e0e60 +_021910ec: .word gMapManager _021910f0: .word data_027e0f6c _021910f4: .word data_ov00_020eec9c _021910f8: .word 0x00000393 @@ -1596,7 +1596,7 @@ _02191578: add r1, r4, #0x21c bl func_ov00_020cb140 ldr r1, [r4, #0x14] - ldr r0, _021916c8 ; =data_027e0e60 + ldr r0, _021916c8 ; =gMapManager str r1, [r4, #0x338] ldr r2, [r4, #0x18] add r1, sp, #0 @@ -1668,7 +1668,7 @@ _021916b8: .align 2, 0 arm_func_end func_ov47_02191548 _021916c4: .word data_ov47_021946d8 -_021916c8: .word data_027e0e60 +_021916c8: .word gMapManager .global func_ov47_021916cc arm_func_start func_ov47_021916cc @@ -2795,7 +2795,7 @@ _02192408: mov r4, #4 str r1, [sp, #0x34] ldr r1, [r6, #0x54] - ldr r3, _02192f7c ; =data_027e0e60 + ldr r3, _02192f7c ; =gMapManager str r1, [sp, #0x20] ldr r2, [r6, #0x58] add r1, sp, #0xe8 @@ -2888,7 +2888,7 @@ _021925ec: cmp r0, #1 bne _02192ecc _0219260c: - ldr r0, _02192f7c ; =data_027e0e60 + ldr r0, _02192f7c ; =gMapManager ldrh r1, [r6, #0x22] ldr r0, [r0] mov r2, #0 @@ -3487,7 +3487,7 @@ _02192e70: bl func_ov47_02191a1c cmp r0, #0 beq _02192eb4 - ldr r0, _02192f7c ; =data_027e0e60 + ldr r0, _02192f7c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084740Ev mov r1, r0 @@ -3508,7 +3508,7 @@ _02192ecc: cmpne r0, #2 cmpne r0, #6 bne _02192f68 - ldr r0, _02192f7c ; =data_027e0e60 + ldr r0, _02192f7c ; =gMapManager ldr r4, [r6, #0x48] ldr r8, [r0] ldr r3, [r6, #0x4c] @@ -3550,7 +3550,7 @@ _02192f68: arm_func_end func_ov47_02192350 _02192f74: .word 0x55555556 _02192f78: .word 0x0000ffff -_02192f7c: .word data_027e0e60 +_02192f7c: .word gMapManager _02192f80: .word data_ov00_020eec68 _02192f84: .word 0x0000019a _02192f88: .word data_027e0764 @@ -4701,7 +4701,7 @@ func_ov47_02193e80: ; 0x02193e80 add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02193f40 ; =data_027e0e60 + ldr r0, _02193f40 ; =gMapManager ldr lr, [sp, #0x14] ldr ip, [sp, #0x18] ldr r3, [sp, #0x1c] @@ -4744,7 +4744,7 @@ _02193f20: ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov47_02193e80 -_02193f40: .word data_027e0e60 +_02193f40: .word gMapManager _02193f44: .word func_ov47_02193e68 _02193f48: .word data_027e0e58 _02193f4c: .word func_ov47_02193e18 diff --git a/asm/ov48.inc b/asm/ov48.inc index 597d90be..509ffce0 100644 --- a/asm/ov48.inc +++ b/asm/ov48.inc @@ -73,7 +73,7 @@ .extern data_027e0d38 .extern data_027e0e58 .extern data_027e0e5c -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f90 .extern data_027e0f94 .extern data_027e0fac diff --git a/asm/ov48.s b/asm/ov48.s index d1f2425c..e0ffa4b0 100644 --- a/asm/ov48.s +++ b/asm/ov48.s @@ -2035,7 +2035,7 @@ _021917c4: ldr r0, _02191c1c ; =data_ov48_02195468 add r1, sp, #0xb4 str r0, [sp, #0xc] - ldr r0, _02191c30 ; =data_027e0e60 + ldr r0, _02191c30 ; =gMapManager str r6, [sp, #0x10] ldr r0, [r0] add r2, sp, #0x20 @@ -2296,7 +2296,7 @@ _02191c20: .word func_ov48_02191c60 _02191c24: .word data_ov48_0219545c _02191c28: .word 0x0000ffff _02191c2c: .word 0x00000333 -_02191c30: .word data_027e0e60 +_02191c30: .word gMapManager _02191c34: .word gItemManager _02191c38: .word data_027e0f90 _02191c3c: .word data_027e0fac diff --git a/asm/ov49.inc b/asm/ov49.inc index 25cf5249..5d574b61 100644 --- a/asm/ov49.inc +++ b/asm/ov49.inc @@ -76,7 +76,7 @@ .extern data_02052f54 .extern data_027e0764 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f90 .extern data_027e0f94 diff --git a/asm/ov49.s b/asm/ov49.s index 60b0c659..88f35b27 100644 --- a/asm/ov49.s +++ b/asm/ov49.s @@ -454,7 +454,7 @@ func_ov49_02195930: ; 0x02195930 mov r2, #0 str r0, [r4, #0x570] ldr r1, [sp, #0x20] - ldr r0, _02195b78 ; =data_027e0e60 + ldr r0, _02195b78 ; =gMapManager str r1, [r4, #0x574] ldr r3, [sp, #0x24] add r1, r4, #0x168 @@ -477,7 +477,7 @@ _02195b68: .word data_ov49_021986e8 _02195b6c: .word data_ov00_020e2f04 _02195b70: .word data_ov00_020e2dd8 _02195b74: .word 0xfffff666 -_02195b78: .word data_027e0e60 +_02195b78: .word gMapManager .global func_ov49_02195b7c arm_func_start func_ov49_02195b7c @@ -495,7 +495,7 @@ func_ov49_02195b7c: ; 0x02195b7c func_ov49_02195b94: ; 0x02195b94 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x38 - ldr r2, _02195cb4 ; =data_027e0e60 + ldr r2, _02195cb4 ; =gMapManager mov r4, r0 add r1, r4, #0x168 ldr r0, [r2] @@ -572,7 +572,7 @@ _02195c84: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov49_02195b94 -_02195cb4: .word data_027e0e60 +_02195cb4: .word gMapManager _02195cb8: .word data_027e0fe8 _02195cbc: .word 0x4e534844 @@ -2528,7 +2528,7 @@ func_ov49_021976bc: ; 0x021976bc b _021977b8 _02197764: ldr r1, [r4, #0x48] - ldr r0, _021977d0 ; =data_027e0e60 + ldr r0, _021977d0 ; =gMapManager str r1, [r4, #0x15c] ldr r2, [r4, #0x4c] add r1, sp, #0 @@ -2557,7 +2557,7 @@ _021977b8: .align 2, 0 arm_func_end func_ov49_021976bc _021977cc: .word 0x000005f3 -_021977d0: .word data_027e0e60 +_021977d0: .word gMapManager .global func_ov49_021977d4 arm_func_start func_ov49_021977d4 @@ -2652,7 +2652,7 @@ _021978a8: cmp r0, #0 beq _021979e0 ldr r1, [r5, #0x48] - ldr r0, _02197b10 ; =data_027e0e60 + ldr r0, _02197b10 ; =gMapManager str r1, [sp, #4] ldr r2, [r5, #0x4c] ldr r1, [r0] @@ -2805,7 +2805,7 @@ _02197b08: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov49_02197860 -_02197b10: .word data_027e0e60 +_02197b10: .word gMapManager _02197b14: .word data_027e0ffc _02197b18: .word 0x000001ab _02197b1c: .word 0xfffffe66 @@ -3316,7 +3316,7 @@ _02198160: .word 0x0000048e .global func_ov49_02198164 arm_func_start func_ov49_02198164 func_ov49_02198164: ; 0x02198164 - ldr r2, _0219817c ; =data_027e0e60 + ldr r2, _0219817c ; =gMapManager ldr ip, _02198180 ; =_ZN10MapManager18func_ov00_020836dcEii ldrb r1, [r0, #0x15c] ldr r0, [r2] @@ -3324,7 +3324,7 @@ func_ov49_02198164: ; 0x02198164 bx ip .align 2, 0 arm_func_end func_ov49_02198164 -_0219817c: .word data_027e0e60 +_0219817c: .word gMapManager _02198180: .word _ZN10MapManager18func_ov00_020836dcEii .global func_ov49_02198184 diff --git a/asm/ov50.inc b/asm/ov50.inc index f33f91cf..39f3d162 100644 --- a/asm/ov50.inc +++ b/asm/ov50.inc @@ -77,7 +77,7 @@ .extern data_027e0194 .extern data_027e0764 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f90 diff --git a/asm/ov50.s b/asm/ov50.s index e7a20a55..af947e52 100644 --- a/asm/ov50.s +++ b/asm/ov50.s @@ -396,7 +396,7 @@ _02195a34: str r1, [sp, #0x1c] cmp r0, #0 beq _02195a84 - ldr r0, _02195cac ; =data_027e0e60 + ldr r0, _02195cac ; =gMapManager add r1, r6, #0x108 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -563,7 +563,7 @@ _02195c90: .align 2, 0 arm_func_end func_ov50_02195950 _02195ca8: .word data_ov50_021989d0 -_02195cac: .word data_027e0e60 +_02195cac: .word gMapManager _02195cb0: .word data_027e0f6c _02195cb4: .word data_027e0e58 _02195cb8: .word 0x000001a5 @@ -920,7 +920,7 @@ _02196168: ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _02196184: ldr r1, [r5, #0x48] - ldr r0, _021963e4 ; =data_027e0e60 + ldr r0, _021963e4 ; =gMapManager str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -1084,7 +1084,7 @@ _021963d4: arm_func_end func_ov50_021960c8 _021963dc: .word data_027e0ffc _021963e0: .word 0x00000396 -_021963e4: .word data_027e0e60 +_021963e4: .word gMapManager _021963e8: .word data_027e0fc8 _021963ec: .word gAdventureFlags @@ -1341,13 +1341,13 @@ func_ov50_02196698: ; 0x02196698 str r3, [sp, #0x10] str ip, [sp, #0x14] bl func_01ff9bc4 - ldr r1, _0219683c ; =data_027e0e60 + ldr r1, _0219683c ; =gMapManager add r0, sp, #8 ldr r1, [r1] add r2, r4, #0x48 bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r1, [sp, #8] - ldr r0, _0219683c ; =data_027e0e60 + ldr r0, _0219683c ; =gMapManager ldrb r2, [sp, #9] sub r3, r1, #1 ldr r0, [r0] @@ -1361,7 +1361,7 @@ func_ov50_02196698: ; 0x02196698 subeq r0, r0, #0x800 streq r0, [sp, #0x48] add r3, r1, #1 - ldr r0, _0219683c ; =data_027e0e60 + ldr r0, _0219683c ; =gMapManager ldrb r2, [sp, #9] ldr r0, [r0] add r1, sp, #4 @@ -1374,7 +1374,7 @@ func_ov50_02196698: ; 0x02196698 addeq r0, r0, #0x800 streq r0, [sp, #0x3c] sub r2, r1, #1 - ldr r0, _0219683c ; =data_027e0e60 + ldr r0, _0219683c ; =gMapManager ldrb r3, [sp, #8] ldr r0, [r0] add r1, sp, #2 @@ -1387,7 +1387,7 @@ func_ov50_02196698: ; 0x02196698 subeq r0, r0, #0x800 streq r0, [sp, #0x50] add r2, r1, #1 - ldr r0, _0219683c ; =data_027e0e60 + ldr r0, _0219683c ; =gMapManager ldrb r3, [sp, #8] ldr r0, [r0] add r1, sp, #0 @@ -1415,7 +1415,7 @@ func_ov50_02196698: ; 0x02196698 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov50_02196698 -_0219683c: .word data_027e0e60 +_0219683c: .word gMapManager .global func_ov50_02196840 arm_func_start func_ov50_02196840 @@ -3024,7 +3024,7 @@ func_ov50_02197d04: ; 0x02197d04 strb r2, [sp] strb r2, [sp, #1] bl func_ov00_020c5374 - ldr r0, _02197dc0 ; =data_027e0e60 + ldr r0, _02197dc0 ; =gMapManager add r1, sp, #0 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -3059,7 +3059,7 @@ _02197da0: ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov50_02197d04 -_02197dc0: .word data_027e0e60 +_02197dc0: .word gMapManager .global func_ov50_02197dc4 arm_func_start func_ov50_02197dc4 diff --git a/asm/ov51.inc b/asm/ov51.inc index 52c2e0b7..61aea627 100644 --- a/asm/ov51.inc +++ b/asm/ov51.inc @@ -5,7 +5,7 @@ .extern data_02050f54 .extern data_027e0764 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f6c .extern data_027e0f90 .extern data_027e0f94 diff --git a/asm/ov51.s b/asm/ov51.s index b6995fb9..c620ed3a 100644 --- a/asm/ov51.s +++ b/asm/ov51.s @@ -692,7 +692,7 @@ _02195db4: add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02195e9c ; =data_027e0e60 + ldr r0, _02195e9c ; =gMapManager ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] @@ -751,7 +751,7 @@ _02195e80: .align 2, 0 arm_func_end func_ov51_02195c80 _02195e98: .word data_027e0fe4 -_02195e9c: .word data_027e0e60 +_02195e9c: .word gMapManager .global func_ov51_02195ea0 arm_func_start func_ov51_02195ea0 @@ -1993,7 +1993,7 @@ func_ov51_02196e18: ; 0x02196e18 ldmia r1, {r0, r1, r2} mov r9, #0 stmia r8, {r0, r1, r2} - ldr r4, _02196f04 ; =data_027e0e60 + ldr r4, _02196f04 ; =gMapManager mov r5, r9 mov r7, #0xa000 mov r6, #0x800 @@ -2048,7 +2048,7 @@ _02196ee0: .align 2, 0 arm_func_end func_ov51_02196e18 _02196f00: .word data_027e0f94 -_02196f04: .word data_027e0e60 +_02196f04: .word gMapManager .global func_ov51_02196f08 arm_func_start func_ov51_02196f08 @@ -2542,7 +2542,7 @@ _02197588: add r1, r4, #0x100 ldrsh ip, [r1, #0xd0] ldrsh r3, [r1, #0xd2] - ldr r2, _02197634 ; =data_027e0e60 + ldr r2, _02197634 ; =gMapManager add r0, sp, #0xc add r3, ip, r3 strh r3, [r1, #0xd0] @@ -2584,7 +2584,7 @@ _02197588: arm_func_end func_ov51_02197314 _0219762c: .word 0x0000099a _02197630: .word data_ov51_02198280 -_02197634: .word data_027e0e60 +_02197634: .word gMapManager _02197638: .word 0x000007ae _0219763c: .word data_027e0ff8 diff --git a/asm/ov52.inc b/asm/ov52.inc index d0373366..31f5743a 100644 --- a/asm/ov52.inc +++ b/asm/ov52.inc @@ -73,7 +73,7 @@ .extern data_027e0ce0 .extern data_027e0d3c .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f68 .extern data_027e0f78 .extern data_027e0fa0 diff --git a/asm/ov52.s b/asm/ov52.s index 96528400..70ca8253 100644 --- a/asm/ov52.s +++ b/asm/ov52.s @@ -397,13 +397,13 @@ func_ov52_02195908: ; 0x02195908 mov r2, #1 strb r2, [r4, #0x13] mov r3, #0 - ldr r0, _02195a08 ; =data_027e0e60 + ldr r0, _02195a08 ; =gMapManager strb r3, [r4, #0xc] ldr r0, [r0] mov r1, #0x1e bl _ZN10MapManager18func_ov00_02084b38Eiii mov r1, #0 - ldr r0, _02195a08 ; =data_027e0e60 + ldr r0, _02195a08 ; =gMapManager str r1, [sp, #4] str r1, [sp, #8] strh r1, [sp, #0x10] @@ -424,7 +424,7 @@ func_ov52_02195908: ; 0x02195908 ldr r2, _02195a10 ; =0x00000004 mov r1, #2 blx _ZN14OverlayManager15LoadIfNotLoadedEjj - ldr r0, _02195a08 ; =data_027e0e60 + ldr r0, _02195a08 ; =gMapManager add r1, sp, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082b3cEi @@ -450,7 +450,7 @@ func_ov52_02195908: ; 0x02195908 .align 2, 0 arm_func_end func_ov52_02195908 _02195a04: .word gAdventureFlags -_02195a08: .word data_027e0e60 +_02195a08: .word gMapManager _02195a0c: .word gOverlayManager _02195a10: .word 0x00000004 _02195a14: .word 0x00000005 @@ -480,7 +480,7 @@ _02195a60: mov r4, #0 strb r4, [r5, #0x13] mov lr, #0x47 - ldr r0, _02195b38 ; =data_027e0e60 + ldr r0, _02195b38 ; =gMapManager sub ip, lr, #0x49 mov r3, #0xff ldr r0, [r0] @@ -500,7 +500,7 @@ _02195a60: ldr r2, _02195b40 ; =0x00000004 mov r1, #2 blx _ZN14OverlayManager15LoadIfNotLoadedEjj - ldr r0, _02195b38 ; =data_027e0e60 + ldr r0, _02195b38 ; =gMapManager add r1, sp, #0 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082b3cEi @@ -533,7 +533,7 @@ _02195a60: .align 2, 0 arm_func_end func_ov52_02195a20 _02195b34: .word data_ov52_02197c40 -_02195b38: .word data_027e0e60 +_02195b38: .word gMapManager _02195b3c: .word gOverlayManager _02195b40: .word 0x00000004 _02195b44: .word 0x00000005 @@ -547,14 +547,14 @@ _02195b58: .word data_027e103c arm_func_start func_ov52_02195b5c func_ov52_02195b5c: ; 0x02195b5c stmdb sp!, {r4, lr} - ldr r1, _02195ba8 ; =data_027e0e60 + ldr r1, _02195ba8 ; =gMapManager mov r4, r0 ldr r0, [r1] mov r1, #0x1f mov r2, #1 mov r3, #0 bl _ZN10MapManager18func_ov00_02084b38Eiii - ldr r0, _02195ba8 ; =data_027e0e60 + ldr r0, _02195ba8 ; =gMapManager mov r1, #0x1e ldr r0, [r0] mov r2, #1 @@ -567,7 +567,7 @@ func_ov52_02195b5c: ; 0x02195b5c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov52_02195b5c -_02195ba8: .word data_027e0e60 +_02195ba8: .word gMapManager _02195bac: .word data_ov09_0211f5b4 .global func_ov52_02195bb0 @@ -594,7 +594,7 @@ _02195be0: ldr r0, _02195d18 ; =data_ov00_020eec9c ldr r1, _02195d1c ; =0x000003fd bl func_ov00_020d77e4 - ldr r0, _02195d20 ; =data_027e0e60 + ldr r0, _02195d20 ; =gMapManager mov r2, #1 ldr r0, [r0] mov r3, r2 @@ -604,7 +604,7 @@ _02195be0: strb r0, [r4, #0xc] b _02195ca4 _02195c20: - ldr r0, _02195d20 ; =data_027e0e60 + ldr r0, _02195d20 ; =gMapManager mov r1, #5 ldr r0, [r0] mov r2, #0 @@ -629,7 +629,7 @@ _02195c5c: bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _02195d20 ; =data_027e0e60 + ldr r0, _02195d20 ; =gMapManager mov r2, #1 ldr r0, [r0] mov r3, r2 @@ -675,7 +675,7 @@ _02195ce8: _02195d14: .word data_ov52_02197c70 _02195d18: .word data_ov00_020eec9c _02195d1c: .word 0x000003fd -_02195d20: .word data_027e0e60 +_02195d20: .word gMapManager _02195d24: .word gAdventureFlags _02195d28: .word data_ov00_020eec68 diff --git a/asm/ov53.inc b/asm/ov53.inc index bdb117c6..58bb5851 100644 --- a/asm/ov53.inc +++ b/asm/ov53.inc @@ -20,7 +20,7 @@ .extern data_02050f54 .extern data_027e0d0c .extern data_027e0de4 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f94 .extern data_027e0fb8 diff --git a/asm/ov53.s b/asm/ov53.s index 442f45b0..61dd8876 100644 --- a/asm/ov53.s +++ b/asm/ov53.s @@ -444,7 +444,7 @@ func_ov53_021991ec: ; 0x021991ec cmp r9, r0 bge _02199280 ldr r8, _02199308 ; =data_ov53_0219a5bc - ldr r4, _0219930c ; =data_027e0e60 + ldr r4, _0219930c ; =gMapManager add r6, sp, #0x20 mov r11, #2 add r7, sp, #4 @@ -514,7 +514,7 @@ _021992ec: arm_func_end func_ov53_021991ec _02199304: .word data_ov53_0219a580 _02199308: .word data_ov53_0219a5bc -_0219930c: .word data_027e0e60 +_0219930c: .word gMapManager _02199310: .word data_ov53_0219a5e4 _02199314: .word data_027e0fe4 @@ -742,7 +742,7 @@ _02199518: str r1, [sp, #0xc] mov r0, #0 str r0, [sp, #0x10] - ldr r0, _021996ec ; =data_027e0e60 + ldr r0, _021996ec ; =gMapManager add r1, sp, #0x60 ldr r0, [r0] add r2, sp, #0x44 @@ -788,7 +788,7 @@ _021996dc: .word 0x0000019f _021996e0: .word 0x0000ffff _021996e4: .word data_ov53_0219a580 _021996e8: .word data_ov53_0219a5bc -_021996ec: .word data_027e0e60 +_021996ec: .word gMapManager _021996f0: .word data_027e0fe4 _021996f4: .word data_ov53_0219a180 _021996f8: .word data_ov53_0219a5e4 @@ -1206,7 +1206,7 @@ func_ov53_02199c48: ; 0x02199c48 mov lr, #0 str r2, [sp, #0x24] ldr r2, [r0, #0x50] - ldr ip, _02199cc4 ; =data_027e0e60 + ldr ip, _02199cc4 ; =gMapManager str r2, [sp, #0x28] ldr r3, [r0, #0x54] add r2, sp, #0x20 @@ -1230,7 +1230,7 @@ func_ov53_02199c48: ; 0x02199c48 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov53_02199c48 -_02199cc4: .word data_027e0e60 +_02199cc4: .word gMapManager .global func_ov53_02199cc8 arm_func_start func_ov53_02199cc8 @@ -1267,7 +1267,7 @@ _02199d28: str r2, [r0, #0x1c] str r2, [r0, #0x18] ldr r1, [r5, #0x48] - ldr r0, _02199f78 ; =data_027e0e60 + ldr r0, _02199f78 ; =gMapManager str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] @@ -1417,7 +1417,7 @@ _02199f68: .word data_ov53_0219a680 _02199f6c: .word data_ov53_0219a15c _02199f70: .word func_ov53_02199f88 _02199f74: .word data_ov53_0219a674 -_02199f78: .word data_027e0e60 +_02199f78: .word gMapManager _02199f7c: .word data_027e0ffc _02199f80: .word 0x0000019d _02199f84: .word 0x00000555 diff --git a/asm/ov54.inc b/asm/ov54.inc index 8a7badbb..c0e3c208 100644 --- a/asm/ov54.inc +++ b/asm/ov54.inc @@ -31,7 +31,7 @@ .extern data_02054654 .extern data_027e0d38 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0fb8 .extern data_027e0fcc .extern data_027e0fd4 diff --git a/asm/ov54.s b/asm/ov54.s index a162d77e..646034ae 100644 --- a/asm/ov54.s +++ b/asm/ov54.s @@ -112,21 +112,21 @@ func_ov54_02198e04: ; 0x02198e04 .global func_ov54_02198e08 arm_func_start func_ov54_02198e08 func_ov54_02198e08: ; 0x02198e08 - ldr r0, _02198e1c ; =data_027e0e60 + ldr r0, _02198e1c ; =gMapManager ldr ip, _02198e20 ; =_ZN10MapManager18func_ov00_02085a34Eii mov r2, #1 ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov54_02198e08 -_02198e1c: .word data_027e0e60 +_02198e1c: .word gMapManager _02198e20: .word _ZN10MapManager18func_ov00_02085a34Eii .global func_ov54_02198e24 arm_func_start func_ov54_02198e24 func_ov54_02198e24: ; 0x02198e24 stmdb sp!, {r3, lr} - ldr r0, _02198e48 ; =data_027e0e60 + ldr r0, _02198e48 ; =gMapManager mov r2, #2 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02085a34Eii @@ -136,7 +136,7 @@ func_ov54_02198e24: ; 0x02198e24 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov54_02198e24 -_02198e48: .word data_027e0e60 +_02198e48: .word gMapManager .global func_ov54_02198e4c arm_func_start func_ov54_02198e4c @@ -228,7 +228,7 @@ func_ov54_02198efc: ; 0x02198efc mov r6, r5 cmp r4, r0 beq _02198fb4 - ldr r1, _02199290 ; =data_027e0e60 + ldr r1, _02199290 ; =gMapManager add r0, sp, #0xc ldr r1, [r1] add r2, r7, #0x38 @@ -315,7 +315,7 @@ _02199050: bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList cmp r0, #0 bgt _021990c4 - ldr r0, _02199290 ; =data_027e0e60 + ldr r0, _02199290 ; =gMapManager add r1, r7, #0x38 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02085594Ev @@ -446,7 +446,7 @@ _02199284: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov54_02198efc -_02199290: .word data_027e0e60 +_02199290: .word gMapManager _02199294: .word 0x00000333 _02199298: .word data_ov54_02199a00 _0219929c: .word data_027e0fe4 @@ -833,7 +833,7 @@ func_ov54_021997f0: ; 0x021997f0 bl _ZN13PlayerControl18func_ov00_020af01cEPc cmp r0, #0 beq _02199898 - ldr r0, _021998d0 ; =data_027e0e60 + ldr r0, _021998d0 ; =gMapManager ldrb r2, [sp] ldrb r1, [sp, #1] ldr r0, [r0] @@ -846,7 +846,7 @@ func_ov54_021997f0: ; 0x021997f0 cmp r4, #0 mov r4, #1 beq _02199884 - ldr r0, _021998d0 ; =data_027e0e60 + ldr r0, _021998d0 ; =gMapManager ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] ldr r2, [sp, #0x18] @@ -881,7 +881,7 @@ _02199898: .align 2, 0 arm_func_end func_ov54_021997f0 _021998cc: .word data_027e0fb8 -_021998d0: .word data_027e0e60 +_021998d0: .word gMapManager .global func_ov54_021998d4 arm_func_start func_ov54_021998d4 diff --git a/asm/ov55.inc b/asm/ov55.inc index 68653625..682fbcf7 100644 --- a/asm/ov55.inc +++ b/asm/ov55.inc @@ -25,7 +25,7 @@ .extern _ZN17LinkStateInteract24SetNormalizedThrowOffsetEP5Vec3p .extern __register_global_object .extern data_027e0c54 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f90 .extern data_027e0fb8 diff --git a/asm/ov55.s b/asm/ov55.s index 2d2dad34..7c50505e 100644 --- a/asm/ov55.s +++ b/asm/ov55.s @@ -585,7 +585,7 @@ func_ov55_021993b8: ; 0x021993b8 mov r5, #0 cmp r0, #0 bne _021994d4 - ldr r0, _02199640 ; =data_027e0e60 + ldr r0, _02199640 ; =gMapManager ldr r9, [sp, #0x1c] ldr r7, [sp, #0x20] ldr r10, [sp, #0x18] @@ -601,7 +601,7 @@ func_ov55_021993b8: ; 0x021993b8 bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p cmp r0, r8 bge _021994cc - ldr r0, _02199640 ; =data_027e0e60 + ldr r0, _02199640 ; =gMapManager ldr r10, [sp, #0x18] ldr r0, [r0] add r3, r7, #0x3000 @@ -710,7 +710,7 @@ _021994d4: arm_func_end func_ov55_021993b8 _02199638: .word data_027e0f64 _0219963c: .word data_027e0c54 -_02199640: .word data_027e0e60 +_02199640: .word gMapManager _02199644: .word 0x0000105b _02199648: .word 0x0000038e _0219964c: .word gAdventureFlags diff --git a/asm/ov57.inc b/asm/ov57.inc index fe983f15..767a9d3c 100644 --- a/asm/ov57.inc +++ b/asm/ov57.inc @@ -30,7 +30,7 @@ .extern data_027e0d0c .extern data_027e0de4 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f94 diff --git a/asm/ov57.s b/asm/ov57.s index 28163870..d0a17125 100644 --- a/asm/ov57.s +++ b/asm/ov57.s @@ -143,7 +143,7 @@ func_ov57_02198e80: ; 0x02198e80 beq _02198f60 b _02198fac _02198ea4: - ldr r0, _02198fb8 ; =data_027e0e60 + ldr r0, _02198fb8 ; =gMapManager add r1, r4, #0x14 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -218,7 +218,7 @@ _02198fac: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov57_02198e80 -_02198fb8: .word data_027e0e60 +_02198fb8: .word gMapManager _02198fbc: .word data_027e0fe4 .global func_ov57_02198fc0 @@ -613,7 +613,7 @@ func_ov57_02199454: ; 0x02199454 beq _02199490 b _021994b0 _02199470: - ldr r0, _021994b8 ; =data_027e0e60 + ldr r0, _021994b8 ; =gMapManager add r1, r1, #0x14 ldr r0, [r0] bl _ZN10MapManager16MapData_vfunc_78Ev @@ -635,7 +635,7 @@ _021994b0: ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov57_02199454 -_021994b8: .word data_027e0e60 +_021994b8: .word gMapManager _021994bc: .word data_027e0fe4 .global func_ov57_021994c0 @@ -760,7 +760,7 @@ _021995fc: mov r1, #0 str r0, [sp, #0xc] str r1, [sp, #0x10] - ldr r0, _021996ac ; =data_027e0e60 + ldr r0, _021996ac ; =gMapManager add r1, sp, #0x48 ldr r0, [r0] add r3, sp, #0x3c @@ -774,7 +774,7 @@ _0219969c: .word 0x0000199a _021996a0: .word 0x0000ffff _021996a4: .word data_ov57_0219ab00 _021996a8: .word data_ov57_0219ab0c -_021996ac: .word data_027e0e60 +_021996ac: .word gMapManager .global func_ov57_021996b0 arm_func_start func_ov57_021996b0 @@ -1189,7 +1189,7 @@ func_ov57_02199c78: ; 0x02199c78 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x20 mov r10, r0 - ldr r11, _02199d4c ; =data_027e0e60 + ldr r11, _02199d4c ; =gMapManager mov r7, r10 add r8, r10, #0x2c add r9, r10, #0x24 @@ -1245,7 +1245,7 @@ _02199d2c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov57_02199c78 -_02199d4c: .word data_027e0e60 +_02199d4c: .word gMapManager _02199d50: .word data_027e0fe4 .global func_ov57_02199d54 @@ -1988,7 +1988,7 @@ func_ov57_0219a6b8: ; 0x0219a6b8 mov ip, #1 str r1, [sp, #0x2c] ldr r2, [r5, #0x50] - ldr r0, _0219a84c ; =data_027e0e60 + ldr r0, _0219a84c ; =gMapManager str r2, [sp, #0x30] ldr r3, [r5, #0x54] add r1, r5, #0xb8 @@ -2066,7 +2066,7 @@ _0219a830: arm_func_end func_ov57_0219a6b8 _0219a844: .word data_027e0ffc _0219a848: .word data_ov57_0219ab1c -_0219a84c: .word data_027e0e60 +_0219a84c: .word gMapManager .global func_ov57_0219a850 arm_func_start func_ov57_0219a850 diff --git a/asm/ov58.inc b/asm/ov58.inc index b1ef0054..470a005b 100644 --- a/asm/ov58.inc +++ b/asm/ov58.inc @@ -20,7 +20,7 @@ .extern data_027e0d3c .extern data_027e0d78 .extern data_027e0de4 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f6c .extern data_027e0f94 .extern data_027e0fb8 diff --git a/asm/ov58.s b/asm/ov58.s index 9b85c9cc..33b2e70a 100644 --- a/asm/ov58.s +++ b/asm/ov58.s @@ -86,7 +86,7 @@ func_ov58_02198d00: ; 0x02198d00 add r1, sp, #8 mov r2, r0 bl func_01ff9bc4 - ldr r1, _02198ef0 ; =data_027e0e60 + ldr r1, _02198ef0 ; =gMapManager add r0, sp, #4 ldr r6, [r1] add r2, sp, #0x14 @@ -97,7 +97,7 @@ func_ov58_02198d00: ; 0x02198d00 bl _ZN10MapManager18func_ov00_020840dcEv cmp r0, #0x46 bne _02198eb4 - ldr r0, _02198ef0 ; =data_027e0e60 + ldr r0, _02198ef0 ; =gMapManager add r1, sp, #0x14 ldr r0, [r0] mov r2, #0 @@ -133,7 +133,7 @@ _02198eb4: _02198ee4: .word func_ov58_02198ef4 _02198ee8: .word func_ov58_02198ef8 _02198eec: .word data_027e0f6c -_02198ef0: .word data_027e0e60 +_02198ef0: .word gMapManager .global func_ov58_02198ef4 arm_func_start func_ov58_02198ef4 @@ -592,7 +592,7 @@ _021992c0: .word data_ov58_0219afc0 arm_func_start func_ov58_021992c4 func_ov58_021992c4: ; 0x021992c4 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _021993e8 ; =data_027e0e60 + ldr r2, _021993e8 ; =gMapManager mov r5, r0 ldr r0, [r2] mov r4, r1 @@ -676,7 +676,7 @@ _021993e0: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov58_021992c4 -_021993e8: .word data_027e0e60 +_021993e8: .word gMapManager _021993ec: .word data_027e0c54 _021993f0: .word data_027e0d38 _021993f4: .word data_027e0fd4 @@ -786,7 +786,7 @@ _021994ba: mov r0, #0 pop {r4, r5, r6, r7, pc} _021994c2: - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager add r1, sp, #0x1bc ldr r0, [r0] blx _ZN10MapManager18func_ov00_0208346cEP4AABB @@ -820,7 +820,7 @@ _021994fa: mov r0, #0 pop {r4, r5, r6, r7, pc} _02199502: - ldr r1, _021997f4 ; =data_027e0e60 + ldr r1, _021997f4 ; =gMapManager add r0, sp, #0x58 ldr r1, [r1] add r0, #2 @@ -835,7 +835,7 @@ _02199502: ldr r0, [r4, #8] mov r2, sp str r0, [sp, #0x1b8] - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager ldrb r6, [r3] ldr r0, [r0] sub r2, r2, #4 @@ -882,7 +882,7 @@ _02199502: mov r0, #0 pop {r4, r5, r6, r7, pc} _02199580: - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager add r3, sp, #0x24 mov r2, sp ldrb r6, [r3, #6] @@ -946,7 +946,7 @@ _021995e2: str r0, [sp, #0x120] ldr r0, [sp, #0x1b8] str r0, [sp, #0x124] - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager ldr r0, [r0] blx _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x1b4] @@ -1030,7 +1030,7 @@ _0219968e: ldr r1, [sp, #0x190] ldr r0, [sp, #0x14] add r0, r0, r1 - ldr r1, _021997f4 ; =data_027e0e60 + ldr r1, _021997f4 ; =gMapManager str r0, [sp, #0x1b8] ldr r1, [r1] add r0, sp, #0x58 @@ -1044,7 +1044,7 @@ _0219968e: mov r3, sp sub r3, r3, #4 strb r0, [r7, #1] - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager ldrb r2, [r7] ldr r0, [r0] add r1, sp, #0x1b0 @@ -1063,7 +1063,7 @@ _0219968e: ldr r0, [sp, #0x1b8] str r1, [sp, #0x108] str r0, [sp, #0x10c] - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager add r1, sp, #0x104 ldr r0, [r0] blx _ZN10MapManager16MapData_vfunc_68Ev @@ -1148,7 +1148,7 @@ _02199750: add r6, r0, #0 _02199796: ldr r2, [r5, #0x18] - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager sub r2, r2, #1 ldr r1, [r5, #0x1c] lsl r2, r2, #1 @@ -1158,7 +1158,7 @@ _02199796: cmp r0, #0x19 bne _021997ec ldr r1, [r5, #0x18] - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager sub r1, r1, #1 ldr r2, [r5, #0x1c] lsl r1, r1, #1 @@ -1174,7 +1174,7 @@ _02199796: ldr r0, [sp, #0x14] add r1, sp, #0xf8 str r0, [sp, #0x100] - ldr r0, _021997f4 ; =data_027e0e60 + ldr r0, _021997f4 ; =gMapManager ldr r0, [r0] blx _ZN10MapManager16MapData_vfunc_68Ev add r6, r0, #0 @@ -1193,7 +1193,7 @@ _021997ec: .align 2, 0 thumb_func_end func_ov58_02199498 _021997f0: .word data_ov58_0219aec0 -_021997f4: .word data_027e0e60 +_021997f4: .word gMapManager _021997f8: .word data_027e0f94 _021997fc: .word 0x00000999 _02199800: .word 0x00001333 @@ -1233,7 +1233,7 @@ _0219983e: ldr r0, [sp, #0x14] add r2, sp, #0x64 str r0, [sp, #0xf4] - ldr r0, _02199b44 ; =data_027e0e60 + ldr r0, _02199b44 ; =gMapManager add r3, sp, #0x17c ldr r0, [r0] str r6, [sp, #0xf0] @@ -1283,7 +1283,7 @@ _02199872: str r0, [sp, #0xc] mov r0, #1 str r0, [sp, #0x10] - ldr r0, _02199b44 ; =data_027e0e60 + ldr r0, _02199b44 ; =gMapManager ldr r0, [r0] blx func_01ffbe78 ldr r1, _02199b4c ; =data_ov58_0219b100 @@ -1311,7 +1311,7 @@ _021998c8: str r1, [sp, #0x1b4] str r0, [sp, #0x1b8] ldr r0, [r5, #0x24] - ldr r1, _02199b44 ; =data_027e0e60 + ldr r1, _02199b44 ; =gMapManager str r0, [sp, #0x1b4] add r0, sp, #0x54 ldr r1, [r1] @@ -1362,7 +1362,7 @@ _02199932: pop {r4, r5, r6, r7, pc} _02199940: ldr r0, [sp, #0x1d4] - ldr r1, _02199b44 ; =data_027e0e60 + ldr r1, _02199b44 ; =gMapManager str r0, [sp, #0x170] ldr r0, [sp, #0x1d8] ldr r1, [r1] @@ -1396,7 +1396,7 @@ _02199940: pop {r4, r5, r6, r7, pc} _02199986: add r7, sp, #0x58 - ldr r0, _02199b44 ; =data_027e0e60 + ldr r0, _02199b44 ; =gMapManager add r7, #2 mov r3, sp ldrb r2, [r7] @@ -1488,7 +1488,7 @@ _02199a30: mov r0, #0 pop {r4, r5, r6, r7, pc} _02199a38: - ldr r1, _02199b44 ; =data_027e0e60 + ldr r1, _02199b44 ; =gMapManager add r0, sp, #0x50 ldr r1, [r1] add r0, #2 @@ -1539,7 +1539,7 @@ _02199a76: str r0, [sp, #0xc] mov r0, #1 str r0, [sp, #0x10] - ldr r0, _02199b44 ; =data_027e0e60 + ldr r0, _02199b44 ; =gMapManager add r3, sp, #0xb0 ldr r0, [r0] blx func_01ffbe78 @@ -1554,7 +1554,7 @@ _02199a76: _02199aba: cmp r0, #0 bne _02199b30 - ldr r1, _02199b44 ; =data_027e0e60 + ldr r1, _02199b44 ; =gMapManager add r0, sp, #0x50 ldr r1, [r1] add r2, sp, #0x170 @@ -1597,7 +1597,7 @@ _02199aba: mov r0, #0 pop {r4, r5, r6, r7, pc} _02199b14: - ldr r0, _02199b44 ; =data_027e0e60 + ldr r0, _02199b44 ; =gMapManager add r7, sp, #0x24 mov r3, sp ldrb r2, [r7, #4] @@ -1616,11 +1616,11 @@ _02199b30: cmp r0, #0 beq _02199bd6 ldr r0, [sp, #0x1d4] - ldr r1, _02199b44 ; =data_027e0e60 + ldr r1, _02199b44 ; =gMapManager b _02199b58 nop _02199b40: .word 0x00000999 -_02199b44: .word data_027e0e60 +_02199b44: .word gMapManager _02199b48: .word 0x0000099a _02199b4c: .word data_ov58_0219b100 _02199b50: .word data_ov58_0219b0f0 @@ -1675,7 +1675,7 @@ _02199b58: mov r0, #0 pop {r4, r5, r6, r7, pc} _02199bba: - ldr r0, _02199ee4 ; =data_027e0e60 + ldr r0, _02199ee4 ; =gMapManager add r7, sp, #0x24 mov r3, sp ldrb r2, [r7, #2] @@ -1700,7 +1700,7 @@ _02199bde: ldr r1, _02199ee8 ; =0x00000999 str r0, [sp, #0x1b0] str r0, [sp, #0xa4] - ldr r0, _02199ee4 ; =data_027e0e60 + ldr r0, _02199ee4 ; =gMapManager add r1, r3, r1 str r3, [sp, #0x1b4] ldr r0, [r0] @@ -1727,7 +1727,7 @@ _02199c18: cmp r0, #0 beq _02199cc8 ldr r0, [sp, #0x1d4] - ldr r1, _02199ee4 ; =data_027e0e60 + ldr r1, _02199ee4 ; =gMapManager str r0, [sp, #0x158] ldr r0, [sp, #0x1d8] ldr r1, [r1] @@ -1775,7 +1775,7 @@ _02199c18: mov r0, #0 pop {r4, r5, r6, r7, pc} _02199c80: - ldr r0, _02199ee4 ; =data_027e0e60 + ldr r0, _02199ee4 ; =gMapManager add r7, sp, #0x24 mov r3, sp ldrb r2, [r7] @@ -1793,7 +1793,7 @@ _02199c80: ldr r1, _02199ee8 ; =0x00000999 str r0, [sp, #0x1b0] str r0, [sp, #0x98] - ldr r0, _02199ee4 ; =data_027e0e60 + ldr r0, _02199ee4 ; =gMapManager add r1, r3, r1 str r3, [sp, #0x1b4] ldr r0, [r0] @@ -1815,7 +1815,7 @@ _02199cc8: mov r0, #0 pop {r4, r5, r6, r7, pc} _02199cd0: - ldr r0, _02199ee4 ; =data_027e0e60 + ldr r0, _02199ee4 ; =gMapManager add r2, sp, #0x1b0 ldr r7, [r0] add r0, sp, #0x48 @@ -1828,7 +1828,7 @@ _02199cd0: blx _ZN10MapManager16MapData_vfunc_54Ev cmp r0, #0x19 bne _02199d0c - ldr r0, _02199ee4 ; =data_027e0e60 + ldr r0, _02199ee4 ; =gMapManager add r2, sp, #0x1b0 ldr r7, [r0] add r0, sp, #0x48 @@ -1850,7 +1850,7 @@ _02199d0c: str r0, [sp, #0x90] ldr r0, [sp, #0x1b8] str r0, [sp, #0x94] - ldr r0, _02199ee4 ; =data_027e0e60 + ldr r0, _02199ee4 ; =gMapManager ldr r0, [r0] blx _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x1b4] @@ -1877,7 +1877,7 @@ _02199d3e: beq _02199d50 mov r6, #0 _02199d50: - ldr r1, _02199ee4 ; =data_027e0e60 + ldr r1, _02199ee4 ; =gMapManager add r0, sp, #0x60 ldr r1, [r1] add r2, r7, #0 @@ -1901,7 +1901,7 @@ _02199d50: ldr r3, [sp, #0x140] str r0, [sp, #0x1b4] str r0, [sp, #0x84] - ldr r0, _02199ee4 ; =data_027e0e60 + ldr r0, _02199ee4 ; =gMapManager str r1, [sp, #0x1b8] str r1, [sp, #0x88] ldr r0, [r0] @@ -1915,7 +1915,7 @@ _02199d50: add r0, r0, r1 str r0, [sp, #0x1b4] ldr r0, [sp, #0x1b0] - ldr r1, _02199ee4 ; =data_027e0e60 + ldr r1, _02199ee4 ; =gMapManager str r0, [r4] ldr r0, [sp, #0x1b4] add r2, sp, #0x1b0 @@ -1983,7 +1983,7 @@ _02199e0c: blx func_ov58_0219a3b4 cmp r0, #0 beq _02199e54 - ldr r1, _02199ee4 ; =data_027e0e60 + ldr r1, _02199ee4 ; =gMapManager add r0, sp, #0x44 ldr r1, [r1] add r2, sp, #0x1b0 @@ -2005,7 +2005,7 @@ _02199e0c: b _02199e8a _02199e54: ldr r0, [sp, #0x1b0] - ldr r1, _02199ee4 ; =data_027e0e60 + ldr r1, _02199ee4 ; =gMapManager str r0, [sp, #0x74] ldr r0, [sp, #0x1b4] ldr r1, [r1] @@ -2077,7 +2077,7 @@ _02199eda: add sp, #0x38 pop {r4, r5, r6, r7, pc} .align 2, 0 -_02199ee4: .word data_027e0e60 +_02199ee4: .word gMapManager _02199ee8: .word 0x00000999 _02199eec: .word 0x00001333 @@ -2087,7 +2087,7 @@ func_ov58_02199ef0: ; 0x02199ef0 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x24 - ldr r0, _02199fd4 ; =data_027e0e60 + ldr r0, _02199fd4 ; =gMapManager ldrb r1, [sp, #0x4c] ldr r0, [r0] sub r3, sp, #4 @@ -2098,7 +2098,7 @@ func_ov58_02199ef0: ; 0x02199ef0 ldr r2, [r3] bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r8, #0 - ldr r4, _02199fd4 ; =data_027e0e60 + ldr r4, _02199fd4 ; =gMapManager mov r9, r8 add r5, sp, #0xc mov r7, r8 @@ -2146,7 +2146,7 @@ _02199fb0: bx lr .align 2, 0 arm_func_end func_ov58_02199ef0 -_02199fd4: .word data_027e0e60 +_02199fd4: .word gMapManager .global func_ov58_02199fd8 arm_func_start func_ov58_02199fd8 @@ -2204,7 +2204,7 @@ func_ov58_0219a084: ; 0x0219a084 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xcc - ldr r0, _0219a3a8 ; =data_027e0e60 + ldr r0, _0219a3a8 ; =gMapManager ldrb r1, [sp, #0xf4] ldr r0, [r0] sub r3, sp, #4 @@ -2215,7 +2215,7 @@ func_ov58_0219a084: ; 0x0219a084 ldr r2, [r3] bl _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi mov r8, #0 - ldr r4, _0219a3a8 ; =data_027e0e60 + ldr r4, _0219a3a8 ; =gMapManager add r10, sp, #0x3c mov r9, r8 mov r7, r8 @@ -2285,7 +2285,7 @@ _0219a0d8: add r1, sp, #0x6c str r0, [sp, #0xc] str r2, [sp, #0x10] - ldr r0, _0219a3a8 ; =data_027e0e60 + ldr r0, _0219a3a8 ; =gMapManager add r2, sp, #0x3c ldr r0, [r0] add r3, sp, #0x54 @@ -2306,7 +2306,7 @@ _0219a0d8: mov r1, #0 str r0, [sp, #0xc] str r1, [sp, #0x10] - ldr r0, _0219a3a8 ; =data_027e0e60 + ldr r0, _0219a3a8 ; =gMapManager add r1, sp, #0x6c ldr r0, [r0] add r2, sp, #0x48 @@ -2328,7 +2328,7 @@ _0219a0d8: mov r1, #0 str r0, [sp, #0xc] str r1, [sp, #0x10] - ldr r0, _0219a3a8 ; =data_027e0e60 + ldr r0, _0219a3a8 ; =gMapManager add r1, sp, #0x6c ldr r0, [r0] add r2, sp, #0x54 @@ -2350,7 +2350,7 @@ _0219a0d8: mov r1, #0 str r0, [sp, #0xc] str r1, [sp, #0x10] - ldr r0, _0219a3a8 ; =data_027e0e60 + ldr r0, _0219a3a8 ; =gMapManager add r1, sp, #0x6c ldr r0, [r0] add r2, sp, #0x60 @@ -2390,7 +2390,7 @@ _0219a338: add sp, sp, #0x10 bx lr _0219a368: - ldr r0, _0219a3a8 ; =data_027e0e60 + ldr r0, _0219a3a8 ; =gMapManager add r1, sp, #0x30 ldr r0, [r0] add r2, sp, #0x14 @@ -2408,7 +2408,7 @@ _0219a368: bx lr .align 2, 0 arm_func_end func_ov58_0219a084 -_0219a3a8: .word data_027e0e60 +_0219a3a8: .word gMapManager _0219a3ac: .word 0x0000ffff _0219a3b0: .word data_ov58_0219b0f0 @@ -2529,7 +2529,7 @@ func_ov58_0219a47c: ; 0x0219a47c add lr, sp, #4 ldmia r0, {r0, r1, r2} stmia lr, {r0, r1, r2} - ldr r3, _0219a5b0 ; =data_027e0e60 + ldr r3, _0219a5b0 ; =gMapManager sub ip, sp, #4 ldr r0, [r3] mov r1, lr @@ -2569,7 +2569,7 @@ _0219a59c: arm_func_end func_ov58_0219a47c _0219a5a8: .word data_027e077c _0219a5ac: .word data_027e103c -_0219a5b0: .word data_027e0e60 +_0219a5b0: .word gMapManager _0219a5b4: .word data_027e0fb8 .global func_ov58_0219a5b8 diff --git a/asm/ov59.inc b/asm/ov59.inc index 3cb7cf4e..b1008d20 100644 --- a/asm/ov59.inc +++ b/asm/ov59.inc @@ -18,7 +18,7 @@ .extern data_02050f54 .extern data_027e0d38 .extern data_027e0e58 -.extern data_027e0e60 +.extern gMapManager .extern data_027e0f94 .extern data_027e0fb8 .extern data_027e0fc8 diff --git a/asm/ov59.s b/asm/ov59.s index 55851799..894f00e9 100644 --- a/asm/ov59.s +++ b/asm/ov59.s @@ -212,7 +212,7 @@ func_ov59_02198f10: ; 0x02198f10 str r0, [sp, #8] ldr r0, [r5, #0x20] cmp r0, #0 - ldr r0, _02198fa4 ; =data_027e0e60 + ldr r0, _02198fa4 ; =gMapManager moveq r2, #1 ldr r0, [r0] bl _ZN10MapManager18func_ov00_020858b0Ev @@ -226,7 +226,7 @@ _02198f88: ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov59_02198f10 -_02198fa4: .word data_027e0e60 +_02198fa4: .word gMapManager .global func_ov59_02198fa8 arm_func_start func_ov59_02198fa8 @@ -749,7 +749,7 @@ _02199620: mov r7, #0 str r0, [r4, #0x50] ldr r0, [r2, #4] - ldr r1, _0219a088 ; =data_027e0e60 + ldr r1, _0219a088 ; =gMapManager add r0, r0, #0x99 add r0, r0, #0x900 str r0, [r4, #0x4c] @@ -971,7 +971,7 @@ _02199968: ldr r0, [sp, #0x5c] orr ip, ip, r6, lsl #20 add r6, r0, ip - ldr r3, _0219a088 ; =data_027e0e60 + ldr r3, _0219a088 ; =gMapManager orr r5, r5, r1, lsl #20 ldr r0, [sp, #0x64] ldr r1, [r3] @@ -1089,7 +1089,7 @@ _02199bcc: bl func_ov00_020ceb24 b _02199fa4 _02199bdc: - ldr r0, _0219a088 ; =data_027e0e60 + ldr r0, _0219a088 ; =gMapManager ldr r6, [sp, #0x5c] ldr r5, [sp, #0x60] ldr r3, [sp, #0x64] @@ -1108,7 +1108,7 @@ _02199bdc: movgt r0, #0 cmp r0, #0 beq _02199f70 - ldr r0, _0219a088 ; =data_027e0e60 + ldr r0, _0219a088 ; =gMapManager ldr r6, [sp, #0x5c] ldr r5, [sp, #0x60] ldr r3, [sp, #0x64] @@ -1408,7 +1408,7 @@ _0219a078: .word data_02050f54 _0219a07c: .word data_027e0e58 _0219a080: .word data_027e0ffc _0219a084: .word 0x0000ffff -_0219a088: .word data_027e0e60 +_0219a088: .word gMapManager _0219a08c: .word 0xfffff999 _0219a090: .word 0x00000666 _0219a094: .word data_027e0fe4 @@ -1543,7 +1543,7 @@ _0219a24c: stmia r6, {r0, r1, r2} ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0219a9fc ; =data_027e0e60 + ldr r0, _0219a9fc ; =gMapManager ldr r4, [r10, #8] ldr r0, [r0] ldr r2, [r10, #0x98] @@ -1618,7 +1618,7 @@ _0219a24c: strh r7, [r0, #0x6e] mov r6, #0 strh r6, [r0, #0x70] - ldr r11, _0219a9fc ; =data_027e0e60 + ldr r11, _0219a9fc ; =gMapManager strb r6, [sp, #0x1ae] strb r6, [sp, #0x1af] strb r6, [sp, #0x1b0] @@ -1832,7 +1832,7 @@ _0219a668: mov r8, r3 ldmia r0, {r0, r1, r2} stmia r8, {r0, r1, r2} - ldr r0, _0219a9fc ; =data_027e0e60 + ldr r0, _0219a9fc ; =gMapManager ldr r8, [r10, #8] ldr r0, [r0] ldr r2, [r10, #0x98] @@ -1967,7 +1967,7 @@ _0219a8c8: mov ip, r3 ldmia r5, {r0, r1, r2} stmia ip, {r0, r1, r2} - ldr r0, _0219a9fc ; =data_027e0e60 + ldr r0, _0219a9fc ; =gMapManager ldr r2, [r10, #8] ldr r0, [r0] ldr ip, [r10, #0x98] @@ -2034,7 +2034,7 @@ _0219a9ec: .word data_ov59_0219b110 _0219a9f0: .word data_027e0f94 _0219a9f4: .word 0x00000666 _0219a9f8: .word data_02050f54 -_0219a9fc: .word data_027e0e60 +_0219a9fc: .word gMapManager _0219aa00: .word 0xfffff99a _0219aa04: .word 0x0000ffff @@ -2203,7 +2203,7 @@ _0219abcc: str r7, [sp, #0x3c] str r8, [sp, #0x40] ldr r1, [r5, #0x98] - ldr r0, _0219af00 ; =data_027e0e60 + ldr r0, _0219af00 ; =gMapManager str r1, [sp] ldr r2, [r5, #8] add r1, sp, #0xc8 @@ -2298,7 +2298,7 @@ _0219ad18: str lr, [sp, #0x18] str r7, [sp, #0x1c] ldr r1, [r5, #0x98] - ldr r0, _0219af00 ; =data_027e0e60 + ldr r0, _0219af00 ; =gMapManager stmia sp, {r1, ip} ldrh r7, [r5, #0x9c] add r1, sp, #0x68 @@ -2375,7 +2375,7 @@ _0219aebc: _0219aef4: .word data_027e0fd4 _0219aef8: .word data_027e0f94 _0219aefc: .word 0x0000ffff -_0219af00: .word data_027e0e60 +_0219af00: .word gMapManager _0219af04: .word data_027e0fb8 _0219af08: .word gItemManager _0219af0c: .word data_ov00_020dc7d0 diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 44defa6f..7acaf4a3 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -6,6 +6,7 @@ #include "Actor/ActorNavi.hpp" #include "Item/Item.hpp" +#include "Map/MapManager.hpp" #include "Player/EquipItem.hpp" #include "System/SysNew.hpp" #include "System/OverlayManager.hpp" diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp index 6e89e980..e246cd34 100644 --- a/include/Map/MapManager.hpp +++ b/include/Map/MapManager.hpp @@ -233,3 +233,5 @@ public: bool func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, u16 param_6, Vec3p *param_7, Vec3p *param_8); bool func_ov00_02086a84(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, s32 param_6, unk32 param_7, Vec3p *param_8, Vec3p *param_9); }; + +extern MapManager *gMapManager; diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 614f9a50..a9c5ae5d 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -235,8 +235,7 @@ 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 void *data_027e0e60; -extern "C" bool func_ov00_020849f8(void *param1); +extern "C" bool _ZN10MapManager18func_ov00_020849f8Ei(void *param1); extern unk32 data_027e0fc8; extern "C" bool func_ov00_020bbd80(unk32 param1, unk32 param2); extern "C" bool _ZNK11ItemManager7HasItemEi(); @@ -254,7 +253,7 @@ ARM bool NONMATCH(ItemManager::func_ov00_020ad790)(unk32 param1) { } ItemFlag equipId = mForcedItem; - bool unk2 = !func_ov00_020849f8(data_027e0e60); + bool unk2 = !gMapManager->func_ov00_020849f8(); if ( mEquippedItem != ItemFlag_None && (unk2 || (u32) mEquippedItem - 9 <= 1) && From bfe10f43d2ccb43e42197a2e11e2159d3f156a6f Mon Sep 17 00:00:00 2001 From: Aetias Date: Mon, 22 Apr 2024 23:41:09 +0200 Subject: [PATCH 17/76] Add `courses.md` --- docs/courses.md | 81 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 docs/courses.md diff --git a/docs/courses.md b/docs/courses.md new file mode 100644 index 00000000..c1fae2b0 --- /dev/null +++ b/docs/courses.md @@ -0,0 +1,81 @@ +# Courses +Courses are collections of maps in the same area. This file documents what is known about courses in the game. +- [List of courses](#list-of-courses) + +## List of courses +This table shows data about all courses. Much of this data can be found in `Map/courselist.clb` in the assets. Feel free to +contribute to this list! + +Index | Name | Type | Internal Name | Description +------|----------------|------|---------------|------ +0 | `sea` | 2 | `*ƒEƒ~` | Sea +1 | `sea_minigame` | 2 | `*ƒ~ƒjƒQ[ƒ€ƒEƒ~` | Sea Minigame +2 | `sea_fishing` | 2 | `*ƒcƒŠ` | Fishing +3 | `sea_salvage` | 2 | `*ƒTƒ‹ƒx[ƒW` | Salvage +4 | `ship` | 0 | `*ƒtƒl` +5 | `ship_terry` | 0 | `*ƒeƒŠ[ƒZƒ“` +6 | `ship_wonder` | 0 | `*ƒtƒVƒMƒtƒl` +7 | `ship_flink` | 0 | `*ƒjƒZƒŠƒ“ƒNƒtƒl` +8 | `ship_fisher` | 0 | `*ƒŠƒ‡ƒEƒVƒtƒl` +9 | `ship_hoho` | 0 | `*ƒz[ƒz[ƒtƒl` +10 | `ship_guard` | 0 | `*ƒPƒCƒrƒCƒ“ƒtƒl` +11 | `isle_main` | 0 | `*ƒƒCƒ“ƒWƒ}` | Mercay Island +12 | `isle_pluck` | 0 | `*ƒ†ƒEƒLƒWƒ}` +13 | `isle_flame` | 0 | `*ƒqƒVƒ}` +14 | `isle_wind` | 0 | `*ƒJƒ[ƒWƒ}` +15 | `isle_water` | 0 | `*ƒRƒIƒŠƒVƒ}` | Isle of Frost +16 | `isle_power` | 0 | `*ƒ`ƒJƒ‰ƒVƒ}` +17 | `isle_wisdom` | 0 | `*ƒ`ƒGƒWƒ}` +18 | `isle_wisdom2` | 0 | `*ƒ`ƒGƒWƒ}2` +19 | `isle_torii` | 0 | `*ƒgƒŠƒCƒVƒ}` +20 | `isle_hidari` | 0 | `*ƒqƒ_ƒŠƒ_ƒCƒVƒ}` +21 | `isle_myou` | 0 | `*ƒ~ƒ‡ƒEƒWƒ}` +22 | `isle_wizard` | 0 | `*ƒZƒ“ƒjƒ“ƒWƒ}` +23 | `isle_shrine` | 0 | `*ƒzƒRƒ‰ƒWƒ}` +24 | `isle_small1` | 0 | `*ƒRƒWƒ}1` +25 | `isle_small2` | 0 | `*ƒRƒWƒ}2` +26 | `isle_small3` | 0 | `*ƒRƒWƒ}3` +27 | `isle_small5` | 0 | `*ƒRƒWƒ}5` +28 | `dngn_flame` | 1 | `*ƒqƒVƒ“ƒfƒ“` +29 | `dngn_wind` | 1 | `*ƒJƒ[ƒVƒ“ƒfƒ“` +30 | `dngn_pluck` | 1 | `*ƒ†ƒEƒLƒVƒ“ƒfƒ“` +31 | `dngn_water` | 1 | `*ƒRƒIƒŠƒVƒ“ƒfƒ“` | Temple of Ice +32 | `dngn_power` | 1 | `*ƒ`ƒJƒ‰ƒVƒ“ƒfƒ“` +33 | `dngn_wisdom` | 1 | `*ƒ`ƒGƒVƒ“ƒfƒ“` +34 | `dngn_wisdom2` | 1 | `*ƒ`ƒGƒVƒ“ƒfƒ“2` +35 | `dngn_wisdom3` | 1 | `*ƒ`ƒGƒVƒ“ƒfƒ“3` +36 | `dngn_wisdom4` | 1 | `*ƒ`ƒGƒVƒ“ƒfƒ“4` +37 | `dngn_main` | 3 | `*ƒƒCƒ“ƒ_ƒ“` | Temple of the Ocean King +38 | `dngn_main_f` | 1 | `*ƒƒCƒ“ƒ[ƒ“ƒVƒc` | Temple of the Ocean King Lobby +39 | `dngn_first` | 1 | `*ƒ`ƒ…[ƒgƒŠƒAƒ‹` | Mountain Passage +40 | `dngn_torii` | 1 | `*ƒgƒŠƒCƒ_ƒ“` +41 | `dngn_ghost` | 1 | `*ƒ†ƒEƒŒƒCƒZƒ“` +42 | `boss_wind` | 1 | `*ƒJƒ[ƒ{ƒX` +43 | `boss_flame` | 1 | `*ƒqƒ{ƒX` +44 | `boss_pluck` | 1 | `*ƒ†ƒEƒLƒ{ƒX` +45 | `boss_water` | 1 | `*ƒRƒIƒŠƒ{ƒX` | Gleeok Boss +46 | `boss_power` | 1 | `*ƒ`ƒJƒ‰ƒ{ƒX` +47 | `boss_wisdom` | 1 | `*ƒ`ƒGƒ{ƒX` +48 | `boss_ghost` | 1 | `*ƒ†ƒEƒŒƒCƒ{ƒX` +49 | `boss_last1` | 1 | `*ƒ‰ƒXƒ{ƒX1` +50 | `boss_last2` | 2 | `*ƒ‰ƒXƒ{ƒX2` +51 | `boss_last3` | 1 | `*ƒ‰ƒXƒ{ƒX3` +52 | `demo_op` | 0 | `*ƒI[ƒvƒjƒ“ƒO` +53 | `demo_title` | 0 | `*ƒLƒƒƒNƒ}ƒ`` +54 | `demo_end` | 0 | `*ƒGƒ“ƒfƒBƒ“ƒO` +55 | `demo_chase` | 0 | `*ƒfƒ‚26_03` +56 | `seatest` | 2 | `Sea Test` +57 | `wmtest2` | 1 | `MapTest` +58 | `player_dngn` | 1 | `Player Dngn` +59 | `enemytest` | 0 | `Enemy Test` +60 | `eventtest` | 1 | `Event Test` +61 | `roomtest` | 0 | `RoomTest` +62 | `battle00` | 4 | `*Battle 0` +63 | `battle01` | 4 | `*Battle 1` +64 | `battle02` | 4 | `*Battle 2` +65 | `battle03` | 4 | `*Battle 3` +66 | `battle04` | 4 | `*Battle 4` +67 | `battle05` | 4 | `*Battle 5` +68 | `battle06` | 4 | `*Battle 6` +69 | `battle07` | 4 | `*Battle 7` +70 | `battle11` | 4 | `*ƒoƒgƒ‹11` From b9e9392f29130451cf2c7d13b720260d8022c812 Mon Sep 17 00:00:00 2001 From: Aetias Date: Mon, 22 Apr 2024 23:57:26 +0200 Subject: [PATCH 18/76] Mangle `Course` --- asm/ov00/Map/MapManager.inc | 70 +++--- asm/ov00/Map/MapManager.s | 112 ++++----- asm/ov00/ov00_0207af9c.s | 462 ++++++++++++++++++------------------ asm/ov04.inc | 20 +- asm/ov04.s | 46 ++-- asm/ov15.inc | 12 +- asm/ov15.s | 22 +- asm/ov18.inc | 4 +- asm/ov18.s | 4 +- include/Map/Course.hpp | 114 +++++++++ src/00_Core/Map/Course.cpp | 55 +++++ 11 files changed, 545 insertions(+), 376 deletions(-) create mode 100644 include/Map/Course.hpp create mode 100644 src/00_Core/Map/Course.cpp diff --git a/asm/ov00/Map/MapManager.inc b/asm/ov00/Map/MapManager.inc index da0f4814..5d87d87b 100644 --- a/asm/ov00/Map/MapManager.inc +++ b/asm/ov00/Map/MapManager.inc @@ -46,41 +46,41 @@ .extern func_ov00_020792a0 .extern func_ov00_02079898 .extern func_ov00_020798bc -.extern func_ov00_0207ca00 -.extern func_ov00_0207ca28 -.extern func_ov00_0207caa8 -.extern func_ov00_0207cb30 -.extern func_ov00_0207cb7c -.extern func_ov00_0207cbd8 -.extern func_ov00_0207cbe8 -.extern func_ov00_0207cc24 -.extern func_ov00_0207cc6c -.extern func_ov00_0207ce20 -.extern func_ov00_0207d404 -.extern func_ov00_0207d47c -.extern func_ov00_0207d4e4 -.extern func_ov00_0207d518 -.extern func_ov00_0207d5c4 -.extern func_ov00_0207d5f0 -.extern func_ov00_0207d61c -.extern func_ov00_0207d628 -.extern func_ov00_0207d778 -.extern func_ov00_0207d788 -.extern func_ov00_0207d7bc -.extern func_ov00_0207d7dc -.extern func_ov00_0207d828 -.extern func_ov00_0207d848 -.extern func_ov00_0207d894 -.extern func_ov00_0207d8b4 -.extern func_ov00_0207d8d4 -.extern func_ov00_0207d8ec -.extern func_ov00_0207d90c -.extern func_ov00_0207d924 -.extern func_ov00_0207d944 -.extern func_ov00_0207d95c -.extern func_ov00_0207d97c -.extern func_ov00_0207d994 -.extern func_ov00_0207d9b4 +.extern _ZN6Course18GetDungeonProgressEP14CourseProgress +.extern _ZN6Course18func_ov00_0207ca28Eiii +.extern _ZN6Course18func_ov00_0207caa8Eiii +.extern _ZN6Course18func_ov00_0207cb30Ei +.extern _ZN6Course18func_ov00_0207cb7cEiPS_i +.extern _ZN6Course18func_ov00_0207cbd8Ei +.extern _ZN6Course18func_ov00_0207cbe8Ei +.extern _ZN6Course18func_ov00_0207cc24Ei +.extern _ZN6Course18func_ov00_0207cc6cEv +.extern _ZN6Course18func_ov00_0207ce20Eiiii +.extern _ZN6Course18func_ov00_0207d404Eiii +.extern _ZN6Course18func_ov00_0207d47cEv +.extern _ZN6Course18func_ov00_0207d4e4Ei +.extern _ZN6Course18func_ov00_0207d518EiPiS0_ +.extern _ZN6Course18func_ov00_0207d5c4Ev +.extern _ZN6Course18func_ov00_0207d5f0Ev +.extern _ZN6Course18func_ov00_0207d61cEv +.extern _ZN6Course15GetUnk_c8_Unk_4Ev +.extern _ZN6Course18func_ov00_0207d778Ev +.extern _ZN6Course18func_ov00_0207d788Ev +.extern _ZN6Course18func_ov00_0207d7bcEv +.extern _ZN6Course18func_ov00_0207d7dcEii +.extern _ZN6Course18func_ov00_0207d828Ei +.extern _ZN6Course18func_ov00_0207d848Eii +.extern _ZN6Course18func_ov00_0207d894Ei +.extern _ZN6Course18func_ov00_0207d8b4Ev +.extern _ZN6Course18func_ov00_0207d8d4Ei +.extern _ZN6Course18func_ov00_0207d8ecEv +.extern _ZN6Course18func_ov00_0207d90cEi +.extern _ZN6Course18func_ov00_0207d924Ev +.extern _ZN6Course18func_ov00_0207d944Ei +.extern _ZN6Course18func_ov00_0207d95cEv +.extern _ZN6Course18func_ov00_0207d97cEi +.extern _ZN6Course18func_ov00_0207d994Ev +.extern _ZN6Course18func_ov00_0207d9b4Ei .extern func_ov00_0207de68 .extern func_ov00_0207de88 .extern func_ov00_0207e08c diff --git a/asm/ov00/Map/MapManager.s b/asm/ov00/Map/MapManager.s index e32a3b60..632b3e00 100644 --- a/asm/ov00/Map/MapManager.s +++ b/asm/ov00/Map/MapManager.s @@ -6,22 +6,22 @@ .global _ZN10MapManager18func_ov00_020820ecEPi arm_func_start _ZN10MapManager18func_ov00_020820ecEPi _ZN10MapManager18func_ov00_020820ecEPi: ; 0x020820ec - ldr ip, _020820f8 ; =func_ov00_0207ca00 + ldr ip, _020820f8 ; =_ZN6Course18GetDungeonProgressEP14CourseProgress ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020820ecEPi -_020820f8: .word func_ov00_0207ca00 +_020820f8: .word _ZN6Course18GetDungeonProgressEP14CourseProgress .global _ZN10MapManager18func_ov00_020820fcEiii arm_func_start _ZN10MapManager18func_ov00_020820fcEiii _ZN10MapManager18func_ov00_020820fcEiii: ; 0x020820fc - ldr ip, _02082108 ; =func_ov00_0207ca28 + ldr ip, _02082108 ; =_ZN6Course18func_ov00_0207ca28Eiii ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020820fcEiii -_02082108: .word func_ov00_0207ca28 +_02082108: .word _ZN6Course18func_ov00_0207ca28Eiii .global _ZN10MapManager18func_ov00_0208210cEii arm_func_start _ZN10MapManager18func_ov00_0208210cEii @@ -468,7 +468,7 @@ _ZN10MapManager18func_ov00_02082614Eii: ; 0x02082614 mov r3, r1 mov r1, r2 mov r2, #0 - bl func_ov00_0207ce20 + bl _ZN6Course18func_ov00_0207ce20Eiiii ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02082614Eii @@ -874,12 +874,12 @@ _02082ac8: .word data_027e0d38 .global _ZN10MapManager18func_ov00_02082accEv arm_func_start _ZN10MapManager18func_ov00_02082accEv _ZN10MapManager18func_ov00_02082accEv: ; 0x02082acc - ldr ip, _02082ad8 ; =func_ov00_0207d7bc + ldr ip, _02082ad8 ; =_ZN6Course18func_ov00_0207d7bcEv ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02082accEv -_02082ad8: .word func_ov00_0207d7bc +_02082ad8: .word _ZN6Course18func_ov00_0207d7bcEv .global _ZN10MapManager18func_ov00_02082adcEv arm_func_start _ZN10MapManager18func_ov00_02082adcEv @@ -926,7 +926,7 @@ _ZN10MapManager18func_ov00_02082b3cEi: ; 0x02082b3c ldrb r2, [r5, #0x12] ldr r1, [r6] add r0, sp, #0 - bl func_ov00_0207cb7c + bl _ZN6Course18func_ov00_0207cb7cEiPS_i mov r0, r6 bl _ZN10MapManager20GetCourseData_Unk_1cEv ldrb r1, [sp] @@ -981,11 +981,11 @@ _02082bac: ldrb r7, [r5, #0x12] ldr r0, [r6] mov r4, #0 - bl func_ov00_0207d778 + bl _ZN6Course18func_ov00_0207d778Ev mov r1, r7 mov r7, r0 ldr r0, [r6] - bl func_ov00_0207d788 + bl _ZN6Course18func_ov00_0207d788Ev cmp r7, r0 ldrb r2, [sp] ldr r1, [r6] @@ -1155,7 +1155,7 @@ _ZN10MapManager18func_ov00_02082e1cEPiS0_: ; 0x02082e1c mov r6, r2 cmp r1, #0 beq _02083050 - bl func_ov00_0207d47c + bl _ZN6Course18func_ov00_0207d47cEv cmp r0, #0 bne _02083038 mvn r1, #0xff @@ -1219,18 +1219,18 @@ _02082f1c: add r2, sp, #0xc add r3, sp, #8 mov r1, r4 - bl func_ov00_0207d518 + bl _ZN6Course18func_ov00_0207d518EiPiS0_ cmp r0, #0 ldr r0, [r8] bne _02082fc0 add r2, sp, #0xc add r3, sp, #8 mov r1, r5 - bl func_ov00_0207d518 + bl _ZN6Course18func_ov00_0207d518EiPiS0_ ldr r1, [r8] add r0, sp, #6 mov r2, r5 - bl func_ov00_0207cb7c + bl _ZN6Course18func_ov00_0207cb7cEiPS_i ldrb r1, [sp, #7] add r0, sp, #4 add r2, sp, #0x28 @@ -1239,7 +1239,7 @@ _02082f1c: mov r1, r8 bl _ZN10MapManager18func_ov00_02083a54EiPS_iii ldr r0, [r8] - bl func_ov00_0207d5c4 + bl _ZN6Course18func_ov00_0207d5c4Ev ldrb r1, [sp, #4] ldr r3, [sp, #0xc] mov r1, r1, lsl #0xc @@ -1252,12 +1252,12 @@ _02082f1c: add r0, r3, r0, asr #12 str r0, [r7] ldr r0, [r8] - bl func_ov00_0207d5f0 + bl _ZN6Course18func_ov00_0207d5f0Ev ldrb r1, [sp, #5] ldr r3, [sp, #8] b _02083008 _02082fc0: - bl func_ov00_0207d5c4 + bl _ZN6Course18func_ov00_0207d5c4Ev ldr r2, [r8, #4] ldr r1, [sp, #0xc] ldrb r2, [r2, #0x1b] @@ -1271,7 +1271,7 @@ _02082fc0: add r0, r1, r0, asr #12 str r0, [r7] ldr r0, [r8] - bl func_ov00_0207d5f0 + bl _ZN6Course18func_ov00_0207d5f0Ev ldr r1, [r8, #4] ldr r3, [sp, #8] ldrb r1, [r1, #0x1c] @@ -1513,12 +1513,12 @@ _ZN10MapManager21GetCourseData_Unk_25cEv: ; 0x0208330c .global _ZN10MapManager18func_ov00_02083318Ei arm_func_start _ZN10MapManager18func_ov00_02083318Ei _ZN10MapManager18func_ov00_02083318Ei: ; 0x02083318 - ldr ip, _02083324 ; =func_ov00_0207d4e4 + ldr ip, _02083324 ; =_ZN6Course18func_ov00_0207d4e4Ei ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02083318Ei -_02083324: .word func_ov00_0207d4e4 +_02083324: .word _ZN6Course18func_ov00_0207d4e4Ei .global _ZN10MapManager18func_ov00_02083328Ev arm_func_start _ZN10MapManager18func_ov00_02083328Ev @@ -1528,7 +1528,7 @@ _ZN10MapManager18func_ov00_02083328Ev: ; 0x02083328 bl _ZN10MapManager18func_ov00_02082d08Ev mov r1, r0 ldr r0, [r4] - bl func_ov00_0207d4e4 + bl _ZN6Course18func_ov00_0207d4e4Ei ldmia sp!, {r4, pc} arm_func_end _ZN10MapManager18func_ov00_02083328Ev @@ -1738,7 +1738,7 @@ _ZN10MapManager18func_ov00_020834bcEP5Vec3pii: ; 0x020834bc add r2, r4, r3 mov r4, r1 ldrb r1, [r2, #0x20] - bl func_ov00_0207cbd8 + bl _ZN6Course18func_ov00_0207cbd8Ei ldr r1, [r0] str r1, [r4] ldr r1, [r0, #4] @@ -1768,7 +1768,7 @@ _ZN10MapManager18func_ov00_02083524EP5Vec3pii: ; 0x02083524 add r2, ip, r3 mov r4, r1 ldrb r1, [r2, #0x20] - bl func_ov00_0207cbd8 + bl _ZN6Course18func_ov00_0207cbd8Ei ldr r1, [r0] str r1, [r4] ldr r1, [r0, #4] @@ -1781,12 +1781,12 @@ _ZN10MapManager18func_ov00_02083524EP5Vec3pii: ; 0x02083524 .global _ZN10MapManager18func_ov00_02083560EiPS_j arm_func_start _ZN10MapManager18func_ov00_02083560EiPS_j _ZN10MapManager18func_ov00_02083560EiPS_j: ; 0x02083560 - ldr ip, _0208356c ; =func_ov00_0207cb7c + ldr ip, _0208356c ; =_ZN6Course18func_ov00_0207cb7cEiPS_i ldr r1, [r1] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02083560EiPS_j -_0208356c: .word func_ov00_0207cb7c +_0208356c: .word _ZN6Course18func_ov00_0207cb7cEiPS_i .global _ZN10MapManager18func_ov00_02083570Eii arm_func_start _ZN10MapManager18func_ov00_02083570Eii @@ -1807,29 +1807,29 @@ _ZN10MapManager18func_ov00_02083588Ev: ; 0x02083588 bl _ZN10MapManager18func_ov00_02082d08Ev mov r1, r0 ldr r0, [r4] - bl func_ov00_0207cc6c + bl _ZN6Course18func_ov00_0207cc6cEv ldmia sp!, {r4, pc} arm_func_end _ZN10MapManager18func_ov00_02083588Ev .global _ZN10MapManager18func_ov00_020835a4Ev arm_func_start _ZN10MapManager18func_ov00_020835a4Ev _ZN10MapManager18func_ov00_020835a4Ev: ; 0x020835a4 - ldr ip, _020835b0 ; =func_ov00_0207d61c + ldr ip, _020835b0 ; =_ZN6Course18func_ov00_0207d61cEv ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020835a4Ev -_020835b0: .word func_ov00_0207d61c +_020835b0: .word _ZN6Course18func_ov00_0207d61cEv .global _ZN10MapManager18func_ov00_020835b4Ev arm_func_start _ZN10MapManager18func_ov00_020835b4Ev _ZN10MapManager18func_ov00_020835b4Ev: ; 0x020835b4 - ldr ip, _020835c0 ; =func_ov00_0207d628 + ldr ip, _020835c0 ; =_ZN6Course15GetUnk_c8_Unk_4Ev ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020835b4Ev -_020835c0: .word func_ov00_0207d628 +_020835c0: .word _ZN6Course15GetUnk_c8_Unk_4Ev .global _ZN10MapManager18func_ov00_020835c4Eii arm_func_start _ZN10MapManager18func_ov00_020835c4Eii @@ -1840,49 +1840,49 @@ _ZN10MapManager18func_ov00_020835c4Eii: ; 0x020835c4 ldr r0, [r0] mov r3, r2 mov r2, #0 - bl func_ov00_0207d404 + bl _ZN6Course18func_ov00_0207d404Eiii ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_020835c4Eii .global _ZN10MapManager18func_ov00_020835e4EiPiS0_ arm_func_start _ZN10MapManager18func_ov00_020835e4EiPiS0_ _ZN10MapManager18func_ov00_020835e4EiPiS0_: ; 0x020835e4 - ldr ip, _020835f0 ; =func_ov00_0207caa8 + ldr ip, _020835f0 ; =_ZN6Course18func_ov00_0207caa8Eiii ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020835e4EiPiS0_ -_020835f0: .word func_ov00_0207caa8 +_020835f0: .word _ZN6Course18func_ov00_0207caa8Eiii .global _ZN10MapManager18func_ov00_020835f4Ei arm_func_start _ZN10MapManager18func_ov00_020835f4Ei _ZN10MapManager18func_ov00_020835f4Ei: ; 0x020835f4 - ldr ip, _02083600 ; =func_ov00_0207cb30 + ldr ip, _02083600 ; =_ZN6Course18func_ov00_0207cb30Ei ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020835f4Ei -_02083600: .word func_ov00_0207cb30 +_02083600: .word _ZN6Course18func_ov00_0207cb30Ei .global _ZN10MapManager18func_ov00_02083604Ei arm_func_start _ZN10MapManager18func_ov00_02083604Ei _ZN10MapManager18func_ov00_02083604Ei: ; 0x02083604 - ldr ip, _02083610 ; =func_ov00_0207cbe8 + ldr ip, _02083610 ; =_ZN6Course18func_ov00_0207cbe8Ei ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02083604Ei -_02083610: .word func_ov00_0207cbe8 +_02083610: .word _ZN6Course18func_ov00_0207cbe8Ei .global _ZN10MapManager18func_ov00_02083614Ei arm_func_start _ZN10MapManager18func_ov00_02083614Ei _ZN10MapManager18func_ov00_02083614Ei: ; 0x02083614 - ldr ip, _02083620 ; =func_ov00_0207cc24 + ldr ip, _02083620 ; =_ZN6Course18func_ov00_0207cc24Ei ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02083614Ei -_02083620: .word func_ov00_0207cc24 +_02083620: .word _ZN6Course18func_ov00_0207cc24Ei .global _ZN10MapManager14GetEntrancePosEP5Vec3pi arm_func_start _ZN10MapManager14GetEntrancePosEP5Vec3pi @@ -3579,7 +3579,7 @@ _ZN10MapManager18func_ov00_0208499cEv: ; 0x0208499c movne r0, #0 ldmneia sp!, {r4, pc} ldr r0, [r4] - bl func_ov00_0207d47c + bl _ZN6Course18func_ov00_0207d47cEv ldmia sp!, {r4, pc} arm_func_end _ZN10MapManager18func_ov00_0208499cEv @@ -3771,17 +3771,17 @@ _02084b8c: _02084bb0: ldr r0, [r0] mov r2, r3 - bl func_ov00_0207d8b4 + bl _ZN6Course18func_ov00_0207d8b4Ev ldmia sp!, {r3, pc} _02084bc0: ldr r0, [r0] mov r2, r3 - bl func_ov00_0207d7dc + bl _ZN6Course18func_ov00_0207d7dcEii ldmia sp!, {r3, pc} _02084bd0: ldr r0, [r0] mov r2, r3 - bl func_ov00_0207d848 + bl _ZN6Course18func_ov00_0207d848Eii ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084b38Eiii @@ -3812,15 +3812,15 @@ _02084c0c: ldmia sp!, {r3, pc} _02084c30: ldr r0, [r0] - bl func_ov00_0207d8d4 + bl _ZN6Course18func_ov00_0207d8d4Ei ldmia sp!, {r3, pc} _02084c3c: ldr r0, [r0] - bl func_ov00_0207d828 + bl _ZN6Course18func_ov00_0207d828Ei ldmia sp!, {r3, pc} _02084c48: ldr r0, [r0] - bl func_ov00_0207d894 + bl _ZN6Course18func_ov00_0207d894Ei ldmia sp!, {r3, pc} _02084c54: mov r0, #0 @@ -3830,22 +3830,22 @@ _02084c54: .global _ZN10MapManager18func_ov00_02084c5cEii arm_func_start _ZN10MapManager18func_ov00_02084c5cEii _ZN10MapManager18func_ov00_02084c5cEii: ; 0x02084c5c - ldr ip, _02084c68 ; =func_ov00_0207d8ec + ldr ip, _02084c68 ; =_ZN6Course18func_ov00_0207d8ecEv ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02084c5cEii -_02084c68: .word func_ov00_0207d8ec +_02084c68: .word _ZN6Course18func_ov00_0207d8ecEv .global _ZN10MapManager18func_ov00_02084c6cEi arm_func_start _ZN10MapManager18func_ov00_02084c6cEi _ZN10MapManager18func_ov00_02084c6cEi: ; 0x02084c6c - ldr ip, _02084c78 ; =func_ov00_0207d90c + ldr ip, _02084c78 ; =_ZN6Course18func_ov00_0207d90cEi ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02084c6cEi -_02084c78: .word func_ov00_0207d90c +_02084c78: .word _ZN6Course18func_ov00_0207d90cEi .global _ZN10MapManager18func_ov00_02084c7cEi arm_func_start _ZN10MapManager18func_ov00_02084c7cEi @@ -3854,7 +3854,7 @@ _ZN10MapManager18func_ov00_02084c7cEi: ; 0x02084c7c cmp r1, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl func_ov00_0207d924 + bl _ZN6Course18func_ov00_0207d924Ev ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084c7cEi @@ -3866,7 +3866,7 @@ _ZN10MapManager18func_ov00_02084c94Ei: ; 0x02084c94 movlt r0, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl func_ov00_0207d944 + bl _ZN6Course18func_ov00_0207d944Ei ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084c94Ei @@ -3877,7 +3877,7 @@ _ZN10MapManager18func_ov00_02084cb0Ei: ; 0x02084cb0 cmp r1, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl func_ov00_0207d95c + bl _ZN6Course18func_ov00_0207d95cEv ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084cb0Ei @@ -3889,7 +3889,7 @@ _ZN10MapManager18func_ov00_02084cc8Ei: ; 0x02084cc8 movlt r0, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl func_ov00_0207d97c + bl _ZN6Course18func_ov00_0207d97cEi ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084cc8Ei @@ -3900,7 +3900,7 @@ _ZN10MapManager18func_ov00_02084ce4Ei: ; 0x02084ce4 cmp r1, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl func_ov00_0207d994 + bl _ZN6Course18func_ov00_0207d994Ev ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084ce4Ei @@ -3912,7 +3912,7 @@ _ZN10MapManager18func_ov00_02084cfcEi: ; 0x02084cfc movlt r0, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl func_ov00_0207d9b4 + bl _ZN6Course18func_ov00_0207d9b4Ei ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084cfcEi diff --git a/asm/ov00/ov00_0207af9c.s b/asm/ov00/ov00_0207af9c.s index 5993970e..7b5bd4f6 100644 --- a/asm/ov00/ov00_0207af9c.s +++ b/asm/ov00/ov00_0207af9c.s @@ -2893,9 +2893,9 @@ _0207c9d8: ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov00_0207c91c - .global func_ov00_0207ca00 - arm_func_start func_ov00_0207ca00 -func_ov00_0207ca00: ; 0x0207ca00 + .global _ZN6Course18GetDungeonProgressEP14CourseProgress + arm_func_start _ZN6Course18GetDungeonProgressEP14CourseProgress +_ZN6Course18GetDungeonProgressEP14CourseProgress: ; 0x0207ca00 ldr r2, [r0, #0x268] str r2, [r1] ldr r2, [r0, #4] @@ -2906,11 +2906,11 @@ func_ov00_0207ca00: ; 0x0207ca00 ldrb r0, [r0, #0x25d] strb r0, [r1, #5] bx lr - arm_func_end func_ov00_0207ca00 + arm_func_end _ZN6Course18GetDungeonProgressEP14CourseProgress - .global func_ov00_0207ca28 - arm_func_start func_ov00_0207ca28 -func_ov00_0207ca28: ; 0x0207ca28 + .global _ZN6Course18func_ov00_0207ca28Eiii + arm_func_start _ZN6Course18func_ov00_0207ca28Eiii +_ZN6Course18func_ov00_0207ca28Eiii: ; 0x0207ca28 stmdb sp!, {r3, lr} ldr ip, [r0, #4] add r0, r0, r1, lsl #2 @@ -2928,25 +2928,25 @@ _0207ca54: mov r3, #0 bl func_ov00_020972e4 ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207ca28 + arm_func_end _ZN6Course18func_ov00_0207ca28Eiii - .global func_ov00_0207ca68 - arm_func_start func_ov00_0207ca68 -func_ov00_0207ca68: ; 0x0207ca68 + .global _ZN6Course13SetCourseNameEPc + arm_func_start _ZN6Course13SetCourseNameEPc +_ZN6Course13SetCourseNameEPc: ; 0x0207ca68 ldr ip, _0207ca74 ; =strcpy add r0, r0, #0xc bx ip .align 2, 0 - arm_func_end func_ov00_0207ca68 + arm_func_end _ZN6Course13SetCourseNameEPc _0207ca74: .word strcpy - .global func_ov00_0207ca78 - arm_func_start func_ov00_0207ca78 -func_ov00_0207ca78: ; 0x0207ca78 + .global _ZN6Course18func_ov00_0207ca78Ev + arm_func_start _ZN6Course18func_ov00_0207ca78Ev +_ZN6Course18func_ov00_0207ca78Ev: ; 0x0207ca78 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r2 - bl func_ov00_0207d9cc + bl _ZN6Course18func_ov00_0207d9ccEi movs r1, r0 ldmeqia sp!, {r3, r4, r5, pc} strb r4, [r1] @@ -2955,11 +2955,11 @@ func_ov00_0207ca78: ; 0x0207ca78 mov r2, #1 bl func_ov00_020a3510 ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207ca78 + arm_func_end _ZN6Course18func_ov00_0207ca78Ev - .global func_ov00_0207caa8 - arm_func_start func_ov00_0207caa8 -func_ov00_0207caa8: ; 0x0207caa8 + .global _ZN6Course18func_ov00_0207caa8Eiii + arm_func_start _ZN6Course18func_ov00_0207caa8Eiii +_ZN6Course18func_ov00_0207caa8Eiii: ; 0x0207caa8 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 cmp r1, #0 @@ -2994,11 +2994,11 @@ func_ov00_0207caa8: ; 0x0207caa8 strh r1, [r4, #6] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207caa8 + arm_func_end _ZN6Course18func_ov00_0207caa8Eiii - .global func_ov00_0207cb30 - arm_func_start func_ov00_0207cb30 -func_ov00_0207cb30: ; 0x0207cb30 + .global _ZN6Course18func_ov00_0207cb30Ei + arm_func_start _ZN6Course18func_ov00_0207cb30Ei +_ZN6Course18func_ov00_0207cb30Ei: ; 0x0207cb30 stmdb sp!, {r3, lr} sub sp, sp, #0x10 cmp r1, #0 @@ -3018,12 +3018,12 @@ func_ov00_0207cb30: ; 0x0207cb30 add sp, sp, #0x10 ldmia sp!, {r3, pc} .align 2, 0 - arm_func_end func_ov00_0207cb30 + arm_func_end _ZN6Course18func_ov00_0207cb30Ei _0207cb78: .word 0x0000ffff - .global func_ov00_0207cb7c - arm_func_start func_ov00_0207cb7c -func_ov00_0207cb7c: ; 0x0207cb7c + .global _ZN6Course18func_ov00_0207cb7cEiPS_i + arm_func_start _ZN6Course18func_ov00_0207cb7cEiPS_i +_ZN6Course18func_ov00_0207cb7cEiPS_i: ; 0x0207cb7c stmdb sp!, {r3, r4, r5, lr} mov lr, #0 mov r5, r1 @@ -3049,20 +3049,20 @@ _0207cb90: strb r1, [r0] strb r2, [r0, #1] ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207cb7c + arm_func_end _ZN6Course18func_ov00_0207cb7cEiPS_i - .global func_ov00_0207cbd8 - arm_func_start func_ov00_0207cbd8 -func_ov00_0207cbd8: ; 0x0207cbd8 + .global _ZN6Course18func_ov00_0207cbd8Ei + arm_func_start _ZN6Course18func_ov00_0207cbd8Ei +_ZN6Course18func_ov00_0207cbd8Ei: ; 0x0207cbd8 stmdb sp!, {r3, lr} - bl func_ov00_0207d9cc + bl _ZN6Course18func_ov00_0207d9ccEi add r0, r0, #0x14 ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207cbd8 + arm_func_end _ZN6Course18func_ov00_0207cbd8Ei - .global func_ov00_0207cbe8 - arm_func_start func_ov00_0207cbe8 -func_ov00_0207cbe8: ; 0x0207cbe8 + .global _ZN6Course18func_ov00_0207cbe8Ei + arm_func_start _ZN6Course18func_ov00_0207cbe8Ei +_ZN6Course18func_ov00_0207cbe8Ei: ; 0x0207cbe8 stmdb sp!, {r3, lr} sub sp, sp, #0x10 cmp r1, #0 @@ -3078,11 +3078,11 @@ func_ov00_0207cbe8: ; 0x0207cbe8 bl func_ov00_020a3710 add sp, sp, #0x10 ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207cbe8 + arm_func_end _ZN6Course18func_ov00_0207cbe8Ei - .global func_ov00_0207cc24 - arm_func_start func_ov00_0207cc24 -func_ov00_0207cc24: ; 0x0207cc24 + .global _ZN6Course18func_ov00_0207cc24Ei + arm_func_start _ZN6Course18func_ov00_0207cc24Ei +_ZN6Course18func_ov00_0207cc24Ei: ; 0x0207cc24 stmdb sp!, {r3, lr} sub sp, sp, #0x10 cmp r1, #0 @@ -3101,22 +3101,22 @@ func_ov00_0207cc24: ; 0x0207cc24 moveq r0, #0 add sp, sp, #0x10 ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207cc24 + arm_func_end _ZN6Course18func_ov00_0207cc24Ei - .global func_ov00_0207cc6c - arm_func_start func_ov00_0207cc6c -func_ov00_0207cc6c: ; 0x0207cc6c + .global _ZN6Course18func_ov00_0207cc6cEv + arm_func_start _ZN6Course18func_ov00_0207cc6cEv +_ZN6Course18func_ov00_0207cc6cEv: ; 0x0207cc6c stmdb sp!, {r3, lr} - bl func_ov00_0207d9cc + bl _ZN6Course18func_ov00_0207d9ccEi cmp r0, #0 moveq r0, #0 ldrne r0, [r0, #8] ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207cc6c + arm_func_end _ZN6Course18func_ov00_0207cc6cEv - .global func_ov00_0207cc84 - arm_func_start func_ov00_0207cc84 -func_ov00_0207cc84: ; 0x0207cc84 + .global _ZN6Course14GetMCSFilePathEiii + arm_func_start _ZN6Course14GetMCSFilePathEiii +_ZN6Course14GetMCSFilePathEiii: ; 0x0207cc84 stmdb sp!, {r3, lr} mov lr, r0 mov ip, r2 @@ -3178,7 +3178,7 @@ _0207cd3c: bl func_0200c8d0 ldmia sp!, {r3, pc} .align 2, 0 - arm_func_end func_ov00_0207cc84 + arm_func_end _ZN6Course14GetMCSFilePathEiii _0207cd58: .word data_ov00_020e2508 _0207cd5c: .word data_ov00_020e2058 _0207cd60: .word data_ov00_020e2070 @@ -3187,9 +3187,9 @@ _0207cd68: .word data_ov00_020e20a4 _0207cd6c: .word data_ov00_020e20c0 _0207cd70: .word data_ov00_020e20d8 - .global func_ov00_0207cd74 - arm_func_start func_ov00_0207cd74 -func_ov00_0207cd74: ; 0x0207cd74 + .global _ZN6Course14GetMRCFilePathEiii + arm_func_start _ZN6Course14GetMRCFilePathEiii +_ZN6Course14GetMRCFilePathEiii: ; 0x0207cd74 stmdb sp!, {r4, lr} mov r4, r2 cmp r3, #3 @@ -3233,7 +3233,7 @@ _0207cde0: bl func_0200c8d0 ldmia sp!, {r4, pc} .align 2, 0 - arm_func_end func_ov00_0207cd74 + arm_func_end _ZN6Course14GetMRCFilePathEiii _0207ce08: .word data_ov00_020e250c _0207ce0c: .word data_ov00_020e20ec _0207ce10: .word data_ov00_020e2104 @@ -3241,9 +3241,9 @@ _0207ce14: .word data_ov00_020e211c _0207ce18: .word data_027e0f7c _0207ce1c: .word data_ov00_020e2134 - .global func_ov00_0207ce20 - arm_func_start func_ov00_0207ce20 -func_ov00_0207ce20: ; 0x0207ce20 + .global _ZN6Course18func_ov00_0207ce20Eiiii + arm_func_start _ZN6Course18func_ov00_0207ce20Eiiii +_ZN6Course18func_ov00_0207ce20Eiiii: ; 0x0207ce20 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr ip, [sp, #0x10] @@ -3252,14 +3252,14 @@ func_ov00_0207ce20: ; 0x0207ce20 mov r3, r2 ldr r1, [r0] mov r2, ip - bl func_ov00_0207ce4c + bl _ZN6Course18func_ov00_0207ce4cEccccii add sp, sp, #8 ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207ce20 + arm_func_end _ZN6Course18func_ov00_0207ce20Eiiii - .global func_ov00_0207ce4c - arm_func_start func_ov00_0207ce4c -func_ov00_0207ce4c: ; 0x0207ce4c + .global _ZN6Course18func_ov00_0207ce4cEccccii + arm_func_start _ZN6Course18func_ov00_0207ce4cEccccii +_ZN6Course18func_ov00_0207ce4cEccccii: ; 0x0207ce4c stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r4, _0207d3ac ; =data_027e0f7c @@ -3344,7 +3344,7 @@ _0207cf38: mov r4, #4 moveq r2, #0 str r4, [sp, #4] - bl func_ov00_0207ce4c + bl _ZN6Course18func_ov00_0207ce4cEccccii add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207cf98: @@ -3357,7 +3357,7 @@ _0207cf98: mov r2, r5 mov r3, r4 str r7, [sp] - bl func_ov00_0207ce20 + bl _ZN6Course18func_ov00_0207ce20Eiiii add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207cfc8: @@ -3627,7 +3627,7 @@ _0207d364: add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 - arm_func_end func_ov00_0207ce4c + arm_func_end _ZN6Course18func_ov00_0207ce4cEccccii _0207d3ac: .word data_027e0f7c _0207d3b0: .word 0x66666667 _0207d3b4: .word data_ov00_020e233c @@ -3651,9 +3651,9 @@ _0207d3f8: .word data_ov00_020e22b8 _0207d3fc: .word data_ov00_020e22d4 _0207d400: .word data_ov00_020e22e8 - .global func_ov00_0207d404 - arm_func_start func_ov00_0207d404 -func_ov00_0207d404: ; 0x0207d404 + .global _ZN6Course18func_ov00_0207d404Eiii + arm_func_start _ZN6Course18func_ov00_0207d404Eiii +_ZN6Course18func_ov00_0207d404Eiii: ; 0x0207d404 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 mov r6, r0 @@ -3680,26 +3680,26 @@ func_ov00_0207d404: ; 0x0207d404 ldr r1, [sp, #8] mov r0, r6 mov r3, r5 - bl func_ov00_0207ce4c + bl _ZN6Course18func_ov00_0207ce4cEccccii mov r0, #1 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_0207d404 + arm_func_end _ZN6Course18func_ov00_0207d404Eiii - .global func_ov00_0207d47c - arm_func_start func_ov00_0207d47c -func_ov00_0207d47c: ; 0x0207d47c - ldr ip, _0207d48c ; =func_ov00_0207d490 + .global _ZN6Course18func_ov00_0207d47cEv + arm_func_start _ZN6Course18func_ov00_0207d47cEv +_ZN6Course18func_ov00_0207d47cEv: ; 0x0207d47c + ldr ip, _0207d48c ; =_ZN6Course18func_ov00_0207d490Eii ldrb r1, [r0, #0x1c] ldrb r2, [r0, #0x1d] bx ip .align 2, 0 - arm_func_end func_ov00_0207d47c -_0207d48c: .word func_ov00_0207d490 + arm_func_end _ZN6Course18func_ov00_0207d47cEv +_0207d48c: .word _ZN6Course18func_ov00_0207d490Eii - .global func_ov00_0207d490 - arm_func_start func_ov00_0207d490 -func_ov00_0207d490: ; 0x0207d490 + .global _ZN6Course18func_ov00_0207d490Eii + arm_func_start _ZN6Course18func_ov00_0207d490Eii +_ZN6Course18func_ov00_0207d490Eii: ; 0x0207d490 ldrb r3, [r0, #0x25c] cmp r3, #0 moveq r0, #1 @@ -3722,29 +3722,29 @@ func_ov00_0207d490: ; 0x0207d490 _0207d4dc: mov r0, #0 bx lr - arm_func_end func_ov00_0207d490 + arm_func_end _ZN6Course18func_ov00_0207d490Eii - .global func_ov00_0207d4e4 - arm_func_start func_ov00_0207d4e4 -func_ov00_0207d4e4: ; 0x0207d4e4 + .global _ZN6Course18func_ov00_0207d4e4Ei + arm_func_start _ZN6Course18func_ov00_0207d4e4Ei +_ZN6Course18func_ov00_0207d4e4Ei: ; 0x0207d4e4 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 mov r2, r1 add r0, sp, #0 mov r1, r4 - bl func_ov00_0207cb7c + bl _ZN6Course18func_ov00_0207cb7cEiPS_i ldrb r1, [sp] ldrb r2, [sp, #1] mov r0, r4 - bl func_ov00_0207d490 + bl _ZN6Course18func_ov00_0207d490Eii add sp, sp, #4 ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_0207d4e4 + arm_func_end _ZN6Course18func_ov00_0207d4e4Ei - .global func_ov00_0207d518 - arm_func_start func_ov00_0207d518 -func_ov00_0207d518: ; 0x0207d518 + .global _ZN6Course18func_ov00_0207d518EiPiS0_ + arm_func_start _ZN6Course18func_ov00_0207d518EiPiS0_ +_ZN6Course18func_ov00_0207d518EiPiS0_: ; 0x0207d518 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r1 mov r7, r0 @@ -3756,11 +3756,11 @@ func_ov00_0207d518: ; 0x0207d518 add r0, sp, #0 mov r1, r7 mov r2, r4 - bl func_ov00_0207cb7c + bl _ZN6Course18func_ov00_0207cb7cEiPS_i ldrb r1, [sp] ldrb r2, [sp, #1] mov r0, r7 - bl func_ov00_0207d490 + bl _ZN6Course18func_ov00_0207d490Eii cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} @@ -3788,11 +3788,11 @@ func_ov00_0207d518: ; 0x0207d518 str r1, [r5] mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0207d518 + arm_func_end _ZN6Course18func_ov00_0207d518EiPiS0_ - .global func_ov00_0207d5c4 - arm_func_start func_ov00_0207d5c4 -func_ov00_0207d5c4: ; 0x0207d5c4 + .global _ZN6Course18func_ov00_0207d5c4Ev + arm_func_start _ZN6Course18func_ov00_0207d5c4Ev +_ZN6Course18func_ov00_0207d5c4Ev: ; 0x0207d5c4 stmdb sp!, {r3, lr} ldrb r1, [r0, #0x86] ldrb r0, [r0, #0x87] @@ -3804,11 +3804,11 @@ func_ov00_0207d5c4: ; 0x0207d5c4 mov r1, #0x40000 bl Divide ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207d5c4 + arm_func_end _ZN6Course18func_ov00_0207d5c4Ev - .global func_ov00_0207d5f0 - arm_func_start func_ov00_0207d5f0 -func_ov00_0207d5f0: ; 0x0207d5f0 + .global _ZN6Course18func_ov00_0207d5f0Ev + arm_func_start _ZN6Course18func_ov00_0207d5f0Ev +_ZN6Course18func_ov00_0207d5f0Ev: ; 0x0207d5f0 stmdb sp!, {r3, lr} ldrb r1, [r0, #0x87] ldrb r0, [r0, #0x86] @@ -3820,27 +3820,27 @@ func_ov00_0207d5f0: ; 0x0207d5f0 mov r1, #0x30000 bl Divide ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207d5f0 + arm_func_end _ZN6Course18func_ov00_0207d5f0Ev - .global func_ov00_0207d61c - arm_func_start func_ov00_0207d61c -func_ov00_0207d61c: ; 0x0207d61c + .global _ZN6Course18func_ov00_0207d61cEv + arm_func_start _ZN6Course18func_ov00_0207d61cEv +_ZN6Course18func_ov00_0207d61cEv: ; 0x0207d61c ldr r0, [r0, #0xc8] ldr r0, [r0] bx lr - arm_func_end func_ov00_0207d61c + arm_func_end _ZN6Course18func_ov00_0207d61cEv - .global func_ov00_0207d628 - arm_func_start func_ov00_0207d628 -func_ov00_0207d628: ; 0x0207d628 + .global _ZN6Course15GetUnk_c8_Unk_4Ev + arm_func_start _ZN6Course15GetUnk_c8_Unk_4Ev +_ZN6Course15GetUnk_c8_Unk_4Ev: ; 0x0207d628 ldr r0, [r0, #0xc8] ldr r0, [r0, #4] bx lr - arm_func_end func_ov00_0207d628 + arm_func_end _ZN6Course15GetUnk_c8_Unk_4Ev - .global func_ov00_0207d634 - arm_func_start func_ov00_0207d634 -func_ov00_0207d634: ; 0x0207d634 + .global _ZN6Course18func_ov00_0207d634Ei + arm_func_start _ZN6Course18func_ov00_0207d634Ei +_ZN6Course18func_ov00_0207d634Ei: ; 0x0207d634 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldrb r4, [r6, #0x1c] @@ -3868,20 +3868,20 @@ _0207d67c: mov r0, r6 mov r1, r4 mov r2, r5 - bl func_ov00_0207d490 + bl _ZN6Course18func_ov00_0207d490Eii cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r6 mov r1, r4 mov r2, r5 - bl func_ov00_0207d6ac + bl _ZN6Course18func_ov00_0207d6acEii ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_0207d634 + arm_func_end _ZN6Course18func_ov00_0207d634Ei - .global func_ov00_0207d6ac - arm_func_start func_ov00_0207d6ac -func_ov00_0207d6ac: ; 0x0207d6ac + .global _ZN6Course18func_ov00_0207d6acEii + arm_func_start _ZN6Course18func_ov00_0207d6acEii +_ZN6Course18func_ov00_0207d6acEii: ; 0x0207d6ac cmp r1, #0 cmpge r2, #0 blt _0207d6c4 @@ -3900,35 +3900,35 @@ _0207d6cc: movne r0, #1 moveq r0, #0 bx lr - arm_func_end func_ov00_0207d6ac + arm_func_end _ZN6Course18func_ov00_0207d6acEii - .global func_ov00_0207d6ec - arm_func_start func_ov00_0207d6ec -func_ov00_0207d6ec: ; 0x0207d6ec + .global _ZN6Course18func_ov00_0207d6ecEv + arm_func_start _ZN6Course18func_ov00_0207d6ecEv +_ZN6Course18func_ov00_0207d6ecEv: ; 0x0207d6ec stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 - bl func_ov00_0207d634 + bl _ZN6Course18func_ov00_0207d634Ei cmp r0, #0 moveq r0, #0xff ldmeqia sp!, {r4, r5, r6, pc} mov r0, r6 mov r1, r5 - bl func_ov00_0207d758 + bl _ZN6Course18func_ov00_0207d758Ei mov r4, r0 mov r0, r6 mov r1, r5 - bl func_ov00_0207d738 + bl _ZN6Course18func_ov00_0207d738Ei mov r1, #0xa mla r1, r0, r1, r6 add r0, r1, r4 ldrb r0, [r0, #0x20] ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_0207d6ec + arm_func_end _ZN6Course18func_ov00_0207d6ecEv - .global func_ov00_0207d738 - arm_func_start func_ov00_0207d738 -func_ov00_0207d738: ; 0x0207d738 + .global _ZN6Course18func_ov00_0207d738Ei + arm_func_start _ZN6Course18func_ov00_0207d738Ei +_ZN6Course18func_ov00_0207d738Ei: ; 0x0207d738 cmp r1, #0 ldrb r0, [r0, #0x1c] beq _0207d750 @@ -3938,11 +3938,11 @@ func_ov00_0207d738: ; 0x0207d738 _0207d750: add r0, r0, #1 bx lr - arm_func_end func_ov00_0207d738 + arm_func_end _ZN6Course18func_ov00_0207d738Ei - .global func_ov00_0207d758 - arm_func_start func_ov00_0207d758 -func_ov00_0207d758: ; 0x0207d758 + .global _ZN6Course18func_ov00_0207d758Ei + arm_func_start _ZN6Course18func_ov00_0207d758Ei +_ZN6Course18func_ov00_0207d758Ei: ; 0x0207d758 cmp r1, #2 ldrb r0, [r0, #0x1d] beq _0207d770 @@ -3952,58 +3952,58 @@ func_ov00_0207d758: ; 0x0207d758 _0207d770: add r0, r0, #1 bx lr - arm_func_end func_ov00_0207d758 + arm_func_end _ZN6Course18func_ov00_0207d758Ei - .global func_ov00_0207d778 - arm_func_start func_ov00_0207d778 -func_ov00_0207d778: ; 0x0207d778 + .global _ZN6Course18func_ov00_0207d778Ev + arm_func_start _ZN6Course18func_ov00_0207d778Ev +_ZN6Course18func_ov00_0207d778Ev: ; 0x0207d778 stmdb sp!, {r3, lr} - bl func_ov00_0207da14 + bl _ZN6Course18func_ov00_0207da14Ev ldrh r0, [r0, #4] ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207d778 + arm_func_end _ZN6Course18func_ov00_0207d778Ev - .global func_ov00_0207d788 - arm_func_start func_ov00_0207d788 -func_ov00_0207d788: ; 0x0207d788 + .global _ZN6Course18func_ov00_0207d788Ev + arm_func_start _ZN6Course18func_ov00_0207d788Ev +_ZN6Course18func_ov00_0207d788Ev: ; 0x0207d788 stmdb sp!, {r3, lr} - bl func_ov00_0207d9cc + bl _ZN6Course18func_ov00_0207d9ccEi cmp r0, #0 ldreq r0, _0207d7a0 ; =0x0000ffff ldrneh r0, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 - arm_func_end func_ov00_0207d788 + arm_func_end _ZN6Course18func_ov00_0207d788Ev _0207d7a0: .word 0x0000ffff - .global func_ov00_0207d7a4 - arm_func_start func_ov00_0207d7a4 -func_ov00_0207d7a4: ; 0x0207d7a4 + .global _ZN6Course18func_ov00_0207d7a4Ev + arm_func_start _ZN6Course18func_ov00_0207d7a4Ev +_ZN6Course18func_ov00_0207d7a4Ev: ; 0x0207d7a4 stmdb sp!, {r3, lr} - bl func_ov00_0207d9cc + bl _ZN6Course18func_ov00_0207d9ccEi cmp r0, #0 moveq r0, #0 ldrne r0, [r0, #0xc] ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207d7a4 + arm_func_end _ZN6Course18func_ov00_0207d7a4Ev - .global func_ov00_0207d7bc - arm_func_start func_ov00_0207d7bc -func_ov00_0207d7bc: ; 0x0207d7bc + .global _ZN6Course18func_ov00_0207d7bcEv + arm_func_start _ZN6Course18func_ov00_0207d7bcEv +_ZN6Course18func_ov00_0207d7bcEv: ; 0x0207d7bc stmdb sp!, {r3, lr} - bl func_ov00_0207da14 + bl _ZN6Course18func_ov00_0207da14Ev ldr r2, _0207d7d8 ; =data_027e103c ldrh r1, [r0, #4] ldr r0, [r2] bl func_ov00_020cf414 ldmia sp!, {r3, pc} .align 2, 0 - arm_func_end func_ov00_0207d7bc + arm_func_end _ZN6Course18func_ov00_0207d7bcEv _0207d7d8: .word data_027e103c - .global func_ov00_0207d7dc - arm_func_start func_ov00_0207d7dc -func_ov00_0207d7dc: ; 0x0207d7dc + .global _ZN6Course18func_ov00_0207d7dcEii + arm_func_start _ZN6Course18func_ov00_0207d7dcEii +_ZN6Course18func_ov00_0207d7dcEii: ; 0x0207d7dc cmp r2, #0 beq _0207d804 add ip, r0, #0x264 @@ -4024,11 +4024,11 @@ _0207d804: and r0, r1, r0 str r0, [r3, r2, lsl #2] bx lr - arm_func_end func_ov00_0207d7dc + arm_func_end _ZN6Course18func_ov00_0207d7dcEii - .global func_ov00_0207d828 - arm_func_start func_ov00_0207d828 -func_ov00_0207d828: ; 0x0207d828 + .global _ZN6Course18func_ov00_0207d828Ei + arm_func_start _ZN6Course18func_ov00_0207d828Ei +_ZN6Course18func_ov00_0207d828Ei: ; 0x0207d828 mov r2, r1, lsr #0x5 add r0, r0, r2, lsl #2 ldr r2, [r0, #0x264] @@ -4037,11 +4037,11 @@ func_ov00_0207d828: ; 0x0207d828 tst r2, r0, lsl r1 moveq r0, #0 bx lr - arm_func_end func_ov00_0207d828 + arm_func_end _ZN6Course18func_ov00_0207d828Ei - .global func_ov00_0207d848 - arm_func_start func_ov00_0207d848 -func_ov00_0207d848: ; 0x0207d848 + .global _ZN6Course18func_ov00_0207d848Eii + arm_func_start _ZN6Course18func_ov00_0207d848Eii +_ZN6Course18func_ov00_0207d848Eii: ; 0x0207d848 cmp r2, #0 beq _0207d870 add ip, r0, #0x268 @@ -4062,11 +4062,11 @@ _0207d870: and r0, r1, r0 str r0, [r3, r2, lsl #2] bx lr - arm_func_end func_ov00_0207d848 + arm_func_end _ZN6Course18func_ov00_0207d848Eii - .global func_ov00_0207d894 - arm_func_start func_ov00_0207d894 -func_ov00_0207d894: ; 0x0207d894 + .global _ZN6Course18func_ov00_0207d894Ei + arm_func_start _ZN6Course18func_ov00_0207d894Ei +_ZN6Course18func_ov00_0207d894Ei: ; 0x0207d894 mov r2, r1, lsr #0x5 add r0, r0, r2, lsl #2 ldr r2, [r0, #0x268] @@ -4075,131 +4075,131 @@ func_ov00_0207d894: ; 0x0207d894 tst r2, r0, lsl r1 moveq r0, #0 bx lr - arm_func_end func_ov00_0207d894 + arm_func_end _ZN6Course18func_ov00_0207d894Ei - .global func_ov00_0207d8b4 - arm_func_start func_ov00_0207d8b4 -func_ov00_0207d8b4: ; 0x0207d8b4 + .global _ZN6Course18func_ov00_0207d8b4Ev + arm_func_start _ZN6Course18func_ov00_0207d8b4Ev +_ZN6Course18func_ov00_0207d8b4Ev: ; 0x0207d8b4 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 - bl func_ov00_0207da14 + bl _ZN6Course18func_ov00_0207da14Ev mov r1, r5 mov r2, r4 bl func_ov00_0209740c ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207d8b4 + arm_func_end _ZN6Course18func_ov00_0207d8b4Ev - .global func_ov00_0207d8d4 - arm_func_start func_ov00_0207d8d4 -func_ov00_0207d8d4: ; 0x0207d8d4 + .global _ZN6Course18func_ov00_0207d8d4Ei + arm_func_start _ZN6Course18func_ov00_0207d8d4Ei +_ZN6Course18func_ov00_0207d8d4Ei: ; 0x0207d8d4 stmdb sp!, {r4, lr} mov r4, r1 - bl func_ov00_0207da14 + bl _ZN6Course18func_ov00_0207da14Ev mov r1, r4 bl func_ov00_02097458 ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207d8d4 + arm_func_end _ZN6Course18func_ov00_0207d8d4Ei - .global func_ov00_0207d8ec - arm_func_start func_ov00_0207d8ec -func_ov00_0207d8ec: ; 0x0207d8ec + .global _ZN6Course18func_ov00_0207d8ecEv + arm_func_start _ZN6Course18func_ov00_0207d8ecEv +_ZN6Course18func_ov00_0207d8ecEv: ; 0x0207d8ec stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 - bl func_ov00_0207da14 + bl _ZN6Course18func_ov00_0207da14Ev mov r1, r5 mov r2, r4 bl func_ov00_02097478 ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207d8ec + arm_func_end _ZN6Course18func_ov00_0207d8ecEv - .global func_ov00_0207d90c - arm_func_start func_ov00_0207d90c -func_ov00_0207d90c: ; 0x0207d90c + .global _ZN6Course18func_ov00_0207d90cEi + arm_func_start _ZN6Course18func_ov00_0207d90cEi +_ZN6Course18func_ov00_0207d90cEi: ; 0x0207d90c stmdb sp!, {r4, lr} mov r4, r1 - bl func_ov00_0207da14 + bl _ZN6Course18func_ov00_0207da14Ev mov r1, r4 bl func_ov00_020974c4 ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207d90c + arm_func_end _ZN6Course18func_ov00_0207d90cEi - .global func_ov00_0207d924 - arm_func_start func_ov00_0207d924 -func_ov00_0207d924: ; 0x0207d924 + .global _ZN6Course18func_ov00_0207d924Ev + arm_func_start _ZN6Course18func_ov00_0207d924Ev +_ZN6Course18func_ov00_0207d924Ev: ; 0x0207d924 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 - bl func_ov00_0207da14 + bl _ZN6Course18func_ov00_0207da14Ev mov r1, r5 mov r2, r4 bl func_ov00_020974e4 ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207d924 + arm_func_end _ZN6Course18func_ov00_0207d924Ev - .global func_ov00_0207d944 - arm_func_start func_ov00_0207d944 -func_ov00_0207d944: ; 0x0207d944 + .global _ZN6Course18func_ov00_0207d944Ei + arm_func_start _ZN6Course18func_ov00_0207d944Ei +_ZN6Course18func_ov00_0207d944Ei: ; 0x0207d944 stmdb sp!, {r4, lr} mov r4, r1 - bl func_ov00_0207da14 + bl _ZN6Course18func_ov00_0207da14Ev mov r1, r4 bl func_ov00_02097530 ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207d944 + arm_func_end _ZN6Course18func_ov00_0207d944Ei - .global func_ov00_0207d95c - arm_func_start func_ov00_0207d95c -func_ov00_0207d95c: ; 0x0207d95c + .global _ZN6Course18func_ov00_0207d95cEv + arm_func_start _ZN6Course18func_ov00_0207d95cEv +_ZN6Course18func_ov00_0207d95cEv: ; 0x0207d95c stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 - bl func_ov00_0207da14 + bl _ZN6Course18func_ov00_0207da14Ev mov r1, r5 mov r2, r4 bl func_ov00_02097550 ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207d95c + arm_func_end _ZN6Course18func_ov00_0207d95cEv - .global func_ov00_0207d97c - arm_func_start func_ov00_0207d97c -func_ov00_0207d97c: ; 0x0207d97c + .global _ZN6Course18func_ov00_0207d97cEi + arm_func_start _ZN6Course18func_ov00_0207d97cEi +_ZN6Course18func_ov00_0207d97cEi: ; 0x0207d97c stmdb sp!, {r4, lr} mov r4, r1 - bl func_ov00_0207da14 + bl _ZN6Course18func_ov00_0207da14Ev mov r1, r4 bl func_ov00_0209759c ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207d97c + arm_func_end _ZN6Course18func_ov00_0207d97cEi - .global func_ov00_0207d994 - arm_func_start func_ov00_0207d994 -func_ov00_0207d994: ; 0x0207d994 + .global _ZN6Course18func_ov00_0207d994Ev + arm_func_start _ZN6Course18func_ov00_0207d994Ev +_ZN6Course18func_ov00_0207d994Ev: ; 0x0207d994 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 - bl func_ov00_0207da14 + bl _ZN6Course18func_ov00_0207da14Ev mov r1, r5 mov r2, r4 bl func_ov00_020975bc ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207d994 + arm_func_end _ZN6Course18func_ov00_0207d994Ev - .global func_ov00_0207d9b4 - arm_func_start func_ov00_0207d9b4 -func_ov00_0207d9b4: ; 0x0207d9b4 + .global _ZN6Course18func_ov00_0207d9b4Ei + arm_func_start _ZN6Course18func_ov00_0207d9b4Ei +_ZN6Course18func_ov00_0207d9b4Ei: ; 0x0207d9b4 stmdb sp!, {r4, lr} mov r4, r1 - bl func_ov00_0207da14 + bl _ZN6Course18func_ov00_0207da14Ev mov r1, r4 bl func_ov00_02097608 ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207d9b4 + arm_func_end _ZN6Course18func_ov00_0207d9b4Ei - .global func_ov00_0207d9cc - arm_func_start func_ov00_0207d9cc -func_ov00_0207d9cc: ; 0x0207d9cc + .global _ZN6Course18func_ov00_0207d9ccEi + arm_func_start _ZN6Course18func_ov00_0207d9ccEi +_ZN6Course18func_ov00_0207d9ccEi: ; 0x0207d9cc ldrb r2, [r0, #0xb0] mov ip, #0 cmp r2, #0 @@ -4221,22 +4221,22 @@ _0207d9fc: _0207da0c: mov r0, #0 bx lr - arm_func_end func_ov00_0207d9cc + arm_func_end _ZN6Course18func_ov00_0207d9ccEi - .global func_ov00_0207da14 - arm_func_start func_ov00_0207da14 -func_ov00_0207da14: ; 0x0207da14 + .global _ZN6Course18func_ov00_0207da14Ev + arm_func_start _ZN6Course18func_ov00_0207da14Ev +_ZN6Course18func_ov00_0207da14Ev: ; 0x0207da14 ldrb r3, [r0, #0x1c] mov r1, #0xa ldrb r2, [r0, #0x1d] mla r1, r3, r1, r0 add r1, r1, r2 - ldr ip, _0207da34 ; =func_ov00_0207d9cc + ldr ip, _0207da34 ; =_ZN6Course18func_ov00_0207d9ccEi ldrb r1, [r1, #0x20] bx ip .align 2, 0 - arm_func_end func_ov00_0207da14 -_0207da34: .word func_ov00_0207d9cc + arm_func_end _ZN6Course18func_ov00_0207da14Ev +_0207da34: .word _ZN6Course18func_ov00_0207d9ccEi .global func_ov00_0207da38 arm_func_start func_ov00_0207da38 @@ -4457,7 +4457,7 @@ func_ov00_0207dce4: ; 0x0207dce4 mov r2, r3, lsl #0xc str r5, [sp] str r2, [sp, #4] - bl func_ov00_0207cbd8 + bl _ZN6Course18func_ov00_0207cbd8Ei mov ip, r5 add r5, sp, #0x20 ldmia r0, {r0, r1, r2} diff --git a/asm/ov04.inc b/asm/ov04.inc index 0f2b9596..8b37a1c7 100644 --- a/asm/ov04.inc +++ b/asm/ov04.inc @@ -428,16 +428,16 @@ .extern func_ov00_0207c000 .extern func_ov00_0207c030 .extern func_ov00_0207c074 -.extern func_ov00_0207ca68 -.extern func_ov00_0207ca78 -.extern func_ov00_0207cb7c -.extern func_ov00_0207cc84 -.extern func_ov00_0207cd74 -.extern func_ov00_0207ce20 -.extern func_ov00_0207d4e4 -.extern func_ov00_0207d7a4 -.extern func_ov00_0207d7bc -.extern func_ov00_0207d9cc +.extern _ZN6Course13SetCourseNameEPc +.extern _ZN6Course18func_ov00_0207ca78Ev +.extern _ZN6Course18func_ov00_0207cb7cEiPS_i +.extern _ZN6Course14GetMCSFilePathEiii +.extern _ZN6Course14GetMRCFilePathEiii +.extern _ZN6Course18func_ov00_0207ce20Eiiii +.extern _ZN6Course18func_ov00_0207d4e4Ei +.extern _ZN6Course18func_ov00_0207d7a4Ev +.extern _ZN6Course18func_ov00_0207d7bcEv +.extern _ZN6Course18func_ov00_0207d9ccEi .extern func_ov00_0207dce4 .extern func_ov00_0207dda0 .extern func_ov00_0207ddf8 diff --git a/asm/ov04.s b/asm/ov04.s index bd2df20b..f8aee019 100644 --- a/asm/ov04.s +++ b/asm/ov04.s @@ -3141,7 +3141,7 @@ func_ov04_02102264: ; 0x02102264 beq _021022fc ldr r1, [r5] add r0, sp, #0x18 - blx func_ov00_0207cb7c + blx _ZN6Course18func_ov00_0207cb7cEiPS_i add r0, sp, #0x18 ldrb r2, [r0] ldr r1, [r5] @@ -3221,7 +3221,7 @@ _02102382: ldr r2, [sp, #0x120] add r1, sp, #0xd8 mov r3, #1 - blx func_ov00_0207cc84 + blx _ZN6Course14GetMCSFilePathEiii ldr r0, _021024a8 ; =data_02057878 mov r2, #0 str r0, [sp, #0x84] @@ -3242,7 +3242,7 @@ _02102382: ldr r2, [sp, #0x120] add r1, sp, #0xd8 mov r3, #2 - blx func_ov00_0207cc84 + blx _ZN6Course14GetMCSFilePathEiii mov r2, #0 ldr r0, _021024a8 ; =data_02057878 str r2, [sp, #0x78] @@ -3264,7 +3264,7 @@ _02102382: ldr r2, [sp, #0x120] add r1, sp, #0xd8 mov r3, #2 - blx func_ov00_0207cc84 + blx _ZN6Course14GetMCSFilePathEiii mov r2, #0 ldr r0, _021024a8 ; =data_02057878 str r2, [sp, #0x64] @@ -3286,7 +3286,7 @@ _02102382: ldr r2, [sp, #0x120] add r1, #2 mov r3, #3 - blx func_ov00_0207cc84 + blx _ZN6Course14GetMCSFilePathEiii ldr r0, [r5, #4] add r1, sp, #0x18 ldr r2, [r0] @@ -23699,7 +23699,7 @@ _0210c218: add r0, sp, #8 add r1, r4, #0 add r2, r6, #0 - blx func_ov00_0207cb7c + blx _ZN6Course18func_ov00_0207cb7cEiPS_i strb r6, [r5, #0x13] add r0, sp, #8 ldrb r1, [r0, #1] @@ -23719,7 +23719,7 @@ _0210c218: add r0, r4, #0 add r1, r6, #0 add r3, sp - blx func_ov00_0207ce20 + blx _ZN6Course18func_ov00_0207ce20Eiiii add r0, r5, #0 ldr r2, [r0] ldr r1, _0210c3e4 ; =0x000004c0 @@ -23733,7 +23733,7 @@ _0210c218: add r0, r4, #0 add r1, r6, #0 add r3, sp - blx func_ov00_0207ce20 + blx _ZN6Course18func_ov00_0207ce20Eiiii ldr r0, _0210c3ec ; =data_027e0f6c ldr r1, _0210c3e8 ; =0x00000440 ldr r0, [r0] @@ -23750,7 +23750,7 @@ _0210c218: add r0, r4, #0 add r1, r6, #0 add r3, sp - blx func_ov00_0207ce20 + blx _ZN6Course18func_ov00_0207ce20Eiiii mov r0, #0 str r0, [sp, #0xc] ldr r0, _0210c3d8 ; =0x00000540 @@ -23773,7 +23773,7 @@ _0210c218: add r0, r4, #0 add r1, r6, #0 mov r2, #1 - blx func_ov00_0207ca78 + blx _ZN6Course18func_ov00_0207ca78Ev add r0, r5, #0 ldr r1, [r0] ldr r1, [r1, #0x14] @@ -23802,7 +23802,7 @@ _0210c342: add r0, r4, #0 add r1, r6, #0 add r3, sp - blx func_ov00_0207ce20 + blx _ZN6Course18func_ov00_0207ce20Eiiii ldr r0, _0210c3f0 ; =data_027e103c ldr r1, _0210c3d8 ; =0x00000540 ldr r0, [r0] @@ -23814,7 +23814,7 @@ _0210c342: cmp r0, #0 beq _0210c370 add r0, r4, #0 - blx func_ov00_0207d7bc + blx _ZN6Course18func_ov00_0207d7bcEv _0210c370: ldr r0, _0210c3f4 ; =data_027e0d38 ldr r1, [r0] @@ -23906,7 +23906,7 @@ func_ov04_0210c3fc: ; 0x0210c3fc ldr r2, [r5, #0x24] add r0, r6, #0 add r3, sp, #0x2c - blx func_ov00_0207ce20 + blx _ZN6Course18func_ov00_0207ce20Eiiii mov r2, #0 ldr r0, _0210c4f8 ; =data_02057878 str r2, [sp, #0x20] @@ -23927,7 +23927,7 @@ func_ov04_0210c3fc: ; 0x0210c3fc ldr r2, [r5, #0x24] add r0, r6, #0 add r3, sp, #0x6c - blx func_ov00_0207ce20 + blx _ZN6Course18func_ov00_0207ce20Eiiii mov r1, #0 ldr r0, _0210c4f8 ; =data_02057878 str r1, [sp, #0xc] @@ -24922,7 +24922,7 @@ func_ov04_0210cc20: ; 0x0210cc20 ldrb r1, [r4, #0x13] ldr r2, [r4, #0x24] add r3, sp, #0x10 - blx func_ov00_0207ce20 + blx _ZN6Course18func_ov00_0207ce20Eiiii mov r0, #0 str r0, [sp, #0xc] add r0, sp, #0x10 @@ -24951,7 +24951,7 @@ func_ov04_0210cc58: ; 0x0210cc58 bne _0210cc72 add r0, r1, #0 add r1, r2, #0 - blx func_ov00_0207d7a4 + blx _ZN6Course18func_ov00_0207d7a4Ev add r1, r0, #0 ldr r0, _0210cc78 ; =gOverlayManager bl func_ov03_020faa64 @@ -28840,7 +28840,7 @@ func_ov04_0210ee84: ; 0x0210ee84 sub sp, #0xa8 add r4, r1, #0 add r5, r0, #0 - blx func_ov00_0207ca68 + blx _ZN6Course13SetCourseNameEPc ldr r0, [r4, #0x20] mov r2, #0x2c str r0, [r5, #4] @@ -28925,7 +28925,7 @@ _0210ef12: add r0, r5, #0 add r1, sp, #0x28 add r3, r2, #0 - blx func_ov00_0207cc84 + blx _ZN6Course14GetMCSFilePathEiii mov r1, #0 ldr r0, _0210ef88 ; =data_02057878 str r1, [sp, #0x1c] @@ -28973,7 +28973,7 @@ func_ov04_0210ef90: ; 0x0210ef90 mov r3, #0 add r5, r0, #0 add r4, r1, #0 - blx func_ov00_0207cd74 + blx _ZN6Course14GetMRCFilePathEiii mov r1, #0 ldr r0, _0210f004 ; =data_02057878 str r1, [sp, #0x14] @@ -29104,7 +29104,7 @@ func_ov04_0210f07c: ; 0x0210f07c ldrb r1, [r4] cmp r1, #0xff beq _0210f0f4 - blx func_ov00_0207d9cc + blx _ZN6Course18func_ov00_0207d9ccEi cmp r0, #0 bne _0210f0f4 ldr r1, _0210f0f8 ; =data_027e0ce0 @@ -29296,20 +29296,20 @@ _0210f1ea: add r0, #2 add r1, r5, #0 add r2, r7, #0 - blx func_ov00_0207cb7c + blx _ZN6Course18func_ov00_0207cb7cEiPS_i add r0, sp, #0x18 ldrb r0, [r0, #2] add r1, r5, #0 add r2, r7, #0 str r0, [sp, #4] add r0, sp, #0x18 - blx func_ov00_0207cb7c + blx _ZN6Course18func_ov00_0207cb7cEiPS_i add r0, sp, #0x18 ldrb r0, [r0, #1] add r1, r7, #0 str r0, [sp] add r0, r5, #0 - blx func_ov00_0207d4e4 + blx _ZN6Course18func_ov00_0207d4e4Ei cmp r0, #0 beq _0210f284 add r1, r5, #0 diff --git a/asm/ov15.inc b/asm/ov15.inc index 2cdde376..d30b0cfd 100644 --- a/asm/ov15.inc +++ b/asm/ov15.inc @@ -419,12 +419,12 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_0207c518 -.extern func_ov00_0207ca78 -.extern func_ov00_0207cb7c -.extern func_ov00_0207ce20 -.extern func_ov00_0207d634 -.extern func_ov00_0207d6ec -.extern func_ov00_0207d7bc +.extern _ZN6Course18func_ov00_0207ca78Ev +.extern _ZN6Course18func_ov00_0207cb7cEiPS_i +.extern _ZN6Course18func_ov00_0207ce20Eiiii +.extern _ZN6Course18func_ov00_0207d634Ei +.extern _ZN6Course18func_ov00_0207d6ecEv +.extern _ZN6Course18func_ov00_0207d7bcEv .extern func_ov00_0207da38 .extern func_ov00_0207dce4 .extern func_ov00_0207dda0 diff --git a/asm/ov15.s b/asm/ov15.s index 08c04702..f59f499c 100644 --- a/asm/ov15.s +++ b/asm/ov15.s @@ -11705,7 +11705,7 @@ _02129058: add r0, sp, #8 mov r1, r4 mov r2, r6 - bl func_ov00_0207cb7c + bl _ZN6Course18func_ov00_0207cb7cEiPS_i strb r6, [r7, #0x13] ldrb r3, [sp, #9] ldrb r2, [sp, #8] @@ -11724,7 +11724,7 @@ _02129058: mov r0, r4 mov r1, r6 add r3, r3, #0xa8 - bl func_ov00_0207ce20 + bl _ZN6Course18func_ov00_0207ce20Eiiii mov r0, #0 str r0, [sp, #0xc] add r0, sp, #0x400 @@ -11749,7 +11749,7 @@ _02129058: mov r0, r4 mov r1, r6 add r3, sp, #0x10 - bl func_ov00_0207ce20 + bl _ZN6Course18func_ov00_0207ce20Eiiii ldr r0, _0212923c ; =data_027e0f6c add r1, sp, #0x10 ldr r0, [r0] @@ -11761,7 +11761,7 @@ _02129058: mov r0, r4 mov r1, r6 mov r2, #1 - bl func_ov00_0207ca78 + bl _ZN6Course18func_ov00_0207ca78Ev mov r0, r7 ldr r1, [r0] ldr r1, [r1, #0x14] @@ -11773,7 +11773,7 @@ _02129058: mov r1, r6 mov r0, r4 add r3, r3, #0xa8 - bl func_ov00_0207ce20 + bl _ZN6Course18func_ov00_0207ce20Eiiii ldr r0, _02129240 ; =data_027e103c add r1, sp, #0x400 ldr r0, [r0] @@ -11783,7 +11783,7 @@ _02129058: cmp r0, #0 beq _02129210 mov r0, r4 - bl func_ov00_0207d7bc + bl _ZN6Course18func_ov00_0207d7bcEv _02129210: mov r0, r7 mov r1, r4 @@ -11869,7 +11869,7 @@ func_ov15_0212925c: ; 0x0212925c _02129300: mov r0, r8 mov r1, r7 - bl func_ov00_0207d634 + bl _ZN6Course18func_ov00_0207d634Ei cmp r0, #0 beq _021296ac ldr r1, _021296c4 ; =data_027e0ce0 @@ -11895,7 +11895,7 @@ _0212935c: str r0, [r1, #0x188] mov r0, r8 mov r1, r7 - bl func_ov00_0207d6ec + bl _ZN6Course18func_ov00_0207d6ecEv mov r1, #0 str r1, [sp, #0x10] mov r1, #0x47 @@ -11922,7 +11922,7 @@ _0212935c: str r0, [sp, #0x18] mov r0, r8 mov r1, r7 - bl func_ov00_0207d634 + bl _ZN6Course18func_ov00_0207d634Ei cmp r0, #0 beq _021293f8 mov r0, r9 @@ -12044,7 +12044,7 @@ _0212953c: _02129598: mov r0, r8 mov r1, r7 - bl func_ov00_0207d634 + bl _ZN6Course18func_ov00_0207d634Ei cmp r0, #0 beq _021295ec mov r0, r9 @@ -12096,7 +12096,7 @@ _0212960c: bl func_ov00_02093a5c mov r0, r8 mov r1, r7 - bl func_ov00_0207d634 + bl _ZN6Course18func_ov00_0207d634Ei cmp r0, #0 beq _0212969c mov r0, r9 diff --git a/asm/ov18.inc b/asm/ov18.inc index 613fb30f..db3b770b 100644 --- a/asm/ov18.inc +++ b/asm/ov18.inc @@ -231,8 +231,8 @@ .extern func_ov00_0207c2e8 .extern func_ov00_0207c444 .extern func_ov00_0207c474 -.extern func_ov00_0207d634 -.extern func_ov00_0207d6ec +.extern _ZN6Course18func_ov00_0207d634Ei +.extern _ZN6Course18func_ov00_0207d6ecEv .extern func_ov00_0207da38 .extern func_ov00_0207ddf4 .extern func_ov00_0207e060 diff --git a/asm/ov18.s b/asm/ov18.s index 00896037..97efd237 100644 --- a/asm/ov18.s +++ b/asm/ov18.s @@ -345,7 +345,7 @@ func_ov18_0215b86c: ; 0x0215b86c _0215b934: mov r0, r8 mov r1, r7 - bl func_ov00_0207d634 + bl _ZN6Course18func_ov00_0207d634Ei cmp r0, #0 beq _0215bd54 ldr r1, _0215bd74 ; =data_027e0ce0 @@ -371,7 +371,7 @@ _0215b990: str r0, [r1, #0x190] mov r0, r8 mov r1, r7 - bl func_ov00_0207d6ec + bl _ZN6Course18func_ov00_0207d6ecEv mov r1, #0 str r1, [sp, #0xc] mov r1, #0x47 diff --git a/include/Map/Course.hpp b/include/Map/Course.hpp new file mode 100644 index 00000000..847296ef --- /dev/null +++ b/include/Map/Course.hpp @@ -0,0 +1,114 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "Physics/AABB.hpp" +#include "System/SysNew.hpp" + +typedef unk32 CourseType; +enum CourseType_ { + CourseType_Normal = 0, + CourseType_Dungeon = 1, + CourseType_Sea = 2, + CourseType_TempleOfTheOceanKing = 3, + CourseType_Battle = 4, +}; + +struct CourseProgress { + /* 0 */ unk32 flags; + /* 4 */ s8 numKeys; + /* 5 */ bool blueWarpOpen; + /* 6 */ +}; + +class Course : public SysObject { + /* 000 */ unk32 mIndex; + /* 004 */ CourseType mType; + /* 008 */ unk32 mUnk_008; + /* 00c */ char mName[0x10]; + /* 01c */ unk8 mUnk_01c; + /* 01d */ unk8 mUnk_01d; + /* 01e */ unk8 mUnk_01e; + /* 01f */ unk8 mUnk_01f; + /* 020 */ unk8 mUnk_020[0x64]; + /* 084 */ s8 mUnk_084; + /* 084 */ s8 mUnk_085; + /* 084 */ s8 mUnk_086; + /* 084 */ s8 mUnk_087; + /* 088 */ unk32 mUnk_088; + /* 08c */ unk32 mUnk_08c; + /* 090 */ unk32 mUnk_090; + /* 094 */ unk32 mUnk_094; + /* 098 */ AABB mBounds; + /* 0b0 */ s8 mUnk_0b0; + /* 0b1 */ unk8 mUnk_0b1; + /* 0b2 */ unk8 mUnk_0b2; + /* 0b3 */ unk8 mUnk_0b3; + /* 0b4 */ unk32 mUnk_0b4; + /* 0b8 */ unk32 mUnk_0b8; + /* 0bc */ unk32 mUnk_0bc; + /* 0c0 */ unk32 mUnk_0c0; + /* 0c4 */ unk32 mUnk_0c4; + /* 0c8 */ void *mUnk_0c8; + /* 0cc */ unk32 mUnk_0cc; + /* 0d0 */ unk8 mUnk_0d0[0x18c]; + /* 25c */ bool mUnk_25c; + /* 25d */ bool mBlueWarpOpen; + /* 25e */ unk8 mUnk_25e; + /* 25f */ unk8 mUnk_25f; + /* 260 */ unk32 mNumKeys; + /* 264 */ unk32 mUnk_264; + /* 268 */ unk32 mFlags; // knows which doors are open in a dungeon + /* 26c */ + + unk8 GetDungeonProgress(CourseProgress *param_2); + unk8 func_ov00_0207ca28(unk32 param_2, unk32 param_3, unk32 param_4); + char * SetCourseName(char *src); + static unk8 func_ov00_0207ca78(); + bool func_ov00_0207caa8(unk32 param_2, unk32 param_3, unk32 param_4); + unk32 func_ov00_0207cb30(unk32 param_2); + static unk8 func_ov00_0207cb7c(unk32 param_1, Course *param_2, unk32 param_3); + Vec3p * func_ov00_0207cbd8(unk32 param_2); + void func_ov00_0207cbe8(unk32 param_2); + unk8 func_ov00_0207cc24(unk32 param_2); + unk32 func_ov00_0207cc6c(); + void GetMCSFilePath(unk32 buf, s32 fileIndex, unk32 fileType); + void GetMRCFilePath(unk32 param_2, unk32 buf, unk32 param_4); + unk8 func_ov00_0207ce20(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + static unk8 func_ov00_0207ce4c(unk8 param_1, unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5, unk32 param_6); + bool func_ov00_0207d404(unk32 param_2, unk32 param_3, unk32 param_4); + bool func_ov00_0207d47c(); + bool func_ov00_0207d490(unk32 param_2, unk32 param_3); + bool func_ov00_0207d4e4(unk32 param_2); + bool func_ov00_0207d518(s32 param_2, s32 *param_3, s32 *param_4); + unk8 func_ov00_0207d5c4(); + unk8 func_ov00_0207d5f0(); + unk8 func_ov00_0207d61c(); + unk8 GetUnk_c8_Unk_4(); + bool func_ov00_0207d634(unk32 param_2); + unk8 func_ov00_0207d6ac(unk32 param_2, unk32 param_3); + static unk8 func_ov00_0207d6ec(); + unk8 func_ov00_0207d738(unk32 param_2); + unk8 func_ov00_0207d758(unk32 param_2); + static unk8 func_ov00_0207d778(); + static unk8 func_ov00_0207d788(); + static unk8 func_ov00_0207d7a4(); + void func_ov00_0207d7bc(); + unk8 func_ov00_0207d7dc(unk32 param_2, unk32 param_3); + unk8 func_ov00_0207d828(unk32 param_2); + unk8 func_ov00_0207d848(unk32 param_2, unk32 param_3); + unk8 func_ov00_0207d894(unk32 param_2); + static unk8 func_ov00_0207d8b4(); + bool func_ov00_0207d8d4(unk32 param_2); + static unk8 func_ov00_0207d8ec(); + bool func_ov00_0207d90c(unk32 param_2); + static unk8 func_ov00_0207d924(); + bool func_ov00_0207d944(unk32 param_2); + static unk8 func_ov00_0207d95c(); + bool func_ov00_0207d97c(unk32 param_2); + static unk8 func_ov00_0207d994(); + bool func_ov00_0207d9b4(unk32 param_2); + unk32 func_ov00_0207d9cc(unk32 param_2); + s32 func_ov00_0207da14(); +}; diff --git a/src/00_Core/Map/Course.cpp b/src/00_Core/Map/Course.cpp new file mode 100644 index 00000000..27a4fe96 --- /dev/null +++ b/src/00_Core/Map/Course.cpp @@ -0,0 +1,55 @@ +#include "Map/Course.hpp" + +#ifdef STUBS + +unk8 Course::GetDungeonProgress(CourseProgress *param_2) {} +unk8 Course::func_ov00_0207ca28(unk32 param_2, unk32 param_3, unk32 param_4) {} +char * Course::SetCourseName(char *src) {} +unk8 Course::func_ov00_0207ca78() {} +bool Course::func_ov00_0207caa8(unk32 param_2, unk32 param_3, unk32 param_4) {} +unk32 Course::func_ov00_0207cb30(unk32 param_2) {} +unk8 Course::func_ov00_0207cb7c(unk32 param_1, Course *param_2, unk32 param_3) {} +Vec3p * Course::func_ov00_0207cbd8(unk32 param_2) {} +void Course::func_ov00_0207cbe8(unk32 param_2) {} +unk8 Course::func_ov00_0207cc24(unk32 param_2) {} +unk32 Course::func_ov00_0207cc6c() {} +void Course::GetMCSFilePath(unk32 buf, s32 fileIndex, unk32 fileType) {} +void Course::GetMRCFilePath(unk32 param_2, unk32 buf, unk32 param_4) {} +unk8 Course::func_ov00_0207ce20(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5) {} +unk8 Course::func_ov00_0207ce4c(unk8 param_1, unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5, unk32 param_6) {} +bool Course::func_ov00_0207d404(unk32 param_2, unk32 param_3, unk32 param_4) {} +bool Course::func_ov00_0207d47c() {} +bool Course::func_ov00_0207d490(unk32 param_2, unk32 param_3) {} +bool Course::func_ov00_0207d4e4(unk32 param_2) {} +bool Course::func_ov00_0207d518(s32 param_2, s32 *param_3, s32 *param_4) {} +unk8 Course::func_ov00_0207d5c4() {} +unk8 Course::func_ov00_0207d5f0() {} +unk8 Course::func_ov00_0207d61c() {} +unk8 Course::GetUnk_c8_Unk_4() {} +bool Course::func_ov00_0207d634(unk32 param_2) {} +unk8 Course::func_ov00_0207d6ac(unk32 param_2, unk32 param_3) {} +unk8 Course::func_ov00_0207d6ec() {} +unk8 Course::func_ov00_0207d738(unk32 param_2) {} +unk8 Course::func_ov00_0207d758(unk32 param_2) {} +unk8 Course::func_ov00_0207d778() {} +unk8 Course::func_ov00_0207d788() {} +unk8 Course::func_ov00_0207d7a4() {} +void Course::func_ov00_0207d7bc() {} +unk8 Course::func_ov00_0207d7dc(unk32 param_2, unk32 param_3) {} +unk8 Course::func_ov00_0207d828(unk32 param_2) {} +unk8 Course::func_ov00_0207d848(unk32 param_2, unk32 param_3) {} +unk8 Course::func_ov00_0207d894(unk32 param_2) {} +unk8 Course::func_ov00_0207d8b4() {} +bool Course::func_ov00_0207d8d4(unk32 param_2) {} +unk8 Course::func_ov00_0207d8ec() {} +bool Course::func_ov00_0207d90c(unk32 param_2) {} +unk8 Course::func_ov00_0207d924() {} +bool Course::func_ov00_0207d944(unk32 param_2) {} +unk8 Course::func_ov00_0207d95c() {} +bool Course::func_ov00_0207d97c(unk32 param_2) {} +unk8 Course::func_ov00_0207d994() {} +bool Course::func_ov00_0207d9b4(unk32 param_2) {} +unk32 Course::func_ov00_0207d9cc(unk32 param_2) {} +s32 Course::func_ov00_0207da14() {} + +#endif From a8c5c49efae2c4c1489bad419fd680bc0e85800c Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 23 Apr 2024 00:30:20 +0200 Subject: [PATCH 19/76] Delink `Course` --- asm/main/main_02000000.inc | 10 +- asm/ov00/Map/Course.inc | 29 + asm/ov00/Map/Course.s | 1459 +++ asm/ov00/Map/MapManager.inc | 74 +- asm/ov00/Map/MapManager.s | 105 + asm/ov00/Player/TouchControl.inc | 5 + asm/ov00/Player/TouchControl.s | 29 + asm/ov00/ov00_020773c0.inc | 25 +- asm/ov00/ov00_020773c0.s | 1745 +++ asm/ov00/ov00_0207af9c.inc | 257 - asm/ov00/ov00_0207af9c.s | 17482 -------------------------- asm/ov00/ov00_0207afa0.inc | 113 + asm/ov00/ov00_0207afa0.s | 6376 ++++++++++ asm/ov00/ov00_0207da38.inc | 86 + asm/ov00/ov00_0207da38.s | 6035 +++++++++ asm/ov00/ov00_02086cd0.inc | 20 +- asm/ov00/ov00_02086cd0.s | 1757 +++ asm/ov00/ov00_020c3e54.inc | 2 +- asm/ov04.inc | 22 +- asm/ov05.inc | 60 +- asm/ov14/ov14_0211f640.inc | 2 +- asm/ov24.inc | 42 +- asm/ov29.inc | 2 +- asm/ov37.inc | 2 +- asm/ov46.inc | 12 +- include/Player/TouchControl.hpp | 1 + src/00_Core/Player/TouchControl.cpp | 1 + tools/lcf.py | 7 +- 28 files changed, 17894 insertions(+), 17866 deletions(-) create mode 100644 asm/ov00/Map/Course.inc create mode 100644 asm/ov00/Map/Course.s delete mode 100644 asm/ov00/ov00_0207af9c.inc delete mode 100644 asm/ov00/ov00_0207af9c.s create mode 100644 asm/ov00/ov00_0207afa0.inc create mode 100644 asm/ov00/ov00_0207afa0.s create mode 100644 asm/ov00/ov00_0207da38.inc create mode 100644 asm/ov00/ov00_0207da38.s diff --git a/asm/main/main_02000000.inc b/asm/main/main_02000000.inc index ff72ea0a..7913f1d0 100644 --- a/asm/main/main_02000000.inc +++ b/asm/main/main_02000000.inc @@ -1,5 +1,9 @@ #pragma once .extern Divide +.extern _ZN10MapManager18func_ov00_02082614Eii +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02084740Ev +.extern _ZN10MapManager18func_ov00_02086044Eiii .extern _ZN11ItemManager10GiveRupeesEjj .extern _ZN11ItemManager7AddItemEi .extern _ZN11ItemManager8GiveKeysEj @@ -111,7 +115,6 @@ .extern data_027e0dbc .extern data_027e0e28 .extern data_027e0e2c -.extern gMapManager .extern data_027e0f64 .extern data_027e0f7c .extern data_027e0f80 @@ -375,10 +378,6 @@ .extern func_ov00_0207bcb4 .extern func_ov00_0207be84 .extern func_ov00_0207c0f0 -.extern _ZN10MapManager18func_ov00_02082614Eii -.extern _ZN10MapManager18func_ov00_020838e8EjPi -.extern _ZN10MapManager18func_ov00_02084740Ev -.extern _ZN10MapManager18func_ov00_02086044Eiii .extern func_ov00_02087d98 .extern func_ov00_02089068 .extern func_ov00_0208b180 @@ -477,6 +476,7 @@ .extern gAdventureFlags .extern gHeap .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern gpBuildDate .extern strcat diff --git a/asm/ov00/Map/Course.inc b/asm/ov00/Map/Course.inc new file mode 100644 index 00000000..17c008fd --- /dev/null +++ b/asm/ov00/Map/Course.inc @@ -0,0 +1,29 @@ +#pragma once +.extern Divide +.extern _ZN14AdventureFlags3GetEj +.extern data_027e0d38 +.extern data_027e0f7c +.extern data_027e103c +.extern data_ov00_020e233c +.extern data_ov00_020e2508 +.extern data_ov00_020e250c +.extern func_02002c14 +.extern func_0200c8d0 +.extern func_ov00_020972e4 +.extern func_ov00_0209740c +.extern func_ov00_02097458 +.extern func_ov00_02097478 +.extern func_ov00_020974c4 +.extern func_ov00_020974e4 +.extern func_ov00_02097530 +.extern func_ov00_02097550 +.extern func_ov00_0209759c +.extern func_ov00_020975bc +.extern func_ov00_02097608 +.extern func_ov00_0209d71c +.extern func_ov00_020a3510 +.extern func_ov00_020a3710 +.extern func_ov00_020a5e9c +.extern func_ov00_020cf414 +.extern gAdventureFlags +.extern strcpy diff --git a/asm/ov00/Map/Course.s b/asm/ov00/Map/Course.s new file mode 100644 index 00000000..160e5e9d --- /dev/null +++ b/asm/ov00/Map/Course.s @@ -0,0 +1,1459 @@ + .include "ov00/Map/Course.inc" + .include "macros/function.inc" + + .text + + .global _ZN6Course18GetDungeonProgressEP14CourseProgress + arm_func_start _ZN6Course18GetDungeonProgressEP14CourseProgress +_ZN6Course18GetDungeonProgressEP14CourseProgress: ; 0x0207ca00 + ldr r2, [r0, #0x268] + str r2, [r1] + ldr r2, [r0, #4] + cmp r2, #3 + bxeq lr + ldr r2, [r0, #0x260] + strb r2, [r1, #4] + ldrb r0, [r0, #0x25d] + strb r0, [r1, #5] + bx lr + arm_func_end _ZN6Course18GetDungeonProgressEP14CourseProgress + + .global _ZN6Course18func_ov00_0207ca28Eiii + arm_func_start _ZN6Course18func_ov00_0207ca28Eiii +_ZN6Course18func_ov00_0207ca28Eiii: ; 0x0207ca28 + stmdb sp!, {r3, lr} + ldr ip, [r0, #4] + add r0, r0, r1, lsl #2 + cmp ip, #3 + ldr r0, [r0, #0xcc] + bne _0207ca54 + mov r1, r2 + mov r2, r3 + mov r3, #1 + bl func_ov00_020972e4 + ldmia sp!, {r3, pc} +_0207ca54: + mov r1, r2 + mov r2, r3 + mov r3, #0 + bl func_ov00_020972e4 + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course18func_ov00_0207ca28Eiii + + .global _ZN6Course13SetCourseNameEPc + arm_func_start _ZN6Course13SetCourseNameEPc +_ZN6Course13SetCourseNameEPc: ; 0x0207ca68 + ldr ip, _0207ca74 ; =strcpy + add r0, r0, #0xc + bx ip + .align 2, 0 + arm_func_end _ZN6Course13SetCourseNameEPc +_0207ca74: .word strcpy + + .global _ZN6Course18func_ov00_0207ca78Ev + arm_func_start _ZN6Course18func_ov00_0207ca78Ev +_ZN6Course18func_ov00_0207ca78Ev: ; 0x0207ca78 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r4, r2 + bl _ZN6Course18func_ov00_0207d9ccEi + movs r1, r0 + ldmeqia sp!, {r3, r4, r5, pc} + strb r4, [r1] + ldr r0, [r5, #0xc8] + ldr r1, [r1, #8] + mov r2, #1 + bl func_ov00_020a3510 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN6Course18func_ov00_0207ca78Ev + + .global _ZN6Course18func_ov00_0207caa8Eiii + arm_func_start _ZN6Course18func_ov00_0207caa8Eiii +_ZN6Course18func_ov00_0207caa8Eiii: ; 0x0207caa8 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #0x10 + cmp r1, #0 + mov r5, r2 + mov r4, r3 + addeq sp, sp, #0x10 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, pc} + mov r3, #0x47 + mov r2, #0 + strb r2, [sp, #0xc] + str r3, [sp] + ldr r0, [r0, #0xc8] + add r2, sp, #0 + bl func_ov00_020a3710 + cmp r0, #0 + addeq sp, sp, #0x10 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, pc} + ldr r1, [sp] + mov r0, #1 + str r1, [r5] + ldrb r1, [sp, #4] + strb r1, [r4] + ldrb r1, [sp, #5] + strb r1, [r4, #1] + ldrh r1, [sp, #6] + strh r1, [r4, #2] + ldrh r1, [sp, #8] + strh r1, [r4, #4] + ldrh r1, [sp, #0xa] + strh r1, [r4, #6] + add sp, sp, #0x10 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN6Course18func_ov00_0207caa8Eiii + + .global _ZN6Course18func_ov00_0207cb30Ei + arm_func_start _ZN6Course18func_ov00_0207cb30Ei +_ZN6Course18func_ov00_0207cb30Ei: ; 0x0207cb30 + stmdb sp!, {r3, lr} + sub sp, sp, #0x10 + cmp r1, #0 + addeq sp, sp, #0x10 + ldreq r0, _0207cb78 ; =0x0000ffff + ldmeqia sp!, {r3, pc} + mov r3, #0x47 + mov r2, #0 + strb r2, [sp, #0xc] + str r3, [sp] + ldr r0, [r0, #0xc8] + add r2, sp, #0 + bl func_ov00_020a3710 + cmp r0, #0 + ldrneh r0, [sp, #0xa] + ldreq r0, _0207cb78 ; =0x0000ffff + add sp, sp, #0x10 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end _ZN6Course18func_ov00_0207cb30Ei +_0207cb78: .word 0x0000ffff + + .global _ZN6Course18func_ov00_0207cb7cEiPS_i + arm_func_start _ZN6Course18func_ov00_0207cb7cEiPS_i +_ZN6Course18func_ov00_0207cb7cEiPS_i: ; 0x0207cb7c + stmdb sp!, {r3, r4, r5, lr} + mov lr, #0 + mov r5, r1 + mov ip, lr +_0207cb8c: + mov r4, ip +_0207cb90: + add r3, r5, r4 + ldrb r3, [r3, #0x20] + cmp r2, r3 + streqb lr, [r0] + streqb r4, [r0, #1] + ldmeqia sp!, {r3, r4, r5, pc} + add r4, r4, #1 + cmp r4, #0xa + blt _0207cb90 + add lr, lr, #1 + cmp lr, #0xa + add r5, r5, #0xa + blt _0207cb8c + ldrb r2, [r1, #0x1d] + ldrb r1, [r1, #0x1c] + strb r1, [r0] + strb r2, [r0, #1] + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN6Course18func_ov00_0207cb7cEiPS_i + + .global _ZN6Course18func_ov00_0207cbd8Ei + arm_func_start _ZN6Course18func_ov00_0207cbd8Ei +_ZN6Course18func_ov00_0207cbd8Ei: ; 0x0207cbd8 + stmdb sp!, {r3, lr} + bl _ZN6Course18func_ov00_0207d9ccEi + add r0, r0, #0x14 + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course18func_ov00_0207cbd8Ei + + .global _ZN6Course18func_ov00_0207cbe8Ei + arm_func_start _ZN6Course18func_ov00_0207cbe8Ei +_ZN6Course18func_ov00_0207cbe8Ei: ; 0x0207cbe8 + stmdb sp!, {r3, lr} + sub sp, sp, #0x10 + cmp r1, #0 + addeq sp, sp, #0x10 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + mov r3, #0x47 + mov r2, #0 + strb r2, [sp, #0xc] + str r3, [sp] + ldr r0, [r0, #0xc8] + add r2, sp, #0 + bl func_ov00_020a3710 + add sp, sp, #0x10 + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course18func_ov00_0207cbe8Ei + + .global _ZN6Course18func_ov00_0207cc24Ei + arm_func_start _ZN6Course18func_ov00_0207cc24Ei +_ZN6Course18func_ov00_0207cc24Ei: ; 0x0207cc24 + stmdb sp!, {r3, lr} + sub sp, sp, #0x10 + cmp r1, #0 + addeq sp, sp, #0x10 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + mov r3, #0x47 + mov r2, #0 + strb r2, [sp, #0xc] + str r3, [sp] + ldr r0, [r0, #0xc8] + add r2, sp, #0 + bl func_ov00_020a3710 + cmp r0, #0 + ldrneb r0, [sp, #0xc] + moveq r0, #0 + add sp, sp, #0x10 + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course18func_ov00_0207cc24Ei + + .global _ZN6Course18func_ov00_0207cc6cEv + arm_func_start _ZN6Course18func_ov00_0207cc6cEv +_ZN6Course18func_ov00_0207cc6cEv: ; 0x0207cc6c + stmdb sp!, {r3, lr} + bl _ZN6Course18func_ov00_0207d9ccEi + cmp r0, #0 + moveq r0, #0 + ldrne r0, [r0, #8] + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course18func_ov00_0207cc6cEv + + .global _ZN6Course14GetMCSFilePathEiii + arm_func_start _ZN6Course14GetMCSFilePathEiii +_ZN6Course14GetMCSFilePathEiii: ; 0x0207cc84 + stmdb sp!, {r3, lr} + mov lr, r0 + mov ip, r2 + cmp r3, #3 + addls pc, pc, r3, lsl #2 + b _0207cd3c +_0207cc9c: ; jump table + b _0207cd3c ; case 0 + b _0207ccac ; case 1 + b _0207cce8 ; case 2 + b _0207cd24 ; case 3 +_0207ccac: + cmp ip, #0 + bne _0207cccc + ldr r2, _0207cd58 ; =data_ov00_020e2508 + mov r0, r1 + ldr r2, [r2] + ldr r1, _0207cd5c ; =data_ov00_020e2058 + bl func_0200c8d0 + ldmia sp!, {r3, pc} +_0207cccc: + ldr r2, _0207cd58 ; =data_ov00_020e2508 + mov r0, r1 + ldr r2, [r2] + ldr r1, _0207cd60 ; =data_ov00_020e2070 + mov r3, ip + bl func_0200c8d0 + ldmia sp!, {r3, pc} +_0207cce8: + cmp ip, #0 + bne _0207cd08 + ldr r2, _0207cd58 ; =data_ov00_020e2508 + mov r0, r1 + ldr r2, [r2] + ldr r1, _0207cd64 ; =data_ov00_020e208c + bl func_0200c8d0 + ldmia sp!, {r3, pc} +_0207cd08: + ldr r2, _0207cd58 ; =data_ov00_020e2508 + mov r0, r1 + ldr r2, [r2] + ldr r1, _0207cd68 ; =data_ov00_020e20a4 + mov r3, ip + bl func_0200c8d0 + ldmia sp!, {r3, pc} +_0207cd24: + ldr r2, _0207cd58 ; =data_ov00_020e2508 + mov r0, r1 + ldr r2, [r2] + ldr r1, _0207cd6c ; =data_ov00_020e20c0 + bl func_0200c8d0 + ldmia sp!, {r3, pc} +_0207cd3c: + ldr r2, _0207cd58 ; =data_ov00_020e2508 + mov r0, r1 + ldr r2, [r2] + ldr r1, _0207cd70 ; =data_ov00_020e20d8 + add r3, lr, #0xc + bl func_0200c8d0 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end _ZN6Course14GetMCSFilePathEiii +_0207cd58: .word data_ov00_020e2508 +_0207cd5c: .word data_ov00_020e2058 +_0207cd60: .word data_ov00_020e2070 +_0207cd64: .word data_ov00_020e208c +_0207cd68: .word data_ov00_020e20a4 +_0207cd6c: .word data_ov00_020e20c0 +_0207cd70: .word data_ov00_020e20d8 + + .global _ZN6Course14GetMRCFilePathEiii + arm_func_start _ZN6Course14GetMRCFilePathEiii +_ZN6Course14GetMRCFilePathEiii: ; 0x0207cd74 + stmdb sp!, {r4, lr} + mov r4, r2 + cmp r3, #3 + addls pc, pc, r3, lsl #2 + b _0207cde0 +_0207cd88: ; jump table + b _0207cde0 ; case 0 + b _0207cd98 ; case 1 + b _0207cdb0 ; case 2 + b _0207cdc8 ; case 3 +_0207cd98: + ldr r0, _0207ce08 ; =data_ov00_020e250c + ldr r1, _0207ce0c ; =data_ov00_020e20ec + ldr r2, [r0] + mov r0, r4 + bl func_0200c8d0 + ldmia sp!, {r4, pc} +_0207cdb0: + ldr r0, _0207ce08 ; =data_ov00_020e250c + ldr r1, _0207ce10 ; =data_ov00_020e2104 + ldr r2, [r0] + mov r0, r4 + bl func_0200c8d0 + ldmia sp!, {r4, pc} +_0207cdc8: + ldr r0, _0207ce08 ; =data_ov00_020e250c + ldr r1, _0207ce14 ; =data_ov00_020e211c + ldr r2, [r0] + mov r0, r4 + bl func_0200c8d0 + ldmia sp!, {r4, pc} +_0207cde0: + ldr r0, _0207ce18 ; =data_027e0f7c + ldr r0, [r0] + bl func_ov00_0209d71c + ldr r1, _0207ce08 ; =data_ov00_020e250c + mov r3, r0 + ldr r2, [r1] + ldr r1, _0207ce1c ; =data_ov00_020e2134 + mov r0, r4 + bl func_0200c8d0 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end _ZN6Course14GetMRCFilePathEiii +_0207ce08: .word data_ov00_020e250c +_0207ce0c: .word data_ov00_020e20ec +_0207ce10: .word data_ov00_020e2104 +_0207ce14: .word data_ov00_020e211c +_0207ce18: .word data_027e0f7c +_0207ce1c: .word data_ov00_020e2134 + + .global _ZN6Course18func_ov00_0207ce20Eiiii + arm_func_start _ZN6Course18func_ov00_0207ce20Eiiii +_ZN6Course18func_ov00_0207ce20Eiiii: ; 0x0207ce20 + stmdb sp!, {r3, lr} + sub sp, sp, #8 + ldr ip, [sp, #0x10] + stmia sp, {r3, ip} + mov ip, r1 + mov r3, r2 + ldr r1, [r0] + mov r2, ip + bl _ZN6Course18func_ov00_0207ce4cEccccii + add sp, sp, #8 + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course18func_ov00_0207ce20Eiiii + + .global _ZN6Course18func_ov00_0207ce4cEccccii + arm_func_start _ZN6Course18func_ov00_0207ce4cEccccii +_ZN6Course18func_ov00_0207ce4cEccccii: ; 0x0207ce4c + stmdb sp!, {r4, r5, r6, r7, r8, lr} + sub sp, sp, #8 + ldr r4, _0207d3ac ; =data_027e0f7c + mov r8, r0 + ldr r0, [r4] + mov r7, r1 + mov r6, r2 + mov r5, r3 + ldr r4, [sp, #0x20] + bl func_ov00_0209d71c + ldr r1, [sp, #0x24] + mov r3, r0 + cmp r1, #7 + addls pc, pc, r1, lsl #2 + b _0207d364 +_0207ce88: ; jump table + b _0207d364 ; case 0 + b _0207cef0 ; case 1 + b _0207cea8 ; case 2 + b _0207cf38 ; case 3 + b _0207d07c ; case 4 + b _0207d294 ; case 5 + b _0207d2d8 ; case 6 + b _0207d31c ; case 7 +_0207cea8: + ldr r2, _0207d3b0 ; =0x66666667 + mov r1, r6, lsr #0x1f + smull r0, r5, r2, r6 + smull r0, r7, r2, r6 + add r7, r1, r7, asr #2 + add r5, r1, r5, asr #2 + mov r2, #0xa + smull r0, r1, r2, r5 + sub r5, r6, r0 + str r7, [sp] + ldr r0, _0207d3b4 ; =data_ov00_020e233c + str r5, [sp, #4] + ldr r2, [r0] + ldr r1, _0207d3b8 ; =data_ov00_020e2148 + mov r0, r4 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207cef0: + ldr r2, _0207d3b0 ; =0x66666667 + mov r1, r6, lsr #0x1f + smull r0, r5, r2, r6 + smull r0, r7, r2, r6 + add r7, r1, r7, asr #2 + add r5, r1, r5, asr #2 + mov r2, #0xa + smull r0, r1, r2, r5 + sub r5, r6, r0 + str r7, [sp] + ldr r0, _0207d3b4 ; =data_ov00_020e233c + str r5, [sp, #4] + ldr r2, [r0] + ldr r1, _0207d3bc ; =data_ov00_020e2160 + mov r0, r4 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207cf38: + ldr r1, [r8, #8] + mvn r0, #1 + cmp r1, r0 + bne _0207cf98 + ldr r0, _0207d3c0 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x28] + add r0, r0, #0x44 + bl func_ov00_020a5e9c + ldr r2, _0207d3c0 ; =data_027e0d38 + mov r1, r0 + ldr r0, [r2] + mov r3, r5 + ldr r0, [r0, #0x28] + ldrb r2, [r0, #0x56] + mov r0, r8 + cmp r2, #0xff + str r4, [sp] + mov r4, #4 + moveq r2, #0 + str r4, [sp, #4] + bl _ZN6Course18func_ov00_0207ce4cEccccii + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207cf98: + ldr r0, [r8, #4] + cmp r0, #2 + bne _0207cfc8 + mov r7, #4 + mov r0, r8 + mov r1, r6 + mov r2, r5 + mov r3, r4 + str r7, [sp] + bl _ZN6Course18func_ov00_0207ce20Eiiii + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207cfc8: + cmp r6, #0xff + beq _0207cfdc + ldrb r0, [r8, #0x25c] + cmp r0, #0 + beq _0207d03c +_0207cfdc: + cmp r7, #0x1b + bne _0207cffc + ldr r1, _0207d3c4 ; =data_ov00_020e2174 + mov r0, r4 + mov r2, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207cffc: + ldr r1, _0207d3b0 ; =0x66666667 + mov r2, r3 + smull r0, r8, r1, r6 + smull r0, r3, r1, r6 + mov r7, r6, lsr #0x1f + add r8, r7, r8, asr #2 + mov r5, #0xa + smull r0, r1, r5, r8 + sub r8, r6, r0 + ldr r1, _0207d3c8 ; =data_ov00_020e2188 + mov r0, r4 + add r3, r7, r3, asr #2 + str r8, [sp] + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d03c: + ldr r1, _0207d3b0 ; =0x66666667 + mov r2, r3 + smull r0, r8, r1, r6 + smull r0, r3, r1, r6 + mov r7, r6, lsr #0x1f + add r8, r7, r8, asr #2 + mov r5, #0xa + smull r0, r1, r5, r8 + sub r8, r6, r0 + ldr r1, _0207d3cc ; =data_ov00_020e219c + mov r0, r4 + add r3, r7, r3, asr #2 + str r8, [sp] + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d07c: + ldr r0, [r8] + cmp r0, #0x32 + bgt _0207d0b4 + bge _0207d19c + cmp r0, #3 + bgt _0207d1d4 + cmp r0, #1 + blt _0207d1d4 + beq _0207d0f4 + cmp r0, #2 + beq _0207d12c + cmp r0, #3 + beq _0207d164 + b _0207d1d4 +_0207d0b4: + cmp r0, #0x38 + bne _0207d1d4 + ldr r1, _0207d3b0 ; =0x66666667 + mov r5, r6, lsr #0x1f + smull r0, r3, r1, r6 + smull r0, r2, r1, r6 + add r3, r5, r3, asr #2 + mov r1, #0xa + smull r3, r0, r1, r3 + ldr r1, _0207d3d0 ; =data_ov00_020e21b4 + mov r0, r4 + add r2, r5, r2, asr #2 + sub r3, r6, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d0f4: + ldr r1, _0207d3b0 ; =0x66666667 + mov r5, r6, lsr #0x1f + smull r0, r3, r1, r6 + smull r0, r2, r1, r6 + add r3, r5, r3, asr #2 + mov r1, #0xa + smull r3, r0, r1, r3 + ldr r1, _0207d3d4 ; =data_ov00_020e21d0 + mov r0, r4 + add r2, r5, r2, asr #2 + sub r3, r6, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d12c: + ldr r1, _0207d3b0 ; =0x66666667 + mov r5, r6, lsr #0x1f + smull r0, r3, r1, r6 + smull r0, r2, r1, r6 + add r3, r5, r3, asr #2 + mov r1, #0xa + smull r3, r0, r1, r3 + ldr r1, _0207d3d8 ; =data_ov00_020e21f0 + mov r0, r4 + add r2, r5, r2, asr #2 + sub r3, r6, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d164: + ldr r1, _0207d3b0 ; =0x66666667 + mov r5, r6, lsr #0x1f + smull r0, r3, r1, r6 + smull r0, r2, r1, r6 + add r3, r5, r3, asr #2 + mov r1, #0xa + smull r3, r0, r1, r3 + ldr r1, _0207d3dc ; =data_ov00_020e2210 + mov r0, r4 + add r2, r5, r2, asr #2 + sub r3, r6, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d19c: + ldr r1, _0207d3b0 ; =0x66666667 + mov r5, r6, lsr #0x1f + smull r0, r3, r1, r6 + smull r0, r2, r1, r6 + add r3, r5, r3, asr #2 + mov r1, #0xa + smull r3, r0, r1, r3 + ldr r1, _0207d3e0 ; =data_ov00_020e2230 + mov r0, r4 + add r2, r5, r2, asr #2 + sub r3, r6, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d1d4: + cmp r6, #3 + bne _0207d25c + ldr r0, _0207d3e4 ; =gAdventureFlags + mov r1, #0x32 + ldr r0, [r0] + bl _ZN14AdventureFlags3GetEj + cmp r0, #0 + ldr r1, _0207d3b0 ; =0x66666667 + mov r5, r6, lsr #0x1f + beq _0207d22c + smull r0, r3, r1, r6 + smull r0, r2, r1, r6 + add r3, r5, r3, asr #2 + mov r1, #0xa + smull r3, r0, r1, r3 + ldr r1, _0207d3e8 ; =data_ov00_020e2250 + mov r0, r4 + add r2, r5, r2, asr #2 + sub r3, r6, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d22c: + smull r0, r3, r1, r6 + smull r0, r2, r1, r6 + add r3, r5, r3, asr #2 + mov r1, #0xa + smull r3, r0, r1, r3 + ldr r1, _0207d3ec ; =data_ov00_020e226c + mov r0, r4 + add r2, r5, r2, asr #2 + sub r3, r6, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d25c: + ldr r1, _0207d3b0 ; =0x66666667 + mov r5, r6, lsr #0x1f + smull r0, r3, r1, r6 + smull r0, r2, r1, r6 + add r3, r5, r3, asr #2 + mov r1, #0xa + smull r3, r0, r1, r3 + ldr r1, _0207d3f0 ; =data_ov00_020e2284 + mov r0, r4 + add r2, r5, r2, asr #2 + sub r3, r6, r3 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d294: + ldr r8, _0207d3b0 ; =0x66666667 + mov r7, r6, lsr #0x1f + smull r0, r1, r8, r6 + add r1, r7, r1, asr #2 + mov r2, #0xa + smull r0, r1, r2, r1 + sub r1, r6, r0 + smull r0, r3, r8, r6 + stmia sp, {r1, r5} + ldr r0, _0207d3b4 ; =data_ov00_020e233c + ldr r1, _0207d3f4 ; =data_ov00_020e229c + ldr r2, [r0] + mov r0, r4 + add r3, r7, r3, asr #2 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d2d8: + ldr r8, _0207d3b0 ; =0x66666667 + mov r7, r6, lsr #0x1f + smull r0, r1, r8, r6 + add r1, r7, r1, asr #2 + mov r2, #0xa + smull r0, r1, r2, r1 + sub r1, r6, r0 + smull r0, r3, r8, r6 + stmia sp, {r1, r5} + ldr r0, _0207d3b4 ; =data_ov00_020e233c + ldr r1, _0207d3f8 ; =data_ov00_020e22b8 + ldr r2, [r0] + mov r0, r4 + add r3, r7, r3, asr #2 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d31c: + ldr r2, _0207d3b0 ; =0x66666667 + mov r1, r6, lsr #0x1f + smull r0, r5, r2, r6 + smull r0, r7, r2, r6 + add r7, r1, r7, asr #2 + add r5, r1, r5, asr #2 + mov r2, #0xa + smull r0, r1, r2, r5 + sub r5, r6, r0 + str r7, [sp] + ldr r0, _0207d3b4 ; =data_ov00_020e233c + str r5, [sp, #4] + ldr r2, [r0] + ldr r1, _0207d3fc ; =data_ov00_020e22d4 + mov r0, r4 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} +_0207d364: + ldr r2, _0207d3b0 ; =0x66666667 + mov r1, r6, lsr #0x1f + smull r0, r5, r2, r6 + smull r0, r7, r2, r6 + add r7, r1, r7, asr #2 + add r5, r1, r5, asr #2 + mov r2, #0xa + smull r0, r1, r2, r5 + str r7, [sp] + sub r5, r6, r0 + ldr r0, _0207d3b4 ; =data_ov00_020e233c + str r5, [sp, #4] + ldr r2, [r0] + ldr r1, _0207d400 ; =data_ov00_020e22e8 + mov r0, r4 + bl func_0200c8d0 + add sp, sp, #8 + ldmia sp!, {r4, r5, r6, r7, r8, pc} + .align 2, 0 + arm_func_end _ZN6Course18func_ov00_0207ce4cEccccii +_0207d3ac: .word data_027e0f7c +_0207d3b0: .word 0x66666667 +_0207d3b4: .word data_ov00_020e233c +_0207d3b8: .word data_ov00_020e2148 +_0207d3bc: .word data_ov00_020e2160 +_0207d3c0: .word data_027e0d38 +_0207d3c4: .word data_ov00_020e2174 +_0207d3c8: .word data_ov00_020e2188 +_0207d3cc: .word data_ov00_020e219c +_0207d3d0: .word data_ov00_020e21b4 +_0207d3d4: .word data_ov00_020e21d0 +_0207d3d8: .word data_ov00_020e21f0 +_0207d3dc: .word data_ov00_020e2210 +_0207d3e0: .word data_ov00_020e2230 +_0207d3e4: .word gAdventureFlags +_0207d3e8: .word data_ov00_020e2250 +_0207d3ec: .word data_ov00_020e226c +_0207d3f0: .word data_ov00_020e2284 +_0207d3f4: .word data_ov00_020e229c +_0207d3f8: .word data_ov00_020e22b8 +_0207d3fc: .word data_ov00_020e22d4 +_0207d400: .word data_ov00_020e22e8 + + .global _ZN6Course18func_ov00_0207d404Eiii + arm_func_start _ZN6Course18func_ov00_0207d404Eiii +_ZN6Course18func_ov00_0207d404Eiii: ; 0x0207d404 + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x18 + mov r6, r0 + cmp r1, #0 + mov r5, r2 + mov r4, r3 + addeq sp, sp, #0x18 + mov r0, #0 + ldmeqia sp!, {r4, r5, r6, pc} + mov r2, #0x47 + str r2, [sp, #8] + strb r0, [sp, #0x14] + ldr r0, [r6, #0xc8] + add r2, sp, #8 + bl func_ov00_020a3710 + cmp r0, #0 + addeq sp, sp, #0x18 + moveq r0, #0 + ldmeqia sp!, {r4, r5, r6, pc} + ldr r0, [sp, #0x28] + str r4, [sp] + str r0, [sp, #4] + ldrb r2, [sp, #0xc] + ldr r1, [sp, #8] + mov r0, r6 + mov r3, r5 + bl _ZN6Course18func_ov00_0207ce4cEccccii + mov r0, #1 + add sp, sp, #0x18 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN6Course18func_ov00_0207d404Eiii + + .global _ZN6Course18func_ov00_0207d47cEv + arm_func_start _ZN6Course18func_ov00_0207d47cEv +_ZN6Course18func_ov00_0207d47cEv: ; 0x0207d47c + ldr ip, _0207d48c ; =_ZN6Course18func_ov00_0207d490Eii + ldrb r1, [r0, #0x1c] + ldrb r2, [r0, #0x1d] + bx ip + .align 2, 0 + arm_func_end _ZN6Course18func_ov00_0207d47cEv +_0207d48c: .word _ZN6Course18func_ov00_0207d490Eii + + .global _ZN6Course18func_ov00_0207d490Eii + arm_func_start _ZN6Course18func_ov00_0207d490Eii +_ZN6Course18func_ov00_0207d490Eii: ; 0x0207d490 + ldrb r3, [r0, #0x25c] + cmp r3, #0 + moveq r0, #1 + bxeq lr + ldrb ip, [r0, #0x84] + cmp ip, r1 + bgt _0207d4dc + ldrb r3, [r0, #0x86] + add r3, ip, r3 + cmp r1, r3 + bge _0207d4dc + ldrb r1, [r0, #0x85] + cmp r1, r2 + bgt _0207d4dc + ldrb r0, [r0, #0x87] + add r0, r1, r0 + cmp r2, r0 + movlt r0, #1 + bxlt lr +_0207d4dc: + mov r0, #0 + bx lr + arm_func_end _ZN6Course18func_ov00_0207d490Eii + + .global _ZN6Course18func_ov00_0207d4e4Ei + arm_func_start _ZN6Course18func_ov00_0207d4e4Ei +_ZN6Course18func_ov00_0207d4e4Ei: ; 0x0207d4e4 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + mov r2, r1 + add r0, sp, #0 + mov r1, r4 + bl _ZN6Course18func_ov00_0207cb7cEiPS_i + ldrb r1, [sp] + ldrb r2, [sp, #1] + mov r0, r4 + bl _ZN6Course18func_ov00_0207d490Eii + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end _ZN6Course18func_ov00_0207d4e4Ei + + .global _ZN6Course18func_ov00_0207d518EiPiS0_ + arm_func_start _ZN6Course18func_ov00_0207d518EiPiS0_ +_ZN6Course18func_ov00_0207d518EiPiS0_: ; 0x0207d518 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r4, r1 + mov r7, r0 + cmp r4, #0xff + mov r6, r2 + mov r5, r3 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + add r0, sp, #0 + mov r1, r7 + mov r2, r4 + bl _ZN6Course18func_ov00_0207cb7cEiPS_i + ldrb r1, [sp] + ldrb r2, [sp, #1] + mov r0, r7 + bl _ZN6Course18func_ov00_0207d490Eii + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + ldrb r4, [r7, #0x86] + ldrb r0, [r7, #0x87] + cmp r0, r4 + movhi r4, r0 + mov r1, r4 + mov r0, #0x100 + bl func_02002c14 + ldrb r3, [sp] + ldrb r2, [r7, #0x84] + ldr ip, [r7, #0x88] + mov r1, r4 + sub r2, r3, r2 + mla r2, r0, r2, ip + str r2, [r6] + mov r0, #0xc0 + bl func_02002c14 + ldrb r2, [sp, #1] + ldrb r1, [r7, #0x85] + ldr r3, [r7, #0x8c] + sub r1, r2, r1 + mla r1, r0, r1, r3 + str r1, [r5] + mov r0, #1 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end _ZN6Course18func_ov00_0207d518EiPiS0_ + + .global _ZN6Course18func_ov00_0207d5c4Ev + arm_func_start _ZN6Course18func_ov00_0207d5c4Ev +_ZN6Course18func_ov00_0207d5c4Ev: ; 0x0207d5c4 + stmdb sp!, {r3, lr} + ldrb r1, [r0, #0x86] + ldrb r0, [r0, #0x87] + cmp r0, r1 + movhi r1, r0 + mov r1, r1, lsl #0xc + mov r0, #0x100000 + bl Divide + mov r1, #0x40000 + bl Divide + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course18func_ov00_0207d5c4Ev + + .global _ZN6Course18func_ov00_0207d5f0Ev + arm_func_start _ZN6Course18func_ov00_0207d5f0Ev +_ZN6Course18func_ov00_0207d5f0Ev: ; 0x0207d5f0 + stmdb sp!, {r3, lr} + ldrb r1, [r0, #0x87] + ldrb r0, [r0, #0x86] + cmp r0, r1 + movhi r1, r0 + mov r1, r1, lsl #0xc + mov r0, #0xc0000 + bl Divide + mov r1, #0x30000 + bl Divide + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course18func_ov00_0207d5f0Ev + + .global _ZN6Course18func_ov00_0207d61cEv + arm_func_start _ZN6Course18func_ov00_0207d61cEv +_ZN6Course18func_ov00_0207d61cEv: ; 0x0207d61c + ldr r0, [r0, #0xc8] + ldr r0, [r0] + bx lr + arm_func_end _ZN6Course18func_ov00_0207d61cEv + + .global _ZN6Course15GetUnk_c8_Unk_4Ev + arm_func_start _ZN6Course15GetUnk_c8_Unk_4Ev +_ZN6Course15GetUnk_c8_Unk_4Ev: ; 0x0207d628 + ldr r0, [r0, #0xc8] + ldr r0, [r0, #4] + bx lr + arm_func_end _ZN6Course15GetUnk_c8_Unk_4Ev + + .global _ZN6Course18func_ov00_0207d634Ei + arm_func_start _ZN6Course18func_ov00_0207d634Ei +_ZN6Course18func_ov00_0207d634Ei: ; 0x0207d634 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + ldrb r4, [r6, #0x1c] + ldrb r5, [r6, #0x1d] + cmp r1, #3 + addls pc, pc, r1, lsl #2 + b _0207d67c +_0207d650: ; jump table + b _0207d660 ; case 0 + b _0207d668 ; case 1 + b _0207d670 ; case 2 + b _0207d678 ; case 3 +_0207d660: + add r4, r4, #1 + b _0207d67c +_0207d668: + sub r4, r4, #1 + b _0207d67c +_0207d670: + add r5, r5, #1 + b _0207d67c +_0207d678: + sub r5, r5, #1 +_0207d67c: + mov r0, r6 + mov r1, r4 + mov r2, r5 + bl _ZN6Course18func_ov00_0207d490Eii + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r4, r5, r6, pc} + mov r0, r6 + mov r1, r4 + mov r2, r5 + bl _ZN6Course18func_ov00_0207d6acEii + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN6Course18func_ov00_0207d634Ei + + .global _ZN6Course18func_ov00_0207d6acEii + arm_func_start _ZN6Course18func_ov00_0207d6acEii +_ZN6Course18func_ov00_0207d6acEii: ; 0x0207d6ac + cmp r1, #0 + cmpge r2, #0 + blt _0207d6c4 + cmp r1, #0xa + cmplt r2, #0xa + blt _0207d6cc +_0207d6c4: + mov r0, #0 + bx lr +_0207d6cc: + mov r3, #0xa + mla r0, r1, r3, r0 + add r0, r0, r2 + ldrb r0, [r0, #0x20] + cmp r0, #0xff + movne r0, #1 + moveq r0, #0 + bx lr + arm_func_end _ZN6Course18func_ov00_0207d6acEii + + .global _ZN6Course18func_ov00_0207d6ecEv + arm_func_start _ZN6Course18func_ov00_0207d6ecEv +_ZN6Course18func_ov00_0207d6ecEv: ; 0x0207d6ec + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + mov r5, r1 + bl _ZN6Course18func_ov00_0207d634Ei + cmp r0, #0 + moveq r0, #0xff + ldmeqia sp!, {r4, r5, r6, pc} + mov r0, r6 + mov r1, r5 + bl _ZN6Course18func_ov00_0207d758Ei + mov r4, r0 + mov r0, r6 + mov r1, r5 + bl _ZN6Course18func_ov00_0207d738Ei + mov r1, #0xa + mla r1, r0, r1, r6 + add r0, r1, r4 + ldrb r0, [r0, #0x20] + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN6Course18func_ov00_0207d6ecEv + + .global _ZN6Course18func_ov00_0207d738Ei + arm_func_start _ZN6Course18func_ov00_0207d738Ei +_ZN6Course18func_ov00_0207d738Ei: ; 0x0207d738 + cmp r1, #0 + ldrb r0, [r0, #0x1c] + beq _0207d750 + cmp r1, #1 + subeq r0, r0, #1 + bx lr +_0207d750: + add r0, r0, #1 + bx lr + arm_func_end _ZN6Course18func_ov00_0207d738Ei + + .global _ZN6Course18func_ov00_0207d758Ei + arm_func_start _ZN6Course18func_ov00_0207d758Ei +_ZN6Course18func_ov00_0207d758Ei: ; 0x0207d758 + cmp r1, #2 + ldrb r0, [r0, #0x1d] + beq _0207d770 + cmp r1, #3 + subeq r0, r0, #1 + bx lr +_0207d770: + add r0, r0, #1 + bx lr + arm_func_end _ZN6Course18func_ov00_0207d758Ei + + .global _ZN6Course18func_ov00_0207d778Ev + arm_func_start _ZN6Course18func_ov00_0207d778Ev +_ZN6Course18func_ov00_0207d778Ev: ; 0x0207d778 + stmdb sp!, {r3, lr} + bl _ZN6Course18func_ov00_0207da14Ev + ldrh r0, [r0, #4] + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course18func_ov00_0207d778Ev + + .global _ZN6Course18func_ov00_0207d788Ev + arm_func_start _ZN6Course18func_ov00_0207d788Ev +_ZN6Course18func_ov00_0207d788Ev: ; 0x0207d788 + stmdb sp!, {r3, lr} + bl _ZN6Course18func_ov00_0207d9ccEi + cmp r0, #0 + ldreq r0, _0207d7a0 ; =0x0000ffff + ldrneh r0, [r0, #4] + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end _ZN6Course18func_ov00_0207d788Ev +_0207d7a0: .word 0x0000ffff + + .global _ZN6Course18func_ov00_0207d7a4Ev + arm_func_start _ZN6Course18func_ov00_0207d7a4Ev +_ZN6Course18func_ov00_0207d7a4Ev: ; 0x0207d7a4 + stmdb sp!, {r3, lr} + bl _ZN6Course18func_ov00_0207d9ccEi + cmp r0, #0 + moveq r0, #0 + ldrne r0, [r0, #0xc] + ldmia sp!, {r3, pc} + arm_func_end _ZN6Course18func_ov00_0207d7a4Ev + + .global _ZN6Course18func_ov00_0207d7bcEv + arm_func_start _ZN6Course18func_ov00_0207d7bcEv +_ZN6Course18func_ov00_0207d7bcEv: ; 0x0207d7bc + stmdb sp!, {r3, lr} + bl _ZN6Course18func_ov00_0207da14Ev + ldr r2, _0207d7d8 ; =data_027e103c + ldrh r1, [r0, #4] + ldr r0, [r2] + bl func_ov00_020cf414 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end _ZN6Course18func_ov00_0207d7bcEv +_0207d7d8: .word data_027e103c + + .global _ZN6Course18func_ov00_0207d7dcEii + arm_func_start _ZN6Course18func_ov00_0207d7dcEii +_ZN6Course18func_ov00_0207d7dcEii: ; 0x0207d7dc + cmp r2, #0 + beq _0207d804 + add ip, r0, #0x264 + mov r3, r1, lsr #0x5 + and r0, r1, #0x1f + ldr r2, [ip, r3, lsl #2] + mov r1, #1 + orr r0, r2, r1, lsl r0 + str r0, [ip, r3, lsl #2] + bx lr +_0207d804: + add r3, r0, #0x264 + mov r2, r1, lsr #0x5 + and r0, r1, #0x1f + mov r1, #1 + mvn r0, r1, lsl r0 + ldr r1, [r3, r2, lsl #2] + and r0, r1, r0 + str r0, [r3, r2, lsl #2] + bx lr + arm_func_end _ZN6Course18func_ov00_0207d7dcEii + + .global _ZN6Course18func_ov00_0207d828Ei + arm_func_start _ZN6Course18func_ov00_0207d828Ei +_ZN6Course18func_ov00_0207d828Ei: ; 0x0207d828 + mov r2, r1, lsr #0x5 + add r0, r0, r2, lsl #2 + ldr r2, [r0, #0x264] + and r1, r1, #0x1f + mov r0, #1 + tst r2, r0, lsl r1 + moveq r0, #0 + bx lr + arm_func_end _ZN6Course18func_ov00_0207d828Ei + + .global _ZN6Course18func_ov00_0207d848Eii + arm_func_start _ZN6Course18func_ov00_0207d848Eii +_ZN6Course18func_ov00_0207d848Eii: ; 0x0207d848 + cmp r2, #0 + beq _0207d870 + add ip, r0, #0x268 + mov r3, r1, lsr #0x5 + and r0, r1, #0x1f + ldr r2, [ip, r3, lsl #2] + mov r1, #1 + orr r0, r2, r1, lsl r0 + str r0, [ip, r3, lsl #2] + bx lr +_0207d870: + add r3, r0, #0x268 + mov r2, r1, lsr #0x5 + and r0, r1, #0x1f + mov r1, #1 + mvn r0, r1, lsl r0 + ldr r1, [r3, r2, lsl #2] + and r0, r1, r0 + str r0, [r3, r2, lsl #2] + bx lr + arm_func_end _ZN6Course18func_ov00_0207d848Eii + + .global _ZN6Course18func_ov00_0207d894Ei + arm_func_start _ZN6Course18func_ov00_0207d894Ei +_ZN6Course18func_ov00_0207d894Ei: ; 0x0207d894 + mov r2, r1, lsr #0x5 + add r0, r0, r2, lsl #2 + ldr r2, [r0, #0x268] + and r1, r1, #0x1f + mov r0, #1 + tst r2, r0, lsl r1 + moveq r0, #0 + bx lr + arm_func_end _ZN6Course18func_ov00_0207d894Ei + + .global _ZN6Course18func_ov00_0207d8b4Ev + arm_func_start _ZN6Course18func_ov00_0207d8b4Ev +_ZN6Course18func_ov00_0207d8b4Ev: ; 0x0207d8b4 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r1 + mov r4, r2 + bl _ZN6Course18func_ov00_0207da14Ev + mov r1, r5 + mov r2, r4 + bl func_ov00_0209740c + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN6Course18func_ov00_0207d8b4Ev + + .global _ZN6Course18func_ov00_0207d8d4Ei + arm_func_start _ZN6Course18func_ov00_0207d8d4Ei +_ZN6Course18func_ov00_0207d8d4Ei: ; 0x0207d8d4 + stmdb sp!, {r4, lr} + mov r4, r1 + bl _ZN6Course18func_ov00_0207da14Ev + mov r1, r4 + bl func_ov00_02097458 + ldmia sp!, {r4, pc} + arm_func_end _ZN6Course18func_ov00_0207d8d4Ei + + .global _ZN6Course18func_ov00_0207d8ecEv + arm_func_start _ZN6Course18func_ov00_0207d8ecEv +_ZN6Course18func_ov00_0207d8ecEv: ; 0x0207d8ec + stmdb sp!, {r3, r4, r5, lr} + mov r5, r1 + mov r4, r2 + bl _ZN6Course18func_ov00_0207da14Ev + mov r1, r5 + mov r2, r4 + bl func_ov00_02097478 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN6Course18func_ov00_0207d8ecEv + + .global _ZN6Course18func_ov00_0207d90cEi + arm_func_start _ZN6Course18func_ov00_0207d90cEi +_ZN6Course18func_ov00_0207d90cEi: ; 0x0207d90c + stmdb sp!, {r4, lr} + mov r4, r1 + bl _ZN6Course18func_ov00_0207da14Ev + mov r1, r4 + bl func_ov00_020974c4 + ldmia sp!, {r4, pc} + arm_func_end _ZN6Course18func_ov00_0207d90cEi + + .global _ZN6Course18func_ov00_0207d924Ev + arm_func_start _ZN6Course18func_ov00_0207d924Ev +_ZN6Course18func_ov00_0207d924Ev: ; 0x0207d924 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r1 + mov r4, r2 + bl _ZN6Course18func_ov00_0207da14Ev + mov r1, r5 + mov r2, r4 + bl func_ov00_020974e4 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN6Course18func_ov00_0207d924Ev + + .global _ZN6Course18func_ov00_0207d944Ei + arm_func_start _ZN6Course18func_ov00_0207d944Ei +_ZN6Course18func_ov00_0207d944Ei: ; 0x0207d944 + stmdb sp!, {r4, lr} + mov r4, r1 + bl _ZN6Course18func_ov00_0207da14Ev + mov r1, r4 + bl func_ov00_02097530 + ldmia sp!, {r4, pc} + arm_func_end _ZN6Course18func_ov00_0207d944Ei + + .global _ZN6Course18func_ov00_0207d95cEv + arm_func_start _ZN6Course18func_ov00_0207d95cEv +_ZN6Course18func_ov00_0207d95cEv: ; 0x0207d95c + stmdb sp!, {r3, r4, r5, lr} + mov r5, r1 + mov r4, r2 + bl _ZN6Course18func_ov00_0207da14Ev + mov r1, r5 + mov r2, r4 + bl func_ov00_02097550 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN6Course18func_ov00_0207d95cEv + + .global _ZN6Course18func_ov00_0207d97cEi + arm_func_start _ZN6Course18func_ov00_0207d97cEi +_ZN6Course18func_ov00_0207d97cEi: ; 0x0207d97c + stmdb sp!, {r4, lr} + mov r4, r1 + bl _ZN6Course18func_ov00_0207da14Ev + mov r1, r4 + bl func_ov00_0209759c + ldmia sp!, {r4, pc} + arm_func_end _ZN6Course18func_ov00_0207d97cEi + + .global _ZN6Course18func_ov00_0207d994Ev + arm_func_start _ZN6Course18func_ov00_0207d994Ev +_ZN6Course18func_ov00_0207d994Ev: ; 0x0207d994 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r1 + mov r4, r2 + bl _ZN6Course18func_ov00_0207da14Ev + mov r1, r5 + mov r2, r4 + bl func_ov00_020975bc + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN6Course18func_ov00_0207d994Ev + + .global _ZN6Course18func_ov00_0207d9b4Ei + arm_func_start _ZN6Course18func_ov00_0207d9b4Ei +_ZN6Course18func_ov00_0207d9b4Ei: ; 0x0207d9b4 + stmdb sp!, {r4, lr} + mov r4, r1 + bl _ZN6Course18func_ov00_0207da14Ev + mov r1, r4 + bl func_ov00_02097608 + ldmia sp!, {r4, pc} + arm_func_end _ZN6Course18func_ov00_0207d9b4Ei + + .global _ZN6Course18func_ov00_0207d9ccEi + arm_func_start _ZN6Course18func_ov00_0207d9ccEi +_ZN6Course18func_ov00_0207d9ccEi: ; 0x0207d9cc + ldrb r2, [r0, #0xb0] + mov ip, #0 + cmp r2, #0 + ble _0207da0c +_0207d9dc: + add r2, r0, ip, lsl #2 + ldr r3, [r2, #0xcc] + cmp r3, #0 + beq _0207d9fc + ldrb r2, [r3, #1] + cmp r1, r2 + moveq r0, r3 + bxeq lr +_0207d9fc: + ldrb r2, [r0, #0xb0] + add ip, ip, #1 + cmp ip, r2 + blt _0207d9dc +_0207da0c: + mov r0, #0 + bx lr + arm_func_end _ZN6Course18func_ov00_0207d9ccEi + + .global _ZN6Course18func_ov00_0207da14Ev + arm_func_start _ZN6Course18func_ov00_0207da14Ev +_ZN6Course18func_ov00_0207da14Ev: ; 0x0207da14 + ldrb r3, [r0, #0x1c] + mov r1, #0xa + ldrb r2, [r0, #0x1d] + mla r1, r3, r1, r0 + add r1, r1, r2 + ldr ip, _0207da34 ; =_ZN6Course18func_ov00_0207d9ccEi + ldrb r1, [r1, #0x20] + bx ip + .align 2, 0 + arm_func_end _ZN6Course18func_ov00_0207da14Ev +_0207da34: .word _ZN6Course18func_ov00_0207d9ccEi + + .data + .global data_ov00_020e2058 +data_ov00_020e2058: ; 0x020e2058 + .ascii "%s:objlist/motype.zob" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e2070 +data_ov00_020e2070: ; 0x020e2070 + .ascii "%s:objlist/motype_%d.zob" + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e208c +data_ov00_020e208c: ; 0x020e208c + .ascii "%s:objlist/npctype.zob" + .byte 0x00, 0x00 + .global data_ov00_020e20a4 +data_ov00_020e20a4: ; 0x020e20a4 + .ascii "%s:objlist/npctype_%d.zob" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e20c0 +data_ov00_020e20c0: ; 0x020e20c0 + .ascii "%s:tex/mapModel.nsbtx" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e20d8 +data_ov00_020e20d8: ; 0x020e20d8 + .ascii "%s:arrange/%s.zab" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e20ec +data_ov00_020e20ec: ; 0x020e20ec + .ascii "%s:objlist/motype.zob" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e2104 +data_ov00_020e2104: ; 0x020e2104 + .ascii "%s:objlist/npctype.zob" + .byte 0x00, 0x00 + .global data_ov00_020e211c +data_ov00_020e211c: ; 0x020e211c + .ascii "%s:tex/mapModel.nsbtx" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e2134 +data_ov00_020e2134: ; 0x020e2134 + .ascii "%s:arrange/%s.zab" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e2148 +data_ov00_020e2148: ; 0x020e2148 + .ascii "%s:nsbmd/%s_%d%d.nsbmd" + .byte 0x00, 0x00 + .global data_ov00_020e2160 +data_ov00_020e2160: ; 0x020e2160 + .ascii "%s:zcb/%s_%d%d.zcb" + .byte 0x00, 0x00 + .global data_ov00_020e2174 +data_ov00_020e2174: ; 0x020e2174 + .ascii "Map2D/%s/map00.bin" + .byte 0x00, 0x00 + .global data_ov00_020e2188 +data_ov00_020e2188: ; 0x020e2188 + .ascii "Map2D/%s/mapwd.bin" + .byte 0x00, 0x00 + .global data_ov00_020e219c +data_ov00_020e219c: ; 0x020e219c + .ascii "Map2D/%s/map%d%d.bin" + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e21b4 +data_ov00_020e21b4: ; 0x020e21b4 + .ascii "Map2D/seatest/map%d%d.bin" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e21d0 +data_ov00_020e21d0: ; 0x020e21d0 + .ascii "Map2D/sea_minigame/map%d%d.bin" + .byte 0x00, 0x00 + .global data_ov00_020e21f0 +data_ov00_020e21f0: ; 0x020e21f0 + .ascii "Map2D/sea_fishing/map%d%d.bin" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e2210 +data_ov00_020e2210: ; 0x020e2210 + .ascii "Map2D/sea_salvage/map%d%d.bin" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e2230 +data_ov00_020e2230: ; 0x020e2230 + .ascii "Map2D/boss_last2/map%d%d.bin" + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2250 +data_ov00_020e2250: ; 0x020e2250 + .ascii "Map2D/sea/map%d%d_02.bin" + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e226c +data_ov00_020e226c: ; 0x020e226c + .ascii "Map2D/sea/map%d%d.bin" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e2284 +data_ov00_020e2284: ; 0x020e2284 + .ascii "Map2D/sea/map%d%d.bin" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e229c +data_ov00_020e229c: ; 0x020e229c + .ascii "%s:zob/motype_%d%d_%d.zob" + .byte 0x00, 0x00, 0x00 + .global data_ov00_020e22b8 +data_ov00_020e22b8: ; 0x020e22b8 + .ascii "%s:zob/npctype_%d%d_%d.zob" + .byte 0x00, 0x00 + .global data_ov00_020e22d4 +data_ov00_020e22d4: ; 0x020e22d4 + .ascii "%s:mcb/%s_%d%d.mcb" + .byte 0x00, 0x00 + .global data_ov00_020e22e8 +data_ov00_020e22e8: ; 0x020e22e8 + .ascii "%s:zmb/%s_%d%d.zmb" + .byte 0x00, 0x00 diff --git a/asm/ov00/Map/MapManager.inc b/asm/ov00/Map/MapManager.inc index 5d87d87b..9f6e5557 100644 --- a/asm/ov00/Map/MapManager.inc +++ b/asm/ov00/Map/MapManager.inc @@ -3,6 +3,41 @@ .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager18func_ov00_020c3ce8Eii .extern _ZN14AdventureFlags18func_ov00_020976c8Ev +.extern _ZN6Course15GetUnk_c8_Unk_4Ev +.extern _ZN6Course18GetDungeonProgressEP14CourseProgress +.extern _ZN6Course18func_ov00_0207ca28Eiii +.extern _ZN6Course18func_ov00_0207caa8Eiii +.extern _ZN6Course18func_ov00_0207cb30Ei +.extern _ZN6Course18func_ov00_0207cb7cEiPS_i +.extern _ZN6Course18func_ov00_0207cbd8Ei +.extern _ZN6Course18func_ov00_0207cbe8Ei +.extern _ZN6Course18func_ov00_0207cc24Ei +.extern _ZN6Course18func_ov00_0207cc6cEv +.extern _ZN6Course18func_ov00_0207ce20Eiiii +.extern _ZN6Course18func_ov00_0207d404Eiii +.extern _ZN6Course18func_ov00_0207d47cEv +.extern _ZN6Course18func_ov00_0207d4e4Ei +.extern _ZN6Course18func_ov00_0207d518EiPiS0_ +.extern _ZN6Course18func_ov00_0207d5c4Ev +.extern _ZN6Course18func_ov00_0207d5f0Ev +.extern _ZN6Course18func_ov00_0207d61cEv +.extern _ZN6Course18func_ov00_0207d778Ev +.extern _ZN6Course18func_ov00_0207d788Ev +.extern _ZN6Course18func_ov00_0207d7bcEv +.extern _ZN6Course18func_ov00_0207d7dcEii +.extern _ZN6Course18func_ov00_0207d828Ei +.extern _ZN6Course18func_ov00_0207d848Eii +.extern _ZN6Course18func_ov00_0207d894Ei +.extern _ZN6Course18func_ov00_0207d8b4Ev +.extern _ZN6Course18func_ov00_0207d8d4Ei +.extern _ZN6Course18func_ov00_0207d8ecEv +.extern _ZN6Course18func_ov00_0207d90cEi +.extern _ZN6Course18func_ov00_0207d924Ev +.extern _ZN6Course18func_ov00_0207d944Ei +.extern _ZN6Course18func_ov00_0207d95cEv +.extern _ZN6Course18func_ov00_0207d97cEi +.extern _ZN6Course18func_ov00_0207d994Ev +.extern _ZN6Course18func_ov00_0207d9b4Ei .extern _ZN9SysObjectnwEmPjj .extern __register_global_object .extern data_027e077c @@ -10,7 +45,6 @@ .extern data_027e0ce0 .extern data_027e0d38 .extern data_027e0d3c -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -46,41 +80,7 @@ .extern func_ov00_020792a0 .extern func_ov00_02079898 .extern func_ov00_020798bc -.extern _ZN6Course18GetDungeonProgressEP14CourseProgress -.extern _ZN6Course18func_ov00_0207ca28Eiii -.extern _ZN6Course18func_ov00_0207caa8Eiii -.extern _ZN6Course18func_ov00_0207cb30Ei -.extern _ZN6Course18func_ov00_0207cb7cEiPS_i -.extern _ZN6Course18func_ov00_0207cbd8Ei -.extern _ZN6Course18func_ov00_0207cbe8Ei -.extern _ZN6Course18func_ov00_0207cc24Ei -.extern _ZN6Course18func_ov00_0207cc6cEv -.extern _ZN6Course18func_ov00_0207ce20Eiiii -.extern _ZN6Course18func_ov00_0207d404Eiii -.extern _ZN6Course18func_ov00_0207d47cEv -.extern _ZN6Course18func_ov00_0207d4e4Ei -.extern _ZN6Course18func_ov00_0207d518EiPiS0_ -.extern _ZN6Course18func_ov00_0207d5c4Ev -.extern _ZN6Course18func_ov00_0207d5f0Ev -.extern _ZN6Course18func_ov00_0207d61cEv -.extern _ZN6Course15GetUnk_c8_Unk_4Ev -.extern _ZN6Course18func_ov00_0207d778Ev -.extern _ZN6Course18func_ov00_0207d788Ev -.extern _ZN6Course18func_ov00_0207d7bcEv -.extern _ZN6Course18func_ov00_0207d7dcEii -.extern _ZN6Course18func_ov00_0207d828Ei -.extern _ZN6Course18func_ov00_0207d848Eii -.extern _ZN6Course18func_ov00_0207d894Ei -.extern _ZN6Course18func_ov00_0207d8b4Ev -.extern _ZN6Course18func_ov00_0207d8d4Ei -.extern _ZN6Course18func_ov00_0207d8ecEv -.extern _ZN6Course18func_ov00_0207d90cEi -.extern _ZN6Course18func_ov00_0207d924Ev -.extern _ZN6Course18func_ov00_0207d944Ei -.extern _ZN6Course18func_ov00_0207d95cEv -.extern _ZN6Course18func_ov00_0207d97cEi -.extern _ZN6Course18func_ov00_0207d994Ev -.extern _ZN6Course18func_ov00_0207d9b4Ei +.extern func_ov00_0207dd9c .extern func_ov00_0207de68 .extern func_ov00_0207de88 .extern func_ov00_0207e08c @@ -128,6 +128,7 @@ .extern func_ov00_02080b24 .extern func_ov00_02080d08 .extern func_ov00_02080d80 +.extern func_ov00_02086cd0 .extern func_ov00_02088000 .extern func_ov00_02088130 .extern func_ov00_02088144 @@ -176,3 +177,4 @@ .extern func_ov17_0215b4e8 .extern func_ov18_0215b4a0 .extern gAdventureFlags +.extern gMapManager diff --git a/asm/ov00/Map/MapManager.s b/asm/ov00/Map/MapManager.s index 632b3e00..ce3dfbd3 100644 --- a/asm/ov00/Map/MapManager.s +++ b/asm/ov00/Map/MapManager.s @@ -6467,6 +6467,111 @@ data_ov00_020d8aa0: ; 0x020d8aa0 data_ov00_020d8aa4: ; 0x020d8aa4 .byte 0x9a, 0x01, 0x00, 0x00 + .section .init, 4, 1, 4 + .global func_ov00_020df4cc + arm_func_start func_ov00_020df4cc +func_ov00_020df4cc: ; 0x020df4cc + stmdb sp!, {r3, lr} + ldr r0, _020df5f0 ; =0x00005fff + ldr r3, _020df5f4 ; =data_ov00_020e24a4 + mov ip, #0 + str r0, [r3, #0x20] + ldr r0, _020df5f8 ; =data_ov00_020e24c8 + ldr r1, _020df5fc ; =func_ov00_02086cd0 + ldr r2, _020df600 ; =data_ov00_020ec964 + str ip, [r3, #0x24] + mov ip, #0x60 + str ip, [r3, #0x28] + bl __register_global_object + ldr r0, _020df604 ; =data_ov00_020e24d0 + mov r3, #0 + ldr r1, _020df5fc ; =func_ov00_02086cd0 + ldr r2, _020df608 ; =data_ov00_020ec970 + str r3, [r0] + str r3, [r0, #4] + bl __register_global_object + ldr r0, _020df60c ; =data_ov00_020e24d8 + mov ip, #0x80 + mov r3, #0x60 + ldr r1, _020df5fc ; =func_ov00_02086cd0 + ldr r2, _020df610 ; =data_ov00_020ec97c + str ip, [r0] + str r3, [r0, #4] + bl __register_global_object + ldr r0, _020df614 ; =data_ov00_020e24e0 + mov ip, #0x80 + mov r3, #0 + ldr r1, _020df5fc ; =func_ov00_02086cd0 + ldr r2, _020df618 ; =data_ov00_020ec988 + str ip, [r0] + str r3, [r0, #4] + bl __register_global_object + mov r2, #0x80000 + rsb r2, r2, #0 + ldr r0, _020df5f4 ; =data_ov00_020e24a4 + add r1, r2, #0x20000 + str r2, [r0, #0x44] + str r1, [r0, #0x48] + ldr r0, _020df61c ; =data_ov00_020e24e8 + ldr r1, _020df620 ; =func_ov00_0207dd9c + ldr r2, _020df624 ; =data_ov00_020ec994 + bl __register_global_object + ldr r0, _020df628 ; =data_ov00_020e24f0 + mov r1, #0x80000 + rsb r1, r1, #0 + str r1, [r0] + add r1, r1, #0x20000 + str r1, [r0, #4] + ldr r1, _020df620 ; =func_ov00_0207dd9c + ldr r2, _020df62c ; =data_ov00_020ec9a0 + bl __register_global_object + ldr r0, _020df630 ; =data_ov00_020e24f8 + mov r1, #0x80000 + rsb r1, r1, #0 + str r1, [r0] + add r1, r1, #0x20000 + str r1, [r0, #4] + ldr r1, _020df620 ; =func_ov00_0207dd9c + ldr r2, _020df634 ; =data_ov00_020ec9ac + bl __register_global_object + ldr r0, _020df638 ; =data_ov00_020e2500 + mov r1, #0x80000 + rsb r1, r1, #0 + str r1, [r0] + add r1, r1, #0x20000 + str r1, [r0, #4] + ldr r1, _020df620 ; =func_ov00_0207dd9c + ldr r2, _020df63c ; =data_ov00_020ec9b8 + bl __register_global_object + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020df4cc +_020df5f0: .word 0x00005fff +_020df5f4: .word data_ov00_020e24a4 +_020df5f8: .word data_ov00_020e24c8 +_020df5fc: .word func_ov00_02086cd0 +_020df600: .word data_ov00_020ec964 +_020df604: .word data_ov00_020e24d0 +_020df608: .word data_ov00_020ec970 +_020df60c: .word data_ov00_020e24d8 +_020df610: .word data_ov00_020ec97c +_020df614: .word data_ov00_020e24e0 +_020df618: .word data_ov00_020ec988 +_020df61c: .word data_ov00_020e24e8 +_020df620: .word func_ov00_0207dd9c +_020df624: .word data_ov00_020ec994 +_020df628: .word data_ov00_020e24f0 +_020df62c: .word data_ov00_020ec9a0 +_020df630: .word data_ov00_020e24f8 +_020df634: .word data_ov00_020ec9ac +_020df638: .word data_ov00_020e2500 +_020df63c: .word data_ov00_020ec9b8 + + .section .ctor, 4, 1, 4 + .global data_ov00_020e1ebc +data_ov00_020e1ebc: ; 0x020e1ebc + .word func_ov00_020df4cc + .data .global data_ov00_020e24c4 data_ov00_020e24c4: ; 0x020e24c4 diff --git a/asm/ov00/Player/TouchControl.inc b/asm/ov00/Player/TouchControl.inc index fd8c24df..07247563 100644 --- a/asm/ov00/Player/TouchControl.inc +++ b/asm/ov00/Player/TouchControl.inc @@ -1,3 +1,8 @@ #pragma once .extern GetTouchStateFlags +.extern __register_global_object +.extern data_027e0d6c +.extern data_027e0d78 .extern func_020078c0 +.extern func_ov00_020df378 +.extern func_ov08_02113080 diff --git a/asm/ov00/Player/TouchControl.s b/asm/ov00/Player/TouchControl.s index 24c5f5ab..7e916190 100644 --- a/asm/ov00/Player/TouchControl.s +++ b/asm/ov00/Player/TouchControl.s @@ -294,3 +294,32 @@ _0207af84: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end _ZN12TouchControl18func_ov00_0207af38Etb + + .global _ZN12TouchControlD1Ev + arm_func_start _ZN12TouchControlD1Ev +_ZN12TouchControlD1Ev: ; 0x0207af9c + bx lr + arm_func_end _ZN12TouchControlD1Ev + + .section .init, 4, 1, 4 + .global func_ov00_020df38c + arm_func_start func_ov00_020df38c +func_ov00_020df38c: ; 0x020df38c + stmdb sp!, {r3, lr} + ldr r0, _020df3ac ; =data_027e0d78 + bl func_ov08_02113080 + ldr r0, _020df3ac ; =data_027e0d78 + ldr r1, _020df3b0 ; =_ZN12TouchControlD1Ev + ldr r2, _020df3b4 ; =data_027e0d6c + bl __register_global_object + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020df38c +_020df3ac: .word data_027e0d78 +_020df3b0: .word _ZN12TouchControlD1Ev - 1 +_020df3b4: .word data_027e0d6c + + .section .ctor, 4, 1, 4 + .global data_ov00_020e1e90 +data_ov00_020e1e90: ; 0x020e1e90 + .word func_ov00_020df378 diff --git a/asm/ov00/ov00_020773c0.inc b/asm/ov00/ov00_020773c0.inc index 41b5124f..e016ee5b 100644 --- a/asm/ov00/ov00_020773c0.inc +++ b/asm/ov00/ov00_020773c0.inc @@ -1,9 +1,19 @@ #pragma once .extern Divide .extern WaitByLoop +.extern _ZN10MapManager13GetCourseMaxXEv +.extern _ZN10MapManager13GetCourseMaxZEv +.extern _ZN10MapManager13GetCourseMinXEv +.extern _ZN10MapManager13GetCourseMinZEv +.extern _ZN10MapManager18func_ov00_02082e1cEPiS0_ +.extern _ZN10MapManager18func_ov00_0208306cEv +.extern _ZN10MapManager18func_ov00_02083588Ev +.extern _ZN10MapManager18func_ov00_020849c0Ev +.extern _ZN14AdventureFlags15Get_FlagsUnk_48Ei .extern _ZN14OverlayManager15LoadIfNotLoadedEjj .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj +.extern __register_global_object .extern data_02000ba0 .extern data_02056be4 .extern data_0205750c @@ -26,9 +36,7 @@ .extern data_027e0d48 .extern data_027e0d54 .extern data_027e0e28 -.extern gMapManager .extern data_027e0f64 -.extern gAdventureFlags .extern data_027e0f7c .extern data_027e1054 .extern data_ov00_020ec718 @@ -127,19 +135,9 @@ .extern func_020426d4 .extern func_02042bb8 .extern func_0204366c -.extern __register_global_object .extern func_ov00_0207bc48 .extern func_ov00_0207c170 -.extern _ZN10MapManager18func_ov00_02082e1cEPiS0_ -.extern _ZN10MapManager18func_ov00_0208306cEv -.extern _ZN10MapManager13GetCourseMinXEv -.extern _ZN10MapManager13GetCourseMinZEv -.extern _ZN10MapManager13GetCourseMaxXEv -.extern _ZN10MapManager13GetCourseMaxZEv -.extern _ZN10MapManager18func_ov00_02083588Ev -.extern _ZN10MapManager18func_ov00_020849c0Ev .extern func_ov00_02088074 -.extern _ZN14AdventureFlags15Get_FlagsUnk_48Ei .extern func_ov00_0209d738 .extern func_ov00_0209d758 .extern func_ov00_0209d768 @@ -155,10 +153,13 @@ .extern func_ov03_020f4b7c .extern func_ov04_02100b6c .extern func_ov08_02112ee0 +.extern func_ov08_02113a0c .extern func_ov08_02113a40 .extern func_ov09_021136c4 .extern func_ov09_0211d860 .extern func_ov09_0211d8a0 .extern func_ov29_02178f1c +.extern gAdventureFlags +.extern gMapManager .extern gOverlayManager .extern strncmp diff --git a/asm/ov00/ov00_020773c0.s b/asm/ov00/ov00_020773c0.s index 4fba1472..2a2ffd72 100644 --- a/asm/ov00/ov00_020773c0.s +++ b/asm/ov00/ov00_020773c0.s @@ -6935,6 +6935,17 @@ _020df36c: .word data_027e0d54 _020df370: .word func_ov00_0207a2fc - 1 _020df374: .word data_027e0d48 + .global func_ov00_020df378 + arm_func_start func_ov00_020df378 +func_ov00_020df378: ; 0x020df378 + ldr ip, _020df384 ; =func_ov08_02113a0c + ldr r0, _020df388 ; =data_ov00_020e9370 + bx ip + .align 2, 0 + arm_func_end func_ov00_020df378 +_020df384: .word func_ov08_02113a0c +_020df388: .word data_ov00_020e9370 + .section .ctor, 4, 1, 4 .global data_ov00_020e1e88 data_ov00_020e1e88: ; 0x020e1e88 @@ -7090,3 +7101,1737 @@ data_ov00_020e9360: .global data_ov00_020e9364 data_ov00_020e9364: .space 0x4 + .global data_ov00_020e9368 +data_ov00_020e9368: + .space 0x4 + .global data_ov00_020e936c +data_ov00_020e936c: + .space 0x4 + .global data_ov00_020e9370 +data_ov00_020e9370: + .space 0x4 + .global data_ov00_020e9374 +data_ov00_020e9374: + .space 0x4 + .global data_ov00_020e9378 +data_ov00_020e9378: + .space 0x4 + .global data_ov00_020e937c +data_ov00_020e937c: + .space 0x4 + .global data_ov00_020e9380 +data_ov00_020e9380: + .space 0x4 + .global data_ov00_020e9384 +data_ov00_020e9384: + .space 0x4 + .global data_ov00_020e9388 +data_ov00_020e9388: + .space 0x4 + .global data_ov00_020e938c +data_ov00_020e938c: + .space 0x4 + .global data_ov00_020e9390 +data_ov00_020e9390: + .space 0x4 + .global data_ov00_020e9394 +data_ov00_020e9394: + .space 0x4 + .global data_ov00_020e9398 +data_ov00_020e9398: + .space 0x4 + .global data_ov00_020e939c +data_ov00_020e939c: + .space 0x4 + .global data_ov00_020e93a0 +data_ov00_020e93a0: + .space 0x4 + .global data_ov00_020e93a4 +data_ov00_020e93a4: + .space 0x4 + .global data_ov00_020e93a8 +data_ov00_020e93a8: + .space 0x4 + .global data_ov00_020e93ac +data_ov00_020e93ac: + .space 0x4 + .global data_ov00_020e93b0 +data_ov00_020e93b0: + .space 0x4 + .global data_ov00_020e93b4 +data_ov00_020e93b4: + .space 0x4 + .global data_ov00_020e93b8 +data_ov00_020e93b8: + .space 0x4 + .global data_ov00_020e93bc +data_ov00_020e93bc: + .space 0x4 + .global data_ov00_020e93c0 +data_ov00_020e93c0: + .space 0x4 + .global data_ov00_020e93c4 +data_ov00_020e93c4: + .space 0x4 + .global data_ov00_020e93c8 +data_ov00_020e93c8: + .space 0x4 + .global data_ov00_020e93cc +data_ov00_020e93cc: + .space 0x4 + .global data_ov00_020e93d0 +data_ov00_020e93d0: + .space 0x4 + .global data_ov00_020e93d4 +data_ov00_020e93d4: + .space 0x4 + .global data_ov00_020e93d8 +data_ov00_020e93d8: + .space 0x4 + .global data_ov00_020e93dc +data_ov00_020e93dc: + .space 0x4 + .global data_ov00_020e93e0 +data_ov00_020e93e0: + .space 0x4 + .global data_ov00_020e93e4 +data_ov00_020e93e4: + .space 0x4 + .global data_ov00_020e93e8 +data_ov00_020e93e8: + .space 0x4 + .global data_ov00_020e93ec +data_ov00_020e93ec: + .space 0x4 + .global data_ov00_020e93f0 +data_ov00_020e93f0: + .space 0x4 + .global data_ov00_020e93f4 +data_ov00_020e93f4: + .space 0x4 + .global data_ov00_020e93f8 +data_ov00_020e93f8: + .space 0x4 + .global data_ov00_020e93fc +data_ov00_020e93fc: + .space 0x4 + .global data_ov00_020e9400 +data_ov00_020e9400: + .space 0x4 + .global data_ov00_020e9404 +data_ov00_020e9404: + .space 0x4 + .global data_ov00_020e9408 +data_ov00_020e9408: + .space 0x4 + .global data_ov00_020e940c +data_ov00_020e940c: + .space 0x4 + .global data_ov00_020e9410 +data_ov00_020e9410: + .space 0x4 + .global data_ov00_020e9414 +data_ov00_020e9414: + .space 0x4 + .global data_ov00_020e9418 +data_ov00_020e9418: + .space 0x4 + .global data_ov00_020e941c +data_ov00_020e941c: + .space 0x4 + .global data_ov00_020e9420 +data_ov00_020e9420: + .space 0x4 + .global data_ov00_020e9424 +data_ov00_020e9424: + .space 0x4 + .global data_ov00_020e9428 +data_ov00_020e9428: + .space 0x4 + .global data_ov00_020e942c +data_ov00_020e942c: + .space 0x4 + .global data_ov00_020e9430 +data_ov00_020e9430: + .space 0x4 + .global data_ov00_020e9434 +data_ov00_020e9434: + .space 0x4 + .global data_ov00_020e9438 +data_ov00_020e9438: + .space 0x4 + .global data_ov00_020e943c +data_ov00_020e943c: + .space 0x4 + .global data_ov00_020e9440 +data_ov00_020e9440: + .space 0x4 + .global data_ov00_020e9444 +data_ov00_020e9444: + .space 0x4 + .global data_ov00_020e9448 +data_ov00_020e9448: + .space 0x4 + .global data_ov00_020e944c +data_ov00_020e944c: + .space 0x4 + .global data_ov00_020e9450 +data_ov00_020e9450: + .space 0x4 + .global data_ov00_020e9454 +data_ov00_020e9454: + .space 0x4 + .global data_ov00_020e9458 +data_ov00_020e9458: + .space 0x4 + .global data_ov00_020e945c +data_ov00_020e945c: + .space 0x4 + .global data_ov00_020e9460 +data_ov00_020e9460: + .space 0x4 + .global data_ov00_020e9464 +data_ov00_020e9464: + .space 0x4 + .global data_ov00_020e9468 +data_ov00_020e9468: + .space 0x4 + .global data_ov00_020e946c +data_ov00_020e946c: + .space 0x4 + .global data_ov00_020e9470 +data_ov00_020e9470: + .space 0x4 + .global data_ov00_020e9474 +data_ov00_020e9474: + .space 0x4 + .global data_ov00_020e9478 +data_ov00_020e9478: + .space 0x4 + .global data_ov00_020e947c +data_ov00_020e947c: + .space 0x4 + .global data_ov00_020e9480 +data_ov00_020e9480: + .space 0x4 + .global data_ov00_020e9484 +data_ov00_020e9484: + .space 0x4 + .global data_ov00_020e9488 +data_ov00_020e9488: + .space 0x4 + .global data_ov00_020e948c +data_ov00_020e948c: + .space 0x4 + .global data_ov00_020e9490 +data_ov00_020e9490: + .space 0x4 + .global data_ov00_020e9494 +data_ov00_020e9494: + .space 0x4 + .global data_ov00_020e9498 +data_ov00_020e9498: + .space 0x4 + .global data_ov00_020e949c +data_ov00_020e949c: + .space 0x4 + .global data_ov00_020e94a0 +data_ov00_020e94a0: + .space 0x4 + .global data_ov00_020e94a4 +data_ov00_020e94a4: + .space 0x4 + .global data_ov00_020e94a8 +data_ov00_020e94a8: + .space 0x4 + .global data_ov00_020e94ac +data_ov00_020e94ac: + .space 0x4 + .global data_ov00_020e94b0 +data_ov00_020e94b0: + .space 0x4 + .global data_ov00_020e94b4 +data_ov00_020e94b4: + .space 0x4 + .global data_ov00_020e94b8 +data_ov00_020e94b8: + .space 0x4 + .global data_ov00_020e94bc +data_ov00_020e94bc: + .space 0x4 + .global data_ov00_020e94c0 +data_ov00_020e94c0: + .space 0x4 + .global data_ov00_020e94c4 +data_ov00_020e94c4: + .space 0x4 + .global data_ov00_020e94c8 +data_ov00_020e94c8: + .space 0x4 + .global data_ov00_020e94cc +data_ov00_020e94cc: + .space 0x4 + .global data_ov00_020e94d0 +data_ov00_020e94d0: + .space 0x4 + .global data_ov00_020e94d4 +data_ov00_020e94d4: + .space 0x4 + .global data_ov00_020e94d8 +data_ov00_020e94d8: + .space 0x4 + .global data_ov00_020e94dc +data_ov00_020e94dc: + .space 0x4 + .global data_ov00_020e94e0 +data_ov00_020e94e0: + .space 0x4 + .global data_ov00_020e94e4 +data_ov00_020e94e4: + .space 0x4 + .global data_ov00_020e94e8 +data_ov00_020e94e8: + .space 0x4 + .global data_ov00_020e94ec +data_ov00_020e94ec: + .space 0x4 + .global data_ov00_020e94f0 +data_ov00_020e94f0: + .space 0x4 + .global data_ov00_020e94f4 +data_ov00_020e94f4: + .space 0x4 + .global data_ov00_020e94f8 +data_ov00_020e94f8: + .space 0x4 + .global data_ov00_020e94fc +data_ov00_020e94fc: + .space 0x4 + .global data_ov00_020e9500 +data_ov00_020e9500: + .space 0x4 + .global data_ov00_020e9504 +data_ov00_020e9504: + .space 0x4 + .global data_ov00_020e9508 +data_ov00_020e9508: + .space 0x4 + .global data_ov00_020e950c +data_ov00_020e950c: + .space 0x4 + .global data_ov00_020e9510 +data_ov00_020e9510: + .space 0x4 + .global data_ov00_020e9514 +data_ov00_020e9514: + .space 0x4 + .global data_ov00_020e9518 +data_ov00_020e9518: + .space 0x4 + .global data_ov00_020e951c +data_ov00_020e951c: + .space 0x4 + .global data_ov00_020e9520 +data_ov00_020e9520: + .space 0x4 + .global data_ov00_020e9524 +data_ov00_020e9524: + .space 0x4 + .global data_ov00_020e9528 +data_ov00_020e9528: + .space 0x4 + .global data_ov00_020e952c +data_ov00_020e952c: + .space 0x4 + .global data_ov00_020e9530 +data_ov00_020e9530: + .space 0x4 + .global data_ov00_020e9534 +data_ov00_020e9534: + .space 0x4 + .global data_ov00_020e9538 +data_ov00_020e9538: + .space 0x4 + .global data_ov00_020e953c +data_ov00_020e953c: + .space 0x4 + .global data_ov00_020e9540 +data_ov00_020e9540: + .space 0x4 + .global data_ov00_020e9544 +data_ov00_020e9544: + .space 0x4 + .global data_ov00_020e9548 +data_ov00_020e9548: + .space 0x4 + .global data_ov00_020e954c +data_ov00_020e954c: + .space 0x4 + .global data_ov00_020e9550 +data_ov00_020e9550: + .space 0x4 + .global data_ov00_020e9554 +data_ov00_020e9554: + .space 0x4 + .global data_ov00_020e9558 +data_ov00_020e9558: + .space 0x4 + .global data_ov00_020e955c +data_ov00_020e955c: + .space 0x4 + .global data_ov00_020e9560 +data_ov00_020e9560: + .space 0x4 + .global data_ov00_020e9564 +data_ov00_020e9564: + .space 0x4 + .global data_ov00_020e9568 +data_ov00_020e9568: + .space 0x4 + .global data_ov00_020e956c +data_ov00_020e956c: + .space 0x4 + .global data_ov00_020e9570 +data_ov00_020e9570: + .space 0x4 + .global data_ov00_020e9574 +data_ov00_020e9574: + .space 0x4 + .global data_ov00_020e9578 +data_ov00_020e9578: + .space 0x4 + .global data_ov00_020e957c +data_ov00_020e957c: + .space 0x4 + .global data_ov00_020e9580 +data_ov00_020e9580: + .space 0x4 + .global data_ov00_020e9584 +data_ov00_020e9584: + .space 0x4 + .global data_ov00_020e9588 +data_ov00_020e9588: + .space 0x4 + .global data_ov00_020e958c +data_ov00_020e958c: + .space 0x4 + .global data_ov00_020e9590 +data_ov00_020e9590: + .space 0x4 + .global data_ov00_020e9594 +data_ov00_020e9594: + .space 0x4 + .global data_ov00_020e9598 +data_ov00_020e9598: + .space 0x4 + .global data_ov00_020e959c +data_ov00_020e959c: + .space 0x4 + .global data_ov00_020e95a0 +data_ov00_020e95a0: + .space 0x4 + .global data_ov00_020e95a4 +data_ov00_020e95a4: + .space 0x4 + .global data_ov00_020e95a8 +data_ov00_020e95a8: + .space 0x4 + .global data_ov00_020e95ac +data_ov00_020e95ac: + .space 0x4 + .global data_ov00_020e95b0 +data_ov00_020e95b0: + .space 0x4 + .global data_ov00_020e95b4 +data_ov00_020e95b4: + .space 0x4 + .global data_ov00_020e95b8 +data_ov00_020e95b8: + .space 0x4 + .global data_ov00_020e95bc +data_ov00_020e95bc: + .space 0x4 + .global data_ov00_020e95c0 +data_ov00_020e95c0: + .space 0x4 + .global data_ov00_020e95c4 +data_ov00_020e95c4: + .space 0x4 + .global data_ov00_020e95c8 +data_ov00_020e95c8: + .space 0x4 + .global data_ov00_020e95cc +data_ov00_020e95cc: + .space 0x4 + .global data_ov00_020e95d0 +data_ov00_020e95d0: + .space 0x4 + .global data_ov00_020e95d4 +data_ov00_020e95d4: + .space 0x4 + .global data_ov00_020e95d8 +data_ov00_020e95d8: + .space 0x4 + .global data_ov00_020e95dc +data_ov00_020e95dc: + .space 0x4 + .global data_ov00_020e95e0 +data_ov00_020e95e0: + .space 0x4 + .global data_ov00_020e95e4 +data_ov00_020e95e4: + .space 0x4 + .global data_ov00_020e95e8 +data_ov00_020e95e8: + .space 0x4 + .global data_ov00_020e95ec +data_ov00_020e95ec: + .space 0x4 + .global data_ov00_020e95f0 +data_ov00_020e95f0: + .space 0x4 + .global data_ov00_020e95f4 +data_ov00_020e95f4: + .space 0x4 + .global data_ov00_020e95f8 +data_ov00_020e95f8: + .space 0x4 + .global data_ov00_020e95fc +data_ov00_020e95fc: + .space 0x4 + .global data_ov00_020e9600 +data_ov00_020e9600: + .space 0x4 + .global data_ov00_020e9604 +data_ov00_020e9604: + .space 0x4 + .global data_ov00_020e9608 +data_ov00_020e9608: + .space 0x4 + .global data_ov00_020e960c +data_ov00_020e960c: + .space 0x4 + .global data_ov00_020e9610 +data_ov00_020e9610: + .space 0x4 + .global data_ov00_020e9614 +data_ov00_020e9614: + .space 0x4 + .global data_ov00_020e9618 +data_ov00_020e9618: + .space 0x4 + .global data_ov00_020e961c +data_ov00_020e961c: + .space 0x4 + .global data_ov00_020e9620 +data_ov00_020e9620: + .space 0x4 + .global data_ov00_020e9624 +data_ov00_020e9624: + .space 0x4 + .global data_ov00_020e9628 +data_ov00_020e9628: + .space 0x4 + .global data_ov00_020e962c +data_ov00_020e962c: + .space 0x4 + .global data_ov00_020e9630 +data_ov00_020e9630: + .space 0x4 + .global data_ov00_020e9634 +data_ov00_020e9634: + .space 0x4 + .global data_ov00_020e9638 +data_ov00_020e9638: + .space 0x4 + .global data_ov00_020e963c +data_ov00_020e963c: + .space 0x4 + .global data_ov00_020e9640 +data_ov00_020e9640: + .space 0x4 + .global data_ov00_020e9644 +data_ov00_020e9644: + .space 0x4 + .global data_ov00_020e9648 +data_ov00_020e9648: + .space 0x4 + .global data_ov00_020e964c +data_ov00_020e964c: + .space 0x4 + .global data_ov00_020e9650 +data_ov00_020e9650: + .space 0x4 + .global data_ov00_020e9654 +data_ov00_020e9654: + .space 0x4 + .global data_ov00_020e9658 +data_ov00_020e9658: + .space 0x4 + .global data_ov00_020e965c +data_ov00_020e965c: + .space 0x4 + .global data_ov00_020e9660 +data_ov00_020e9660: + .space 0x4 + .global data_ov00_020e9664 +data_ov00_020e9664: + .space 0x4 + .global data_ov00_020e9668 +data_ov00_020e9668: + .space 0x4 + .global data_ov00_020e966c +data_ov00_020e966c: + .space 0x4 + .global data_ov00_020e9670 +data_ov00_020e9670: + .space 0x4 + .global data_ov00_020e9674 +data_ov00_020e9674: + .space 0x4 + .global data_ov00_020e9678 +data_ov00_020e9678: + .space 0x4 + .global data_ov00_020e967c +data_ov00_020e967c: + .space 0x4 + .global data_ov00_020e9680 +data_ov00_020e9680: + .space 0x4 + .global data_ov00_020e9684 +data_ov00_020e9684: + .space 0x4 + .global data_ov00_020e9688 +data_ov00_020e9688: + .space 0x4 + .global data_ov00_020e968c +data_ov00_020e968c: + .space 0x4 + .global data_ov00_020e9690 +data_ov00_020e9690: + .space 0x4 + .global data_ov00_020e9694 +data_ov00_020e9694: + .space 0x4 + .global data_ov00_020e9698 +data_ov00_020e9698: + .space 0x4 + .global data_ov00_020e969c +data_ov00_020e969c: + .space 0x4 + .global data_ov00_020e96a0 +data_ov00_020e96a0: + .space 0x4 + .global data_ov00_020e96a4 +data_ov00_020e96a4: + .space 0x4 + .global data_ov00_020e96a8 +data_ov00_020e96a8: + .space 0x4 + .global data_ov00_020e96ac +data_ov00_020e96ac: + .space 0x4 + .global data_ov00_020e96b0 +data_ov00_020e96b0: + .space 0x4 + .global data_ov00_020e96b4 +data_ov00_020e96b4: + .space 0x4 + .global data_ov00_020e96b8 +data_ov00_020e96b8: + .space 0x4 + .global data_ov00_020e96bc +data_ov00_020e96bc: + .space 0x4 + .global data_ov00_020e96c0 +data_ov00_020e96c0: + .space 0x4 + .global data_ov00_020e96c4 +data_ov00_020e96c4: + .space 0x4 + .global data_ov00_020e96c8 +data_ov00_020e96c8: + .space 0x4 + .global data_ov00_020e96cc +data_ov00_020e96cc: + .space 0x4 + .global data_ov00_020e96d0 +data_ov00_020e96d0: + .space 0x4 + .global data_ov00_020e96d4 +data_ov00_020e96d4: + .space 0x4 + .global data_ov00_020e96d8 +data_ov00_020e96d8: + .space 0x4 + .global data_ov00_020e96dc +data_ov00_020e96dc: + .space 0x4 + .global data_ov00_020e96e0 +data_ov00_020e96e0: + .space 0x4 + .global data_ov00_020e96e4 +data_ov00_020e96e4: + .space 0x4 + .global data_ov00_020e96e8 +data_ov00_020e96e8: + .space 0x4 + .global data_ov00_020e96ec +data_ov00_020e96ec: + .space 0x4 + .global data_ov00_020e96f0 +data_ov00_020e96f0: + .space 0x4 + .global data_ov00_020e96f4 +data_ov00_020e96f4: + .space 0x4 + .global data_ov00_020e96f8 +data_ov00_020e96f8: + .space 0x4 + .global data_ov00_020e96fc +data_ov00_020e96fc: + .space 0x4 + .global data_ov00_020e9700 +data_ov00_020e9700: + .space 0x4 + .global data_ov00_020e9704 +data_ov00_020e9704: + .space 0x4 + .global data_ov00_020e9708 +data_ov00_020e9708: + .space 0x4 + .global data_ov00_020e970c +data_ov00_020e970c: + .space 0x4 + .global data_ov00_020e9710 +data_ov00_020e9710: + .space 0x4 + .global data_ov00_020e9714 +data_ov00_020e9714: + .space 0x4 + .global data_ov00_020e9718 +data_ov00_020e9718: + .space 0x4 + .global data_ov00_020e971c +data_ov00_020e971c: + .space 0x4 + .global data_ov00_020e9720 +data_ov00_020e9720: + .space 0x4 + .global data_ov00_020e9724 +data_ov00_020e9724: + .space 0x4 + .global data_ov00_020e9728 +data_ov00_020e9728: + .space 0x4 + .global data_ov00_020e972c +data_ov00_020e972c: + .space 0x4 + .global data_ov00_020e9730 +data_ov00_020e9730: + .space 0x4 + .global data_ov00_020e9734 +data_ov00_020e9734: + .space 0x4 + .global data_ov00_020e9738 +data_ov00_020e9738: + .space 0x4 + .global data_ov00_020e973c +data_ov00_020e973c: + .space 0x4 + .global data_ov00_020e9740 +data_ov00_020e9740: + .space 0x4 + .global data_ov00_020e9744 +data_ov00_020e9744: + .space 0x4 + .global data_ov00_020e9748 +data_ov00_020e9748: + .space 0x4 + .global data_ov00_020e974c +data_ov00_020e974c: + .space 0x4 + .global data_ov00_020e9750 +data_ov00_020e9750: + .space 0x4 + .global data_ov00_020e9754 +data_ov00_020e9754: + .space 0x4 + .global data_ov00_020e9758 +data_ov00_020e9758: + .space 0x4 + .global data_ov00_020e975c +data_ov00_020e975c: + .space 0x4 + .global data_ov00_020e9760 +data_ov00_020e9760: + .space 0x4 + .global data_ov00_020e9764 +data_ov00_020e9764: + .space 0x4 + .global data_ov00_020e9768 +data_ov00_020e9768: + .space 0x4 + .global data_ov00_020e976c +data_ov00_020e976c: + .space 0x4 + .global data_ov00_020e9770 +data_ov00_020e9770: + .space 0x4 + .global data_ov00_020e9774 +data_ov00_020e9774: + .space 0x4 + .global data_ov00_020e9778 +data_ov00_020e9778: + .space 0x4 + .global data_ov00_020e977c +data_ov00_020e977c: + .space 0x4 + .global data_ov00_020e9780 +data_ov00_020e9780: + .space 0x4 + .global data_ov00_020e9784 +data_ov00_020e9784: + .space 0x4 + .global data_ov00_020e9788 +data_ov00_020e9788: + .space 0x4 + .global data_ov00_020e978c +data_ov00_020e978c: + .space 0x4 + .global data_ov00_020e9790 +data_ov00_020e9790: + .space 0x4 + .global data_ov00_020e9794 +data_ov00_020e9794: + .space 0x4 + .global data_ov00_020e9798 +data_ov00_020e9798: + .space 0x4 + .global data_ov00_020e979c +data_ov00_020e979c: + .space 0x4 + .global data_ov00_020e97a0 +data_ov00_020e97a0: + .space 0x4 + .global data_ov00_020e97a4 +data_ov00_020e97a4: + .space 0x4 + .global data_ov00_020e97a8 +data_ov00_020e97a8: + .space 0x4 + .global data_ov00_020e97ac +data_ov00_020e97ac: + .space 0x4 + .global data_ov00_020e97b0 +data_ov00_020e97b0: + .space 0x4 + .global data_ov00_020e97b4 +data_ov00_020e97b4: + .space 0x4 + .global data_ov00_020e97b8 +data_ov00_020e97b8: + .space 0x4 + .global data_ov00_020e97bc +data_ov00_020e97bc: + .space 0x4 + .global data_ov00_020e97c0 +data_ov00_020e97c0: + .space 0x4 + .global data_ov00_020e97c4 +data_ov00_020e97c4: + .space 0x4 + .global data_ov00_020e97c8 +data_ov00_020e97c8: + .space 0x4 + .global data_ov00_020e97cc +data_ov00_020e97cc: + .space 0x4 + .global data_ov00_020e97d0 +data_ov00_020e97d0: + .space 0x4 + .global data_ov00_020e97d4 +data_ov00_020e97d4: + .space 0x4 + .global data_ov00_020e97d8 +data_ov00_020e97d8: + .space 0x4 + .global data_ov00_020e97dc +data_ov00_020e97dc: + .space 0x4 + .global data_ov00_020e97e0 +data_ov00_020e97e0: + .space 0x4 + .global data_ov00_020e97e4 +data_ov00_020e97e4: + .space 0x4 + .global data_ov00_020e97e8 +data_ov00_020e97e8: + .space 0x4 + .global data_ov00_020e97ec +data_ov00_020e97ec: + .space 0x4 + .global data_ov00_020e97f0 +data_ov00_020e97f0: + .space 0x4 + .global data_ov00_020e97f4 +data_ov00_020e97f4: + .space 0x4 + .global data_ov00_020e97f8 +data_ov00_020e97f8: + .space 0x4 + .global data_ov00_020e97fc +data_ov00_020e97fc: + .space 0x4 + .global data_ov00_020e9800 +data_ov00_020e9800: + .space 0x4 + .global data_ov00_020e9804 +data_ov00_020e9804: + .space 0x4 + .global data_ov00_020e9808 +data_ov00_020e9808: + .space 0x4 + .global data_ov00_020e980c +data_ov00_020e980c: + .space 0x4 + .global data_ov00_020e9810 +data_ov00_020e9810: + .space 0x4 + .global data_ov00_020e9814 +data_ov00_020e9814: + .space 0x4 + .global data_ov00_020e9818 +data_ov00_020e9818: + .space 0x4 + .global data_ov00_020e981c +data_ov00_020e981c: + .space 0x4 + .global data_ov00_020e9820 +data_ov00_020e9820: + .space 0x4 + .global data_ov00_020e9824 +data_ov00_020e9824: + .space 0x4 + .global data_ov00_020e9828 +data_ov00_020e9828: + .space 0x4 + .global data_ov00_020e982c +data_ov00_020e982c: + .space 0x4 + .global data_ov00_020e9830 +data_ov00_020e9830: + .space 0x4 + .global data_ov00_020e9834 +data_ov00_020e9834: + .space 0x4 + .global data_ov00_020e9838 +data_ov00_020e9838: + .space 0x4 + .global data_ov00_020e983c +data_ov00_020e983c: + .space 0x4 + .global data_ov00_020e9840 +data_ov00_020e9840: + .space 0x4 + .global data_ov00_020e9844 +data_ov00_020e9844: + .space 0x4 + .global data_ov00_020e9848 +data_ov00_020e9848: + .space 0x4 + .global data_ov00_020e984c +data_ov00_020e984c: + .space 0x4 + .global data_ov00_020e9850 +data_ov00_020e9850: + .space 0x4 + .global data_ov00_020e9854 +data_ov00_020e9854: + .space 0x4 + .global data_ov00_020e9858 +data_ov00_020e9858: + .space 0x4 + .global data_ov00_020e985c +data_ov00_020e985c: + .space 0x4 + .global data_ov00_020e9860 +data_ov00_020e9860: + .space 0x4 + .global data_ov00_020e9864 +data_ov00_020e9864: + .space 0x4 + .global data_ov00_020e9868 +data_ov00_020e9868: + .space 0x4 + .global data_ov00_020e986c +data_ov00_020e986c: + .space 0x4 + .global data_ov00_020e9870 +data_ov00_020e9870: + .space 0x4 + .global data_ov00_020e9874 +data_ov00_020e9874: + .space 0x4 + .global data_ov00_020e9878 +data_ov00_020e9878: + .space 0x4 + .global data_ov00_020e987c +data_ov00_020e987c: + .space 0x4 + .global data_ov00_020e9880 +data_ov00_020e9880: + .space 0x4 + .global data_ov00_020e9884 +data_ov00_020e9884: + .space 0x4 + .global data_ov00_020e9888 +data_ov00_020e9888: + .space 0x4 + .global data_ov00_020e988c +data_ov00_020e988c: + .space 0x4 + .global data_ov00_020e9890 +data_ov00_020e9890: + .space 0x4 + .global data_ov00_020e9894 +data_ov00_020e9894: + .space 0x4 + .global data_ov00_020e9898 +data_ov00_020e9898: + .space 0x4 + .global data_ov00_020e989c +data_ov00_020e989c: + .space 0x4 + .global data_ov00_020e98a0 +data_ov00_020e98a0: + .space 0x4 + .global data_ov00_020e98a4 +data_ov00_020e98a4: + .space 0x4 + .global data_ov00_020e98a8 +data_ov00_020e98a8: + .space 0x4 + .global data_ov00_020e98ac +data_ov00_020e98ac: + .space 0x4 + .global data_ov00_020e98b0 +data_ov00_020e98b0: + .space 0x4 + .global data_ov00_020e98b4 +data_ov00_020e98b4: + .space 0x4 + .global data_ov00_020e98b8 +data_ov00_020e98b8: + .space 0x4 + .global data_ov00_020e98bc +data_ov00_020e98bc: + .space 0x4 + .global data_ov00_020e98c0 +data_ov00_020e98c0: + .space 0x4 + .global data_ov00_020e98c4 +data_ov00_020e98c4: + .space 0x4 + .global data_ov00_020e98c8 +data_ov00_020e98c8: + .space 0x4 + .global data_ov00_020e98cc +data_ov00_020e98cc: + .space 0x4 + .global data_ov00_020e98d0 +data_ov00_020e98d0: + .space 0x4 + .global data_ov00_020e98d4 +data_ov00_020e98d4: + .space 0x4 + .global data_ov00_020e98d8 +data_ov00_020e98d8: + .space 0x4 + .global data_ov00_020e98dc +data_ov00_020e98dc: + .space 0x4 + .global data_ov00_020e98e0 +data_ov00_020e98e0: + .space 0x4 + .global data_ov00_020e98e4 +data_ov00_020e98e4: + .space 0x4 + .global data_ov00_020e98e8 +data_ov00_020e98e8: + .space 0x4 + .global data_ov00_020e98ec +data_ov00_020e98ec: + .space 0x4 + .global data_ov00_020e98f0 +data_ov00_020e98f0: + .space 0x4 + .global data_ov00_020e98f4 +data_ov00_020e98f4: + .space 0x4 + .global data_ov00_020e98f8 +data_ov00_020e98f8: + .space 0x4 + .global data_ov00_020e98fc +data_ov00_020e98fc: + .space 0x4 + .global data_ov00_020e9900 +data_ov00_020e9900: + .space 0x4 + .global data_ov00_020e9904 +data_ov00_020e9904: + .space 0x4 + .global data_ov00_020e9908 +data_ov00_020e9908: + .space 0x4 + .global data_ov00_020e990c +data_ov00_020e990c: + .space 0x4 + .global data_ov00_020e9910 +data_ov00_020e9910: + .space 0x4 + .global data_ov00_020e9914 +data_ov00_020e9914: + .space 0x4 + .global data_ov00_020e9918 +data_ov00_020e9918: + .space 0x4 + .global data_ov00_020e991c +data_ov00_020e991c: + .space 0x4 + .global data_ov00_020e9920 +data_ov00_020e9920: + .space 0x4 + .global data_ov00_020e9924 +data_ov00_020e9924: + .space 0x4 + .global data_ov00_020e9928 +data_ov00_020e9928: + .space 0x4 + .global data_ov00_020e992c +data_ov00_020e992c: + .space 0x4 + .global data_ov00_020e9930 +data_ov00_020e9930: + .space 0x4 + .global data_ov00_020e9934 +data_ov00_020e9934: + .space 0x4 + .global data_ov00_020e9938 +data_ov00_020e9938: + .space 0x4 + .global data_ov00_020e993c +data_ov00_020e993c: + .space 0x4 + .global data_ov00_020e9940 +data_ov00_020e9940: + .space 0x4 + .global data_ov00_020e9944 +data_ov00_020e9944: + .space 0x4 + .global data_ov00_020e9948 +data_ov00_020e9948: + .space 0x4 + .global data_ov00_020e994c +data_ov00_020e994c: + .space 0x4 + .global data_ov00_020e9950 +data_ov00_020e9950: + .space 0x4 + .global data_ov00_020e9954 +data_ov00_020e9954: + .space 0x4 + .global data_ov00_020e9958 +data_ov00_020e9958: + .space 0x4 + .global data_ov00_020e995c +data_ov00_020e995c: + .space 0x4 + .global data_ov00_020e9960 +data_ov00_020e9960: + .space 0x4 + .global data_ov00_020e9964 +data_ov00_020e9964: + .space 0x4 + .global data_ov00_020e9968 +data_ov00_020e9968: + .space 0x4 + .global data_ov00_020e996c +data_ov00_020e996c: + .space 0x4 + .global data_ov00_020e9970 +data_ov00_020e9970: + .space 0x4 + .global data_ov00_020e9974 +data_ov00_020e9974: + .space 0x4 + .global data_ov00_020e9978 +data_ov00_020e9978: + .space 0x4 + .global data_ov00_020e997c +data_ov00_020e997c: + .space 0x4 + .global data_ov00_020e9980 +data_ov00_020e9980: + .space 0x4 + .global data_ov00_020e9984 +data_ov00_020e9984: + .space 0x4 + .global data_ov00_020e9988 +data_ov00_020e9988: + .space 0x4 + .global data_ov00_020e998c +data_ov00_020e998c: + .space 0x4 + .global data_ov00_020e9990 +data_ov00_020e9990: + .space 0x4 + .global data_ov00_020e9994 +data_ov00_020e9994: + .space 0x4 + .global data_ov00_020e9998 +data_ov00_020e9998: + .space 0x4 + .global data_ov00_020e999c +data_ov00_020e999c: + .space 0x4 + .global data_ov00_020e99a0 +data_ov00_020e99a0: + .space 0x4 + .global data_ov00_020e99a4 +data_ov00_020e99a4: + .space 0x4 + .global data_ov00_020e99a8 +data_ov00_020e99a8: + .space 0x4 + .global data_ov00_020e99ac +data_ov00_020e99ac: + .space 0x4 + .global data_ov00_020e99b0 +data_ov00_020e99b0: + .space 0x4 + .global data_ov00_020e99b4 +data_ov00_020e99b4: + .space 0x4 + .global data_ov00_020e99b8 +data_ov00_020e99b8: + .space 0x4 + .global data_ov00_020e99bc +data_ov00_020e99bc: + .space 0x4 + .global data_ov00_020e99c0 +data_ov00_020e99c0: + .space 0x4 + .global data_ov00_020e99c4 +data_ov00_020e99c4: + .space 0x4 + .global data_ov00_020e99c8 +data_ov00_020e99c8: + .space 0x4 + .global data_ov00_020e99cc +data_ov00_020e99cc: + .space 0x4 + .global data_ov00_020e99d0 +data_ov00_020e99d0: + .space 0x4 + .global data_ov00_020e99d4 +data_ov00_020e99d4: + .space 0x4 + .global data_ov00_020e99d8 +data_ov00_020e99d8: + .space 0x4 + .global data_ov00_020e99dc +data_ov00_020e99dc: + .space 0x4 + .global data_ov00_020e99e0 +data_ov00_020e99e0: + .space 0x4 + .global data_ov00_020e99e4 +data_ov00_020e99e4: + .space 0x4 + .global data_ov00_020e99e8 +data_ov00_020e99e8: + .space 0x4 + .global data_ov00_020e99ec +data_ov00_020e99ec: + .space 0x4 + .global data_ov00_020e99f0 +data_ov00_020e99f0: + .space 0x4 + .global data_ov00_020e99f4 +data_ov00_020e99f4: + .space 0x4 + .global data_ov00_020e99f8 +data_ov00_020e99f8: + .space 0x4 + .global data_ov00_020e99fc +data_ov00_020e99fc: + .space 0x4 + .global data_ov00_020e9a00 +data_ov00_020e9a00: + .space 0x4 + .global data_ov00_020e9a04 +data_ov00_020e9a04: + .space 0x4 + .global data_ov00_020e9a08 +data_ov00_020e9a08: + .space 0x4 + .global data_ov00_020e9a0c +data_ov00_020e9a0c: + .space 0x4 + .global data_ov00_020e9a10 +data_ov00_020e9a10: + .space 0x4 + .global data_ov00_020e9a14 +data_ov00_020e9a14: + .space 0x4 + .global data_ov00_020e9a18 +data_ov00_020e9a18: + .space 0x4 + .global data_ov00_020e9a1c +data_ov00_020e9a1c: + .space 0x4 + .global data_ov00_020e9a20 +data_ov00_020e9a20: + .space 0x4 + .global data_ov00_020e9a24 +data_ov00_020e9a24: + .space 0x4 + .global data_ov00_020e9a28 +data_ov00_020e9a28: + .space 0x4 + .global data_ov00_020e9a2c +data_ov00_020e9a2c: + .space 0x4 + .global data_ov00_020e9a30 +data_ov00_020e9a30: + .space 0x4 + .global data_ov00_020e9a34 +data_ov00_020e9a34: + .space 0x4 + .global data_ov00_020e9a38 +data_ov00_020e9a38: + .space 0x4 + .global data_ov00_020e9a3c +data_ov00_020e9a3c: + .space 0x4 + .global data_ov00_020e9a40 +data_ov00_020e9a40: + .space 0x4 + .global data_ov00_020e9a44 +data_ov00_020e9a44: + .space 0x4 + .global data_ov00_020e9a48 +data_ov00_020e9a48: + .space 0x4 + .global data_ov00_020e9a4c +data_ov00_020e9a4c: + .space 0x4 + .global data_ov00_020e9a50 +data_ov00_020e9a50: + .space 0x4 + .global data_ov00_020e9a54 +data_ov00_020e9a54: + .space 0x4 + .global data_ov00_020e9a58 +data_ov00_020e9a58: + .space 0x4 + .global data_ov00_020e9a5c +data_ov00_020e9a5c: + .space 0x4 + .global data_ov00_020e9a60 +data_ov00_020e9a60: + .space 0x4 + .global data_ov00_020e9a64 +data_ov00_020e9a64: + .space 0x4 + .global data_ov00_020e9a68 +data_ov00_020e9a68: + .space 0x4 + .global data_ov00_020e9a6c +data_ov00_020e9a6c: + .space 0x4 + .global data_ov00_020e9a70 +data_ov00_020e9a70: + .space 0x4 + .global data_ov00_020e9a74 +data_ov00_020e9a74: + .space 0x4 + .global data_ov00_020e9a78 +data_ov00_020e9a78: + .space 0x4 + .global data_ov00_020e9a7c +data_ov00_020e9a7c: + .space 0x4 + .global data_ov00_020e9a80 +data_ov00_020e9a80: + .space 0x4 + .global data_ov00_020e9a84 +data_ov00_020e9a84: + .space 0x4 + .global data_ov00_020e9a88 +data_ov00_020e9a88: + .space 0x4 + .global data_ov00_020e9a8c +data_ov00_020e9a8c: + .space 0x4 + .global data_ov00_020e9a90 +data_ov00_020e9a90: + .space 0x4 + .global data_ov00_020e9a94 +data_ov00_020e9a94: + .space 0x4 + .global data_ov00_020e9a98 +data_ov00_020e9a98: + .space 0x4 + .global data_ov00_020e9a9c +data_ov00_020e9a9c: + .space 0x4 + .global data_ov00_020e9aa0 +data_ov00_020e9aa0: + .space 0x4 + .global data_ov00_020e9aa4 +data_ov00_020e9aa4: + .space 0x4 + .global data_ov00_020e9aa8 +data_ov00_020e9aa8: + .space 0x4 + .global data_ov00_020e9aac +data_ov00_020e9aac: + .space 0x4 + .global data_ov00_020e9ab0 +data_ov00_020e9ab0: + .space 0x4 + .global data_ov00_020e9ab4 +data_ov00_020e9ab4: + .space 0x4 + .global data_ov00_020e9ab8 +data_ov00_020e9ab8: + .space 0x4 + .global data_ov00_020e9abc +data_ov00_020e9abc: + .space 0x4 + .global data_ov00_020e9ac0 +data_ov00_020e9ac0: + .space 0x4 + .global data_ov00_020e9ac4 +data_ov00_020e9ac4: + .space 0x4 + .global data_ov00_020e9ac8 +data_ov00_020e9ac8: + .space 0x4 + .global data_ov00_020e9acc +data_ov00_020e9acc: + .space 0x4 + .global data_ov00_020e9ad0 +data_ov00_020e9ad0: + .space 0x4 + .global data_ov00_020e9ad4 +data_ov00_020e9ad4: + .space 0x4 + .global data_ov00_020e9ad8 +data_ov00_020e9ad8: + .space 0x4 + .global data_ov00_020e9adc +data_ov00_020e9adc: + .space 0x4 + .global data_ov00_020e9ae0 +data_ov00_020e9ae0: + .space 0x4 + .global data_ov00_020e9ae4 +data_ov00_020e9ae4: + .space 0x4 + .global data_ov00_020e9ae8 +data_ov00_020e9ae8: + .space 0x4 + .global data_ov00_020e9aec +data_ov00_020e9aec: + .space 0x4 + .global data_ov00_020e9af0 +data_ov00_020e9af0: + .space 0x4 + .global data_ov00_020e9af4 +data_ov00_020e9af4: + .space 0x4 + .global data_ov00_020e9af8 +data_ov00_020e9af8: + .space 0x4 + .global data_ov00_020e9afc +data_ov00_020e9afc: + .space 0x4 + .global data_ov00_020e9b00 +data_ov00_020e9b00: + .space 0x4 + .global data_ov00_020e9b04 +data_ov00_020e9b04: + .space 0x4 + .global data_ov00_020e9b08 +data_ov00_020e9b08: + .space 0x4 + .global data_ov00_020e9b0c +data_ov00_020e9b0c: + .space 0x4 + .global data_ov00_020e9b10 +data_ov00_020e9b10: + .space 0x4 + .global data_ov00_020e9b14 +data_ov00_020e9b14: + .space 0x4 + .global data_ov00_020e9b18 +data_ov00_020e9b18: + .space 0x4 + .global data_ov00_020e9b1c +data_ov00_020e9b1c: + .space 0x4 + .global data_ov00_020e9b20 +data_ov00_020e9b20: + .space 0x4 + .global data_ov00_020e9b24 +data_ov00_020e9b24: + .space 0x4 + .global data_ov00_020e9b28 +data_ov00_020e9b28: + .space 0x4 + .global data_ov00_020e9b2c +data_ov00_020e9b2c: + .space 0x4 + .global data_ov00_020e9b30 +data_ov00_020e9b30: + .space 0x4 + .global data_ov00_020e9b34 +data_ov00_020e9b34: + .space 0x4 + .global data_ov00_020e9b38 +data_ov00_020e9b38: + .space 0x4 + .global data_ov00_020e9b3c +data_ov00_020e9b3c: + .space 0x4 + .global data_ov00_020e9b40 +data_ov00_020e9b40: + .space 0x4 + .global data_ov00_020e9b44 +data_ov00_020e9b44: + .space 0x4 + .global data_ov00_020e9b48 +data_ov00_020e9b48: + .space 0x4 + .global data_ov00_020e9b4c +data_ov00_020e9b4c: + .space 0x4 + .global data_ov00_020e9b50 +data_ov00_020e9b50: + .space 0x4 + .global data_ov00_020e9b54 +data_ov00_020e9b54: + .space 0x4 + .global data_ov00_020e9b58 +data_ov00_020e9b58: + .space 0x4 + .global data_ov00_020e9b5c +data_ov00_020e9b5c: + .space 0x4 + .global data_ov00_020e9b60 +data_ov00_020e9b60: + .space 0x4 + .global data_ov00_020e9b64 +data_ov00_020e9b64: + .space 0x4 + .global data_ov00_020e9b68 +data_ov00_020e9b68: + .space 0x4 + .global data_ov00_020e9b6c +data_ov00_020e9b6c: + .space 0x4 + .global data_ov00_020e9b70 +data_ov00_020e9b70: + .space 0x4 + .global data_ov00_020e9b74 +data_ov00_020e9b74: + .space 0x4 + .global data_ov00_020e9b78 +data_ov00_020e9b78: + .space 0x4 + .global data_ov00_020e9b7c +data_ov00_020e9b7c: + .space 0x4 + .global data_ov00_020e9b80 +data_ov00_020e9b80: + .space 0x4 + .global data_ov00_020e9b84 +data_ov00_020e9b84: + .space 0x4 + .global data_ov00_020e9b88 +data_ov00_020e9b88: + .space 0x4 + .global data_ov00_020e9b8c +data_ov00_020e9b8c: + .space 0x4 + .global data_ov00_020e9b90 +data_ov00_020e9b90: + .space 0x4 + .global data_ov00_020e9b94 +data_ov00_020e9b94: + .space 0x4 + .global data_ov00_020e9b98 +data_ov00_020e9b98: + .space 0x4 + .global data_ov00_020e9b9c +data_ov00_020e9b9c: + .space 0x4 + .global data_ov00_020e9ba0 +data_ov00_020e9ba0: + .space 0x4 + .global data_ov00_020e9ba4 +data_ov00_020e9ba4: + .space 0x4 + .global data_ov00_020e9ba8 +data_ov00_020e9ba8: + .space 0x4 + .global data_ov00_020e9bac +data_ov00_020e9bac: + .space 0x4 + .global data_ov00_020e9bb0 +data_ov00_020e9bb0: + .space 0x4 + .global data_ov00_020e9bb4 +data_ov00_020e9bb4: + .space 0x4 + .global data_ov00_020e9bb8 +data_ov00_020e9bb8: + .space 0x4 + .global data_ov00_020e9bbc +data_ov00_020e9bbc: + .space 0x4 + .global data_ov00_020e9bc0 +data_ov00_020e9bc0: + .space 0x4 + .global data_ov00_020e9bc4 +data_ov00_020e9bc4: + .space 0x4 + .global data_ov00_020e9bc8 +data_ov00_020e9bc8: + .space 0x4 + .global data_ov00_020e9bcc +data_ov00_020e9bcc: + .space 0x4 + .global data_ov00_020e9bd0 +data_ov00_020e9bd0: + .space 0x4 + .global data_ov00_020e9bd4 +data_ov00_020e9bd4: + .space 0x4 + .global data_ov00_020e9bd8 +data_ov00_020e9bd8: + .space 0x4 + .global data_ov00_020e9bdc +data_ov00_020e9bdc: + .space 0x4 + .global data_ov00_020e9be0 +data_ov00_020e9be0: + .space 0x4 + .global data_ov00_020e9be4 +data_ov00_020e9be4: + .space 0x4 + .global data_ov00_020e9be8 +data_ov00_020e9be8: + .space 0x4 + .global data_ov00_020e9bec +data_ov00_020e9bec: + .space 0x4 + .global data_ov00_020e9bf0 +data_ov00_020e9bf0: + .space 0x4 + .global data_ov00_020e9bf4 +data_ov00_020e9bf4: + .space 0x4 + .global data_ov00_020e9bf8 +data_ov00_020e9bf8: + .space 0x4 + .global data_ov00_020e9bfc +data_ov00_020e9bfc: + .space 0x4 + .global data_ov00_020e9c00 +data_ov00_020e9c00: + .space 0x4 + .global data_ov00_020e9c04 +data_ov00_020e9c04: + .space 0x4 + .global data_ov00_020e9c08 +data_ov00_020e9c08: + .space 0x4 + .global data_ov00_020e9c0c +data_ov00_020e9c0c: + .space 0x4 + .global data_ov00_020e9c10 +data_ov00_020e9c10: + .space 0x4 + .global data_ov00_020e9c14 +data_ov00_020e9c14: + .space 0x4 + .global data_ov00_020e9c18 +data_ov00_020e9c18: + .space 0x4 + .global data_ov00_020e9c1c +data_ov00_020e9c1c: + .space 0x4 + .global data_ov00_020e9c20 +data_ov00_020e9c20: + .space 0x4 + .global data_ov00_020e9c24 +data_ov00_020e9c24: + .space 0x4 + .global data_ov00_020e9c28 +data_ov00_020e9c28: + .space 0x4 + .global data_ov00_020e9c2c +data_ov00_020e9c2c: + .space 0x4 + .global data_ov00_020e9c30 +data_ov00_020e9c30: + .space 0x4 + .global data_ov00_020e9c34 +data_ov00_020e9c34: + .space 0x4 + .global data_ov00_020e9c38 +data_ov00_020e9c38: + .space 0x4 + .global data_ov00_020e9c3c +data_ov00_020e9c3c: + .space 0x4 + .global data_ov00_020e9c40 +data_ov00_020e9c40: + .space 0x4 + .global data_ov00_020e9c44 +data_ov00_020e9c44: + .space 0x4 + .global data_ov00_020e9c48 +data_ov00_020e9c48: + .space 0x4 + .global data_ov00_020e9c4c +data_ov00_020e9c4c: + .space 0x4 + .global data_ov00_020e9c50 +data_ov00_020e9c50: + .space 0x4 + .global data_ov00_020e9c54 +data_ov00_020e9c54: + .space 0x4 + .global data_ov00_020e9c58 +data_ov00_020e9c58: + .space 0x4 + .global data_ov00_020e9c5c +data_ov00_020e9c5c: + .space 0x4 + .global data_ov00_020e9c60 +data_ov00_020e9c60: + .space 0x4 + .global data_ov00_020e9c64 +data_ov00_020e9c64: + .space 0x4 + .global data_ov00_020e9c68 +data_ov00_020e9c68: + .space 0x4 + .global data_ov00_020e9c6c +data_ov00_020e9c6c: + .space 0x4 diff --git a/asm/ov00/ov00_0207af9c.inc b/asm/ov00/ov00_0207af9c.inc deleted file mode 100644 index dbcb92ae..00000000 --- a/asm/ov00/ov00_0207af9c.inc +++ /dev/null @@ -1,257 +0,0 @@ -#pragma once -.extern Divide -.extern _ZN10MapManager18func_ov00_02082d08Ev -.extern _ZN10MapManager18func_ov00_02083318Ei -.extern _ZN10MapManager18func_ov00_02083328Ev -.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p -.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j -.extern _ZN12ActorManager8GetActorEP8ActorRef -.extern _ZN14AdventureFlags18func_ov00_020980d0Ev -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14OverlayManager15LoadIfNotLoadedEjj -.extern _ZN9ActorTypeC1EjPFP5ActorvEPv -.extern _ZN9ActorTypeD1Ev -.extern _ZN9SysObjectdlEPv -.extern _ZN9SysObjectnwEmPjj -.extern _ZNK11ItemManager7HasItemEi -.extern __register_global_object -.extern data_02056be4 -.extern data_020691a0 -.extern data_027e037c -.extern data_027e0384 -.extern data_027e03c8 -.extern data_027e0618 -.extern data_027e071c -.extern data_027e077c -.extern data_027e0c54 -.extern data_027e0cbc -.extern data_027e0ce0 -.extern data_027e0d38 -.extern data_027e0d54 -.extern data_027e0d6c -.extern data_027e0d78 -.extern data_027e0db0 -.extern data_027e0db4 -.extern data_027e0db8 -.extern data_027e0dbc -.extern data_027e0de4 -.extern data_027e0de8 -.extern data_027e0e08 -.extern data_027e0e28 -.extern data_027e0e2c -.extern data_027e0e58 -.extern data_027e0e5c -.extern gMapManager -.extern data_027e0f64 -.extern data_027e0f68 -.extern data_027e0f6c -.extern data_027e0f78 -.extern data_027e0f7c -.extern data_027e0f88 -.extern data_027e0f8c -.extern data_027e0f94 -.extern data_027e0fac -.extern data_027e0fcc -.extern data_027e0fe4 -.extern data_027e103c -.extern data_ov00_020dbf88 -.extern data_ov00_020e24c8 -.extern data_ov00_020e24d0 -.extern data_ov00_020e24d8 -.extern data_ov00_020e24e0 -.extern data_ov00_020e24e8 -.extern data_ov00_020e24f0 -.extern data_ov00_020e24f8 -.extern data_ov00_020e2500 -.extern data_ov00_020e2508 -.extern data_ov00_020e250c -.extern data_ov00_020e2fa8 -.extern data_ov00_020e30ec -.extern data_ov00_020e31ec -.extern data_ov00_020e32ec -.extern data_ov00_020e33ec -.extern data_ov00_020e34ec -.extern data_ov00_020e35ec -.extern data_ov00_020e36ec -.extern data_ov00_020e37ec -.extern data_ov00_020e38ec -.extern data_ov00_020e39ec -.extern data_ov00_020ec964 -.extern data_ov00_020ec970 -.extern data_ov00_020ec97c -.extern data_ov00_020ec988 -.extern data_ov00_020ec994 -.extern data_ov00_020ec9a0 -.extern data_ov00_020ec9ac -.extern data_ov00_020ec9b8 -.extern data_ov00_020ecd50 -.extern data_ov00_020ecd58 -.extern data_ov00_020ecd64 -.extern data_ov00_020ecd70 -.extern data_ov00_020ecd84 -.extern data_ov00_020ecd90 -.extern data_ov00_020ecda4 -.extern data_ov00_020ecdb0 -.extern data_ov00_020ecdc4 -.extern data_ov00_020ecdcc -.extern data_ov00_020ecdd8 -.extern data_ov00_020ecde4 -.extern data_ov00_020edde4 -.extern data_ov00_020ee094 -.extern data_ov00_020ee0a0 -.extern data_ov09_0211f5dc -.extern func_01ff892c -.extern func_01ff9b4c -.extern func_01ff9ec0 -.extern func_01ffa8d4 -.extern func_01ffe468 -.extern func_01ffe904 -.extern func_01fff084 -.extern func_01fff264 -.extern func_02002c14 -.extern func_02004730 -.extern func_020047d8 -.extern func_02004a3c -.extern func_02004a50 -.extern func_02004dac -.extern func_020052e4 -.extern func_02005628 -.extern func_02005b58 -.extern func_02006060 -.extern func_02006b14 -.extern func_02006b2c -.extern func_02006b90 -.extern func_020078c0 -.extern func_020078d8 -.extern func_020078f4 -.extern func_02007938 -.extern func_02007984 -.extern func_02007ad8 -.extern func_0200be04 -.extern func_0200c8d0 -.extern func_0200e2c0 -.extern func_02012830 -.extern func_020128bc -.extern func_02012934 -.extern func_020196bc -.extern func_020196fc -.extern func_0201e24c -.extern func_0201e4cc -.extern func_02023b3c -.extern func_02024130 -.extern func_0202ab78 -.extern func_0202abdc -.extern func_0202c69c -.extern func_0202d56c -.extern func_0202d77c -.extern func_0203eba8 -.extern func_0203ebc8 -.extern func_02040464 -.extern func_02042b40 -.extern func_02042bfc -.extern func_02042f68 -.extern func_02043594 -.extern func_020435b4 -.extern func_02043600 -.extern func_0204dd9c -.extern func_0204f614 -.extern func_0204f754 -.extern func_ov00_02078b40 -.extern func_ov00_02078b88 -.extern func_ov00_02079e04 -.extern func_ov00_02079e3c -.extern func_ov00_02086cd0 -.extern func_ov00_02087dd8 -.extern func_ov00_0208b79c -.extern func_ov00_0208d820 -.extern func_ov00_0208ee00 -.extern func_ov00_0208f69c -.extern func_ov00_0208fa70 -.extern func_ov00_020903a8 -.extern func_ov00_020904f4 -.extern func_ov00_02093c9c -.extern func_ov00_02095554 -.extern func_ov00_0209564c -.extern func_ov00_0209581c -.extern func_ov00_02095d58 -.extern func_ov00_020972e4 -.extern func_ov00_0209740c -.extern func_ov00_02097458 -.extern func_ov00_02097478 -.extern func_ov00_020974c4 -.extern func_ov00_020974e4 -.extern func_ov00_02097530 -.extern func_ov00_02097550 -.extern func_ov00_0209759c -.extern func_ov00_020975bc -.extern func_ov00_02097608 -.extern func_ov00_0209c08c -.extern func_ov00_0209c1e4 -.extern func_ov00_0209c2b4 -.extern func_ov00_0209c2d0 -.extern func_ov00_0209c530 -.extern func_ov00_0209c61c -.extern func_ov00_0209c788 -.extern func_ov00_0209c8e4 -.extern func_ov00_0209cc3c -.extern func_ov00_0209cc48 -.extern func_ov00_0209cd80 -.extern func_ov00_0209cd9c -.extern func_ov00_0209cddc -.extern func_ov00_0209cdf8 -.extern func_ov00_0209d71c -.extern func_ov00_0209d738 -.extern func_ov00_0209d778 -.extern func_ov00_020a1a0c -.extern func_ov00_020a3510 -.extern func_ov00_020a3710 -.extern func_ov00_020a3de0 -.extern func_ov00_020a5e9c -.extern func_ov00_020b7e6c -.extern func_ov00_020cf13c -.extern func_ov00_020cf414 -.extern func_ov03_020f3974 -.extern func_ov03_020f3c28 -.extern func_ov03_020fa874 -.extern func_ov04_02100eb0 -.extern func_ov04_02101188 -.extern func_ov04_0210bfa8 -.extern func_ov04_0210c1f8 -.extern func_ov04_0210c3fc -.extern func_ov04_0210c52c -.extern func_ov04_0210c5cc -.extern func_ov04_0210c764 -.extern func_ov04_0210c800 -.extern func_ov04_0210c88c -.extern func_ov04_0210c8d4 -.extern func_ov04_0210ca84 -.extern func_ov04_0210cb00 -.extern func_ov04_0210cb1c -.extern func_ov04_0210dd90 -.extern func_ov05_02100e0c -.extern func_ov05_02101080 -.extern func_ov05_021010b0 -.extern func_ov05_021010ec -.extern func_ov05_02111bc0 -.extern func_ov05_02111c00 -.extern func_ov05_02111c6c -.extern func_ov05_02111c70 -.extern func_ov08_02113080 -.extern func_ov08_0211351c -.extern func_ov08_021135b8 -.extern func_ov08_021136fc -.extern func_ov08_02113730 -.extern func_ov08_02113a0c -.extern func_ov08_02113aa8 -.extern func_ov09_02114810 -.extern func_ov12_02133c40 -.extern func_ov17_0215cef4 -.extern func_ov18_0215cb28 -.extern func_ov18_0215df1c -.extern func_ov26_02173b7c -.extern func_ov40_02183dac -.extern gAdventureFlags -.extern gItemManager -.extern gOverlayManager -.extern strcmp -.extern strcpy diff --git a/asm/ov00/ov00_0207af9c.s b/asm/ov00/ov00_0207af9c.s deleted file mode 100644 index 7b5bd4f6..00000000 --- a/asm/ov00/ov00_0207af9c.s +++ /dev/null @@ -1,17482 +0,0 @@ - .include "macros/function.inc" - .include "ov00/ov00_0207af9c.inc" - - .text - - .global func_ov00_0207af9c - arm_func_start func_ov00_0207af9c -func_ov00_0207af9c: ; 0x0207af9c - bx lr - arm_func_end func_ov00_0207af9c - - .global func_ov00_0207afa0 - thumb_func_start func_ov00_0207afa0 -func_ov00_0207afa0: ; 0x0207afa0 - ldr r0, _0207afbc ; =data_027e0618 - ldr r0, [r0] - cmp r0, #2 - beq _0207afb8 - ldr r2, _0207afc0 ; =0x04001008 - mov r0, #0x43 - ldrh r1, [r2] - and r1, r0 - mov r0, #6 - lsl r0, r0, #0xa - orr r0, r1 - strh r0, [r2] -_0207afb8: - bx lr - nop - thumb_func_end func_ov00_0207afa0 -_0207afbc: .word data_027e0618 -_0207afc0: .word 0x04001008 - - .global func_ov00_0207afc4 - thumb_func_start func_ov00_0207afc4 -func_ov00_0207afc4: ; 0x0207afc4 - ldr r0, _0207afec ; =data_027e0618 - ldr r2, _0207aff0 ; =0x0400100a - ldr r0, [r0] - cmp r0, #2 - bne _0207afde - ldrh r1, [r2] - mov r0, #0x43 - and r1, r0 - mov r0, #0xf - lsl r0, r0, #8 - orr r0, r1 - strh r0, [r2] - bx lr -_0207afde: - ldrh r1, [r2] - mov r0, #0x43 - and r1, r0 - ldr r0, _0207aff4 ; =0x00001904 - orr r0, r1 - strh r0, [r2] - bx lr - .align 2, 0 - thumb_func_end func_ov00_0207afc4 -_0207afec: .word data_027e0618 -_0207aff0: .word 0x0400100a -_0207aff4: .word 0x00001904 - - .global func_ov00_0207aff8 - thumb_func_start func_ov00_0207aff8 -func_ov00_0207aff8: ; 0x0207aff8 - ldr r0, _0207b020 ; =data_027e0618 - ldr r2, _0207b024 ; =0x0400100c - ldr r0, [r0] - cmp r0, #2 - bne _0207b010 - ldrh r1, [r2] - mov r0, #0x43 - and r1, r0 - ldr r0, _0207b028 ; =0x00004f08 - orr r0, r1 - strh r0, [r2] - bx lr -_0207b010: - ldrh r1, [r2] - mov r0, #0x43 - and r1, r0 - ldr r0, _0207b02c ; =0x0000190c - orr r0, r1 - strh r0, [r2] - bx lr - nop - thumb_func_end func_ov00_0207aff8 -_0207b020: .word data_027e0618 -_0207b024: .word 0x0400100c -_0207b028: .word 0x00004f08 -_0207b02c: .word 0x0000190c - - .global func_ov00_0207b030 - thumb_func_start func_ov00_0207b030 -func_ov00_0207b030: ; 0x0207b030 - push {r4, lr} - ldr r1, _0207b084 ; =data_027e0618 - ldr r1, [r1] - cmp r1, #2 - bne _0207b074 - cmp r0, #0 - beq _0207b04e - ldr r2, _0207b088 ; =0x0400100e - mov r0, #0x43 - ldrh r1, [r2] - and r1, r0 - ldr r0, _0207b08c ; =0x00004084 - orr r0, r1 - strh r0, [r2] - pop {r4, pc} -_0207b04e: - ldr r0, _0207b090 ; =data_027e0d38 - mov r4, #0 - ldr r0, [r0] - add r0, #0xc - blx func_ov00_020a5e9c - cmp r0, #0x32 - bne _0207b060 - mov r4, #1 -_0207b060: - ldr r2, _0207b088 ; =0x0400100e - mov r0, #0x43 - ldrh r1, [r2] - lsl r3, r4, #0xd - and r1, r0 - ldr r0, _0207b094 ; =0x00004e14 - orr r0, r1 - orr r0, r3 - strh r0, [r2] - pop {r4, pc} -_0207b074: - ldr r2, _0207b088 ; =0x0400100e - mov r0, #0x43 - ldrh r1, [r2] - and r1, r0 - ldr r0, _0207b098 ; =0x00005a14 - orr r0, r1 - strh r0, [r2] - pop {r4, pc} - .align 2, 0 - thumb_func_end func_ov00_0207b030 -_0207b084: .word data_027e0618 -_0207b088: .word 0x0400100e -_0207b08c: .word 0x00004084 -_0207b090: .word data_027e0d38 -_0207b094: .word 0x00004e14 -_0207b098: .word 0x00005a14 - - .global func_ov00_0207b09c - thumb_func_start func_ov00_0207b09c -func_ov00_0207b09c: ; 0x0207b09c - push {r3, r4, lr} - sub sp, #0x1c - add r0, sp, #8 - blx func_02024130 - mov r2, #0x33 - mov r3, #0 - ldr r0, _0207b108 ; =data_ov00_020e2044 - ldr r1, _0207b10c ; =data_020691a0 - lsl r2, r2, #0xa - str r3, [sp] - bl func_0202d56c - add r1, sp, #4 - bl func_02023b3c - ldr r2, [sp, #4] - mov r0, #3 - ldr r1, [r2, #8] - add r4, r1, #3 - bic r4, r0 - ldr r0, [r2, #0xc] - add r1, r4, #0 - blx func_0200e2c0 - ldr r2, [sp, #4] - mov r1, #0 - ldr r0, [r2, #0xc] - ldr r2, [r2, #8] - blx func_02006060 - ldr r0, _0207b110 ; =data_027e0618 - ldr r0, [r0] - cmp r0, #2 - bne _0207b104 - blx func_02004dac - mov r1, #6 - lsl r1, r1, #0xc - cmp r0, r1 - blo _0207b104 - blx func_02006b14 - ldr r0, [sp, #4] - mov r1, #1 - ldr r0, [r0, #0xc] - lsl r1, r1, #0xe - add r2, r4, #0 - blx func_02006b2c - blx func_02006b90 -_0207b104: - add sp, #0x1c - pop {r3, r4, pc} - .align 2, 0 - thumb_func_end func_ov00_0207b09c -_0207b108: .word data_ov00_020e2044 -_0207b10c: .word data_020691a0 -_0207b110: .word data_027e0618 - - .global func_ov00_0207b114 - thumb_func_start func_ov00_0207b114 -func_ov00_0207b114: ; 0x0207b114 - push {r3, lr} - mov r0, #4 - str r0, [sp] - ldr r0, _0207b128 ; =0x04000050 - mov r1, #0 - mov r2, #0x31 - mov r3, #0xc - blx func_020052e4 - pop {r3, pc} - .align 2, 0 - thumb_func_end func_ov00_0207b114 -_0207b128: .word 0x04000050 - - .global func_ov00_0207b12c - thumb_func_start func_ov00_0207b12c -func_ov00_0207b12c: ; 0x0207b12c - push {r3, lr} - mov r0, #4 - str r0, [sp] - ldr r0, _0207b140 ; =0x04001050 - mov r1, #0 - mov r2, #0x3f - mov r3, #0xc - blx func_020052e4 - pop {r3, pc} - .align 2, 0 - thumb_func_end func_ov00_0207b12c -_0207b140: .word 0x04001050 - - .global func_ov00_0207b144 - thumb_func_start func_ov00_0207b144 -func_ov00_0207b144: ; 0x0207b144 - push {r3, lr} - ldr r1, _0207b1d4 ; =data_027e0618 - ldr r1, [r1] - cmp r1, #2 - bne _0207b1c0 - cmp r0, #0 - beq _0207b164 - ldr r2, _0207b1d8 ; =0x04001000 - ldr r0, _0207b1dc ; =0xffffe0ff - ldr r1, [r2] - and r1, r0 - mov r0, #6 - lsl r0, r0, #0xa - orr r0, r1 - str r0, [r2] - pop {r3, pc} -_0207b164: - ldr r0, _0207b1e0 ; =data_027e0d38 - ldr r0, [r0] - blx func_ov00_02078b88 - cmp r0, #0 - ldr r2, _0207b1d8 ; =0x04001000 - beq _0207b198 - ldr r0, _0207b1e0 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x18] - cmp r0, #0x14 - ldr r0, _0207b1dc ; =0xffffe0ff - bne _0207b18c - ldr r1, [r2] - and r1, r0 - mov r0, #0x12 - lsl r0, r0, #8 - orr r0, r1 - str r0, [r2] - pop {r3, pc} -_0207b18c: - ldr r1, [r2] - and r1, r0 - lsr r0, r2, #0xe - orr r0, r1 - str r0, [r2] - pop {r3, pc} -_0207b198: - ldr r0, _0207b1e0 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x14] - cmp r0, #1 - ldr r0, _0207b1dc ; =0xffffe0ff - bne _0207b1b2 - ldr r1, [r2] - and r1, r0 - mov r0, #7 - lsl r0, r0, #0xa - orr r0, r1 - str r0, [r2] - pop {r3, pc} -_0207b1b2: - ldr r1, [r2] - and r1, r0 - mov r0, #0x1e - lsl r0, r0, #8 - orr r0, r1 - str r0, [r2] - pop {r3, pc} -_0207b1c0: - ldr r2, _0207b1d8 ; =0x04001000 - ldr r0, _0207b1dc ; =0xffffe0ff - ldr r1, [r2] - and r1, r0 - mov r0, #0x1f - lsl r0, r0, #8 - orr r0, r1 - str r0, [r2] - pop {r3, pc} - nop - thumb_func_end func_ov00_0207b144 -_0207b1d4: .word data_027e0618 -_0207b1d8: .word 0x04001000 -_0207b1dc: .word 0xffffe0ff -_0207b1e0: .word data_027e0d38 - - .global func_ov00_0207b1e4 - thumb_func_start func_ov00_0207b1e4 -func_ov00_0207b1e4: ; 0x0207b1e4 - push {r3, lr} - blx func_02004a3c - blx func_02004a50 - mov r0, #4 - blx func_02004730 - mov r0, #8 - blx func_020047d8 - pop {r3, pc} - thumb_func_end func_ov00_0207b1e4 - - .global func_ov00_0207b1fc - thumb_func_start func_ov00_0207b1fc -func_ov00_0207b1fc: ; 0x0207b1fc - push {r4, lr} - ldr r0, _0207b264 ; =data_027e0c54 - ldrb r4, [r0] - bl func_ov00_0207afa0 - bl func_ov00_0207afc4 - bl func_ov00_0207b114 - bl func_ov00_0207b12c - add r0, r4, #0 - bl func_ov00_0207b144 - ldr r1, _0207b268 ; =0x04000008 - mov r2, #3 - ldrh r3, [r1] - mov r0, #3 - bic r3, r2 - orr r3, r0 - strh r3, [r1] - ldr r1, _0207b26c ; =0x04001008 - ldrh r3, [r1] - bic r3, r2 - orr r0, r3 - strh r0, [r1] - ldrh r3, [r1, #2] - mov r0, #2 - bic r3, r2 - orr r3, r0 - strh r3, [r1, #2] - ldrh r3, [r1, #4] - bic r3, r2 - orr r0, r3 - strh r0, [r1, #4] - mov r0, #0 - str r0, [r1, #8] - str r0, [r1, #0xc] - blx func_02005b58 - bl func_ov00_0207b09c - ldr r0, _0207b270 ; =data_027e0618 - bl func_0202c69c - ldr r0, _0207b274 ; =data_027e103c - mov r1, #0 - ldr r0, [r0] - blx func_ov00_020cf13c - pop {r4, pc} - nop - thumb_func_end func_ov00_0207b1fc -_0207b264: .word data_027e0c54 -_0207b268: .word 0x04000008 -_0207b26c: .word 0x04001008 -_0207b270: .word data_027e0618 -_0207b274: .word data_027e103c - - .global func_ov00_0207b278 - thumb_func_start func_ov00_0207b278 -func_ov00_0207b278: ; 0x0207b278 - mov r1, #0 - strb r1, [r0] - strb r1, [r0, #1] - strb r1, [r0, #2] - strb r1, [r0, #3] - str r1, [r0, #4] - str r1, [r0, #8] - bx lr - thumb_func_end func_ov00_0207b278 - - .global func_ov00_0207b288 - thumb_func_start func_ov00_0207b288 -func_ov00_0207b288: ; 0x0207b288 - push {r3, r4, r5, lr} - add r4, r0, #0 - add r5, r1, #0 - bl func_ov00_0207b278 - cmp r5, #2 - bne _0207b29a - mov r0, #1 - strb r0, [r4] -_0207b29a: - ldrb r0, [r4] - cmp r0, #0 - beq _0207b2be - ldr r0, _0207b2c0 ; =0x04000048 - mov r2, #0x3f - ldrh r3, [r0] - mov r1, #0x1f - bic r3, r2 - orr r1, r3 - mov r3, #0x20 - orr r1, r3 - strh r1, [r0] - ldrh r4, [r0, #2] - mov r1, #0x10 - bic r4, r2 - orr r1, r4 - orr r1, r3 - strh r1, [r0, #2] -_0207b2be: - pop {r3, r4, r5, pc} - .align 2, 0 - thumb_func_end func_ov00_0207b288 -_0207b2c0: .word 0x04000048 - - .global func_ov00_0207b2c4 - thumb_func_start func_ov00_0207b2c4 -func_ov00_0207b2c4: ; 0x0207b2c4 - ldr r2, [r0, #8] - cmp r1, #0 - beq _0207b2dc - ldr r1, _0207b2ec ; =data_027e0c54 - ldrb r1, [r1] - cmp r1, #0 - beq _0207b2dc - mov r1, #1 - strb r1, [r0, #1] - mov r1, #0xc0 - str r1, [r0, #8] - b _0207b2e4 -_0207b2dc: - mov r1, #0 - strb r1, [r0, #1] - mov r1, #0x60 - str r1, [r0, #8] -_0207b2e4: - mov r1, #0 - strb r1, [r0, #2] - add r0, r2, #0 - bx lr - .align 2, 0 - thumb_func_end func_ov00_0207b2c4 -_0207b2ec: .word data_027e0c54 - - .global func_ov00_0207b2f0 - thumb_func_start func_ov00_0207b2f0 -func_ov00_0207b2f0: ; 0x0207b2f0 - push {r3, r4} - ldrb r4, [r0] - cmp r4, #0 - bne _0207b2fe - mov r0, #0 - pop {r3, r4} - bx lr -_0207b2fe: - strb r2, [r0, #1] - strb r3, [r0, #2] - mov r4, #0 - ldr r2, _0207b330 ; =data_027e0e2c - strb r4, [r0, #3] - ldr r3, [r2, #4] - sub r2, r4, #1 - cmp r3, r2 - beq _0207b31c - strb r4, [r0, #2] - mov r1, #1 - strb r1, [r0, #3] - add r0, r1, #0 - pop {r3, r4} - bx lr -_0207b31c: - mov r2, #0x15 - str r2, [r0, #8] - cmp r1, #0 - beq _0207b328 - ldr r1, [r0, #8] - str r1, [r0, #4] -_0207b328: - mov r0, #1 - pop {r3, r4} - bx lr - nop - thumb_func_end func_ov00_0207b2f0 -_0207b330: .word data_027e0e2c - - .global func_ov00_0207b334 - thumb_func_start func_ov00_0207b334 -func_ov00_0207b334: ; 0x0207b334 - mov r2, #0 - strb r2, [r0, #3] - ldr r2, [r0, #4] - cmp r2, #0 - bne _0207b348 - ldr r2, [r0, #8] - cmp r2, #0 - bne _0207b348 - mov r0, #1 - bx lr -_0207b348: - ldrb r2, [r0] - cmp r2, #0 - bne _0207b352 - mov r0, #0 - bx lr -_0207b352: - ldr r2, _0207b374 ; =data_027e0e2c - ldr r3, [r2, #4] - mov r2, #0 - mvn r2, r2 - cmp r3, r2 - beq _0207b362 - mov r0, #0 - bx lr -_0207b362: - mov r2, #0 - str r2, [r0, #8] - cmp r1, #0 - beq _0207b36e - ldr r1, [r0, #8] - str r1, [r0, #4] -_0207b36e: - mov r0, #1 - bx lr - nop - thumb_func_end func_ov00_0207b334 -_0207b374: .word data_027e0e2c - - .global func_ov00_0207b378 - arm_func_start func_ov00_0207b378 -func_ov00_0207b378: ; 0x0207b378 - stmdb sp!, {r4, lr} - mov r4, r0 - cmp r1, #0 - ldmneia sp!, {r4, pc} - ldrb r0, [r4] - cmp r0, #0 - ldmeqia sp!, {r4, pc} - bl func_ov00_02079e04 - cmp r0, #0 - ldmneia sp!, {r4, pc} - ldr r1, _0207b438 ; =data_027e0e2c - mvn r0, #0 - ldr r1, [r1, #4] - cmp r1, r0 - ldmneia sp!, {r4, pc} - ldrb r0, [r4, #3] - cmp r0, #0 - beq _0207b3e8 - ldr r0, [r4, #4] - cmp r0, #0 - bgt _0207b3e8 - ldrb r2, [r4, #1] - ldrb r3, [r4, #2] - mov r0, r4 - mov r1, #1 - blx func_ov00_0207b2f0 - mov r0, #0 - strb r0, [r4, #3] -_0207b3e8: - ldr r0, [r4, #8] - ldr r1, [r4, #4] - cmp r1, r0 - bge _0207b41c - ldrb r0, [r4, #2] - cmp r0, #0 - addne r0, r1, #1 - addeq r0, r1, #7 - str r0, [r4, #4] - ldmib r4, {r0, r1} - cmp r0, r1 - strgt r1, [r4, #4] - ldmia sp!, {r4, pc} -_0207b41c: - ldmleia sp!, {r4, pc} - sub r1, r1, #0x13 - str r1, [r4, #4] - ldr r0, [r4, #8] - cmp r1, r0 - strlt r0, [r4, #4] - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0207b378 -_0207b438: .word data_027e0e2c - - .global func_ov00_0207b43c - arm_func_start func_ov00_0207b43c -func_ov00_0207b43c: ; 0x0207b43c - stmdb sp!, {r4, lr} - mov r4, r0 - ldrb r0, [r4] - cmp r0, #0 - ldmeqia sp!, {r4, pc} - ldr r0, [r4, #4] - cmp r0, #0 - ble _0207b50c - bl func_ov00_02079e04 - cmp r0, #0 - bne _0207b50c - mov r0, #0x4000000 - ldr r1, [r0] - bic r1, r1, #0xe000 - orr r1, r1, #0x2000 - str r1, [r0] - ldrb r1, [r4, #1] - cmp r1, #0 - ldrne r1, _0207b520 ; =data_027e0c54 - ldrneb r1, [r1] - cmpne r1, #0 - beq _0207b4e0 - ldr r1, _0207b524 ; =data_027e0618 - ldr r1, [r1, #0xf4] - tst r1, #1 - beq _0207b4c4 - ldr r1, [r4, #4] - ldr r2, _0207b528 ; =0x000001ff - mov r1, r1, lsl #0x8 - and r1, r1, #0xff00 - strh r2, [r0, #0x40] - orr r1, r1, #0xc0 - strh r1, [r0, #0x44] - ldmia sp!, {r4, pc} -_0207b4c4: - ldr r2, [r4, #4] - ldr r1, _0207b528 ; =0x000001ff - rsb r2, r2, #0xc0 - strh r1, [r0, #0x40] - and r1, r2, #0xff - strh r1, [r0, #0x44] - ldmia sp!, {r4, pc} -_0207b4e0: - ldr r0, [r4, #4] - ldr r3, _0207b528 ; =0x000001ff - mov r1, r0, lsl #0x8 - rsb r0, r0, #0xc0 - ldr r2, _0207b52c ; =0x04000040 - and r1, r1, #0xff00 - and r0, r0, #0xff - strh r3, [r2] - orr r0, r1, r0 - strh r0, [r2, #4] - ldmia sp!, {r4, pc} -_0207b50c: - mov r1, #0x4000000 - ldr r0, [r1] - bic r0, r0, #0xe000 - str r0, [r1] - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0207b43c -_0207b520: .word data_027e0c54 -_0207b524: .word data_027e0618 -_0207b528: .word 0x000001ff -_0207b52c: .word 0x04000040 - - .global func_ov00_0207b530 - thumb_func_start func_ov00_0207b530 -func_ov00_0207b530: ; 0x0207b530 - push {r4, lr} - add r4, r0, #0 - ldr r0, _0207b550 ; =gOverlayManager - ldr r2, _0207b554 ; =0x00000004 - mov r1, #2 - bl _ZN14OverlayManager15LoadIfNotLoadedEjj - add r0, r4, #0 - bl func_ov04_02101188 - ldr r0, _0207b550 ; =gOverlayManager - ldr r2, _0207b558 ; =0x00000005 - mov r1, #2 - bl _ZN14OverlayManager15LoadIfNotLoadedEjj - pop {r4, pc} - .align 2, 0 - thumb_func_end func_ov00_0207b530 -_0207b550: .word gOverlayManager -_0207b554: .word 0x00000004 -_0207b558: .word 0x00000005 - - .global func_ov00_0207b55c - thumb_func_start func_ov00_0207b55c -func_ov00_0207b55c: ; 0x0207b55c - push {r4, lr} - add r4, r0, #0 - mov r3, #1 - add r0, #0x34 - strb r3, [r0] - ldr r0, [r1] - str r0, [r4, #4] - ldr r0, [r1, #4] - str r0, [r4, #8] - ldr r0, [r1, #8] - str r0, [r4, #0xc] - ldr r0, [r1, #0xc] - str r0, [r4, #0x10] - mov r0, #0x10 - ldrsh r0, [r1, r0] - cmp r2, #0 - strh r0, [r4, #0x14] - ldrb r0, [r1, #0x12] - strb r0, [r4, #0x16] - ldrb r0, [r1, #0x13] - strb r0, [r4, #0x17] - ldrb r0, [r1, #0x14] - strb r0, [r4, #0x18] - ldrb r0, [r1, #0x15] - strb r0, [r4, #0x19] - beq _0207b59a - add r4, #0xac - ldr r0, [r4] - bl func_ov04_02100eb0 - pop {r4, pc} -_0207b59a: - add r0, r4, #0 - add r0, #0xac - ldr r0, [r0] - add r2, r0, #0 - add r2, #0x28 - ldrb r2, [r2] - cmp r2, #0 - beq _0207b5b6 - blx func_ov40_02183dac - add r0, r4, #0 - bl func_ov00_0207b530 - pop {r4, pc} -_0207b5b6: - blx func_ov05_02100e0c - pop {r4, pc} - thumb_func_end func_ov00_0207b55c - - .global func_ov00_0207b5bc - thumb_func_start func_ov00_0207b5bc -func_ov00_0207b5bc: ; 0x0207b5bc - push {r4, r5, r6, lr} - sub sp, #0x20 - add r4, r1, #0 - add r5, r0, #0 - ldr r0, [r4] - str r0, [sp, #8] - ldr r0, [r4, #4] - str r0, [sp, #0xc] - ldr r1, [r4, #8] - str r1, [sp, #0x10] - ldr r1, [r4, #0xc] - str r1, [sp, #0x14] - mov r1, #0x10 - ldrsh r3, [r4, r1] - add r1, sp, #0 - cmp r0, #1 - strh r3, [r1, #0x18] - ldrb r3, [r4, #0x12] - strb r3, [r1, #0x1a] - ldrb r3, [r4, #0x13] - strb r3, [r1, #0x1b] - ldrb r3, [r4, #0x14] - strb r3, [r1, #0x1c] - ldrb r3, [r4, #0x15] - strb r3, [r1, #0x1d] - beq _0207b5fa - cmp r0, #0xe - beq _0207b62c - cmp r0, #0xf - beq _0207b66a - b _0207b688 -_0207b5fa: - cmp r2, #0 - beq _0207b6cc - ldr r1, _0207b800 ; =data_027e0fe4 - ldr r2, _0207b804 ; =0x414e4353 - ldr r1, [r1] - add r0, sp, #0 - blx _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - mov r0, #0 - ldr r1, [sp] - mvn r0, r0 - cmp r1, r0 - beq _0207b6cc - ldr r0, _0207b800 ; =data_027e0fe4 - add r1, sp, #0 - ldr r0, [r0] - blx _ZN12ActorManager8GetActorEP8ActorRef - cmp r0, #0 - beq _0207b6cc - add r1, sp, #8 - blx func_ov18_0215df1c - add sp, #0x20 - pop {r4, r5, r6, pc} -_0207b62c: - ldr r0, [r5] - blx func_ov00_020a5e9c - str r0, [r5, #0x44] - ldr r0, _0207b808 ; =gMapManager - ldr r0, [r0] - blx _ZN10MapManager18func_ov00_02082d08Ev - add r1, r5, #0 - add r1, #0x56 - strb r0, [r1] - ldr r0, _0207b80c ; =data_027e0f94 - ldr r1, [r0] - str r1, [r5, #0x5c] - ldr r1, [r0, #4] - str r1, [r5, #0x60] - ldr r0, [r0, #8] - ldr r1, _0207b810 ; =data_027e0fac - str r0, [r5, #0x64] - mov r0, #0 - ldrsh r1, [r1, r0] - add r0, r5, #0 - add r0, #0x68 - strh r1, [r0] - add r0, r5, #0 - mov r1, #0xfa - add r0, #0x6a - strb r1, [r0] - mov r0, #0xfc - str r0, [r5, #0x6c] - b _0207b6cc -_0207b66a: - add r0, r5, #0 - add r0, #0x44 - blx func_ov00_020a5e9c - str r0, [sp, #8] - add r0, r5, #0 - add r0, #0x56 - ldrb r1, [r0] - add r0, sp, #0 - strb r1, [r0, #0x1a] - mov r1, #0xfa - strb r1, [r0, #0x1b] - mov r0, #0xf - str r0, [sp, #0xc] - b _0207b6cc -_0207b688: - ldr r0, [r5] - blx func_ov00_020a5e9c - cmp r0, #0x26 - bne _0207b6cc - ldr r0, _0207b814 ; =data_027e0f7c - ldr r6, [r0] - add r0, r4, #0 - blx func_ov00_020a5e9c - add r1, r0, #0 - add r0, r6, #0 - blx func_ov00_0209d738 - cmp r0, #3 - bne _0207b6cc - ldr r0, _0207b818 ; =gItemManager - mov r1, #0x20 - ldr r0, [r0] - blx _ZNK11ItemManager7HasItemEi - cmp r0, #0 - beq _0207b6cc - ldrb r0, [r4, #0x12] - cmp r0, #0 - beq _0207b6c0 - cmp r0, #9 - bne _0207b6cc -_0207b6c0: - ldr r0, _0207b81c ; =data_ov09_0211f5dc - add r1, r4, #0 - bl func_ov26_02173b7c - add sp, #0x20 - pop {r4, r5, r6, pc} -_0207b6cc: - add r0, r4, #0 - blx func_ov00_020a5e9c - cmp r0, #0 - bne _0207b740 - ldr r0, _0207b814 ; =data_027e0f7c - ldr r6, [r0] - ldr r0, [r5] - blx func_ov00_020a5e9c - add r1, r0, #0 - add r0, r6, #0 - blx func_ov00_0209d738 - cmp r0, #0 - bne _0207b740 - ldr r0, _0207b814 ; =data_027e0f7c - ldr r6, [r0] - ldr r0, [r5] - blx func_ov00_020a5e9c - add r1, r0, #0 - add r0, r6, #0 - blx func_ov00_0209d778 - mov r1, #1 - mvn r1, r1 - cmp r0, r1 - beq _0207b740 - ldr r0, [r4] - str r0, [r5, #0x70] - ldr r0, [r4, #4] - str r0, [r5, #0x74] - ldr r0, [r4, #8] - str r0, [r5, #0x78] - ldr r0, [r4, #0xc] - str r0, [r5, #0x7c] - mov r0, #0x10 - ldrsh r1, [r4, r0] - add r0, r5, #0 - add r0, #0x80 - strh r1, [r0] - add r0, r5, #0 - ldrb r1, [r4, #0x12] - add r0, #0x82 - strb r1, [r0] - add r0, r5, #0 - ldrb r1, [r4, #0x13] - add r0, #0x83 - strb r1, [r0] - add r0, r5, #0 - ldrb r1, [r4, #0x14] - add r0, #0x84 - strb r1, [r0] - add r0, r5, #0 - ldrb r1, [r4, #0x15] - add r0, #0x85 - strb r1, [r0] -_0207b740: - add r0, r4, #0 - blx func_ov00_020a5e9c - add r6, r0, #0 - ldr r0, [r5] - blx func_ov00_020a5e9c - cmp r6, r0 - bne _0207b7f0 - ldr r0, _0207b814 ; =data_027e0f7c - ldr r6, [r0] - ldr r0, [r5] - blx func_ov00_020a5e9c - add r1, r0, #0 - add r0, r6, #0 - blx func_ov00_0209d738 - cmp r0, #0 - bne _0207b7f0 - ldr r0, [r5] - ldr r0, [r0, #8] - cmp r0, #1 - beq _0207b7f0 - ldr r0, _0207b808 ; =gMapManager - ldr r0, [r0] - blx _ZN10MapManager18func_ov00_02083328Ev - cmp r0, #0 - beq _0207b7f0 - ldr r0, _0207b808 ; =gMapManager - ldrb r1, [r4, #0x12] - ldr r0, [r0] - blx _ZN10MapManager18func_ov00_02083318Ei - cmp r0, #0 - bne _0207b7f0 - ldr r0, [r5] - add r1, r5, #0 - ldr r2, [r0] - add r1, #0x88 - str r2, [r1] - add r1, r5, #0 - ldr r2, [r0, #4] - add r1, #0x8c - str r2, [r1] - add r1, r5, #0 - ldr r2, [r0, #8] - add r1, #0x90 - str r2, [r1] - add r1, r5, #0 - ldr r2, [r0, #0xc] - add r1, #0x94 - str r2, [r1] - mov r1, #0x10 - ldrsh r2, [r0, r1] - add r1, r5, #0 - add r1, #0x98 - strh r2, [r1] - add r1, r5, #0 - ldrb r2, [r0, #0x12] - add r1, #0x9a - strb r2, [r1] - add r1, r5, #0 - ldrb r2, [r0, #0x13] - add r1, #0x9b - strb r2, [r1] - add r1, r5, #0 - ldrb r2, [r0, #0x14] - add r1, #0x9c - strb r2, [r1] - ldrb r1, [r0, #0x15] - add r0, r5, #0 - add r0, #0x9d - strb r1, [r0] - ldr r1, _0207b80c ; =data_027e0f94 - add r0, r5, #0 - ldr r2, [r1] - add r0, #0xa0 - str r2, [r0] - add r0, r5, #0 - ldr r2, [r1, #4] - add r0, #0xa4 - str r2, [r0] - add r0, r5, #0 - ldr r1, [r1, #8] - add r0, #0xa8 - str r1, [r0] -_0207b7f0: - add r0, r5, #0 - add r1, sp, #8 - mov r2, #0 - bl func_ov00_0207b55c - add sp, #0x20 - pop {r4, r5, r6, pc} - nop - thumb_func_end func_ov00_0207b5bc -_0207b800: .word data_027e0fe4 -_0207b804: .word 0x414e4353 -_0207b808: .word gMapManager -_0207b80c: .word data_027e0f94 -_0207b810: .word data_027e0fac -_0207b814: .word data_027e0f7c -_0207b818: .word gItemManager -_0207b81c: .word data_ov09_0211f5dc - - .global func_ov00_0207b820 - arm_func_start func_ov00_0207b820 -func_ov00_0207b820: ; 0x0207b820 - stmdb sp!, {r4, lr} - mov r4, r0 - ldrb r0, [r4, #0x34] - cmp r0, #0 - ldmeqia sp!, {r4, pc} - cmp r1, #0 - ldmneia sp!, {r4, pc} - ldr r0, [r4, #0xac] - bl func_ov05_021010b0 - cmp r0, #0 - ldr r0, [r4, #0xac] - beq _0207b87c - ldrb r1, [r0, #0x29] - cmp r1, #0 - beq _0207b864 - blx func_ov00_0207c074 - ldmia sp!, {r4, pc} -_0207b864: - ldrb r0, [r0, #0x28] - cmp r0, #0 - ldmneia sp!, {r4, pc} - mov r0, r4 - blx func_ov00_0207b530 - ldmia sp!, {r4, pc} -_0207b87c: - bl func_ov05_021010ec - cmp r0, #0 - ldmeqia sp!, {r4, pc} - ldr r0, [r4, #0xac] - bl func_ov05_02101080 - mov r0, #0 - strb r0, [r4, #0x34] - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207b820 - - .global func_ov00_0207b89c - arm_func_start func_ov00_0207b89c -func_ov00_0207b89c: ; 0x0207b89c - stmdb sp!, {r3, r4, r5, lr} - mov r4, r0 - ldr ip, [r4, #0x180] - cmp ip, #0x20 - ldmgeia sp!, {r3, r4, r5, pc} - mov r0, #0xc - mul r0, ip, r0 - ldr ip, [sp, #0x10] - str r3, [r4, r0] - add r5, r4, r0 - ldr r0, _0207b8f8 ; =data_027e0f64 - str ip, [r5, #4] - ldr r3, [r0] - mov r0, r2 - add r1, r3, r1, lsl #2 - ldr r1, [r1, #4] - add r1, r1, #0x260 - bl func_01ff9ec0 - str r0, [r5, #8] - ldr r0, [r4, #0x180] - add r0, r0, #1 - str r0, [r4, #0x180] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0207b89c -_0207b8f8: .word data_027e0f64 - - .global func_ov00_0207b8fc - arm_func_start func_ov00_0207b8fc -func_ov00_0207b8fc: ; 0x0207b8fc - ldr r1, [r1, #8] - ldr r0, [r0, #8] - sub r0, r1, r0 - bx lr - arm_func_end func_ov00_0207b8fc - - .global func_ov00_0207b90c - arm_func_start func_ov00_0207b90c -func_ov00_0207b90c: ; 0x0207b90c - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #4 - mov r6, r0 - ldr r1, [r6, #0x180] - cmp r1, #0 - addle sp, sp, #4 - ldmleia sp!, {r3, r4, r5, r6, pc} - cmp r1, #1 - ble _0207b944 - ldr ip, _0207b980 ; =data_020691a0 - ldr r3, _0207b984 ; =func_ov00_0207b8fc - mov r2, #0xc - str ip, [sp] - bl func_0200be04 -_0207b944: - ldr r0, [r6, #0x180] - mov r4, r6 - cmp r0, #0 - mov r5, #0 - addle sp, sp, #4 - ldmleia sp!, {r3, r4, r5, r6, pc} -_0207b95c: - ldr r0, [r4, #4] - ldr r1, [r4], #0xc - blx r1 - ldr r0, [r6, #0x180] - add r5, r5, #1 - cmp r5, r0 - blt _0207b95c - add sp, sp, #4 - ldmia sp!, {r3, r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0207b90c -_0207b980: .word data_020691a0 -_0207b984: .word func_ov00_0207b8fc - - .global func_ov00_0207b988 - thumb_func_start func_ov00_0207b988 -func_ov00_0207b988: ; 0x0207b988 - push {r4, lr} - add r4, r0, #0 - cmp r1, #2 - bne _0207b9ba - ldr r1, _0207b9bc ; =data_027e0ce0 - mov r0, #0x50 - ldr r1, [r1, #4] - mov r2, #4 - blx _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _0207b9a6 - add r1, r4, #0 - bl func_ov03_020f3974 -_0207b9a6: - str r0, [r4, #0x24] - ldr r0, _0207b9c0 ; =data_027e0618 - ldr r0, [r0, #4] - cmp r0, #3 - bne _0207b9ba - ldr r0, _0207b9c4 ; =data_027e0d54 - mov r1, #1 - mov r2, #0 - bl func_ov09_02114810 -_0207b9ba: - pop {r4, pc} - .align 2, 0 - thumb_func_end func_ov00_0207b988 -_0207b9bc: .word data_027e0ce0 -_0207b9c0: .word data_027e0618 -_0207b9c4: .word data_027e0d54 - - .global func_ov00_0207b9c8 - thumb_func_start func_ov00_0207b9c8 -func_ov00_0207b9c8: ; 0x0207b9c8 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0x24] - cmp r0, #0 - beq _0207b9da - blx _ZN9SysObjectdlEPv - mov r0, #0 - str r0, [r4, #0x24] -_0207b9da: - pop {r4, pc} - thumb_func_end func_ov00_0207b9c8 - - .global func_ov00_0207b9dc - arm_func_start func_ov00_0207b9dc -func_ov00_0207b9dc: ; 0x0207b9dc - stmdb sp!, {r4, r5, r6, lr} - ldr r1, _0207ba8c ; =0x027ffc3c - mov r6, r0 - ldr r5, [r1] - ldr r0, [r6, #0x20] - ldr r1, [r6, #0x1c] - sub r0, r5, r0 - add r0, r1, r0 - str r0, [r6, #0x1c] - cmp r0, #0x3c - blo _0207ba84 - mov r4, #0 -_0207ba0c: - ldr r0, [r6, #0x1c] - sub r0, r0, #0x3c - str r0, [r6, #0x1c] - ldr r0, [r6, #0x18] - add r0, r0, #1 - str r0, [r6, #0x18] - cmp r0, #0x3c - blo _0207ba78 - str r4, [r6, #0x18] - ldr r0, [r6, #0x14] - add r0, r0, #1 - str r0, [r6, #0x14] - cmp r0, #0x3c - blo _0207ba78 - str r4, [r6, #0x14] - ldr r0, [r6, #0x10] - add r0, r0, #1 - str r0, [r6, #0x10] - cmp r0, #0x18 - blo _0207ba78 - mov r0, r6 - str r4, [r6, #0x10] - blx func_02042b40 - mov r1, r0 - mov r0, r6 - add r1, r1, #1 - blx func_02042bfc -_0207ba78: - ldr r0, [r6, #0x1c] - cmp r0, #0x3c - bhs _0207ba0c -_0207ba84: - str r5, [r6, #0x20] - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0207b9dc -_0207ba8c: .word 0x027ffc3c - - .global func_ov00_0207ba90 - thumb_func_start func_ov00_0207ba90 -func_ov00_0207ba90: ; 0x0207ba90 - ldr r0, [r0, #0x24] - bx lr - thumb_func_end func_ov00_0207ba90 - - .global func_ov00_0207ba94 - thumb_func_start func_ov00_0207ba94 -func_ov00_0207ba94: ; 0x0207ba94 - push {r3, lr} - add r2, r0, #0 - ldr r0, _0207baac ; =gOverlayManager - ldr r3, [r0, #4] - ldr r0, _0207bab0 ; =0x00000003 - cmp r3, r0 - bne _0207baa8 - ldr r0, [r2, #0x24] - bl func_ov03_020f3c28 -_0207baa8: - pop {r3, pc} - nop - thumb_func_end func_ov00_0207ba94 -_0207baac: .word gOverlayManager -_0207bab0: .word 0x00000003 - - .global func_ov00_0207bab4 - arm_func_start func_ov00_0207bab4 -func_ov00_0207bab4: ; 0x0207bab4 - stmdb sp!, {r4, lr} - mov r4, r0 - add r0, r4, #0x11c - ldr r3, _0207bb04 ; =func_ov00_0207bb18 - add r0, r0, #0xc00 - mov r1, #8 - mov r2, #0x30 - bl func_0204f754 - ldr r3, _0207bb08 ; =func_ov00_0207bb14 - add r0, r4, #0x2f8 - mov r1, #0xcf - mov r2, #0xc - bl func_0204f754 - ldr r3, _0207bb0c ; =func_ov00_0207bb10 - add r0, r4, #0xf8 - mov r1, #0x40 - mov r2, #8 - bl func_0204f754 - mov r0, r4 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0207bab4 -_0207bb04: .word func_ov00_0207bb18 -_0207bb08: .word func_ov00_0207bb14 -_0207bb0c: .word func_ov00_0207bb10 - - .global func_ov00_0207bb10 - arm_func_start func_ov00_0207bb10 -func_ov00_0207bb10: ; 0x0207bb10 - bx lr - arm_func_end func_ov00_0207bb10 - - .global func_ov00_0207bb14 - arm_func_start func_ov00_0207bb14 -func_ov00_0207bb14: ; 0x0207bb14 - bx lr - arm_func_end func_ov00_0207bb14 - - .global func_ov00_0207bb18 - arm_func_start func_ov00_0207bb18 -func_ov00_0207bb18: ; 0x0207bb18 - bx lr - arm_func_end func_ov00_0207bb18 - - .global func_ov00_0207bb1c - arm_func_start func_ov00_0207bb1c -func_ov00_0207bb1c: ; 0x0207bb1c - stmdb sp!, {r3, lr} - add lr, r0, r1, lsl #2 - ldr ip, _0207bb48 ; =data_ov00_020d8798 - str r2, [lr, #4] - str r3, [lr, #0x24] - ldrb r1, [ip, r1] - ldr r3, [r0] - mov r2, #1 - orr r1, r3, r2, lsl r1 - str r1, [r0] - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0207bb1c -_0207bb48: .word data_ov00_020d8798 - - .global func_ov00_0207bb4c - arm_func_start func_ov00_0207bb4c -func_ov00_0207bb4c: ; 0x0207bb4c - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - mov r10, r0 - ldr r0, [r10] - cmp r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - bl func_01ffa8d4 - ldr r5, _0207bc30 ; =0x04000440 - mov r7, #3 - str r7, [r5] - mov r0, #0 - ldr r8, _0207bc34 ; =data_ov00_020d8860 - str r0, [r5, #0x14] - mov r11, r0 - mov r4, #1 -_0207bb84: - ldr r0, [r10] - tst r0, r4, lsl r7 - beq _0207bc20 - mov r0, r8 - str r11, [r5] - bl func_02005628 - ldr r1, _0207bc38 ; =data_027e0384 - mov r0, r8 - mov r2, #0x40 - bl func_02007984 - ldr r1, _0207bc3c ; =data_027e037c - ldr r0, _0207bc40 ; =data_027e03c8 - ldr r2, [r1, #0xfc] - bic r2, r2, #0x50 - str r2, [r1, #0xfc] - mov r1, #2 - str r1, [r5] - mov r1, #0 - str r1, [r5, #0x14] - bl func_01ff892c - ldr r0, _0207bc3c ; =data_027e037c - ldr r9, _0207bc44 ; =data_ov00_020d8798 - ldr r1, [r0, #0xfc] - mov r6, #0 - bic r1, r1, #0xe8 - str r1, [r0, #0xfc] -_0207bbec: - ldrb r0, [r9] - cmp r0, r7 - bne _0207bc10 - add r0, r10, r6, lsl #2 - ldr r1, [r0, #4] - cmp r1, #0 - beq _0207bc10 - ldr r0, [r0, #0x24] - blx r1 -_0207bc10: - add r9, r9, #1 - add r6, r6, #1 - cmp r6, #8 - blt _0207bbec -_0207bc20: - sub r8, r8, #0x40 - subs r7, r7, #1 - bpl _0207bb84 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_0207bb4c -_0207bc30: .word 0x04000440 -_0207bc34: .word data_ov00_020d8860 -_0207bc38: .word data_027e0384 -_0207bc3c: .word data_027e037c -_0207bc40: .word data_027e03c8 -_0207bc44: .word data_ov00_020d8798 - - .global func_ov00_0207bc48 - arm_func_start func_ov00_0207bc48 -func_ov00_0207bc48: ; 0x0207bc48 - ldr r1, [r0] - mov r0, #0 - cmp r1, #0 - ldrne r2, [r1, #0x40] - subne r1, r0, #1 - cmpne r2, r1 - movne r0, #1 - bx lr - arm_func_end func_ov00_0207bc48 - - .global func_ov00_0207bc68 - arm_func_start func_ov00_0207bc68 -func_ov00_0207bc68: ; 0x0207bc68 - ldr r0, [r0] - cmp r0, #0 - ldrne r0, [r0, #0x40] - mvneq r0, #0 - bx lr - arm_func_end func_ov00_0207bc68 - - .global func_ov00_0207bc7c - thumb_func_start func_ov00_0207bc7c -func_ov00_0207bc7c: ; 0x0207bc7c - push {r3, r4, r5, lr} - add r4, r0, #0 - ldr r5, [r4] - cmp r5, #0 - beq _0207bc98 - beq _0207bc94 - add r0, r5, #0 - blx func_ov18_0215cb28 - add r0, r5, #0 - blx _ZN9SysObjectdlEPv -_0207bc94: - mov r0, #0 - str r0, [r4] -_0207bc98: - pop {r3, r4, r5, pc} - .align 2, 0 - thumb_func_end func_ov00_0207bc7c - - .global func_ov00_0207bc9c - arm_func_start func_ov00_0207bc9c -func_ov00_0207bc9c: ; 0x0207bc9c - stmdb sp!, {r3, lr} - ldr r0, [r0] - cmp r0, #0 - ldmeqia sp!, {r3, pc} - bl func_ov17_0215cef4 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207bc9c - - .global func_ov00_0207bcb4 - thumb_func_start func_ov00_0207bcb4 -func_ov00_0207bcb4: ; 0x0207bcb4 - mov r1, #0 - mvn r1, r1 - str r1, [r0] - str r1, [r0, #4] - mov r2, #0 - str r2, [r0, #8] - str r2, [r0, #0xc] - str r2, [r0, #0x10] - strh r2, [r0, #0x14] - mov r1, #2 - strb r2, [r0, #0x16] - lsl r1, r1, #0x12 - str r1, [r0, #0x20] - str r1, [r0, #0x18] - mov r1, #6 - lsl r1, r1, #0x10 - str r1, [r0, #0x24] - str r1, [r0, #0x1c] - str r2, [r0, #0x28] - bx lr - thumb_func_end func_ov00_0207bcb4 - - .global func_ov00_0207bcdc - thumb_func_start func_ov00_0207bcdc -func_ov00_0207bcdc: ; 0x0207bcdc - push {r4, r5, r6, lr} - add r4, r0, #0 - add r5, r1, #0 - add r6, r2, #0 - mov r1, #0 - ldr r2, [r4, #4] - mvn r1, r1 - cmp r2, r1 - beq _0207bcf2 - mov r0, #0 - pop {r4, r5, r6, pc} -_0207bcf2: - str r5, [r4, #4] - str r6, [r4, #8] - str r3, [r4, #0xc] - mov r1, #0 - strb r1, [r4, #0x16] - bl func_ov00_0207bdd4 - cmp r5, #3 - bhi _0207bd44 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0207bd10: ; jump table - .short _0207bd18 - _0207bd10 - 2 ; case 0 - .short _0207bd18 - _0207bd10 - 2 ; case 1 - .short _0207bd2c - _0207bd10 - 2 ; case 2 - .short _0207bd2c - _0207bd10 - 2 ; case 3 -_0207bd18: - cmp r5, #1 - bne _0207bd20 - mov r1, #1 - b _0207bd22 -_0207bd20: - mov r1, #0 -_0207bd22: - ldr r0, _0207bd48 ; =data_027e0db0 - bl func_ov00_0207b2c4 - strh r0, [r4, #0x14] - b _0207bd44 -_0207bd2c: - mov r0, #0xa0 - str r0, [r4, #0x28] - cmp r5, #2 - bne _0207bd38 - mov r2, #1 - b _0207bd3a -_0207bd38: - mov r2, #0 -_0207bd3a: - add r4, #0x18 - add r0, r4, #0 - mov r1, #0 - bl func_ov00_0207c8e4 -_0207bd44: - mov r0, #1 - pop {r4, r5, r6, pc} - .align 2, 0 - thumb_func_end func_ov00_0207bcdc -_0207bd48: .word data_027e0db0 - - .global func_ov00_0207bd4c - thumb_func_start func_ov00_0207bd4c -func_ov00_0207bd4c: ; 0x0207bd4c - push {r3, r4, r5, r6, r7, lr} - add r7, r2, #0 - add r2, r3, #0 - ldr r3, [sp, #0x18] - add r5, r0, #0 - add r4, r1, #0 - bl func_ov00_0207bcdc - add r6, r0, #0 - beq _0207bd92 - mov r0, #0 - cmp r4, #3 - bhi _0207bd8a - add r1, r4, r4 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0207bd72: ; jump table - .short _0207bd7a - _0207bd72 - 2 ; case 0 - .short _0207bd7a - _0207bd72 - 2 ; case 1 - .short _0207bd84 - _0207bd72 - 2 ; case 2 - .short _0207bd88 - _0207bd72 - 2 ; case 3 -_0207bd7a: - ldr r0, _0207bd98 ; =data_027e0db0 - ldr r1, [r0, #8] - ldr r0, [r0, #4] - sub r0, r1, r0 - b _0207bd8a -_0207bd84: - mov r0, #0xa0 - b _0207bd8a -_0207bd88: - mov r0, #0x60 -_0207bd8a: - add r1, r7, #0 - blx func_01ff9b4c - str r0, [r5, #0x10] -_0207bd92: - add r0, r6, #0 - pop {r3, r4, r5, r6, r7, pc} - nop - thumb_func_end func_ov00_0207bd4c -_0207bd98: .word data_027e0db0 - - .global func_ov00_0207bd9c - thumb_func_start func_ov00_0207bd9c -func_ov00_0207bd9c: ; 0x0207bd9c - push {r3, r4, r5, lr} - add r4, r0, #0 - add r5, r1, #0 - bl func_ov00_0207bcdc - cmp r0, #0 - beq _0207bdd2 - cmp r5, #3 - bhi _0207bdd2 - add r1, r5, r5 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0207bdba: ; jump table - .short _0207bdc2 - _0207bdba - 2 ; case 0 - .short _0207bdc2 - _0207bdba - 2 ; case 1 - .short _0207bdc8 - _0207bdba - 2 ; case 2 - .short _0207bdce - _0207bdba - 2 ; case 3 -_0207bdc2: - mov r1, #0xa - str r1, [r4, #0x10] - pop {r3, r4, r5, pc} -_0207bdc8: - mov r1, #0xa - str r1, [r4, #0x10] - pop {r3, r4, r5, pc} -_0207bdce: - mov r1, #0xa - str r1, [r4, #0x10] -_0207bdd2: - pop {r3, r4, r5, pc} - thumb_func_end func_ov00_0207bd9c - - .global func_ov00_0207bdd4 - thumb_func_start func_ov00_0207bdd4 -func_ov00_0207bdd4: ; 0x0207bdd4 - push {r3, lr} - add r2, r1, #1 - cmp r2, #3 - bhi _0207bdf6 - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_0207bde8: ; jump table - .short _0207bdf0 - _0207bde8 - 2 ; case 0 - .short _0207bdf6 - _0207bde8 - 2 ; case 1 - .short _0207bdf6 - _0207bde8 - 2 ; case 2 - .short _0207bdf6 - _0207bde8 - 2 ; case 3 -_0207bdf0: - bl func_ov00_0207bcb4 - pop {r3, pc} -_0207bdf6: - str r1, [r0] - pop {r3, pc} - .align 2, 0 - thumb_func_end func_ov00_0207bdd4 - - .global func_ov00_0207bdfc - thumb_func_start func_ov00_0207bdfc -func_ov00_0207bdfc: ; 0x0207bdfc - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4] - cmp r0, #0 - beq _0207be10 - cmp r0, #1 - beq _0207be28 - cmp r0, #2 - beq _0207be5a - pop {r4, pc} -_0207be10: - add r0, r4, #0 - ldr r2, [r4, #0x10] - add r0, #0x18 - blx func_ov00_0207c91c - cmp r0, #0 - beq _0207be80 - add r0, r4, #0 - mov r1, #1 - bl func_ov00_0207bdd4 - pop {r4, pc} -_0207be28: - ldr r2, [r4, #8] - cmp r2, #0 - beq _0207be34 - ldr r1, [r4, #0xc] - mov r0, #0 - blx r2 -_0207be34: - ldr r0, [r4] - cmp r0, #1 - bne _0207be80 - ldr r0, [r4, #4] - cmp r0, #2 - bne _0207be44 - mov r2, #1 - b _0207be46 -_0207be44: - mov r2, #0 -_0207be46: - add r0, r4, #0 - add r0, #0x18 - mov r1, #1 - bl func_ov00_0207c8e4 - add r0, r4, #0 - mov r1, #2 - bl func_ov00_0207bdd4 - pop {r4, pc} -_0207be5a: - add r0, r4, #0 - ldr r2, [r4, #0x10] - add r0, #0x18 - mov r1, #0xa0 - blx func_ov00_0207c91c - cmp r0, #0 - beq _0207be80 - ldr r2, [r4, #8] - cmp r2, #0 - beq _0207be76 - ldr r1, [r4, #0xc] - mov r0, #1 - blx r2 -_0207be76: - mov r1, #0 - add r0, r4, #0 - mvn r1, r1 - bl func_ov00_0207bdd4 -_0207be80: - pop {r4, pc} - .align 2, 0 - thumb_func_end func_ov00_0207bdfc - - .global func_ov00_0207be84 - arm_func_start func_ov00_0207be84 -func_ov00_0207be84: ; 0x0207be84 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - cmp r1, #0 - ldreqb r1, [r5, #0x16] - cmpeq r1, #0 - ldmneia sp!, {r3, r4, r5, pc} - ldr r2, [r5, #4] - mvn r1, #0 - cmp r2, r1 - ldmeqia sp!, {r3, r4, r5, pc} - ldr r1, [r5, #4] - cmp r1, #3 - addls pc, pc, r1, lsl #2 - ldmia sp!, {r3, r4, r5, pc} -_0207bebc: ; jump table - b _0207becc ; case 0 - b _0207becc ; case 1 - b _0207bfa4 ; case 2 - b _0207bfb0 ; case 3 -_0207becc: - ldr r1, [r5] - ldr r2, _0207bfbc ; =data_027e0db4 - cmp r1, #0 - ldr r4, _0207bfc0 ; =data_027e0db8 - beq _0207bef4 - cmp r1, #1 - beq _0207bf20 - cmp r1, #2 - beq _0207bf5c - ldmia sp!, {r3, r4, r5, pc} -_0207bef4: - ldr ip, [r2] - ldr r1, [r5, #0x10] - ldr r3, [r4] - add r1, ip, r1 - str r1, [r2] - cmp r1, r3 - ldmltia sp!, {r3, r4, r5, pc} - mov r1, #1 - str r3, [r2] - blx func_ov00_0207bdd4 - ldmia sp!, {r3, r4, r5, pc} -_0207bf20: - ldr r2, [r5, #8] - cmp r2, #0 - beq _0207bf38 - ldr r1, [r5, #0xc] - mov r0, #0 - blx r2 -_0207bf38: - ldr r0, [r5] - cmp r0, #1 - ldmneia sp!, {r3, r4, r5, pc} - ldrsh r2, [r5, #0x14] - mov r0, r5 - mov r1, #2 - str r2, [r4] - blx func_ov00_0207bdd4 - ldmia sp!, {r3, r4, r5, pc} -_0207bf5c: - ldr r3, [r2] - ldr r1, [r5, #0x10] - ldr r0, [r4] - sub r1, r3, r1 - str r1, [r2] - cmp r1, r0 - ldmgtia sp!, {r3, r4, r5, pc} - str r0, [r2] - ldr r2, [r5, #8] - cmp r2, #0 - beq _0207bf94 - ldr r1, [r5, #0xc] - mov r0, #1 - blx r2 -_0207bf94: - mov r0, r5 - mvn r1, #0 - blx func_ov00_0207bdd4 - ldmia sp!, {r3, r4, r5, pc} -_0207bfa4: - mov r1, #0 - blx func_ov00_0207bdfc - ldmia sp!, {r3, r4, r5, pc} -_0207bfb0: - mov r1, #0x40 - blx func_ov00_0207bdfc - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0207be84 -_0207bfbc: .word data_027e0db4 -_0207bfc0: .word data_027e0db8 - - .global func_ov00_0207bfc4 - thumb_func_start func_ov00_0207bfc4 -func_ov00_0207bfc4: ; 0x0207bfc4 - push {r4, lr} - add r4, r0, #0 - bl func_0202ab78 - add r0, r4, #0 - mov r1, #1 - add r0, #0x24 - strb r1, [r0] - add r0, r4, #0 - mov r1, #0 - add r0, #0x25 - strb r1, [r0] - add r0, r4, #0 - add r0, #0x26 - strb r1, [r0] - add r0, r4, #0 - add r0, #0x27 - strb r1, [r0] - add r0, r4, #0 - add r0, #0x28 - strb r1, [r0] - add r0, r4, #0 - add r0, #0x29 - strb r1, [r0] - mov r0, #0x14 - strh r0, [r4, #0x2a] - mov r0, #0x28 - strh r0, [r4, #0x2c] - pop {r4, pc} - .align 2, 0 - thumb_func_end func_ov00_0207bfc4 - - .global func_ov00_0207c000 - thumb_func_start func_ov00_0207c000 -func_ov00_0207c000: ; 0x0207c000 - push {r3, lr} - add r1, r0, #0 - add r1, #0x25 - ldrb r1, [r1] - cmp r1, #0 - beq _0207c02a - add r1, r0, #0 - mov r2, #1 - add r1, #0x24 - strb r2, [r1] - add r1, r0, #0 - mov r2, #0 - add r1, #0x25 - strb r2, [r1] - mov r1, #0x14 - strh r1, [r0, #0x2a] - mov r1, #0x28 - strh r1, [r0, #0x2c] - ldr r0, _0207c02c ; =data_027e0e2c - bl func_ov00_0207bcb4 -_0207c02a: - pop {r3, pc} - .align 2, 0 - thumb_func_end func_ov00_0207c000 -_0207c02c: .word data_027e0e2c - - .global func_ov00_0207c030 - thumb_func_start func_ov00_0207c030 -func_ov00_0207c030: ; 0x0207c030 - add r2, r0, #0 - add r2, #0x25 - ldrb r2, [r2] - mov r1, #0 - cmp r2, #0 - beq _0207c04e - ldr r0, _0207c06c ; =data_027e077c - ldr r1, [r0] - ldr r0, _0207c070 ; =data_02056be4 - ldrb r0, [r0, r1] - mov r1, #1 - tst r0, r1 - beq _0207c066 - mov r1, #2 - b _0207c066 -_0207c04e: - add r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _0207c066 - ldr r0, _0207c06c ; =data_027e077c - ldr r1, [r0] - ldr r0, _0207c070 ; =data_02056be4 - ldrb r0, [r0, r1] - mov r1, #1 - tst r0, r1 - bne _0207c066 - mov r1, #2 -_0207c066: - add r0, r1, #0 - bx lr - nop - thumb_func_end func_ov00_0207c030 -_0207c06c: .word data_027e077c -_0207c070: .word data_02056be4 - - .global func_ov00_0207c074 - thumb_func_start func_ov00_0207c074 -func_ov00_0207c074: ; 0x0207c074 - push {r4, lr} - add r4, r0, #0 - add r1, r4, #0 - mov r2, #0 - add r1, #0x29 - strb r2, [r1] - add r1, r4, #0 - add r1, #0x24 - ldrb r1, [r1] - cmp r1, #0 - beq _0207c0a4 - bl func_ov00_0207c030 - add r2, r0, #0 - ldrh r1, [r4, #0x2a] - add r0, r4, #0 - bl func_0202abdc - cmp r0, #0 - beq _0207c0a4 - ldr r0, _0207c0a8 ; =data_027e071c - add r1, r4, #0 - blx func_0202d77c -_0207c0a4: - pop {r4, pc} - nop - thumb_func_end func_ov00_0207c074 -_0207c0a8: .word data_027e071c - - .global func_ov00_0207c0ac - thumb_func_start func_ov00_0207c0ac -func_ov00_0207c0ac: ; 0x0207c0ac - push {r4, lr} - mov r3, #0 - mvn r3, r3 - cmp r1, r3 - beq _0207c0c6 - ldr r3, _0207c0c8 ; =data_027e0cbc - ldr r4, [r3, #0x1c] - str r4, [r0] - cmp r4, r1 - beq _0207c0c6 - add r0, r3, #0 - blx func_ov03_020fa874 -_0207c0c6: - pop {r4, pc} - .align 2, 0 - thumb_func_end func_ov00_0207c0ac -_0207c0c8: .word data_027e0cbc - - .global func_ov00_0207c0cc - thumb_func_start func_ov00_0207c0cc -func_ov00_0207c0cc: ; 0x0207c0cc - push {r4, lr} - add r4, r0, #0 - add r2, r1, #0 - mov r0, #0 - ldr r1, [r4] - mvn r0, r0 - cmp r1, r0 - beq _0207c0e8 - ldr r0, _0207c0ec ; =data_027e0cbc - blx func_ov03_020fa874 - mov r0, #0 - mvn r0, r0 - str r0, [r4] -_0207c0e8: - pop {r4, pc} - nop - thumb_func_end func_ov00_0207c0cc -_0207c0ec: .word data_027e0cbc - - .global func_ov00_0207c0f0 - thumb_func_start func_ov00_0207c0f0 -func_ov00_0207c0f0: ; 0x0207c0f0 - push {r3, lr} - add r3, r0, #0 - mov r2, #0 - add r0, #0x3c - strb r2, [r0] - cmp r1, #2 - beq _0207c106 - cmp r1, #6 - beq _0207c106 - cmp r1, #7 - bne _0207c110 -_0207c106: - ldr r0, _0207c114 ; =data_ov00_020ec718 - add r1, r3, #0 - mov r2, #0x3c - blx func_020078d8 -_0207c110: - pop {r3, pc} - nop - thumb_func_end func_ov00_0207c0f0 -_0207c114: .word data_ov00_020ec718 - - .global func_ov00_0207c118 - thumb_func_start func_ov00_0207c118 -func_ov00_0207c118: ; 0x0207c118 - push {r4, r5, lr} - sub sp, #0x114 - add r4, r1, #0 - add r5, r0, #0 - add r1, sp, #0x14 - mov r2, #0x80 - blx func_02007ad8 - add r0, r5, #0 - add r1, sp, #0x94 - mov r2, #0x80 - blx func_02007ad8 - mov r3, #0 - str r3, [sp] - ldr r1, _0207c168 ; =0x0003f500 - add r5, r4, #0 - mul r5, r1 - ldr r1, _0207c16c ; =0x0003f200 - str r3, [sp, #4] - mov r0, #7 - str r0, [sp, #8] - mov r0, #0xa - str r0, [sp, #0xc] - mov r2, #2 - str r2, [sp, #0x10] - add r0, sp, #0x14 - add r1, r5, r1 - add r2, #0xfe - bl func_02040464 - cmp r0, #0 - beq _0207c160 - add sp, #0x114 - mov r0, #1 - pop {r4, r5, pc} -_0207c160: - mov r0, #0 - add sp, #0x114 - pop {r4, r5, pc} - nop - thumb_func_end func_ov00_0207c118 -_0207c168: .word 0x0003f500 -_0207c16c: .word 0x0003f200 - - .global func_ov00_0207c170 - thumb_func_start func_ov00_0207c170 -func_ov00_0207c170: ; 0x0207c170 - push {r3, r4, r5, r6, r7, lr} - mov r4, #0 - add r5, r0, #0 - add r6, r4, #0 - mov r7, #0x14 -_0207c17a: - add r0, r6, #0 - add r1, r5, #0 - add r2, r7, #0 - blx func_020078c0 - add r4, r4, #1 - add r5, #0x14 - cmp r4, #3 - blt _0207c17a - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 - thumb_func_end func_ov00_0207c170 - - .global func_ov00_0207c190 - thumb_func_start func_ov00_0207c190 -func_ov00_0207c190: ; 0x0207c190 - mov r2, #0 - add r3, r2, #0 -_0207c194: - ldrb r1, [r0, #0x12] - cmp r1, #0 - beq _0207c1a2 - ldrh r1, [r0] - cmp r1, #0 - bne _0207c1a2 - add r2, r2, #1 -_0207c1a2: - add r3, r3, #1 - add r0, #0x14 - cmp r3, #3 - blt _0207c194 - add r0, r2, #0 - bx lr - .align 2, 0 - thumb_func_end func_ov00_0207c190 - - .global func_ov00_0207c1b0 - arm_func_start func_ov00_0207c1b0 -func_ov00_0207c1b0: ; 0x0207c1b0 - stmdb sp!, {r4, lr} - sub sp, sp, #8 - ldr lr, [sp, #0x10] - cmp r1, #0x1000 - movge r4, #1 - movlt r4, #0 - ldr ip, [sp, #0x14] - str lr, [sp] - cmp r1, #0x1000 - orrge r3, r3, #0x8000 - cmp r1, #0x1000 - str ip, [sp, #4] - add r0, r0, r4, lsl #2 - ldr r0, [r0, #0x10] - subge r1, r1, #0x1000 - bl func_ov00_0207c694 - add sp, sp, #8 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207c1b0 - - .global func_ov00_0207c1f8 - arm_func_start func_ov00_0207c1f8 -func_ov00_0207c1f8: ; 0x0207c1f8 - stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} - sub sp, sp, #4 - mov r6, r2 - cmp r6, #0x1000 - movge r4, #1 - mov r7, r1 - mov r8, r0 - mov r0, r7 - mov r5, r3 - movlt r4, #0 - bl func_ov00_020b7e6c - cmp r6, #0x1000 - ldrge r0, [sp, #0x20] - mov r1, r7 - orrge r0, r0, #0x8000 - ldrlt r0, [sp, #0x20] - cmp r6, #0x1000 - str r0, [sp] - add r0, r8, r4, lsl #2 - subge r6, r6, #0x1000 - ldr r0, [r0, #0x10] - mov r2, r6 - mov r3, r5 - bl func_ov00_0207c6ec - add sp, sp, #4 - ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} - arm_func_end func_ov00_0207c1f8 - - .global func_ov00_0207c260 - arm_func_start func_ov00_0207c260 -func_ov00_0207c260: ; 0x0207c260 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - ldr r6, [sp, #0x28] - ldr r5, [sp, #0x2c] - mov r9, r1 - mov r8, r2 - mov r10, r0 - mov r7, r3 - cmp r9, r8 - ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - orr r11, r5, #0x8000 -_0207c288: - ldr r0, [r7] - cmp r0, #0x1000 - movge r0, #1 - movlt r0, #0 - add r1, r10, r0, lsl #2 - mov r0, r9 - ldr r4, [r1, #0x10] - bl func_ov00_020b7e6c - ldr r2, [r7] - mov r0, r4 - cmp r2, #0x1000 - movge ip, r11 - movlt ip, r5 - cmp r2, #0x1000 - subge r2, r2, #0x1000 - mov r1, r9 - mov r3, r6 - str ip, [sp] - bl func_ov00_0207c6ec - add r9, r9, #4 - cmp r9, r8 - add r7, r7, #4 - bne _0207c288 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end func_ov00_0207c260 - - .global func_ov00_0207c2e8 - arm_func_start func_ov00_0207c2e8 -func_ov00_0207c2e8: ; 0x0207c2e8 - stmdb sp!, {r3, lr} - sub sp, sp, #0x10 - ldr lr, [sp, #0x18] - str r2, [sp, #8] - str r3, [sp, #0xc] - ldr ip, [sp, #0x1c] - str lr, [sp] - add r3, sp, #8 - add r2, r1, #8 - str ip, [sp, #4] - bl func_ov00_0207c260 - add sp, sp, #0x10 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207c2e8 - - .global func_ov00_0207c31c - arm_func_start func_ov00_0207c31c -func_ov00_0207c31c: ; 0x0207c31c - stmdb sp!, {lr} - sub sp, sp, #0x14 - ldr ip, [sp, #0x18] - ldr lr, [sp, #0x1c] - str r2, [sp, #8] - str r3, [sp, #0xc] - str ip, [sp, #0x10] - ldr ip, [sp, #0x20] - str lr, [sp] - add r3, sp, #8 - add r2, r1, #0xc - str ip, [sp, #4] - bl func_ov00_0207c260 - add sp, sp, #0x14 - ldmia sp!, {pc} - arm_func_end func_ov00_0207c31c - - .global func_ov00_0207c358 - arm_func_start func_ov00_0207c358 -func_ov00_0207c358: ; 0x0207c358 - stmdb sp!, {r3, lr} - sub sp, sp, #0x18 - ldr lr, [sp, #0x20] - ldr ip, [sp, #0x24] - str r2, [sp, #8] - str r3, [sp, #0xc] - str ip, [sp, #0x14] - ldr r2, [sp, #0x28] - str lr, [sp, #0x10] - str r2, [sp] - ldr ip, [sp, #0x2c] - add r3, sp, #8 - add r2, r1, #0x10 - str ip, [sp, #4] - bl func_ov00_0207c260 - add sp, sp, #0x18 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207c358 - - .global func_ov00_0207c39c - arm_func_start func_ov00_0207c39c -func_ov00_0207c39c: ; 0x0207c39c - stmdb sp!, {r3, r4, lr} - sub sp, sp, #0x1c - ldr r4, [sp, #0x28] - ldr lr, [sp, #0x2c] - ldr ip, [sp, #0x30] - str r2, [sp, #8] - str r3, [sp, #0xc] - str ip, [sp, #0x18] - ldr r2, [sp, #0x34] - str r4, [sp, #0x10] - str lr, [sp, #0x14] - str r2, [sp] - ldr ip, [sp, #0x38] - add r3, sp, #8 - add r2, r1, #0x14 - str ip, [sp, #4] - bl func_ov00_0207c260 - add sp, sp, #0x1c - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_0207c39c - - .global func_ov00_0207c3e8 - arm_func_start func_ov00_0207c3e8 -func_ov00_0207c3e8: ; 0x0207c3e8 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0x24 - ldr r6, [sp, #0x38] - ldr r5, [sp, #0x3c] - ldr r4, [sp, #0x40] - ldr lr, [sp, #0x44] - ldr ip, [sp, #0x48] - str r2, [sp, #8] - str r3, [sp, #0xc] - str ip, [sp, #0x20] - ldr r2, [sp, #0x4c] - str r6, [sp, #0x10] - str r5, [sp, #0x14] - str r4, [sp, #0x18] - str lr, [sp, #0x1c] - str r2, [sp] - ldr ip, [sp, #0x50] - add r3, sp, #8 - add r2, r1, #0x1c - str ip, [sp, #4] - bl func_ov00_0207c260 - add sp, sp, #0x24 - ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end func_ov00_0207c3e8 - - .global func_ov00_0207c444 - arm_func_start func_ov00_0207c444 -func_ov00_0207c444: ; 0x0207c444 - stmdb sp!, {r3, lr} - ldr r2, [r1] - cmp r2, #0 - ldmeqia sp!, {r3, pc} - ldr r2, [r2, #0x9c] - tst r2, #0x8000 - movne r2, #1 - moveq r2, #0 - add r0, r0, r2, lsl #2 - ldr r0, [r0, #0x10] - bl func_ov00_0207c748 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207c444 - - .global func_ov00_0207c474 - arm_func_start func_ov00_0207c474 -func_ov00_0207c474: ; 0x0207c474 - stmdb sp!, {r3, lr} - mov r3, r2 - ldr r2, [r1, #4] - ldr ip, [r1] - cmp r2, #0x1000 - movge lr, #1 - movlt lr, #0 - cmp ip, #0 - bne _0207c4c0 - ldr ip, [r1, #8] - cmp r2, #0x1000 - orrge ip, ip, #0x8000 - str ip, [sp] - add r0, r0, lr, lsl #2 - cmp r2, #0x1000 - ldr r0, [r0, #0x10] - subge r2, r2, #0x1000 - bl func_ov00_0207c6ec - ldmia sp!, {r3, pc} -_0207c4c0: - ldr r0, [r1] - cmp r0, #0 - ldmeqia sp!, {r3, pc} - ldr r1, [r0, #0x20] - ldr r2, [r3] - ldr r1, [r1] - ldr r1, [r1, #4] - add r1, r2, r1 - str r1, [r0, #0x28] - ldr r1, [r0, #0x20] - ldr r2, [r3, #4] - ldr r1, [r1] - ldr r1, [r1, #8] - add r1, r2, r1 - str r1, [r0, #0x2c] - ldr r1, [r0, #0x20] - ldr r2, [r3, #8] - ldr r1, [r1] - ldr r1, [r1, #0xc] - add r1, r2, r1 - str r1, [r0, #0x30] - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207c474 - - .global func_ov00_0207c518 - arm_func_start func_ov00_0207c518 -func_ov00_0207c518: ; 0x0207c518 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r6, r1 - mov r5, r2 - ldr r2, [r6, #4] - mov r7, r0 - cmp r2, #0x1000 - movge r4, #1 - ldr r0, [r6] - movlt r4, #0 - cmp r0, #0 - bne _0207c588 - ldr r0, [r6, #8] - cmp r2, #0x1000 - orrge r0, r0, #0x8000 - orr r0, r0, #0x4000 - str r0, [sp] - add r0, r7, r4, lsl #2 - cmp r2, #0x1000 - ldr r0, [r0, #0x10] - subge r2, r2, #0x1000 - mov r1, r6 - mov r3, r5 - bl func_ov00_0207c6ec - ldr r1, [r6] - cmp r1, #0 - ldrne r0, [r1, #0x24] - orrne r0, r0, #2 - strne r0, [r1, #0x24] -_0207c588: - ldr r0, [r6] - cmp r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - add r0, r7, r4, lsl #2 - ldr r0, [r0, #0x10] - ldr r1, [r6] - ldr r0, [r0] - mov r2, r5 - bl func_02012934 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0207c518 - - .global func_ov00_0207c5b0 - thumb_func_start func_ov00_0207c5b0 -func_ov00_0207c5b0: ; 0x0207c5b0 - push {r3, r4, r5, r6, r7, lr} - mov r4, #0 - add r5, r0, #0 - add r6, r1, #0 - sub r7, r4, #1 -_0207c5ba: - ldr r0, [r5] - cmp r0, r7 - beq _0207c5c8 - ldr r0, [r5, #0x10] - add r1, r6, #0 - bl func_ov00_0207c770 -_0207c5c8: - add r4, r4, #1 - add r5, r5, #4 - cmp r4, #2 - blt _0207c5ba - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 - thumb_func_end func_ov00_0207c5b0 - - .global func_ov00_0207c5d4 - arm_func_start func_ov00_0207c5d4 -func_ov00_0207c5d4: ; 0x0207c5d4 - stmdb sp!, {r4, r5, r6, r7, r8, lr} - mov r8, r0 - mov r7, r1 - mov r6, r2 - mov r5, #0 - mvn r4, #0 -_0207c5ec: - ldr r0, [r8, r5, lsl #2] - cmp r0, r4 - beq _0207c60c - add r0, r8, r5, lsl #2 - ldr r0, [r0, #0x10] - mov r1, r7 - mov r2, r6 - bl func_ov00_0207c798 -_0207c60c: - add r5, r5, #1 - cmp r5, #2 - blt _0207c5ec - ldmia sp!, {r4, r5, r6, r7, r8, pc} - arm_func_end func_ov00_0207c5d4 - - .global func_ov00_0207c61c - arm_func_start func_ov00_0207c61c -func_ov00_0207c61c: ; 0x0207c61c - stmdb sp!, {r3, lr} - ldr r2, [r1] - str r2, [r0, #0x9c] - ldr r2, [r0, #0x20] - ldr r2, [r2] - ldr r2, [r2, #0x58] - mov r2, r2, lsl #0x18 - mov r2, r2, lsr #0x18 - and r2, r2, #0xff - tst r2, #0x80 - beq _0207c658 - ldr r2, _0207c670 ; =data_027e0e58 - ldr r2, [r2] - ldrh r2, [r2, #0x22] - strh r2, [r0, #0x76] -_0207c658: - ldr r2, [r1, #8] - cmp r2, #0 - ldmeqia sp!, {r3, pc} - ldr r1, [r1, #4] - blx r2 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0207c61c -_0207c670: .word data_027e0e58 - - .global func_ov00_0207c674 - arm_func_start func_ov00_0207c674 -func_ov00_0207c674: ; 0x0207c674 - stmdb sp!, {r3, lr} - ldr r1, _0207c690 ; =data_027e0618 - ldr r1, [r1] - cmp r1, #6 - ldmneia sp!, {r3, pc} - bl func_ov12_02133c40 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0207c674 -_0207c690: .word data_027e0618 - - .global func_ov00_0207c694 - arm_func_start func_ov00_0207c694 -func_ov00_0207c694: ; 0x0207c694 - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x10 - mov r6, r0 - mov r0, r1 - mov r5, r2 - mov r4, r3 - bl func_ov00_0207c674 - ldr r3, [sp, #0x20] - ldr r2, [sp, #0x24] - str r3, [sp, #8] - str r2, [sp, #0xc] - ldr r1, _0207c6e8 ; =func_ov00_0207c61c - str r4, [sp, #4] - str r1, [sp] - mov r1, r0 - ldr r0, [r6] - add r3, sp, #4 - mov r2, r5 - bl func_02012830 - add sp, sp, #0x10 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0207c694 -_0207c6e8: .word func_ov00_0207c61c - - .global func_ov00_0207c6ec - arm_func_start func_ov00_0207c6ec -func_ov00_0207c6ec: ; 0x0207c6ec - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x10 - mov r6, r0 - mov r0, r2 - mov r5, r1 - mov r4, r3 - bl func_ov00_0207c674 - mov r2, #0 - ldr r3, [sp, #0x20] - ldr r1, _0207c744 ; =func_ov00_0207c61c - str r3, [sp, #4] - str r2, [sp, #8] - str r2, [sp, #0xc] - str r1, [sp] - mov r1, r0 - ldr r0, [r6] - add r3, sp, #4 - mov r2, r4 - bl func_02012830 - str r0, [r5] - add sp, sp, #0x10 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0207c6ec -_0207c744: .word func_ov00_0207c61c - - .global func_ov00_0207c748 - arm_func_start func_ov00_0207c748 -func_ov00_0207c748: ; 0x0207c748 - stmdb sp!, {r4, lr} - mov r4, r1 - ldr r1, [r4] - cmp r1, #0 - ldmeqia sp!, {r4, pc} - ldr r0, [r0] - bl func_020128bc - mov r0, #0 - str r0, [r4] - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207c748 - - .global func_ov00_0207c770 - thumb_func_start func_ov00_0207c770 -func_ov00_0207c770: ; 0x0207c770 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, [r5] - add r6, r1, #0 - ldr r1, [r0, #4] - cmp r1, #0 - beq _0207c796 -_0207c77e: - add r0, r1, #0 - add r0, #0x9c - ldr r0, [r0] - ldr r4, [r1] - tst r0, r6 - beq _0207c790 - ldr r0, [r5] - blx func_020128bc -_0207c790: - add r1, r4, #0 - cmp r4, #0 - bne _0207c77e -_0207c796: - pop {r4, r5, r6, pc} - thumb_func_end func_ov00_0207c770 - - .global func_ov00_0207c798 - arm_func_start func_ov00_0207c798 -func_ov00_0207c798: ; 0x0207c798 - ldr r0, [r0] - ldr r3, [r0, #4] - cmp r3, #0 - bxeq lr - cmp r2, #0 - moveq r0, #1 - movne r0, #0 - mov r0, r0, lsl #0x1f -_0207c7b8: - ldr r2, [r3, #0x9c] - ldr ip, [r3] - tst r1, r2 - beq _0207c7d8 - ldr r2, [r3, #0x24] - bic r2, r2, #8 - orr r2, r2, r0, lsr #28 - str r2, [r3, #0x24] -_0207c7d8: - mov r3, ip - cmp ip, #0 - bne _0207c7b8 - bx lr - arm_func_end func_ov00_0207c798 - - .global func_ov00_0207c7e8 - arm_func_start func_ov00_0207c7e8 -func_ov00_0207c7e8: ; 0x0207c7e8 - ldr r3, _0207c800 ; =data_ov00_020d88cc - ldrh r2, [r0] - ldrb r1, [r3, r1] - cmp r2, r1 - strloh r1, [r0] - bx lr - .align 2, 0 - arm_func_end func_ov00_0207c7e8 -_0207c800: .word data_ov00_020d88cc - - .global func_ov00_0207c804 - thumb_func_start func_ov00_0207c804 -func_ov00_0207c804: ; 0x0207c804 - push {r3, r4, r5, r6, lr} - sub sp, #0x24 - ldr r3, _0207c8d0 ; =data_027e0f94 - add r6, r2, #0 - add r5, r0, #0 - add r4, r1, #0 - ldmia r3!, {r0, r1} - add r2, sp, #0x18 - stmia r2!, {r0, r1} - ldr r0, [r3] - str r0, [r2] - ldr r0, _0207c8d4 ; =data_027e0d38 - ldr r0, [r0] - blx func_ov00_02078b40 - cmp r0, #2 - bne _0207c830 - ldr r1, [sp, #0x1c] - ldr r0, _0207c8d8 ; =0x0000019a - add r0, r1, r0 - str r0, [sp, #0x1c] - b _0207c876 -_0207c830: - cmp r5, #0 - beq _0207c840 - mov r0, #3 - ldr r1, [sp, #0x1c] - lsl r0, r0, #0xa - add r0, r1, r0 - str r0, [sp, #0x1c] - b _0207c876 -_0207c840: - ldr r0, _0207c8dc ; =data_027e0fcc - ldr r2, [sp, #0x18] - ldr r1, [r0] - add r1, #0x40 - add r0, r1, #0 - add r1, #0x84 - ldr r1, [r1] - add r0, #0x84 - add r2, r2, r1 - lsr r1, r2, #0x1f - add r1, r2, r1 - asr r1, r1, #1 - str r1, [sp, #0x18] - ldr r2, [sp, #0x1c] - ldr r1, [r0, #4] - add r2, r2, r1 - lsr r1, r2, #0x1f - add r1, r2, r1 - asr r1, r1, #1 - str r1, [sp, #0x1c] - ldr r1, [sp, #0x20] - ldr r0, [r0, #8] - add r1, r1, r0 - lsr r0, r1, #0x1f - add r0, r1, r0 - asr r0, r0, #1 - str r0, [sp, #0x20] -_0207c876: - ldr r0, [sp, #0x18] - add r1, sp, #0xc - str r0, [sp, #0xc] - ldr r0, [sp, #0x1c] - add r2, sp, #8 - str r0, [sp, #0x10] - ldr r0, [sp, #0x20] - add r3, sp, #4 - str r0, [sp, #0x14] - mov r0, #1 - str r0, [sp] - ldr r0, _0207c8e0 ; =data_027e0f64 - ldr r0, [r0] - ldr r0, [r0, #4] - blx func_01ffe468 - cmp r0, #0 - beq _0207c8c8 - mov r1, #0x1f - ldr r2, [sp, #8] - mvn r1, r1 - cmp r2, r1 - blt _0207c8c8 - mov r0, #0x12 - lsl r0, r0, #4 - cmp r2, r0 - bge _0207c8c8 - ldr r0, [sp, #4] - add r1, #8 - cmp r0, r1 - blt _0207c8c8 - cmp r0, #0xd8 - bge _0207c8c8 - lsl r0, r2, #0xc - str r0, [r4] - ldr r0, [sp, #4] - add sp, #0x24 - lsl r0, r0, #0xc - str r0, [r6] - mov r0, #1 - pop {r3, r4, r5, r6, pc} -_0207c8c8: - mov r0, #0 - add sp, #0x24 - pop {r3, r4, r5, r6, pc} - nop - thumb_func_end func_ov00_0207c804 -_0207c8d0: .word data_027e0f94 -_0207c8d4: .word data_027e0d38 -_0207c8d8: .word 0x0000019a -_0207c8dc: .word data_027e0fcc -_0207c8e0: .word data_027e0f64 - - .global func_ov00_0207c8e4 - thumb_func_start func_ov00_0207c8e4 -func_ov00_0207c8e4: ; 0x0207c8e4 - push {r3, lr} - add r3, r0, #0 - mov r0, #2 - lsl r0, r0, #0x12 - str r0, [r3, #8] - str r0, [r3] - mov r0, #6 - lsl r0, r0, #0x10 - str r0, [r3, #0xc] - str r0, [r3, #4] - cmp r2, #0 - beq _0207c91a - cmp r1, #0 - bne _0207c910 - add r0, r1, #0 - add r1, r3, #0 - add r3, #0xc - add r1, #8 - add r2, r3, #0 - bl func_ov00_0207c804 - pop {r3, pc} -_0207c910: - add r0, r1, #0 - add r1, r3, #0 - add r2, r3, #4 - bl func_ov00_0207c804 -_0207c91a: - pop {r3, pc} - thumb_func_end func_ov00_0207c8e4 - - .global func_ov00_0207c91c - arm_func_start func_ov00_0207c91c -func_ov00_0207c91c: ; 0x0207c91c - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r7, r0 - ldr r0, [r7, #0x10] - mov r6, r1 - mov r5, r2 - cmp r0, r6 - beq _0207c9d8 - subs r0, r6, r0 - rsbmi r0, r0, #0 - mov r0, r0, lsl #0xc - mov r1, r5, lsl #0xc - bl Divide - mov r4, r0 - ldr r2, [r7, #8] - cmp r4, #0x1000 - strle r2, [r7] - ble _0207c97c - ldr r0, [r7] - mov r1, r4 - sub r0, r2, r0 - bl Divide - ldr r1, [r7] - add r0, r1, r0 - str r0, [r7] -_0207c97c: - ldr r2, [r7, #0xc] - cmp r4, #0x1000 - strle r2, [r7, #4] - ble _0207c9a8 - ldr r0, [r7, #4] - mov r1, r4 - sub r0, r2, r0 - bl Divide - ldr r1, [r7, #4] - add r0, r1, r0 - str r0, [r7, #4] -_0207c9a8: - ldr r0, [r7, #0x10] - cmp r0, r6 - bge _0207c9c8 - add r0, r0, r5 - cmp r0, r6 - movge r0, r6 - str r0, [r7, #0x10] - b _0207c9d8 -_0207c9c8: - sub r0, r0, r5 - cmp r0, r6 - movle r0, r6 - str r0, [r7, #0x10] -_0207c9d8: - ldr r0, [r7, #0x10] - cmp r0, r6 - movne r0, #0 - ldmneia sp!, {r3, r4, r5, r6, r7, pc} - ldr r1, [r7, #8] - mov r0, #1 - str r1, [r7] - ldr r1, [r7, #0xc] - str r1, [r7, #4] - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0207c91c - - .global _ZN6Course18GetDungeonProgressEP14CourseProgress - arm_func_start _ZN6Course18GetDungeonProgressEP14CourseProgress -_ZN6Course18GetDungeonProgressEP14CourseProgress: ; 0x0207ca00 - ldr r2, [r0, #0x268] - str r2, [r1] - ldr r2, [r0, #4] - cmp r2, #3 - bxeq lr - ldr r2, [r0, #0x260] - strb r2, [r1, #4] - ldrb r0, [r0, #0x25d] - strb r0, [r1, #5] - bx lr - arm_func_end _ZN6Course18GetDungeonProgressEP14CourseProgress - - .global _ZN6Course18func_ov00_0207ca28Eiii - arm_func_start _ZN6Course18func_ov00_0207ca28Eiii -_ZN6Course18func_ov00_0207ca28Eiii: ; 0x0207ca28 - stmdb sp!, {r3, lr} - ldr ip, [r0, #4] - add r0, r0, r1, lsl #2 - cmp ip, #3 - ldr r0, [r0, #0xcc] - bne _0207ca54 - mov r1, r2 - mov r2, r3 - mov r3, #1 - bl func_ov00_020972e4 - ldmia sp!, {r3, pc} -_0207ca54: - mov r1, r2 - mov r2, r3 - mov r3, #0 - bl func_ov00_020972e4 - ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207ca28Eiii - - .global _ZN6Course13SetCourseNameEPc - arm_func_start _ZN6Course13SetCourseNameEPc -_ZN6Course13SetCourseNameEPc: ; 0x0207ca68 - ldr ip, _0207ca74 ; =strcpy - add r0, r0, #0xc - bx ip - .align 2, 0 - arm_func_end _ZN6Course13SetCourseNameEPc -_0207ca74: .word strcpy - - .global _ZN6Course18func_ov00_0207ca78Ev - arm_func_start _ZN6Course18func_ov00_0207ca78Ev -_ZN6Course18func_ov00_0207ca78Ev: ; 0x0207ca78 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r4, r2 - bl _ZN6Course18func_ov00_0207d9ccEi - movs r1, r0 - ldmeqia sp!, {r3, r4, r5, pc} - strb r4, [r1] - ldr r0, [r5, #0xc8] - ldr r1, [r1, #8] - mov r2, #1 - bl func_ov00_020a3510 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207ca78Ev - - .global _ZN6Course18func_ov00_0207caa8Eiii - arm_func_start _ZN6Course18func_ov00_0207caa8Eiii -_ZN6Course18func_ov00_0207caa8Eiii: ; 0x0207caa8 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #0x10 - cmp r1, #0 - mov r5, r2 - mov r4, r3 - addeq sp, sp, #0x10 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, pc} - mov r3, #0x47 - mov r2, #0 - strb r2, [sp, #0xc] - str r3, [sp] - ldr r0, [r0, #0xc8] - add r2, sp, #0 - bl func_ov00_020a3710 - cmp r0, #0 - addeq sp, sp, #0x10 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, pc} - ldr r1, [sp] - mov r0, #1 - str r1, [r5] - ldrb r1, [sp, #4] - strb r1, [r4] - ldrb r1, [sp, #5] - strb r1, [r4, #1] - ldrh r1, [sp, #6] - strh r1, [r4, #2] - ldrh r1, [sp, #8] - strh r1, [r4, #4] - ldrh r1, [sp, #0xa] - strh r1, [r4, #6] - add sp, sp, #0x10 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207caa8Eiii - - .global _ZN6Course18func_ov00_0207cb30Ei - arm_func_start _ZN6Course18func_ov00_0207cb30Ei -_ZN6Course18func_ov00_0207cb30Ei: ; 0x0207cb30 - stmdb sp!, {r3, lr} - sub sp, sp, #0x10 - cmp r1, #0 - addeq sp, sp, #0x10 - ldreq r0, _0207cb78 ; =0x0000ffff - ldmeqia sp!, {r3, pc} - mov r3, #0x47 - mov r2, #0 - strb r2, [sp, #0xc] - str r3, [sp] - ldr r0, [r0, #0xc8] - add r2, sp, #0 - bl func_ov00_020a3710 - cmp r0, #0 - ldrneh r0, [sp, #0xa] - ldreq r0, _0207cb78 ; =0x0000ffff - add sp, sp, #0x10 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end _ZN6Course18func_ov00_0207cb30Ei -_0207cb78: .word 0x0000ffff - - .global _ZN6Course18func_ov00_0207cb7cEiPS_i - arm_func_start _ZN6Course18func_ov00_0207cb7cEiPS_i -_ZN6Course18func_ov00_0207cb7cEiPS_i: ; 0x0207cb7c - stmdb sp!, {r3, r4, r5, lr} - mov lr, #0 - mov r5, r1 - mov ip, lr -_0207cb8c: - mov r4, ip -_0207cb90: - add r3, r5, r4 - ldrb r3, [r3, #0x20] - cmp r2, r3 - streqb lr, [r0] - streqb r4, [r0, #1] - ldmeqia sp!, {r3, r4, r5, pc} - add r4, r4, #1 - cmp r4, #0xa - blt _0207cb90 - add lr, lr, #1 - cmp lr, #0xa - add r5, r5, #0xa - blt _0207cb8c - ldrb r2, [r1, #0x1d] - ldrb r1, [r1, #0x1c] - strb r1, [r0] - strb r2, [r0, #1] - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207cb7cEiPS_i - - .global _ZN6Course18func_ov00_0207cbd8Ei - arm_func_start _ZN6Course18func_ov00_0207cbd8Ei -_ZN6Course18func_ov00_0207cbd8Ei: ; 0x0207cbd8 - stmdb sp!, {r3, lr} - bl _ZN6Course18func_ov00_0207d9ccEi - add r0, r0, #0x14 - ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207cbd8Ei - - .global _ZN6Course18func_ov00_0207cbe8Ei - arm_func_start _ZN6Course18func_ov00_0207cbe8Ei -_ZN6Course18func_ov00_0207cbe8Ei: ; 0x0207cbe8 - stmdb sp!, {r3, lr} - sub sp, sp, #0x10 - cmp r1, #0 - addeq sp, sp, #0x10 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - mov r3, #0x47 - mov r2, #0 - strb r2, [sp, #0xc] - str r3, [sp] - ldr r0, [r0, #0xc8] - add r2, sp, #0 - bl func_ov00_020a3710 - add sp, sp, #0x10 - ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207cbe8Ei - - .global _ZN6Course18func_ov00_0207cc24Ei - arm_func_start _ZN6Course18func_ov00_0207cc24Ei -_ZN6Course18func_ov00_0207cc24Ei: ; 0x0207cc24 - stmdb sp!, {r3, lr} - sub sp, sp, #0x10 - cmp r1, #0 - addeq sp, sp, #0x10 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - mov r3, #0x47 - mov r2, #0 - strb r2, [sp, #0xc] - str r3, [sp] - ldr r0, [r0, #0xc8] - add r2, sp, #0 - bl func_ov00_020a3710 - cmp r0, #0 - ldrneb r0, [sp, #0xc] - moveq r0, #0 - add sp, sp, #0x10 - ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207cc24Ei - - .global _ZN6Course18func_ov00_0207cc6cEv - arm_func_start _ZN6Course18func_ov00_0207cc6cEv -_ZN6Course18func_ov00_0207cc6cEv: ; 0x0207cc6c - stmdb sp!, {r3, lr} - bl _ZN6Course18func_ov00_0207d9ccEi - cmp r0, #0 - moveq r0, #0 - ldrne r0, [r0, #8] - ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207cc6cEv - - .global _ZN6Course14GetMCSFilePathEiii - arm_func_start _ZN6Course14GetMCSFilePathEiii -_ZN6Course14GetMCSFilePathEiii: ; 0x0207cc84 - stmdb sp!, {r3, lr} - mov lr, r0 - mov ip, r2 - cmp r3, #3 - addls pc, pc, r3, lsl #2 - b _0207cd3c -_0207cc9c: ; jump table - b _0207cd3c ; case 0 - b _0207ccac ; case 1 - b _0207cce8 ; case 2 - b _0207cd24 ; case 3 -_0207ccac: - cmp ip, #0 - bne _0207cccc - ldr r2, _0207cd58 ; =data_ov00_020e2508 - mov r0, r1 - ldr r2, [r2] - ldr r1, _0207cd5c ; =data_ov00_020e2058 - bl func_0200c8d0 - ldmia sp!, {r3, pc} -_0207cccc: - ldr r2, _0207cd58 ; =data_ov00_020e2508 - mov r0, r1 - ldr r2, [r2] - ldr r1, _0207cd60 ; =data_ov00_020e2070 - mov r3, ip - bl func_0200c8d0 - ldmia sp!, {r3, pc} -_0207cce8: - cmp ip, #0 - bne _0207cd08 - ldr r2, _0207cd58 ; =data_ov00_020e2508 - mov r0, r1 - ldr r2, [r2] - ldr r1, _0207cd64 ; =data_ov00_020e208c - bl func_0200c8d0 - ldmia sp!, {r3, pc} -_0207cd08: - ldr r2, _0207cd58 ; =data_ov00_020e2508 - mov r0, r1 - ldr r2, [r2] - ldr r1, _0207cd68 ; =data_ov00_020e20a4 - mov r3, ip - bl func_0200c8d0 - ldmia sp!, {r3, pc} -_0207cd24: - ldr r2, _0207cd58 ; =data_ov00_020e2508 - mov r0, r1 - ldr r2, [r2] - ldr r1, _0207cd6c ; =data_ov00_020e20c0 - bl func_0200c8d0 - ldmia sp!, {r3, pc} -_0207cd3c: - ldr r2, _0207cd58 ; =data_ov00_020e2508 - mov r0, r1 - ldr r2, [r2] - ldr r1, _0207cd70 ; =data_ov00_020e20d8 - add r3, lr, #0xc - bl func_0200c8d0 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end _ZN6Course14GetMCSFilePathEiii -_0207cd58: .word data_ov00_020e2508 -_0207cd5c: .word data_ov00_020e2058 -_0207cd60: .word data_ov00_020e2070 -_0207cd64: .word data_ov00_020e208c -_0207cd68: .word data_ov00_020e20a4 -_0207cd6c: .word data_ov00_020e20c0 -_0207cd70: .word data_ov00_020e20d8 - - .global _ZN6Course14GetMRCFilePathEiii - arm_func_start _ZN6Course14GetMRCFilePathEiii -_ZN6Course14GetMRCFilePathEiii: ; 0x0207cd74 - stmdb sp!, {r4, lr} - mov r4, r2 - cmp r3, #3 - addls pc, pc, r3, lsl #2 - b _0207cde0 -_0207cd88: ; jump table - b _0207cde0 ; case 0 - b _0207cd98 ; case 1 - b _0207cdb0 ; case 2 - b _0207cdc8 ; case 3 -_0207cd98: - ldr r0, _0207ce08 ; =data_ov00_020e250c - ldr r1, _0207ce0c ; =data_ov00_020e20ec - ldr r2, [r0] - mov r0, r4 - bl func_0200c8d0 - ldmia sp!, {r4, pc} -_0207cdb0: - ldr r0, _0207ce08 ; =data_ov00_020e250c - ldr r1, _0207ce10 ; =data_ov00_020e2104 - ldr r2, [r0] - mov r0, r4 - bl func_0200c8d0 - ldmia sp!, {r4, pc} -_0207cdc8: - ldr r0, _0207ce08 ; =data_ov00_020e250c - ldr r1, _0207ce14 ; =data_ov00_020e211c - ldr r2, [r0] - mov r0, r4 - bl func_0200c8d0 - ldmia sp!, {r4, pc} -_0207cde0: - ldr r0, _0207ce18 ; =data_027e0f7c - ldr r0, [r0] - bl func_ov00_0209d71c - ldr r1, _0207ce08 ; =data_ov00_020e250c - mov r3, r0 - ldr r2, [r1] - ldr r1, _0207ce1c ; =data_ov00_020e2134 - mov r0, r4 - bl func_0200c8d0 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end _ZN6Course14GetMRCFilePathEiii -_0207ce08: .word data_ov00_020e250c -_0207ce0c: .word data_ov00_020e20ec -_0207ce10: .word data_ov00_020e2104 -_0207ce14: .word data_ov00_020e211c -_0207ce18: .word data_027e0f7c -_0207ce1c: .word data_ov00_020e2134 - - .global _ZN6Course18func_ov00_0207ce20Eiiii - arm_func_start _ZN6Course18func_ov00_0207ce20Eiiii -_ZN6Course18func_ov00_0207ce20Eiiii: ; 0x0207ce20 - stmdb sp!, {r3, lr} - sub sp, sp, #8 - ldr ip, [sp, #0x10] - stmia sp, {r3, ip} - mov ip, r1 - mov r3, r2 - ldr r1, [r0] - mov r2, ip - bl _ZN6Course18func_ov00_0207ce4cEccccii - add sp, sp, #8 - ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207ce20Eiiii - - .global _ZN6Course18func_ov00_0207ce4cEccccii - arm_func_start _ZN6Course18func_ov00_0207ce4cEccccii -_ZN6Course18func_ov00_0207ce4cEccccii: ; 0x0207ce4c - stmdb sp!, {r4, r5, r6, r7, r8, lr} - sub sp, sp, #8 - ldr r4, _0207d3ac ; =data_027e0f7c - mov r8, r0 - ldr r0, [r4] - mov r7, r1 - mov r6, r2 - mov r5, r3 - ldr r4, [sp, #0x20] - bl func_ov00_0209d71c - ldr r1, [sp, #0x24] - mov r3, r0 - cmp r1, #7 - addls pc, pc, r1, lsl #2 - b _0207d364 -_0207ce88: ; jump table - b _0207d364 ; case 0 - b _0207cef0 ; case 1 - b _0207cea8 ; case 2 - b _0207cf38 ; case 3 - b _0207d07c ; case 4 - b _0207d294 ; case 5 - b _0207d2d8 ; case 6 - b _0207d31c ; case 7 -_0207cea8: - ldr r2, _0207d3b0 ; =0x66666667 - mov r1, r6, lsr #0x1f - smull r0, r5, r2, r6 - smull r0, r7, r2, r6 - add r7, r1, r7, asr #2 - add r5, r1, r5, asr #2 - mov r2, #0xa - smull r0, r1, r2, r5 - sub r5, r6, r0 - str r7, [sp] - ldr r0, _0207d3b4 ; =data_ov00_020e233c - str r5, [sp, #4] - ldr r2, [r0] - ldr r1, _0207d3b8 ; =data_ov00_020e2148 - mov r0, r4 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207cef0: - ldr r2, _0207d3b0 ; =0x66666667 - mov r1, r6, lsr #0x1f - smull r0, r5, r2, r6 - smull r0, r7, r2, r6 - add r7, r1, r7, asr #2 - add r5, r1, r5, asr #2 - mov r2, #0xa - smull r0, r1, r2, r5 - sub r5, r6, r0 - str r7, [sp] - ldr r0, _0207d3b4 ; =data_ov00_020e233c - str r5, [sp, #4] - ldr r2, [r0] - ldr r1, _0207d3bc ; =data_ov00_020e2160 - mov r0, r4 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207cf38: - ldr r1, [r8, #8] - mvn r0, #1 - cmp r1, r0 - bne _0207cf98 - ldr r0, _0207d3c0 ; =data_027e0d38 - ldr r0, [r0] - ldr r0, [r0, #0x28] - add r0, r0, #0x44 - bl func_ov00_020a5e9c - ldr r2, _0207d3c0 ; =data_027e0d38 - mov r1, r0 - ldr r0, [r2] - mov r3, r5 - ldr r0, [r0, #0x28] - ldrb r2, [r0, #0x56] - mov r0, r8 - cmp r2, #0xff - str r4, [sp] - mov r4, #4 - moveq r2, #0 - str r4, [sp, #4] - bl _ZN6Course18func_ov00_0207ce4cEccccii - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207cf98: - ldr r0, [r8, #4] - cmp r0, #2 - bne _0207cfc8 - mov r7, #4 - mov r0, r8 - mov r1, r6 - mov r2, r5 - mov r3, r4 - str r7, [sp] - bl _ZN6Course18func_ov00_0207ce20Eiiii - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207cfc8: - cmp r6, #0xff - beq _0207cfdc - ldrb r0, [r8, #0x25c] - cmp r0, #0 - beq _0207d03c -_0207cfdc: - cmp r7, #0x1b - bne _0207cffc - ldr r1, _0207d3c4 ; =data_ov00_020e2174 - mov r0, r4 - mov r2, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207cffc: - ldr r1, _0207d3b0 ; =0x66666667 - mov r2, r3 - smull r0, r8, r1, r6 - smull r0, r3, r1, r6 - mov r7, r6, lsr #0x1f - add r8, r7, r8, asr #2 - mov r5, #0xa - smull r0, r1, r5, r8 - sub r8, r6, r0 - ldr r1, _0207d3c8 ; =data_ov00_020e2188 - mov r0, r4 - add r3, r7, r3, asr #2 - str r8, [sp] - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d03c: - ldr r1, _0207d3b0 ; =0x66666667 - mov r2, r3 - smull r0, r8, r1, r6 - smull r0, r3, r1, r6 - mov r7, r6, lsr #0x1f - add r8, r7, r8, asr #2 - mov r5, #0xa - smull r0, r1, r5, r8 - sub r8, r6, r0 - ldr r1, _0207d3cc ; =data_ov00_020e219c - mov r0, r4 - add r3, r7, r3, asr #2 - str r8, [sp] - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d07c: - ldr r0, [r8] - cmp r0, #0x32 - bgt _0207d0b4 - bge _0207d19c - cmp r0, #3 - bgt _0207d1d4 - cmp r0, #1 - blt _0207d1d4 - beq _0207d0f4 - cmp r0, #2 - beq _0207d12c - cmp r0, #3 - beq _0207d164 - b _0207d1d4 -_0207d0b4: - cmp r0, #0x38 - bne _0207d1d4 - ldr r1, _0207d3b0 ; =0x66666667 - mov r5, r6, lsr #0x1f - smull r0, r3, r1, r6 - smull r0, r2, r1, r6 - add r3, r5, r3, asr #2 - mov r1, #0xa - smull r3, r0, r1, r3 - ldr r1, _0207d3d0 ; =data_ov00_020e21b4 - mov r0, r4 - add r2, r5, r2, asr #2 - sub r3, r6, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d0f4: - ldr r1, _0207d3b0 ; =0x66666667 - mov r5, r6, lsr #0x1f - smull r0, r3, r1, r6 - smull r0, r2, r1, r6 - add r3, r5, r3, asr #2 - mov r1, #0xa - smull r3, r0, r1, r3 - ldr r1, _0207d3d4 ; =data_ov00_020e21d0 - mov r0, r4 - add r2, r5, r2, asr #2 - sub r3, r6, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d12c: - ldr r1, _0207d3b0 ; =0x66666667 - mov r5, r6, lsr #0x1f - smull r0, r3, r1, r6 - smull r0, r2, r1, r6 - add r3, r5, r3, asr #2 - mov r1, #0xa - smull r3, r0, r1, r3 - ldr r1, _0207d3d8 ; =data_ov00_020e21f0 - mov r0, r4 - add r2, r5, r2, asr #2 - sub r3, r6, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d164: - ldr r1, _0207d3b0 ; =0x66666667 - mov r5, r6, lsr #0x1f - smull r0, r3, r1, r6 - smull r0, r2, r1, r6 - add r3, r5, r3, asr #2 - mov r1, #0xa - smull r3, r0, r1, r3 - ldr r1, _0207d3dc ; =data_ov00_020e2210 - mov r0, r4 - add r2, r5, r2, asr #2 - sub r3, r6, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d19c: - ldr r1, _0207d3b0 ; =0x66666667 - mov r5, r6, lsr #0x1f - smull r0, r3, r1, r6 - smull r0, r2, r1, r6 - add r3, r5, r3, asr #2 - mov r1, #0xa - smull r3, r0, r1, r3 - ldr r1, _0207d3e0 ; =data_ov00_020e2230 - mov r0, r4 - add r2, r5, r2, asr #2 - sub r3, r6, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d1d4: - cmp r6, #3 - bne _0207d25c - ldr r0, _0207d3e4 ; =gAdventureFlags - mov r1, #0x32 - ldr r0, [r0] - bl _ZN14AdventureFlags3GetEj - cmp r0, #0 - ldr r1, _0207d3b0 ; =0x66666667 - mov r5, r6, lsr #0x1f - beq _0207d22c - smull r0, r3, r1, r6 - smull r0, r2, r1, r6 - add r3, r5, r3, asr #2 - mov r1, #0xa - smull r3, r0, r1, r3 - ldr r1, _0207d3e8 ; =data_ov00_020e2250 - mov r0, r4 - add r2, r5, r2, asr #2 - sub r3, r6, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d22c: - smull r0, r3, r1, r6 - smull r0, r2, r1, r6 - add r3, r5, r3, asr #2 - mov r1, #0xa - smull r3, r0, r1, r3 - ldr r1, _0207d3ec ; =data_ov00_020e226c - mov r0, r4 - add r2, r5, r2, asr #2 - sub r3, r6, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d25c: - ldr r1, _0207d3b0 ; =0x66666667 - mov r5, r6, lsr #0x1f - smull r0, r3, r1, r6 - smull r0, r2, r1, r6 - add r3, r5, r3, asr #2 - mov r1, #0xa - smull r3, r0, r1, r3 - ldr r1, _0207d3f0 ; =data_ov00_020e2284 - mov r0, r4 - add r2, r5, r2, asr #2 - sub r3, r6, r3 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d294: - ldr r8, _0207d3b0 ; =0x66666667 - mov r7, r6, lsr #0x1f - smull r0, r1, r8, r6 - add r1, r7, r1, asr #2 - mov r2, #0xa - smull r0, r1, r2, r1 - sub r1, r6, r0 - smull r0, r3, r8, r6 - stmia sp, {r1, r5} - ldr r0, _0207d3b4 ; =data_ov00_020e233c - ldr r1, _0207d3f4 ; =data_ov00_020e229c - ldr r2, [r0] - mov r0, r4 - add r3, r7, r3, asr #2 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d2d8: - ldr r8, _0207d3b0 ; =0x66666667 - mov r7, r6, lsr #0x1f - smull r0, r1, r8, r6 - add r1, r7, r1, asr #2 - mov r2, #0xa - smull r0, r1, r2, r1 - sub r1, r6, r0 - smull r0, r3, r8, r6 - stmia sp, {r1, r5} - ldr r0, _0207d3b4 ; =data_ov00_020e233c - ldr r1, _0207d3f8 ; =data_ov00_020e22b8 - ldr r2, [r0] - mov r0, r4 - add r3, r7, r3, asr #2 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d31c: - ldr r2, _0207d3b0 ; =0x66666667 - mov r1, r6, lsr #0x1f - smull r0, r5, r2, r6 - smull r0, r7, r2, r6 - add r7, r1, r7, asr #2 - add r5, r1, r5, asr #2 - mov r2, #0xa - smull r0, r1, r2, r5 - sub r5, r6, r0 - str r7, [sp] - ldr r0, _0207d3b4 ; =data_ov00_020e233c - str r5, [sp, #4] - ldr r2, [r0] - ldr r1, _0207d3fc ; =data_ov00_020e22d4 - mov r0, r4 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} -_0207d364: - ldr r2, _0207d3b0 ; =0x66666667 - mov r1, r6, lsr #0x1f - smull r0, r5, r2, r6 - smull r0, r7, r2, r6 - add r7, r1, r7, asr #2 - add r5, r1, r5, asr #2 - mov r2, #0xa - smull r0, r1, r2, r5 - str r7, [sp] - sub r5, r6, r0 - ldr r0, _0207d3b4 ; =data_ov00_020e233c - str r5, [sp, #4] - ldr r2, [r0] - ldr r1, _0207d400 ; =data_ov00_020e22e8 - mov r0, r4 - bl func_0200c8d0 - add sp, sp, #8 - ldmia sp!, {r4, r5, r6, r7, r8, pc} - .align 2, 0 - arm_func_end _ZN6Course18func_ov00_0207ce4cEccccii -_0207d3ac: .word data_027e0f7c -_0207d3b0: .word 0x66666667 -_0207d3b4: .word data_ov00_020e233c -_0207d3b8: .word data_ov00_020e2148 -_0207d3bc: .word data_ov00_020e2160 -_0207d3c0: .word data_027e0d38 -_0207d3c4: .word data_ov00_020e2174 -_0207d3c8: .word data_ov00_020e2188 -_0207d3cc: .word data_ov00_020e219c -_0207d3d0: .word data_ov00_020e21b4 -_0207d3d4: .word data_ov00_020e21d0 -_0207d3d8: .word data_ov00_020e21f0 -_0207d3dc: .word data_ov00_020e2210 -_0207d3e0: .word data_ov00_020e2230 -_0207d3e4: .word gAdventureFlags -_0207d3e8: .word data_ov00_020e2250 -_0207d3ec: .word data_ov00_020e226c -_0207d3f0: .word data_ov00_020e2284 -_0207d3f4: .word data_ov00_020e229c -_0207d3f8: .word data_ov00_020e22b8 -_0207d3fc: .word data_ov00_020e22d4 -_0207d400: .word data_ov00_020e22e8 - - .global _ZN6Course18func_ov00_0207d404Eiii - arm_func_start _ZN6Course18func_ov00_0207d404Eiii -_ZN6Course18func_ov00_0207d404Eiii: ; 0x0207d404 - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x18 - mov r6, r0 - cmp r1, #0 - mov r5, r2 - mov r4, r3 - addeq sp, sp, #0x18 - mov r0, #0 - ldmeqia sp!, {r4, r5, r6, pc} - mov r2, #0x47 - str r2, [sp, #8] - strb r0, [sp, #0x14] - ldr r0, [r6, #0xc8] - add r2, sp, #8 - bl func_ov00_020a3710 - cmp r0, #0 - addeq sp, sp, #0x18 - moveq r0, #0 - ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, [sp, #0x28] - str r4, [sp] - str r0, [sp, #4] - ldrb r2, [sp, #0xc] - ldr r1, [sp, #8] - mov r0, r6 - mov r3, r5 - bl _ZN6Course18func_ov00_0207ce4cEccccii - mov r0, #1 - add sp, sp, #0x18 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end _ZN6Course18func_ov00_0207d404Eiii - - .global _ZN6Course18func_ov00_0207d47cEv - arm_func_start _ZN6Course18func_ov00_0207d47cEv -_ZN6Course18func_ov00_0207d47cEv: ; 0x0207d47c - ldr ip, _0207d48c ; =_ZN6Course18func_ov00_0207d490Eii - ldrb r1, [r0, #0x1c] - ldrb r2, [r0, #0x1d] - bx ip - .align 2, 0 - arm_func_end _ZN6Course18func_ov00_0207d47cEv -_0207d48c: .word _ZN6Course18func_ov00_0207d490Eii - - .global _ZN6Course18func_ov00_0207d490Eii - arm_func_start _ZN6Course18func_ov00_0207d490Eii -_ZN6Course18func_ov00_0207d490Eii: ; 0x0207d490 - ldrb r3, [r0, #0x25c] - cmp r3, #0 - moveq r0, #1 - bxeq lr - ldrb ip, [r0, #0x84] - cmp ip, r1 - bgt _0207d4dc - ldrb r3, [r0, #0x86] - add r3, ip, r3 - cmp r1, r3 - bge _0207d4dc - ldrb r1, [r0, #0x85] - cmp r1, r2 - bgt _0207d4dc - ldrb r0, [r0, #0x87] - add r0, r1, r0 - cmp r2, r0 - movlt r0, #1 - bxlt lr -_0207d4dc: - mov r0, #0 - bx lr - arm_func_end _ZN6Course18func_ov00_0207d490Eii - - .global _ZN6Course18func_ov00_0207d4e4Ei - arm_func_start _ZN6Course18func_ov00_0207d4e4Ei -_ZN6Course18func_ov00_0207d4e4Ei: ; 0x0207d4e4 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - mov r2, r1 - add r0, sp, #0 - mov r1, r4 - bl _ZN6Course18func_ov00_0207cb7cEiPS_i - ldrb r1, [sp] - ldrb r2, [sp, #1] - mov r0, r4 - bl _ZN6Course18func_ov00_0207d490Eii - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end _ZN6Course18func_ov00_0207d4e4Ei - - .global _ZN6Course18func_ov00_0207d518EiPiS0_ - arm_func_start _ZN6Course18func_ov00_0207d518EiPiS0_ -_ZN6Course18func_ov00_0207d518EiPiS0_: ; 0x0207d518 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r4, r1 - mov r7, r0 - cmp r4, #0xff - mov r6, r2 - mov r5, r3 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - add r0, sp, #0 - mov r1, r7 - mov r2, r4 - bl _ZN6Course18func_ov00_0207cb7cEiPS_i - ldrb r1, [sp] - ldrb r2, [sp, #1] - mov r0, r7 - bl _ZN6Course18func_ov00_0207d490Eii - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - ldrb r4, [r7, #0x86] - ldrb r0, [r7, #0x87] - cmp r0, r4 - movhi r4, r0 - mov r1, r4 - mov r0, #0x100 - bl func_02002c14 - ldrb r3, [sp] - ldrb r2, [r7, #0x84] - ldr ip, [r7, #0x88] - mov r1, r4 - sub r2, r3, r2 - mla r2, r0, r2, ip - str r2, [r6] - mov r0, #0xc0 - bl func_02002c14 - ldrb r2, [sp, #1] - ldrb r1, [r7, #0x85] - ldr r3, [r7, #0x8c] - sub r1, r2, r1 - mla r1, r0, r1, r3 - str r1, [r5] - mov r0, #1 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end _ZN6Course18func_ov00_0207d518EiPiS0_ - - .global _ZN6Course18func_ov00_0207d5c4Ev - arm_func_start _ZN6Course18func_ov00_0207d5c4Ev -_ZN6Course18func_ov00_0207d5c4Ev: ; 0x0207d5c4 - stmdb sp!, {r3, lr} - ldrb r1, [r0, #0x86] - ldrb r0, [r0, #0x87] - cmp r0, r1 - movhi r1, r0 - mov r1, r1, lsl #0xc - mov r0, #0x100000 - bl Divide - mov r1, #0x40000 - bl Divide - ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207d5c4Ev - - .global _ZN6Course18func_ov00_0207d5f0Ev - arm_func_start _ZN6Course18func_ov00_0207d5f0Ev -_ZN6Course18func_ov00_0207d5f0Ev: ; 0x0207d5f0 - stmdb sp!, {r3, lr} - ldrb r1, [r0, #0x87] - ldrb r0, [r0, #0x86] - cmp r0, r1 - movhi r1, r0 - mov r1, r1, lsl #0xc - mov r0, #0xc0000 - bl Divide - mov r1, #0x30000 - bl Divide - ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207d5f0Ev - - .global _ZN6Course18func_ov00_0207d61cEv - arm_func_start _ZN6Course18func_ov00_0207d61cEv -_ZN6Course18func_ov00_0207d61cEv: ; 0x0207d61c - ldr r0, [r0, #0xc8] - ldr r0, [r0] - bx lr - arm_func_end _ZN6Course18func_ov00_0207d61cEv - - .global _ZN6Course15GetUnk_c8_Unk_4Ev - arm_func_start _ZN6Course15GetUnk_c8_Unk_4Ev -_ZN6Course15GetUnk_c8_Unk_4Ev: ; 0x0207d628 - ldr r0, [r0, #0xc8] - ldr r0, [r0, #4] - bx lr - arm_func_end _ZN6Course15GetUnk_c8_Unk_4Ev - - .global _ZN6Course18func_ov00_0207d634Ei - arm_func_start _ZN6Course18func_ov00_0207d634Ei -_ZN6Course18func_ov00_0207d634Ei: ; 0x0207d634 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - ldrb r4, [r6, #0x1c] - ldrb r5, [r6, #0x1d] - cmp r1, #3 - addls pc, pc, r1, lsl #2 - b _0207d67c -_0207d650: ; jump table - b _0207d660 ; case 0 - b _0207d668 ; case 1 - b _0207d670 ; case 2 - b _0207d678 ; case 3 -_0207d660: - add r4, r4, #1 - b _0207d67c -_0207d668: - sub r4, r4, #1 - b _0207d67c -_0207d670: - add r5, r5, #1 - b _0207d67c -_0207d678: - sub r5, r5, #1 -_0207d67c: - mov r0, r6 - mov r1, r4 - mov r2, r5 - bl _ZN6Course18func_ov00_0207d490Eii - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r4, r5, r6, pc} - mov r0, r6 - mov r1, r4 - mov r2, r5 - bl _ZN6Course18func_ov00_0207d6acEii - ldmia sp!, {r4, r5, r6, pc} - arm_func_end _ZN6Course18func_ov00_0207d634Ei - - .global _ZN6Course18func_ov00_0207d6acEii - arm_func_start _ZN6Course18func_ov00_0207d6acEii -_ZN6Course18func_ov00_0207d6acEii: ; 0x0207d6ac - cmp r1, #0 - cmpge r2, #0 - blt _0207d6c4 - cmp r1, #0xa - cmplt r2, #0xa - blt _0207d6cc -_0207d6c4: - mov r0, #0 - bx lr -_0207d6cc: - mov r3, #0xa - mla r0, r1, r3, r0 - add r0, r0, r2 - ldrb r0, [r0, #0x20] - cmp r0, #0xff - movne r0, #1 - moveq r0, #0 - bx lr - arm_func_end _ZN6Course18func_ov00_0207d6acEii - - .global _ZN6Course18func_ov00_0207d6ecEv - arm_func_start _ZN6Course18func_ov00_0207d6ecEv -_ZN6Course18func_ov00_0207d6ecEv: ; 0x0207d6ec - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - mov r5, r1 - bl _ZN6Course18func_ov00_0207d634Ei - cmp r0, #0 - moveq r0, #0xff - ldmeqia sp!, {r4, r5, r6, pc} - mov r0, r6 - mov r1, r5 - bl _ZN6Course18func_ov00_0207d758Ei - mov r4, r0 - mov r0, r6 - mov r1, r5 - bl _ZN6Course18func_ov00_0207d738Ei - mov r1, #0xa - mla r1, r0, r1, r6 - add r0, r1, r4 - ldrb r0, [r0, #0x20] - ldmia sp!, {r4, r5, r6, pc} - arm_func_end _ZN6Course18func_ov00_0207d6ecEv - - .global _ZN6Course18func_ov00_0207d738Ei - arm_func_start _ZN6Course18func_ov00_0207d738Ei -_ZN6Course18func_ov00_0207d738Ei: ; 0x0207d738 - cmp r1, #0 - ldrb r0, [r0, #0x1c] - beq _0207d750 - cmp r1, #1 - subeq r0, r0, #1 - bx lr -_0207d750: - add r0, r0, #1 - bx lr - arm_func_end _ZN6Course18func_ov00_0207d738Ei - - .global _ZN6Course18func_ov00_0207d758Ei - arm_func_start _ZN6Course18func_ov00_0207d758Ei -_ZN6Course18func_ov00_0207d758Ei: ; 0x0207d758 - cmp r1, #2 - ldrb r0, [r0, #0x1d] - beq _0207d770 - cmp r1, #3 - subeq r0, r0, #1 - bx lr -_0207d770: - add r0, r0, #1 - bx lr - arm_func_end _ZN6Course18func_ov00_0207d758Ei - - .global _ZN6Course18func_ov00_0207d778Ev - arm_func_start _ZN6Course18func_ov00_0207d778Ev -_ZN6Course18func_ov00_0207d778Ev: ; 0x0207d778 - stmdb sp!, {r3, lr} - bl _ZN6Course18func_ov00_0207da14Ev - ldrh r0, [r0, #4] - ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207d778Ev - - .global _ZN6Course18func_ov00_0207d788Ev - arm_func_start _ZN6Course18func_ov00_0207d788Ev -_ZN6Course18func_ov00_0207d788Ev: ; 0x0207d788 - stmdb sp!, {r3, lr} - bl _ZN6Course18func_ov00_0207d9ccEi - cmp r0, #0 - ldreq r0, _0207d7a0 ; =0x0000ffff - ldrneh r0, [r0, #4] - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end _ZN6Course18func_ov00_0207d788Ev -_0207d7a0: .word 0x0000ffff - - .global _ZN6Course18func_ov00_0207d7a4Ev - arm_func_start _ZN6Course18func_ov00_0207d7a4Ev -_ZN6Course18func_ov00_0207d7a4Ev: ; 0x0207d7a4 - stmdb sp!, {r3, lr} - bl _ZN6Course18func_ov00_0207d9ccEi - cmp r0, #0 - moveq r0, #0 - ldrne r0, [r0, #0xc] - ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207d7a4Ev - - .global _ZN6Course18func_ov00_0207d7bcEv - arm_func_start _ZN6Course18func_ov00_0207d7bcEv -_ZN6Course18func_ov00_0207d7bcEv: ; 0x0207d7bc - stmdb sp!, {r3, lr} - bl _ZN6Course18func_ov00_0207da14Ev - ldr r2, _0207d7d8 ; =data_027e103c - ldrh r1, [r0, #4] - ldr r0, [r2] - bl func_ov00_020cf414 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end _ZN6Course18func_ov00_0207d7bcEv -_0207d7d8: .word data_027e103c - - .global _ZN6Course18func_ov00_0207d7dcEii - arm_func_start _ZN6Course18func_ov00_0207d7dcEii -_ZN6Course18func_ov00_0207d7dcEii: ; 0x0207d7dc - cmp r2, #0 - beq _0207d804 - add ip, r0, #0x264 - mov r3, r1, lsr #0x5 - and r0, r1, #0x1f - ldr r2, [ip, r3, lsl #2] - mov r1, #1 - orr r0, r2, r1, lsl r0 - str r0, [ip, r3, lsl #2] - bx lr -_0207d804: - add r3, r0, #0x264 - mov r2, r1, lsr #0x5 - and r0, r1, #0x1f - mov r1, #1 - mvn r0, r1, lsl r0 - ldr r1, [r3, r2, lsl #2] - and r0, r1, r0 - str r0, [r3, r2, lsl #2] - bx lr - arm_func_end _ZN6Course18func_ov00_0207d7dcEii - - .global _ZN6Course18func_ov00_0207d828Ei - arm_func_start _ZN6Course18func_ov00_0207d828Ei -_ZN6Course18func_ov00_0207d828Ei: ; 0x0207d828 - mov r2, r1, lsr #0x5 - add r0, r0, r2, lsl #2 - ldr r2, [r0, #0x264] - and r1, r1, #0x1f - mov r0, #1 - tst r2, r0, lsl r1 - moveq r0, #0 - bx lr - arm_func_end _ZN6Course18func_ov00_0207d828Ei - - .global _ZN6Course18func_ov00_0207d848Eii - arm_func_start _ZN6Course18func_ov00_0207d848Eii -_ZN6Course18func_ov00_0207d848Eii: ; 0x0207d848 - cmp r2, #0 - beq _0207d870 - add ip, r0, #0x268 - mov r3, r1, lsr #0x5 - and r0, r1, #0x1f - ldr r2, [ip, r3, lsl #2] - mov r1, #1 - orr r0, r2, r1, lsl r0 - str r0, [ip, r3, lsl #2] - bx lr -_0207d870: - add r3, r0, #0x268 - mov r2, r1, lsr #0x5 - and r0, r1, #0x1f - mov r1, #1 - mvn r0, r1, lsl r0 - ldr r1, [r3, r2, lsl #2] - and r0, r1, r0 - str r0, [r3, r2, lsl #2] - bx lr - arm_func_end _ZN6Course18func_ov00_0207d848Eii - - .global _ZN6Course18func_ov00_0207d894Ei - arm_func_start _ZN6Course18func_ov00_0207d894Ei -_ZN6Course18func_ov00_0207d894Ei: ; 0x0207d894 - mov r2, r1, lsr #0x5 - add r0, r0, r2, lsl #2 - ldr r2, [r0, #0x268] - and r1, r1, #0x1f - mov r0, #1 - tst r2, r0, lsl r1 - moveq r0, #0 - bx lr - arm_func_end _ZN6Course18func_ov00_0207d894Ei - - .global _ZN6Course18func_ov00_0207d8b4Ev - arm_func_start _ZN6Course18func_ov00_0207d8b4Ev -_ZN6Course18func_ov00_0207d8b4Ev: ; 0x0207d8b4 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r1 - mov r4, r2 - bl _ZN6Course18func_ov00_0207da14Ev - mov r1, r5 - mov r2, r4 - bl func_ov00_0209740c - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207d8b4Ev - - .global _ZN6Course18func_ov00_0207d8d4Ei - arm_func_start _ZN6Course18func_ov00_0207d8d4Ei -_ZN6Course18func_ov00_0207d8d4Ei: ; 0x0207d8d4 - stmdb sp!, {r4, lr} - mov r4, r1 - bl _ZN6Course18func_ov00_0207da14Ev - mov r1, r4 - bl func_ov00_02097458 - ldmia sp!, {r4, pc} - arm_func_end _ZN6Course18func_ov00_0207d8d4Ei - - .global _ZN6Course18func_ov00_0207d8ecEv - arm_func_start _ZN6Course18func_ov00_0207d8ecEv -_ZN6Course18func_ov00_0207d8ecEv: ; 0x0207d8ec - stmdb sp!, {r3, r4, r5, lr} - mov r5, r1 - mov r4, r2 - bl _ZN6Course18func_ov00_0207da14Ev - mov r1, r5 - mov r2, r4 - bl func_ov00_02097478 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207d8ecEv - - .global _ZN6Course18func_ov00_0207d90cEi - arm_func_start _ZN6Course18func_ov00_0207d90cEi -_ZN6Course18func_ov00_0207d90cEi: ; 0x0207d90c - stmdb sp!, {r4, lr} - mov r4, r1 - bl _ZN6Course18func_ov00_0207da14Ev - mov r1, r4 - bl func_ov00_020974c4 - ldmia sp!, {r4, pc} - arm_func_end _ZN6Course18func_ov00_0207d90cEi - - .global _ZN6Course18func_ov00_0207d924Ev - arm_func_start _ZN6Course18func_ov00_0207d924Ev -_ZN6Course18func_ov00_0207d924Ev: ; 0x0207d924 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r1 - mov r4, r2 - bl _ZN6Course18func_ov00_0207da14Ev - mov r1, r5 - mov r2, r4 - bl func_ov00_020974e4 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207d924Ev - - .global _ZN6Course18func_ov00_0207d944Ei - arm_func_start _ZN6Course18func_ov00_0207d944Ei -_ZN6Course18func_ov00_0207d944Ei: ; 0x0207d944 - stmdb sp!, {r4, lr} - mov r4, r1 - bl _ZN6Course18func_ov00_0207da14Ev - mov r1, r4 - bl func_ov00_02097530 - ldmia sp!, {r4, pc} - arm_func_end _ZN6Course18func_ov00_0207d944Ei - - .global _ZN6Course18func_ov00_0207d95cEv - arm_func_start _ZN6Course18func_ov00_0207d95cEv -_ZN6Course18func_ov00_0207d95cEv: ; 0x0207d95c - stmdb sp!, {r3, r4, r5, lr} - mov r5, r1 - mov r4, r2 - bl _ZN6Course18func_ov00_0207da14Ev - mov r1, r5 - mov r2, r4 - bl func_ov00_02097550 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207d95cEv - - .global _ZN6Course18func_ov00_0207d97cEi - arm_func_start _ZN6Course18func_ov00_0207d97cEi -_ZN6Course18func_ov00_0207d97cEi: ; 0x0207d97c - stmdb sp!, {r4, lr} - mov r4, r1 - bl _ZN6Course18func_ov00_0207da14Ev - mov r1, r4 - bl func_ov00_0209759c - ldmia sp!, {r4, pc} - arm_func_end _ZN6Course18func_ov00_0207d97cEi - - .global _ZN6Course18func_ov00_0207d994Ev - arm_func_start _ZN6Course18func_ov00_0207d994Ev -_ZN6Course18func_ov00_0207d994Ev: ; 0x0207d994 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r1 - mov r4, r2 - bl _ZN6Course18func_ov00_0207da14Ev - mov r1, r5 - mov r2, r4 - bl func_ov00_020975bc - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207d994Ev - - .global _ZN6Course18func_ov00_0207d9b4Ei - arm_func_start _ZN6Course18func_ov00_0207d9b4Ei -_ZN6Course18func_ov00_0207d9b4Ei: ; 0x0207d9b4 - stmdb sp!, {r4, lr} - mov r4, r1 - bl _ZN6Course18func_ov00_0207da14Ev - mov r1, r4 - bl func_ov00_02097608 - ldmia sp!, {r4, pc} - arm_func_end _ZN6Course18func_ov00_0207d9b4Ei - - .global _ZN6Course18func_ov00_0207d9ccEi - arm_func_start _ZN6Course18func_ov00_0207d9ccEi -_ZN6Course18func_ov00_0207d9ccEi: ; 0x0207d9cc - ldrb r2, [r0, #0xb0] - mov ip, #0 - cmp r2, #0 - ble _0207da0c -_0207d9dc: - add r2, r0, ip, lsl #2 - ldr r3, [r2, #0xcc] - cmp r3, #0 - beq _0207d9fc - ldrb r2, [r3, #1] - cmp r1, r2 - moveq r0, r3 - bxeq lr -_0207d9fc: - ldrb r2, [r0, #0xb0] - add ip, ip, #1 - cmp ip, r2 - blt _0207d9dc -_0207da0c: - mov r0, #0 - bx lr - arm_func_end _ZN6Course18func_ov00_0207d9ccEi - - .global _ZN6Course18func_ov00_0207da14Ev - arm_func_start _ZN6Course18func_ov00_0207da14Ev -_ZN6Course18func_ov00_0207da14Ev: ; 0x0207da14 - ldrb r3, [r0, #0x1c] - mov r1, #0xa - ldrb r2, [r0, #0x1d] - mla r1, r3, r1, r0 - add r1, r1, r2 - ldr ip, _0207da34 ; =_ZN6Course18func_ov00_0207d9ccEi - ldrb r1, [r1, #0x20] - bx ip - .align 2, 0 - arm_func_end _ZN6Course18func_ov00_0207da14Ev -_0207da34: .word _ZN6Course18func_ov00_0207d9ccEi - - .global func_ov00_0207da38 - arm_func_start func_ov00_0207da38 -func_ov00_0207da38: ; 0x0207da38 - stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0207db0c ; =data_ov00_020e2348 - mov r4, r0 - str r1, [r4] - ldr r1, [r0] - ldr r1, [r1, #0x2c] - blx r1 - ldr r5, [r4, #0x144] - cmp r5, #0 - beq _0207da7c - beq _0207da74 - mov r0, r5 - blx func_ov04_0210dd90 - mov r0, r5 - bl _ZN9SysObjectdlEPv -_0207da74: - mov r0, #0 - str r0, [r4, #0x144] -_0207da7c: - ldr r0, _0207db10 ; =data_ov00_020ec81c - ldr r0, [r0, #4] - cmp r0, #0 - beq _0207dac0 - ldr r1, [r0] - ldr r1, [r1, #0xc] - blx r1 - ldr r0, _0207db10 ; =data_ov00_020ec81c - ldr r0, [r0, #4] - cmp r0, #0 - beq _0207dab4 - ldr r1, [r0] - ldr r1, [r1, #4] - blx r1 -_0207dab4: - ldr r0, _0207db10 ; =data_ov00_020ec81c - mov r1, #0 - str r1, [r0, #4] -_0207dac0: - mov r0, r4 - blx func_ov04_0210cb1c - ldr r3, _0207db14 ; =func_ov00_0207db18 - add r0, r4, #0x180 - mov r1, #2 - mov r2, #4 - bl func_0204f754 - add r0, r4, #0x130 - bl func_ov00_02080f20 - add r0, r4, #0x124 - bl func_ov00_020810e8 - add r0, r4, #0x118 - bl func_ov00_02081070 - add r0, r4, #0x10c - bl func_ov00_02080f20 - add r0, r4, #0x100 - bl func_ov00_02080ff8 - mov r0, r4 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0207da38 -_0207db0c: .word data_ov00_020e2348 -_0207db10: .word data_ov00_020ec81c -_0207db14: .word func_ov00_0207db18 - - .global func_ov00_0207db18 - arm_func_start func_ov00_0207db18 -func_ov00_0207db18: ; 0x0207db18 - bx lr - arm_func_end func_ov00_0207db18 - - .global func_ov00_0207db1c - arm_func_start func_ov00_0207db1c -func_ov00_0207db1c: ; 0x0207db1c - stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0207dbf8 ; =data_ov00_020e2348 - mov r4, r0 - str r1, [r4] - ldr r1, [r0] - ldr r1, [r1, #0x2c] - blx r1 - ldr r5, [r4, #0x144] - cmp r5, #0 - beq _0207db60 - beq _0207db58 - mov r0, r5 - blx func_ov04_0210dd90 - mov r0, r5 - bl _ZN9SysObjectdlEPv -_0207db58: - mov r0, #0 - str r0, [r4, #0x144] -_0207db60: - ldr r0, _0207dbfc ; =data_ov00_020ec81c - ldr r0, [r0, #4] - cmp r0, #0 - beq _0207dba4 - ldr r1, [r0] - ldr r1, [r1, #0xc] - blx r1 - ldr r0, _0207dbfc ; =data_ov00_020ec81c - ldr r0, [r0, #4] - cmp r0, #0 - beq _0207db98 - ldr r1, [r0] - ldr r1, [r1, #4] - blx r1 -_0207db98: - ldr r0, _0207dbfc ; =data_ov00_020ec81c - mov r1, #0 - str r1, [r0, #4] -_0207dba4: - mov r0, r4 - blx func_ov04_0210cb1c - ldr r3, _0207dc00 ; =func_ov00_0207db18 - add r0, r4, #0x180 - mov r1, #2 - mov r2, #4 - bl func_0204f754 - add r0, r4, #0x130 - bl func_ov00_02080f20 - add r0, r4, #0x124 - bl func_ov00_020810e8 - add r0, r4, #0x118 - bl func_ov00_02081070 - add r0, r4, #0x10c - bl func_ov00_02080f20 - add r0, r4, #0x100 - bl func_ov00_02080ff8 - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0207db1c -_0207dbf8: .word data_ov00_020e2348 -_0207dbfc: .word data_ov00_020ec81c -_0207dc00: .word func_ov00_0207db18 - - .global func_ov00_0207dc04 - arm_func_start func_ov00_0207dc04 -func_ov00_0207dc04: ; 0x0207dc04 - stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0207dcd8 ; =data_ov00_020e2348 - mov r4, r0 - str r1, [r4] - ldr r1, [r0] - ldr r1, [r1, #0x2c] - blx r1 - ldr r5, [r4, #0x144] - cmp r5, #0 - beq _0207dc48 - beq _0207dc40 - mov r0, r5 - blx func_ov04_0210dd90 - mov r0, r5 - bl _ZN9SysObjectdlEPv -_0207dc40: - mov r0, #0 - str r0, [r4, #0x144] -_0207dc48: - ldr r0, _0207dcdc ; =data_ov00_020ec81c - ldr r0, [r0, #4] - cmp r0, #0 - beq _0207dc8c - ldr r1, [r0] - ldr r1, [r1, #0xc] - blx r1 - ldr r0, _0207dcdc ; =data_ov00_020ec81c - ldr r0, [r0, #4] - cmp r0, #0 - beq _0207dc80 - ldr r1, [r0] - ldr r1, [r1, #4] - blx r1 -_0207dc80: - ldr r0, _0207dcdc ; =data_ov00_020ec81c - mov r1, #0 - str r1, [r0, #4] -_0207dc8c: - mov r0, r4 - blx func_ov04_0210cb1c - ldr r3, _0207dce0 ; =func_ov00_0207db18 - add r0, r4, #0x180 - mov r1, #2 - mov r2, #4 - bl func_0204f754 - add r0, r4, #0x130 - bl func_ov00_02080f20 - add r0, r4, #0x124 - bl func_ov00_020810e8 - add r0, r4, #0x118 - bl func_ov00_02081070 - add r0, r4, #0x10c - bl func_ov00_02080f20 - add r0, r4, #0x100 - bl func_ov00_02080ff8 - mov r0, r4 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0207dc04 -_0207dcd8: .word data_ov00_020e2348 -_0207dcdc: .word data_ov00_020ec81c -_0207dce0: .word func_ov00_0207db18 - - .global func_ov00_0207dce4 - arm_func_start func_ov00_0207dce4 -func_ov00_0207dce4: ; 0x0207dce4 - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0x2c - mov r4, r0 - ldrh r5, [r4, #0x28] - ldrh r3, [r4, #0x2a] - mov r0, r2 - mov r5, r5, lsl #0xc - mov r2, r3, lsl #0xc - str r5, [sp] - str r2, [sp, #4] - bl _ZN6Course18func_ov00_0207cbd8Ei - mov ip, r5 - add r5, sp, #0x20 - ldmia r0, {r0, r1, r2} - stmia r5, {r0, r1, r2} - ldr r1, [sp, #0x20] - ldr r3, [sp, #4] - ldr r2, [sp, #0x28] - ldr r0, [sp, #0x24] - sub r1, r1, ip, asr #1 - str r1, [r4, #0xdc] - str r0, [r4, #0xe0] - sub r1, r2, r3, asr #1 - str r1, [r4, #0xe4] - ldr r1, [sp, #0x20] - mov r5, r3, asr #0x1 - str r1, [r4, #0xd0] - ldr r1, [sp, #0x24] - add r3, r2, r3, asr #1 - str r1, [r4, #0xd4] - ldr r1, [sp, #0x28] - mov lr, ip, asr #0x1 - str r1, [r4, #0xd8] - ldr r2, [sp, #0x20] - rsb r1, lr, #0 - add r2, r2, ip, asr #1 - str r2, [r4, #0xe8] - str r0, [r4, #0xec] - str r3, [r4, #0xf0] - str r1, [r4, #0xf4] - mov r0, #0 - str r0, [r4, #0xf8] - rsb r0, r5, #0 - str r0, [r4, #0xfc] - add sp, sp, #0x2c - ldmia sp!, {r4, r5, pc} - arm_func_end func_ov00_0207dce4 - - .global func_ov00_0207dd9c - arm_func_start func_ov00_0207dd9c -func_ov00_0207dd9c: ; 0x0207dd9c - bx lr - arm_func_end func_ov00_0207dd9c - - .global func_ov00_0207dda0 - arm_func_start func_ov00_0207dda0 -func_ov00_0207dda0: ; 0x0207dda0 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #4 - ldr ip, _0207ddec ; =0x66666667 - mov r6, r1 - smull r0, r5, ip, r2 - mov r0, r3 - smull r1, r3, ip, r2 - mov r4, r2, lsr #0x1f - add r5, r4, r5, asr #2 - mov lr, #0xa - smull r1, ip, lr, r5 - sub r5, r2, r1 - ldr r1, _0207ddf0 ; =data_ov00_020e2410 - mov r2, r6 - add r3, r4, r3, asr #2 - str r5, [sp] - bl func_0200c8d0 - add sp, sp, #4 - ldmia sp!, {r3, r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0207dda0 -_0207ddec: .word 0x66666667 -_0207ddf0: .word data_ov00_020e2410 - - .global func_ov00_0207ddf4 - arm_func_start func_ov00_0207ddf4 -func_ov00_0207ddf4: ; 0x0207ddf4 - bx lr - arm_func_end func_ov00_0207ddf4 - - .global func_ov00_0207ddf8 - arm_func_start func_ov00_0207ddf8 -func_ov00_0207ddf8: ; 0x0207ddf8 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - mov r7, #0 - mov r10, r0 - mov r9, r1 - add r8, r10, #0x180 - mvn r5, #0 - mov r6, r7 - mov r4, r7 - mov r11, #4 -_0207de1c: - cmp r9, #0 - beq _0207de44 - mov r2, r6 - add r1, r10, r7, lsl #2 -_0207de2c: - add r0, r1, r2, lsl #2 - add r2, r2, #1 - str r5, [r0, #0x180] - cmp r2, #1 - blo _0207de2c - b _0207de54 -_0207de44: - mov r0, r4 - mov r1, r8 - mov r2, r11 - bl func_020078f4 -_0207de54: - add r7, r7, #1 - cmp r7, #2 - add r8, r8, #4 - blt _0207de1c - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end func_ov00_0207ddf8 - - .global func_ov00_0207de68 - arm_func_start func_ov00_0207de68 -func_ov00_0207de68: ; 0x0207de68 - stmdb sp!, {r3, lr} - ldr r0, [r0, #0x144] - mov r2, r1 - cmp r0, #0 - ldmeqia sp!, {r3, pc} - mov r1, #0 - bl func_ov00_0209c08c - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207de68 - - .global func_ov00_0207de88 - arm_func_start func_ov00_0207de88 -func_ov00_0207de88: ; 0x0207de88 - stmdb sp!, {r3, lr} - ldr r0, [r0, #0x144] - cmp r0, #0 - ldmeqia sp!, {r3, pc} - bl func_ov00_0209c61c - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207de88 - - .global func_ov00_0207dea0 - arm_func_start func_ov00_0207dea0 -func_ov00_0207dea0: ; 0x0207dea0 - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x10 - mov r5, r0 - ldr r2, _0207e044 ; =data_027e0f78 - ldr r0, [r5, #0x144] - mov r4, r1 - ldr r6, [r2] - bl func_ov00_0209c530 - ldrh r2, [r0, #4] - mov r0, r6 - mov r1, #0 - bl func_ov00_0209cc3c - ldr r1, _0207e044 ; =data_027e0f78 - ldr r0, [r5, #0x144] - ldr r6, [r1] - bl func_ov00_0209c530 - mov r1, r0 - ldrh r2, [r1, #6] - mov r0, r6 - mov r1, #1 - bl func_ov00_0209cc3c - ldr r1, _0207e044 ; =data_027e0f78 - ldr r0, [r5, #0x144] - ldr r6, [r1] - bl func_ov00_0209c530 - mov r1, r0 - ldrh r2, [r1, #8] - mov r0, r6 - mov r1, #2 - bl func_ov00_0209cc3c - ldr r1, _0207e044 ; =data_027e0f78 - ldr r0, [r5, #0x144] - ldr r6, [r1] - bl func_ov00_0209c530 - mov r1, r0 - ldrh r2, [r1, #0xa] - mov r0, r6 - mov r1, #3 - bl func_ov00_0209cc3c - ldr r0, _0207e044 ; =data_027e0f78 - ldr r0, [r0] - bl func_ov00_0209cc48 - ldr r1, _0207e048 ; =data_027e0f88 - ldr r0, [r5, #0x144] - ldr r6, [r1] - bl func_ov00_0209c530 - mov r1, r0 - ldrh r2, [r1, #0xc] - mov r0, r6 - mov r1, #0 - bl func_ov00_020a1a0c - cmp r4, #0 - beq _0207dff0 - ldr r0, [r5, #0x144] - ldr r1, _0207e04c ; =data_ov00_020ecde4 - ldr r2, [r0, #0xc] - mov r0, #0x68 - mla r0, r2, r0, r1 - add r0, r0, #0x54 - add r4, sp, #0 - ldmia r0, {r0, r1, r2, r3} - stmia r4, {r0, r1, r2, r3} - ldr r0, [sp] - cmp r0, #1 - blt _0207dfb4 - ldr r0, _0207e050 ; =data_ov00_020ee0a0 - mov r1, #1 - bl func_ov00_0209cd80 - b _0207dfc0 -_0207dfb4: - ldr r0, _0207e050 ; =data_ov00_020ee0a0 - mov r1, #0 - bl func_ov00_0209cd80 -_0207dfc0: - ldr r0, [r5, #0x144] - bl func_ov00_0209c530 - ldrh r1, [r0, #0xe] - ldr r2, [sp, #0xc] - ldr r0, _0207e050 ; =data_ov00_020ee0a0 - bl func_ov00_0209cd9c - ldr r1, [sp, #4] - ldr r0, _0207e050 ; =data_ov00_020ee0a0 - bl func_ov00_0209cddc - ldr r1, [sp, #8] - ldr r0, _0207e050 ; =data_ov00_020ee0a0 - bl func_ov00_0209cdf8 -_0207dff0: - ldr r0, _0207e054 ; =data_027e0d38 - ldr r0, [r0] - bl func_ov00_02078b40 - cmp r0, #2 - bne _0207e01c - ldr r0, [r5, #0x144] - bl func_ov00_0209c530 - ldr r1, _0207e058 ; =data_027e0e58 - ldrh r2, [r0, #0x10] - ldr r0, [r1] - strh r2, [r0, #0x22] -_0207e01c: - ldr r0, [r5, #0x144] - bl func_ov00_0209c530 - mov r1, r0 - ldr r0, _0207e05c ; =data_027e0f8c - add r1, r1, #0x12 - bl func_ov00_020a3de0 - ldr r0, [r5, #0x144] - bl func_ov00_0209c788 - add sp, sp, #0x10 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_0207dea0 -_0207e044: .word data_027e0f78 -_0207e048: .word data_027e0f88 -_0207e04c: .word data_ov00_020ecde4 -_0207e050: .word data_ov00_020ee0a0 -_0207e054: .word data_027e0d38 -_0207e058: .word data_027e0e58 -_0207e05c: .word data_027e0f8c - - .global func_ov00_0207e060 - arm_func_start func_ov00_0207e060 -func_ov00_0207e060: ; 0x0207e060 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r0, [r5, #0x13c] - mov r4, r2 - cmp r0, #0 - ldmeqia sp!, {r3, r4, r5, pc} - bl func_020196fc - ldr r0, [r5, #0x13c] - mov r1, r4 - bl func_020196bc - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207e060 - - .global func_ov00_0207e08c - arm_func_start func_ov00_0207e08c -func_ov00_0207e08c: ; 0x0207e08c - stmdb sp!, {r3, lr} - ldr r3, [r0, #0x13c] - cmp r3, #0 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - ldr r0, [r3, #8] - adds lr, r3, r0 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - ldrh r0, [lr, #0xa] - add ip, lr, #4 - cmp lr, #0 - ldrh r3, [ip, r0] - add r0, ip, r0 - mla r0, r3, r2, r0 - ldr r0, [r0, #4] - add r3, lr, r0 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - ldr r2, [r3, #0x14] - mov r0, #1 - str r2, [r1] - ldrh r2, [r3, #0x1c] - strh r2, [r1, #4] - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207e08c - - .global func_ov00_0207e0f0 - arm_func_start func_ov00_0207e0f0 -func_ov00_0207e0f0: ; 0x0207e0f0 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x14 - mov r10, r0 - ldr r2, [r10, #0x13c] - str r1, [sp] - cmp r2, #0 - addeq sp, sp, #0x14 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, [r2, #8] - adds r0, r2, r0 - str r0, [sp, #4] - addeq sp, sp, #0x14 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldrh r1, [r0] - adds r0, r0, r1 - str r0, [sp, #0xc] - addeq sp, sp, #0x14 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldrb r1, [r0, #1] - mov r0, #0 - str r0, [sp, #8] - cmp r1, #0 - bls _0207e280 - mov r7, r0 -_0207e15c: - ldr r0, [sp, #0xc] - ldr r1, [sp, #0xc] - ldrh r3, [r0, #6] - mov r0, r10 - ldr r2, [r0] - add r3, r1, r3 - ldrh r1, [r3, #2] - ldr r2, [r2, #0xb4] - add r4, r3, r1 - blx r2 - add r0, r0, #0x3c - add r1, r4, r7 - bl func_0201e24c - cmp r0, #0 - beq _0207e260 - ldr r0, [sp, #0xc] - mov r5, #0 - ldrh r2, [r0, #6] - ldrh r1, [r0, r2] - add r0, r0, r2 - add r2, r0, #4 - ldr r0, [sp, #8] - mul r0, r1, r0 - add r11, r2, r0 - ldrb r1, [r11, #2] - ldrh r0, [r2, r0] - cmp r1, #0 - str r0, [sp, #0x10] - ble _0207e260 -_0207e1d0: - ldr r1, [sp, #4] - ldr r0, [sp, #0x10] - ldrb r0, [r1, r0] - add r1, r0, r5 - ldr r0, [sp] - cmp r0, r1 - bne _0207e250 - mov r0, r10 - ldr r1, [r0] - ldr r1, [r1, #0xb4] - blx r1 - add r1, r0, #0x3c - ldrb r9, [r1, #1] - mov r6, #0 - cmp r9, #0 - ble _0207e250 - ldrh r0, [r1, #6] - add r8, r1, r0 -_0207e218: - ldrh r0, [r8, #2] - add r1, r4, r7 - add r0, r8, r0 - add r0, r0, r6, lsl #4 - bl strcmp - cmp r0, #0 - addeq sp, sp, #0x14 - moveq r0, r6 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - add r0, r6, #1 - mov r0, r0, lsl #0x10 - cmp r9, r0, lsr #16 - mov r6, r0, lsr #0x10 - bgt _0207e218 -_0207e250: - ldrb r0, [r11, #2] - add r5, r5, #1 - cmp r5, r0 - blt _0207e1d0 -_0207e260: - ldr r0, [sp, #0xc] - add r7, r7, #0x10 - ldrb r1, [r0, #1] - ldr r0, [sp, #8] - add r0, r0, #1 - str r0, [sp, #8] - cmp r0, r1 - blo _0207e15c -_0207e280: - mvn r0, #0 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end func_ov00_0207e0f0 - - .global func_ov00_0207e28c - arm_func_start func_ov00_0207e28c -func_ov00_0207e28c: ; 0x0207e28c - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x14 - mov r10, r0 - ldr r2, [r10, #0x13c] - str r1, [sp] - cmp r2, #0 - addeq sp, sp, #0x14 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, [r2, #8] - adds r0, r2, r0 - str r0, [sp, #4] - addeq sp, sp, #0x14 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldrh r1, [r0, #2] - adds r0, r0, r1 - str r0, [sp, #0xc] - addeq sp, sp, #0x14 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldrb r1, [r0, #1] - mov r0, #0 - str r0, [sp, #8] - cmp r1, #0 - bls _0207e438 - mov r7, r0 -_0207e2f8: - ldr r0, [sp, #0xc] - ldr r1, [sp, #0xc] - ldrh r3, [r0, #6] - mov r0, r10 - ldr r2, [r0] - add r3, r1, r3 - ldrh r1, [r3, #2] - ldr r2, [r2, #0xb4] - add r4, r3, r1 - blx r2 - ldrh r2, [r0, #0x34] - add r1, r4, r7 - add r0, r0, r2 - bl func_0201e24c - cmp r0, #0 - beq _0207e418 - ldr r0, [sp, #0xc] - mov r5, #0 - ldrh r2, [r0, #6] - ldrh r1, [r0, r2] - add r0, r0, r2 - add r2, r0, #4 - ldr r0, [sp, #8] - mul r0, r1, r0 - add r11, r2, r0 - ldrb r1, [r11, #2] - ldrh r0, [r2, r0] - cmp r1, #0 - str r0, [sp, #0x10] - ble _0207e418 -_0207e370: - ldr r1, [sp, #4] - ldr r0, [sp, #0x10] - ldrb r0, [r1, r0] - add r1, r0, r5 - ldr r0, [sp] - cmp r0, r1 - bne _0207e408 - mov r0, r10 - ldr r1, [r0] - ldr r1, [r1, #0xb4] - blx r1 - mov r8, r0 - mov r0, r10 - ldr r1, [r0] - ldr r1, [r1, #0xb4] - blx r1 - ldrh r0, [r0, #0x34] - mov r6, #0 - add r1, r8, r0 - ldrb r9, [r1, #1] - cmp r9, #0 - ble _0207e408 - ldrh r0, [r1, #6] - add r8, r1, r0 -_0207e3d0: - ldrh r0, [r8, #2] - add r1, r4, r7 - add r0, r8, r0 - add r0, r0, r6, lsl #4 - bl strcmp - cmp r0, #0 - addeq sp, sp, #0x14 - moveq r0, r6 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - add r0, r6, #1 - mov r0, r0, lsl #0x10 - cmp r9, r0, lsr #16 - mov r6, r0, lsr #0x10 - bgt _0207e3d0 -_0207e408: - ldrb r0, [r11, #2] - add r5, r5, #1 - cmp r5, r0 - blt _0207e370 -_0207e418: - ldr r0, [sp, #0xc] - add r7, r7, #0x10 - ldrb r1, [r0, #1] - ldr r0, [sp, #8] - add r0, r0, #1 - str r0, [sp, #8] - cmp r0, r1 - blo _0207e2f8 -_0207e438: - mvn r0, #0 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end func_ov00_0207e28c - - .global func_ov00_0207e444 - arm_func_start func_ov00_0207e444 -func_ov00_0207e444: ; 0x0207e444 - stmdb sp!, {r3, lr} - ldr r0, _0207e468 ; =data_ov00_020ec81c - ldr r0, [r0, #4] - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - ldr r0, [r0, #8] - bl func_0201e4cc - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_0207e444 -_0207e468: .word data_ov00_020ec81c - - .global func_ov00_0207e46c - arm_func_start func_ov00_0207e46c -func_ov00_0207e46c: ; 0x0207e46c - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_0207fe3c - ldr r0, [r4, #0x144] - mov r1, #0 - bl func_ov00_0209c8e4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207e46c - - .global func_ov00_0207e488 - arm_func_start func_ov00_0207e488 -func_ov00_0207e488: ; 0x0207e488 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207e488 - - .global func_ov00_0207e490 - arm_func_start func_ov00_0207e490 -func_ov00_0207e490: ; 0x0207e490 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207e490 - - .global func_ov00_0207e498 - arm_func_start func_ov00_0207e498 -func_ov00_0207e498: ; 0x0207e498 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207e498 - - .global func_ov00_0207e4a0 - arm_func_start func_ov00_0207e4a0 -func_ov00_0207e4a0: ; 0x0207e4a0 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207e4a0 - - .global func_ov00_0207e4a8 - arm_func_start func_ov00_0207e4a8 -func_ov00_0207e4a8: ; 0x0207e4a8 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207e4a8 - - .global func_ov00_0207e4b0 - arm_func_start func_ov00_0207e4b0 -func_ov00_0207e4b0: ; 0x0207e4b0 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207e4b0 - - .global func_ov00_0207e4b8 - arm_func_start func_ov00_0207e4b8 -func_ov00_0207e4b8: ; 0x0207e4b8 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x7c - ldr r3, _0207e92c ; =gMapManager - mov r9, r1 - ldr r1, [r3] - mov r8, r0 - mov r4, r2 - add r0, sp, #8 - mov r2, r9 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - mov r0, r8 - ldr r2, [r0] - add r1, sp, #8 - ldr r2, [r2, #0x54] - blx r2 - cmp r0, #0x1e - bgt _0207e570 - bge _0207e724 - cmp r0, #0x17 - bgt _0207e554 - bge _0207e724 - cmp r0, #9 - bgt _0207e548 - cmp r0, #0 - addge pc, pc, r0, lsl #2 - b _0207e63c -_0207e520: ; jump table - b _0207e63c ; case 0 - b _0207e724 ; case 1 - b _0207e724 ; case 2 - b _0207e724 ; case 3 - b _0207e724 ; case 4 - b _0207e63c ; case 5 - b _0207e63c ; case 6 - b _0207e63c ; case 7 - b _0207e724 ; case 8 - b _0207e724 ; case 9 -_0207e548: - cmp r0, #0x16 - beq _0207e724 - b _0207e63c -_0207e554: - cmp r0, #0x19 - bgt _0207e564 - beq _0207e724 - b _0207e63c -_0207e564: - cmp r0, #0x1d - beq _0207e724 - b _0207e63c -_0207e570: - cmp r0, #0x35 - bgt _0207e5c8 - bge _0207e5e4 - cmp r0, #0x29 - bgt _0207e5bc - subs r1, r0, #0x1f - addpl pc, pc, r1, lsl #2 - b _0207e63c -_0207e590: ; jump table - b _0207e724 ; case 0 - b _0207e63c ; case 1 - b _0207e63c ; case 2 - b _0207e63c ; case 3 - b _0207e63c ; case 4 - b _0207e63c ; case 5 - b _0207e63c ; case 6 - b _0207e63c ; case 7 - b _0207e724 ; case 8 - b _0207e724 ; case 9 - b _0207e724 ; case 10 -_0207e5bc: - cmp r0, #0x30 - beq _0207e724 - b _0207e63c -_0207e5c8: - cmp r0, #0x40 - bgt _0207e5d8 - beq _0207e724 - b _0207e63c -_0207e5d8: - cmp r0, #0x50 - beq _0207e724 - b _0207e63c -_0207e5e4: - cmp r4, #0 - beq _0207e724 - add r2, sp, #0x14 - mov r0, r8 - mov r1, r9 - bl func_ov00_0207f104 - cmp r0, #0 - ldrne r0, [sp, #0x14] - addne sp, sp, #0x7c - ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - add r2, sp, #0x14 - mov r0, r8 - mov r1, r9 - bl func_ov00_0207f1f4 - cmp r0, #0 - beq _0207e724 - ldr r0, [sp, #0x14] - ldr r1, [r9, #4] - cmp r1, r0 - blt _0207e724 - add sp, sp, #0x7c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0207e63c: - ldrb r0, [r8, #0xe] - cmp r0, #0 - bne _0207e724 - cmp r4, #0 - bne _0207e694 - mov r0, r8 - ldr r3, [r0] - add r1, sp, #8 - ldr r3, [r3, #0x58] - mov r2, #5 - blx r3 - cmp r0, #0 - ldreqb r0, [r8, #8] - cmpeq r0, #0 - bne _0207e724 - mov r0, r8 - ldr r2, [r0] - add r1, sp, #8 - ldr r2, [r2, #0x60] - blx r2 - add sp, sp, #0x7c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0207e694: - add r2, sp, #0x10 - mov r0, r8 - mov r1, r9 - bl func_ov00_0207f104 - cmp r0, #0 - ldrne r0, [sp, #0x10] - addne sp, sp, #0x7c - ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - add r2, sp, #0x10 - mov r0, r8 - mov r1, r9 - bl func_ov00_0207f1f4 - cmp r0, #0 - beq _0207e6e0 - ldr r0, [sp, #0x10] - ldr r1, [r9, #4] - cmp r1, r0 - addge sp, sp, #0x7c - ldmgeia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0207e6e0: - mov r0, r8 - ldr r3, [r0] - add r1, sp, #8 - ldr r3, [r3, #0x58] - mov r2, #5 - blx r3 - cmp r0, #0 - ldreqb r0, [r8, #8] - cmpeq r0, #0 - bne _0207e724 - mov r0, r8 - ldr r2, [r0] - add r1, sp, #8 - ldr r2, [r2, #0x60] - blx r2 - add sp, sp, #0x7c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0207e724: - mov r0, #0x20 - str r0, [sp] - mov r1, #0 - str r1, [sp, #4] - ldr r0, _0207e930 ; =data_027e0f6c - ldr r3, _0207e934 ; =data_ov00_020ec824 - ldr r0, [r0] - mov r1, r9 - mov r2, #2 - bl func_01fff084 - ldr r4, _0207e938 ; =func_ov00_0207e968 - mov r5, r0 - ldr r3, _0207e93c ; =func_ov00_0207e96c - add r0, sp, #0x48 - mov r1, #3 - mov r2, #0x10 - str r4, [sp] - mov r6, #0x2000 - bl func_0204f614 - mov r7, #0 - sub r0, r7, #0x10000 - add r4, sp, #0x18 - str r7, [sp, #0x24] - str r7, [sp, #0x2c] - str r0, [sp, #0x28] - ldmia r9, {r0, r1, r2} - stmia r4, {r0, r1, r2} - cmp r5, #0 - ble _0207e8a0 - ldr r10, _0207e934 ; =data_ov00_020ec824 - ldr r9, _0207e930 ; =data_027e0f6c - mov r11, #0x4c -_0207e7a4: - mov r0, r7, lsl #0x1 - ldrh r1, [r10, r0] - ldr r2, [r9] - add r0, sp, #0x30 - ldr r3, [r2, #0x20] - mul r2, r1, r11 - add ip, r3, r2 - ldrh lr, [r3, r2] - ldrh r3, [ip, #2] - mov r1, r4 - add r2, sp, #0x24 - strh r3, [sp, #0x32] - strh lr, [sp, #0x30] - ldrh lr, [ip, #4] - add r3, sp, #0xc - strh lr, [sp, #0x34] - ldrh lr, [ip, #6] - strh lr, [sp, #0x36] - ldr lr, [ip, #8] - str lr, [sp, #0x38] - ldr lr, [ip, #0xc] - str lr, [sp, #0x3c] - ldr lr, [ip, #0x10] - str lr, [sp, #0x40] - ldr lr, [ip, #0x14] - str lr, [sp, #0x44] - ldr lr, [ip, #0x18] - str lr, [sp, #0x48] - ldr lr, [ip, #0x1c] - str lr, [sp, #0x4c] - ldr lr, [ip, #0x20] - str lr, [sp, #0x50] - ldr lr, [ip, #0x24] - str lr, [sp, #0x54] - ldr lr, [ip, #0x28] - str lr, [sp, #0x58] - ldr lr, [ip, #0x2c] - str lr, [sp, #0x5c] - ldr lr, [ip, #0x30] - str lr, [sp, #0x60] - ldr lr, [ip, #0x34] - str lr, [sp, #0x64] - ldr lr, [ip, #0x38] - str lr, [sp, #0x68] - ldr lr, [ip, #0x3c] - str lr, [sp, #0x6c] - ldr lr, [ip, #0x40] - str lr, [sp, #0x70] - ldr lr, [ip, #0x44] - str lr, [sp, #0x74] - ldr ip, [ip, #0x48] - str ip, [sp, #0x78] - bl func_01ffe904 - cmp r0, #0 - beq _0207e88c - ldr r0, [sp, #0xc] - cmp r0, r6 - movlt r6, r0 -_0207e88c: - add r0, r7, #1 - mov r0, r0, lsl #0x10 - cmp r5, r0, lsr #16 - mov r7, r0, lsr #0x10 - bgt _0207e7a4 -_0207e8a0: - cmp r6, #0x1000 - bgt _0207e8f4 - mvn r1, #0 - mov r0, r1, lsl #0x10 - umull r3, r2, r6, r0 - mla r2, r6, r1, r2 - mov r1, r6, asr #0x1f - mla r2, r1, r0, r2 - adds r3, r3, #0x800 - adc r1, r2, #0 - mov r4, r3, lsr #0xc - orr r4, r4, r1, lsl #20 - ldr r3, _0207e938 ; =func_ov00_0207e968 - ldr r5, [sp, #0x1c] - add r0, sp, #0x48 - mov r1, #3 - mov r2, #0x10 - bl func_0204f754 - add sp, sp, #0x7c - add r0, r5, r4 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0207e8f4: - mov r0, r8 - ldr r2, [r0] - add r1, sp, #8 - ldr r2, [r2, #0x60] - blx r2 - mov r4, r0 - ldr r3, _0207e938 ; =func_ov00_0207e968 - add r0, sp, #0x48 - mov r1, #3 - mov r2, #0x10 - bl func_0204f754 - mov r0, r4 - add sp, sp, #0x7c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_0207e4b8 -_0207e92c: .word gMapManager -_0207e930: .word data_027e0f6c -_0207e934: .word data_ov00_020ec824 -_0207e938: .word func_ov00_0207e968 -_0207e93c: .word func_ov00_0207e96c - - .global func_ov00_0207e940 - arm_func_start func_ov00_0207e940 -func_ov00_0207e940: ; 0x0207e940 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r3, _0207e964 ; =func_ov00_0207e968 - add r0, r4, #0x18 - mov r1, #3 - mov r2, #0x10 - bl func_0204f754 - mov r0, r4 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0207e940 -_0207e964: .word func_ov00_0207e968 - - .global func_ov00_0207e968 - arm_func_start func_ov00_0207e968 -func_ov00_0207e968: ; 0x0207e968 - bx lr - arm_func_end func_ov00_0207e968 - - .global func_ov00_0207e96c - arm_func_start func_ov00_0207e96c -func_ov00_0207e96c: ; 0x0207e96c - bx lr - arm_func_end func_ov00_0207e96c - - .global func_ov00_0207e970 - arm_func_start func_ov00_0207e970 -func_ov00_0207e970: ; 0x0207e970 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0xc4 - ldr r4, _0207ee00 ; =gMapManager - mov r9, r1 - ldr r1, [r4] - mov r8, r0 - str r2, [sp, #8] - add r0, sp, #0xc - mov r2, r9 - mov r7, r3 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - mov r0, r8 - ldr r2, [r0] - add r1, sp, #0xc - ldr r2, [r2, #0x54] - blx r2 - cmp r0, #0x1e - bgt _0207ea2c - bge _0207eb04 - cmp r0, #0x17 - bgt _0207ea10 - bge _0207eb04 - cmp r0, #9 - bgt _0207ea04 - cmp r0, #0 - addge pc, pc, r0, lsl #2 - b _0207ea9c -_0207e9dc: ; jump table - b _0207ea9c ; case 0 - b _0207eb04 ; case 1 - b _0207eb04 ; case 2 - b _0207eb04 ; case 3 - b _0207eb04 ; case 4 - b _0207ea9c ; case 5 - b _0207ea9c ; case 6 - b _0207ea9c ; case 7 - b _0207eb04 ; case 8 - b _0207eb04 ; case 9 -_0207ea04: - cmp r0, #0x16 - beq _0207eb04 - b _0207ea9c -_0207ea10: - cmp r0, #0x19 - bgt _0207ea20 - beq _0207eb04 - b _0207ea9c -_0207ea20: - cmp r0, #0x1d - beq _0207eb04 - b _0207ea9c -_0207ea2c: - cmp r0, #0x35 - bgt _0207ea84 - bge _0207eb04 - cmp r0, #0x29 - bgt _0207ea78 - subs r1, r0, #0x1f - addpl pc, pc, r1, lsl #2 - b _0207ea9c -_0207ea4c: ; jump table - b _0207eb04 ; case 0 - b _0207ea9c ; case 1 - b _0207ea9c ; case 2 - b _0207ea9c ; case 3 - b _0207ea9c ; case 4 - b _0207ea9c ; case 5 - b _0207ea9c ; case 6 - b _0207ea9c ; case 7 - b _0207eb04 ; case 8 - b _0207eb04 ; case 9 - b _0207eb04 ; case 10 -_0207ea78: - cmp r0, #0x30 - beq _0207eb04 - b _0207ea9c -_0207ea84: - cmp r0, #0x40 - bgt _0207ea94 - beq _0207eb04 - b _0207ea9c -_0207ea94: - cmp r0, #0x50 - beq _0207eb04 -_0207ea9c: - ldrb r0, [r8, #0xe] - cmp r0, #0 - bne _0207eb04 - mov r0, r8 - ldr r3, [r0] - add r1, sp, #0xc - ldr r3, [r3, #0x58] - mov r2, #5 - blx r3 - cmp r0, #0 - ldreqb r0, [r8, #8] - cmpeq r0, #0 - bne _0207eb04 - mov r0, r8 - ldr r2, [r0] - add r1, sp, #0xc - ldr r2, [r2, #0x60] - blx r2 - ldr r1, [sp, #8] - add sp, sp, #0xc4 - str r0, [r1] - mov r1, #0 - str r1, [r7] - mov r0, #0x1000 - stmib r7, {r0, r1} - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0207eb04: - mov r0, #0x20 - str r0, [sp] - mov r1, #0 - str r1, [sp, #4] - ldr r0, _0207ee04 ; =data_027e0f6c - ldr r3, _0207ee08 ; =data_ov00_020ec864 - ldr r0, [r0] - mov r1, r9 - mov r2, #2 - bl func_01fff084 - ldr r5, _0207ee0c ; =func_ov00_0207e968 - mov r4, r0 - str r5, [sp] - ldr r3, _0207ee10 ; =func_ov00_0207e96c - add r0, sp, #0x90 - mov r1, #3 - mov r2, #0x10 - mov r5, #0x2000 - bl func_0204f614 - ldr r1, _0207ee0c ; =func_ov00_0207e968 - ldr r3, _0207ee10 ; =func_ov00_0207e96c - str r1, [sp] - add r0, sp, #0x44 - mov r1, #3 - mov r2, #0x10 - bl func_0204f614 - mov r6, #0 - sub r0, r6, #0x10000 - str r6, [sp, #0x20] - str r6, [sp, #0x28] - str r0, [sp, #0x24] - add r3, sp, #0x14 - ldmia r9, {r0, r1, r2} - cmp r4, #0 - stmia r3, {r0, r1, r2} - ble _0207ed48 - ldr r10, _0207ee08 ; =data_ov00_020ec864 - ldr r9, _0207ee04 ; =data_027e0f6c - mov r11, #0x4c -_0207eba0: - mov r0, r6, lsl #0x1 - ldrh r1, [r10, r0] - ldr r2, [r9] - add r0, sp, #0x78 - ldr r3, [r2, #0x20] - mul r2, r1, r11 - add ip, r3, r2 - ldrh lr, [r3, r2] - ldrh r3, [ip, #2] - add r1, sp, #0x14 - add r2, sp, #0x20 - strh r3, [sp, #0x7a] - strh lr, [sp, #0x78] - ldrh lr, [ip, #4] - add r3, sp, #0x10 - strh lr, [sp, #0x7c] - ldrh lr, [ip, #6] - strh lr, [sp, #0x7e] - ldr lr, [ip, #8] - str lr, [sp, #0x80] - ldr lr, [ip, #0xc] - str lr, [sp, #0x84] - ldr lr, [ip, #0x10] - str lr, [sp, #0x88] - ldr lr, [ip, #0x14] - str lr, [sp, #0x8c] - ldr lr, [ip, #0x18] - str lr, [sp, #0x90] - ldr lr, [ip, #0x1c] - str lr, [sp, #0x94] - ldr lr, [ip, #0x20] - str lr, [sp, #0x98] - ldr lr, [ip, #0x24] - str lr, [sp, #0x9c] - ldr lr, [ip, #0x28] - str lr, [sp, #0xa0] - ldr lr, [ip, #0x2c] - str lr, [sp, #0xa4] - ldr lr, [ip, #0x30] - str lr, [sp, #0xa8] - ldr lr, [ip, #0x34] - str lr, [sp, #0xac] - ldr lr, [ip, #0x38] - str lr, [sp, #0xb0] - ldr lr, [ip, #0x3c] - str lr, [sp, #0xb4] - ldr lr, [ip, #0x40] - str lr, [sp, #0xb8] - ldr lr, [ip, #0x44] - str lr, [sp, #0xbc] - ldr ip, [ip, #0x48] - str ip, [sp, #0xc0] - bl func_01ffe904 - cmp r0, #0 - beq _0207ed34 - ldr r1, [sp, #0x10] - cmp r1, r5 - bge _0207ed34 - ldrh r0, [sp, #0x78] - mov r5, r1 - ldrh r1, [sp, #0x7a] - strh r0, [sp, #0x2c] - ldrh r0, [sp, #0x7c] - strh r1, [sp, #0x2e] - ldrh r1, [sp, #0x7e] - strh r0, [sp, #0x30] - ldr r0, [sp, #0x80] - strh r1, [sp, #0x32] - str r0, [sp, #0x34] - ldr r1, [sp, #0x84] - ldr r0, [sp, #0x88] - str r1, [sp, #0x38] - str r0, [sp, #0x3c] - ldr r1, [sp, #0x8c] - ldr r0, [sp, #0x90] - str r1, [sp, #0x40] - str r0, [sp, #0x44] - ldr r1, [sp, #0x94] - ldr r0, [sp, #0x98] - str r1, [sp, #0x48] - str r0, [sp, #0x4c] - ldr r1, [sp, #0x9c] - ldr r0, [sp, #0xa0] - str r1, [sp, #0x50] - str r0, [sp, #0x54] - ldr r1, [sp, #0xa4] - ldr r0, [sp, #0xa8] - str r1, [sp, #0x58] - str r0, [sp, #0x5c] - ldr r1, [sp, #0xac] - ldr r0, [sp, #0xb0] - str r1, [sp, #0x60] - str r0, [sp, #0x64] - ldr r1, [sp, #0xb4] - ldr r0, [sp, #0xb8] - str r1, [sp, #0x68] - str r0, [sp, #0x6c] - ldr r1, [sp, #0xbc] - ldr r0, [sp, #0xc0] - str r1, [sp, #0x70] - str r0, [sp, #0x74] -_0207ed34: - add r0, r6, #1 - mov r0, r0, lsl #0x10 - cmp r4, r0, lsr #16 - mov r6, r0, lsr #0x10 - bgt _0207eba0 -_0207ed48: - cmp r5, #0x1000 - bgt _0207eda4 - mvn r1, #0 - mov r0, r1, lsl #0x10 - umull r3, r2, r5, r0 - mla r2, r5, r1, r2 - ldr r4, [sp, #0x34] - mov r1, r5, asr #0x1f - str r4, [r7] - ldr r4, [sp, #0x38] - mla r2, r1, r0, r2 - str r4, [r7, #4] - ldr r1, [sp, #0x3c] - adds r3, r3, #0x800 - str r1, [r7, #8] - adc r0, r2, #0 - mov r1, r3, lsr #0xc - orr r1, r1, r0, lsl #20 - ldr r2, [sp, #0x18] - ldr r0, [sp, #8] - add r1, r2, r1 - str r1, [r0] - b _0207edd0 -_0207eda4: - mov r0, r8 - ldr r2, [r0] - add r1, sp, #0xc - ldr r2, [r2, #0x60] - blx r2 - ldr r1, [sp, #8] - str r0, [r1] - mov r1, #0 - str r1, [r7] - mov r0, #0x1000 - stmib r7, {r0, r1} -_0207edd0: - ldr r3, _0207ee0c ; =func_ov00_0207e968 - add r0, sp, #0x44 - mov r1, #3 - mov r2, #0x10 - bl func_0204f754 - ldr r3, _0207ee0c ; =func_ov00_0207e968 - add r0, sp, #0x90 - mov r1, #3 - mov r2, #0x10 - bl func_0204f754 - add sp, sp, #0xc4 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_0207e970 -_0207ee00: .word gMapManager -_0207ee04: .word data_027e0f6c -_0207ee08: .word data_ov00_020ec864 -_0207ee0c: .word func_ov00_0207e968 -_0207ee10: .word func_ov00_0207e96c - - .global func_ov00_0207ee14 - arm_func_start func_ov00_0207ee14 -func_ov00_0207ee14: ; 0x0207ee14 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x74 - ldr r0, _0207efdc ; =gMapManager - mov r9, r1 - ldr r1, [r0] - add r0, sp, #8 - mov r2, r9 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - mov r0, #0x20 - str r0, [sp] - mov r1, #0 - str r1, [sp, #4] - ldr r0, _0207efe0 ; =data_027e0f6c - ldr r3, _0207efe4 ; =data_ov00_020ec8a4 - ldr r0, [r0] - mov r1, r9 - mov r2, #2 - bl func_01fff084 - ldr r1, _0207efe8 ; =func_ov00_0207e968 - mov r5, r0 - str r1, [sp] - ldr r3, _0207efec ; =func_ov00_0207e96c - add r0, sp, #0x40 - mov r1, #3 - mov r2, #0x10 - mov r6, #0x2000 - ldr r7, _0207eff0 ; =0x0000ffff - bl func_0204f614 - mov r8, #0 - sub r0, r8, #0x10000 - str r8, [sp, #0x1c] - str r8, [sp, #0x24] - str r0, [sp, #0x20] - add r4, sp, #0x10 - ldmia r9, {r0, r1, r2} - cmp r5, #0 - stmia r4, {r0, r1, r2} - ble _0207efbc - ldr r10, _0207efe4 ; =data_ov00_020ec8a4 - ldr r9, _0207efe0 ; =data_027e0f6c - mov r11, #0x4c -_0207eeb8: - mov r0, r8, lsl #0x1 - ldrh r1, [r10, r0] - ldr r2, [r9] - add r0, sp, #0x28 - ldr r3, [r2, #0x20] - mul r2, r1, r11 - add ip, r3, r2 - ldrh lr, [r3, r2] - ldrh r3, [ip, #2] - mov r1, r4 - add r2, sp, #0x1c - strh r3, [sp, #0x2a] - strh lr, [sp, #0x28] - ldrh lr, [ip, #4] - add r3, sp, #0xc - strh lr, [sp, #0x2c] - ldrh lr, [ip, #6] - strh lr, [sp, #0x2e] - ldr lr, [ip, #8] - str lr, [sp, #0x30] - ldr lr, [ip, #0xc] - str lr, [sp, #0x34] - ldr lr, [ip, #0x10] - str lr, [sp, #0x38] - ldr lr, [ip, #0x14] - str lr, [sp, #0x3c] - ldr lr, [ip, #0x18] - str lr, [sp, #0x40] - ldr lr, [ip, #0x1c] - str lr, [sp, #0x44] - ldr lr, [ip, #0x20] - str lr, [sp, #0x48] - ldr lr, [ip, #0x24] - str lr, [sp, #0x4c] - ldr lr, [ip, #0x28] - str lr, [sp, #0x50] - ldr lr, [ip, #0x2c] - str lr, [sp, #0x54] - ldr lr, [ip, #0x30] - str lr, [sp, #0x58] - ldr lr, [ip, #0x34] - str lr, [sp, #0x5c] - ldr lr, [ip, #0x38] - str lr, [sp, #0x60] - ldr lr, [ip, #0x3c] - str lr, [sp, #0x64] - ldr lr, [ip, #0x40] - str lr, [sp, #0x68] - ldr lr, [ip, #0x44] - str lr, [sp, #0x6c] - ldr ip, [ip, #0x48] - str ip, [sp, #0x70] - bl func_01ffe904 - cmp r0, #0 - beq _0207efa8 - ldr r1, [sp, #0xc] - cmp r1, r6 - movlt r0, r8, lsl #0x1 - ldrlth r7, [r10, r0] - movlt r6, r1 -_0207efa8: - add r0, r8, #1 - mov r0, r0, lsl #0x10 - cmp r5, r0, lsr #16 - mov r8, r0, lsr #0x10 - bgt _0207eeb8 -_0207efbc: - ldr r3, _0207efe8 ; =func_ov00_0207e968 - add r0, sp, #0x40 - mov r1, #3 - mov r2, #0x10 - bl func_0204f754 - mov r0, r7 - add sp, sp, #0x74 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end func_ov00_0207ee14 -_0207efdc: .word gMapManager -_0207efe0: .word data_027e0f6c -_0207efe4: .word data_ov00_020ec8a4 -_0207efe8: .word func_ov00_0207e968 -_0207efec: .word func_ov00_0207e96c -_0207eff0: .word 0x0000ffff - - .global func_ov00_0207eff4 - arm_func_start func_ov00_0207eff4 -func_ov00_0207eff4: ; 0x0207eff4 - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x24 - ldr r0, _0207f0f4 ; =gMapManager - mov r8, r1 - ldr r1, [r0] - add r0, sp, #8 - mov r2, r8 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - add r4, sp, #0xc - ldmia r8, {r0, r1, r2} - stmia r4, {r0, r1, r2} - add r3, sp, #0x18 - ldmia r8, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r4 - mov r1, #0x800 - bl func_ov00_0208ee00 - mov r0, #0x20 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - ldr r0, _0207f0f8 ; =data_027e0f6c - ldr r3, _0207f0fc ; =data_ov00_020ec8e4 - ldr r0, [r0] - mov r1, r4 - mov r2, #8 - bl func_01fff264 - mov r5, r0 - cmp r5, #0 - mov r6, #0 - ble _0207f0e8 - ldr r4, _0207f0fc ; =data_ov00_020ec8e4 - ldr r9, _0207f0f8 ; =data_027e0f6c -_0207f078: - mov r0, r6, lsl #0x1 - ldr r1, [r9] - ldrh r0, [r4, r0] - ldr r1, [r1, #0x40] - ldr r7, [r1, r0, lsl #2] - cmp r7, #0 - ldrneb r0, [r7, #4] - cmpne r0, #0 - ldrneb r0, [r7, #5] - cmpne r0, #0 - beq _0207f0dc - ldr r0, [r7, #0xc] - ands r0, r0, #0x1f - cmpne r0, #1 - cmpne r0, #2 - beq _0207f0dc - mov r0, r7 - ldr r2, [r0] - mov r1, r8 - ldr r2, [r2, #0x48] - blx r2 - cmp r0, #0 - addne sp, sp, #0x24 - movne r0, r7 - ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} -_0207f0dc: - add r6, r6, #1 - cmp r6, r5 - blt _0207f078 -_0207f0e8: - mov r0, #0 - add sp, sp, #0x24 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} - .align 2, 0 - arm_func_end func_ov00_0207eff4 -_0207f0f4: .word gMapManager -_0207f0f8: .word data_027e0f6c -_0207f0fc: .word data_ov00_020ec8e4 - - .global func_ov00_0207f100 - arm_func_start func_ov00_0207f100 -func_ov00_0207f100: ; 0x0207f100 - bx lr - arm_func_end func_ov00_0207f100 - - .global func_ov00_0207f104 - arm_func_start func_ov00_0207f104 -func_ov00_0207f104: ; 0x0207f104 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r3, _0207f1f0 ; =gMapManager - mov r5, r1 - ldr r1, [r3] - mov r6, r0 - mov r4, r2 - add r0, sp, #0 - mov r2, r5 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - mov r0, r6 - ldr r2, [r0] - add r1, sp, #0 - ldr r2, [r2, #0x78] - blx r2 - movs r7, r0 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - ldr r1, [r0] - ldr r1, [r1, #0x58] - blx r1 - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - mov r0, r7 - ldr r1, [r0] - ldr r1, [r1, #0x54] - blx r1 - cmp r0, #0 - moveq r0, #0 - ldrneb r0, [r0, #5] - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - mov r0, r7 - mov r1, r5 - bl func_ov00_0208b79c - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - mov r0, r7 - ldr r1, [r0] - ldr r1, [r1, #0x54] - blx r1 - cmp r0, #0 - moveq r5, #0 - beq _0207f1cc - ldr r1, [r0] - ldr r1, [r1, #0x44] - blx r1 - mov r5, r0 -_0207f1cc: - mov r0, r6 - ldr r2, [r0] - add r1, sp, #0 - ldr r2, [r2, #0x60] - blx r2 - add r0, r0, r5 - str r0, [r4] - mov r0, #1 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end func_ov00_0207f104 -_0207f1f0: .word gMapManager - - .global func_ov00_0207f1f4 - arm_func_start func_ov00_0207f1f4 -func_ov00_0207f1f4: ; 0x0207f1f4 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} - sub sp, sp, #0x3c - ldr r0, _0207f318 ; =gMapManager - mov r9, r1 - ldr r1, [r0] - mov r8, r2 - add r0, sp, #8 - mov r2, r9 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - add r4, sp, #0x24 - ldmia r9, {r0, r1, r2} - stmia r4, {r0, r1, r2} - add r3, sp, #0x30 - ldmia r9, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r4 - mov r1, #0x800 - bl func_ov00_0208ee00 - mov r0, #0x20 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - ldr r0, _0207f31c ; =data_027e0f6c - ldr r3, _0207f320 ; =data_ov00_020ec924 - ldr r0, [r0] - mov r1, r4 - mov r2, #8 - bl func_01fff264 - mov r5, r0 - cmp r5, #0 - mov r6, #0 - ble _0207f30c - ldr r4, _0207f320 ; =data_ov00_020ec924 - ldr r10, _0207f31c ; =data_027e0f6c -_0207f27c: - mov r0, r6, lsl #0x1 - ldr r1, [r10] - ldrh r0, [r4, r0] - ldr r1, [r1, #0x40] - ldr r7, [r1, r0, lsl #2] - cmp r7, #0 - ldrneb r0, [r7, #4] - cmpne r0, #0 - ldrneb r0, [r7, #5] - cmpne r0, #0 - beq _0207f300 - ldr r0, [r7, #0xc] - ands r0, r0, #0x1f - cmpne r0, #1 - cmpne r0, #2 - beq _0207f300 - mov r0, r7 - ldr r2, [r0] - mov r1, r9 - ldr r2, [r2, #0x48] - blx r2 - cmp r0, #0 - beq _0207f300 - mov r0, r7 - ldr r2, [r0] - add r1, sp, #0xc - ldr r2, [r2, #0x2c] - blx r2 - ldr r1, [sp, #0x1c] - add sp, sp, #0x3c - mov r0, #1 - str r1, [r8] - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} -_0207f300: - add r6, r6, #1 - cmp r6, r5 - blt _0207f27c -_0207f30c: - mov r0, #0 - add sp, sp, #0x3c - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} - .align 2, 0 - arm_func_end func_ov00_0207f1f4 -_0207f318: .word gMapManager -_0207f31c: .word data_027e0f6c -_0207f320: .word data_ov00_020ec924 - - .global func_ov00_0207f324 - arm_func_start func_ov00_0207f324 -func_ov00_0207f324: ; 0x0207f324 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207f324 - - .global func_ov00_0207f32c - arm_func_start func_ov00_0207f32c -func_ov00_0207f32c: ; 0x0207f32c - mov r0, #0 - bx lr - arm_func_end func_ov00_0207f32c - - .global func_ov00_0207f334 - arm_func_start func_ov00_0207f334 -func_ov00_0207f334: ; 0x0207f334 - bx lr - arm_func_end func_ov00_0207f334 - - .global func_ov00_0207f338 - arm_func_start func_ov00_0207f338 -func_ov00_0207f338: ; 0x0207f338 - bx lr - arm_func_end func_ov00_0207f338 - - .global func_ov00_0207f33c - arm_func_start func_ov00_0207f33c -func_ov00_0207f33c: ; 0x0207f33c - mov r0, #0 - bx lr - arm_func_end func_ov00_0207f33c - - .global func_ov00_0207f344 - arm_func_start func_ov00_0207f344 -func_ov00_0207f344: ; 0x0207f344 - bx lr - arm_func_end func_ov00_0207f344 - - .global func_ov00_0207f348 - arm_func_start func_ov00_0207f348 -func_ov00_0207f348: ; 0x0207f348 - bx lr - arm_func_end func_ov00_0207f348 - - .global func_ov00_0207f34c - arm_func_start func_ov00_0207f34c -func_ov00_0207f34c: ; 0x0207f34c - mov r0, #0 - bx lr - arm_func_end func_ov00_0207f34c - - .global func_ov00_0207f354 - arm_func_start func_ov00_0207f354 -func_ov00_0207f354: ; 0x0207f354 - mov r0, #1 - bx lr - arm_func_end func_ov00_0207f354 - - .global func_ov00_0207f35c - arm_func_start func_ov00_0207f35c -func_ov00_0207f35c: ; 0x0207f35c - mov r0, #1 - bx lr - arm_func_end func_ov00_0207f35c - - .global func_ov00_0207f364 - arm_func_start func_ov00_0207f364 -func_ov00_0207f364: ; 0x0207f364 - stmdb sp!, {r3, lr} - ldrb r3, [r1, #0x15] - ldrb r2, [r1, #0x14] - add r1, sp, #0 - strb r3, [sp, #1] - strb r2, [sp] - ldr r2, [r0] - ldr r2, [r2, #0x80] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207f364 - - .global func_ov00_0207f38c - arm_func_start func_ov00_0207f38c -func_ov00_0207f38c: ; 0x0207f38c - stmdb sp!, {r4, lr} - ldr r2, [r0] - mov r4, r1 - ldr r2, [r2, #0x84] - blx r2 - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r4, pc} - ldr r0, _0207f3c0 ; =data_027e0f68 - mov r1, r4 - ldr r0, [r0] - bl func_ov00_0208d820 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_0207f38c -_0207f3c0: .word data_027e0f68 - - .global func_ov00_0207f3c4 - arm_func_start func_ov00_0207f3c4 -func_ov00_0207f3c4: ; 0x0207f3c4 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r3, [r0] - mov r6, r0 - ldr r3, [r3, #0x54] - mov r5, r1 - mov r4, r2 - blx r3 - mov r7, r0 - cmp r7, r4 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - mov r0, r6 - ldr r3, [r0] - mov r1, r5 - ldr r3, [r3, #0xbc] - mov r2, r4 - blx r3 - mov r0, r6 - ldr r2, [r0] - mov r1, r5 - ldr r2, [r2, #0x5c] - blx r2 - mov r1, r0 - cmp r4, #0x14 - bne _0207f448 - mov r0, r6 - ldr r3, [r0] - sub r1, r1, #3 - mov r2, r1, lsl #0x18 - ldr r3, [r3, #0xc0] - mov r1, r5 - mov r2, r2, asr #0x18 - blx r3 - b _0207f470 -_0207f448: - cmp r7, #0x14 - bne _0207f470 - mov r0, r6 - ldr r3, [r0] - add r1, r1, #3 - mov r2, r1, lsl #0x18 - ldr r3, [r3, #0xc0] - mov r1, r5 - mov r2, r2, asr #0x18 - blx r3 -_0207f470: - mov r0, r6 - ldr r2, [r0] - mov r1, r5 - ldr r2, [r2, #0x78] - blx r2 - cmp r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0x44] - blx r2 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0207f3c4 - - .global func_ov00_0207f4a0 - arm_func_start func_ov00_0207f4a0 -func_ov00_0207f4a0: ; 0x0207f4a0 - bx lr - arm_func_end func_ov00_0207f4a0 - - .global func_ov00_0207f4a4 - arm_func_start func_ov00_0207f4a4 -func_ov00_0207f4a4: ; 0x0207f4a4 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - ldrsh r3, [r1, #2] - ldrsh r4, [r1] - add r3, r3, r3, lsr #31 - add ip, r4, r4, lsr #31 - mov r4, r3, asr #0x1 - mov r3, ip, asr #0x1 - strb r3, [sp] - strb r4, [sp, #1] - ldrsh r4, [r1] - ldrsh ip, [r1, #2] - mov r3, r4, lsr #0x1f - mov lr, ip, lsr #0x1f - rsb r1, r3, r4, lsl #31 - rsb ip, lr, ip, lsl #31 - adds r1, r3, r1, ror #31 - add r3, lr, ip, ror #31 - cmpeq r3, #0 - moveq r2, #0 - beq _0207f524 - cmp r1, #1 - cmpeq r3, #0 - moveq r2, #1 - beq _0207f524 - cmp r1, #1 - cmpeq r3, #1 - moveq r2, #3 - beq _0207f524 - cmp r1, #0 - cmpeq r3, #1 - moveq r2, #2 -_0207f524: - ldr r3, [r0] - add r1, sp, #0 - ldr r3, [r3, #0x58] - blx r3 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_0207f4a4 - - .global func_ov00_0207f53c - arm_func_start func_ov00_0207f53c -func_ov00_0207f53c: ; 0x0207f53c - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r0, #0 - strh r0, [r5] - mov r4, r2 - strh r0, [r5, #2] - ldr r0, [r4] - mov r1, #0x800 - bl Divide - add r0, r0, #0x800 - mov r0, r0, asr #0xc - strh r0, [r5] - ldr r0, [r4, #8] - mov r1, #0x800 - bl Divide - add r0, r0, #0x800 - mov r0, r0, asr #0xc - strh r0, [r5, #2] - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207f53c - - .global func_ov00_0207f588 - arm_func_start func_ov00_0207f588 -func_ov00_0207f588: ; 0x0207f588 - mov r1, #0 - strh r1, [r0] - strh r1, [r0, #2] - cmp r3, #3 - addls pc, pc, r3, lsl #2 - bx lr -_0207f5a0: ; jump table - b _0207f5b0 ; case 0 - b _0207f5cc ; case 1 - b _0207f5ec ; case 2 - b _0207f60c ; case 3 -_0207f5b0: - ldrb r1, [r2] - mov r1, r1, lsl #0x1 - strh r1, [r0] - ldrb r1, [r2, #1] - mov r1, r1, lsl #0x1 - strh r1, [r0, #2] - bx lr -_0207f5cc: - ldrb r1, [r2] - mov r1, r1, lsl #0x1 - add r1, r1, #1 - strh r1, [r0] - ldrb r1, [r2, #1] - mov r1, r1, lsl #0x1 - strh r1, [r0, #2] - bx lr -_0207f5ec: - ldrb r1, [r2] - mov r1, r1, lsl #0x1 - strh r1, [r0] - ldrb r1, [r2, #1] - mov r1, r1, lsl #0x1 - add r1, r1, #1 - strh r1, [r0, #2] - bx lr -_0207f60c: - ldrb r1, [r2] - mov r1, r1, lsl #0x1 - add r1, r1, #1 - strh r1, [r0] - ldrb r1, [r2, #1] - mov r1, r1, lsl #0x1 - add r1, r1, #1 - strh r1, [r0, #2] - bx lr - arm_func_end func_ov00_0207f588 - - .global func_ov00_0207f630 - arm_func_start func_ov00_0207f630 -func_ov00_0207f630: ; 0x0207f630 - stmdb sp!, {r4, lr} - ldrsh r3, [r1, #2] - ldrsh r1, [r1] - mov r0, #0x800 - mov lr, r3, lsl #0xc - mov ip, lr, asr #0x1f - mov r3, r1, lsl #0xc - mov ip, ip, lsl #0xb - mov r1, r3, asr #0x1f - mov r1, r1, lsl #0xb - adds r4, r0, lr, lsl #11 - orr ip, ip, lr, lsr #21 - adc lr, ip, #0 - adds ip, r0, r3, lsl #11 - orr r1, r1, r3, lsr #21 - mov r3, r4, lsr #0xc - adc r0, r1, #0 - mov r1, ip, lsr #0xc - orr r1, r1, r0, lsl #20 - str r1, [r2] - mov r0, #0 - str r0, [r2, #4] - orr r3, r3, lr, lsl #20 - str r3, [r2, #8] - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207f630 - - .global func_ov00_0207f694 - arm_func_start func_ov00_0207f694 -func_ov00_0207f694: ; 0x0207f694 - ldr r0, [r0, #0xf4] - add r0, r0, r1, lsl #12 - bx lr - arm_func_end func_ov00_0207f694 - - .global func_ov00_0207f6a0 - arm_func_start func_ov00_0207f6a0 -func_ov00_0207f6a0: ; 0x0207f6a0 - ldr r0, [r0, #0xfc] - add r0, r0, r1, lsl #12 - bx lr - arm_func_end func_ov00_0207f6a0 - - .global func_ov00_0207f6ac - arm_func_start func_ov00_0207f6ac -func_ov00_0207f6ac: ; 0x0207f6ac - stmdb sp!, {r3, lr} - bl func_ov00_0207f694 - add r0, r0, #0x1000 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207f6ac - - .global func_ov00_0207f6bc - arm_func_start func_ov00_0207f6bc -func_ov00_0207f6bc: ; 0x0207f6bc - stmdb sp!, {r3, lr} - bl func_ov00_0207f6a0 - add r0, r0, #0x1000 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207f6bc - - .global func_ov00_0207f6cc - arm_func_start func_ov00_0207f6cc -func_ov00_0207f6cc: ; 0x0207f6cc - stmdb sp!, {r3, r4, r5, r6, r7, lr} - sub sp, sp, #0x18 - mov r7, r1 - ldrb r1, [r7] - mov r6, r0 - mov r5, r2 - bl func_ov00_0207f694 - ldrb r1, [r7, #1] - mov r0, r6 - bl func_ov00_0207f6a0 - mov r4, r0 - ldrb r1, [r7] - mov r0, r6 - bl func_ov00_0207f694 - ldr r2, _0207f774 ; =0xffffeccd - str r0, [sp, #0xc] - ldrb r1, [r7, #1] - mov r0, r6 - str r2, [sp, #0x10] - str r4, [sp, #0x14] - bl func_ov00_0207f6bc - mov r4, r0 - mov r0, r6 - mov r1, r7 - ldr r2, [r0] - ldr r2, [r2, #0x60] - blx r2 - ldrb r1, [r7] - mov r7, r0 - mov r0, r6 - bl func_ov00_0207f6ac - ldr r2, [sp, #0xc] - ldr r1, [sp, #0x10] - str r2, [r5] - str r1, [r5, #4] - ldr r1, [sp, #0x14] - str r1, [r5, #8] - str r0, [r5, #0xc] - str r7, [r5, #0x10] - str r4, [r5, #0x14] - add sp, sp, #0x18 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end func_ov00_0207f6cc -_0207f774: .word 0xffffeccd - - .global func_ov00_0207f778 - arm_func_start func_ov00_0207f778 -func_ov00_0207f778: ; 0x0207f778 - ldr r2, [r0, #0xf4] - ldrh r0, [r0, #0x28] - sub r1, r1, r2 - movs r1, r1, asr #0xc - movmi r1, #0 - sub r0, r0, #1 - cmp r1, r0 - movge r1, r0 - mov r0, r1 - bx lr - arm_func_end func_ov00_0207f778 - - .global func_ov00_0207f7a0 - arm_func_start func_ov00_0207f7a0 -func_ov00_0207f7a0: ; 0x0207f7a0 - ldr r2, [r0, #0xfc] - ldrh r0, [r0, #0x2a] - sub r1, r1, r2 - movs r1, r1, asr #0xc - movmi r1, #0 - sub r0, r0, #1 - cmp r1, r0 - movge r1, r0 - mov r0, r1 - bx lr - arm_func_end func_ov00_0207f7a0 - - .global func_ov00_0207f7c8 - arm_func_start func_ov00_0207f7c8 -func_ov00_0207f7c8: ; 0x0207f7c8 - ldr r0, [r0, #0xf4] - sub r0, r1, r0 - mov r0, r0, asr #0xc - bx lr - arm_func_end func_ov00_0207f7c8 - - .global func_ov00_0207f7d8 - arm_func_start func_ov00_0207f7d8 -func_ov00_0207f7d8: ; 0x0207f7d8 - ldr r0, [r0, #0xfc] - sub r0, r1, r0 - mov r0, r0, asr #0xc - bx lr - arm_func_end func_ov00_0207f7d8 - - .global func_ov00_0207f7e8 - arm_func_start func_ov00_0207f7e8 -func_ov00_0207f7e8: ; 0x0207f7e8 - stmdb sp!, {r4, r5, r6, lr} - mov r5, r1 - ldr r1, [r5] - mov r6, r0 - bl func_ov00_0207f7c8 - mov r4, r0 - ldr r1, [r5, #8] - mov r0, r6 - bl func_ov00_0207f7d8 - cmp r4, #0 - blt _0207f834 - ldrh r1, [r6, #0x28] - cmp r4, r1 - bge _0207f834 - cmp r0, #0 - blt _0207f834 - ldrh r1, [r6, #0x2a] - cmp r0, r1 - blt _0207f83c -_0207f834: - mov r0, #0 - ldmia sp!, {r4, r5, r6, pc} -_0207f83c: - mov r0, #1 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_0207f7e8 - - .global func_ov00_0207f844 - arm_func_start func_ov00_0207f844 -func_ov00_0207f844: ; 0x0207f844 - stmdb sp!, {r3, lr} - mov lr, #0 - strb lr, [sp, #1] - ldr ip, [r0, #0x104] - ldr r2, [r0, #0x108] - mov r3, r1 - cmp ip, r2 - bhs _0207f8a0 - add r1, ip, #1 - str r1, [r0, #0x104] - ldr r2, [r0, #0x100] - sub r1, r1, #1 - mov r0, #0x14 - mla ip, r1, r0, r2 - ldmia r3, {r0, r1, r2} - stmia ip, {r0, r1, r2} - ldrsh r0, [r3, #0xc] - strh r0, [ip, #0xc] - ldrb r0, [r3, #0xe] - strb r0, [ip, #0xe] - ldr r0, [r3, #0x10] - str r0, [ip, #0x10] - ldmia sp!, {r3, pc} -_0207f8a0: - strb lr, [sp] - sub r3, sp, #4 - and r2, lr, #0xff - strb r2, [r3] - ldr r2, [r3] - add r0, r0, #0x100 - bl func_ov00_02081040 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207f844 - - .global func_ov00_0207f8c0 - arm_func_start func_ov00_0207f8c0 -func_ov00_0207f8c0: ; 0x0207f8c0 - sub sp, sp, #0x18 - ldr r3, [r0, #0x100] - ldr r2, [r0, #0x104] - mov r0, #0x14 - mla ip, r2, r0, r3 - str r1, [sp, #0xc] - str r1, [sp] - str ip, [sp, #0x10] - str ip, [sp, #4] - str r3, [sp, #0x14] - str r3, [sp, #8] - mov r2, r3 - b _0207f8fc -_0207f8f4: - add r2, r2, #0x14 - str r2, [sp, #8] -_0207f8fc: - cmp r2, ip - ldrneb r0, [r2, #0xe] - cmpne r1, r0 - bne _0207f8f4 - ldr r0, [sp, #8] - cmp r0, ip - moveq r0, r3 - ldrne r0, [sp, #8] - add sp, sp, #0x18 - bx lr - arm_func_end func_ov00_0207f8c0 - - .global func_ov00_0207f924 - arm_func_start func_ov00_0207f924 -func_ov00_0207f924: ; 0x0207f924 - add r1, r0, r1 - ldrb r0, [r1, #0x18] - strb r0, [r1, #0x16] - bx lr - arm_func_end func_ov00_0207f924 - - .global func_ov00_0207f934 - arm_func_start func_ov00_0207f934 -func_ov00_0207f934: ; 0x0207f934 - ldr r0, [r0, #0x140] - cmp r0, #0 - moveq r0, #0 - ldrne r0, [r0, #0x60] - bx lr - arm_func_end func_ov00_0207f934 - - .global func_ov00_0207f948 - arm_func_start func_ov00_0207f948 -func_ov00_0207f948: ; 0x0207f948 - ldr r0, [r0, #0x140] - cmp r0, #0 - strne r1, [r0, #0x60] - bx lr - arm_func_end func_ov00_0207f948 - - .global func_ov00_0207f958 - arm_func_start func_ov00_0207f958 -func_ov00_0207f958: ; 0x0207f958 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #8 - mov r2, #0 - str r2, [sp, #4] - mov r4, r1 - ldrb r1, [r4, #5] - mov r5, r0 - mov r2, #4 - cmp r1, #0 - beq _0207f9a8 - ldr r1, _0207faa4 ; =data_027e0ce0 - mov r0, #0x5c - ldr r1, [r1, #4] - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _0207f9a0 - mov r1, r4 - bl func_ov00_02095d58 -_0207f9a0: - str r0, [sp, #4] - b _0207fa34 -_0207f9a8: - ldrb r0, [r4, #9] - cmp r0, #1 - bne _0207f9dc - ldr r1, _0207faa4 ; =data_027e0ce0 - mov r0, #0xe0 - ldr r1, [r1, #4] - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _0207f9d4 - mov r1, r4 - bl func_ov00_0209581c -_0207f9d4: - str r0, [sp, #4] - b _0207fa34 -_0207f9dc: - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _0207fa10 - ldr r1, _0207faa4 ; =data_027e0ce0 - mov r0, #0x28 - ldr r1, [r1, #4] - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _0207fa08 - mov r1, r4 - bl func_ov00_0209564c -_0207fa08: - str r0, [sp, #4] - b _0207fa34 -_0207fa10: - ldr r1, _0207faa4 ; =data_027e0ce0 - mov r0, #0x2c - ldr r1, [r1, #4] - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _0207fa30 - mov r1, r4 - bl func_ov00_02095554 -_0207fa30: - str r0, [sp, #4] -_0207fa34: - ldr r0, [sp, #4] - ldr r1, [r0] - ldr r1, [r1, #8] - blx r1 - mov r2, #0 - strb r2, [sp, #1] - ldr r1, [r5, #0x110] - ldr r0, [r5, #0x114] - cmp r1, r0 - bhs _0207fa7c - add r0, r1, #1 - str r0, [r5, #0x110] - ldr r2, [sp, #4] - ldr r1, [r5, #0x10c] - sub r0, r0, #1 - str r2, [r1, r0, lsl #2] - add sp, sp, #8 - ldmia sp!, {r3, r4, r5, pc} -_0207fa7c: - strb r2, [sp] - sub r1, sp, #4 - and r0, r2, #0xff - strb r0, [r1] - ldr r2, [r1] - add r1, sp, #4 - add r0, r5, #0x10c - bl func_ov00_02080f64 - add sp, sp, #8 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_0207f958 -_0207faa4: .word data_027e0ce0 - - .global func_ov00_0207faa8 - arm_func_start func_ov00_0207faa8 -func_ov00_0207faa8: ; 0x0207faa8 - bx lr - arm_func_end func_ov00_0207faa8 - - .global func_ov00_0207faac - arm_func_start func_ov00_0207faac -func_ov00_0207faac: ; 0x0207faac - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x18 - mov r9, r0 - ldr r6, [r9, #0x10c] - ldr r0, [r9, #0x110] - mov r8, r1 - add r0, r6, r0, lsl #2 - mov r7, r2 - cmp r6, r0 - mov r5, #0 - beq _0207fb50 - add r4, sp, #0 -_0207fadc: - ldr r0, [r6] - ldrb r1, [r0, #5] - cmp r8, r1 - bne _0207fb38 - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0x18] - blx r2 - cmp r0, #0 - beq _0207fb38 - ldr r0, [sp] - add r5, r5, #1 - str r0, [r7] - ldr r0, [sp, #4] - str r0, [r7, #4] - ldr r0, [sp, #8] - str r0, [r7, #8] - ldr r0, [sp, #0xc] - str r0, [r7, #0xc] - ldr r0, [sp, #0x10] - str r0, [r7, #0x10] - ldr r0, [sp, #0x14] - str r0, [r7, #0x14] -_0207fb38: - ldr r1, [r9, #0x10c] - ldr r0, [r9, #0x110] - add r6, r6, #4 - add r0, r1, r0, lsl #2 - cmp r6, r0 - bne _0207fadc -_0207fb50: - mov r0, r5 - add sp, sp, #0x18 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - arm_func_end func_ov00_0207faac - - .global func_ov00_0207fb5c - arm_func_start func_ov00_0207fb5c -func_ov00_0207fb5c: ; 0x0207fb5c - mov r0, #0 - bx lr - arm_func_end func_ov00_0207fb5c - - .global func_ov00_0207fb64 - arm_func_start func_ov00_0207fb64 -func_ov00_0207fb64: ; 0x0207fb64 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} - sub sp, sp, #0x18 - mov r10, r0 - ldr r6, [r10, #0x10c] - ldr r0, [r10, #0x110] - mov r9, r1 - add r0, r6, r0, lsl #2 - mov r8, r2 - mov r7, r3 - cmp r6, r0 - mov r5, #0 - beq _0207fc20 - add r4, sp, #0 -_0207fb98: - ldr r0, [r6] - ldrb r1, [r0, #5] - cmp r9, r1 - bne _0207fbf8 - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0x18] - blx r2 - cmp r0, #0 - beq _0207fbf8 - ldr r0, [sp] - add r5, r5, #1 - str r0, [r8] - ldr r0, [sp, #4] - str r0, [r8, #4] - ldr r0, [sp, #8] - str r0, [r8, #8] - ldr r0, [sp, #0xc] - str r0, [r8, #0xc] - ldr r0, [sp, #0x10] - str r0, [r8, #0x10] - ldr r0, [sp, #0x14] - str r0, [r8, #0x14] - add r8, r8, #0x18 -_0207fbf8: - cmp r5, r7 - addhs sp, sp, #0x18 - movhs r0, r5 - ldmhsia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - ldr r1, [r10, #0x10c] - ldr r0, [r10, #0x110] - add r6, r6, #4 - add r0, r1, r0, lsl #2 - cmp r6, r0 - bne _0207fb98 -_0207fc20: - mov r0, r5 - add sp, sp, #0x18 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - arm_func_end func_ov00_0207fb64 - - .global func_ov00_0207fc2c - arm_func_start func_ov00_0207fc2c -func_ov00_0207fc2c: ; 0x0207fc2c - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r6, r0 - ldr r4, [r6, #0x10c] - ldr r0, [r6, #0x110] - mov r5, r1 - add r0, r4, r0, lsl #2 - cmp r4, r0 - beq _0207fc88 -_0207fc4c: - ldr r7, [r4] - mov r1, r5 - mov r0, r7 - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - cmp r0, #0 - ldrneb r0, [r7, #5] - ldmneia sp!, {r3, r4, r5, r6, r7, pc} - ldr r1, [r6, #0x10c] - ldr r0, [r6, #0x110] - add r4, r4, #4 - add r0, r1, r0, lsl #2 - cmp r4, r0 - bne _0207fc4c -_0207fc88: - mov r0, #0 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0207fc2c - - .global func_ov00_0207fc90 - arm_func_start func_ov00_0207fc90 -func_ov00_0207fc90: ; 0x0207fc90 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207fc90 - - .global func_ov00_0207fc98 - arm_func_start func_ov00_0207fc98 -func_ov00_0207fc98: ; 0x0207fc98 - ldr ip, [r0, #0x10c] - ldr r2, [r0, #0x110] - add r2, ip, r2, lsl #2 - cmp ip, r2 - beq _0207fcd8 -_0207fcac: - ldr r3, [ip] - ldrb r2, [r3, #5] - cmp r1, r2 - moveq r0, r3 - bxeq lr - ldr r3, [r0, #0x10c] - ldr r2, [r0, #0x110] - add ip, ip, #4 - add r2, r3, r2, lsl #2 - cmp ip, r2 - bne _0207fcac -_0207fcd8: - mov r0, #0 - bx lr - arm_func_end func_ov00_0207fc98 - - .global func_ov00_0207fce0 - arm_func_start func_ov00_0207fce0 -func_ov00_0207fce0: ; 0x0207fce0 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} - mov r10, r0 - ldr r6, [r10, #0x10c] - ldr r0, [r10, #0x110] - mov r9, r1 - add r0, r6, r0, lsl #2 - mov r8, r2 - mov r7, r3 - cmp r6, r0 - mov r4, #0 - beq _0207fd50 -_0207fd0c: - cmp r4, r7 - bhs _0207fd50 - ldr r5, [r6] - mov r1, r9 - mov r0, r5 - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - cmp r0, #0 - strne r5, [r8, r4, lsl #2] - ldr r1, [r10, #0x10c] - ldr r0, [r10, #0x110] - add r6, r6, #4 - add r0, r1, r0, lsl #2 - addne r4, r4, #1 - cmp r6, r0 - bne _0207fd0c -_0207fd50: - mov r0, r4 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - arm_func_end func_ov00_0207fce0 - - .global func_ov00_0207fd58 - arm_func_start func_ov00_0207fd58 -func_ov00_0207fd58: ; 0x0207fd58 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - movs r6, r1 - mov r7, r0 - mov r5, r2 - moveq r0, #1 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - ldr r4, [r7, #0x10c] - ldr r0, [r7, #0x110] - add r0, r4, r0, lsl #2 - cmp r4, r0 - beq _0207fdc8 -_0207fd84: - ldr r0, [r4] - ldrb r1, [r0, #5] - cmp r6, r1 - bne _0207fdb0 - ldr r2, [r0] - mov r1, r5 - ldr r2, [r2, #0x14] - blx r2 - cmp r0, #0 - movne r0, #1 - ldmneia sp!, {r3, r4, r5, r6, r7, pc} -_0207fdb0: - ldr r1, [r7, #0x10c] - ldr r0, [r7, #0x110] - add r4, r4, #4 - add r0, r1, r0, lsl #2 - cmp r4, r0 - bne _0207fd84 -_0207fdc8: - mov r0, #0 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0207fd58 - - .global func_ov00_0207fdd0 - arm_func_start func_ov00_0207fdd0 -func_ov00_0207fdd0: ; 0x0207fdd0 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r7, r0 - ldr r5, [r7, #0x10c] - ldr r0, [r7, #0x110] - mov r6, r1 - add r0, r5, r0, lsl #2 - cmp r5, r0 - beq _0207fe2c - mov r4, #1 -_0207fdf4: - ldr r0, [r5] - ldrb r1, [r0, #5] - cmp r6, r1 - bne _0207fe14 - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0xc] - blx r2 -_0207fe14: - ldr r1, [r7, #0x10c] - ldr r0, [r7, #0x110] - add r5, r5, #4 - add r0, r1, r0, lsl #2 - cmp r5, r0 - bne _0207fdf4 -_0207fe2c: - mov r0, #1 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0207fdd0 - - .global func_ov00_0207fe34 - arm_func_start func_ov00_0207fe34 -func_ov00_0207fe34: ; 0x0207fe34 - mov r0, #0 - bx lr - arm_func_end func_ov00_0207fe34 - - .global func_ov00_0207fe3c - arm_func_start func_ov00_0207fe3c -func_ov00_0207fe3c: ; 0x0207fe3c - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r4, [r5, #0x10c] - ldr r0, [r5, #0x110] - add r0, r4, r0, lsl #2 - cmp r4, r0 - ldmeqia sp!, {r3, r4, r5, pc} -_0207fe58: - ldr r0, [r4], #4 - ldr r1, [r0] - ldr r1, [r1, #8] - blx r1 - ldr r1, [r5, #0x10c] - ldr r0, [r5, #0x110] - add r0, r1, r0, lsl #2 - cmp r4, r0 - bne _0207fe58 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207fe3c - - .global func_ov00_0207fe80 - arm_func_start func_ov00_0207fe80 -func_ov00_0207fe80: ; 0x0207fe80 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {lr} - sub sp, sp, #0x14 - ldr r1, [r0, #0x110] - cmp r1, #0x40 - addhs sp, sp, #0x14 - movhs r0, #0 - ldmhsia sp!, {lr} - addhs sp, sp, #0x10 - bxhs lr - ldr r2, [r0, #0x10c] - ldr r1, [r0, #0x110] - str r2, [sp, #0x10] - add ip, r2, r1, lsl #2 - str ip, [sp, #0xc] - str ip, [sp, #4] - str r2, [sp, #8] - ldr r3, [sp, #0x1c] - b _0207fed4 -_0207fecc: - add r2, r2, #4 - str r2, [sp, #8] -_0207fed4: - cmp r2, ip - ldrne r1, [r2] - cmpne r1, r3 - bne _0207fecc - ldr r1, [sp, #8] - cmp r1, ip - addne sp, sp, #0x14 - movne r0, #0 - ldmneia sp!, {lr} - addne sp, sp, #0x10 - bxne lr - ldr r1, [sp, #0x1c] - ldrb r1, [r1, #4] - cmp r1, #0 - addne sp, sp, #0x14 - movne r0, #0 - ldmneia sp!, {lr} - addne sp, sp, #0x10 - bxne lr - mov r3, #0 - strb r3, [sp, #1] - ldr r2, [r0, #0x110] - ldr r1, [r0, #0x114] - cmp r2, r1 - bhs _0207ff54 - add r3, r2, #1 - str r3, [r0, #0x110] - ldr r1, [r0, #0x10c] - ldr r2, [sp, #0x1c] - sub r0, r3, #1 - str r2, [r1, r0, lsl #2] - b _0207ff74 -_0207ff54: - strb r3, [sp] - sub r2, sp, #4 - and r1, r3, #0xff - strb r1, [r2] - ldr r2, [r2] - add r1, sp, #0x1c - add r0, r0, #0x10c - bl func_ov00_02080f64 -_0207ff74: - mov r0, #1 - add sp, sp, #0x14 - ldmia sp!, {lr} - add sp, sp, #0x10 - bx lr - arm_func_end func_ov00_0207fe80 - - .global func_ov00_0207ff88 - arm_func_start func_ov00_0207ff88 -func_ov00_0207ff88: ; 0x0207ff88 - stmdb sp!, {r3, lr} - sub sp, sp, #0x28 - ldrb r2, [r1, #4] - cmp r2, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r3, pc} - ldr ip, [r0, #0x10c] - ldr r2, [r0, #0x110] - str ip, [sp, #0x20] - add r3, ip, r2, lsl #2 - str r3, [sp, #0x1c] - str r3, [sp, #0xc] - str r3, [sp, #4] - str ip, [sp, #8] - b _0207ffd0 -_0207ffc8: - add ip, ip, #4 - str ip, [sp, #8] -_0207ffd0: - cmp ip, r3 - ldrne r2, [ip] - cmpne r2, r1 - bne _0207ffc8 - ldr r2, [sp, #8] - ldr r3, [sp, #0xc] - mov lr, r2 - cmp r2, r3 - addne ip, lr, #4 - cmpne ip, r3 - beq _02080014 -_0207fffc: - ldr r2, [ip] - add ip, ip, #4 - cmp r2, r1 - strne r2, [lr], #4 - cmp ip, r3 - bne _0207fffc -_02080014: - ldr r2, [r0, #0x10c] - ldr r1, [r0, #0x110] - mov r3, #0 - add r2, r2, r1, lsl #2 - strb r3, [sp] - sub r1, sp, #4 - strb r3, [r1] - ldr r3, [r1] - mov r1, lr - add r0, r0, #0x10c - str lr, [sp, #0x24] - str r2, [sp, #0x18] - str r2, [sp, #0x10] - str lr, [sp, #0x14] - bl func_ov00_02080f94 - mov r0, #1 - add sp, sp, #0x28 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207ff88 - - .global func_ov00_0208005c - arm_func_start func_ov00_0208005c -func_ov00_0208005c: ; 0x0208005c - ldr ip, _02080068 ; =func_ov00_0209c1e4 - ldr r0, [r0, #0x144] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208005c -_02080068: .word func_ov00_0209c1e4 - - .global func_ov00_0208006c - arm_func_start func_ov00_0208006c -func_ov00_0208006c: ; 0x0208006c - ldr ip, _02080078 ; =func_ov00_0209c2b4 - ldr r0, [r0, #0x144] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208006c -_02080078: .word func_ov00_0209c2b4 - - .global func_ov00_0208007c - arm_func_start func_ov00_0208007c -func_ov00_0208007c: ; 0x0208007c - ldr ip, _02080088 ; =func_ov00_0209c2d0 - ldr r0, [r0, #0x144] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208007c -_02080088: .word func_ov00_0209c2d0 - - .global func_ov00_0208008c - arm_func_start func_ov00_0208008c -func_ov00_0208008c: ; 0x0208008c - ldr ip, _02080098 ; =func_ov00_0209c8e4 - ldr r0, [r0, #0x144] - bx ip - .align 2, 0 - arm_func_end func_ov00_0208008c -_02080098: .word func_ov00_0209c8e4 - - .global func_ov00_0208009c - arm_func_start func_ov00_0208009c -func_ov00_0208009c: ; 0x0208009c - stmdb sp!, {r3, lr} - mov ip, #0 - strb ip, [sp, #1] - ldr r3, [r0, #0x11c] - ldr r2, [r0, #0x120] - cmp r3, r2 - bhs _02080120 - add ip, r3, #1 - sub r3, ip, #1 - mov r2, #0x18 - mul r2, r3, r2 - str ip, [r0, #0x11c] - ldr r3, [r0, #0x118] - ldr r0, [r1] - add ip, r3, r2 - str r0, [r3, r2] - ldr r0, [r1, #4] - str r0, [ip, #4] - ldr r0, [r1, #8] - str r0, [ip, #8] - ldr r0, [r1, #0xc] - str r0, [ip, #0xc] - ldrsh r0, [r1, #0x10] - strh r0, [ip, #0x10] - ldrb r0, [r1, #0x12] - strb r0, [ip, #0x12] - ldrb r0, [r1, #0x13] - strb r0, [ip, #0x13] - ldrb r0, [r1, #0x14] - strb r0, [ip, #0x14] - ldrb r0, [r1, #0x15] - strb r0, [ip, #0x15] - ldmia sp!, {r3, pc} -_02080120: - strb ip, [sp] - sub r3, sp, #4 - and r2, ip, #0xff - strb r2, [r3] - ldr r2, [r3] - add r0, r0, #0x118 - bl func_ov00_020810b8 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208009c - - .global func_ov00_02080140 - arm_func_start func_ov00_02080140 -func_ov00_02080140: ; 0x02080140 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} - sub sp, sp, #0x50 - ldr r9, [r1] - mov r4, r0 - str r9, [sp, #0x38] - ldr r8, [r1, #4] - mov r10, #0x18 - str r8, [sp, #0x3c] - ldr r7, [r1, #8] - add r0, sp, #0x1c - str r7, [sp, #0x40] - ldr r6, [r1, #0xc] - add r3, sp, #0x20 - str r6, [sp, #0x44] - ldrsh r5, [r1, #0x10] - strh r5, [sp, #0x48] - ldrb lr, [r1, #0x12] - strb lr, [sp, #0x4a] - ldrb ip, [r1, #0x13] - strb ip, [sp, #0x4b] - ldrb r2, [r1, #0x14] - strb r2, [sp, #0x4c] - ldrb r1, [r1, #0x15] - str r9, [sp, #0x20] - str r8, [sp, #0x24] - strb r1, [sp, #0x4d] - str r7, [sp, #0x28] - str r6, [sp, #0x2c] - strh r5, [sp, #0x30] - strb lr, [sp, #0x32] - strb ip, [sp, #0x33] - strb r2, [sp, #0x34] - strb r1, [sp, #0x35] - ldr r1, [r4, #0x118] - ldr r5, [r4, #0x11c] - str r1, [sp, #0x18] - mla r2, r5, r10, r1 - str r2, [sp, #0x14] - bl func_ov00_02080324 - ldr r0, [r4, #0x118] - ldr r2, [r4, #0x11c] - mov r1, r10 - mla r5, r2, r1, r0 - ldr r1, [sp, #0x1c] - cmp r1, r5 - bne _02080310 - mov r1, #0 - cmp r0, r5 - str r0, [sp, #8] - addne r3, r0, #0x18 - strne r3, [sp, #8] - str r5, [sp, #0xc] - str r0, [sp, #0x10] - strb r1, [sp, #2] - str r5, [sp, #4] - cmpne r3, r5 - beq _02080244 -_02080224: - ldrb r2, [r0, #0x14] - ldrb r1, [r3, #0x14] - cmp r2, r1 - movlo r0, r3 - add r3, r3, #0x18 - cmp r3, r5 - bne _02080224 - str r3, [sp, #8] -_02080244: - ldr r3, [r4, #0x118] - ldr r2, [r4, #0x11c] - mov r1, #0x18 - mla r1, r2, r1, r3 - cmp r0, r1 - moveq r0, #1 - streqb r0, [sp, #0x4c] - ldrneb r0, [r0, #0x14] - mov r2, #0 - addne r0, r0, #1 - strneb r0, [sp, #0x4c] - strb r2, [sp, #1] - ldr r1, [r4, #0x11c] - ldr r0, [r4, #0x120] - cmp r1, r0 - bhs _020802ec - add r3, r1, #1 - sub r1, r3, #1 - mov r0, #0x18 - mul r2, r1, r0 - str r3, [r4, #0x11c] - ldr r1, [r4, #0x118] - ldr r0, [sp, #0x38] - add r3, r1, r2 - str r0, [r1, r2] - ldr r0, [sp, #0x3c] - str r0, [r3, #4] - ldr r0, [sp, #0x40] - str r0, [r3, #8] - ldr r0, [sp, #0x44] - str r0, [r3, #0xc] - ldrsh r0, [sp, #0x48] - strh r0, [r3, #0x10] - ldrb r0, [sp, #0x4a] - strb r0, [r3, #0x12] - ldrb r0, [sp, #0x4b] - strb r0, [r3, #0x13] - ldrb r0, [sp, #0x4c] - strb r0, [r3, #0x14] - ldrb r0, [sp, #0x4d] - strb r0, [r3, #0x15] - b _02080318 -_020802ec: - strb r2, [sp] - sub r1, sp, #4 - and r0, r2, #0xff - strb r0, [r1] - ldr r2, [r1] - add r1, sp, #0x38 - add r0, r4, #0x118 - bl func_ov00_020810b8 - b _02080318 -_02080310: - ldrb r0, [r1, #0x14] - strb r0, [sp, #0x4c] -_02080318: - ldrb r0, [sp, #0x4c] - add sp, sp, #0x50 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - arm_func_end func_ov00_02080140 - - .global func_ov00_02080324 - arm_func_start func_ov00_02080324 -func_ov00_02080324: ; 0x02080324 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, r5, r6, r7, r8, lr} - mov r7, r0 - mov r6, r3 - ldr r5, [sp, #0x20] - ldr r4, [sp, #0x1c] - b _02080344 -_02080340: - add r4, r4, #0x18 -_02080344: - cmp r4, r5 - beq _0208038c - mov r0, r4 - bl func_ov00_020a5e9c - mov r8, r0 - mov r0, r6 - bl func_ov00_020a5e9c - cmp r8, r0 - ldreqb r1, [r4, #0x12] - ldreqb r0, [r6, #0x12] - cmpeq r1, r0 - ldreqb r1, [r4, #0x13] - ldreqb r0, [r6, #0x13] - cmpeq r1, r0 - ldreq r1, [r4, #8] - ldreq r0, [r6, #8] - cmpeq r1, r0 - bne _02080340 -_0208038c: - str r4, [r7] - ldmia sp!, {r4, r5, r6, r7, r8, lr} - add sp, sp, #0x10 - bx lr - arm_func_end func_ov00_02080324 - - .global func_ov00_0208039c - arm_func_start func_ov00_0208039c -func_ov00_0208039c: ; 0x0208039c - stmdb sp!, {lr} - sub sp, sp, #0x14 - cmp r1, #0 - addle sp, sp, #0x14 - movle r0, #0 - ldmleia sp!, {pc} - ldr ip, [r0, #0x118] - ldr r3, [r0, #0x11c] - mov r0, #0x18 - mla lr, r3, r0, ip - and r0, r1, #0xff - strb r1, [sp, #1] - strb r0, [sp] - str lr, [sp, #0xc] - str lr, [sp, #4] - str ip, [sp, #0x10] - str ip, [sp, #8] - and r1, r0, #0xff - b _020803f0 -_020803e8: - add ip, ip, #0x18 - str ip, [sp, #8] -_020803f0: - cmp ip, lr - ldrneb r0, [ip, #0x14] - cmpne r1, r0 - bne _020803e8 - ldr r0, [sp, #8] - cmp r0, lr - addeq sp, sp, #0x14 - moveq r0, #0 - ldmeqia sp!, {pc} - ldr r3, [sp, #8] - mov r0, #1 - ldr r1, [r3] - str r1, [r2] - ldr r1, [r3, #4] - str r1, [r2, #4] - ldr r1, [r3, #8] - str r1, [r2, #8] - ldr r1, [r3, #0xc] - str r1, [r2, #0xc] - ldrsh r1, [r3, #0x10] - strh r1, [r2, #0x10] - ldrb r1, [r3, #0x12] - strb r1, [r2, #0x12] - ldrb r1, [r3, #0x13] - strb r1, [r2, #0x13] - ldrb r1, [r3, #0x14] - strb r1, [r2, #0x14] - ldrb r1, [r3, #0x15] - strb r1, [r2, #0x15] - add sp, sp, #0x14 - ldmia sp!, {pc} - arm_func_end func_ov00_0208039c - - .global func_ov00_0208046c - arm_func_start func_ov00_0208046c -func_ov00_0208046c: ; 0x0208046c - stmdb sp!, {r3, lr} - mov ip, #0 - strb ip, [sp, #1] - ldr r3, [r0, #0x128] - ldr r2, [r0, #0x12c] - cmp r3, r2 - bhs _020804f0 - add ip, r3, #1 - sub r3, ip, #1 - mov r2, #0x1c - mul r2, r3, r2 - str ip, [r0, #0x128] - ldr r3, [r0, #0x124] - ldr r0, [r1] - add ip, r3, r2 - str r0, [r3, r2] - ldrb r0, [r1, #4] - strb r0, [ip, #4] - ldr r0, [r1, #8] - str r0, [ip, #8] - ldr r0, [r1, #0xc] - str r0, [ip, #0xc] - ldr r0, [r1, #0x10] - str r0, [ip, #0x10] - ldrsh r0, [r1, #0x14] - strh r0, [ip, #0x14] - ldrsh r0, [r1, #0x16] - strh r0, [ip, #0x16] - ldrh r2, [r1, #0x18] - ldrh r0, [r1, #0x1a] - strh r2, [ip, #0x18] - strh r0, [ip, #0x1a] - ldmia sp!, {r3, pc} -_020804f0: - strb ip, [sp] - sub r3, sp, #4 - and r2, ip, #0xff - strb r2, [r3] - ldr r2, [r3] - add r0, r0, #0x124 - bl func_ov00_02081130 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208046c - - .global func_ov00_02080510 - arm_func_start func_ov00_02080510 -func_ov00_02080510: ; 0x02080510 - stmdb sp!, {lr} - sub sp, sp, #0x14 - ldr ip, [r0, #0x124] - ldr r3, [r0, #0x128] - mov r0, #0x1c - mla lr, r3, r0, ip - and r0, r1, #0xff - strb r1, [sp, #1] - strb r0, [sp] - str lr, [sp, #0xc] - str lr, [sp, #4] - str ip, [sp, #0x10] - str ip, [sp, #8] - and r1, r0, #0xff - b _02080554 -_0208054c: - add ip, ip, #0x1c - str ip, [sp, #8] -_02080554: - cmp ip, lr - ldrneb r0, [ip, #4] - cmpne r1, r0 - bne _0208054c - ldr r0, [sp, #8] - cmp r0, lr - addeq sp, sp, #0x14 - moveq r0, #0 - ldmeqia sp!, {pc} - ldr ip, [sp, #8] - mov r0, #1 - ldr r1, [ip] - str r1, [r2] - ldrb r1, [ip, #4] - strb r1, [r2, #4] - ldr r1, [ip, #8] - str r1, [r2, #8] - ldr r1, [ip, #0xc] - str r1, [r2, #0xc] - ldr r1, [ip, #0x10] - str r1, [r2, #0x10] - ldrsh r1, [ip, #0x14] - strh r1, [r2, #0x14] - ldrsh r1, [ip, #0x16] - strh r1, [r2, #0x16] - ldrh r3, [ip, #0x18] - ldrh r1, [ip, #0x1a] - strh r3, [r2, #0x18] - strh r1, [r2, #0x1a] - add sp, sp, #0x14 - ldmia sp!, {pc} - arm_func_end func_ov00_02080510 - - .global func_ov00_020805d0 - arm_func_start func_ov00_020805d0 -func_ov00_020805d0: ; 0x020805d0 - stmdb sp!, {r3, lr} - sub sp, sp, #0x18 - ldr ip, [r0, #0x124] - ldr r3, [r0, #0x128] - mov r0, #0x1c - mla lr, r3, r0, ip - str r1, [sp, #0xc] - str r1, [sp] - str lr, [sp, #0x10] - str lr, [sp, #4] - str ip, [sp, #0x14] - str ip, [sp, #8] - b _0208060c -_02080604: - add ip, ip, #0x1c - str ip, [sp, #8] -_0208060c: - cmp ip, lr - ldrne r0, [ip] - cmpne r1, r0 - bne _02080604 - ldr r0, [sp, #8] - cmp r0, lr - addeq sp, sp, #0x18 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - ldr ip, [sp, #8] - mov r0, #1 - ldr r1, [ip] - str r1, [r2] - ldrb r1, [ip, #4] - strb r1, [r2, #4] - ldr r1, [ip, #8] - str r1, [r2, #8] - ldr r1, [ip, #0xc] - str r1, [r2, #0xc] - ldr r1, [ip, #0x10] - str r1, [r2, #0x10] - ldrsh r1, [ip, #0x14] - strh r1, [r2, #0x14] - ldrsh r1, [ip, #0x16] - strh r1, [r2, #0x16] - ldrh r3, [ip, #0x18] - ldrh r1, [ip, #0x1a] - strh r3, [r2, #0x18] - strh r1, [r2, #0x1a] - add sp, sp, #0x18 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020805d0 - - .global func_ov00_02080688 - arm_func_start func_ov00_02080688 -func_ov00_02080688: ; 0x02080688 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0x1c - mov r6, r0 - mov r4, r2 - add r2, r6, r4 - mov r5, r1 - ldrb r1, [r2, #0x16] - cmp r1, #0 - bne _020806c8 - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0xb8] - blx r2 - add sp, sp, #0x1c - str r0, [r5] - ldmia sp!, {r3, r4, r5, r6, pc} -_020806c8: - mov ip, #0 - mov r0, #0xff - add r3, sp, #0 - str ip, [sp] - strb r0, [sp, #4] - strh ip, [sp, #0x14] - strh ip, [sp, #0x16] - mov r2, ip -_020806e8: - add r0, r3, ip, lsl #1 - add ip, ip, #1 - strh r2, [r0, #0x18] - cmp ip, #2 - blo _020806e8 - add r2, sp, #0 - mov r0, r6 - bl func_ov00_02080510 - cmp r0, #0 - bne _02080730 - mov r0, r6 - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0xb8] - blx r2 - add sp, sp, #0x1c - str r0, [r5] - ldmia sp!, {r3, r4, r5, r6, pc} -_02080730: - ldr r0, [sp] - str r0, [r5] - ldrb r0, [sp, #4] - strb r0, [r5, #4] - ldr r0, [sp, #8] - str r0, [r5, #8] - ldr r0, [sp, #0xc] - str r0, [r5, #0xc] - ldr r0, [sp, #0x10] - str r0, [r5, #0x10] - ldrsh r0, [sp, #0x14] - strh r0, [r5, #0x14] - ldrsh r0, [sp, #0x16] - strh r0, [r5, #0x16] - ldrh r1, [sp, #0x18] - ldrh r0, [sp, #0x1a] - strh r1, [r5, #0x18] - strh r0, [r5, #0x1a] - add sp, sp, #0x1c - ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end func_ov00_02080688 - - .global func_ov00_02080780 - arm_func_start func_ov00_02080780 -func_ov00_02080780: ; 0x02080780 - stmdb sp!, {lr} - sub sp, sp, #0x1c - mov lr, #0 - mov r3, #0xff - strb r3, [sp, #4] - add ip, sp, #0 - mov r2, r1 - str lr, [sp] - strh lr, [sp, #0x14] - strh lr, [sp, #0x16] - mov r3, lr -_020807ac: - add r1, ip, lr, lsl #1 - add lr, lr, #1 - strh r3, [r1, #0x18] - cmp lr, #2 - blo _020807ac - add r1, sp, #0 - bl func_ov00_02080688 - ldr r0, [sp] - add sp, sp, #0x1c - ldmia sp!, {pc} - arm_func_end func_ov00_02080780 - - .global func_ov00_020807d4 - arm_func_start func_ov00_020807d4 -func_ov00_020807d4: ; 0x020807d4 - stmdb sp!, {r3, lr} - ldr r0, _02080820 ; =data_027e0618 - ldr r0, [r0] - cmp r0, #6 - bne _02080818 - bl func_ov00_02079e3c - cmp r0, #0 - beq _02080800 - cmp r0, #1 - beq _02080808 - b _02080810 -_02080800: - mov r0, #0 - ldmia sp!, {r3, pc} -_02080808: - mov r0, #0x1c - ldmia sp!, {r3, pc} -_02080810: - mov r0, #0x1c - ldmia sp!, {r3, pc} -_02080818: - mov r0, #0 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020807d4 -_02080820: .word data_027e0618 - - .global func_ov00_02080824 - arm_func_start func_ov00_02080824 -func_ov00_02080824: ; 0x02080824 - stmdb sp!, {r4, lr} - ldr r4, [r0, #0x14c] - cmp r4, #0 - moveq r0, #0 - ldmeqia sp!, {r4, pc} - ldrh r3, [r4, #4] - mov ip, #0 - cmp r3, #0 - ble _020808c8 - mov lr, r4 -_0208084c: - ldrb r0, [lr, #8] - cmp r1, r0 - bne _020808b8 - mov r0, #0x1c - mul r0, ip, r0 - add r3, r4, #8 - ldrb r1, [r3, r0] - add r3, r3, r0 - mov r0, #1 - strb r1, [r2] - ldrb r1, [r3, #1] - strb r1, [r2, #1] - ldrsh r1, [r3, #2] - strh r1, [r2, #2] - ldr r1, [r3, #4] - str r1, [r2, #4] - ldr r1, [r3, #8] - str r1, [r2, #8] - ldr r1, [r3, #0xc] - str r1, [r2, #0xc] - ldr r1, [r3, #0x10] - str r1, [r2, #0x10] - ldr r1, [r3, #0x14] - str r1, [r2, #0x14] - ldr r1, [r3, #0x18] - str r1, [r2, #0x18] - ldmia sp!, {r4, pc} -_020808b8: - add ip, ip, #1 - cmp ip, r3 - add lr, lr, #0x1c - blt _0208084c -_020808c8: - mov r0, #0 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02080824 - - .global func_ov00_020808d0 - arm_func_start func_ov00_020808d0 -func_ov00_020808d0: ; 0x020808d0 - stmdb sp!, {r0, r1, r2, r3} - arm_func_end func_ov00_020808d0 - - .global func_ov00_020808d4 - arm_func_start func_ov00_020808d4 -func_ov00_020808d4: ; 0x020808d4 - stmdb sp!, {lr} - sub sp, sp, #0x14 - ldr r1, [r0, #0x134] - cmp r1, #0x20 - addhs sp, sp, #0x14 - movhs r0, #0 - ldmhsia sp!, {lr} - addhs sp, sp, #0x10 - bxhs lr - ldr r2, [r0, #0x130] - ldr r1, [r0, #0x134] - str r2, [sp, #0x10] - add ip, r2, r1, lsl #2 - str ip, [sp, #0xc] - str ip, [sp, #4] - str r2, [sp, #8] - ldr r3, [sp, #0x1c] - b _02080924 -_0208091c: - add r2, r2, #4 - str r2, [sp, #8] -_02080924: - cmp r2, ip - ldrne r1, [r2] - cmpne r1, r3 - bne _0208091c - ldr r1, [sp, #8] - cmp r1, ip - addne sp, sp, #0x14 - movne r0, #0 - ldmneia sp!, {lr} - addne sp, sp, #0x10 - bxne lr - mov r3, #0 - strb r3, [sp, #1] - ldr r2, [r0, #0x134] - ldr r1, [r0, #0x138] - cmp r2, r1 - bhs _02080984 - add r3, r2, #1 - str r3, [r0, #0x134] - ldr r1, [r0, #0x130] - ldr r2, [sp, #0x1c] - sub r0, r3, #1 - str r2, [r1, r0, lsl #2] - b _020809a4 -_02080984: - strb r3, [sp] - sub r2, sp, #4 - and r1, r3, #0xff - strb r1, [r2] - ldr r2, [r2] - add r1, sp, #0x1c - add r0, r0, #0x130 - bl func_ov00_02080f64 -_020809a4: - mov r0, #1 - add sp, sp, #0x14 - ldmia sp!, {lr} - add sp, sp, #0x10 - bx lr - arm_func_end func_ov00_020808d4 - - .global func_ov00_020809b8 - arm_func_start func_ov00_020809b8 -func_ov00_020809b8: ; 0x020809b8 - stmdb sp!, {r3, lr} - sub sp, sp, #0x28 - ldr ip, [r0, #0x130] - ldr r2, [r0, #0x134] - str ip, [sp, #0x20] - add r3, ip, r2, lsl #2 - str r3, [sp, #0x1c] - str r3, [sp, #0xc] - str r3, [sp, #4] - str ip, [sp, #8] - b _020809ec -_020809e4: - add ip, ip, #4 - str ip, [sp, #8] -_020809ec: - cmp ip, r3 - ldrne r2, [ip] - cmpne r2, r1 - bne _020809e4 - ldr r2, [sp, #8] - ldr r3, [sp, #0xc] - mov lr, r2 - cmp r2, r3 - addne ip, lr, #4 - cmpne ip, r3 - beq _02080a30 -_02080a18: - ldr r2, [ip] - add ip, ip, #4 - cmp r2, r1 - strne r2, [lr], #4 - cmp ip, r3 - bne _02080a18 -_02080a30: - ldr r2, [r0, #0x130] - ldr r1, [r0, #0x134] - mov r3, #0 - add r2, r2, r1, lsl #2 - strb r3, [sp] - sub r1, sp, #4 - strb r3, [r1] - ldr r3, [r1] - mov r1, lr - add r0, r0, #0x130 - str lr, [sp, #0x24] - str r2, [sp, #0x18] - str r2, [sp, #0x10] - str lr, [sp, #0x14] - bl func_ov00_02080f94 - mov r0, #1 - add sp, sp, #0x28 - ldmia sp!, {r3, pc} - arm_func_end func_ov00_020809b8 - - .global func_ov00_02080a78 - arm_func_start func_ov00_02080a78 -func_ov00_02080a78: ; 0x02080a78 - stmdb sp!, {r4, lr} - sub sp, sp, #0x18 - mov r4, r0 - add r3, sp, #0xc - ldmia r1, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldr r1, [r4, #0x130] - ldr r2, [r4, #0x134] - add r0, sp, #8 - add r2, r1, r2, lsl #2 - str r2, [sp] - str r1, [sp, #4] - bl func_ov00_02080ad0 - ldr r1, [r4, #0x130] - ldr r0, [r4, #0x134] - ldr r2, [sp, #8] - add r0, r1, r0, lsl #2 - cmp r2, r0 - moveq r0, #0 - ldrne r0, [r2] - add sp, sp, #0x18 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02080a78 - - .global func_ov00_02080ad0 - arm_func_start func_ov00_02080ad0 -func_ov00_02080ad0: ; 0x02080ad0 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r7, r0 - mov r6, r3 - ldr r5, [sp, #0x20] - ldr r4, [sp, #0x1c] - b _02080af0 -_02080aec: - add r4, r4, #4 -_02080af0: - cmp r4, r5 - beq _02080b14 - ldr r0, [r4] - mov r1, r6 - ldr r2, [r0] - ldr r2, [r2] - blx r2 - cmp r0, #0 - beq _02080aec -_02080b14: - str r4, [r7] - ldmia sp!, {r3, r4, r5, r6, r7, lr} - add sp, sp, #0x10 - bx lr - arm_func_end func_ov00_02080ad0 - - .global func_ov00_02080b24 - arm_func_start func_ov00_02080b24 -func_ov00_02080b24: ; 0x02080b24 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x14 - ldr r3, [r0] - mov r2, #4 - ldr r3, [r3, #0x58] - str r0, [sp] - mov r10, r1 - blx r3 - cmp r0, #0 - addne sp, sp, #0x14 - ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, [sp] - ldrh r0, [r0, #0x30] - cmp r0, #0x60 - blo _02080cd0 - ldr r0, [sp] - mov r6, #0 - ldrh r0, [r0, #0x28] - mov r7, r6 - mov r8, r6 - str r0, [sp, #4] - cmp r0, #0 - ldr r0, [sp] - ldrh r11, [r0, #0x2a] - ble _02080c4c -_02080b88: - cmp r11, #0 - mov r9, #0 - ble _02080c3c - and r0, r8, #0xff - str r0, [sp, #8] -_02080b9c: - ldr r1, [sp, #8] - ldr r0, [sp] - strb r1, [sp, #0x10] - strb r9, [sp, #0x11] - ldr r2, [r0] - add r1, sp, #0x10 - ldr r2, [r2, #0x78] - blx r2 - movs r5, r0 - beq _02080c30 - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x42 - bne _02080c30 - cmp r6, #0 - ldrb r0, [r10] - bne _02080c08 - sub r0, r8, r0 - mov r6, r5 - bl func_02042f68 - ldrb r1, [r10, #1] - mov r4, r0 - sub r0, r9, r1 - bl func_02042f68 - add r7, r4, r0 - b _02080c30 -_02080c08: - sub r0, r8, r0 - bl func_02042f68 - ldrb r1, [r10, #1] - mov r4, r0 - sub r0, r9, r1 - bl func_02042f68 - add r0, r4, r0 - cmp r0, r7 - movgt r6, r5 - movgt r7, r0 -_02080c30: - add r9, r9, #1 - cmp r9, r11 - blt _02080b9c -_02080c3c: - ldr r0, [sp, #4] - add r8, r8, #1 - cmp r8, r0 - blt _02080b88 -_02080c4c: - cmp r6, #0 - addeq sp, sp, #0x14 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r1, [r6, #4] - ldr r0, [sp] - bic r1, r1, #1 - str r1, [r6, #4] - ldrb r4, [r6, #0x15] - ldrb r3, [r6, #0x14] - add r1, sp, #0xe - mov r2, #4 - strb r3, [sp, #0xe] - strb r4, [sp, #0xf] - ldr r4, [r0] - mov r3, #0 - ldr r4, [r4, #0x98] - blx r4 - ldrb r3, [r6, #0x15] - ldrb r2, [r6, #0x14] - ldr r0, [sp] - add r1, sp, #0xc - strb r2, [sp, #0xc] - strb r3, [sp, #0xd] - ldr r4, [r0] - mov r2, #6 - ldr r4, [r4, #0x98] - mov r3, #1 - blx r4 - ldr r0, [sp] - ldrh r0, [r0, #0x30] - sub r1, r0, #1 - ldr r0, [sp] - strh r1, [r0, #0x30] -_02080cd0: - ldr r0, [sp] - mov r1, r10 - ldr r4, [r0] - mov r2, #4 - ldr r4, [r4, #0x98] - mov r3, #1 - blx r4 - ldr r0, [sp] - ldrh r0, [r0, #0x30] - add r1, r0, #1 - ldr r0, [sp] - strh r1, [r0, #0x30] - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end func_ov00_02080b24 - - .global func_ov00_02080d08 - arm_func_start func_ov00_02080d08 -func_ov00_02080d08: ; 0x02080d08 - stmdb sp!, {r3, r4, r5, lr} - ldr r3, [r0] - mov r2, #4 - ldr r3, [r3, #0x58] - mov r5, r0 - mov r4, r1 - blx r3 - cmp r0, #0 - ldmeqia sp!, {r3, r4, r5, pc} - mov r0, r5 - ldr ip, [r0] - mov r1, r4 - ldr ip, [ip, #0x98] - mov r2, #4 - mov r3, #0 - blx ip - mov r0, r5 - ldr ip, [r0] - mov r1, r4 - ldr ip, [ip, #0x98] - mov r2, #6 - mov r3, #1 - blx ip - ldrh r0, [r5, #0x30] - sub r0, r0, #1 - strh r0, [r5, #0x30] - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02080d08 - - .global func_ov00_02080d74 - arm_func_start func_ov00_02080d74 -func_ov00_02080d74: ; 0x02080d74 - bx lr - arm_func_end func_ov00_02080d74 - - .global func_ov00_02080d78 - arm_func_start func_ov00_02080d78 -func_ov00_02080d78: ; 0x02080d78 - bx lr - arm_func_end func_ov00_02080d78 - - .global func_ov00_02080d7c - arm_func_start func_ov00_02080d7c -func_ov00_02080d7c: ; 0x02080d7c - bx lr - arm_func_end func_ov00_02080d7c - - .global func_ov00_02080d80 - arm_func_start func_ov00_02080d80 -func_ov00_02080d80: ; 0x02080d80 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - ldr r4, [r6, #0x10c] - ldr r0, [r6, #0x110] - mov r5, r1 - add r0, r4, r0, lsl #2 - cmp r4, r0 - beq _02080dd4 -_02080da0: - ldr r0, [r4] - ldrb r1, [r0, #5] - cmp r5, r1 - bne _02080dbc - ldr r1, [r0] - ldr r1, [r1, #0x10] - blx r1 -_02080dbc: - ldr r1, [r6, #0x10c] - ldr r0, [r6, #0x110] - add r4, r4, #4 - add r0, r1, r0, lsl #2 - cmp r4, r0 - bne _02080da0 -_02080dd4: - mov r0, #1 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02080d80 - - .global func_ov00_02080ddc - arm_func_start func_ov00_02080ddc -func_ov00_02080ddc: ; 0x02080ddc - mov r0, #1 - bx lr - arm_func_end func_ov00_02080ddc - - .global func_ov00_02080de4 - arm_func_start func_ov00_02080de4 -func_ov00_02080de4: ; 0x02080de4 - bx lr - arm_func_end func_ov00_02080de4 - - .global func_ov00_02080de8 - arm_func_start func_ov00_02080de8 -func_ov00_02080de8: ; 0x02080de8 - stmdb sp!, {r4, r5, r6, lr} - ldr r2, _02080ed4 ; =data_027e0f64 - mov r5, r0 - ldr r0, [r2] - mov r4, #0 - add r0, r0, r1, lsl #2 - ldr r6, [r0, #4] - ldr r0, [r6, #0x15c] - cmp r0, #0x16 - bgt _02080e64 - bge _02080e84 - cmp r0, #0xb - bgt _02080e58 - cmp r0, #0 - addge pc, pc, r0, lsl #2 - b _02080e94 -_02080e28: ; jump table - b _02080e84 ; case 0 - b _02080e84 ; case 1 - b _02080e84 ; case 2 - b _02080e8c ; case 3 - b _02080e94 ; case 4 - b _02080e94 ; case 5 - b _02080e94 ; case 6 - b _02080e94 ; case 7 - b _02080e94 ; case 8 - b _02080e94 ; case 9 - b _02080e94 ; case 10 - b _02080e88 ; case 11 -_02080e58: - cmp r0, #0x15 - beq _02080e84 - b _02080e94 -_02080e64: - cmp r0, #0x5a - bgt _02080e7c - bge _02080e84 - cmp r0, #0x33 - beq _02080e84 - b _02080e94 -_02080e7c: - cmp r0, #0x5b - bne _02080e94 -_02080e84: - mov r4, #0 -_02080e88: - b _02080ec8 -_02080e8c: - mov r4, #0x1f - b _02080ec8 -_02080e94: - mov r0, r6 - bl func_ov00_02087dd8 - cmp r0, #0 - beq _02080ec8 - add r0, r6, #0x200 - ldrsh r1, [r0, #0x24] - ldr r0, _02080ed8 ; =0x00001c72 - cmp r1, r0 - ble _02080ec4 - rsb r0, r0, #0x4000 - cmp r1, r0 - blt _02080ec8 -_02080ec4: - mov r4, #0x1f -_02080ec8: - ldr r0, [r5, #0x140] - strb r4, [r0, #0x5c] - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end func_ov00_02080de8 -_02080ed4: .word data_027e0f64 -_02080ed8: .word 0x00001c72 - - .global func_ov00_02080edc - arm_func_start func_ov00_02080edc -func_ov00_02080edc: ; 0x02080edc - stmdb sp!, {r4, lr} - ldr r1, _02080f1c ; =data_027e0d38 - mov r4, r0 - ldr r0, [r1] - add r0, r0, #0xc - bl func_ov00_020a5e9c - cmp r0, #0x2a - cmpne r0, #0x2f - cmpne r0, #0x30 - bne _02080f10 - mov r0, #0 - strb r0, [r4, #5] - ldmia sp!, {r4, pc} -_02080f10: - mov r0, #1 - strb r0, [r4, #5] - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end func_ov00_02080edc -_02080f1c: .word data_027e0d38 - - .global func_ov00_02080f20 - arm_func_start func_ov00_02080f20 -func_ov00_02080f20: ; 0x02080f20 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r0, [r4] - cmp r0, #0 - beq _02080f58 - ldr r1, [r4, #4] - mov r0, #0 - strb r0, [sp] - ldr r0, [r4, #4] - sub r0, r0, r1 - str r0, [r4, #4] - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_02080f58: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02080f20 - - .global func_ov00_02080f64 - arm_func_start func_ov00_02080f64 -func_ov00_02080f64: ; 0x02080f64 - stmdb sp!, {r3, r4, r5, lr} - mov r4, r1 - mov r2, #0 - mov r5, r0 - mov r1, #1 - strb r2, [sp] - bl func_ov00_020812bc - mov r0, r5 - mov r2, r4 - mov r1, #1 - bl func_ov00_02081160 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02080f64 - - .global func_ov00_02080f94 - arm_func_start func_ov00_02080f94 -func_ov00_02080f94: ; 0x02080f94 - stmdb sp!, {r4, r5, r6, lr} - mov r5, r1 - mov r4, r2 - mov r6, r0 - cmp r5, r4 - beq _02080ff0 - ldr r2, [r6] - ldr r1, [r6, #4] - mov r0, r5 - add r1, r2, r1, lsl #2 - sub r2, r1, r4 - mov r1, r2, asr #0x1 - add r1, r2, r1, lsr #30 - mov r2, r1, asr #0x2 - mov r1, r4 - mov r2, r2, lsl #0x2 - bl func_020435b4 - sub r1, r4, r5 - mov r0, r1, asr #0x1 - ldr r2, [r6, #4] - add r0, r1, r0, lsr #30 - sub r0, r2, r0, asr #2 - str r0, [r6, #4] -_02080ff0: - mov r0, r5 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02080f94 - - .global func_ov00_02080ff8 - arm_func_start func_ov00_02080ff8 -func_ov00_02080ff8: ; 0x02080ff8 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r1, [r4] - cmp r1, #0 - beq _02081034 - ldr r1, [r4, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_02081388 - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_02081034: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02080ff8 - - .global func_ov00_02081040 - arm_func_start func_ov00_02081040 -func_ov00_02081040: ; 0x02081040 - stmdb sp!, {r3, r4, r5, lr} - mov r4, r1 - mov r2, #0 - mov r5, r0 - mov r1, #1 - strb r2, [sp] - bl func_ov00_02081524 - mov r0, r5 - mov r2, r4 - mov r1, #1 - bl func_ov00_02081398 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02081040 - - .global func_ov00_02081070 - arm_func_start func_ov00_02081070 -func_ov00_02081070: ; 0x02081070 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r1, [r4] - cmp r1, #0 - beq _020810ac - ldr r1, [r4, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_020815f4 - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_020810ac: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02081070 - - .global func_ov00_020810b8 - arm_func_start func_ov00_020810b8 -func_ov00_020810b8: ; 0x020810b8 - stmdb sp!, {r3, r4, r5, lr} - mov r4, r1 - mov r2, #0 - mov r5, r0 - mov r1, #1 - strb r2, [sp] - bl func_ov00_020817dc - mov r0, r5 - mov r2, r4 - mov r1, #1 - bl func_ov00_02081604 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_020810b8 - - .global func_ov00_020810e8 - arm_func_start func_ov00_020810e8 -func_ov00_020810e8: ; 0x020810e8 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r1, [r4] - cmp r1, #0 - beq _02081124 - ldr r1, [r4, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_020818ac - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_02081124: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_020810e8 - - .global func_ov00_02081130 - arm_func_start func_ov00_02081130 -func_ov00_02081130: ; 0x02081130 - stmdb sp!, {r3, r4, r5, lr} - mov r4, r1 - mov r2, #0 - mov r5, r0 - mov r1, #1 - strb r2, [sp] - bl func_ov00_02081a90 - mov r0, r5 - mov r2, r4 - mov r1, #1 - bl func_ov00_020818bc - ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02081130 - - .global func_ov00_02081160 - arm_func_start func_ov00_02081160 -func_ov00_02081160: ; 0x02081160 - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #0x1c - mov r6, r0 - mov r5, r1 - add r0, sp, #8 - add r1, r6, #8 - mov r4, r2 - bl func_ov00_02081e7c - mov r0, #0 - str r0, [sp, #0x18] - ldmib r6, {r0, r1} - add r2, r0, r5 - mov r0, r6 - sub r1, r2, r1 - bl func_ov00_020812bc - mov r3, #0 - mov r1, r0 - strb r3, [sp, #4] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - add r0, sp, #8 - strb r3, [sp] - bl func_ov00_02081e3c - ldr r1, [r6, #4] - ldr r0, [sp, #8] - str r1, [sp, #0x18] - add r1, r0, r1, lsl #2 - ldr r0, [sp, #0xc] - cmp r5, #0 - add r1, r1, r0, lsl #2 - mov r0, #0 - strb r0, [sp, #3] - mov r2, r5 - beq _020811fc -_020811ec: - ldr r0, [r4] - subs r2, r2, #1 - str r0, [r1], #4 - bne _020811ec -_020811fc: - ldr r0, [sp, #0xc] - ldr r1, [sp, #0x18] - add r0, r0, r5 - str r0, [sp, #0xc] - ldr r4, [r6] - ldr r0, [r6, #4] - mov ip, #0 - add r0, r4, r0, lsl #2 - sub r2, r0, r4 - mov r0, r2, asr #0x1 - add r5, r2, r0, lsr #30 - sub r3, r1, r5, asr #2 - mov r2, r5, asr #0x2 - ldr r0, [sp, #8] - mov r7, r2, lsl #0x2 - mov r1, r4 - mov r2, r7 - add r0, r0, r3, lsl #2 - strb ip, [sp, #2] - str r3, [sp, #0x18] - bl func_02043594 - mov r0, r4 - mov r2, r7 - mov r1, #0 - bl func_02043600 - ldr r1, [sp, #0xc] - mov r0, #0 - add r1, r1, r5, asr #2 - str r1, [sp, #0xc] - strb r0, [sp, #1] - str r0, [r6, #4] - add r3, sp, #0x10 - ldr r2, [r6, #8] - ldr r1, [r3] - add r0, sp, #8 - str r1, [r6, #8] - str r2, [r3] - ldr r2, [r6] - ldr r1, [sp, #8] - str r1, [r6] - str r2, [sp, #8] - ldr r2, [r6, #4] - ldr r1, [sp, #0xc] - str r1, [r6, #4] - str r2, [sp, #0xc] - bl func_ov00_02081b60 - add sp, sp, #0x1c - ldmia sp!, {r4, r5, r6, r7, pc} - arm_func_end func_ov00_02081160 - - .global func_ov00_020812bc - arm_func_start func_ov00_020812bc -func_ov00_020812bc: ; 0x020812bc - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, lr} - sub sp, sp, #8 - ldr r4, [r0, #8] - mvn r0, #0xc0000000 - ldr r1, [sp, #0x14] - sub r0, r0, r4 - cmp r1, r0 - bls _020812e4 - bl func_0204dd9c -_020812e4: - ldr r0, _02081380 ; =0x15555555 - cmp r4, r0 - bhs _02081330 - add r1, r4, #1 - ldr r0, _02081384 ; =0xcccccccd - add r1, r1, r1, lsl #1 - umull r0, r2, r1, r0 - mov r2, r2, lsr #0x2 - ldr r0, [sp, #0x14] - str r2, [sp, #4] - cmp r0, r2 - addhi r0, sp, #0x14 - addls r0, sp, #4 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_02081330: - cmp r4, r0, lsl #1 - bhs _0208136c - ldr r0, [sp, #0x14] - add r1, r4, #1 - mov r2, r1, lsr #0x1 - cmp r0, r1, lsr #1 - addhi r0, sp, #0x14 - str r2, [sp] - addls r0, sp, #0 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_0208136c: - mvn r0, #0xc0000000 - add sp, sp, #8 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr - .align 2, 0 - arm_func_end func_ov00_020812bc -_02081380: .word 0x15555555 -_02081384: .word 0xcccccccd - - .global func_ov00_02081388 - arm_func_start func_ov00_02081388 -func_ov00_02081388: ; 0x02081388 - ldr r2, [r0, #4] - sub r1, r2, r1 - str r1, [r0, #4] - bx lr - arm_func_end func_ov00_02081388 - - .global func_ov00_02081398 - arm_func_start func_ov00_02081398 -func_ov00_02081398: ; 0x02081398 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0x1c - mov r6, r0 - mov r5, r1 - add r0, sp, #8 - add r1, r6, #8 - mov r4, r2 - bl func_ov00_02081dd0 - mov r0, #0 - str r0, [sp, #0x18] - ldmib r6, {r0, r1} - add r2, r0, r5 - mov r0, r6 - sub r1, r2, r1 - bl func_ov00_02081524 - mov r3, #0 - mov r1, r0 - strb r3, [sp, #4] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - add r0, sp, #8 - strb r3, [sp] - bl func_ov00_02081d88 - ldr ip, [r6, #4] - mov r0, #0 - strb r0, [sp, #3] - ldr r1, [sp, #8] - mov r0, #0x14 - mla r2, ip, r0, r1 - ldr r1, [sp, #0xc] - str ip, [sp, #0x18] - mla ip, r1, r0, r2 - cmp r5, #0 - mov r3, r5 - beq _02081454 -_02081428: - ldmia r4, {r0, r1, r2} - stmia ip, {r0, r1, r2} - ldrsh r0, [r4, #0xc] - subs r3, r3, #1 - strh r0, [ip, #0xc] - ldrb r0, [r4, #0xe] - strb r0, [ip, #0xe] - ldr r0, [r4, #0x10] - str r0, [ip, #0x10] - add ip, ip, #0x14 - bne _02081428 -_02081454: - ldr r1, [sp, #0xc] - mov r0, #0x14 - add r1, r1, r5 - str r1, [sp, #0xc] - ldr lr, [r6] - ldr r1, [r6, #4] - mov r4, #0 - mla r3, r1, r0, lr - ldr r2, [sp, #8] - ldr r1, [sp, #0x18] - strb r4, [sp, #2] - mla ip, r1, r0, r2 - cmp r3, lr - bls _020814d8 -_0208148c: - sub r3, r3, #0x14 - subs ip, ip, #0x14 - beq _020814b8 - ldmia r3, {r0, r1, r2} - stmia ip, {r0, r1, r2} - ldrsh r0, [r3, #0xc] - strh r0, [ip, #0xc] - ldrb r0, [r3, #0xe] - strb r0, [ip, #0xe] - ldr r0, [r3, #0x10] - str r0, [ip, #0x10] -_020814b8: - ldr r1, [sp, #0x18] - ldr r0, [sp, #0xc] - sub r1, r1, #1 - add r0, r0, #1 - str r1, [sp, #0x18] - str r0, [sp, #0xc] - cmp r3, lr - bhi _0208148c -_020814d8: - mov r0, #0 - strb r0, [sp, #1] - add r3, sp, #0x10 - ldr r2, [r6, #8] - ldr r1, [r3] - add r0, sp, #8 - str r1, [r6, #8] - str r2, [r3] - ldr r2, [r6] - ldr r1, [sp, #8] - str r1, [r6] - str r2, [sp, #8] - ldr r2, [r6, #4] - ldr r1, [sp, #0xc] - str r1, [r6, #4] - str r2, [sp, #0xc] - bl func_ov00_02081b7c - add sp, sp, #0x1c - ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end func_ov00_02081398 - - .global func_ov00_02081524 - arm_func_start func_ov00_02081524 -func_ov00_02081524: ; 0x02081524 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, lr} - sub sp, sp, #8 - ldr r4, [r0, #8] - ldr r0, _020815e8 ; =0x0ccccccc - ldr r1, [sp, #0x14] - sub r0, r0, r4 - cmp r1, r0 - bls _0208154c - bl func_0204dd9c -_0208154c: - ldr r0, _020815ec ; =0x04444444 - cmp r4, r0 - bhs _02081598 - add r1, r4, #1 - ldr r0, _020815f0 ; =0xcccccccd - add r1, r1, r1, lsl #1 - umull r0, r2, r1, r0 - mov r2, r2, lsr #0x2 - ldr r0, [sp, #0x14] - str r2, [sp, #4] - cmp r0, r2 - addhi r0, sp, #0x14 - addls r0, sp, #4 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_02081598: - cmp r4, r0, lsl #1 - bhs _020815d4 - ldr r0, [sp, #0x14] - add r1, r4, #1 - mov r2, r1, lsr #0x1 - cmp r0, r1, lsr #1 - addhi r0, sp, #0x14 - str r2, [sp] - addls r0, sp, #0 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_020815d4: - ldr r0, _020815e8 ; =0x0ccccccc - add sp, sp, #8 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr - .align 2, 0 - arm_func_end func_ov00_02081524 -_020815e8: .word 0x0ccccccc -_020815ec: .word 0x04444444 -_020815f0: .word 0xcccccccd - - .global func_ov00_020815f4 - arm_func_start func_ov00_020815f4 -func_ov00_020815f4: ; 0x020815f4 - ldr r2, [r0, #4] - sub r1, r2, r1 - str r1, [r0, #4] - bx lr - arm_func_end func_ov00_020815f4 - - .global func_ov00_02081604 - arm_func_start func_ov00_02081604 -func_ov00_02081604: ; 0x02081604 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0x1c - mov r4, r0 - mov r6, r1 - add r0, sp, #8 - add r1, r4, #8 - mov r5, r2 - bl func_ov00_02081d18 - mov r0, #0 - str r0, [sp, #0x18] - ldmib r4, {r0, r1} - add r2, r0, r6 - mov r0, r4 - sub r1, r2, r1 - bl func_ov00_020817dc - mov r3, #0 - mov r1, r0 - strb r3, [sp, #4] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - add r0, sp, #8 - strb r3, [sp] - bl func_ov00_02081cd0 - ldr ip, [r4, #4] - mov r0, #0 - strb r0, [sp, #3] - ldr r2, [sp, #8] - mov r0, #0x18 - mla r3, ip, r0, r2 - ldr r2, [sp, #0xc] - str ip, [sp, #0x18] - mla r0, r2, r0, r3 - cmp r6, #0 - mov r1, r6 - beq _020816e8 -_02081694: - ldr r2, [r5] - subs r1, r1, #1 - str r2, [r0] - ldr r2, [r5, #4] - str r2, [r0, #4] - ldr r2, [r5, #8] - str r2, [r0, #8] - ldr r2, [r5, #0xc] - str r2, [r0, #0xc] - ldrsh r2, [r5, #0x10] - strh r2, [r0, #0x10] - ldrb r2, [r5, #0x12] - strb r2, [r0, #0x12] - ldrb r2, [r5, #0x13] - strb r2, [r0, #0x13] - ldrb r2, [r5, #0x14] - strb r2, [r0, #0x14] - ldrb r2, [r5, #0x15] - strb r2, [r0, #0x15] - add r0, r0, #0x18 - bne _02081694 -_020816e8: - ldr r0, [sp, #0xc] - mov r1, #0x18 - add r0, r0, r6 - str r0, [sp, #0xc] - ldmia r4, {r2, r3} - mla r0, r3, r1, r2 - mov r6, #0 - ldr r5, [sp, #8] - ldr r3, [sp, #0x18] - strb r6, [sp, #2] - mla r1, r3, r1, r5 - cmp r0, r2 - bls _02081790 -_0208171c: - sub r0, r0, #0x18 - subs r1, r1, #0x18 - beq _02081770 - ldr r3, [r0] - str r3, [r1] - ldr r3, [r0, #4] - str r3, [r1, #4] - ldr r3, [r0, #8] - str r3, [r1, #8] - ldr r3, [r0, #0xc] - str r3, [r1, #0xc] - ldrsh r3, [r0, #0x10] - strh r3, [r1, #0x10] - ldrb r3, [r0, #0x12] - strb r3, [r1, #0x12] - ldrb r3, [r0, #0x13] - strb r3, [r1, #0x13] - ldrb r3, [r0, #0x14] - strb r3, [r1, #0x14] - ldrb r3, [r0, #0x15] - strb r3, [r1, #0x15] -_02081770: - ldr r5, [sp, #0x18] - ldr r3, [sp, #0xc] - sub r5, r5, #1 - add r3, r3, #1 - str r5, [sp, #0x18] - str r3, [sp, #0xc] - cmp r0, r2 - bhi _0208171c -_02081790: - mov r0, #0 - strb r0, [sp, #1] - add r3, sp, #0x10 - ldr r2, [r4, #8] - ldr r1, [r3] - add r0, sp, #8 - str r1, [r4, #8] - str r2, [r3] - ldr r2, [r4] - ldr r1, [sp, #8] - str r1, [r4] - str r2, [sp, #8] - ldr r2, [r4, #4] - ldr r1, [sp, #0xc] - str r1, [r4, #4] - str r2, [sp, #0xc] - bl func_ov00_02081b98 - add sp, sp, #0x1c - ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end func_ov00_02081604 - - .global func_ov00_020817dc - arm_func_start func_ov00_020817dc -func_ov00_020817dc: ; 0x020817dc - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, lr} - sub sp, sp, #8 - ldr r4, [r0, #8] - ldr r0, _020818a0 ; =0x0aaaaaaa - ldr r1, [sp, #0x14] - sub r0, r0, r4 - cmp r1, r0 - bls _02081804 - bl func_0204dd9c -_02081804: - ldr r0, _020818a4 ; =0x038e38e3 - cmp r4, r0 - bhs _02081850 - add r1, r4, #1 - ldr r0, _020818a8 ; =0xcccccccd - add r1, r1, r1, lsl #1 - umull r0, r2, r1, r0 - mov r2, r2, lsr #0x2 - ldr r0, [sp, #0x14] - str r2, [sp, #4] - cmp r0, r2 - addhi r0, sp, #0x14 - addls r0, sp, #4 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_02081850: - cmp r4, r0, lsl #1 - bhs _0208188c - ldr r0, [sp, #0x14] - add r1, r4, #1 - mov r2, r1, lsr #0x1 - cmp r0, r1, lsr #1 - addhi r0, sp, #0x14 - str r2, [sp] - addls r0, sp, #0 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_0208188c: - ldr r0, _020818a0 ; =0x0aaaaaaa - add sp, sp, #8 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr - .align 2, 0 - arm_func_end func_ov00_020817dc -_020818a0: .word 0x0aaaaaaa -_020818a4: .word 0x038e38e3 -_020818a8: .word 0xcccccccd - - .global func_ov00_020818ac - arm_func_start func_ov00_020818ac -func_ov00_020818ac: ; 0x020818ac - ldr r2, [r0, #4] - sub r1, r2, r1 - str r1, [r0, #4] - bx lr - arm_func_end func_ov00_020818ac - - .global func_ov00_020818bc - arm_func_start func_ov00_020818bc -func_ov00_020818bc: ; 0x020818bc - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0x1c - mov r4, r0 - mov r6, r1 - add r0, sp, #8 - add r1, r4, #8 - mov r5, r2 - bl func_ov00_02081c60 - mov r0, #0 - str r0, [sp, #0x18] - ldmib r4, {r0, r1} - add r2, r0, r6 - mov r0, r4 - sub r1, r2, r1 - bl func_ov00_02081a90 - mov r3, #0 - mov r1, r0 - strb r3, [sp, #4] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - add r0, sp, #8 - strb r3, [sp] - bl func_ov00_02081c18 - ldr ip, [r4, #4] - mov r0, #0 - strb r0, [sp, #3] - ldr r2, [sp, #8] - mov r0, #0x1c - mla r3, ip, r0, r2 - ldr r2, [sp, #0xc] - str ip, [sp, #0x18] - mla r0, r2, r0, r3 - cmp r6, #0 - mov r1, r6 - beq _020819a0 -_0208194c: - ldr r2, [r5] - subs r1, r1, #1 - str r2, [r0] - ldrb r2, [r5, #4] - strb r2, [r0, #4] - ldr r2, [r5, #8] - str r2, [r0, #8] - ldr r2, [r5, #0xc] - str r2, [r0, #0xc] - ldr r2, [r5, #0x10] - str r2, [r0, #0x10] - ldrsh r2, [r5, #0x14] - strh r2, [r0, #0x14] - ldrsh r2, [r5, #0x16] - strh r2, [r0, #0x16] - ldrh r3, [r5, #0x18] - ldrh r2, [r5, #0x1a] - strh r3, [r0, #0x18] - strh r2, [r0, #0x1a] - add r0, r0, #0x1c - bne _0208194c -_020819a0: - ldr r1, [sp, #0xc] - mov r0, #0x1c - add r1, r1, r6 - str r1, [sp, #0xc] - ldr lr, [r4] - ldr r1, [r4, #4] - mov r5, #0 - mla r3, r1, r0, lr - ldr r2, [sp, #8] - ldr r1, [sp, #0x18] - strb r5, [sp, #2] - mla ip, r1, r0, r2 - cmp r3, lr - bls _02081a44 -_020819d8: - sub r3, r3, #0x1c - subs ip, ip, #0x1c - beq _02081a24 - ldr r1, [r3] - add r0, r3, #8 - str r1, [ip] - ldrb r1, [r3, #4] - add r5, ip, #8 - strb r1, [ip, #4] - ldmia r0, {r0, r1, r2} - stmia r5, {r0, r1, r2} - ldrsh r0, [r3, #0x14] - strh r0, [ip, #0x14] - ldrsh r0, [r3, #0x16] - strh r0, [ip, #0x16] - ldrh r1, [r3, #0x18] - ldrh r0, [r3, #0x1a] - strh r1, [ip, #0x18] - strh r0, [ip, #0x1a] -_02081a24: - ldr r1, [sp, #0x18] - ldr r0, [sp, #0xc] - sub r1, r1, #1 - add r0, r0, #1 - str r1, [sp, #0x18] - str r0, [sp, #0xc] - cmp r3, lr - bhi _020819d8 -_02081a44: - mov r0, #0 - strb r0, [sp, #1] - add r3, sp, #0x10 - ldr r2, [r4, #8] - ldr r1, [r3] - add r0, sp, #8 - str r1, [r4, #8] - str r2, [r3] - ldr r2, [r4] - ldr r1, [sp, #8] - str r1, [r4] - str r2, [sp, #8] - ldr r2, [r4, #4] - ldr r1, [sp, #0xc] - str r1, [r4, #4] - str r2, [sp, #0xc] - bl func_ov00_02081bb4 - add sp, sp, #0x1c - ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end func_ov00_020818bc - - .global func_ov00_02081a90 - arm_func_start func_ov00_02081a90 -func_ov00_02081a90: ; 0x02081a90 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, lr} - sub sp, sp, #8 - ldr r4, [r0, #8] - ldr r0, _02081b54 ; =0x09249249 - ldr r1, [sp, #0x14] - sub r0, r0, r4 - cmp r1, r0 - bls _02081ab8 - bl func_0204dd9c -_02081ab8: - ldr r0, _02081b58 ; =0x030c30c3 - cmp r4, r0 - bhs _02081b04 - add r1, r4, #1 - ldr r0, _02081b5c ; =0xcccccccd - add r1, r1, r1, lsl #1 - umull r0, r2, r1, r0 - mov r2, r2, lsr #0x2 - ldr r0, [sp, #0x14] - str r2, [sp, #4] - cmp r0, r2 - addhi r0, sp, #0x14 - addls r0, sp, #4 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_02081b04: - cmp r4, r0, lsl #1 - bhs _02081b40 - ldr r0, [sp, #0x14] - add r1, r4, #1 - mov r2, r1, lsr #0x1 - cmp r0, r1, lsr #1 - addhi r0, sp, #0x14 - str r2, [sp] - addls r0, sp, #0 - ldr r0, [r0] - add sp, sp, #8 - add r0, r4, r0 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr -_02081b40: - ldr r0, _02081b54 ; =0x09249249 - add sp, sp, #8 - ldmia sp!, {r4, lr} - add sp, sp, #0x10 - bx lr - .align 2, 0 - arm_func_end func_ov00_02081a90 -_02081b54: .word 0x09249249 -_02081b58: .word 0x030c30c3 -_02081b5c: .word 0xcccccccd - - .global func_ov00_02081b60 - arm_func_start func_ov00_02081b60 -func_ov00_02081b60: ; 0x02081b60 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r1, #0 - str r1, [r4, #4] - bl func_ov00_02081df8 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081b60 - - .global func_ov00_02081b7c - arm_func_start func_ov00_02081b7c -func_ov00_02081b7c: ; 0x02081b7c - stmdb sp!, {r4, lr} - mov r4, r0 - mov r1, #0 - str r1, [r4, #4] - bl func_ov00_02081d40 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081b7c - - .global func_ov00_02081b98 - arm_func_start func_ov00_02081b98 -func_ov00_02081b98: ; 0x02081b98 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r1, #0 - str r1, [r4, #4] - bl func_ov00_02081c88 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081b98 - - .global func_ov00_02081bb4 - arm_func_start func_ov00_02081bb4 -func_ov00_02081bb4: ; 0x02081bb4 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r1, #0 - str r1, [r4, #4] - bl func_ov00_02081bd0 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081bb4 - - .global func_ov00_02081bd0 - arm_func_start func_ov00_02081bd0 -func_ov00_02081bd0: ; 0x02081bd0 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r1, [r4] - cmp r1, #0 - beq _02081c0c - ldr r1, [r4, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_02081ec4 - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_02081c0c: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02081bd0 - - .global func_ov00_02081c18 - arm_func_start func_ov00_02081c18 -func_ov00_02081c18: ; 0x02081c18 - stmdb sp!, {r3, r4, r5, lr} - ldr r2, _02081c58 ; =0x09249249 - mov r4, r1 - mov r5, r0 - cmp r4, r2 - bls _02081c34 - bl func_0204dd9c -_02081c34: - mov r0, #0x1c - mul r0, r4, r0 - ldr r1, _02081c5c ; =data_027e0ce0 - mov r2, #4 - ldr r1, [r1, #4] - bl _ZN9SysObjectnwEmPjj - str r0, [r5] - str r4, [r5, #8] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02081c18 -_02081c58: .word 0x09249249 -_02081c5c: .word data_027e0ce0 - - .global func_ov00_02081c60 - arm_func_start func_ov00_02081c60 -func_ov00_02081c60: ; 0x02081c60 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r2, r1 - mov r1, #0 - str r1, [r4] - add r0, r4, #8 - str r1, [r4, #4] - bl func_ov00_02081ea4 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081c60 - - .global func_ov00_02081c88 - arm_func_start func_ov00_02081c88 -func_ov00_02081c88: ; 0x02081c88 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r1, [r4] - cmp r1, #0 - beq _02081cc4 - ldr r1, [r4, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_02081ed4 - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_02081cc4: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02081c88 - - .global func_ov00_02081cd0 - arm_func_start func_ov00_02081cd0 -func_ov00_02081cd0: ; 0x02081cd0 - stmdb sp!, {r3, r4, r5, lr} - ldr r2, _02081d10 ; =0x0aaaaaaa - mov r4, r1 - mov r5, r0 - cmp r4, r2 - bls _02081cec - bl func_0204dd9c -_02081cec: - mov r0, #0x18 - mul r0, r4, r0 - ldr r1, _02081d14 ; =data_027e0ce0 - mov r2, #4 - ldr r1, [r1, #4] - bl _ZN9SysObjectnwEmPjj - str r0, [r5] - str r4, [r5, #8] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02081cd0 -_02081d10: .word 0x0aaaaaaa -_02081d14: .word data_027e0ce0 - - .global func_ov00_02081d18 - arm_func_start func_ov00_02081d18 -func_ov00_02081d18: ; 0x02081d18 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r2, r1 - mov r1, #0 - str r1, [r4] - add r0, r4, #8 - str r1, [r4, #4] - bl func_ov00_02081eac - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081d18 - - .global func_ov00_02081d40 - arm_func_start func_ov00_02081d40 -func_ov00_02081d40: ; 0x02081d40 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r1, [r4] - cmp r1, #0 - beq _02081d7c - ldr r1, [r4, #4] - mov r3, #0 - strb r3, [sp] - sub r2, sp, #4 - strb r3, [r2] - ldr r2, [r2] - bl func_ov00_02081ee4 - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_02081d7c: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02081d40 - - .global func_ov00_02081d88 - arm_func_start func_ov00_02081d88 -func_ov00_02081d88: ; 0x02081d88 - stmdb sp!, {r3, r4, r5, lr} - ldr r2, _02081dc8 ; =0x0ccccccc - mov r4, r1 - mov r5, r0 - cmp r4, r2 - bls _02081da4 - bl func_0204dd9c -_02081da4: - mov r0, #0x14 - mul r0, r4, r0 - ldr r1, _02081dcc ; =data_027e0ce0 - mov r2, #4 - ldr r1, [r1, #4] - bl _ZN9SysObjectnwEmPjj - str r0, [r5] - str r4, [r5, #8] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02081d88 -_02081dc8: .word 0x0ccccccc -_02081dcc: .word data_027e0ce0 - - .global func_ov00_02081dd0 - arm_func_start func_ov00_02081dd0 -func_ov00_02081dd0: ; 0x02081dd0 - stmdb sp!, {r4, lr} - mov r4, r0 - mov r2, r1 - mov r1, #0 - str r1, [r4] - add r0, r4, #8 - str r1, [r4, #4] - bl func_ov00_02081eb4 - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081dd0 - - .global func_ov00_02081df8 - arm_func_start func_ov00_02081df8 -func_ov00_02081df8: ; 0x02081df8 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - mov r4, r0 - ldr r0, [r4] - cmp r0, #0 - beq _02081e30 - ldr r1, [r4, #4] - mov r0, #0 - strb r0, [sp] - ldr r0, [r4, #4] - sub r0, r0, r1 - str r0, [r4, #4] - ldr r0, [r4] - bl _ZN9SysObjectdlEPv -_02081e30: - mov r0, r4 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_02081df8 - - .global func_ov00_02081e3c - arm_func_start func_ov00_02081e3c -func_ov00_02081e3c: ; 0x02081e3c - stmdb sp!, {r3, r4, r5, lr} - mov r4, r1 - mvn r1, #0xc0000000 - mov r5, r0 - cmp r4, r1 - bls _02081e58 - bl func_0204dd9c -_02081e58: - ldr r1, _02081e78 ; =data_027e0ce0 - mov r0, r4, lsl #0x2 - ldr r1, [r1, #4] - mov r2, #4 - bl _ZN9SysObjectnwEmPjj - str r0, [r5] - str r4, [r5, #8] - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end func_ov00_02081e3c -_02081e78: .word data_027e0ce0 - - .global func_ov00_02081e7c - arm_func_start func_ov00_02081e7c -func_ov00_02081e7c: ; 0x02081e7c - stmdb sp!, {r4, lr} - mov r4, r0 - mov r2, r1 - mov r1, #0 - str r1, [r4] - add r0, r4, #8 - str r1, [r4, #4] - bl func_ov00_02081ebc - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081e7c - - .global func_ov00_02081ea4 - arm_func_start func_ov00_02081ea4 -func_ov00_02081ea4: ; 0x02081ea4 - stmia r0, {r1, r2} - bx lr - arm_func_end func_ov00_02081ea4 - - .global func_ov00_02081eac - arm_func_start func_ov00_02081eac -func_ov00_02081eac: ; 0x02081eac - stmia r0, {r1, r2} - bx lr - arm_func_end func_ov00_02081eac - - .global func_ov00_02081eb4 - arm_func_start func_ov00_02081eb4 -func_ov00_02081eb4: ; 0x02081eb4 - stmia r0, {r1, r2} - bx lr - arm_func_end func_ov00_02081eb4 - - .global func_ov00_02081ebc - arm_func_start func_ov00_02081ebc -func_ov00_02081ebc: ; 0x02081ebc - stmia r0, {r1, r2} - bx lr - arm_func_end func_ov00_02081ebc - - .global func_ov00_02081ec4 - arm_func_start func_ov00_02081ec4 -func_ov00_02081ec4: ; 0x02081ec4 - ldr r2, [r0, #4] - sub r1, r2, r1 - str r1, [r0, #4] - bx lr - arm_func_end func_ov00_02081ec4 - - .global func_ov00_02081ed4 - arm_func_start func_ov00_02081ed4 -func_ov00_02081ed4: ; 0x02081ed4 - ldr r2, [r0, #4] - sub r1, r2, r1 - str r1, [r0, #4] - bx lr - arm_func_end func_ov00_02081ed4 - - .global func_ov00_02081ee4 - arm_func_start func_ov00_02081ee4 -func_ov00_02081ee4: ; 0x02081ee4 - ldr r2, [r0, #4] - sub r1, r2, r1 - str r1, [r0, #4] - bx lr - arm_func_end func_ov00_02081ee4 - - .global func_ov00_02081ef4 - arm_func_start func_ov00_02081ef4 -func_ov00_02081ef4: ; 0x02081ef4 - ldr r1, _02081f34 ; =0x0000ffff - mov r2, #0 - strh r1, [r0, #0x24] - strh r1, [r0, #0x26] - strh r1, [r0, #0x28] - strh r1, [r0, #0x2a] - strh r2, [r0, #0x2c] - sub r1, r2, #1 - str r1, [r0, #0x54] - strb r2, [r0, #0x58] - strb r2, [r0, #0x59] - strb r2, [r0, #0x5a] - strb r2, [r0, #0x5b] - strb r2, [r0, #0x5c] - strb r2, [r0, #0x5d] - bx lr - .align 2, 0 - arm_func_end func_ov00_02081ef4 -_02081f34: .word 0x0000ffff - - .global func_ov00_02081f38 - arm_func_start func_ov00_02081f38 -func_ov00_02081f38: ; 0x02081f38 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081f38 - - .global func_ov00_02081f4c - arm_func_start func_ov00_02081f4c -func_ov00_02081f4c: ; 0x02081f4c - bx lr - arm_func_end func_ov00_02081f4c - - .global func_ov00_02081f50 - arm_func_start func_ov00_02081f50 -func_ov00_02081f50: ; 0x02081f50 - mov r0, #1 - bx lr - arm_func_end func_ov00_02081f50 - - .global func_ov00_02081f58 - arm_func_start func_ov00_02081f58 -func_ov00_02081f58: ; 0x02081f58 - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_02081f58 - - .global func_ov00_02081f6c - arm_func_start func_ov00_02081f6c -func_ov00_02081f6c: ; 0x02081f6c - bx lr - arm_func_end func_ov00_02081f6c - - .global func_ov00_02081f70 - arm_func_start func_ov00_02081f70 -func_ov00_02081f70: ; 0x02081f70 - mov r0, #1 - bx lr - arm_func_end func_ov00_02081f70 - - .global func_ov00_02081f78 - arm_func_start func_ov00_02081f78 -func_ov00_02081f78: ; 0x02081f78 - mov r0, #1 - bx lr - arm_func_end func_ov00_02081f78 - - .global func_ov00_02081f80 - arm_func_start func_ov00_02081f80 -func_ov00_02081f80: ; 0x02081f80 - stmdb sp!, {r4, lr} - mov r4, r1 - mov r0, r4 - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x10 - bgt _02081fcc - bge _02081fec - cmp r0, #3 - bgt _02081fc0 - cmp r0, #1 - blt _02081ffc - cmpne r0, #3 - beq _02081fec - b _02081ffc -_02081fc0: - cmp r0, #0xe - beq _02081fec - b _02081ffc -_02081fcc: - cmp r0, #0x1c - bgt _02081fe4 - bge _02081fec - cmp r0, #0x17 - beq _02081fec - b _02081ffc -_02081fe4: - cmp r0, #0x38 - bne _02081ffc - arm_func_end func_ov00_02081f80 -_02081fec: - mov r0, r4 - ldr r1, [r0] - ldr r1, [r1, #0x20] - blx r1 -_02081ffc: - mov r0, #1 - ldmia sp!, {r4, pc} - - .global func_ov00_02082004 - arm_func_start func_ov00_02082004 -func_ov00_02082004: ; 0x02082004 - mov r0, #1 - bx lr - arm_func_end func_ov00_02082004 - - .global func_ov00_0208200c - arm_func_start func_ov00_0208200c -func_ov00_0208200c: ; 0x0208200c - mov r0, #1 - bx lr - arm_func_end func_ov00_0208200c - - .global func_ov00_02082014 - arm_func_start func_ov00_02082014 -func_ov00_02082014: ; 0x02082014 - stmdb sp!, {r4, lr} - mov r4, r1 - mov r0, r4 - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x10 - bgt _02082054 - cmp r0, #0xe - blt _02082048 - cmpne r0, #0x10 - beq _0208206c - b _0208207c -_02082048: - cmp r0, #3 - beq _0208206c - b _0208207c -_02082054: - cmp r0, #0x17 - bgt _02082064 - beq _0208206c - b _0208207c -_02082064: - cmp r0, #0x1c - bne _0208207c - arm_func_end func_ov00_02082014 -_0208206c: - mov r0, r4 - ldr r1, [r0] - ldr r1, [r1, #0x20] - blx r1 -_0208207c: - mov r0, #1 - ldmia sp!, {r4, pc} - - .global func_ov00_02082084 - arm_func_start func_ov00_02082084 -func_ov00_02082084: ; 0x02082084 - mov r0, #1 - bx lr - arm_func_end func_ov00_02082084 - - .global func_ov00_0208208c - arm_func_start func_ov00_0208208c -func_ov00_0208208c: ; 0x0208208c - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02081f4c - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_0208208c - - .global func_ov00_020820a0 - arm_func_start func_ov00_020820a0 -func_ov00_020820a0: ; 0x020820a0 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02081f4c - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_020820a0 - - .global func_ov00_020820bc - arm_func_start func_ov00_020820bc -func_ov00_020820bc: ; 0x020820bc - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02081f4c - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_020820bc - - .global func_ov00_020820d0 - arm_func_start func_ov00_020820d0 -func_ov00_020820d0: ; 0x020820d0 - stmdb sp!, {r4, lr} - mov r4, r0 - bl func_ov00_02081f4c - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r4, pc} - arm_func_end func_ov00_020820d0 - - .rodata - .global data_ov00_020d8798 -data_ov00_020d8798: ; 0x020d8798 - .byte 0x03 - .global data_ov00_020d8799 -data_ov00_020d8799: ; 0x020d8799 - .byte 0x03 - .global data_ov00_020d879a -data_ov00_020d879a: ; 0x020d879a - .byte 0x02 - .global data_ov00_020d879b -data_ov00_020d879b: ; 0x020d879b - .byte 0x02 - .global data_ov00_020d879c -data_ov00_020d879c: ; 0x020d879c - .byte 0x02 - .global data_ov00_020d879d -data_ov00_020d879d: ; 0x020d879d - .byte 0x01 - .global data_ov00_020d879e -data_ov00_020d879e: ; 0x020d879e - .byte 0x01 - .global data_ov00_020d879f -data_ov00_020d879f: ; 0x020d879f - .byte 0x00 - .global data_ov00_020d87a0 -data_ov00_020d87a0: ; 0x020d87a0 - .byte 0x80, 0x00, 0x00, 0x00 - .global data_ov00_020d87a4 -data_ov00_020d87a4: ; 0x020d87a4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87a8 -data_ov00_020d87a8: ; 0x020d87a8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87ac -data_ov00_020d87ac: ; 0x020d87ac - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87b0 -data_ov00_020d87b0: ; 0x020d87b0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87b4 -data_ov00_020d87b4: ; 0x020d87b4 - .byte 0x80, 0x00, 0x00, 0x00 - .global data_ov00_020d87b8 -data_ov00_020d87b8: ; 0x020d87b8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87bc -data_ov00_020d87bc: ; 0x020d87bc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87c0 -data_ov00_020d87c0: ; 0x020d87c0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87c4 -data_ov00_020d87c4: ; 0x020d87c4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87c8 -data_ov00_020d87c8: ; 0x020d87c8 - .byte 0x80, 0xff, 0xff, 0xff - .global data_ov00_020d87cc -data_ov00_020d87cc: ; 0x020d87cc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87d0 -data_ov00_020d87d0: ; 0x020d87d0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87d4 -data_ov00_020d87d4: ; 0x020d87d4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87d8 -data_ov00_020d87d8: ; 0x020d87d8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87dc -data_ov00_020d87dc: ; 0x020d87dc - .byte 0x80, 0x00, 0x00, 0x00 - .global data_ov00_020d87e0 -data_ov00_020d87e0: ; 0x020d87e0 - .byte 0x00, 0x01, 0x00, 0x00 - .global data_ov00_020d87e4 -data_ov00_020d87e4: ; 0x020d87e4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87e8 -data_ov00_020d87e8: ; 0x020d87e8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87ec -data_ov00_020d87ec: ; 0x020d87ec - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87f0 -data_ov00_020d87f0: ; 0x020d87f0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87f4 -data_ov00_020d87f4: ; 0x020d87f4 - .byte 0x00, 0x01, 0x00, 0x00 - .global data_ov00_020d87f8 -data_ov00_020d87f8: ; 0x020d87f8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d87fc -data_ov00_020d87fc: ; 0x020d87fc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8800 -data_ov00_020d8800: ; 0x020d8800 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8804 -data_ov00_020d8804: ; 0x020d8804 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8808 -data_ov00_020d8808: ; 0x020d8808 - .byte 0x00, 0xff, 0xff, 0xff - .global data_ov00_020d880c -data_ov00_020d880c: ; 0x020d880c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8810 -data_ov00_020d8810: ; 0x020d8810 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8814 -data_ov00_020d8814: ; 0x020d8814 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8818 -data_ov00_020d8818: ; 0x020d8818 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d881c -data_ov00_020d881c: ; 0x020d881c - .byte 0x00, 0x01, 0x00, 0x00 - .global data_ov00_020d8820 -data_ov00_020d8820: ; 0x020d8820 - .byte 0x80, 0x01, 0x00, 0x00 - .global data_ov00_020d8824 -data_ov00_020d8824: ; 0x020d8824 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8828 -data_ov00_020d8828: ; 0x020d8828 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d882c -data_ov00_020d882c: ; 0x020d882c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8830 -data_ov00_020d8830: ; 0x020d8830 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8834 -data_ov00_020d8834: ; 0x020d8834 - .byte 0x80, 0x01, 0x00, 0x00 - .global data_ov00_020d8838 -data_ov00_020d8838: ; 0x020d8838 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d883c -data_ov00_020d883c: ; 0x020d883c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8840 -data_ov00_020d8840: ; 0x020d8840 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8844 -data_ov00_020d8844: ; 0x020d8844 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8848 -data_ov00_020d8848: ; 0x020d8848 - .byte 0x80, 0xfe, 0xff, 0xff - .global data_ov00_020d884c -data_ov00_020d884c: ; 0x020d884c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8850 -data_ov00_020d8850: ; 0x020d8850 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8854 -data_ov00_020d8854: ; 0x020d8854 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8858 -data_ov00_020d8858: ; 0x020d8858 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d885c -data_ov00_020d885c: ; 0x020d885c - .byte 0x80, 0x01, 0x00, 0x00 - .global data_ov00_020d8860 -data_ov00_020d8860: ; 0x020d8860 - .byte 0x00, 0x02, 0x00, 0x00 - .global data_ov00_020d8864 -data_ov00_020d8864: ; 0x020d8864 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8868 -data_ov00_020d8868: ; 0x020d8868 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d886c -data_ov00_020d886c: ; 0x020d886c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8870 -data_ov00_020d8870: ; 0x020d8870 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8874 -data_ov00_020d8874: ; 0x020d8874 - .byte 0x00, 0x02, 0x00, 0x00 - .global data_ov00_020d8878 -data_ov00_020d8878: ; 0x020d8878 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d887c -data_ov00_020d887c: ; 0x020d887c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8880 -data_ov00_020d8880: ; 0x020d8880 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8884 -data_ov00_020d8884: ; 0x020d8884 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8888 -data_ov00_020d8888: ; 0x020d8888 - .byte 0x00, 0xfe, 0xff, 0xff - .global data_ov00_020d888c -data_ov00_020d888c: ; 0x020d888c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8890 -data_ov00_020d8890: ; 0x020d8890 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8894 -data_ov00_020d8894: ; 0x020d8894 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d8898 -data_ov00_020d8898: ; 0x020d8898 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d889c -data_ov00_020d889c: ; 0x020d889c - .byte 0x00, 0x02, 0x00, 0x00 - .global data_ov00_020d88a0 -data_ov00_020d88a0: ; 0x020d88a0 - .byte 0x00, 0x00 - .global data_ov00_020d88a2 -data_ov00_020d88a2: ; 0x020d88a2 - .byte 0x06, 0x00 - .global data_ov00_020d88a4 -data_ov00_020d88a4: ; 0x020d88a4 - .byte 0x28, 0x00 - .global data_ov00_020d88a6 -data_ov00_020d88a6: ; 0x020d88a6 - .byte 0x20, 0x00 - .global data_ov00_020d88a8 -data_ov00_020d88a8: ; 0x020d88a8 - .byte 0x20, 0x00 - .global data_ov00_020d88aa -data_ov00_020d88aa: ; 0x020d88aa - .byte 0x20, 0x00 - .global data_ov00_020d88ac -data_ov00_020d88ac: ; 0x020d88ac - .byte 0x08, 0x00 - .global data_ov00_020d88ae -data_ov00_020d88ae: ; 0x020d88ae - .byte 0x14, 0x00 - .global data_ov00_020d88b0 -data_ov00_020d88b0: ; 0x020d88b0 - .byte 0x32, 0x00 - .global data_ov00_020d88b2 -data_ov00_020d88b2: ; 0x020d88b2 - .byte 0x00, 0x00 - .global data_ov00_020d88b4 -data_ov00_020d88b4: ; 0x020d88b4 - .ascii " !*+,-6789:" - .byte 0x00 - .global data_ov00_020d88c0 -data_ov00_020d88c0: ; 0x020d88c0 - .byte 0x00 - .global data_ov00_020d88c1 -data_ov00_020d88c1: ; 0x020d88c1 - .byte 0x00 - .global data_ov00_020d88c2 -data_ov00_020d88c2: ; 0x020d88c2 - .byte 0x00 - .global data_ov00_020d88c3 -data_ov00_020d88c3: ; 0x020d88c3 - .byte 0x00 - .global data_ov00_020d88c4 -data_ov00_020d88c4: ; 0x020d88c4 - .byte 0x00 - .global data_ov00_020d88c5 -data_ov00_020d88c5: ; 0x020d88c5 - .byte 0x00 - .global data_ov00_020d88c6 -data_ov00_020d88c6: ; 0x020d88c6 - .byte 0x00 - .global data_ov00_020d88c7 -data_ov00_020d88c7: ; 0x020d88c7 - .byte 0x00 - .global data_ov00_020d88c8 -data_ov00_020d88c8: ; 0x020d88c8 - .byte 0x00 - .global data_ov00_020d88c9 -data_ov00_020d88c9: ; 0x020d88c9 - .byte 0x3b - .global data_ov00_020d88ca -data_ov00_020d88ca: ; 0x020d88ca - .byte 0x3f - .global data_ov00_020d88cb -data_ov00_020d88cb: ; 0x020d88cb - .byte 0x00 - .global data_ov00_020d88cc -data_ov00_020d88cc: ; 0x020d88cc - .byte 0x06 - .global data_ov00_020d88cd -data_ov00_020d88cd: ; 0x020d88cd - .byte 0x0c - .global data_ov00_020d88ce -data_ov00_020d88ce: ; 0x020d88ce - .byte 0x12 - .global data_ov00_020d88cf -data_ov00_020d88cf: ; 0x020d88cf - .byte 0x00 - .global data_ov00_020d88d0 -data_ov00_020d88d0: ; 0x020d88d0 - .ascii "sea" - .byte 0x00 - .global data_ov00_020d88d4 -data_ov00_020d88d4: ; 0x020d88d4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d88d8 -data_ov00_020d88d8: ; 0x020d88d8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d88dc -data_ov00_020d88dc: ; 0x020d88dc - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d88e0 -data_ov00_020d88e0: ; 0x020d88e0 - .ascii "sea" - .byte 0x00 - .global data_ov00_020d88e4 -data_ov00_020d88e4: ; 0x020d88e4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d88e8 -data_ov00_020d88e8: ; 0x020d88e8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020d88ec -data_ov00_020d88ec: ; 0x020d88ec - .byte 0x00, 0x00, 0x00, 0x00 - - .section .init, 4, 1, 4 - .global func_ov00_020df378 - arm_func_start func_ov00_020df378 -func_ov00_020df378: ; 0x020df378 - ldr ip, _020df384 ; =func_ov08_02113a0c - ldr r0, _020df388 ; =data_ov00_020e9370 - bx ip - .align 2, 0 - arm_func_end func_ov00_020df378 -_020df384: .word func_ov08_02113a0c -_020df388: .word data_ov00_020e9370 - - .global func_ov00_020df38c - arm_func_start func_ov00_020df38c -func_ov00_020df38c: ; 0x020df38c - stmdb sp!, {r3, lr} - ldr r0, _020df3ac ; =data_027e0d78 - bl func_ov08_02113080 - ldr r0, _020df3ac ; =data_027e0d78 - ldr r1, _020df3b0 ; =func_ov00_0207af9c - ldr r2, _020df3b4 ; =data_027e0d6c - bl __register_global_object - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020df38c -_020df3ac: .word data_027e0d78 -_020df3b0: .word func_ov00_0207af9c -_020df3b4: .word data_027e0d6c - - .global func_ov00_020df3b8 - arm_func_start func_ov00_020df3b8 -func_ov00_020df3b8: ; 0x020df3b8 - ldr ip, _020df3c4 ; =func_ov00_0207b278 - ldr r0, _020df3c8 ; =data_027e0db0 - bx ip - .align 2, 0 - arm_func_end func_ov00_020df3b8 -_020df3c4: .word func_ov00_0207b278 + 1 -_020df3c8: .word data_027e0db0 - - .global func_ov00_020df3cc - arm_func_start func_ov00_020df3cc -func_ov00_020df3cc: ; 0x020df3cc - ldr r0, _020df3dc ; =data_ov00_020e9c88 - mov r1, #0 - str r1, [r0, #0x180] - bx lr - .align 2, 0 - arm_func_end func_ov00_020df3cc -_020df3dc: .word data_ov00_020e9c88 - - .global func_ov00_020df3e0 - arm_func_start func_ov00_020df3e0 -func_ov00_020df3e0: ; 0x020df3e0 - ldr ip, _020df3ec ; =func_ov08_021136fc - ldr r0, _020df3f0 ; =data_027e0dbc - bx ip - .align 2, 0 - arm_func_end func_ov00_020df3e0 -_020df3ec: .word func_ov08_021136fc -_020df3f0: .word data_027e0dbc - - .global func_ov00_020df3f4 - arm_func_start func_ov00_020df3f4 -func_ov00_020df3f4: ; 0x020df3f4 - stmdb sp!, {r3, lr} - ldr r0, _020df414 ; =data_ov00_020e9e18 - bl func_ov08_02113730 - ldr r0, _020df414 ; =data_ov00_020e9e18 - ldr r1, _020df418 ; =func_ov00_0207bab4 - ldr r2, _020df41c ; =data_ov00_020e9e0c - bl __register_global_object - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020df3f4 -_020df414: .word data_ov00_020e9e18 -_020df418: .word func_ov00_0207bab4 -_020df41c: .word data_ov00_020e9e0c - - .global func_ov00_020df420 - arm_func_start func_ov00_020df420 -func_ov00_020df420: ; 0x020df420 - stmdb sp!, {r3, lr} - ldr r3, _020df450 ; =data_027e0de4 - mov r0, #0 - ldr r1, _020df454 ; =data_027e0de8 - mov r2, #0x20 - str r0, [r3] - bl func_02007938 - ldr r1, _020df458 ; =data_027e0e08 - mov r0, #0 - mov r2, #0x20 - bl func_02007938 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020df420 -_020df450: .word data_027e0de4 -_020df454: .word data_027e0de8 -_020df458: .word data_027e0e08 - - .global func_ov00_020df45c - arm_func_start func_ov00_020df45c -func_ov00_020df45c: ; 0x020df45c - ldr r0, _020df46c ; =data_027e0e28 - mov r1, #0 - str r1, [r0] - bx lr - .align 2, 0 - arm_func_end func_ov00_020df45c -_020df46c: .word data_027e0e28 - - .global func_ov00_020df470 - arm_func_start func_ov00_020df470 -func_ov00_020df470: ; 0x020df470 - ldr r0, _020df49c ; =data_027e0e2c - mov r1, #0x80000 - str r1, [r0, #0x20] - str r1, [r0, #0x18] - mov r1, #0x60000 - str r1, [r0, #0x24] - str r1, [r0, #0x1c] - mov r1, #0 - ldr ip, _020df4a0 ; =func_ov00_0207bcb4 - str r1, [r0, #0x28] - bx ip - .align 2, 0 - arm_func_end func_ov00_020df470 -_020df49c: .word data_027e0e2c -_020df4a0: .word func_ov00_0207bcb4 + 1 - - .global func_ov00_020df4a4 - arm_func_start func_ov00_020df4a4 -func_ov00_020df4a4: ; 0x020df4a4 - ldr ip, _020df4b0 ; =func_ov08_02113aa8 - ldr r0, _020df4b4 ; =data_ov00_020ec7dc - bx ip - .align 2, 0 - arm_func_end func_ov00_020df4a4 -_020df4b0: .word func_ov08_02113aa8 -_020df4b4: .word data_ov00_020ec7dc - - .global func_ov00_020df4b8 - arm_func_start func_ov00_020df4b8 -func_ov00_020df4b8: ; 0x020df4b8 - ldr r0, _020df4c8 ; =data_027e0e5c - mov r1, #0 - strh r1, [r0] - bx lr - .align 2, 0 - arm_func_end func_ov00_020df4b8 -_020df4c8: .word data_027e0e5c - - .global func_ov00_020df4cc - arm_func_start func_ov00_020df4cc -func_ov00_020df4cc: ; 0x020df4cc - stmdb sp!, {r3, lr} - ldr r0, _020df5f0 ; =0x00005fff - ldr r3, _020df5f4 ; =data_ov00_020e24a4 - mov ip, #0 - str r0, [r3, #0x20] - ldr r0, _020df5f8 ; =data_ov00_020e24c8 - ldr r1, _020df5fc ; =func_ov00_02086cd0 - ldr r2, _020df600 ; =data_ov00_020ec964 - str ip, [r3, #0x24] - mov ip, #0x60 - str ip, [r3, #0x28] - bl __register_global_object - ldr r0, _020df604 ; =data_ov00_020e24d0 - mov r3, #0 - ldr r1, _020df5fc ; =func_ov00_02086cd0 - ldr r2, _020df608 ; =data_ov00_020ec970 - str r3, [r0] - str r3, [r0, #4] - bl __register_global_object - ldr r0, _020df60c ; =data_ov00_020e24d8 - mov ip, #0x80 - mov r3, #0x60 - ldr r1, _020df5fc ; =func_ov00_02086cd0 - ldr r2, _020df610 ; =data_ov00_020ec97c - str ip, [r0] - str r3, [r0, #4] - bl __register_global_object - ldr r0, _020df614 ; =data_ov00_020e24e0 - mov ip, #0x80 - mov r3, #0 - ldr r1, _020df5fc ; =func_ov00_02086cd0 - ldr r2, _020df618 ; =data_ov00_020ec988 - str ip, [r0] - str r3, [r0, #4] - bl __register_global_object - mov r2, #0x80000 - rsb r2, r2, #0 - ldr r0, _020df5f4 ; =data_ov00_020e24a4 - add r1, r2, #0x20000 - str r2, [r0, #0x44] - str r1, [r0, #0x48] - ldr r0, _020df61c ; =data_ov00_020e24e8 - ldr r1, _020df620 ; =func_ov00_0207dd9c - ldr r2, _020df624 ; =data_ov00_020ec994 - bl __register_global_object - ldr r0, _020df628 ; =data_ov00_020e24f0 - mov r1, #0x80000 - rsb r1, r1, #0 - str r1, [r0] - add r1, r1, #0x20000 - str r1, [r0, #4] - ldr r1, _020df620 ; =func_ov00_0207dd9c - ldr r2, _020df62c ; =data_ov00_020ec9a0 - bl __register_global_object - ldr r0, _020df630 ; =data_ov00_020e24f8 - mov r1, #0x80000 - rsb r1, r1, #0 - str r1, [r0] - add r1, r1, #0x20000 - str r1, [r0, #4] - ldr r1, _020df620 ; =func_ov00_0207dd9c - ldr r2, _020df634 ; =data_ov00_020ec9ac - bl __register_global_object - ldr r0, _020df638 ; =data_ov00_020e2500 - mov r1, #0x80000 - rsb r1, r1, #0 - str r1, [r0] - add r1, r1, #0x20000 - str r1, [r0, #4] - ldr r1, _020df620 ; =func_ov00_0207dd9c - ldr r2, _020df63c ; =data_ov00_020ec9b8 - bl __register_global_object - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020df4cc -_020df5f0: .word 0x00005fff -_020df5f4: .word data_ov00_020e24a4 -_020df5f8: .word data_ov00_020e24c8 -_020df5fc: .word func_ov00_02086cd0 -_020df600: .word data_ov00_020ec964 -_020df604: .word data_ov00_020e24d0 -_020df608: .word data_ov00_020ec970 -_020df60c: .word data_ov00_020e24d8 -_020df610: .word data_ov00_020ec97c -_020df614: .word data_ov00_020e24e0 -_020df618: .word data_ov00_020ec988 -_020df61c: .word data_ov00_020e24e8 -_020df620: .word func_ov00_0207dd9c -_020df624: .word data_ov00_020ec994 -_020df628: .word data_ov00_020e24f0 -_020df62c: .word data_ov00_020ec9a0 -_020df630: .word data_ov00_020e24f8 -_020df634: .word data_ov00_020ec9ac -_020df638: .word data_ov00_020e2500 -_020df63c: .word data_ov00_020ec9b8 - - .global func_ov00_020df640 - arm_func_start func_ov00_020df640 -func_ov00_020df640: ; 0x020df640 - stmdb sp!, {r3, lr} - ldr r0, _020df668 ; =data_ov00_020ecd50 - ldr r2, _020df66c ; =func_ov00_0208f69c - mov r1, #4 - bl func_0203eba8 - ldr r0, _020df668 ; =data_ov00_020ecd50 - ldr r1, _020df670 ; =func_0203ebc8 - ldr r2, _020df674 ; =data_ov00_020ecd58 - bl __register_global_object - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020df640 -_020df668: .word data_ov00_020ecd50 -_020df66c: .word func_ov00_0208f69c -_020df670: .word func_0203ebc8 -_020df674: .word data_ov00_020ecd58 - - .global func_ov00_020df678 - arm_func_start func_ov00_020df678 -func_ov00_020df678: ; 0x020df678 - stmdb sp!, {r3, lr} - ldr r0, _020df6a4 ; =data_ov00_020ecd70 - ldr r1, _020df6a8 ; =0x53574f42 - ldr r2, _020df6ac ; =func_ov00_0208fa70 - mov r3, #0 - bl _ZN9ActorTypeC1EjPFP5ActorvEPv - ldr r0, _020df6a4 ; =data_ov00_020ecd70 - ldr r1, _020df6b0 ; =_ZN9ActorTypeD1Ev - ldr r2, _020df6b4 ; =data_ov00_020ecd64 - bl __register_global_object - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020df678 -_020df6a4: .word data_ov00_020ecd70 -_020df6a8: .word 0x53574f42 -_020df6ac: .word func_ov00_0208fa70 -_020df6b0: .word _ZN9ActorTypeD1Ev -_020df6b4: .word data_ov00_020ecd64 - - .global func_ov00_020df6b8 - arm_func_start func_ov00_020df6b8 -func_ov00_020df6b8: ; 0x020df6b8 - stmdb sp!, {r3, lr} - ldr r0, _020df6e4 ; =data_ov00_020ecd90 - ldr r1, _020df6e8 ; =0x53574453 - ldr r2, _020df6ec ; =func_ov00_020903a8 - mov r3, #0 - bl _ZN9ActorTypeC1EjPFP5ActorvEPv - ldr r0, _020df6e4 ; =data_ov00_020ecd90 - ldr r1, _020df6f0 ; =_ZN9ActorTypeD1Ev - ldr r2, _020df6f4 ; =data_ov00_020ecd84 - bl __register_global_object - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020df6b8 -_020df6e4: .word data_ov00_020ecd90 -_020df6e8: .word 0x53574453 -_020df6ec: .word func_ov00_020903a8 -_020df6f0: .word _ZN9ActorTypeD1Ev -_020df6f4: .word data_ov00_020ecd84 - - .global func_ov00_020df6f8 - arm_func_start func_ov00_020df6f8 -func_ov00_020df6f8: ; 0x020df6f8 - stmdb sp!, {r3, lr} - ldr r0, _020df724 ; =data_ov00_020ecdb0 - ldr r1, _020df728 ; =0x45564943 - ldr r2, _020df72c ; =func_ov00_020904f4 - mov r3, #0 - bl _ZN9ActorTypeC1EjPFP5ActorvEPv - ldr r0, _020df724 ; =data_ov00_020ecdb0 - ldr r1, _020df730 ; =_ZN9ActorTypeD1Ev - ldr r2, _020df734 ; =data_ov00_020ecda4 - bl __register_global_object - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020df6f8 -_020df724: .word data_ov00_020ecdb0 -_020df728: .word 0x45564943 -_020df72c: .word func_ov00_020904f4 -_020df730: .word _ZN9ActorTypeD1Ev -_020df734: .word data_ov00_020ecda4 - - .global func_ov00_020df738 - arm_func_start func_ov00_020df738 -func_ov00_020df738: ; 0x020df738 - stmdb sp!, {r3, lr} - ldr r0, _020df760 ; =data_ov00_020ecdc4 - ldr r2, _020df764 ; =func_ov00_02093c9c - mov r1, #0x1a - bl func_0203eba8 - ldr r0, _020df760 ; =data_ov00_020ecdc4 - ldr r1, _020df768 ; =func_0203ebc8 - ldr r2, _020df76c ; =data_ov00_020ecdcc - bl __register_global_object - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020df738 -_020df760: .word data_ov00_020ecdc4 -_020df764: .word func_ov00_02093c9c -_020df768: .word func_0203ebc8 -_020df76c: .word data_ov00_020ecdcc - - .global func_ov00_020df770 - arm_func_start func_ov00_020df770 -func_ov00_020df770: ; 0x020df770 - stmdb sp!, {r3, lr} - mov r0, #0x1000 - mov r1, #0x1e000 - bl Divide - ldr r1, _020df78c ; =data_ov00_020e2fa8 - str r0, [r1] - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020df770 -_020df78c: .word data_ov00_020e2fa8 - - .global func_ov00_020df790 - arm_func_start func_ov00_020df790 -func_ov00_020df790: ; 0x020df790 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x238 - sub sp, sp, #0x400 - add r3, sp, #0x600 - ldr r7, _020e0758 ; =data_ov00_020e30ec - mov r0, #0 - add r3, r3, #8 - mov r1, #0x3c - strh r0, [r3, #0x28] - str r1, [r7, #0x20] - mov r2, #0xfb - mov r10, #1 - str r2, [r7, #0x24] - str r10, [r7, #0x28] - ldrsh r2, [r3, #0x28] - mov r4, #0xff - rsb lr, r4, #0xfd - str r0, [r7, #0x2c] - strh r0, [r3, #0x10] - strh r2, [r7, #0x30] - strb r10, [r7, #0x32] - add r2, sp, #0x500 - strb r0, [r7, #0x33] - add r2, r2, #8 - strh r0, [r2, #0xf8] - strb r4, [r7, #0x34] - strb r0, [r7, #0x35] - str r1, [r7, #0x38] - str r0, [r7, #0x3c] - str r0, [r7, #0x40] - ldrsh r3, [r3, #0x10] - mov r5, #0x34 - str lr, [r7, #0x44] - strh r3, [r7, #0x48] - strb r10, [r7, #0x4a] - strb r0, [r7, #0x4b] - strb r4, [r7, #0x4c] - strb r0, [r7, #0x4d] - str r5, [r7, #0x6c] - str r0, [r7, #0x70] - str r10, [r7, #0x74] - ldrsh r3, [r2, #0xf8] - str r10, [r7, #0x78] - strh r3, [r7, #0x7c] - mov r3, #0xfb - str r1, [sp, #0x620] - str r3, [sp, #0x624] - str r10, [sp, #0x628] - str r0, [sp, #0x62c] - strb r10, [sp, #0x632] - strb r0, [sp, #0x633] - strb r4, [sp, #0x634] - strb r0, [sp, #0x635] - str r1, [sp, #0x608] - str r0, [sp, #0x60c] - str r0, [sp, #0x610] - str lr, [sp, #0x614] - strb r10, [sp, #0x61a] - strb r0, [sp, #0x61b] - strb r4, [sp, #0x61c] - strb r0, [sp, #0x61d] - str r5, [sp, #0x5f0] - str r0, [sp, #0x5f4] - str r10, [sp, #0x5f8] - str r10, [sp, #0x5fc] - strb r0, [sp, #0x602] - strb r0, [sp, #0x603] - strb r4, [sp, #0x604] - strb r0, [sp, #0x605] - strb r0, [r7, #0x7e] - and ip, r0, #0xff - strb ip, [r7, #0x7f] - and r3, r4, #0xff - strh r0, [r2, #0xe0] - strb r3, [r7, #0x80] - mov r9, #0xb - strb ip, [r7, #0x81] - str r9, [r7, #0x84] - str r0, [r7, #0x88] - str r10, [r7, #0x8c] - ldrsh r5, [r2, #0xe0] - mov r1, #2 - str r1, [r7, #0x90] - strh r0, [r2, #0xc8] - strh r5, [r7, #0x94] - strb ip, [r7, #0x96] - strb ip, [r7, #0x97] - strb r3, [r7, #0x98] - strb ip, [r7, #0x99] - str r9, [r7, #0xb8] - str r0, [r7, #0xbc] - str r10, [r7, #0xc0] - ldrsh r5, [r2, #0xc8] - str r1, [r7, #0xc4] - strh r5, [r7, #0xc8] - strb ip, [r7, #0xca] - strb ip, [r7, #0xcb] - strb r3, [r7, #0xcc] - strb ip, [r7, #0xcd] - str r9, [r7, #0xd0] - str r1, [sp, #0x5e4] - str r1, [sp, #0x5cc] - mov r1, #0x1d - str r0, [r7, #0xd4] - str r9, [sp, #0x5d8] - str r0, [sp, #0x5dc] - str r10, [sp, #0x5e0] - strb r0, [sp, #0x5ea] - strb r0, [sp, #0x5eb] - strb r4, [sp, #0x5ec] - strb r0, [sp, #0x5ed] - str r9, [sp, #0x5c0] - str r0, [sp, #0x5c4] - str r10, [sp, #0x5c8] - strb r0, [sp, #0x5d2] - strb r0, [sp, #0x5d3] - strb r4, [sp, #0x5d4] - strb r0, [sp, #0x5d5] - str r9, [sp, #0x5a8] - str r0, [sp, #0x5ac] - str r10, [sp, #0x5b0] - str r1, [sp, #0x5b4] - strh r0, [r2, #0xb0] - strb r0, [sp, #0x5ba] - strb r0, [sp, #0x5bb] - strb r4, [sp, #0x5bc] - strb r0, [sp, #0x5bd] - str r10, [r7, #0xd8] - ldrsh r5, [r2, #0xb0] - mov r6, #2 - mov r8, r6 - str r1, [r7, #0xdc] - strh r5, [r7, #0xe0] - strb ip, [r7, #0xe2] - strb ip, [r7, #0xe3] - strh r0, [r2, #0x98] - strb r3, [r7, #0xe4] - strb ip, [r7, #0xe5] - str r9, [r7, #0x104] - str r0, [r7, #0x108] - str r10, [r7, #0x10c] - strh r0, [r2, #0x80] - ldrsh r5, [r2, #0x98] - mov r1, #3 - ldr r6, _020e075c ; =data_ov00_020e31ec - str r1, [r7, #0x110] - ldr r1, _020e075c ; =data_ov00_020e31ec - str r9, [sp, #0x590] - strh r5, [r1, #0x14] - mov r1, #0xa - strb r1, [r7, #0x116] - strb ip, [r7, #0x117] - strb r3, [r7, #0x118] - strb ip, [r7, #0x119] - mov r1, #3 - str r9, [r7, #0x11c] - str r1, [sp, #0x59c] - mov r1, #0xa - str r0, [r7, #0x120] - mov r5, #0x25 - str r0, [r7, #0x124] - strb r1, [sp, #0x5a2] - strb r1, [sp, #0x58a] - mov r1, #2 - strb r1, [sp, #0x58b] - mov r1, #4 - str r1, [sp, #0x56c] - str r0, [sp, #0x594] - str r10, [sp, #0x598] - strb r0, [sp, #0x5a3] - strb r4, [sp, #0x5a4] - strb r0, [sp, #0x5a5] - str r9, [sp, #0x578] - str r0, [sp, #0x57c] - str r0, [sp, #0x580] - str lr, [sp, #0x584] - strb r4, [sp, #0x58c] - strb r0, [sp, #0x58d] - str lr, [r7, #0x128] - str r5, [sp, #0x560] - str r0, [sp, #0x564] - str r10, [sp, #0x568] - strh r0, [r2, #0x68] - mov r1, #2 - strb r0, [sp, #0x572] - strb r4, [sp, #0x574] - strb r0, [sp, #0x575] - strb r1, [sp, #0x573] - ldrsh r1, [r2, #0x80] - strh r1, [r6, #0x2c] - mov r1, #0xa - strb r1, [r7, #0x12e] - strb r8, [r7, #0x12f] - strb r3, [r7, #0x130] - strb ip, [r7, #0x131] - str r5, [r7, #0x150] - str r0, [r7, #0x154] - str r10, [r7, #0x158] - mov r1, #4 - str r1, [r7, #0x15c] - str r5, [sp, #0x548] - str r0, [sp, #0x54c] - str r0, [sp, #0x550] - str lr, [sp, #0x554] - strh r0, [r2, #0x50] - mov r1, #2 - strb r1, [sp, #0x55b] - strb r0, [sp, #0x55a] - strb r4, [sp, #0x55c] - strb r0, [sp, #0x55d] - str r5, [sp, #0x530] - str r0, [sp, #0x534] - str r10, [sp, #0x538] - strh r0, [r2, #0x38] - mov r1, #3 - strb r1, [sp, #0x543] - strb r0, [sp, #0x542] - strb r4, [sp, #0x544] - strb r0, [sp, #0x545] - str r5, [sp, #0x518] - str r0, [sp, #0x51c] - str r0, [sp, #0x520] - str lr, [sp, #0x524] - strh r0, [r2, #0x20] - strb r0, [sp, #0x52a] - ldrsh r6, [r2, #0x68] - ldr r1, _020e075c ; =data_ov00_020e31ec - strh r6, [r1, #0x60] - strb ip, [r7, #0x162] - strb r8, [r7, #0x163] - strb r3, [r7, #0x164] - strb ip, [r7, #0x165] - str r5, [r7, #0x168] - str r0, [r7, #0x16c] - str r0, [r7, #0x170] - str lr, [r7, #0x174] - ldrsh r6, [r2, #0x50] - strh r6, [r1, #0x78] - strb ip, [r7, #0x17a] - strb r8, [r7, #0x17b] - strb r3, [r7, #0x17c] - strb ip, [r7, #0x17d] - str r5, [r7, #0x19c] - str r0, [r7, #0x1a0] - mov r1, #5 - str r10, [r7, #0x1a4] - str r1, [sp, #0x53c] - str r1, [r7, #0x1a8] - mov r1, #3 - mov r11, r1 - ldrsh r6, [r2, #0x38] - ldr r1, _020e075c ; =data_ov00_020e31ec - strh r6, [r1, #0xac] - strb ip, [r7, #0x1ae] - strb r11, [r7, #0x1af] - strb r3, [r7, #0x1b0] - strb ip, [r7, #0x1b1] - str r5, [r7, #0x1b4] - str r0, [r7, #0x1b8] - str r0, [r7, #0x1bc] - ldrsh r1, [r2, #0x20] - mov r5, #3 - add r6, sp, #0x400 - strb r5, [sp, #0x52b] - ldr r5, _020e075c ; =data_ov00_020e31ec - str lr, [r7, #0x1c0] - strh r1, [r5, #0xc4] - mov r1, #0x2b - strb r4, [sp, #0x52c] - strb r0, [sp, #0x52d] - str r1, [sp, #0x500] - str r0, [sp, #0x504] - str r10, [sp, #0x508] - strh r0, [r2, #8] - strb r0, [sp, #0x512] - strb r10, [sp, #0x513] - strb r4, [sp, #0x514] - strb r0, [sp, #0x515] - str r1, [sp, #0x4e8] - str r0, [sp, #0x4ec] - str r0, [sp, #0x4f0] - str lr, [sp, #0x4f4] - add r6, r6, #8 - strh r0, [r6, #0xf0] - strb ip, [r7, #0x1c6] - strb r11, [r7, #0x1c7] - strb r3, [r7, #0x1c8] - strb ip, [r7, #0x1c9] - str r1, [r7, #0x1e8] - str r0, [r7, #0x1ec] - mov r1, #6 - str r10, [r7, #0x1f0] - strb r0, [sp, #0x4fa] - strb r10, [sp, #0x4fb] - strb r4, [sp, #0x4fc] - strb r0, [sp, #0x4fd] - str r0, [sp, #0x4d4] - str r10, [sp, #0x4d8] - str r1, [sp, #0x50c] - str r1, [r7, #0x1f4] - ldrsh r2, [r2, #8] - ldr r1, _020e075c ; =data_ov00_020e31ec - and r5, r10, #0xff - strh r2, [r1, #0xf8] - strb ip, [r7, #0x1fa] - strb r5, [r7, #0x1fb] - strb r3, [r7, #0x1fc] - strb ip, [r7, #0x1fd] - mov r1, #0x2b - str r1, [r7, #0x200] - str r0, [r7, #0x204] - str r0, [r7, #0x208] - ldrsh r2, [r6, #0xf0] - mov r1, #0x2a - str r1, [sp, #0x4d0] - ldr r1, _020e0760 ; =data_ov00_020e32ec - str lr, [r7, #0x20c] - strh r2, [r1, #0x10] - strb ip, [r7, #0x212] - strb r5, [r7, #0x213] - strb r3, [r7, #0x214] - strb ip, [r7, #0x215] - strh r0, [r6, #0xd8] - mov r1, #2 - strb r1, [sp, #0x4e3] - mov r1, #0x2a - str r1, [r7, #0x234] - str r0, [r7, #0x238] - str r1, [sp, #0x4b8] - strb r0, [sp, #0x4e2] - strb r4, [sp, #0x4e4] - strb r0, [sp, #0x4e5] - str r10, [r7, #0x23c] - str r0, [sp, #0x4bc] - str r0, [sp, #0x4c0] - str lr, [sp, #0x4c4] - strh r0, [r6, #0xc0] - mov r1, #2 - strb r1, [sp, #0x4cb] - strb r0, [sp, #0x4ca] - strb r4, [sp, #0x4cc] - strb r0, [sp, #0x4cd] - str r0, [sp, #0x4a4] - str r10, [sp, #0x4a8] - strh r0, [r6, #0xa8] - mov r1, #3 - strb r1, [sp, #0x4b3] - mov r1, #7 - strb r0, [sp, #0x4b2] - strb r4, [sp, #0x4b4] - strb r0, [sp, #0x4b5] - str r1, [sp, #0x4dc] - str r1, [r7, #0x240] - ldrsh r2, [r6, #0xd8] - ldr r1, _020e0760 ; =data_ov00_020e32ec - strh r2, [r1, #0x44] - strb ip, [r7, #0x246] - strb r8, [r7, #0x247] - strb r3, [r7, #0x248] - strb ip, [r7, #0x249] - mov r1, #0x2a - str r1, [r7, #0x24c] - str r0, [r7, #0x250] - str r0, [r7, #0x254] - mov r1, #0x2c - str r1, [sp, #0x4a0] - str lr, [r7, #0x258] - ldrsh r2, [r6, #0xc0] - ldr r1, _020e0760 ; =data_ov00_020e32ec - strh r2, [r1, #0x5c] - strb ip, [r7, #0x25e] - strb r8, [r7, #0x25f] - strb r3, [r7, #0x260] - strb ip, [r7, #0x261] - mov r1, #0x2c - str r1, [r7, #0x280] - str r0, [r7, #0x284] - mov r1, #8 - str r10, [r7, #0x288] - str r1, [sp, #0x4ac] - str r1, [r7, #0x28c] - ldrsh r2, [r6, #0xa8] - ldr r1, _020e0760 ; =data_ov00_020e32ec - strh r2, [r1, #0x90] - strb ip, [r7, #0x292] - strb r11, [r7, #0x293] - strb r3, [r7, #0x294] - strb ip, [r7, #0x295] - mov r1, #0x2c - str r1, [sp, #0x488] - str r1, [r7, #0x298] - strh r0, [r6, #0x90] - str r0, [r7, #0x29c] - str r0, [r7, #0x2a0] - ldrsh r2, [r6, #0x90] - mov r1, #3 - strb r1, [sp, #0x49b] - ldr r1, _020e0760 ; =data_ov00_020e32ec - str lr, [r7, #0x2a4] - strh r2, [r1, #0xa8] - mov r1, #0xc - str r0, [sp, #0x48c] - str r0, [sp, #0x490] - str lr, [sp, #0x494] - strb r0, [sp, #0x49a] - strb r4, [sp, #0x49c] - strb r0, [sp, #0x49d] - str r1, [sp, #0x470] - str r0, [sp, #0x474] - str r10, [sp, #0x478] - strh r0, [r6, #0x78] - str r1, [sp, #0x458] - mov r1, #0xa - str r1, [sp, #0x464] - strb r0, [sp, #0x482] - strb r0, [sp, #0x483] - strb r4, [sp, #0x484] - strb r0, [sp, #0x485] - str r0, [sp, #0x45c] - str r10, [sp, #0x460] - strh r0, [r6, #0x60] - strb ip, [r7, #0x2aa] - strb r11, [r7, #0x2ab] - strb r3, [r7, #0x2ac] - strb ip, [r7, #0x2ad] - mov r1, #0xc - str r1, [r7, #0x2cc] - str r0, [r7, #0x2d0] - mov r1, #9 - str r10, [r7, #0x2d4] - strb r0, [sp, #0x46a] - strb r0, [sp, #0x46b] - strb r4, [sp, #0x46c] - strb r0, [sp, #0x46d] - str r1, [sp, #0x47c] - str r1, [r7, #0x2d8] - ldrsh r2, [r6, #0x78] - ldr r1, _020e0760 ; =data_ov00_020e32ec - strh r2, [r1, #0xdc] - strb ip, [r7, #0x2de] - strb ip, [r7, #0x2df] - strb r3, [r7, #0x2e0] - strb ip, [r7, #0x2e1] - mov r1, #0xc - str r1, [r7, #0x2e4] - str r0, [r7, #0x2e8] - str r10, [r7, #0x2ec] - mov r1, #0xa - str r1, [r7, #0x2f0] - ldrsh r2, [r6, #0x60] - ldr r1, _020e0760 ; =data_ov00_020e32ec - strh r2, [r1, #0xf4] - strb ip, [r7, #0x2f6] - strb ip, [r7, #0x2f7] - strb r3, [r7, #0x2f8] - strb ip, [r7, #0x2f9] - strh r0, [r6, #0x48] - mov r1, #0xc - str r1, [r7, #0x318] - str r0, [r7, #0x31c] - str r10, [r7, #0x320] - ldrsh r2, [r6, #0x48] - str r1, [sp, #0x440] - mov r1, #0xa - str r0, [sp, #0x444] - str r10, [sp, #0x448] - str r1, [sp, #0x44c] - str r1, [r7, #0x324] - strb r0, [sp, #0x452] - strb r0, [sp, #0x453] - strb r4, [sp, #0x454] - strb r0, [sp, #0x455] - str r0, [sp, #0x428] - str r10, [sp, #0x42c] - str r0, [sp, #0x430] - str lr, [sp, #0x434] - strh r0, [r6, #0x30] - strb r0, [sp, #0x43a] - strb r10, [sp, #0x43b] - strb r4, [sp, #0x43c] - strb r0, [sp, #0x43d] - str r0, [sp, #0x414] - str r10, [sp, #0x418] - str r9, [sp, #0x41c] - strh r0, [r6, #0x18] - mov r1, #4 - strb r1, [sp, #0x422] - ldr r1, _020e0764 ; =data_ov00_020e33ec - strb r0, [sp, #0x423] - strh r2, [r1, #0x28] - strb ip, [r7, #0x32a] - strb ip, [r7, #0x32b] - strb r3, [r7, #0x32c] - strb ip, [r7, #0x32d] - str r0, [r7, #0x330] - str r10, [r7, #0x334] - str r0, [r7, #0x338] - strb r4, [sp, #0x424] - strb r0, [sp, #0x425] - str lr, [r7, #0x33c] - ldrsh r2, [r6, #0x30] - strh r2, [r1, #0x40] - strb ip, [r7, #0x342] - strb r5, [r7, #0x343] - strb r3, [r7, #0x344] - mov r1, #0x29 - strb ip, [r7, #0x345] - str r1, [r7, #0x364] - str r0, [r7, #0x368] - str r1, [sp, #0x410] - str r10, [r7, #0x36c] - str r1, [sp, #0x3f8] - mov r1, #0xc - str r1, [sp, #0x404] - mov r1, #4 - strb r1, [sp, #0x40a] - mov r1, #0x29 - str r1, [sp, #0x3e0] - mov r1, #0xc - str r1, [sp, #0x3ec] - str r9, [r7, #0x370] - str r0, [sp, #0x3e4] - str r10, [sp, #0x3e8] - add r5, sp, #0x308 - strh r0, [r5, #0xe8] - mov r1, #4 - strb r1, [sp, #0x3f2] - strb r0, [sp, #0x3f3] - strb r4, [sp, #0x3f4] - strb r0, [sp, #0x3f5] - str r1, [sp, #0x3c8] - str r0, [sp, #0x3cc] - str r0, [sp, #0x3d0] - str lr, [sp, #0x3d4] - strh r0, [r5, #0xd0] - strb r0, [sp, #0x3da] - strb r0, [sp, #0x3db] - strb r4, [sp, #0x3dc] - strb r0, [sp, #0x3dd] - ldrsh r1, [r6, #0x18] - ldr r2, _020e0764 ; =data_ov00_020e33ec - strh r0, [r6] - str r1, [sp] - mov r1, #4 - mov r1, r1 - str r1, [sp, #4] - ldr r1, [sp] - str r0, [sp, #0x3fc] - strh r1, [r2, #0x74] - ldr r1, [sp, #4] - ldrsh r2, [r6] - strb r1, [r7, #0x376] - strb ip, [r7, #0x377] - strb r3, [r7, #0x378] - strb ip, [r7, #0x379] - mov r1, #0x29 - str r1, [r7, #0x37c] - str r0, [r7, #0x380] - str r10, [r7, #0x384] - mov r1, #0xc - str r1, [r7, #0x388] - ldr r1, _020e0764 ; =data_ov00_020e33ec - str r10, [sp, #0x400] - strh r2, [r1, #0x8c] - ldr r1, [sp, #4] - strb r0, [sp, #0x40b] - strb r1, [r7, #0x38e] - strb ip, [r7, #0x38f] - strb r3, [r7, #0x390] - strb ip, [r7, #0x391] - mov r1, #0x29 - str r1, [r7, #0x3b0] - str r0, [r7, #0x3b4] - str r10, [r7, #0x3b8] - mov r1, #0xc - str r1, [r7, #0x3bc] - ldrsh r2, [r5, #0xe8] - ldr r1, _020e0764 ; =data_ov00_020e33ec - strb r4, [sp, #0x40c] - strh r2, [r1, #0xc0] - ldr r1, [sp, #4] - strb r0, [sp, #0x40d] - strb r1, [r7, #0x3c2] - strb ip, [r7, #0x3c3] - strb r3, [r7, #0x3c4] - strb ip, [r7, #0x3c5] - mov r1, #4 - str r1, [r7, #0x3c8] - str r0, [r7, #0x3cc] - str r0, [r7, #0x3d0] - ldrsh r2, [r5, #0xd0] - ldr r1, _020e0764 ; =data_ov00_020e33ec - str lr, [r7, #0x3d4] - strh r2, [r1, #0xd8] - strb ip, [r7, #0x3da] - strb ip, [r7, #0x3db] - strb r3, [r7, #0x3dc] - str r0, [sp, #0x3b4] - strb ip, [r7, #0x3dd] - strh r0, [r5, #0xb8] - mov r1, #0x2d - str r1, [r7, #0x3fc] - str r0, [r7, #0x400] - mov r2, #0x2d - mov r1, #0xd - str r2, [sp, #0x3b0] - mov r2, #2 - str r10, [r7, #0x404] - str r10, [sp, #0x3b8] - str r1, [sp, #0x3bc] - str r1, [r7, #0x408] - strb r0, [sp, #0x3c2] - strb r2, [sp, #0x3c3] - strb r4, [sp, #0x3c4] - strb r0, [sp, #0x3c5] - strh r0, [r5, #0xa0] - mov r1, #0x2d - str r1, [sp, #0x398] - mov r1, r2 - strb r1, [sp, #0x3ab] - mov r1, #0x2e - str r1, [sp, #0x380] - str r0, [sp, #0x39c] - str r0, [sp, #0x3a0] - str lr, [sp, #0x3a4] - strb r0, [sp, #0x3aa] - strb r4, [sp, #0x3ac] - strb r0, [sp, #0x3ad] - str r0, [sp, #0x384] - str r10, [sp, #0x388] - strh r0, [r5, #0x88] - strb r0, [sp, #0x392] - ldrsh r2, [r5, #0xb8] - ldr r1, _020e0768 ; =data_ov00_020e34ec - strh r2, [r1, #0xc] - strb ip, [r7, #0x40e] - strb r8, [r7, #0x40f] - strb r3, [r7, #0x410] - strb ip, [r7, #0x411] - mov r1, #0x2d - str r1, [r7, #0x414] - str r0, [r7, #0x418] - str r0, [r7, #0x41c] - str lr, [r7, #0x420] - ldrsh r2, [r5, #0xa0] - ldr r1, _020e0768 ; =data_ov00_020e34ec - strh r2, [r1, #0x24] - strb ip, [r7, #0x426] - strb r8, [r7, #0x427] - strb r3, [r7, #0x428] - mov r1, #0xe - strb ip, [r7, #0x429] - str r1, [sp, #0x38c] - mov r2, #2 - strb r2, [sp, #0x393] - mov r2, #0x2e - str r2, [r7, #0x448] - str r0, [r7, #0x44c] - str r10, [r7, #0x450] - str r1, [r7, #0x454] - mov r1, r2 - str r1, [sp, #0x368] - strb r4, [sp, #0x394] - strb r0, [sp, #0x395] - str r0, [sp, #0x36c] - str r0, [sp, #0x370] - str lr, [sp, #0x374] - strh r0, [r5, #0x70] - mov r1, #2 - strb r1, [sp, #0x37b] - strb r0, [sp, #0x37a] - strb r4, [sp, #0x37c] - strb r0, [sp, #0x37d] - str r0, [sp, #0x354] - str r10, [sp, #0x358] - strh r0, [r5, #0x58] - mov r1, #3 - strb r1, [sp, #0x363] - strb r0, [sp, #0x362] - strb r4, [sp, #0x364] - strb r0, [sp, #0x365] - str r0, [sp, #0x33c] - str r0, [sp, #0x340] - ldrsh r2, [r5, #0x88] - ldr r1, _020e0768 ; =data_ov00_020e34ec - strh r2, [r1, #0x58] - strb ip, [r7, #0x45a] - strb r8, [r7, #0x45b] - strb r3, [r7, #0x45c] - strb ip, [r7, #0x45d] - mov r1, #0x2e - str r1, [r7, #0x460] - mov r1, #0x2f - str r0, [r7, #0x464] - str r0, [r7, #0x468] - str lr, [r7, #0x46c] - str r1, [sp, #0x350] - str r1, [sp, #0x338] - ldrsh r2, [r5, #0x70] - ldr r1, _020e0768 ; =data_ov00_020e34ec - strh r2, [r1, #0x70] - strb ip, [r7, #0x472] - strb r8, [r7, #0x473] - strb r3, [r7, #0x474] - strb ip, [r7, #0x475] - mov r1, #0x2f - str r1, [r7, #0x494] - str r0, [r7, #0x498] - mov r1, #0xf - str r10, [r7, #0x49c] - str r1, [sp, #0x35c] - str r1, [r7, #0x4a0] - ldrsh r2, [r5, #0x58] - ldr r1, _020e0768 ; =data_ov00_020e34ec - strh r2, [r1, #0xa4] - strb ip, [r7, #0x4a6] - strb r11, [r7, #0x4a7] - strb r3, [r7, #0x4a8] - strb ip, [r7, #0x4a9] - mov r1, #0x2f - str r1, [r7, #0x4ac] - strh r0, [r5, #0x40] - str r0, [r7, #0x4b0] - str r0, [r7, #0x4b4] - ldrsh r1, [r5, #0x40] - mov r2, #3 - strb r2, [sp, #0x34b] - ldr r2, _020e0768 ; =data_ov00_020e34ec - str lr, [r7, #0x4b8] - strh r1, [r2, #0xbc] - str lr, [sp, #0x344] - strb r0, [sp, #0x34a] - strb r4, [sp, #0x34c] - strb r0, [sp, #0x34d] - strb ip, [r7, #0x4be] - strh r0, [r5, #0x28] - strb r11, [r7, #0x4bf] - strb r3, [r7, #0x4c0] - strb ip, [r7, #0x4c1] - str r9, [r7, #0x4e0] - str r0, [r7, #0x4e4] - str r10, [r7, #0x4e8] - strh r0, [r5, #0x10] - ldrsh r1, [r5, #0x28] - mov r2, #0x10 - str r2, [sp, #0x32c] - str r2, [r7, #0x4ec] - ldr r2, _020e0768 ; =data_ov00_020e34ec - str r9, [sp, #0x320] - strh r1, [r2, #0xf0] - mov r1, #0xa - mov r6, r1 - strb r6, [r7, #0x4f2] - strb r8, [r7, #0x4f3] - strb r3, [r7, #0x4f4] - strb ip, [r7, #0x4f5] - str r9, [r7, #0x4f8] - str r0, [r7, #0x4fc] - str r0, [sp, #0x324] - str r10, [sp, #0x328] - str r0, [r7, #0x500] - ldrsh r1, [r5, #0x10] - ldr r2, _020e076c ; =data_ov00_020e35ec - str lr, [r7, #0x504] - strh r1, [r2, #8] - strb r6, [r7, #0x50a] - strb r8, [r7, #0x50b] - strb r3, [r7, #0x50c] - mov r1, #0xa - strb r1, [sp, #0x332] - mov r1, #2 - strb r1, [sp, #0x333] - mov r1, #0xa - strb r1, [sp, #0x31a] - mov r1, #2 - strb r4, [sp, #0x334] - strb r0, [sp, #0x335] - str r9, [sp, #0x308] - str r0, [sp, #0x30c] - str r0, [sp, #0x310] - str lr, [sp, #0x314] - strb r1, [sp, #0x31b] - strb r4, [sp, #0x31c] - strb r0, [sp, #0x31d] - strb ip, [r7, #0x50d] - add r5, sp, #0x208 - mov r8, #0x31 - strh r0, [r5, #0xf8] - str r8, [r7, #0x52c] - str r0, [r7, #0x530] - str r10, [r7, #0x534] - ldrsh r1, [r5, #0xf8] - mov r6, #0x11 - str r6, [r7, #0x538] - str r8, [sp, #0x2f0] - strh r1, [r2, #0x3c] - strh r0, [r5, #0xe0] - strb ip, [r7, #0x53e] - strb ip, [r7, #0x53f] - strb r3, [r7, #0x540] - strb ip, [r7, #0x541] - mov r8, #4 - str r8, [r7, #0x544] - str r0, [r7, #0x548] - str r10, [r7, #0x54c] - strh r0, [r5, #0xc8] - ldrsh r8, [r5, #0xe0] - mov r1, #0x12 - str r1, [r7, #0x550] - str r6, [sp, #0x2fc] - strh r8, [r2, #0x54] - strb ip, [r7, #0x556] - strb ip, [r7, #0x557] - strb r3, [r7, #0x558] - strb ip, [r7, #0x559] - mov r6, #4 - str r6, [r7, #0x578] - str r0, [r7, #0x57c] - str r10, [r7, #0x580] - ldrsh r6, [r5, #0xc8] - str r1, [r7, #0x584] - strh r6, [r2, #0x88] - mov r6, #4 - str r0, [sp, #0x2f4] - str r10, [sp, #0x2f8] - strb r0, [sp, #0x302] - strb r0, [sp, #0x303] - strb r4, [sp, #0x304] - strb r0, [sp, #0x305] - str r6, [sp, #0x2d8] - str r0, [sp, #0x2dc] - str r10, [sp, #0x2e0] - str r1, [sp, #0x2e4] - strb r0, [sp, #0x2ea] - strb r0, [sp, #0x2eb] - strb r4, [sp, #0x2ec] - strb r0, [sp, #0x2ed] - str r6, [sp, #0x2c0] - str r0, [sp, #0x2c4] - str r10, [sp, #0x2c8] - str r1, [sp, #0x2cc] - strb r0, [sp, #0x2d2] - strb r0, [sp, #0x2d3] - strb r4, [sp, #0x2d4] - strb r0, [sp, #0x2d5] - strb ip, [r7, #0x58a] - strb ip, [r7, #0x58b] - strh r0, [r5, #0xb0] - strb r3, [r7, #0x58c] - strb ip, [r7, #0x58d] - mov r1, #0x37 - str r1, [r7, #0x590] - str r0, [r7, #0x594] - str r10, [r7, #0x598] - strh r0, [r5, #0x98] - ldrsh r6, [r5, #0xb0] - mov r8, #0x37 - mov r1, #0x33 - str r8, [sp, #0x2a8] - mov r8, #0x19 - str r0, [sp, #0x2ac] - str r10, [sp, #0x2b0] - str r8, [sp, #0x2b4] - strb r0, [sp, #0x2ba] - strb r0, [sp, #0x2bb] - strb r4, [sp, #0x2bc] - strb r0, [sp, #0x2bd] - str r8, [r7, #0x59c] - strh r6, [r2, #0xa0] - strb ip, [r7, #0x5a2] - strb ip, [r7, #0x5a3] - strb r3, [r7, #0x5a4] - strb ip, [r7, #0x5a5] - str r1, [r7, #0x5c4] - str r0, [r7, #0x5c8] - mov r6, #0x13 - str r1, [sp, #0x290] - str r0, [sp, #0x294] - str r10, [sp, #0x298] - str r6, [sp, #0x29c] - strb r0, [sp, #0x2a2] - strb r0, [sp, #0x2a3] - strb r4, [sp, #0x2a4] - strb r0, [sp, #0x2a5] - str r10, [r7, #0x5cc] - str r6, [r7, #0x5d0] - ldrsh r8, [r5, #0x98] - mov r6, #0xfb - str r1, [sp, #0x278] - str r6, [sp, #0x27c] - strh r8, [r2, #0xd4] - strb ip, [r7, #0x5d6] - strb ip, [r7, #0x5d7] - strb r3, [r7, #0x5d8] - strb ip, [r7, #0x5d9] - str r1, [r7, #0x5dc] - str r6, [r7, #0x5e0] - mov r6, #0x1c - str r10, [sp, #0x280] - str r6, [sp, #0x284] - strh r0, [r5, #0x80] - strb r0, [sp, #0x28a] - strb r0, [sp, #0x28b] - strb r4, [sp, #0x28c] - strb r0, [sp, #0x28d] - str r10, [r7, #0x5e4] - str r6, [r7, #0x5e8] - str r0, [sp, #0x264] - str r10, [sp, #0x268] - strh r0, [r5, #0x68] - strb r0, [sp, #0x272] - strb r0, [sp, #0x273] - strb r4, [sp, #0x274] - strb r0, [sp, #0x275] - str r0, [sp, #0x24c] - str r10, [sp, #0x250] - strh r0, [r5, #0x50] - strb r0, [sp, #0x25a] - strb r0, [sp, #0x25b] - strb r4, [sp, #0x25c] - strb r0, [sp, #0x25d] - str r0, [sp, #0x234] - str r10, [sp, #0x238] - strh r0, [r5, #0x38] - strb r0, [sp, #0x242] - strb r0, [sp, #0x243] - strb r4, [sp, #0x244] - strb r0, [sp, #0x245] - ldrsh r6, [r5, #0x80] - strh r6, [r2, #0xec] - strb ip, [r7, #0x5ee] - strb ip, [r7, #0x5ef] - mov r2, #0x36 - str r2, [sp, #0x260] - str r2, [sp, #0x248] - str r2, [sp, #0x230] - strb r3, [r7, #0x5f0] - strb ip, [r7, #0x5f1] - str r2, [r7, #0x610] - str r0, [r7, #0x614] - str r10, [r7, #0x618] - mov r2, #0x14 - str r2, [sp, #0x26c] - str r2, [r7, #0x61c] - ldrsh r6, [r5, #0x68] - ldr r2, _020e0770 ; =data_ov00_020e36ec - strh r6, [r2, #0x20] - strb ip, [r7, #0x622] - strb ip, [r7, #0x623] - strb r3, [r7, #0x624] - strb ip, [r7, #0x625] - mov r2, #0x36 - str r2, [r7, #0x628] - str r0, [r7, #0x62c] - str r10, [r7, #0x630] - mov r2, #0x15 - str r2, [sp, #0x254] - str r2, [r7, #0x634] - str r2, [sp, #0x23c] - ldrsh r8, [r5, #0x50] - ldr r6, _020e0770 ; =data_ov00_020e36ec - strh r8, [r6, #0x38] - strb ip, [r7, #0x63a] - strb ip, [r7, #0x63b] - strb r3, [r7, #0x63c] - strb ip, [r7, #0x63d] - mov r6, #0x36 - str r6, [r7, #0x65c] - str r0, [r7, #0x660] - str r10, [r7, #0x664] - str r2, [r7, #0x668] - mov r2, r6 - str r2, [sp, #0x218] - str r0, [sp, #0x21c] - str r0, [sp, #0x220] - str lr, [sp, #0x224] - strh r0, [r5, #0x20] - strb r0, [sp, #0x22a] - strb r0, [sp, #0x22b] - strb r4, [sp, #0x22c] - strb r0, [sp, #0x22d] - str r0, [sp, #0x204] - str r10, [sp, #0x208] - strh r0, [r5, #8] - mov r2, #4 - strb r2, [sp, #0x213] - strb r0, [sp, #0x212] - strb r4, [sp, #0x214] - strb r0, [sp, #0x215] - str r0, [sp, #0x1ec] - str r0, [sp, #0x1f0] - str lr, [sp, #0x1f4] - add r2, sp, #0x108 - strh r0, [r2, #0xf0] - strb r0, [sp, #0x1fa] - ldrsh r8, [r5, #0x38] - ldr r6, _020e0770 ; =data_ov00_020e36ec - strh r8, [r6, #0x6c] - strb ip, [r7, #0x66e] - strb ip, [r7, #0x66f] - strb r3, [r7, #0x670] - strb ip, [r7, #0x671] - mov r6, #0x36 - str r6, [r7, #0x674] - str r0, [r7, #0x678] - str r0, [r7, #0x67c] - str lr, [r7, #0x680] - ldrsh r8, [r5, #0x20] - ldr r6, _020e0770 ; =data_ov00_020e36ec - b _020e0774 - .align 2, 0 - arm_func_end func_ov00_020df790 -_020e0758: .word data_ov00_020e30ec -_020e075c: .word data_ov00_020e31ec -_020e0760: .word data_ov00_020e32ec -_020e0764: .word data_ov00_020e33ec -_020e0768: .word data_ov00_020e34ec -_020e076c: .word data_ov00_020e35ec -_020e0770: .word data_ov00_020e36ec -_020e0774: - strh r8, [r6, #0x84] - strb ip, [r7, #0x686] - strb ip, [r7, #0x687] - strb r3, [r7, #0x688] - strb ip, [r7, #0x689] - mov r6, #0x26 - str r6, [sp, #0x200] - str r6, [r7, #0x6a8] - str r0, [r7, #0x6ac] - str r10, [r7, #0x6b0] - str r6, [sp, #0x1e8] - mov r6, #0x16 - str r6, [sp, #0x20c] - str r6, [r7, #0x6b4] - ldrsh r6, [r5, #8] - ldr r5, _020e0770 ; =data_ov00_020e36ec - strh r6, [r5, #0xb8] - ldr r5, [sp, #4] - strb ip, [r7, #0x6ba] - strb r5, [r7, #0x6bb] - strb r3, [r7, #0x6bc] - strb ip, [r7, #0x6bd] - mov r5, #0x26 - str r5, [r7, #0x6c0] - mov r5, #4 - strb r5, [sp, #0x1fb] - strb r4, [sp, #0x1fc] - strb r0, [sp, #0x1fd] - str r0, [r7, #0x6c4] - str r0, [r7, #0x6c8] - str lr, [r7, #0x6cc] - mov r5, #0xfb - str r5, [sp, #0x1d4] - str r10, [sp, #0x1d8] - strh r0, [r2, #0xd8] - str r5, [sp, #0x1bc] - strb r0, [sp, #0x1e2] - strb r0, [sp, #0x1e3] - strb r4, [sp, #0x1e4] - strb r0, [sp, #0x1e5] - str r10, [sp, #0x1c0] - strh r0, [r2, #0xc0] - strb r0, [sp, #0x1ca] - strb r0, [sp, #0x1cb] - strb r4, [sp, #0x1cc] - strb r0, [sp, #0x1cd] - str r1, [sp, #0x1a0] - str r0, [sp, #0x1a4] - str r10, [sp, #0x1a8] - ldrsh r6, [r2, #0xf0] - ldr r5, _020e0770 ; =data_ov00_020e36ec - strh r6, [r5, #0xd0] - ldr r5, [sp, #4] - strb ip, [r7, #0x6d2] - strb r5, [r7, #0x6d3] - strb r3, [r7, #0x6d4] - strb ip, [r7, #0x6d5] - mov r6, #0x35 - str r6, [sp, #0x1d0] - str r6, [r7, #0x6f4] - mov r5, #0xfb - str r5, [r7, #0x6f8] - str r10, [r7, #0x6fc] - mov r5, #0x17 - str r6, [sp, #0x1b8] - str r5, [sp, #0x1dc] - str r5, [r7, #0x700] - str r5, [sp, #0x1c4] - ldrsh r8, [r2, #0xd8] - ldr r5, _020e0e94 ; =data_ov00_020e37ec - strh r8, [r5, #4] - strb ip, [r7, #0x706] - strb ip, [r7, #0x707] - strb r3, [r7, #0x708] - strb ip, [r7, #0x709] - str r6, [r7, #0x70c] - mov r6, #0xfb - str r6, [r7, #0x710] - str r10, [r7, #0x714] - mov r6, #0x17 - str r6, [r7, #0x718] - ldrsh r6, [r2, #0xc0] - strh r6, [r5, #0x1c] - strb ip, [r7, #0x71e] - strb ip, [r7, #0x71f] - strb r3, [r7, #0x720] - strb ip, [r7, #0x721] - strh r0, [r2, #0xa8] - strb r0, [sp, #0x1b2] - strb r0, [sp, #0x1b3] - strb r4, [sp, #0x1b4] - strb r0, [sp, #0x1b5] - str r1, [r7, #0x740] - str r0, [r7, #0x744] - str r10, [r7, #0x748] - str r1, [sp, #0x188] - str r0, [sp, #0x18c] - str r10, [sp, #0x190] - strh r0, [r2, #0x90] - mov r6, #0x37 - str r6, [sp, #0x170] - mov r6, #0x19 - str r6, [sp, #0x17c] - strb r0, [sp, #0x19a] - strb r0, [sp, #0x19b] - strb r4, [sp, #0x19c] - strb r0, [sp, #0x19d] - str r0, [sp, #0x174] - str r10, [sp, #0x178] - strh r0, [r2, #0x78] - mov r6, #0x18 - strb r0, [sp, #0x182] - strb r0, [sp, #0x183] - strb r4, [sp, #0x184] - strb r0, [sp, #0x185] - str r6, [sp, #0x1ac] - str r6, [r7, #0x74c] - ldrsh r6, [r2, #0xa8] - strh r6, [r5, #0x50] - strb ip, [r7, #0x752] - strb ip, [r7, #0x753] - strb r3, [r7, #0x754] - strb ip, [r7, #0x755] - str r1, [r7, #0x758] - str r0, [r7, #0x75c] - str r10, [r7, #0x760] - mov r6, #0x1a - str r6, [sp, #0x194] - str r6, [r7, #0x764] - ldrsh r8, [r2, #0x90] - strh r8, [r5, #0x68] - strb ip, [r7, #0x76a] - strb ip, [r7, #0x76b] - strb r3, [r7, #0x76c] - strb ip, [r7, #0x76d] - mov r8, #0x37 - str r8, [r7, #0x78c] - str r0, [r7, #0x790] - str r10, [r7, #0x794] - mov r8, #0x19 - str r8, [r7, #0x798] - ldrsh r8, [r2, #0x78] - strh r8, [r5, #0x9c] - strb ip, [r7, #0x79e] - strb ip, [r7, #0x79f] - strb r3, [r7, #0x7a0] - strb ip, [r7, #0x7a1] - str r0, [sp, #0x15c] - str r0, [sp, #0x160] - str lr, [sp, #0x164] - strh r0, [r2, #0x60] - strb r0, [sp, #0x16a] - strb r0, [sp, #0x16b] - strb r4, [sp, #0x16c] - strb r0, [sp, #0x16d] - str r1, [sp, #0x140] - str r0, [sp, #0x144] - str r10, [sp, #0x148] - str r6, [sp, #0x14c] - strh r0, [r2, #0x48] - strb r0, [sp, #0x152] - strb r0, [sp, #0x153] - strb r4, [sp, #0x154] - strb r0, [sp, #0x155] - str r1, [sp, #0x128] - str r0, [sp, #0x12c] - str r10, [sp, #0x130] - strh r0, [r2, #0x30] - mov r8, #0x32 - strb r0, [sp, #0x13a] - strb r0, [sp, #0x13b] - strb r4, [sp, #0x13c] - strb r0, [sp, #0x13d] - str r8, [sp, #0x158] - str r8, [r7, #0x7a4] - str r0, [r7, #0x7a8] - str r0, [r7, #0x7ac] - str lr, [r7, #0x7b0] - ldrsh r8, [r2, #0x60] - strh r8, [r5, #0xb4] - strb ip, [r7, #0x7b6] - strb ip, [r7, #0x7b7] - strb r3, [r7, #0x7b8] - strb ip, [r7, #0x7b9] - str r1, [r7, #0x7d8] - str r0, [r7, #0x7dc] - str r10, [r7, #0x7e0] - str r6, [r7, #0x7e4] - ldrsh r6, [r2, #0x48] - strh r6, [r5, #0xe8] - strb ip, [r7, #0x7ea] - strb ip, [r7, #0x7eb] - strb r3, [r7, #0x7ec] - strb ip, [r7, #0x7ed] - str r1, [r7, #0x7f0] - str r0, [r7, #0x7f4] - str r10, [r7, #0x7f8] - ldrsh r8, [r2, #0x30] - mov r6, #0x1b - ldr r5, _020e0e98 ; =data_ov00_020e38ec - str r6, [sp, #0x134] - str r6, [r7, #0x7fc] - strh r8, [r5] - strb ip, [r7, #0x802] - str r1, [sp, #0x110] - str r0, [sp, #0x114] - str r10, [sp, #0x118] - str r6, [sp, #0x11c] - strh r0, [r2, #0x18] - strb r0, [sp, #0x122] - strb r0, [sp, #0x123] - strb r4, [sp, #0x124] - strb r0, [sp, #0x125] - strb ip, [r7, #0x803] - strb r3, [r7, #0x804] - strb ip, [r7, #0x805] - str r1, [r7, #0x824] - str r0, [r7, #0x828] - str r10, [r7, #0x82c] - str r6, [r7, #0x830] - ldrsh r6, [r2, #0x18] - strh r0, [r2] - ldrsh r2, [r2] - strh r6, [r5, #0x34] - strb ip, [r7, #0x836] - strb ip, [r7, #0x837] - strb r3, [r7, #0x838] - strb ip, [r7, #0x839] - str r1, [r7, #0x83c] - str r0, [r7, #0x840] - str r0, [r7, #0x844] - str lr, [r7, #0x848] - strh r2, [r5, #0x4c] - strb ip, [r7, #0x84e] - strb ip, [r7, #0x84f] - strb r3, [r7, #0x850] - strb ip, [r7, #0x851] - mov r8, #0xfb - str r8, [sp, #0xe4] - mov r8, #0x1c - str r1, [sp, #0xf8] - str r1, [sp, #0xe0] - str r1, [r7, #0x870] - mov r1, #0xfb - str r1, [r7, #0x874] - str r0, [sp, #0xfc] - str r0, [sp, #0x100] - str lr, [sp, #0x104] - strb r0, [sp, #0x10a] - strb r0, [sp, #0x10b] - strb r4, [sp, #0x10c] - strb r0, [sp, #0x10d] - str r10, [sp, #0xe8] - str r8, [sp, #0xec] - strh r0, [sp, #0xf0] - strb r0, [sp, #0xf2] - strb r0, [sp, #0xf3] - strb r4, [sp, #0xf4] - strb r0, [sp, #0xf5] - str r10, [r7, #0x878] - ldrsh r2, [sp, #0xf0] - mov r1, r8 - str r1, [r7, #0x87c] - strh r2, [r5, #0x80] - strb ip, [r7, #0x882] - strb ip, [r7, #0x883] - strb r3, [r7, #0x884] - strb ip, [r7, #0x885] - mov r1, #0x36 - str r1, [r7, #0x888] - strh r0, [sp, #0xd8] - str r0, [r7, #0x88c] - ldrsh r2, [sp, #0xd8] - str r10, [r7, #0x890] - mov r1, #0x14 - str r1, [r7, #0x894] - strh r2, [r5, #0x98] - strb ip, [r7, #0x89a] - strb ip, [r7, #0x89b] - strb r3, [r7, #0x89c] - strb ip, [r7, #0x89d] - strh r0, [sp, #0xc0] - str r9, [r7, #0x8bc] - str r0, [r7, #0x8c0] - ldrsh r2, [sp, #0xc0] - str r10, [r7, #0x8c4] - mov r1, #0x1d - str r1, [r7, #0x8c8] - strh r2, [r5, #0xcc] - strb ip, [r7, #0x8ce] - mov r1, #0x36 - strb ip, [r7, #0x8cf] - str r1, [sp, #0xc8] - mov r1, #0x14 - strb r3, [r7, #0x8d0] - str r1, [sp, #0xd4] - mov r1, #0x1d - str r0, [sp, #0xcc] - str r10, [sp, #0xd0] - strb r0, [sp, #0xda] - strb r0, [sp, #0xdb] - strb r4, [sp, #0xdc] - strb r0, [sp, #0xdd] - str r9, [sp, #0xb0] - str r0, [sp, #0xb4] - str r10, [sp, #0xb8] - str r1, [sp, #0xbc] - strb r0, [sp, #0xc2] - strb r0, [sp, #0xc3] - strb r4, [sp, #0xc4] - strb r0, [sp, #0xc5] - strb ip, [r7, #0x8d1] - str r9, [sp, #0x98] - str r0, [sp, #0x9c] - str r0, [sp, #0xa0] - str lr, [sp, #0xa4] - strh r0, [sp, #0xa8] - strb r0, [sp, #0xaa] - strb r0, [sp, #0xab] - strb r4, [sp, #0xac] - strb r0, [sp, #0xad] - str r9, [r7, #0x8d4] - str r0, [r7, #0x8d8] - str r0, [r7, #0x8dc] - ldrsh r1, [sp, #0xa8] - str lr, [r7, #0x8e0] - strh r0, [sp, #0x90] - strh r1, [r5, #0xe4] - strb ip, [r7, #0x8e6] - strb ip, [r7, #0x8e7] - strb r3, [r7, #0x8e8] - strb ip, [r7, #0x8e9] - str r9, [r7, #0x908] - str r0, [r7, #0x90c] - mov r2, #0x1e - str r10, [r7, #0x910] - ldrsh r6, [sp, #0x90] - ldr r5, _020e0e9c ; =data_ov00_020e39ec - str r2, [r7, #0x914] - strh r6, [r5, #0x18] - strb ip, [r7, #0x91a] - strb ip, [r7, #0x91b] - strb r3, [r7, #0x91c] - mov r1, #0x47 - strb ip, [r7, #0x91d] - strh r0, [sp, #0x78] - str r1, [r7, #0x920] - str r0, [r7, #0x924] - str r0, [r7, #0x928] - mov r6, #0x1f - ldrsh r8, [sp, #0x78] - str lr, [r7, #0x92c] - str r9, [sp, #0x80] - strh r8, [r5, #0x30] - strb ip, [r7, #0x932] - strb ip, [r7, #0x933] - strb r3, [r7, #0x934] - str r0, [sp, #0x84] - str r10, [sp, #0x88] - str r2, [sp, #0x8c] - strb r0, [sp, #0x92] - strb r0, [sp, #0x93] - strb r4, [sp, #0x94] - strb r0, [sp, #0x95] - str r1, [sp, #0x68] - str r0, [sp, #0x6c] - str r0, [sp, #0x70] - str lr, [sp, #0x74] - strb r0, [sp, #0x7a] - strb r0, [sp, #0x7b] - strb r4, [sp, #0x7c] - strb r0, [sp, #0x7d] - strb ip, [r7, #0x935] - str r9, [sp, #0x50] - str r0, [sp, #0x54] - str r10, [sp, #0x58] - str r6, [sp, #0x5c] - strh r0, [sp, #0x60] - strb r0, [sp, #0x62] - str r9, [r7, #0x954] - str r0, [r7, #0x958] - str r10, [r7, #0x95c] - str r6, [r7, #0x960] - ldrsh r2, [sp, #0x60] - mov r6, #0x20 - strh r0, [sp, #0x48] - strh r2, [r5, #0x64] - strb ip, [r7, #0x966] - strb ip, [r7, #0x967] - strb r3, [r7, #0x968] - strb ip, [r7, #0x969] - str r1, [r7, #0x96c] - str r0, [r7, #0x970] - str r0, [r7, #0x974] - ldrsh r2, [sp, #0x48] - str lr, [r7, #0x978] - strh r0, [sp, #0x30] - strh r2, [r5, #0x7c] - strb ip, [r7, #0x97e] - strb ip, [r7, #0x97f] - strb r3, [r7, #0x980] - strb ip, [r7, #0x981] - str r9, [r7, #0x9a0] - str r0, [r7, #0x9a4] - str r10, [r7, #0x9a8] - ldrsh r2, [sp, #0x30] - str r6, [r7, #0x9ac] - strh r0, [sp, #0x18] - strh r2, [r5, #0xb0] - strb ip, [r7, #0x9b2] - strb ip, [r7, #0x9b3] - strb r3, [r7, #0x9b4] - strb ip, [r7, #0x9b5] - str r1, [r7, #0x9b8] - str r0, [r7, #0x9bc] - str r0, [r7, #0x9c0] - str r1, [sp, #0x38] - str r1, [sp, #8] - ldrsh r1, [sp, #0x18] - str lr, [r7, #0x9c4] - ldr r2, _020e0ea0 ; =data_ov00_020ecdd8 - strh r1, [r5, #0xc8] - strb ip, [r7, #0x9ca] - strb ip, [r7, #0x9cb] - strb r3, [r7, #0x9cc] - ldr r1, _020e0ea4 ; =_ZN14AdventureFlags18func_ov00_020980d0Ev - strb r0, [sp, #0x63] - strb r4, [sp, #0x64] - strb r0, [sp, #0x65] - str r0, [sp, #0x3c] - str r0, [sp, #0x40] - str lr, [sp, #0x44] - strb r0, [sp, #0x4a] - strb r0, [sp, #0x4b] - strb r4, [sp, #0x4c] - strb r0, [sp, #0x4d] - str r9, [sp, #0x20] - str r0, [sp, #0x24] - str r10, [sp, #0x28] - str r6, [sp, #0x2c] - strb r0, [sp, #0x32] - strb r0, [sp, #0x33] - strb r4, [sp, #0x34] - strb r0, [sp, #0x35] - str r0, [sp, #0xc] - str r0, [sp, #0x10] - str lr, [sp, #0x14] - strb r0, [sp, #0x1a] - strb r0, [sp, #0x1b] - strb r4, [sp, #0x1c] - strb r0, [sp, #0x1d] - strb ip, [r7, #0x9cd] - bl __register_global_object - add sp, sp, #0x238 - add sp, sp, #0x400 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 -_020e0e94: .word data_ov00_020e37ec -_020e0e98: .word data_ov00_020e38ec -_020e0e9c: .word data_ov00_020e39ec -_020e0ea0: .word data_ov00_020ecdd8 -_020e0ea4: .word _ZN14AdventureFlags18func_ov00_020980d0Ev - - .global func_ov00_020e0ea8 - arm_func_start func_ov00_020e0ea8 -func_ov00_020e0ea8: ; 0x020e0ea8 - ldr r2, _020e1024 ; =data_ov00_020dbf88 - ldr r1, _020e1028 ; =data_ov00_020ecde4 - ldmia r2, {r0, r3} - str r0, [r1] - str r3, [r1, #0x68] - ldr r0, [r2, #8] - ldr r3, [r2, #0xc] - str r0, [r1, #0xd0] - str r3, [r1, #0x138] - ldr r0, [r2, #0x10] - ldr r3, [r2, #0x14] - str r0, [r1, #0x1a0] - str r3, [r1, #0x208] - ldr r0, [r2, #0x18] - ldr r3, [r2, #0x1c] - str r0, [r1, #0x270] - str r3, [r1, #0x2d8] - ldr r0, [r2, #0x20] - ldr r3, [r2, #0x24] - str r0, [r1, #0x340] - str r3, [r1, #0x3a8] - ldr r0, [r2, #0x28] - ldr r3, [r2, #0x2c] - str r0, [r1, #0x410] - str r3, [r1, #0x478] - ldr r0, [r2, #0x30] - ldr r3, [r2, #0x34] - str r0, [r1, #0x4e0] - str r3, [r1, #0x548] - ldr r0, [r2, #0x38] - ldr r3, [r2, #0x3c] - str r0, [r1, #0x5b0] - str r3, [r1, #0x618] - ldr r0, [r2, #0x40] - ldr r3, [r2, #0x44] - str r0, [r1, #0x680] - str r3, [r1, #0x6e8] - ldr r0, [r2, #0x48] - ldr r3, [r2, #0x4c] - str r0, [r1, #0x750] - str r3, [r1, #0x7b8] - ldr r0, [r2, #0x50] - ldr r3, [r2, #0x54] - str r0, [r1, #0x820] - ldr r0, [r2, #0x58] - str r3, [r1, #0x888] - str r0, [r1, #0x8f0] - ldr r3, [r2, #0x5c] - ldr r0, _020e102c ; =data_ov00_020edde4 - str r3, [r1, #0x958] - ldr r3, [r2, #0x60] - str r3, [r1, #0x9c0] - ldr r3, [r2, #0x64] - str r3, [r1, #0xa28] - ldr r3, [r2, #0x68] - str r3, [r1, #0xa90] - ldr r3, [r2, #0x6c] - str r3, [r1, #0xaf8] - ldr r3, [r2, #0x70] - str r3, [r1, #0xb60] - ldr r3, [r2, #0x74] - str r3, [r1, #0xbc8] - ldr r3, [r2, #0x78] - str r3, [r1, #0xc30] - ldr r3, [r2, #0x7c] - str r3, [r1, #0xc98] - ldr r3, [r2, #0x80] - str r3, [r1, #0xd00] - ldr r3, [r2, #0x84] - str r3, [r1, #0xd68] - ldr r3, [r2, #0x88] - str r3, [r1, #0xdd0] - ldr r3, [r2, #0x8c] - str r3, [r1, #0xe38] - ldr r3, [r2, #0x90] - str r3, [r1, #0xea0] - ldr r3, [r2, #0x94] - str r3, [r1, #0xf08] - ldr r3, [r2, #0x98] - str r3, [r1, #0xf70] - ldr r3, [r2, #0x9c] - str r3, [r1, #0xfd8] - ldr r1, [r2, #0xa0] - str r1, [r0, #0x40] - ldr r1, [r2, #0xa4] - str r1, [r0, #0xa8] - ldr r1, [r2, #0xa8] - str r1, [r0, #0x110] - ldr r1, [r2, #0xac] - str r1, [r0, #0x178] - ldr r1, [r2, #0xb0] - str r1, [r0, #0x1e0] - ldr r1, [r2, #0xb4] - str r1, [r0, #0x248] - bx lr - .align 2, 0 - arm_func_end func_ov00_020e0ea8 -_020e1024: .word data_ov00_020dbf88 -_020e1028: .word data_ov00_020ecde4 -_020e102c: .word data_ov00_020edde4 - - .global func_ov00_020e1030 - arm_func_start func_ov00_020e1030 -func_ov00_020e1030: ; 0x020e1030 - stmdb sp!, {r3, lr} - ldr r0, _020e1050 ; =data_ov00_020ee0a0 - bl func_ov08_0211351c - ldr r0, _020e1050 ; =data_ov00_020ee0a0 - ldr r1, _020e1054 ; =func_ov08_021135b8 - ldr r2, _020e1058 ; =data_ov00_020ee094 - bl __register_global_object - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end func_ov00_020e1030 -_020e1050: .word data_ov00_020ee0a0 -_020e1054: .word func_ov08_021135b8 -_020e1058: .word data_ov00_020ee094 - - .section .ctor, 4, 1, 4 - .global data_ov00_020e1e90 -data_ov00_020e1e90: ; 0x020e1e90 - .word func_ov00_020df378 - .global data_ov00_020e1e94 -data_ov00_020e1e94: ; 0x020e1e94 - .word func_ov00_020df38c - .global data_ov00_020e1e98 -data_ov00_020e1e98: ; 0x020e1e98 - .word func_ov00_020df3b8 - .global data_ov00_020e1e9c -data_ov00_020e1e9c: ; 0x020e1e9c - .word func_ov00_020df3cc - .global data_ov00_020e1ea0 -data_ov00_020e1ea0: ; 0x020e1ea0 - .word func_ov00_020df3e0 - .global data_ov00_020e1ea4 -data_ov00_020e1ea4: ; 0x020e1ea4 - .word func_ov00_020df3f4 - .global data_ov00_020e1ea8 -data_ov00_020e1ea8: ; 0x020e1ea8 - .word func_ov00_020df420 - .global data_ov00_020e1eac -data_ov00_020e1eac: ; 0x020e1eac - .word func_ov00_020df45c - .global data_ov00_020e1eb0 -data_ov00_020e1eb0: ; 0x020e1eb0 - .word func_ov00_020df470 - .global data_ov00_020e1eb4 -data_ov00_020e1eb4: ; 0x020e1eb4 - .word func_ov00_020df4a4 - .global data_ov00_020e1eb8 -data_ov00_020e1eb8: ; 0x020e1eb8 - .word func_ov00_020df4b8 - .global data_ov00_020e1ebc -data_ov00_020e1ebc: ; 0x020e1ebc - .word func_ov00_020df4cc - .global data_ov00_020e1ec0 -data_ov00_020e1ec0: ; 0x020e1ec0 - .word func_ov00_020df640 - .global data_ov00_020e1ec4 -data_ov00_020e1ec4: ; 0x020e1ec4 - .word func_ov00_020df678 - .global data_ov00_020e1ec8 -data_ov00_020e1ec8: ; 0x020e1ec8 - .word func_ov00_020df6b8 - .global data_ov00_020e1ecc -data_ov00_020e1ecc: ; 0x020e1ecc - .word func_ov00_020df6f8 - .global data_ov00_020e1ed0 -data_ov00_020e1ed0: ; 0x020e1ed0 - .word func_ov00_020df738 - .global data_ov00_020e1ed4 -data_ov00_020e1ed4: ; 0x020e1ed4 - .word func_ov00_020df770 - .global data_ov00_020e1ed8 -data_ov00_020e1ed8: ; 0x020e1ed8 - .word func_ov00_020df790 - .global data_ov00_020e1edc -data_ov00_020e1edc: ; 0x020e1edc - .word func_ov00_020e0ea8 - .global data_ov00_020e1ee0 -data_ov00_020e1ee0: ; 0x020e1ee0 - .word func_ov00_020e1030 - - .data - .global data_ov00_020e2044 -data_ov00_020e2044: ; 0x020e2044 - .ascii "Menu/Bg/Color0.NCLR" - .byte 0x00 - .global data_ov00_020e2058 -data_ov00_020e2058: ; 0x020e2058 - .ascii "%s:objlist/motype.zob" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e2070 -data_ov00_020e2070: ; 0x020e2070 - .ascii "%s:objlist/motype_%d.zob" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e208c -data_ov00_020e208c: ; 0x020e208c - .ascii "%s:objlist/npctype.zob" - .byte 0x00, 0x00 - .global data_ov00_020e20a4 -data_ov00_020e20a4: ; 0x020e20a4 - .ascii "%s:objlist/npctype_%d.zob" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e20c0 -data_ov00_020e20c0: ; 0x020e20c0 - .ascii "%s:tex/mapModel.nsbtx" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e20d8 -data_ov00_020e20d8: ; 0x020e20d8 - .ascii "%s:arrange/%s.zab" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e20ec -data_ov00_020e20ec: ; 0x020e20ec - .ascii "%s:objlist/motype.zob" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e2104 -data_ov00_020e2104: ; 0x020e2104 - .ascii "%s:objlist/npctype.zob" - .byte 0x00, 0x00 - .global data_ov00_020e211c -data_ov00_020e211c: ; 0x020e211c - .ascii "%s:tex/mapModel.nsbtx" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e2134 -data_ov00_020e2134: ; 0x020e2134 - .ascii "%s:arrange/%s.zab" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e2148 -data_ov00_020e2148: ; 0x020e2148 - .ascii "%s:nsbmd/%s_%d%d.nsbmd" - .byte 0x00, 0x00 - .global data_ov00_020e2160 -data_ov00_020e2160: ; 0x020e2160 - .ascii "%s:zcb/%s_%d%d.zcb" - .byte 0x00, 0x00 - .global data_ov00_020e2174 -data_ov00_020e2174: ; 0x020e2174 - .ascii "Map2D/%s/map00.bin" - .byte 0x00, 0x00 - .global data_ov00_020e2188 -data_ov00_020e2188: ; 0x020e2188 - .ascii "Map2D/%s/mapwd.bin" - .byte 0x00, 0x00 - .global data_ov00_020e219c -data_ov00_020e219c: ; 0x020e219c - .ascii "Map2D/%s/map%d%d.bin" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e21b4 -data_ov00_020e21b4: ; 0x020e21b4 - .ascii "Map2D/seatest/map%d%d.bin" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e21d0 -data_ov00_020e21d0: ; 0x020e21d0 - .ascii "Map2D/sea_minigame/map%d%d.bin" - .byte 0x00, 0x00 - .global data_ov00_020e21f0 -data_ov00_020e21f0: ; 0x020e21f0 - .ascii "Map2D/sea_fishing/map%d%d.bin" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e2210 -data_ov00_020e2210: ; 0x020e2210 - .ascii "Map2D/sea_salvage/map%d%d.bin" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e2230 -data_ov00_020e2230: ; 0x020e2230 - .ascii "Map2D/boss_last2/map%d%d.bin" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2250 -data_ov00_020e2250: ; 0x020e2250 - .ascii "Map2D/sea/map%d%d_02.bin" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e226c -data_ov00_020e226c: ; 0x020e226c - .ascii "Map2D/sea/map%d%d.bin" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e2284 -data_ov00_020e2284: ; 0x020e2284 - .ascii "Map2D/sea/map%d%d.bin" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e229c -data_ov00_020e229c: ; 0x020e229c - .ascii "%s:zob/motype_%d%d_%d.zob" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e22b8 -data_ov00_020e22b8: ; 0x020e22b8 - .ascii "%s:zob/npctype_%d%d_%d.zob" - .byte 0x00, 0x00 - .global data_ov00_020e22d4 -data_ov00_020e22d4: ; 0x020e22d4 - .ascii "%s:mcb/%s_%d%d.mcb" - .byte 0x00, 0x00 - .global data_ov00_020e22e8 -data_ov00_020e22e8: ; 0x020e22e8 - .ascii "%s:zmb/%s_%d%d.zmb" - .byte 0x00, 0x00 - .global data_ov00_020e22fc -data_ov00_020e22fc: ; 0x020e22fc - .ascii "fnl" - .byte 0x00 - .global data_ov00_020e2300 -data_ov00_020e2300: ; 0x020e2300 - .ascii "bow" - .byte 0x00 - .global data_ov00_020e2304 -data_ov00_020e2304: ; 0x020e2304 - .ascii "dco" - .byte 0x00 - .global data_ov00_020e2308 -data_ov00_020e2308: ; 0x020e2308 - .ascii "can" - .byte 0x00 - .global data_ov00_020e230c -data_ov00_020e230c: ; 0x020e230c - .ascii "hul" - .byte 0x00 - .global data_ov00_020e2310 -data_ov00_020e2310: ; 0x020e2310 - .ascii "pdl" - .byte 0x00 - .global data_ov00_020e2314 -data_ov00_020e2314: ; 0x020e2314 - .ascii "anc" - .byte 0x00 - .global data_ov00_020e2318 -data_ov00_020e2318: ; 0x020e2318 - .ascii "brg" - .byte 0x00 - .global data_ov00_020e231c -data_ov00_020e231c: ; 0x020e231c - .word data_ov00_020e2314 - .global data_ov00_020e2320 -data_ov00_020e2320: ; 0x020e2320 - .word data_ov00_020e2300 - .global data_ov00_020e2324 -data_ov00_020e2324: ; 0x020e2324 - .word data_ov00_020e230c - .global data_ov00_020e2328 -data_ov00_020e2328: ; 0x020e2328 - .word data_ov00_020e2308 - .global data_ov00_020e232c -data_ov00_020e232c: ; 0x020e232c - .word data_ov00_020e2304 - .global data_ov00_020e2330 -data_ov00_020e2330: ; 0x020e2330 - .word data_ov00_020e2310 - .global data_ov00_020e2334 -data_ov00_020e2334: ; 0x020e2334 - .word data_ov00_020e22fc - .global data_ov00_020e2338 -data_ov00_020e2338: ; 0x020e2338 - .word data_ov00_020e2318 - .global data_ov00_020e233c -data_ov00_020e233c: ; 0x020e233c - .word data_ov00_020e240c - .global data_ov00_020e2340 -data_ov00_020e2340: ; 0x020e2340 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2344 -data_ov00_020e2344: ; 0x020e2344 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2348 -data_ov00_020e2348: ; 0x020e2348 - .word func_ov00_0207dc04 - .global data_ov00_020e234c -data_ov00_020e234c: ; 0x020e234c - .word func_ov00_0207db1c - .global data_ov00_020e2350 -data_ov00_020e2350: ; 0x020e2350 - .word func_ov04_0210c1f8 ; data_ov07_0210c1f8 - .global data_ov00_020e2354 -data_ov00_020e2354: ; 0x020e2354 - .word func_ov04_0210c3fc ; data_ov07_0210c3fc - .global data_ov00_020e2358 -data_ov00_020e2358: ; 0x020e2358 - .word func_ov04_0210c52c ; data_ov07_0210c52c - .global data_ov00_020e235c -data_ov00_020e235c: ; 0x020e235c - .word func_ov04_0210bfa8 ; data_ov07_0210bfa8 - .global data_ov00_020e2360 -data_ov00_020e2360: ; 0x020e2360 - .word func_ov00_0207ddf4 - .global data_ov00_020e2364 -data_ov00_020e2364: ; 0x020e2364 - .word func_ov05_02111bc0 - .global data_ov00_020e2368 -data_ov00_020e2368: ; 0x020e2368 - .word func_ov05_02111c00 - .global data_ov00_020e236c -data_ov00_020e236c: ; 0x020e236c - .word func_ov05_02111c6c - .global data_ov00_020e2370 -data_ov00_020e2370: ; 0x020e2370 - .word func_ov05_02111c70 - .global data_ov00_020e2374 -data_ov00_020e2374: ; 0x020e2374 - .word func_ov04_0210c5cc ; data_ov07_0210c5cc - .global data_ov00_020e2378 -data_ov00_020e2378: ; 0x020e2378 - .word func_ov04_0210c764 ; data_ov07_0210c764 - .global data_ov00_020e237c -data_ov00_020e237c: ; 0x020e237c - .word func_ov04_0210c800 ; data_ov07_0210c800 - .global data_ov00_020e2380 -data_ov00_020e2380: ; 0x020e2380 - .word func_ov04_0210c88c ; data_ov07_0210c88c - .global data_ov00_020e2384 -data_ov00_020e2384: ; 0x020e2384 - .word func_ov04_0210c8d4 ; data_ov07_0210c8d4 - .global data_ov00_020e2388 -data_ov00_020e2388: ; 0x020e2388 - .word func_ov04_0210ca84 ; data_ov07_0210ca84 - .global data_ov00_020e238c -data_ov00_020e238c: ; 0x020e238c - .word func_ov04_0210cb00 ; data_ov07_0210cb00 - .global data_ov00_020e2390 -data_ov00_020e2390: ; 0x020e2390 - .word func_ov00_0207e46c - .global data_ov00_020e2394 -data_ov00_020e2394: ; 0x020e2394 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2398 -data_ov00_020e2398: ; 0x020e2398 - .word func_ov00_0207e488 - .global data_ov00_020e239c -data_ov00_020e239c: ; 0x020e239c - .word func_ov00_0207e490 - .global data_ov00_020e23a0 -data_ov00_020e23a0: ; 0x020e23a0 - .word func_ov00_0207e498 - .global data_ov00_020e23a4 -data_ov00_020e23a4: ; 0x020e23a4 - .word func_ov00_0207e4a0 - .global data_ov00_020e23a8 -data_ov00_020e23a8: ; 0x020e23a8 - .word func_ov00_0207e4a8 - .global data_ov00_020e23ac -data_ov00_020e23ac: ; 0x020e23ac - .word func_ov00_0207e4b0 - .global data_ov00_020e23b0 -data_ov00_020e23b0: ; 0x020e23b0 - .word func_ov00_0207e4b8 - .global data_ov00_020e23b4 -data_ov00_020e23b4: ; 0x020e23b4 - .word func_ov00_0207e970 - .global data_ov00_020e23b8 -data_ov00_020e23b8: ; 0x020e23b8 - .word func_ov00_0207ee14 - .global data_ov00_020e23bc -data_ov00_020e23bc: ; 0x020e23bc - .word func_ov00_0207eff4 - .global data_ov00_020e23c0 -data_ov00_020e23c0: ; 0x020e23c0 - .word func_ov00_0207f34c - .global data_ov00_020e23c4 -data_ov00_020e23c4: ; 0x020e23c4 - .word func_ov00_0207f354 - .global data_ov00_020e23c8 -data_ov00_020e23c8: ; 0x020e23c8 - .word func_ov00_0207f35c - .global data_ov00_020e23cc -data_ov00_020e23cc: ; 0x020e23cc - .word func_ov00_0207f364 - .global data_ov00_020e23d0 -data_ov00_020e23d0: ; 0x020e23d0 - .word func_ov00_0207f324 - .global data_ov00_020e23d4 -data_ov00_020e23d4: ; 0x020e23d4 - .word func_ov00_0207f32c - .global data_ov00_020e23d8 -data_ov00_020e23d8: ; 0x020e23d8 - .word func_ov00_0207f3c4 - .global data_ov00_020e23dc -data_ov00_020e23dc: ; 0x020e23dc - .word func_ov00_0207f4a0 - .global data_ov00_020e23e0 -data_ov00_020e23e0: ; 0x020e23e0 - .word func_ov00_02080d78 - .global data_ov00_020e23e4 -data_ov00_020e23e4: ; 0x020e23e4 - .word func_ov00_0207f334 - .global data_ov00_020e23e8 -data_ov00_020e23e8: ; 0x020e23e8 - .word func_ov00_0207f338 - .global data_ov00_020e23ec -data_ov00_020e23ec: ; 0x020e23ec - .word func_ov00_0207f33c - .global data_ov00_020e23f0 -data_ov00_020e23f0: ; 0x020e23f0 - .word func_ov00_0207f344 - .global data_ov00_020e23f4 -data_ov00_020e23f4: ; 0x020e23f4 - .word func_ov00_0207f348 - .global data_ov00_020e23f8 -data_ov00_020e23f8: ; 0x020e23f8 - .word func_ov00_0207e060 - .global data_ov00_020e23fc -data_ov00_020e23fc: ; 0x020e23fc - .word func_ov00_0207e444 - .global data_ov00_020e2400 -data_ov00_020e2400: ; 0x020e2400 - .word func_ov00_020807d4 - .global data_ov00_020e2404 -data_ov00_020e2404: ; 0x020e2404 - .word func_ov00_02080d74 - .global data_ov00_020e2408 -data_ov00_020e2408: ; 0x020e2408 - .word func_ov00_02080d7c - .global data_ov00_020e240c -data_ov00_020e240c: ; 0x020e240c - .ascii "M00" - .byte 0x00 - .global data_ov00_020e2410 -data_ov00_020e2410: ; 0x020e2410 - .ascii "Map/%s/map%d%d.bin" - .byte 0x00, 0x00 - .global data_ov00_020e2424 -data_ov00_020e2424: ; 0x020e2424 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2428 -data_ov00_020e2428: ; 0x020e2428 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e242c -data_ov00_020e242c: ; 0x020e242c - .word func_ov00_020820bc - .global data_ov00_020e2430 -data_ov00_020e2430: ; 0x020e2430 - .word func_ov00_020820d0 - .global data_ov00_020e2434 -data_ov00_020e2434: ; 0x020e2434 - .word func_ov00_02082004 - .global data_ov00_020e2438 -data_ov00_020e2438: ; 0x020e2438 - .word func_ov00_0208200c - .global data_ov00_020e243c -data_ov00_020e243c: ; 0x020e243c - .word func_ov00_02082014 - .global data_ov00_020e2440 -data_ov00_020e2440: ; 0x020e2440 - .word func_ov00_02082084 - .global data_ov00_020e2444 -data_ov00_020e2444: ; 0x020e2444 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2448 -data_ov00_020e2448: ; 0x020e2448 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e244c -data_ov00_020e244c: ; 0x020e244c - .word func_ov00_0208208c - .global data_ov00_020e2450 -data_ov00_020e2450: ; 0x020e2450 - .word func_ov00_020820a0 - .global data_ov00_020e2454 -data_ov00_020e2454: ; 0x020e2454 - .word func_ov00_02081f70 - .global data_ov00_020e2458 -data_ov00_020e2458: ; 0x020e2458 - .word func_ov00_02081f78 - .global data_ov00_020e245c -data_ov00_020e245c: ; 0x020e245c - .word func_ov00_02081f80 - .global data_ov00_020e2460 -data_ov00_020e2460: ; 0x020e2460 - .word func_ov00_02081f50 - .global data_ov00_020e2464 -data_ov00_020e2464: ; 0x020e2464 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2468 -data_ov00_020e2468: ; 0x020e2468 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e246c -data_ov00_020e246c: ; 0x020e246c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2470 -data_ov00_020e2470: ; 0x020e2470 - .word func_ov00_02081f38 - .global data_ov00_020e2474 -data_ov00_020e2474: ; 0x020e2474 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2478 -data_ov00_020e2478: ; 0x020e2478 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e247c -data_ov00_020e247c: ; 0x020e247c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2480 -data_ov00_020e2480: ; 0x020e2480 - .word func_ov00_02081f50 - .global data_ov00_020e2484 -data_ov00_020e2484: ; 0x020e2484 - .ascii "brg" - .byte 0x00 - .global data_ov00_020e2488 -data_ov00_020e2488: ; 0x020e2488 - .ascii "fnl" - .byte 0x00 - .global data_ov00_020e248c -data_ov00_020e248c: ; 0x020e248c - .ascii "pdl" - .byte 0x00 - .global data_ov00_020e2490 -data_ov00_020e2490: ; 0x020e2490 - .ascii "dco" - .byte 0x00 - .global data_ov00_020e2494 -data_ov00_020e2494: ; 0x020e2494 - .ascii "can" - .byte 0x00 - .global data_ov00_020e2498 -data_ov00_020e2498: ; 0x020e2498 - .ascii "hul" - .byte 0x00 - .global data_ov00_020e249c -data_ov00_020e249c: ; 0x020e249c - .ascii "bow" - .byte 0x00 - .global data_ov00_020e24a0 -data_ov00_020e24a0: ; 0x020e24a0 - .ascii "anc" - .byte 0x00 - .global data_ov00_020e24a4 -data_ov00_020e24a4: ; 0x020e24a4 - .word data_ov00_020e24a0 - .global data_ov00_020e24a8 -data_ov00_020e24a8: ; 0x020e24a8 - .word data_ov00_020e249c - .global data_ov00_020e24ac -data_ov00_020e24ac: ; 0x020e24ac - .word data_ov00_020e2498 - .global data_ov00_020e24b0 -data_ov00_020e24b0: ; 0x020e24b0 - .word data_ov00_020e2494 - .global data_ov00_020e24b4 -data_ov00_020e24b4: ; 0x020e24b4 - .word data_ov00_020e2490 - .global data_ov00_020e24b8 -data_ov00_020e24b8: ; 0x020e24b8 - .word data_ov00_020e248c - .global data_ov00_020e24bc -data_ov00_020e24bc: ; 0x020e24bc - .word data_ov00_020e2488 - .global data_ov00_020e24c0 -data_ov00_020e24c0: ; 0x020e24c0 - .word data_ov00_020e2484 - - .bss - .global data_ov00_020e9368 -data_ov00_020e9368: - .space 0x4 - .global data_ov00_020e936c -data_ov00_020e936c: - .space 0x4 - .global data_ov00_020e9370 -data_ov00_020e9370: - .space 0x4 - .global data_ov00_020e9374 -data_ov00_020e9374: - .space 0x4 - .global data_ov00_020e9378 -data_ov00_020e9378: - .space 0x4 - .global data_ov00_020e937c -data_ov00_020e937c: - .space 0x4 - .global data_ov00_020e9380 -data_ov00_020e9380: - .space 0x4 - .global data_ov00_020e9384 -data_ov00_020e9384: - .space 0x4 - .global data_ov00_020e9388 -data_ov00_020e9388: - .space 0x4 - .global data_ov00_020e938c -data_ov00_020e938c: - .space 0x4 - .global data_ov00_020e9390 -data_ov00_020e9390: - .space 0x4 - .global data_ov00_020e9394 -data_ov00_020e9394: - .space 0x4 - .global data_ov00_020e9398 -data_ov00_020e9398: - .space 0x4 - .global data_ov00_020e939c -data_ov00_020e939c: - .space 0x4 - .global data_ov00_020e93a0 -data_ov00_020e93a0: - .space 0x4 - .global data_ov00_020e93a4 -data_ov00_020e93a4: - .space 0x4 - .global data_ov00_020e93a8 -data_ov00_020e93a8: - .space 0x4 - .global data_ov00_020e93ac -data_ov00_020e93ac: - .space 0x4 - .global data_ov00_020e93b0 -data_ov00_020e93b0: - .space 0x4 - .global data_ov00_020e93b4 -data_ov00_020e93b4: - .space 0x4 - .global data_ov00_020e93b8 -data_ov00_020e93b8: - .space 0x4 - .global data_ov00_020e93bc -data_ov00_020e93bc: - .space 0x4 - .global data_ov00_020e93c0 -data_ov00_020e93c0: - .space 0x4 - .global data_ov00_020e93c4 -data_ov00_020e93c4: - .space 0x4 - .global data_ov00_020e93c8 -data_ov00_020e93c8: - .space 0x4 - .global data_ov00_020e93cc -data_ov00_020e93cc: - .space 0x4 - .global data_ov00_020e93d0 -data_ov00_020e93d0: - .space 0x4 - .global data_ov00_020e93d4 -data_ov00_020e93d4: - .space 0x4 - .global data_ov00_020e93d8 -data_ov00_020e93d8: - .space 0x4 - .global data_ov00_020e93dc -data_ov00_020e93dc: - .space 0x4 - .global data_ov00_020e93e0 -data_ov00_020e93e0: - .space 0x4 - .global data_ov00_020e93e4 -data_ov00_020e93e4: - .space 0x4 - .global data_ov00_020e93e8 -data_ov00_020e93e8: - .space 0x4 - .global data_ov00_020e93ec -data_ov00_020e93ec: - .space 0x4 - .global data_ov00_020e93f0 -data_ov00_020e93f0: - .space 0x4 - .global data_ov00_020e93f4 -data_ov00_020e93f4: - .space 0x4 - .global data_ov00_020e93f8 -data_ov00_020e93f8: - .space 0x4 - .global data_ov00_020e93fc -data_ov00_020e93fc: - .space 0x4 - .global data_ov00_020e9400 -data_ov00_020e9400: - .space 0x4 - .global data_ov00_020e9404 -data_ov00_020e9404: - .space 0x4 - .global data_ov00_020e9408 -data_ov00_020e9408: - .space 0x4 - .global data_ov00_020e940c -data_ov00_020e940c: - .space 0x4 - .global data_ov00_020e9410 -data_ov00_020e9410: - .space 0x4 - .global data_ov00_020e9414 -data_ov00_020e9414: - .space 0x4 - .global data_ov00_020e9418 -data_ov00_020e9418: - .space 0x4 - .global data_ov00_020e941c -data_ov00_020e941c: - .space 0x4 - .global data_ov00_020e9420 -data_ov00_020e9420: - .space 0x4 - .global data_ov00_020e9424 -data_ov00_020e9424: - .space 0x4 - .global data_ov00_020e9428 -data_ov00_020e9428: - .space 0x4 - .global data_ov00_020e942c -data_ov00_020e942c: - .space 0x4 - .global data_ov00_020e9430 -data_ov00_020e9430: - .space 0x4 - .global data_ov00_020e9434 -data_ov00_020e9434: - .space 0x4 - .global data_ov00_020e9438 -data_ov00_020e9438: - .space 0x4 - .global data_ov00_020e943c -data_ov00_020e943c: - .space 0x4 - .global data_ov00_020e9440 -data_ov00_020e9440: - .space 0x4 - .global data_ov00_020e9444 -data_ov00_020e9444: - .space 0x4 - .global data_ov00_020e9448 -data_ov00_020e9448: - .space 0x4 - .global data_ov00_020e944c -data_ov00_020e944c: - .space 0x4 - .global data_ov00_020e9450 -data_ov00_020e9450: - .space 0x4 - .global data_ov00_020e9454 -data_ov00_020e9454: - .space 0x4 - .global data_ov00_020e9458 -data_ov00_020e9458: - .space 0x4 - .global data_ov00_020e945c -data_ov00_020e945c: - .space 0x4 - .global data_ov00_020e9460 -data_ov00_020e9460: - .space 0x4 - .global data_ov00_020e9464 -data_ov00_020e9464: - .space 0x4 - .global data_ov00_020e9468 -data_ov00_020e9468: - .space 0x4 - .global data_ov00_020e946c -data_ov00_020e946c: - .space 0x4 - .global data_ov00_020e9470 -data_ov00_020e9470: - .space 0x4 - .global data_ov00_020e9474 -data_ov00_020e9474: - .space 0x4 - .global data_ov00_020e9478 -data_ov00_020e9478: - .space 0x4 - .global data_ov00_020e947c -data_ov00_020e947c: - .space 0x4 - .global data_ov00_020e9480 -data_ov00_020e9480: - .space 0x4 - .global data_ov00_020e9484 -data_ov00_020e9484: - .space 0x4 - .global data_ov00_020e9488 -data_ov00_020e9488: - .space 0x4 - .global data_ov00_020e948c -data_ov00_020e948c: - .space 0x4 - .global data_ov00_020e9490 -data_ov00_020e9490: - .space 0x4 - .global data_ov00_020e9494 -data_ov00_020e9494: - .space 0x4 - .global data_ov00_020e9498 -data_ov00_020e9498: - .space 0x4 - .global data_ov00_020e949c -data_ov00_020e949c: - .space 0x4 - .global data_ov00_020e94a0 -data_ov00_020e94a0: - .space 0x4 - .global data_ov00_020e94a4 -data_ov00_020e94a4: - .space 0x4 - .global data_ov00_020e94a8 -data_ov00_020e94a8: - .space 0x4 - .global data_ov00_020e94ac -data_ov00_020e94ac: - .space 0x4 - .global data_ov00_020e94b0 -data_ov00_020e94b0: - .space 0x4 - .global data_ov00_020e94b4 -data_ov00_020e94b4: - .space 0x4 - .global data_ov00_020e94b8 -data_ov00_020e94b8: - .space 0x4 - .global data_ov00_020e94bc -data_ov00_020e94bc: - .space 0x4 - .global data_ov00_020e94c0 -data_ov00_020e94c0: - .space 0x4 - .global data_ov00_020e94c4 -data_ov00_020e94c4: - .space 0x4 - .global data_ov00_020e94c8 -data_ov00_020e94c8: - .space 0x4 - .global data_ov00_020e94cc -data_ov00_020e94cc: - .space 0x4 - .global data_ov00_020e94d0 -data_ov00_020e94d0: - .space 0x4 - .global data_ov00_020e94d4 -data_ov00_020e94d4: - .space 0x4 - .global data_ov00_020e94d8 -data_ov00_020e94d8: - .space 0x4 - .global data_ov00_020e94dc -data_ov00_020e94dc: - .space 0x4 - .global data_ov00_020e94e0 -data_ov00_020e94e0: - .space 0x4 - .global data_ov00_020e94e4 -data_ov00_020e94e4: - .space 0x4 - .global data_ov00_020e94e8 -data_ov00_020e94e8: - .space 0x4 - .global data_ov00_020e94ec -data_ov00_020e94ec: - .space 0x4 - .global data_ov00_020e94f0 -data_ov00_020e94f0: - .space 0x4 - .global data_ov00_020e94f4 -data_ov00_020e94f4: - .space 0x4 - .global data_ov00_020e94f8 -data_ov00_020e94f8: - .space 0x4 - .global data_ov00_020e94fc -data_ov00_020e94fc: - .space 0x4 - .global data_ov00_020e9500 -data_ov00_020e9500: - .space 0x4 - .global data_ov00_020e9504 -data_ov00_020e9504: - .space 0x4 - .global data_ov00_020e9508 -data_ov00_020e9508: - .space 0x4 - .global data_ov00_020e950c -data_ov00_020e950c: - .space 0x4 - .global data_ov00_020e9510 -data_ov00_020e9510: - .space 0x4 - .global data_ov00_020e9514 -data_ov00_020e9514: - .space 0x4 - .global data_ov00_020e9518 -data_ov00_020e9518: - .space 0x4 - .global data_ov00_020e951c -data_ov00_020e951c: - .space 0x4 - .global data_ov00_020e9520 -data_ov00_020e9520: - .space 0x4 - .global data_ov00_020e9524 -data_ov00_020e9524: - .space 0x4 - .global data_ov00_020e9528 -data_ov00_020e9528: - .space 0x4 - .global data_ov00_020e952c -data_ov00_020e952c: - .space 0x4 - .global data_ov00_020e9530 -data_ov00_020e9530: - .space 0x4 - .global data_ov00_020e9534 -data_ov00_020e9534: - .space 0x4 - .global data_ov00_020e9538 -data_ov00_020e9538: - .space 0x4 - .global data_ov00_020e953c -data_ov00_020e953c: - .space 0x4 - .global data_ov00_020e9540 -data_ov00_020e9540: - .space 0x4 - .global data_ov00_020e9544 -data_ov00_020e9544: - .space 0x4 - .global data_ov00_020e9548 -data_ov00_020e9548: - .space 0x4 - .global data_ov00_020e954c -data_ov00_020e954c: - .space 0x4 - .global data_ov00_020e9550 -data_ov00_020e9550: - .space 0x4 - .global data_ov00_020e9554 -data_ov00_020e9554: - .space 0x4 - .global data_ov00_020e9558 -data_ov00_020e9558: - .space 0x4 - .global data_ov00_020e955c -data_ov00_020e955c: - .space 0x4 - .global data_ov00_020e9560 -data_ov00_020e9560: - .space 0x4 - .global data_ov00_020e9564 -data_ov00_020e9564: - .space 0x4 - .global data_ov00_020e9568 -data_ov00_020e9568: - .space 0x4 - .global data_ov00_020e956c -data_ov00_020e956c: - .space 0x4 - .global data_ov00_020e9570 -data_ov00_020e9570: - .space 0x4 - .global data_ov00_020e9574 -data_ov00_020e9574: - .space 0x4 - .global data_ov00_020e9578 -data_ov00_020e9578: - .space 0x4 - .global data_ov00_020e957c -data_ov00_020e957c: - .space 0x4 - .global data_ov00_020e9580 -data_ov00_020e9580: - .space 0x4 - .global data_ov00_020e9584 -data_ov00_020e9584: - .space 0x4 - .global data_ov00_020e9588 -data_ov00_020e9588: - .space 0x4 - .global data_ov00_020e958c -data_ov00_020e958c: - .space 0x4 - .global data_ov00_020e9590 -data_ov00_020e9590: - .space 0x4 - .global data_ov00_020e9594 -data_ov00_020e9594: - .space 0x4 - .global data_ov00_020e9598 -data_ov00_020e9598: - .space 0x4 - .global data_ov00_020e959c -data_ov00_020e959c: - .space 0x4 - .global data_ov00_020e95a0 -data_ov00_020e95a0: - .space 0x4 - .global data_ov00_020e95a4 -data_ov00_020e95a4: - .space 0x4 - .global data_ov00_020e95a8 -data_ov00_020e95a8: - .space 0x4 - .global data_ov00_020e95ac -data_ov00_020e95ac: - .space 0x4 - .global data_ov00_020e95b0 -data_ov00_020e95b0: - .space 0x4 - .global data_ov00_020e95b4 -data_ov00_020e95b4: - .space 0x4 - .global data_ov00_020e95b8 -data_ov00_020e95b8: - .space 0x4 - .global data_ov00_020e95bc -data_ov00_020e95bc: - .space 0x4 - .global data_ov00_020e95c0 -data_ov00_020e95c0: - .space 0x4 - .global data_ov00_020e95c4 -data_ov00_020e95c4: - .space 0x4 - .global data_ov00_020e95c8 -data_ov00_020e95c8: - .space 0x4 - .global data_ov00_020e95cc -data_ov00_020e95cc: - .space 0x4 - .global data_ov00_020e95d0 -data_ov00_020e95d0: - .space 0x4 - .global data_ov00_020e95d4 -data_ov00_020e95d4: - .space 0x4 - .global data_ov00_020e95d8 -data_ov00_020e95d8: - .space 0x4 - .global data_ov00_020e95dc -data_ov00_020e95dc: - .space 0x4 - .global data_ov00_020e95e0 -data_ov00_020e95e0: - .space 0x4 - .global data_ov00_020e95e4 -data_ov00_020e95e4: - .space 0x4 - .global data_ov00_020e95e8 -data_ov00_020e95e8: - .space 0x4 - .global data_ov00_020e95ec -data_ov00_020e95ec: - .space 0x4 - .global data_ov00_020e95f0 -data_ov00_020e95f0: - .space 0x4 - .global data_ov00_020e95f4 -data_ov00_020e95f4: - .space 0x4 - .global data_ov00_020e95f8 -data_ov00_020e95f8: - .space 0x4 - .global data_ov00_020e95fc -data_ov00_020e95fc: - .space 0x4 - .global data_ov00_020e9600 -data_ov00_020e9600: - .space 0x4 - .global data_ov00_020e9604 -data_ov00_020e9604: - .space 0x4 - .global data_ov00_020e9608 -data_ov00_020e9608: - .space 0x4 - .global data_ov00_020e960c -data_ov00_020e960c: - .space 0x4 - .global data_ov00_020e9610 -data_ov00_020e9610: - .space 0x4 - .global data_ov00_020e9614 -data_ov00_020e9614: - .space 0x4 - .global data_ov00_020e9618 -data_ov00_020e9618: - .space 0x4 - .global data_ov00_020e961c -data_ov00_020e961c: - .space 0x4 - .global data_ov00_020e9620 -data_ov00_020e9620: - .space 0x4 - .global data_ov00_020e9624 -data_ov00_020e9624: - .space 0x4 - .global data_ov00_020e9628 -data_ov00_020e9628: - .space 0x4 - .global data_ov00_020e962c -data_ov00_020e962c: - .space 0x4 - .global data_ov00_020e9630 -data_ov00_020e9630: - .space 0x4 - .global data_ov00_020e9634 -data_ov00_020e9634: - .space 0x4 - .global data_ov00_020e9638 -data_ov00_020e9638: - .space 0x4 - .global data_ov00_020e963c -data_ov00_020e963c: - .space 0x4 - .global data_ov00_020e9640 -data_ov00_020e9640: - .space 0x4 - .global data_ov00_020e9644 -data_ov00_020e9644: - .space 0x4 - .global data_ov00_020e9648 -data_ov00_020e9648: - .space 0x4 - .global data_ov00_020e964c -data_ov00_020e964c: - .space 0x4 - .global data_ov00_020e9650 -data_ov00_020e9650: - .space 0x4 - .global data_ov00_020e9654 -data_ov00_020e9654: - .space 0x4 - .global data_ov00_020e9658 -data_ov00_020e9658: - .space 0x4 - .global data_ov00_020e965c -data_ov00_020e965c: - .space 0x4 - .global data_ov00_020e9660 -data_ov00_020e9660: - .space 0x4 - .global data_ov00_020e9664 -data_ov00_020e9664: - .space 0x4 - .global data_ov00_020e9668 -data_ov00_020e9668: - .space 0x4 - .global data_ov00_020e966c -data_ov00_020e966c: - .space 0x4 - .global data_ov00_020e9670 -data_ov00_020e9670: - .space 0x4 - .global data_ov00_020e9674 -data_ov00_020e9674: - .space 0x4 - .global data_ov00_020e9678 -data_ov00_020e9678: - .space 0x4 - .global data_ov00_020e967c -data_ov00_020e967c: - .space 0x4 - .global data_ov00_020e9680 -data_ov00_020e9680: - .space 0x4 - .global data_ov00_020e9684 -data_ov00_020e9684: - .space 0x4 - .global data_ov00_020e9688 -data_ov00_020e9688: - .space 0x4 - .global data_ov00_020e968c -data_ov00_020e968c: - .space 0x4 - .global data_ov00_020e9690 -data_ov00_020e9690: - .space 0x4 - .global data_ov00_020e9694 -data_ov00_020e9694: - .space 0x4 - .global data_ov00_020e9698 -data_ov00_020e9698: - .space 0x4 - .global data_ov00_020e969c -data_ov00_020e969c: - .space 0x4 - .global data_ov00_020e96a0 -data_ov00_020e96a0: - .space 0x4 - .global data_ov00_020e96a4 -data_ov00_020e96a4: - .space 0x4 - .global data_ov00_020e96a8 -data_ov00_020e96a8: - .space 0x4 - .global data_ov00_020e96ac -data_ov00_020e96ac: - .space 0x4 - .global data_ov00_020e96b0 -data_ov00_020e96b0: - .space 0x4 - .global data_ov00_020e96b4 -data_ov00_020e96b4: - .space 0x4 - .global data_ov00_020e96b8 -data_ov00_020e96b8: - .space 0x4 - .global data_ov00_020e96bc -data_ov00_020e96bc: - .space 0x4 - .global data_ov00_020e96c0 -data_ov00_020e96c0: - .space 0x4 - .global data_ov00_020e96c4 -data_ov00_020e96c4: - .space 0x4 - .global data_ov00_020e96c8 -data_ov00_020e96c8: - .space 0x4 - .global data_ov00_020e96cc -data_ov00_020e96cc: - .space 0x4 - .global data_ov00_020e96d0 -data_ov00_020e96d0: - .space 0x4 - .global data_ov00_020e96d4 -data_ov00_020e96d4: - .space 0x4 - .global data_ov00_020e96d8 -data_ov00_020e96d8: - .space 0x4 - .global data_ov00_020e96dc -data_ov00_020e96dc: - .space 0x4 - .global data_ov00_020e96e0 -data_ov00_020e96e0: - .space 0x4 - .global data_ov00_020e96e4 -data_ov00_020e96e4: - .space 0x4 - .global data_ov00_020e96e8 -data_ov00_020e96e8: - .space 0x4 - .global data_ov00_020e96ec -data_ov00_020e96ec: - .space 0x4 - .global data_ov00_020e96f0 -data_ov00_020e96f0: - .space 0x4 - .global data_ov00_020e96f4 -data_ov00_020e96f4: - .space 0x4 - .global data_ov00_020e96f8 -data_ov00_020e96f8: - .space 0x4 - .global data_ov00_020e96fc -data_ov00_020e96fc: - .space 0x4 - .global data_ov00_020e9700 -data_ov00_020e9700: - .space 0x4 - .global data_ov00_020e9704 -data_ov00_020e9704: - .space 0x4 - .global data_ov00_020e9708 -data_ov00_020e9708: - .space 0x4 - .global data_ov00_020e970c -data_ov00_020e970c: - .space 0x4 - .global data_ov00_020e9710 -data_ov00_020e9710: - .space 0x4 - .global data_ov00_020e9714 -data_ov00_020e9714: - .space 0x4 - .global data_ov00_020e9718 -data_ov00_020e9718: - .space 0x4 - .global data_ov00_020e971c -data_ov00_020e971c: - .space 0x4 - .global data_ov00_020e9720 -data_ov00_020e9720: - .space 0x4 - .global data_ov00_020e9724 -data_ov00_020e9724: - .space 0x4 - .global data_ov00_020e9728 -data_ov00_020e9728: - .space 0x4 - .global data_ov00_020e972c -data_ov00_020e972c: - .space 0x4 - .global data_ov00_020e9730 -data_ov00_020e9730: - .space 0x4 - .global data_ov00_020e9734 -data_ov00_020e9734: - .space 0x4 - .global data_ov00_020e9738 -data_ov00_020e9738: - .space 0x4 - .global data_ov00_020e973c -data_ov00_020e973c: - .space 0x4 - .global data_ov00_020e9740 -data_ov00_020e9740: - .space 0x4 - .global data_ov00_020e9744 -data_ov00_020e9744: - .space 0x4 - .global data_ov00_020e9748 -data_ov00_020e9748: - .space 0x4 - .global data_ov00_020e974c -data_ov00_020e974c: - .space 0x4 - .global data_ov00_020e9750 -data_ov00_020e9750: - .space 0x4 - .global data_ov00_020e9754 -data_ov00_020e9754: - .space 0x4 - .global data_ov00_020e9758 -data_ov00_020e9758: - .space 0x4 - .global data_ov00_020e975c -data_ov00_020e975c: - .space 0x4 - .global data_ov00_020e9760 -data_ov00_020e9760: - .space 0x4 - .global data_ov00_020e9764 -data_ov00_020e9764: - .space 0x4 - .global data_ov00_020e9768 -data_ov00_020e9768: - .space 0x4 - .global data_ov00_020e976c -data_ov00_020e976c: - .space 0x4 - .global data_ov00_020e9770 -data_ov00_020e9770: - .space 0x4 - .global data_ov00_020e9774 -data_ov00_020e9774: - .space 0x4 - .global data_ov00_020e9778 -data_ov00_020e9778: - .space 0x4 - .global data_ov00_020e977c -data_ov00_020e977c: - .space 0x4 - .global data_ov00_020e9780 -data_ov00_020e9780: - .space 0x4 - .global data_ov00_020e9784 -data_ov00_020e9784: - .space 0x4 - .global data_ov00_020e9788 -data_ov00_020e9788: - .space 0x4 - .global data_ov00_020e978c -data_ov00_020e978c: - .space 0x4 - .global data_ov00_020e9790 -data_ov00_020e9790: - .space 0x4 - .global data_ov00_020e9794 -data_ov00_020e9794: - .space 0x4 - .global data_ov00_020e9798 -data_ov00_020e9798: - .space 0x4 - .global data_ov00_020e979c -data_ov00_020e979c: - .space 0x4 - .global data_ov00_020e97a0 -data_ov00_020e97a0: - .space 0x4 - .global data_ov00_020e97a4 -data_ov00_020e97a4: - .space 0x4 - .global data_ov00_020e97a8 -data_ov00_020e97a8: - .space 0x4 - .global data_ov00_020e97ac -data_ov00_020e97ac: - .space 0x4 - .global data_ov00_020e97b0 -data_ov00_020e97b0: - .space 0x4 - .global data_ov00_020e97b4 -data_ov00_020e97b4: - .space 0x4 - .global data_ov00_020e97b8 -data_ov00_020e97b8: - .space 0x4 - .global data_ov00_020e97bc -data_ov00_020e97bc: - .space 0x4 - .global data_ov00_020e97c0 -data_ov00_020e97c0: - .space 0x4 - .global data_ov00_020e97c4 -data_ov00_020e97c4: - .space 0x4 - .global data_ov00_020e97c8 -data_ov00_020e97c8: - .space 0x4 - .global data_ov00_020e97cc -data_ov00_020e97cc: - .space 0x4 - .global data_ov00_020e97d0 -data_ov00_020e97d0: - .space 0x4 - .global data_ov00_020e97d4 -data_ov00_020e97d4: - .space 0x4 - .global data_ov00_020e97d8 -data_ov00_020e97d8: - .space 0x4 - .global data_ov00_020e97dc -data_ov00_020e97dc: - .space 0x4 - .global data_ov00_020e97e0 -data_ov00_020e97e0: - .space 0x4 - .global data_ov00_020e97e4 -data_ov00_020e97e4: - .space 0x4 - .global data_ov00_020e97e8 -data_ov00_020e97e8: - .space 0x4 - .global data_ov00_020e97ec -data_ov00_020e97ec: - .space 0x4 - .global data_ov00_020e97f0 -data_ov00_020e97f0: - .space 0x4 - .global data_ov00_020e97f4 -data_ov00_020e97f4: - .space 0x4 - .global data_ov00_020e97f8 -data_ov00_020e97f8: - .space 0x4 - .global data_ov00_020e97fc -data_ov00_020e97fc: - .space 0x4 - .global data_ov00_020e9800 -data_ov00_020e9800: - .space 0x4 - .global data_ov00_020e9804 -data_ov00_020e9804: - .space 0x4 - .global data_ov00_020e9808 -data_ov00_020e9808: - .space 0x4 - .global data_ov00_020e980c -data_ov00_020e980c: - .space 0x4 - .global data_ov00_020e9810 -data_ov00_020e9810: - .space 0x4 - .global data_ov00_020e9814 -data_ov00_020e9814: - .space 0x4 - .global data_ov00_020e9818 -data_ov00_020e9818: - .space 0x4 - .global data_ov00_020e981c -data_ov00_020e981c: - .space 0x4 - .global data_ov00_020e9820 -data_ov00_020e9820: - .space 0x4 - .global data_ov00_020e9824 -data_ov00_020e9824: - .space 0x4 - .global data_ov00_020e9828 -data_ov00_020e9828: - .space 0x4 - .global data_ov00_020e982c -data_ov00_020e982c: - .space 0x4 - .global data_ov00_020e9830 -data_ov00_020e9830: - .space 0x4 - .global data_ov00_020e9834 -data_ov00_020e9834: - .space 0x4 - .global data_ov00_020e9838 -data_ov00_020e9838: - .space 0x4 - .global data_ov00_020e983c -data_ov00_020e983c: - .space 0x4 - .global data_ov00_020e9840 -data_ov00_020e9840: - .space 0x4 - .global data_ov00_020e9844 -data_ov00_020e9844: - .space 0x4 - .global data_ov00_020e9848 -data_ov00_020e9848: - .space 0x4 - .global data_ov00_020e984c -data_ov00_020e984c: - .space 0x4 - .global data_ov00_020e9850 -data_ov00_020e9850: - .space 0x4 - .global data_ov00_020e9854 -data_ov00_020e9854: - .space 0x4 - .global data_ov00_020e9858 -data_ov00_020e9858: - .space 0x4 - .global data_ov00_020e985c -data_ov00_020e985c: - .space 0x4 - .global data_ov00_020e9860 -data_ov00_020e9860: - .space 0x4 - .global data_ov00_020e9864 -data_ov00_020e9864: - .space 0x4 - .global data_ov00_020e9868 -data_ov00_020e9868: - .space 0x4 - .global data_ov00_020e986c -data_ov00_020e986c: - .space 0x4 - .global data_ov00_020e9870 -data_ov00_020e9870: - .space 0x4 - .global data_ov00_020e9874 -data_ov00_020e9874: - .space 0x4 - .global data_ov00_020e9878 -data_ov00_020e9878: - .space 0x4 - .global data_ov00_020e987c -data_ov00_020e987c: - .space 0x4 - .global data_ov00_020e9880 -data_ov00_020e9880: - .space 0x4 - .global data_ov00_020e9884 -data_ov00_020e9884: - .space 0x4 - .global data_ov00_020e9888 -data_ov00_020e9888: - .space 0x4 - .global data_ov00_020e988c -data_ov00_020e988c: - .space 0x4 - .global data_ov00_020e9890 -data_ov00_020e9890: - .space 0x4 - .global data_ov00_020e9894 -data_ov00_020e9894: - .space 0x4 - .global data_ov00_020e9898 -data_ov00_020e9898: - .space 0x4 - .global data_ov00_020e989c -data_ov00_020e989c: - .space 0x4 - .global data_ov00_020e98a0 -data_ov00_020e98a0: - .space 0x4 - .global data_ov00_020e98a4 -data_ov00_020e98a4: - .space 0x4 - .global data_ov00_020e98a8 -data_ov00_020e98a8: - .space 0x4 - .global data_ov00_020e98ac -data_ov00_020e98ac: - .space 0x4 - .global data_ov00_020e98b0 -data_ov00_020e98b0: - .space 0x4 - .global data_ov00_020e98b4 -data_ov00_020e98b4: - .space 0x4 - .global data_ov00_020e98b8 -data_ov00_020e98b8: - .space 0x4 - .global data_ov00_020e98bc -data_ov00_020e98bc: - .space 0x4 - .global data_ov00_020e98c0 -data_ov00_020e98c0: - .space 0x4 - .global data_ov00_020e98c4 -data_ov00_020e98c4: - .space 0x4 - .global data_ov00_020e98c8 -data_ov00_020e98c8: - .space 0x4 - .global data_ov00_020e98cc -data_ov00_020e98cc: - .space 0x4 - .global data_ov00_020e98d0 -data_ov00_020e98d0: - .space 0x4 - .global data_ov00_020e98d4 -data_ov00_020e98d4: - .space 0x4 - .global data_ov00_020e98d8 -data_ov00_020e98d8: - .space 0x4 - .global data_ov00_020e98dc -data_ov00_020e98dc: - .space 0x4 - .global data_ov00_020e98e0 -data_ov00_020e98e0: - .space 0x4 - .global data_ov00_020e98e4 -data_ov00_020e98e4: - .space 0x4 - .global data_ov00_020e98e8 -data_ov00_020e98e8: - .space 0x4 - .global data_ov00_020e98ec -data_ov00_020e98ec: - .space 0x4 - .global data_ov00_020e98f0 -data_ov00_020e98f0: - .space 0x4 - .global data_ov00_020e98f4 -data_ov00_020e98f4: - .space 0x4 - .global data_ov00_020e98f8 -data_ov00_020e98f8: - .space 0x4 - .global data_ov00_020e98fc -data_ov00_020e98fc: - .space 0x4 - .global data_ov00_020e9900 -data_ov00_020e9900: - .space 0x4 - .global data_ov00_020e9904 -data_ov00_020e9904: - .space 0x4 - .global data_ov00_020e9908 -data_ov00_020e9908: - .space 0x4 - .global data_ov00_020e990c -data_ov00_020e990c: - .space 0x4 - .global data_ov00_020e9910 -data_ov00_020e9910: - .space 0x4 - .global data_ov00_020e9914 -data_ov00_020e9914: - .space 0x4 - .global data_ov00_020e9918 -data_ov00_020e9918: - .space 0x4 - .global data_ov00_020e991c -data_ov00_020e991c: - .space 0x4 - .global data_ov00_020e9920 -data_ov00_020e9920: - .space 0x4 - .global data_ov00_020e9924 -data_ov00_020e9924: - .space 0x4 - .global data_ov00_020e9928 -data_ov00_020e9928: - .space 0x4 - .global data_ov00_020e992c -data_ov00_020e992c: - .space 0x4 - .global data_ov00_020e9930 -data_ov00_020e9930: - .space 0x4 - .global data_ov00_020e9934 -data_ov00_020e9934: - .space 0x4 - .global data_ov00_020e9938 -data_ov00_020e9938: - .space 0x4 - .global data_ov00_020e993c -data_ov00_020e993c: - .space 0x4 - .global data_ov00_020e9940 -data_ov00_020e9940: - .space 0x4 - .global data_ov00_020e9944 -data_ov00_020e9944: - .space 0x4 - .global data_ov00_020e9948 -data_ov00_020e9948: - .space 0x4 - .global data_ov00_020e994c -data_ov00_020e994c: - .space 0x4 - .global data_ov00_020e9950 -data_ov00_020e9950: - .space 0x4 - .global data_ov00_020e9954 -data_ov00_020e9954: - .space 0x4 - .global data_ov00_020e9958 -data_ov00_020e9958: - .space 0x4 - .global data_ov00_020e995c -data_ov00_020e995c: - .space 0x4 - .global data_ov00_020e9960 -data_ov00_020e9960: - .space 0x4 - .global data_ov00_020e9964 -data_ov00_020e9964: - .space 0x4 - .global data_ov00_020e9968 -data_ov00_020e9968: - .space 0x4 - .global data_ov00_020e996c -data_ov00_020e996c: - .space 0x4 - .global data_ov00_020e9970 -data_ov00_020e9970: - .space 0x4 - .global data_ov00_020e9974 -data_ov00_020e9974: - .space 0x4 - .global data_ov00_020e9978 -data_ov00_020e9978: - .space 0x4 - .global data_ov00_020e997c -data_ov00_020e997c: - .space 0x4 - .global data_ov00_020e9980 -data_ov00_020e9980: - .space 0x4 - .global data_ov00_020e9984 -data_ov00_020e9984: - .space 0x4 - .global data_ov00_020e9988 -data_ov00_020e9988: - .space 0x4 - .global data_ov00_020e998c -data_ov00_020e998c: - .space 0x4 - .global data_ov00_020e9990 -data_ov00_020e9990: - .space 0x4 - .global data_ov00_020e9994 -data_ov00_020e9994: - .space 0x4 - .global data_ov00_020e9998 -data_ov00_020e9998: - .space 0x4 - .global data_ov00_020e999c -data_ov00_020e999c: - .space 0x4 - .global data_ov00_020e99a0 -data_ov00_020e99a0: - .space 0x4 - .global data_ov00_020e99a4 -data_ov00_020e99a4: - .space 0x4 - .global data_ov00_020e99a8 -data_ov00_020e99a8: - .space 0x4 - .global data_ov00_020e99ac -data_ov00_020e99ac: - .space 0x4 - .global data_ov00_020e99b0 -data_ov00_020e99b0: - .space 0x4 - .global data_ov00_020e99b4 -data_ov00_020e99b4: - .space 0x4 - .global data_ov00_020e99b8 -data_ov00_020e99b8: - .space 0x4 - .global data_ov00_020e99bc -data_ov00_020e99bc: - .space 0x4 - .global data_ov00_020e99c0 -data_ov00_020e99c0: - .space 0x4 - .global data_ov00_020e99c4 -data_ov00_020e99c4: - .space 0x4 - .global data_ov00_020e99c8 -data_ov00_020e99c8: - .space 0x4 - .global data_ov00_020e99cc -data_ov00_020e99cc: - .space 0x4 - .global data_ov00_020e99d0 -data_ov00_020e99d0: - .space 0x4 - .global data_ov00_020e99d4 -data_ov00_020e99d4: - .space 0x4 - .global data_ov00_020e99d8 -data_ov00_020e99d8: - .space 0x4 - .global data_ov00_020e99dc -data_ov00_020e99dc: - .space 0x4 - .global data_ov00_020e99e0 -data_ov00_020e99e0: - .space 0x4 - .global data_ov00_020e99e4 -data_ov00_020e99e4: - .space 0x4 - .global data_ov00_020e99e8 -data_ov00_020e99e8: - .space 0x4 - .global data_ov00_020e99ec -data_ov00_020e99ec: - .space 0x4 - .global data_ov00_020e99f0 -data_ov00_020e99f0: - .space 0x4 - .global data_ov00_020e99f4 -data_ov00_020e99f4: - .space 0x4 - .global data_ov00_020e99f8 -data_ov00_020e99f8: - .space 0x4 - .global data_ov00_020e99fc -data_ov00_020e99fc: - .space 0x4 - .global data_ov00_020e9a00 -data_ov00_020e9a00: - .space 0x4 - .global data_ov00_020e9a04 -data_ov00_020e9a04: - .space 0x4 - .global data_ov00_020e9a08 -data_ov00_020e9a08: - .space 0x4 - .global data_ov00_020e9a0c -data_ov00_020e9a0c: - .space 0x4 - .global data_ov00_020e9a10 -data_ov00_020e9a10: - .space 0x4 - .global data_ov00_020e9a14 -data_ov00_020e9a14: - .space 0x4 - .global data_ov00_020e9a18 -data_ov00_020e9a18: - .space 0x4 - .global data_ov00_020e9a1c -data_ov00_020e9a1c: - .space 0x4 - .global data_ov00_020e9a20 -data_ov00_020e9a20: - .space 0x4 - .global data_ov00_020e9a24 -data_ov00_020e9a24: - .space 0x4 - .global data_ov00_020e9a28 -data_ov00_020e9a28: - .space 0x4 - .global data_ov00_020e9a2c -data_ov00_020e9a2c: - .space 0x4 - .global data_ov00_020e9a30 -data_ov00_020e9a30: - .space 0x4 - .global data_ov00_020e9a34 -data_ov00_020e9a34: - .space 0x4 - .global data_ov00_020e9a38 -data_ov00_020e9a38: - .space 0x4 - .global data_ov00_020e9a3c -data_ov00_020e9a3c: - .space 0x4 - .global data_ov00_020e9a40 -data_ov00_020e9a40: - .space 0x4 - .global data_ov00_020e9a44 -data_ov00_020e9a44: - .space 0x4 - .global data_ov00_020e9a48 -data_ov00_020e9a48: - .space 0x4 - .global data_ov00_020e9a4c -data_ov00_020e9a4c: - .space 0x4 - .global data_ov00_020e9a50 -data_ov00_020e9a50: - .space 0x4 - .global data_ov00_020e9a54 -data_ov00_020e9a54: - .space 0x4 - .global data_ov00_020e9a58 -data_ov00_020e9a58: - .space 0x4 - .global data_ov00_020e9a5c -data_ov00_020e9a5c: - .space 0x4 - .global data_ov00_020e9a60 -data_ov00_020e9a60: - .space 0x4 - .global data_ov00_020e9a64 -data_ov00_020e9a64: - .space 0x4 - .global data_ov00_020e9a68 -data_ov00_020e9a68: - .space 0x4 - .global data_ov00_020e9a6c -data_ov00_020e9a6c: - .space 0x4 - .global data_ov00_020e9a70 -data_ov00_020e9a70: - .space 0x4 - .global data_ov00_020e9a74 -data_ov00_020e9a74: - .space 0x4 - .global data_ov00_020e9a78 -data_ov00_020e9a78: - .space 0x4 - .global data_ov00_020e9a7c -data_ov00_020e9a7c: - .space 0x4 - .global data_ov00_020e9a80 -data_ov00_020e9a80: - .space 0x4 - .global data_ov00_020e9a84 -data_ov00_020e9a84: - .space 0x4 - .global data_ov00_020e9a88 -data_ov00_020e9a88: - .space 0x4 - .global data_ov00_020e9a8c -data_ov00_020e9a8c: - .space 0x4 - .global data_ov00_020e9a90 -data_ov00_020e9a90: - .space 0x4 - .global data_ov00_020e9a94 -data_ov00_020e9a94: - .space 0x4 - .global data_ov00_020e9a98 -data_ov00_020e9a98: - .space 0x4 - .global data_ov00_020e9a9c -data_ov00_020e9a9c: - .space 0x4 - .global data_ov00_020e9aa0 -data_ov00_020e9aa0: - .space 0x4 - .global data_ov00_020e9aa4 -data_ov00_020e9aa4: - .space 0x4 - .global data_ov00_020e9aa8 -data_ov00_020e9aa8: - .space 0x4 - .global data_ov00_020e9aac -data_ov00_020e9aac: - .space 0x4 - .global data_ov00_020e9ab0 -data_ov00_020e9ab0: - .space 0x4 - .global data_ov00_020e9ab4 -data_ov00_020e9ab4: - .space 0x4 - .global data_ov00_020e9ab8 -data_ov00_020e9ab8: - .space 0x4 - .global data_ov00_020e9abc -data_ov00_020e9abc: - .space 0x4 - .global data_ov00_020e9ac0 -data_ov00_020e9ac0: - .space 0x4 - .global data_ov00_020e9ac4 -data_ov00_020e9ac4: - .space 0x4 - .global data_ov00_020e9ac8 -data_ov00_020e9ac8: - .space 0x4 - .global data_ov00_020e9acc -data_ov00_020e9acc: - .space 0x4 - .global data_ov00_020e9ad0 -data_ov00_020e9ad0: - .space 0x4 - .global data_ov00_020e9ad4 -data_ov00_020e9ad4: - .space 0x4 - .global data_ov00_020e9ad8 -data_ov00_020e9ad8: - .space 0x4 - .global data_ov00_020e9adc -data_ov00_020e9adc: - .space 0x4 - .global data_ov00_020e9ae0 -data_ov00_020e9ae0: - .space 0x4 - .global data_ov00_020e9ae4 -data_ov00_020e9ae4: - .space 0x4 - .global data_ov00_020e9ae8 -data_ov00_020e9ae8: - .space 0x4 - .global data_ov00_020e9aec -data_ov00_020e9aec: - .space 0x4 - .global data_ov00_020e9af0 -data_ov00_020e9af0: - .space 0x4 - .global data_ov00_020e9af4 -data_ov00_020e9af4: - .space 0x4 - .global data_ov00_020e9af8 -data_ov00_020e9af8: - .space 0x4 - .global data_ov00_020e9afc -data_ov00_020e9afc: - .space 0x4 - .global data_ov00_020e9b00 -data_ov00_020e9b00: - .space 0x4 - .global data_ov00_020e9b04 -data_ov00_020e9b04: - .space 0x4 - .global data_ov00_020e9b08 -data_ov00_020e9b08: - .space 0x4 - .global data_ov00_020e9b0c -data_ov00_020e9b0c: - .space 0x4 - .global data_ov00_020e9b10 -data_ov00_020e9b10: - .space 0x4 - .global data_ov00_020e9b14 -data_ov00_020e9b14: - .space 0x4 - .global data_ov00_020e9b18 -data_ov00_020e9b18: - .space 0x4 - .global data_ov00_020e9b1c -data_ov00_020e9b1c: - .space 0x4 - .global data_ov00_020e9b20 -data_ov00_020e9b20: - .space 0x4 - .global data_ov00_020e9b24 -data_ov00_020e9b24: - .space 0x4 - .global data_ov00_020e9b28 -data_ov00_020e9b28: - .space 0x4 - .global data_ov00_020e9b2c -data_ov00_020e9b2c: - .space 0x4 - .global data_ov00_020e9b30 -data_ov00_020e9b30: - .space 0x4 - .global data_ov00_020e9b34 -data_ov00_020e9b34: - .space 0x4 - .global data_ov00_020e9b38 -data_ov00_020e9b38: - .space 0x4 - .global data_ov00_020e9b3c -data_ov00_020e9b3c: - .space 0x4 - .global data_ov00_020e9b40 -data_ov00_020e9b40: - .space 0x4 - .global data_ov00_020e9b44 -data_ov00_020e9b44: - .space 0x4 - .global data_ov00_020e9b48 -data_ov00_020e9b48: - .space 0x4 - .global data_ov00_020e9b4c -data_ov00_020e9b4c: - .space 0x4 - .global data_ov00_020e9b50 -data_ov00_020e9b50: - .space 0x4 - .global data_ov00_020e9b54 -data_ov00_020e9b54: - .space 0x4 - .global data_ov00_020e9b58 -data_ov00_020e9b58: - .space 0x4 - .global data_ov00_020e9b5c -data_ov00_020e9b5c: - .space 0x4 - .global data_ov00_020e9b60 -data_ov00_020e9b60: - .space 0x4 - .global data_ov00_020e9b64 -data_ov00_020e9b64: - .space 0x4 - .global data_ov00_020e9b68 -data_ov00_020e9b68: - .space 0x4 - .global data_ov00_020e9b6c -data_ov00_020e9b6c: - .space 0x4 - .global data_ov00_020e9b70 -data_ov00_020e9b70: - .space 0x4 - .global data_ov00_020e9b74 -data_ov00_020e9b74: - .space 0x4 - .global data_ov00_020e9b78 -data_ov00_020e9b78: - .space 0x4 - .global data_ov00_020e9b7c -data_ov00_020e9b7c: - .space 0x4 - .global data_ov00_020e9b80 -data_ov00_020e9b80: - .space 0x4 - .global data_ov00_020e9b84 -data_ov00_020e9b84: - .space 0x4 - .global data_ov00_020e9b88 -data_ov00_020e9b88: - .space 0x4 - .global data_ov00_020e9b8c -data_ov00_020e9b8c: - .space 0x4 - .global data_ov00_020e9b90 -data_ov00_020e9b90: - .space 0x4 - .global data_ov00_020e9b94 -data_ov00_020e9b94: - .space 0x4 - .global data_ov00_020e9b98 -data_ov00_020e9b98: - .space 0x4 - .global data_ov00_020e9b9c -data_ov00_020e9b9c: - .space 0x4 - .global data_ov00_020e9ba0 -data_ov00_020e9ba0: - .space 0x4 - .global data_ov00_020e9ba4 -data_ov00_020e9ba4: - .space 0x4 - .global data_ov00_020e9ba8 -data_ov00_020e9ba8: - .space 0x4 - .global data_ov00_020e9bac -data_ov00_020e9bac: - .space 0x4 - .global data_ov00_020e9bb0 -data_ov00_020e9bb0: - .space 0x4 - .global data_ov00_020e9bb4 -data_ov00_020e9bb4: - .space 0x4 - .global data_ov00_020e9bb8 -data_ov00_020e9bb8: - .space 0x4 - .global data_ov00_020e9bbc -data_ov00_020e9bbc: - .space 0x4 - .global data_ov00_020e9bc0 -data_ov00_020e9bc0: - .space 0x4 - .global data_ov00_020e9bc4 -data_ov00_020e9bc4: - .space 0x4 - .global data_ov00_020e9bc8 -data_ov00_020e9bc8: - .space 0x4 - .global data_ov00_020e9bcc -data_ov00_020e9bcc: - .space 0x4 - .global data_ov00_020e9bd0 -data_ov00_020e9bd0: - .space 0x4 - .global data_ov00_020e9bd4 -data_ov00_020e9bd4: - .space 0x4 - .global data_ov00_020e9bd8 -data_ov00_020e9bd8: - .space 0x4 - .global data_ov00_020e9bdc -data_ov00_020e9bdc: - .space 0x4 - .global data_ov00_020e9be0 -data_ov00_020e9be0: - .space 0x4 - .global data_ov00_020e9be4 -data_ov00_020e9be4: - .space 0x4 - .global data_ov00_020e9be8 -data_ov00_020e9be8: - .space 0x4 - .global data_ov00_020e9bec -data_ov00_020e9bec: - .space 0x4 - .global data_ov00_020e9bf0 -data_ov00_020e9bf0: - .space 0x4 - .global data_ov00_020e9bf4 -data_ov00_020e9bf4: - .space 0x4 - .global data_ov00_020e9bf8 -data_ov00_020e9bf8: - .space 0x4 - .global data_ov00_020e9bfc -data_ov00_020e9bfc: - .space 0x4 - .global data_ov00_020e9c00 -data_ov00_020e9c00: - .space 0x4 - .global data_ov00_020e9c04 -data_ov00_020e9c04: - .space 0x4 - .global data_ov00_020e9c08 -data_ov00_020e9c08: - .space 0x4 - .global data_ov00_020e9c0c -data_ov00_020e9c0c: - .space 0x4 - .global data_ov00_020e9c10 -data_ov00_020e9c10: - .space 0x4 - .global data_ov00_020e9c14 -data_ov00_020e9c14: - .space 0x4 - .global data_ov00_020e9c18 -data_ov00_020e9c18: - .space 0x4 - .global data_ov00_020e9c1c -data_ov00_020e9c1c: - .space 0x4 - .global data_ov00_020e9c20 -data_ov00_020e9c20: - .space 0x4 - .global data_ov00_020e9c24 -data_ov00_020e9c24: - .space 0x4 - .global data_ov00_020e9c28 -data_ov00_020e9c28: - .space 0x4 - .global data_ov00_020e9c2c -data_ov00_020e9c2c: - .space 0x4 - .global data_ov00_020e9c30 -data_ov00_020e9c30: - .space 0x4 - .global data_ov00_020e9c34 -data_ov00_020e9c34: - .space 0x4 - .global data_ov00_020e9c38 -data_ov00_020e9c38: - .space 0x4 - .global data_ov00_020e9c3c -data_ov00_020e9c3c: - .space 0x4 - .global data_ov00_020e9c40 -data_ov00_020e9c40: - .space 0x4 - .global data_ov00_020e9c44 -data_ov00_020e9c44: - .space 0x4 - .global data_ov00_020e9c48 -data_ov00_020e9c48: - .space 0x4 - .global data_ov00_020e9c4c -data_ov00_020e9c4c: - .space 0x4 - .global data_ov00_020e9c50 -data_ov00_020e9c50: - .space 0x4 - .global data_ov00_020e9c54 -data_ov00_020e9c54: - .space 0x4 - .global data_ov00_020e9c58 -data_ov00_020e9c58: - .space 0x4 - .global data_ov00_020e9c5c -data_ov00_020e9c5c: - .space 0x4 - .global data_ov00_020e9c60 -data_ov00_020e9c60: - .space 0x4 - .global data_ov00_020e9c64 -data_ov00_020e9c64: - .space 0x4 - .global data_ov00_020e9c68 -data_ov00_020e9c68: - .space 0x4 - .global data_ov00_020e9c6c -data_ov00_020e9c6c: - .space 0x4 - .global data_ov00_020e9c70 -data_ov00_020e9c70: - .space 0x4 - .global data_ov00_020e9c74 -data_ov00_020e9c74: - .space 0x4 - .global data_ov00_020e9c78 -data_ov00_020e9c78: - .space 0x4 - .global data_ov00_020e9c7c -data_ov00_020e9c7c: - .space 0x4 - .global data_ov00_020e9c80 -data_ov00_020e9c80: - .space 0x4 - .global data_ov00_020e9c84 -data_ov00_020e9c84: - .space 0x4 - .global data_ov00_020e9c88 -data_ov00_020e9c88: - .space 0x4 - .global data_ov00_020e9c8c -data_ov00_020e9c8c: - .space 0x4 - .global data_ov00_020e9c90 -data_ov00_020e9c90: - .space 0x4 - .global data_ov00_020e9c94 -data_ov00_020e9c94: - .space 0x4 - .global data_ov00_020e9c98 -data_ov00_020e9c98: - .space 0x4 - .global data_ov00_020e9c9c -data_ov00_020e9c9c: - .space 0x4 - .global data_ov00_020e9ca0 -data_ov00_020e9ca0: - .space 0x4 - .global data_ov00_020e9ca4 -data_ov00_020e9ca4: - .space 0x4 - .global data_ov00_020e9ca8 -data_ov00_020e9ca8: - .space 0x4 - .global data_ov00_020e9cac -data_ov00_020e9cac: - .space 0x4 - .global data_ov00_020e9cb0 -data_ov00_020e9cb0: - .space 0x4 - .global data_ov00_020e9cb4 -data_ov00_020e9cb4: - .space 0x4 - .global data_ov00_020e9cb8 -data_ov00_020e9cb8: - .space 0x4 - .global data_ov00_020e9cbc -data_ov00_020e9cbc: - .space 0x4 - .global data_ov00_020e9cc0 -data_ov00_020e9cc0: - .space 0x4 - .global data_ov00_020e9cc4 -data_ov00_020e9cc4: - .space 0x4 - .global data_ov00_020e9cc8 -data_ov00_020e9cc8: - .space 0x4 - .global data_ov00_020e9ccc -data_ov00_020e9ccc: - .space 0x4 - .global data_ov00_020e9cd0 -data_ov00_020e9cd0: - .space 0x4 - .global data_ov00_020e9cd4 -data_ov00_020e9cd4: - .space 0x4 - .global data_ov00_020e9cd8 -data_ov00_020e9cd8: - .space 0x4 - .global data_ov00_020e9cdc -data_ov00_020e9cdc: - .space 0x4 - .global data_ov00_020e9ce0 -data_ov00_020e9ce0: - .space 0x4 - .global data_ov00_020e9ce4 -data_ov00_020e9ce4: - .space 0x4 - .global data_ov00_020e9ce8 -data_ov00_020e9ce8: - .space 0x4 - .global data_ov00_020e9cec -data_ov00_020e9cec: - .space 0x4 - .global data_ov00_020e9cf0 -data_ov00_020e9cf0: - .space 0x4 - .global data_ov00_020e9cf4 -data_ov00_020e9cf4: - .space 0x4 - .global data_ov00_020e9cf8 -data_ov00_020e9cf8: - .space 0x4 - .global data_ov00_020e9cfc -data_ov00_020e9cfc: - .space 0x4 - .global data_ov00_020e9d00 -data_ov00_020e9d00: - .space 0x4 - .global data_ov00_020e9d04 -data_ov00_020e9d04: - .space 0x4 - .global data_ov00_020e9d08 -data_ov00_020e9d08: - .space 0x4 - .global data_ov00_020e9d0c -data_ov00_020e9d0c: - .space 0x4 - .global data_ov00_020e9d10 -data_ov00_020e9d10: - .space 0x4 - .global data_ov00_020e9d14 -data_ov00_020e9d14: - .space 0x4 - .global data_ov00_020e9d18 -data_ov00_020e9d18: - .space 0x4 - .global data_ov00_020e9d1c -data_ov00_020e9d1c: - .space 0x4 - .global data_ov00_020e9d20 -data_ov00_020e9d20: - .space 0x4 - .global data_ov00_020e9d24 -data_ov00_020e9d24: - .space 0x4 - .global data_ov00_020e9d28 -data_ov00_020e9d28: - .space 0x4 - .global data_ov00_020e9d2c -data_ov00_020e9d2c: - .space 0x4 - .global data_ov00_020e9d30 -data_ov00_020e9d30: - .space 0x4 - .global data_ov00_020e9d34 -data_ov00_020e9d34: - .space 0x4 - .global data_ov00_020e9d38 -data_ov00_020e9d38: - .space 0x4 - .global data_ov00_020e9d3c -data_ov00_020e9d3c: - .space 0x4 - .global data_ov00_020e9d40 -data_ov00_020e9d40: - .space 0x4 - .global data_ov00_020e9d44 -data_ov00_020e9d44: - .space 0x4 - .global data_ov00_020e9d48 -data_ov00_020e9d48: - .space 0x4 - .global data_ov00_020e9d4c -data_ov00_020e9d4c: - .space 0x4 - .global data_ov00_020e9d50 -data_ov00_020e9d50: - .space 0x4 - .global data_ov00_020e9d54 -data_ov00_020e9d54: - .space 0x4 - .global data_ov00_020e9d58 -data_ov00_020e9d58: - .space 0x4 - .global data_ov00_020e9d5c -data_ov00_020e9d5c: - .space 0x4 - .global data_ov00_020e9d60 -data_ov00_020e9d60: - .space 0x4 - .global data_ov00_020e9d64 -data_ov00_020e9d64: - .space 0x4 - .global data_ov00_020e9d68 -data_ov00_020e9d68: - .space 0x4 - .global data_ov00_020e9d6c -data_ov00_020e9d6c: - .space 0x4 - .global data_ov00_020e9d70 -data_ov00_020e9d70: - .space 0x4 - .global data_ov00_020e9d74 -data_ov00_020e9d74: - .space 0x4 - .global data_ov00_020e9d78 -data_ov00_020e9d78: - .space 0x4 - .global data_ov00_020e9d7c -data_ov00_020e9d7c: - .space 0x4 - .global data_ov00_020e9d80 -data_ov00_020e9d80: - .space 0x4 - .global data_ov00_020e9d84 -data_ov00_020e9d84: - .space 0x4 - .global data_ov00_020e9d88 -data_ov00_020e9d88: - .space 0x4 - .global data_ov00_020e9d8c -data_ov00_020e9d8c: - .space 0x4 - .global data_ov00_020e9d90 -data_ov00_020e9d90: - .space 0x4 - .global data_ov00_020e9d94 -data_ov00_020e9d94: - .space 0x4 - .global data_ov00_020e9d98 -data_ov00_020e9d98: - .space 0x4 - .global data_ov00_020e9d9c -data_ov00_020e9d9c: - .space 0x4 - .global data_ov00_020e9da0 -data_ov00_020e9da0: - .space 0x4 - .global data_ov00_020e9da4 -data_ov00_020e9da4: - .space 0x4 - .global data_ov00_020e9da8 -data_ov00_020e9da8: - .space 0x4 - .global data_ov00_020e9dac -data_ov00_020e9dac: - .space 0x4 - .global data_ov00_020e9db0 -data_ov00_020e9db0: - .space 0x4 - .global data_ov00_020e9db4 -data_ov00_020e9db4: - .space 0x4 - .global data_ov00_020e9db8 -data_ov00_020e9db8: - .space 0x4 - .global data_ov00_020e9dbc -data_ov00_020e9dbc: - .space 0x4 - .global data_ov00_020e9dc0 -data_ov00_020e9dc0: - .space 0x4 - .global data_ov00_020e9dc4 -data_ov00_020e9dc4: - .space 0x4 - .global data_ov00_020e9dc8 -data_ov00_020e9dc8: - .space 0x4 - .global data_ov00_020e9dcc -data_ov00_020e9dcc: - .space 0x4 - .global data_ov00_020e9dd0 -data_ov00_020e9dd0: - .space 0x4 - .global data_ov00_020e9dd4 -data_ov00_020e9dd4: - .space 0x4 - .global data_ov00_020e9dd8 -data_ov00_020e9dd8: - .space 0x4 - .global data_ov00_020e9ddc -data_ov00_020e9ddc: - .space 0x4 - .global data_ov00_020e9de0 -data_ov00_020e9de0: - .space 0x4 - .global data_ov00_020e9de4 -data_ov00_020e9de4: - .space 0x4 - .global data_ov00_020e9de8 -data_ov00_020e9de8: - .space 0x4 - .global data_ov00_020e9dec -data_ov00_020e9dec: - .space 0x4 - .global data_ov00_020e9df0 -data_ov00_020e9df0: - .space 0x4 - .global data_ov00_020e9df4 -data_ov00_020e9df4: - .space 0x4 - .global data_ov00_020e9df8 -data_ov00_020e9df8: - .space 0x4 - .global data_ov00_020e9dfc -data_ov00_020e9dfc: - .space 0x4 - .global data_ov00_020e9e00 -data_ov00_020e9e00: - .space 0x4 - .global data_ov00_020e9e04 -data_ov00_020e9e04: - .space 0x4 - .global data_ov00_020e9e08 -data_ov00_020e9e08: - .space 0x4 - .global data_ov00_020e9e0c -data_ov00_020e9e0c: - .space 0x4 - .global data_ov00_020e9e10 -data_ov00_020e9e10: - .space 0x4 - .global data_ov00_020e9e14 -data_ov00_020e9e14: - .space 0x4 - .global data_ov00_020e9e18 -data_ov00_020e9e18: - .space 0x4 - .global data_ov00_020e9e1c -data_ov00_020e9e1c: - .space 0x4 - .global data_ov00_020e9e20 -data_ov00_020e9e20: - .space 0x4 - .global data_ov00_020e9e24 -data_ov00_020e9e24: - .space 0x4 - .global data_ov00_020e9e28 -data_ov00_020e9e28: - .space 0x4 - .global data_ov00_020e9e2c -data_ov00_020e9e2c: - .space 0x4 - .global data_ov00_020e9e30 -data_ov00_020e9e30: - .space 0x4 - .global data_ov00_020e9e34 -data_ov00_020e9e34: - .space 0x4 - .global data_ov00_020e9e38 -data_ov00_020e9e38: - .space 0x4 - .global data_ov00_020e9e3c -data_ov00_020e9e3c: - .space 0x4 - .global data_ov00_020e9e40 -data_ov00_020e9e40: - .space 0x4 - .global data_ov00_020e9e44 -data_ov00_020e9e44: - .space 0x4 - .global data_ov00_020e9e48 -data_ov00_020e9e48: - .space 0x4 - .global data_ov00_020e9e4c -data_ov00_020e9e4c: - .space 0x4 - .global data_ov00_020e9e50 -data_ov00_020e9e50: - .space 0x4 - .global data_ov00_020e9e54 -data_ov00_020e9e54: - .space 0x4 - .global data_ov00_020e9e58 -data_ov00_020e9e58: - .space 0x4 - .global data_ov00_020e9e5c -data_ov00_020e9e5c: - .space 0x4 - .global data_ov00_020e9e60 -data_ov00_020e9e60: - .space 0x4 - .global data_ov00_020e9e64 -data_ov00_020e9e64: - .space 0x4 - .global data_ov00_020e9e68 -data_ov00_020e9e68: - .space 0x4 - .global data_ov00_020e9e6c -data_ov00_020e9e6c: - .space 0x4 - .global data_ov00_020e9e70 -data_ov00_020e9e70: - .space 0x4 - .global data_ov00_020e9e74 -data_ov00_020e9e74: - .space 0x4 - .global data_ov00_020e9e78 -data_ov00_020e9e78: - .space 0x4 - .global data_ov00_020e9e7c -data_ov00_020e9e7c: - .space 0x4 - .global data_ov00_020e9e80 -data_ov00_020e9e80: - .space 0x4 - .global data_ov00_020e9e84 -data_ov00_020e9e84: - .space 0x4 - .global data_ov00_020e9e88 -data_ov00_020e9e88: - .space 0x4 - .global data_ov00_020e9e8c -data_ov00_020e9e8c: - .space 0x4 - .global data_ov00_020e9e90 -data_ov00_020e9e90: - .space 0x4 - .global data_ov00_020e9e94 -data_ov00_020e9e94: - .space 0x4 - .global data_ov00_020e9e98 -data_ov00_020e9e98: - .space 0x4 - .global data_ov00_020e9e9c -data_ov00_020e9e9c: - .space 0x4 - .global data_ov00_020e9ea0 -data_ov00_020e9ea0: - .space 0x4 - .global data_ov00_020e9ea4 -data_ov00_020e9ea4: - .space 0x4 - .global data_ov00_020e9ea8 -data_ov00_020e9ea8: - .space 0x4 - .global data_ov00_020e9eac -data_ov00_020e9eac: - .space 0x4 - .global data_ov00_020e9eb0 -data_ov00_020e9eb0: - .space 0x4 - .global data_ov00_020e9eb4 -data_ov00_020e9eb4: - .space 0x4 - .global data_ov00_020e9eb8 -data_ov00_020e9eb8: - .space 0x4 - .global data_ov00_020e9ebc -data_ov00_020e9ebc: - .space 0x4 - .global data_ov00_020e9ec0 -data_ov00_020e9ec0: - .space 0x4 - .global data_ov00_020e9ec4 -data_ov00_020e9ec4: - .space 0x4 - .global data_ov00_020e9ec8 -data_ov00_020e9ec8: - .space 0x4 - .global data_ov00_020e9ecc -data_ov00_020e9ecc: - .space 0x4 - .global data_ov00_020e9ed0 -data_ov00_020e9ed0: - .space 0x4 - .global data_ov00_020e9ed4 -data_ov00_020e9ed4: - .space 0x4 - .global data_ov00_020e9ed8 -data_ov00_020e9ed8: - .space 0x4 - .global data_ov00_020e9edc -data_ov00_020e9edc: - .space 0x4 - .global data_ov00_020e9ee0 -data_ov00_020e9ee0: - .space 0x4 - .global data_ov00_020e9ee4 -data_ov00_020e9ee4: - .space 0x4 - .global data_ov00_020e9ee8 -data_ov00_020e9ee8: - .space 0x4 - .global data_ov00_020e9eec -data_ov00_020e9eec: - .space 0x4 - .global data_ov00_020e9ef0 -data_ov00_020e9ef0: - .space 0x4 - .global data_ov00_020e9ef4 -data_ov00_020e9ef4: - .space 0x4 - .global data_ov00_020e9ef8 -data_ov00_020e9ef8: - .space 0x4 - .global data_ov00_020e9efc -data_ov00_020e9efc: - .space 0x4 - .global data_ov00_020e9f00 -data_ov00_020e9f00: - .space 0x4 - .global data_ov00_020e9f04 -data_ov00_020e9f04: - .space 0x4 - .global data_ov00_020e9f08 -data_ov00_020e9f08: - .space 0x4 - .global data_ov00_020e9f0c -data_ov00_020e9f0c: - .space 0x4 - .global data_ov00_020e9f10 -data_ov00_020e9f10: - .space 0x4 - .global data_ov00_020e9f14 -data_ov00_020e9f14: - .space 0x4 - .global data_ov00_020e9f18 -data_ov00_020e9f18: - .space 0x4 - .global data_ov00_020e9f1c -data_ov00_020e9f1c: - .space 0x4 - .global data_ov00_020e9f20 -data_ov00_020e9f20: - .space 0x4 - .global data_ov00_020e9f24 -data_ov00_020e9f24: - .space 0x4 - .global data_ov00_020e9f28 -data_ov00_020e9f28: - .space 0x4 - .global data_ov00_020e9f2c -data_ov00_020e9f2c: - .space 0x4 - .global data_ov00_020e9f30 -data_ov00_020e9f30: - .space 0x4 - .global data_ov00_020e9f34 -data_ov00_020e9f34: - .space 0x4 - .global data_ov00_020e9f38 -data_ov00_020e9f38: - .space 0x4 - .global data_ov00_020e9f3c -data_ov00_020e9f3c: - .space 0x4 - .global data_ov00_020e9f40 -data_ov00_020e9f40: - .space 0x4 - .global data_ov00_020e9f44 -data_ov00_020e9f44: - .space 0x4 - .global data_ov00_020e9f48 -data_ov00_020e9f48: - .space 0x4 - .global data_ov00_020e9f4c -data_ov00_020e9f4c: - .space 0x4 - .global data_ov00_020e9f50 -data_ov00_020e9f50: - .space 0x4 - .global data_ov00_020e9f54 -data_ov00_020e9f54: - .space 0x4 - .global data_ov00_020e9f58 -data_ov00_020e9f58: - .space 0x4 - .global data_ov00_020e9f5c -data_ov00_020e9f5c: - .space 0x4 - .global data_ov00_020e9f60 -data_ov00_020e9f60: - .space 0x4 - .global data_ov00_020e9f64 -data_ov00_020e9f64: - .space 0x4 - .global data_ov00_020e9f68 -data_ov00_020e9f68: - .space 0x4 - .global data_ov00_020e9f6c -data_ov00_020e9f6c: - .space 0x4 - .global data_ov00_020e9f70 -data_ov00_020e9f70: - .space 0x4 - .global data_ov00_020e9f74 -data_ov00_020e9f74: - .space 0x4 - .global data_ov00_020e9f78 -data_ov00_020e9f78: - .space 0x4 - .global data_ov00_020e9f7c -data_ov00_020e9f7c: - .space 0x4 - .global data_ov00_020e9f80 -data_ov00_020e9f80: - .space 0x4 - .global data_ov00_020e9f84 -data_ov00_020e9f84: - .space 0x4 - .global data_ov00_020e9f88 -data_ov00_020e9f88: - .space 0x4 - .global data_ov00_020e9f8c -data_ov00_020e9f8c: - .space 0x4 - .global data_ov00_020e9f90 -data_ov00_020e9f90: - .space 0x4 - .global data_ov00_020e9f94 -data_ov00_020e9f94: - .space 0x4 - .global data_ov00_020e9f98 -data_ov00_020e9f98: - .space 0x4 - .global data_ov00_020e9f9c -data_ov00_020e9f9c: - .space 0x4 - .global data_ov00_020e9fa0 -data_ov00_020e9fa0: - .space 0x4 - .global data_ov00_020e9fa4 -data_ov00_020e9fa4: - .space 0x4 - .global data_ov00_020e9fa8 -data_ov00_020e9fa8: - .space 0x4 - .global data_ov00_020e9fac -data_ov00_020e9fac: - .space 0x4 - .global data_ov00_020e9fb0 -data_ov00_020e9fb0: - .space 0x4 - .global data_ov00_020e9fb4 -data_ov00_020e9fb4: - .space 0x4 - .global data_ov00_020e9fb8 -data_ov00_020e9fb8: - .space 0x4 - .global data_ov00_020e9fbc -data_ov00_020e9fbc: - .space 0x4 - .global data_ov00_020e9fc0 -data_ov00_020e9fc0: - .space 0x4 - .global data_ov00_020e9fc4 -data_ov00_020e9fc4: - .space 0x4 - .global data_ov00_020e9fc8 -data_ov00_020e9fc8: - .space 0x4 - .global data_ov00_020e9fcc -data_ov00_020e9fcc: - .space 0x4 - .global data_ov00_020e9fd0 -data_ov00_020e9fd0: - .space 0x4 - .global data_ov00_020e9fd4 -data_ov00_020e9fd4: - .space 0x4 - .global data_ov00_020e9fd8 -data_ov00_020e9fd8: - .space 0x4 - .global data_ov00_020e9fdc -data_ov00_020e9fdc: - .space 0x4 - .global data_ov00_020e9fe0 -data_ov00_020e9fe0: - .space 0x4 - .global data_ov00_020e9fe4 -data_ov00_020e9fe4: - .space 0x4 - .global data_ov00_020e9fe8 -data_ov00_020e9fe8: - .space 0x4 - .global data_ov00_020e9fec -data_ov00_020e9fec: - .space 0x4 - .global data_ov00_020e9ff0 -data_ov00_020e9ff0: - .space 0x4 - .global data_ov00_020e9ff4 -data_ov00_020e9ff4: - .space 0x4 - .global data_ov00_020e9ff8 -data_ov00_020e9ff8: - .space 0x4 - .global data_ov00_020e9ffc -data_ov00_020e9ffc: - .space 0x4 - .global data_ov00_020ea000 -data_ov00_020ea000: - .space 0x4 - .global data_ov00_020ea004 -data_ov00_020ea004: - .space 0x4 - .global data_ov00_020ea008 -data_ov00_020ea008: - .space 0x4 - .global data_ov00_020ea00c -data_ov00_020ea00c: - .space 0x4 - .global data_ov00_020ea010 -data_ov00_020ea010: - .space 0x4 - .global data_ov00_020ea014 -data_ov00_020ea014: - .space 0x4 - .global data_ov00_020ea018 -data_ov00_020ea018: - .space 0x4 - .global data_ov00_020ea01c -data_ov00_020ea01c: - .space 0x4 - .global data_ov00_020ea020 -data_ov00_020ea020: - .space 0x4 - .global data_ov00_020ea024 -data_ov00_020ea024: - .space 0x4 - .global data_ov00_020ea028 -data_ov00_020ea028: - .space 0x4 - .global data_ov00_020ea02c -data_ov00_020ea02c: - .space 0x4 - .global data_ov00_020ea030 -data_ov00_020ea030: - .space 0x4 - .global data_ov00_020ea034 -data_ov00_020ea034: - .space 0x4 - .global data_ov00_020ea038 -data_ov00_020ea038: - .space 0x4 - .global data_ov00_020ea03c -data_ov00_020ea03c: - .space 0x4 - .global data_ov00_020ea040 -data_ov00_020ea040: - .space 0x4 - .global data_ov00_020ea044 -data_ov00_020ea044: - .space 0x4 - .global data_ov00_020ea048 -data_ov00_020ea048: - .space 0x4 - .global data_ov00_020ea04c -data_ov00_020ea04c: - .space 0x4 - .global data_ov00_020ea050 -data_ov00_020ea050: - .space 0x4 - .global data_ov00_020ea054 -data_ov00_020ea054: - .space 0x4 - .global data_ov00_020ea058 -data_ov00_020ea058: - .space 0x4 - .global data_ov00_020ea05c -data_ov00_020ea05c: - .space 0x4 - .global data_ov00_020ea060 -data_ov00_020ea060: - .space 0x4 - .global data_ov00_020ea064 -data_ov00_020ea064: - .space 0x4 - .global data_ov00_020ea068 -data_ov00_020ea068: - .space 0x4 - .global data_ov00_020ea06c -data_ov00_020ea06c: - .space 0x4 - .global data_ov00_020ea070 -data_ov00_020ea070: - .space 0x4 - .global data_ov00_020ea074 -data_ov00_020ea074: - .space 0x4 - .global data_ov00_020ea078 -data_ov00_020ea078: - .space 0x4 - .global data_ov00_020ea07c -data_ov00_020ea07c: - .space 0x4 - .global data_ov00_020ea080 -data_ov00_020ea080: - .space 0x4 - .global data_ov00_020ea084 -data_ov00_020ea084: - .space 0x4 - .global data_ov00_020ea088 -data_ov00_020ea088: - .space 0x4 - .global data_ov00_020ea08c -data_ov00_020ea08c: - .space 0x4 - .global data_ov00_020ea090 -data_ov00_020ea090: - .space 0x4 - .global data_ov00_020ea094 -data_ov00_020ea094: - .space 0x4 - .global data_ov00_020ea098 -data_ov00_020ea098: - .space 0x4 - .global data_ov00_020ea09c -data_ov00_020ea09c: - .space 0x4 - .global data_ov00_020ea0a0 -data_ov00_020ea0a0: - .space 0x4 - .global data_ov00_020ea0a4 -data_ov00_020ea0a4: - .space 0x4 - .global data_ov00_020ea0a8 -data_ov00_020ea0a8: - .space 0x4 - .global data_ov00_020ea0ac -data_ov00_020ea0ac: - .space 0x4 - .global data_ov00_020ea0b0 -data_ov00_020ea0b0: - .space 0x4 - .global data_ov00_020ea0b4 -data_ov00_020ea0b4: - .space 0x4 - .global data_ov00_020ea0b8 -data_ov00_020ea0b8: - .space 0x4 - .global data_ov00_020ea0bc -data_ov00_020ea0bc: - .space 0x4 - .global data_ov00_020ea0c0 -data_ov00_020ea0c0: - .space 0x4 - .global data_ov00_020ea0c4 -data_ov00_020ea0c4: - .space 0x4 - .global data_ov00_020ea0c8 -data_ov00_020ea0c8: - .space 0x4 - .global data_ov00_020ea0cc -data_ov00_020ea0cc: - .space 0x4 - .global data_ov00_020ea0d0 -data_ov00_020ea0d0: - .space 0x4 - .global data_ov00_020ea0d4 -data_ov00_020ea0d4: - .space 0x4 - .global data_ov00_020ea0d8 -data_ov00_020ea0d8: - .space 0x4 - .global data_ov00_020ea0dc -data_ov00_020ea0dc: - .space 0x4 - .global data_ov00_020ea0e0 -data_ov00_020ea0e0: - .space 0x4 - .global data_ov00_020ea0e4 -data_ov00_020ea0e4: - .space 0x4 - .global data_ov00_020ea0e8 -data_ov00_020ea0e8: - .space 0x4 - .global data_ov00_020ea0ec -data_ov00_020ea0ec: - .space 0x4 - .global data_ov00_020ea0f0 -data_ov00_020ea0f0: - .space 0x4 - .global data_ov00_020ea0f4 -data_ov00_020ea0f4: - .space 0x4 - .global data_ov00_020ea0f8 -data_ov00_020ea0f8: - .space 0x4 - .global data_ov00_020ea0fc -data_ov00_020ea0fc: - .space 0x4 - .global data_ov00_020ea100 -data_ov00_020ea100: - .space 0x4 - .global data_ov00_020ea104 -data_ov00_020ea104: - .space 0x4 - .global data_ov00_020ea108 -data_ov00_020ea108: - .space 0x4 - .global data_ov00_020ea10c -data_ov00_020ea10c: - .space 0x4 - .global data_ov00_020ea110 -data_ov00_020ea110: - .space 0x4 - .global data_ov00_020ea114 -data_ov00_020ea114: - .space 0x4 - .global data_ov00_020ea118 -data_ov00_020ea118: - .space 0x4 - .global data_ov00_020ea11c -data_ov00_020ea11c: - .space 0x4 - .global data_ov00_020ea120 -data_ov00_020ea120: - .space 0x4 - .global data_ov00_020ea124 -data_ov00_020ea124: - .space 0x4 - .global data_ov00_020ea128 -data_ov00_020ea128: - .space 0x4 - .global data_ov00_020ea12c -data_ov00_020ea12c: - .space 0x4 - .global data_ov00_020ea130 -data_ov00_020ea130: - .space 0x4 - .global data_ov00_020ea134 -data_ov00_020ea134: - .space 0x4 - .global data_ov00_020ea138 -data_ov00_020ea138: - .space 0x4 - .global data_ov00_020ea13c -data_ov00_020ea13c: - .space 0x4 - .global data_ov00_020ea140 -data_ov00_020ea140: - .space 0x4 - .global data_ov00_020ea144 -data_ov00_020ea144: - .space 0x4 - .global data_ov00_020ea148 -data_ov00_020ea148: - .space 0x4 - .global data_ov00_020ea14c -data_ov00_020ea14c: - .space 0x4 - .global data_ov00_020ea150 -data_ov00_020ea150: - .space 0x4 - .global data_ov00_020ea154 -data_ov00_020ea154: - .space 0x4 - .global data_ov00_020ea158 -data_ov00_020ea158: - .space 0x4 - .global data_ov00_020ea15c -data_ov00_020ea15c: - .space 0x4 - .global data_ov00_020ea160 -data_ov00_020ea160: - .space 0x4 - .global data_ov00_020ea164 -data_ov00_020ea164: - .space 0x4 - .global data_ov00_020ea168 -data_ov00_020ea168: - .space 0x4 - .global data_ov00_020ea16c -data_ov00_020ea16c: - .space 0x4 - .global data_ov00_020ea170 -data_ov00_020ea170: - .space 0x4 - .global data_ov00_020ea174 -data_ov00_020ea174: - .space 0x4 - .global data_ov00_020ea178 -data_ov00_020ea178: - .space 0x4 - .global data_ov00_020ea17c -data_ov00_020ea17c: - .space 0x4 - .global data_ov00_020ea180 -data_ov00_020ea180: - .space 0x4 - .global data_ov00_020ea184 -data_ov00_020ea184: - .space 0x4 - .global data_ov00_020ea188 -data_ov00_020ea188: - .space 0x4 - .global data_ov00_020ea18c -data_ov00_020ea18c: - .space 0x4 - .global data_ov00_020ea190 -data_ov00_020ea190: - .space 0x4 - .global data_ov00_020ea194 -data_ov00_020ea194: - .space 0x4 - .global data_ov00_020ea198 -data_ov00_020ea198: - .space 0x4 - .global data_ov00_020ea19c -data_ov00_020ea19c: - .space 0x4 - .global data_ov00_020ea1a0 -data_ov00_020ea1a0: - .space 0x4 - .global data_ov00_020ea1a4 -data_ov00_020ea1a4: - .space 0x4 - .global data_ov00_020ea1a8 -data_ov00_020ea1a8: - .space 0x4 - .global data_ov00_020ea1ac -data_ov00_020ea1ac: - .space 0x4 - .global data_ov00_020ea1b0 -data_ov00_020ea1b0: - .space 0x4 - .global data_ov00_020ea1b4 -data_ov00_020ea1b4: - .space 0x4 - .global data_ov00_020ea1b8 -data_ov00_020ea1b8: - .space 0x4 - .global data_ov00_020ea1bc -data_ov00_020ea1bc: - .space 0x4 - .global data_ov00_020ea1c0 -data_ov00_020ea1c0: - .space 0x4 - .global data_ov00_020ea1c4 -data_ov00_020ea1c4: - .space 0x4 - .global data_ov00_020ea1c8 -data_ov00_020ea1c8: - .space 0x4 - .global data_ov00_020ea1cc -data_ov00_020ea1cc: - .space 0x4 - .global data_ov00_020ea1d0 -data_ov00_020ea1d0: - .space 0x4 - .global data_ov00_020ea1d4 -data_ov00_020ea1d4: - .space 0x4 - .global data_ov00_020ea1d8 -data_ov00_020ea1d8: - .space 0x4 - .global data_ov00_020ea1dc -data_ov00_020ea1dc: - .space 0x4 - .global data_ov00_020ea1e0 -data_ov00_020ea1e0: - .space 0x4 - .global data_ov00_020ea1e4 -data_ov00_020ea1e4: - .space 0x4 - .global data_ov00_020ea1e8 -data_ov00_020ea1e8: - .space 0x4 - .global data_ov00_020ea1ec -data_ov00_020ea1ec: - .space 0x4 - .global data_ov00_020ea1f0 -data_ov00_020ea1f0: - .space 0x4 - .global data_ov00_020ea1f4 -data_ov00_020ea1f4: - .space 0x4 - .global data_ov00_020ea1f8 -data_ov00_020ea1f8: - .space 0x4 - .global data_ov00_020ea1fc -data_ov00_020ea1fc: - .space 0x4 - .global data_ov00_020ea200 -data_ov00_020ea200: - .space 0x4 - .global data_ov00_020ea204 -data_ov00_020ea204: - .space 0x4 - .global data_ov00_020ea208 -data_ov00_020ea208: - .space 0x4 - .global data_ov00_020ea20c -data_ov00_020ea20c: - .space 0x4 - .global data_ov00_020ea210 -data_ov00_020ea210: - .space 0x4 - .global data_ov00_020ea214 -data_ov00_020ea214: - .space 0x4 - .global data_ov00_020ea218 -data_ov00_020ea218: - .space 0x4 - .global data_ov00_020ea21c -data_ov00_020ea21c: - .space 0x4 - .global data_ov00_020ea220 -data_ov00_020ea220: - .space 0x4 - .global data_ov00_020ea224 -data_ov00_020ea224: - .space 0x4 - .global data_ov00_020ea228 -data_ov00_020ea228: - .space 0x4 - .global data_ov00_020ea22c -data_ov00_020ea22c: - .space 0x4 - .global data_ov00_020ea230 -data_ov00_020ea230: - .space 0x4 - .global data_ov00_020ea234 -data_ov00_020ea234: - .space 0x4 - .global data_ov00_020ea238 -data_ov00_020ea238: - .space 0x4 - .global data_ov00_020ea23c -data_ov00_020ea23c: - .space 0x4 - .global data_ov00_020ea240 -data_ov00_020ea240: - .space 0x4 - .global data_ov00_020ea244 -data_ov00_020ea244: - .space 0x4 - .global data_ov00_020ea248 -data_ov00_020ea248: - .space 0x4 - .global data_ov00_020ea24c -data_ov00_020ea24c: - .space 0x4 - .global data_ov00_020ea250 -data_ov00_020ea250: - .space 0x4 - .global data_ov00_020ea254 -data_ov00_020ea254: - .space 0x4 - .global data_ov00_020ea258 -data_ov00_020ea258: - .space 0x4 - .global data_ov00_020ea25c -data_ov00_020ea25c: - .space 0x4 - .global data_ov00_020ea260 -data_ov00_020ea260: - .space 0x4 - .global data_ov00_020ea264 -data_ov00_020ea264: - .space 0x4 - .global data_ov00_020ea268 -data_ov00_020ea268: - .space 0x4 - .global data_ov00_020ea26c -data_ov00_020ea26c: - .space 0x4 - .global data_ov00_020ea270 -data_ov00_020ea270: - .space 0x4 - .global data_ov00_020ea274 -data_ov00_020ea274: - .space 0x4 - .global data_ov00_020ea278 -data_ov00_020ea278: - .space 0x4 - .global data_ov00_020ea27c -data_ov00_020ea27c: - .space 0x4 - .global data_ov00_020ea280 -data_ov00_020ea280: - .space 0x4 - .global data_ov00_020ea284 -data_ov00_020ea284: - .space 0x4 - .global data_ov00_020ea288 -data_ov00_020ea288: - .space 0x4 - .global data_ov00_020ea28c -data_ov00_020ea28c: - .space 0x4 - .global data_ov00_020ea290 -data_ov00_020ea290: - .space 0x4 - .global data_ov00_020ea294 -data_ov00_020ea294: - .space 0x4 - .global data_ov00_020ea298 -data_ov00_020ea298: - .space 0x4 - .global data_ov00_020ea29c -data_ov00_020ea29c: - .space 0x4 - .global data_ov00_020ea2a0 -data_ov00_020ea2a0: - .space 0x4 - .global data_ov00_020ea2a4 -data_ov00_020ea2a4: - .space 0x4 - .global data_ov00_020ea2a8 -data_ov00_020ea2a8: - .space 0x4 - .global data_ov00_020ea2ac -data_ov00_020ea2ac: - .space 0x4 - .global data_ov00_020ea2b0 -data_ov00_020ea2b0: - .space 0x4 - .global data_ov00_020ea2b4 -data_ov00_020ea2b4: - .space 0x4 - .global data_ov00_020ea2b8 -data_ov00_020ea2b8: - .space 0x4 - .global data_ov00_020ea2bc -data_ov00_020ea2bc: - .space 0x4 - .global data_ov00_020ea2c0 -data_ov00_020ea2c0: - .space 0x4 - .global data_ov00_020ea2c4 -data_ov00_020ea2c4: - .space 0x4 - .global data_ov00_020ea2c8 -data_ov00_020ea2c8: - .space 0x4 - .global data_ov00_020ea2cc -data_ov00_020ea2cc: - .space 0x4 - .global data_ov00_020ea2d0 -data_ov00_020ea2d0: - .space 0x4 - .global data_ov00_020ea2d4 -data_ov00_020ea2d4: - .space 0x4 - .global data_ov00_020ea2d8 -data_ov00_020ea2d8: - .space 0x4 - .global data_ov00_020ea2dc -data_ov00_020ea2dc: - .space 0x4 - .global data_ov00_020ea2e0 -data_ov00_020ea2e0: - .space 0x4 - .global data_ov00_020ea2e4 -data_ov00_020ea2e4: - .space 0x4 - .global data_ov00_020ea2e8 -data_ov00_020ea2e8: - .space 0x4 - .global data_ov00_020ea2ec -data_ov00_020ea2ec: - .space 0x4 - .global data_ov00_020ea2f0 -data_ov00_020ea2f0: - .space 0x4 - .global data_ov00_020ea2f4 -data_ov00_020ea2f4: - .space 0x4 - .global data_ov00_020ea2f8 -data_ov00_020ea2f8: - .space 0x4 - .global data_ov00_020ea2fc -data_ov00_020ea2fc: - .space 0x4 - .global data_ov00_020ea300 -data_ov00_020ea300: - .space 0x4 - .global data_ov00_020ea304 -data_ov00_020ea304: - .space 0x4 - .global data_ov00_020ea308 -data_ov00_020ea308: - .space 0x4 - .global data_ov00_020ea30c -data_ov00_020ea30c: - .space 0x4 - .global data_ov00_020ea310 -data_ov00_020ea310: - .space 0x4 - .global data_ov00_020ea314 -data_ov00_020ea314: - .space 0x4 - .global data_ov00_020ea318 -data_ov00_020ea318: - .space 0x4 - .global data_ov00_020ea31c -data_ov00_020ea31c: - .space 0x4 - .global data_ov00_020ea320 -data_ov00_020ea320: - .space 0x4 - .global data_ov00_020ea324 -data_ov00_020ea324: - .space 0x4 - .global data_ov00_020ea328 -data_ov00_020ea328: - .space 0x4 - .global data_ov00_020ea32c -data_ov00_020ea32c: - .space 0x4 - .global data_ov00_020ea330 -data_ov00_020ea330: - .space 0x4 - .global data_ov00_020ea334 -data_ov00_020ea334: - .space 0x4 - .global data_ov00_020ea338 -data_ov00_020ea338: - .space 0x4 - .global data_ov00_020ea33c -data_ov00_020ea33c: - .space 0x4 - .global data_ov00_020ea340 -data_ov00_020ea340: - .space 0x4 - .global data_ov00_020ea344 -data_ov00_020ea344: - .space 0x4 - .global data_ov00_020ea348 -data_ov00_020ea348: - .space 0x4 - .global data_ov00_020ea34c -data_ov00_020ea34c: - .space 0x4 - .global data_ov00_020ea350 -data_ov00_020ea350: - .space 0x4 - .global data_ov00_020ea354 -data_ov00_020ea354: - .space 0x4 - .global data_ov00_020ea358 -data_ov00_020ea358: - .space 0x4 - .global data_ov00_020ea35c -data_ov00_020ea35c: - .space 0x4 - .global data_ov00_020ea360 -data_ov00_020ea360: - .space 0x4 - .global data_ov00_020ea364 -data_ov00_020ea364: - .space 0x4 - .global data_ov00_020ea368 -data_ov00_020ea368: - .space 0x4 - .global data_ov00_020ea36c -data_ov00_020ea36c: - .space 0x4 - .global data_ov00_020ea370 -data_ov00_020ea370: - .space 0x4 - .global data_ov00_020ea374 -data_ov00_020ea374: - .space 0x4 - .global data_ov00_020ea378 -data_ov00_020ea378: - .space 0x4 - .global data_ov00_020ea37c -data_ov00_020ea37c: - .space 0x4 - .global data_ov00_020ea380 -data_ov00_020ea380: - .space 0x4 - .global data_ov00_020ea384 -data_ov00_020ea384: - .space 0x4 - .global data_ov00_020ea388 -data_ov00_020ea388: - .space 0x4 - .global data_ov00_020ea38c -data_ov00_020ea38c: - .space 0x4 - .global data_ov00_020ea390 -data_ov00_020ea390: - .space 0x4 - .global data_ov00_020ea394 -data_ov00_020ea394: - .space 0x4 - .global data_ov00_020ea398 -data_ov00_020ea398: - .space 0x4 - .global data_ov00_020ea39c -data_ov00_020ea39c: - .space 0x4 - .global data_ov00_020ea3a0 -data_ov00_020ea3a0: - .space 0x4 - .global data_ov00_020ea3a4 -data_ov00_020ea3a4: - .space 0x4 - .global data_ov00_020ea3a8 -data_ov00_020ea3a8: - .space 0x4 - .global data_ov00_020ea3ac -data_ov00_020ea3ac: - .space 0x4 - .global data_ov00_020ea3b0 -data_ov00_020ea3b0: - .space 0x4 - .global data_ov00_020ea3b4 -data_ov00_020ea3b4: - .space 0x4 - .global data_ov00_020ea3b8 -data_ov00_020ea3b8: - .space 0x4 - .global data_ov00_020ea3bc -data_ov00_020ea3bc: - .space 0x4 - .global data_ov00_020ea3c0 -data_ov00_020ea3c0: - .space 0x4 - .global data_ov00_020ea3c4 -data_ov00_020ea3c4: - .space 0x4 - .global data_ov00_020ea3c8 -data_ov00_020ea3c8: - .space 0x4 - .global data_ov00_020ea3cc -data_ov00_020ea3cc: - .space 0x4 - .global data_ov00_020ea3d0 -data_ov00_020ea3d0: - .space 0x4 - .global data_ov00_020ea3d4 -data_ov00_020ea3d4: - .space 0x4 - .global data_ov00_020ea3d8 -data_ov00_020ea3d8: - .space 0x4 - .global data_ov00_020ea3dc -data_ov00_020ea3dc: - .space 0x4 - .global data_ov00_020ea3e0 -data_ov00_020ea3e0: - .space 0x4 - .global data_ov00_020ea3e4 -data_ov00_020ea3e4: - .space 0x4 - .global data_ov00_020ea3e8 -data_ov00_020ea3e8: - .space 0x4 - .global data_ov00_020ea3ec -data_ov00_020ea3ec: - .space 0x4 - .global data_ov00_020ea3f0 -data_ov00_020ea3f0: - .space 0x4 - .global data_ov00_020ea3f4 -data_ov00_020ea3f4: - .space 0x4 - .global data_ov00_020ea3f8 -data_ov00_020ea3f8: - .space 0x4 - .global data_ov00_020ea3fc -data_ov00_020ea3fc: - .space 0x4 - .global data_ov00_020ea400 -data_ov00_020ea400: - .space 0x4 - .global data_ov00_020ea404 -data_ov00_020ea404: - .space 0x4 - .global data_ov00_020ea408 -data_ov00_020ea408: - .space 0x4 - .global data_ov00_020ea40c -data_ov00_020ea40c: - .space 0x4 - .global data_ov00_020ea410 -data_ov00_020ea410: - .space 0x4 - .global data_ov00_020ea414 -data_ov00_020ea414: - .space 0x4 - .global data_ov00_020ea418 -data_ov00_020ea418: - .space 0x4 - .global data_ov00_020ea41c -data_ov00_020ea41c: - .space 0x4 - .global data_ov00_020ea420 -data_ov00_020ea420: - .space 0x4 - .global data_ov00_020ea424 -data_ov00_020ea424: - .space 0x4 - .global data_ov00_020ea428 -data_ov00_020ea428: - .space 0x4 - .global data_ov00_020ea42c -data_ov00_020ea42c: - .space 0x4 - .global data_ov00_020ea430 -data_ov00_020ea430: - .space 0x4 - .global data_ov00_020ea434 -data_ov00_020ea434: - .space 0x4 - .global data_ov00_020ea438 -data_ov00_020ea438: - .space 0x4 - .global data_ov00_020ea43c -data_ov00_020ea43c: - .space 0x4 - .global data_ov00_020ea440 -data_ov00_020ea440: - .space 0x4 - .global data_ov00_020ea444 -data_ov00_020ea444: - .space 0x4 - .global data_ov00_020ea448 -data_ov00_020ea448: - .space 0x4 - .global data_ov00_020ea44c -data_ov00_020ea44c: - .space 0x4 - .global data_ov00_020ea450 -data_ov00_020ea450: - .space 0x4 - .global data_ov00_020ea454 -data_ov00_020ea454: - .space 0x4 - .global data_ov00_020ea458 -data_ov00_020ea458: - .space 0x4 - .global data_ov00_020ea45c -data_ov00_020ea45c: - .space 0x4 - .global data_ov00_020ea460 -data_ov00_020ea460: - .space 0x4 - .global data_ov00_020ea464 -data_ov00_020ea464: - .space 0x4 - .global data_ov00_020ea468 -data_ov00_020ea468: - .space 0x4 - .global data_ov00_020ea46c -data_ov00_020ea46c: - .space 0x4 - .global data_ov00_020ea470 -data_ov00_020ea470: - .space 0x4 - .global data_ov00_020ea474 -data_ov00_020ea474: - .space 0x4 - .global data_ov00_020ea478 -data_ov00_020ea478: - .space 0x4 - .global data_ov00_020ea47c -data_ov00_020ea47c: - .space 0x4 - .global data_ov00_020ea480 -data_ov00_020ea480: - .space 0x4 - .global data_ov00_020ea484 -data_ov00_020ea484: - .space 0x4 - .global data_ov00_020ea488 -data_ov00_020ea488: - .space 0x4 - .global data_ov00_020ea48c -data_ov00_020ea48c: - .space 0x4 - .global data_ov00_020ea490 -data_ov00_020ea490: - .space 0x4 - .global data_ov00_020ea494 -data_ov00_020ea494: - .space 0x4 - .global data_ov00_020ea498 -data_ov00_020ea498: - .space 0x4 - .global data_ov00_020ea49c -data_ov00_020ea49c: - .space 0x4 - .global data_ov00_020ea4a0 -data_ov00_020ea4a0: - .space 0x4 - .global data_ov00_020ea4a4 -data_ov00_020ea4a4: - .space 0x4 - .global data_ov00_020ea4a8 -data_ov00_020ea4a8: - .space 0x4 - .global data_ov00_020ea4ac -data_ov00_020ea4ac: - .space 0x4 - .global data_ov00_020ea4b0 -data_ov00_020ea4b0: - .space 0x4 - .global data_ov00_020ea4b4 -data_ov00_020ea4b4: - .space 0x4 - .global data_ov00_020ea4b8 -data_ov00_020ea4b8: - .space 0x4 - .global data_ov00_020ea4bc -data_ov00_020ea4bc: - .space 0x4 - .global data_ov00_020ea4c0 -data_ov00_020ea4c0: - .space 0x4 - .global data_ov00_020ea4c4 -data_ov00_020ea4c4: - .space 0x4 - .global data_ov00_020ea4c8 -data_ov00_020ea4c8: - .space 0x4 - .global data_ov00_020ea4cc -data_ov00_020ea4cc: - .space 0x4 - .global data_ov00_020ea4d0 -data_ov00_020ea4d0: - .space 0x4 - .global data_ov00_020ea4d4 -data_ov00_020ea4d4: - .space 0x4 - .global data_ov00_020ea4d8 -data_ov00_020ea4d8: - .space 0x4 - .global data_ov00_020ea4dc -data_ov00_020ea4dc: - .space 0x4 - .global data_ov00_020ea4e0 -data_ov00_020ea4e0: - .space 0x4 - .global data_ov00_020ea4e4 -data_ov00_020ea4e4: - .space 0x4 - .global data_ov00_020ea4e8 -data_ov00_020ea4e8: - .space 0x4 - .global data_ov00_020ea4ec -data_ov00_020ea4ec: - .space 0x4 - .global data_ov00_020ea4f0 -data_ov00_020ea4f0: - .space 0x4 - .global data_ov00_020ea4f4 -data_ov00_020ea4f4: - .space 0x4 - .global data_ov00_020ea4f8 -data_ov00_020ea4f8: - .space 0x4 - .global data_ov00_020ea4fc -data_ov00_020ea4fc: - .space 0x4 - .global data_ov00_020ea500 -data_ov00_020ea500: - .space 0x4 - .global data_ov00_020ea504 -data_ov00_020ea504: - .space 0x4 - .global data_ov00_020ea508 -data_ov00_020ea508: - .space 0x4 - .global data_ov00_020ea50c -data_ov00_020ea50c: - .space 0x4 - .global data_ov00_020ea510 -data_ov00_020ea510: - .space 0x4 - .global data_ov00_020ea514 -data_ov00_020ea514: - .space 0x4 - .global data_ov00_020ea518 -data_ov00_020ea518: - .space 0x4 - .global data_ov00_020ea51c -data_ov00_020ea51c: - .space 0x4 - .global data_ov00_020ea520 -data_ov00_020ea520: - .space 0x4 - .global data_ov00_020ea524 -data_ov00_020ea524: - .space 0x4 - .global data_ov00_020ea528 -data_ov00_020ea528: - .space 0x4 - .global data_ov00_020ea52c -data_ov00_020ea52c: - .space 0x4 - .global data_ov00_020ea530 -data_ov00_020ea530: - .space 0x4 - .global data_ov00_020ea534 -data_ov00_020ea534: - .space 0x4 - .global data_ov00_020ea538 -data_ov00_020ea538: - .space 0x4 - .global data_ov00_020ea53c -data_ov00_020ea53c: - .space 0x4 - .global data_ov00_020ea540 -data_ov00_020ea540: - .space 0x4 - .global data_ov00_020ea544 -data_ov00_020ea544: - .space 0x4 - .global data_ov00_020ea548 -data_ov00_020ea548: - .space 0x4 - .global data_ov00_020ea54c -data_ov00_020ea54c: - .space 0x4 - .global data_ov00_020ea550 -data_ov00_020ea550: - .space 0x4 - .global data_ov00_020ea554 -data_ov00_020ea554: - .space 0x4 - .global data_ov00_020ea558 -data_ov00_020ea558: - .space 0x4 - .global data_ov00_020ea55c -data_ov00_020ea55c: - .space 0x4 - .global data_ov00_020ea560 -data_ov00_020ea560: - .space 0x4 - .global data_ov00_020ea564 -data_ov00_020ea564: - .space 0x4 - .global data_ov00_020ea568 -data_ov00_020ea568: - .space 0x4 - .global data_ov00_020ea56c -data_ov00_020ea56c: - .space 0x4 - .global data_ov00_020ea570 -data_ov00_020ea570: - .space 0x4 - .global data_ov00_020ea574 -data_ov00_020ea574: - .space 0x4 - .global data_ov00_020ea578 -data_ov00_020ea578: - .space 0x4 - .global data_ov00_020ea57c -data_ov00_020ea57c: - .space 0x4 - .global data_ov00_020ea580 -data_ov00_020ea580: - .space 0x4 - .global data_ov00_020ea584 -data_ov00_020ea584: - .space 0x4 - .global data_ov00_020ea588 -data_ov00_020ea588: - .space 0x4 - .global data_ov00_020ea58c -data_ov00_020ea58c: - .space 0x4 - .global data_ov00_020ea590 -data_ov00_020ea590: - .space 0x4 - .global data_ov00_020ea594 -data_ov00_020ea594: - .space 0x4 - .global data_ov00_020ea598 -data_ov00_020ea598: - .space 0x4 - .global data_ov00_020ea59c -data_ov00_020ea59c: - .space 0x4 - .global data_ov00_020ea5a0 -data_ov00_020ea5a0: - .space 0x4 - .global data_ov00_020ea5a4 -data_ov00_020ea5a4: - .space 0x4 - .global data_ov00_020ea5a8 -data_ov00_020ea5a8: - .space 0x4 - .global data_ov00_020ea5ac -data_ov00_020ea5ac: - .space 0x4 - .global data_ov00_020ea5b0 -data_ov00_020ea5b0: - .space 0x4 - .global data_ov00_020ea5b4 -data_ov00_020ea5b4: - .space 0x4 - .global data_ov00_020ea5b8 -data_ov00_020ea5b8: - .space 0x4 - .global data_ov00_020ea5bc -data_ov00_020ea5bc: - .space 0x4 - .global data_ov00_020ea5c0 -data_ov00_020ea5c0: - .space 0x4 - .global data_ov00_020ea5c4 -data_ov00_020ea5c4: - .space 0x4 - .global data_ov00_020ea5c8 -data_ov00_020ea5c8: - .space 0x4 - .global data_ov00_020ea5cc -data_ov00_020ea5cc: - .space 0x4 - .global data_ov00_020ea5d0 -data_ov00_020ea5d0: - .space 0x4 - .global data_ov00_020ea5d4 -data_ov00_020ea5d4: - .space 0x4 - .global data_ov00_020ea5d8 -data_ov00_020ea5d8: - .space 0x4 - .global data_ov00_020ea5dc -data_ov00_020ea5dc: - .space 0x4 - .global data_ov00_020ea5e0 -data_ov00_020ea5e0: - .space 0x4 - .global data_ov00_020ea5e4 -data_ov00_020ea5e4: - .space 0x4 - .global data_ov00_020ea5e8 -data_ov00_020ea5e8: - .space 0x4 - .global data_ov00_020ea5ec -data_ov00_020ea5ec: - .space 0x4 - .global data_ov00_020ea5f0 -data_ov00_020ea5f0: - .space 0x4 - .global data_ov00_020ea5f4 -data_ov00_020ea5f4: - .space 0x4 - .global data_ov00_020ea5f8 -data_ov00_020ea5f8: - .space 0x4 - .global data_ov00_020ea5fc -data_ov00_020ea5fc: - .space 0x4 - .global data_ov00_020ea600 -data_ov00_020ea600: - .space 0x4 - .global data_ov00_020ea604 -data_ov00_020ea604: - .space 0x4 - .global data_ov00_020ea608 -data_ov00_020ea608: - .space 0x4 - .global data_ov00_020ea60c -data_ov00_020ea60c: - .space 0x4 - .global data_ov00_020ea610 -data_ov00_020ea610: - .space 0x4 - .global data_ov00_020ea614 -data_ov00_020ea614: - .space 0x4 - .global data_ov00_020ea618 -data_ov00_020ea618: - .space 0x4 - .global data_ov00_020ea61c -data_ov00_020ea61c: - .space 0x4 - .global data_ov00_020ea620 -data_ov00_020ea620: - .space 0x4 - .global data_ov00_020ea624 -data_ov00_020ea624: - .space 0x4 - .global data_ov00_020ea628 -data_ov00_020ea628: - .space 0x4 - .global data_ov00_020ea62c -data_ov00_020ea62c: - .space 0x4 - .global data_ov00_020ea630 -data_ov00_020ea630: - .space 0x4 - .global data_ov00_020ea634 -data_ov00_020ea634: - .space 0x4 - .global data_ov00_020ea638 -data_ov00_020ea638: - .space 0x4 - .global data_ov00_020ea63c -data_ov00_020ea63c: - .space 0x4 - .global data_ov00_020ea640 -data_ov00_020ea640: - .space 0x4 - .global data_ov00_020ea644 -data_ov00_020ea644: - .space 0x4 - .global data_ov00_020ea648 -data_ov00_020ea648: - .space 0x4 - .global data_ov00_020ea64c -data_ov00_020ea64c: - .space 0x4 - .global data_ov00_020ea650 -data_ov00_020ea650: - .space 0x4 - .global data_ov00_020ea654 -data_ov00_020ea654: - .space 0x4 - .global data_ov00_020ea658 -data_ov00_020ea658: - .space 0x4 - .global data_ov00_020ea65c -data_ov00_020ea65c: - .space 0x4 - .global data_ov00_020ea660 -data_ov00_020ea660: - .space 0x4 - .global data_ov00_020ea664 -data_ov00_020ea664: - .space 0x4 - .global data_ov00_020ea668 -data_ov00_020ea668: - .space 0x4 - .global data_ov00_020ea66c -data_ov00_020ea66c: - .space 0x4 - .global data_ov00_020ea670 -data_ov00_020ea670: - .space 0x4 - .global data_ov00_020ea674 -data_ov00_020ea674: - .space 0x4 - .global data_ov00_020ea678 -data_ov00_020ea678: - .space 0x4 - .global data_ov00_020ea67c -data_ov00_020ea67c: - .space 0x4 - .global data_ov00_020ea680 -data_ov00_020ea680: - .space 0x4 - .global data_ov00_020ea684 -data_ov00_020ea684: - .space 0x4 - .global data_ov00_020ea688 -data_ov00_020ea688: - .space 0x4 - .global data_ov00_020ea68c -data_ov00_020ea68c: - .space 0x4 - .global data_ov00_020ea690 -data_ov00_020ea690: - .space 0x4 - .global data_ov00_020ea694 -data_ov00_020ea694: - .space 0x4 - .global data_ov00_020ea698 -data_ov00_020ea698: - .space 0x4 - .global data_ov00_020ea69c -data_ov00_020ea69c: - .space 0x4 - .global data_ov00_020ea6a0 -data_ov00_020ea6a0: - .space 0x4 - .global data_ov00_020ea6a4 -data_ov00_020ea6a4: - .space 0x4 - .global data_ov00_020ea6a8 -data_ov00_020ea6a8: - .space 0x4 - .global data_ov00_020ea6ac -data_ov00_020ea6ac: - .space 0x4 - .global data_ov00_020ea6b0 -data_ov00_020ea6b0: - .space 0x4 - .global data_ov00_020ea6b4 -data_ov00_020ea6b4: - .space 0x4 - .global data_ov00_020ea6b8 -data_ov00_020ea6b8: - .space 0x4 - .global data_ov00_020ea6bc -data_ov00_020ea6bc: - .space 0x4 - .global data_ov00_020ea6c0 -data_ov00_020ea6c0: - .space 0x4 - .global data_ov00_020ea6c4 -data_ov00_020ea6c4: - .space 0x4 - .global data_ov00_020ea6c8 -data_ov00_020ea6c8: - .space 0x4 - .global data_ov00_020ea6cc -data_ov00_020ea6cc: - .space 0x4 - .global data_ov00_020ea6d0 -data_ov00_020ea6d0: - .space 0x4 - .global data_ov00_020ea6d4 -data_ov00_020ea6d4: - .space 0x4 - .global data_ov00_020ea6d8 -data_ov00_020ea6d8: - .space 0x4 - .global data_ov00_020ea6dc -data_ov00_020ea6dc: - .space 0x4 - .global data_ov00_020ea6e0 -data_ov00_020ea6e0: - .space 0x4 - .global data_ov00_020ea6e4 -data_ov00_020ea6e4: - .space 0x4 - .global data_ov00_020ea6e8 -data_ov00_020ea6e8: - .space 0x4 - .global data_ov00_020ea6ec -data_ov00_020ea6ec: - .space 0x4 - .global data_ov00_020ea6f0 -data_ov00_020ea6f0: - .space 0x4 - .global data_ov00_020ea6f4 -data_ov00_020ea6f4: - .space 0x4 - .global data_ov00_020ea6f8 -data_ov00_020ea6f8: - .space 0x4 - .global data_ov00_020ea6fc -data_ov00_020ea6fc: - .space 0x4 - .global data_ov00_020ea700 -data_ov00_020ea700: - .space 0x4 - .global data_ov00_020ea704 -data_ov00_020ea704: - .space 0x4 - .global data_ov00_020ea708 -data_ov00_020ea708: - .space 0x4 - .global data_ov00_020ea70c -data_ov00_020ea70c: - .space 0x4 - .global data_ov00_020ea710 -data_ov00_020ea710: - .space 0x4 - .global data_ov00_020ea714 -data_ov00_020ea714: - .space 0x4 - .global data_ov00_020ea718 -data_ov00_020ea718: - .space 0x4 - .global data_ov00_020ea71c -data_ov00_020ea71c: - .space 0x4 - .global data_ov00_020ea720 -data_ov00_020ea720: - .space 0x4 - .global data_ov00_020ea724 -data_ov00_020ea724: - .space 0x4 - .global data_ov00_020ea728 -data_ov00_020ea728: - .space 0x4 - .global data_ov00_020ea72c -data_ov00_020ea72c: - .space 0x4 - .global data_ov00_020ea730 -data_ov00_020ea730: - .space 0x4 - .global data_ov00_020ea734 -data_ov00_020ea734: - .space 0x4 - .global data_ov00_020ea738 -data_ov00_020ea738: - .space 0x4 - .global data_ov00_020ea73c -data_ov00_020ea73c: - .space 0x4 - .global data_ov00_020ea740 -data_ov00_020ea740: - .space 0x4 - .global data_ov00_020ea744 -data_ov00_020ea744: - .space 0x4 - .global data_ov00_020ea748 -data_ov00_020ea748: - .space 0x4 - .global data_ov00_020ea74c -data_ov00_020ea74c: - .space 0x4 - .global data_ov00_020ea750 -data_ov00_020ea750: - .space 0x4 - .global data_ov00_020ea754 -data_ov00_020ea754: - .space 0x4 - .global data_ov00_020ea758 -data_ov00_020ea758: - .space 0x4 - .global data_ov00_020ea75c -data_ov00_020ea75c: - .space 0x4 - .global data_ov00_020ea760 -data_ov00_020ea760: - .space 0x4 - .global data_ov00_020ea764 -data_ov00_020ea764: - .space 0x4 - .global data_ov00_020ea768 -data_ov00_020ea768: - .space 0x4 - .global data_ov00_020ea76c -data_ov00_020ea76c: - .space 0x4 - .global data_ov00_020ea770 -data_ov00_020ea770: - .space 0x4 - .global data_ov00_020ea774 -data_ov00_020ea774: - .space 0x4 - .global data_ov00_020ea778 -data_ov00_020ea778: - .space 0x4 - .global data_ov00_020ea77c -data_ov00_020ea77c: - .space 0x4 - .global data_ov00_020ea780 -data_ov00_020ea780: - .space 0x4 - .global data_ov00_020ea784 -data_ov00_020ea784: - .space 0x4 - .global data_ov00_020ea788 -data_ov00_020ea788: - .space 0x4 - .global data_ov00_020ea78c -data_ov00_020ea78c: - .space 0x4 - .global data_ov00_020ea790 -data_ov00_020ea790: - .space 0x4 - .global data_ov00_020ea794 -data_ov00_020ea794: - .space 0x4 - .global data_ov00_020ea798 -data_ov00_020ea798: - .space 0x4 - .global data_ov00_020ea79c -data_ov00_020ea79c: - .space 0x4 - .global data_ov00_020ea7a0 -data_ov00_020ea7a0: - .space 0x4 - .global data_ov00_020ea7a4 -data_ov00_020ea7a4: - .space 0x4 - .global data_ov00_020ea7a8 -data_ov00_020ea7a8: - .space 0x4 - .global data_ov00_020ea7ac -data_ov00_020ea7ac: - .space 0x4 - .global data_ov00_020ea7b0 -data_ov00_020ea7b0: - .space 0x4 - .global data_ov00_020ea7b4 -data_ov00_020ea7b4: - .space 0x4 - .global data_ov00_020ea7b8 -data_ov00_020ea7b8: - .space 0x4 - .global data_ov00_020ea7bc -data_ov00_020ea7bc: - .space 0x4 - .global data_ov00_020ea7c0 -data_ov00_020ea7c0: - .space 0x4 - .global data_ov00_020ea7c4 -data_ov00_020ea7c4: - .space 0x4 - .global data_ov00_020ea7c8 -data_ov00_020ea7c8: - .space 0x4 - .global data_ov00_020ea7cc -data_ov00_020ea7cc: - .space 0x4 - .global data_ov00_020ea7d0 -data_ov00_020ea7d0: - .space 0x4 - .global data_ov00_020ea7d4 -data_ov00_020ea7d4: - .space 0x4 - .global data_ov00_020ea7d8 -data_ov00_020ea7d8: - .space 0x4 - .global data_ov00_020ea7dc -data_ov00_020ea7dc: - .space 0x4 - .global data_ov00_020ea7e0 -data_ov00_020ea7e0: - .space 0x4 - .global data_ov00_020ea7e4 -data_ov00_020ea7e4: - .space 0x4 - .global data_ov00_020ea7e8 -data_ov00_020ea7e8: - .space 0x4 - .global data_ov00_020ea7ec -data_ov00_020ea7ec: - .space 0x4 - .global data_ov00_020ea7f0 -data_ov00_020ea7f0: - .space 0x4 - .global data_ov00_020ea7f4 -data_ov00_020ea7f4: - .space 0x4 - .global data_ov00_020ea7f8 -data_ov00_020ea7f8: - .space 0x4 - .global data_ov00_020ea7fc -data_ov00_020ea7fc: - .space 0x4 - .global data_ov00_020ea800 -data_ov00_020ea800: - .space 0x4 - .global data_ov00_020ea804 -data_ov00_020ea804: - .space 0x4 - .global data_ov00_020ea808 -data_ov00_020ea808: - .space 0x4 - .global data_ov00_020ea80c -data_ov00_020ea80c: - .space 0x4 - .global data_ov00_020ea810 -data_ov00_020ea810: - .space 0x4 - .global data_ov00_020ea814 -data_ov00_020ea814: - .space 0x4 - .global data_ov00_020ea818 -data_ov00_020ea818: - .space 0x4 - .global data_ov00_020ea81c -data_ov00_020ea81c: - .space 0x4 - .global data_ov00_020ea820 -data_ov00_020ea820: - .space 0x4 - .global data_ov00_020ea824 -data_ov00_020ea824: - .space 0x4 - .global data_ov00_020ea828 -data_ov00_020ea828: - .space 0x4 - .global data_ov00_020ea82c -data_ov00_020ea82c: - .space 0x4 - .global data_ov00_020ea830 -data_ov00_020ea830: - .space 0x4 - .global data_ov00_020ea834 -data_ov00_020ea834: - .space 0x4 - .global data_ov00_020ea838 -data_ov00_020ea838: - .space 0x4 - .global data_ov00_020ea83c -data_ov00_020ea83c: - .space 0x4 - .global data_ov00_020ea840 -data_ov00_020ea840: - .space 0x4 - .global data_ov00_020ea844 -data_ov00_020ea844: - .space 0x4 - .global data_ov00_020ea848 -data_ov00_020ea848: - .space 0x4 - .global data_ov00_020ea84c -data_ov00_020ea84c: - .space 0x4 - .global data_ov00_020ea850 -data_ov00_020ea850: - .space 0x4 - .global data_ov00_020ea854 -data_ov00_020ea854: - .space 0x4 - .global data_ov00_020ea858 -data_ov00_020ea858: - .space 0x4 - .global data_ov00_020ea85c -data_ov00_020ea85c: - .space 0x4 - .global data_ov00_020ea860 -data_ov00_020ea860: - .space 0x4 - .global data_ov00_020ea864 -data_ov00_020ea864: - .space 0x4 - .global data_ov00_020ea868 -data_ov00_020ea868: - .space 0x4 - .global data_ov00_020ea86c -data_ov00_020ea86c: - .space 0x4 - .global data_ov00_020ea870 -data_ov00_020ea870: - .space 0x4 - .global data_ov00_020ea874 -data_ov00_020ea874: - .space 0x4 - .global data_ov00_020ea878 -data_ov00_020ea878: - .space 0x4 - .global data_ov00_020ea87c -data_ov00_020ea87c: - .space 0x4 - .global data_ov00_020ea880 -data_ov00_020ea880: - .space 0x4 - .global data_ov00_020ea884 -data_ov00_020ea884: - .space 0x4 - .global data_ov00_020ea888 -data_ov00_020ea888: - .space 0x4 - .global data_ov00_020ea88c -data_ov00_020ea88c: - .space 0x4 - .global data_ov00_020ea890 -data_ov00_020ea890: - .space 0x4 - .global data_ov00_020ea894 -data_ov00_020ea894: - .space 0x4 - .global data_ov00_020ea898 -data_ov00_020ea898: - .space 0x4 - .global data_ov00_020ea89c -data_ov00_020ea89c: - .space 0x4 - .global data_ov00_020ea8a0 -data_ov00_020ea8a0: - .space 0x4 - .global data_ov00_020ea8a4 -data_ov00_020ea8a4: - .space 0x4 - .global data_ov00_020ea8a8 -data_ov00_020ea8a8: - .space 0x4 - .global data_ov00_020ea8ac -data_ov00_020ea8ac: - .space 0x4 - .global data_ov00_020ea8b0 -data_ov00_020ea8b0: - .space 0x4 - .global data_ov00_020ea8b4 -data_ov00_020ea8b4: - .space 0x4 - .global data_ov00_020ea8b8 -data_ov00_020ea8b8: - .space 0x4 - .global data_ov00_020ea8bc -data_ov00_020ea8bc: - .space 0x4 - .global data_ov00_020ea8c0 -data_ov00_020ea8c0: - .space 0x4 - .global data_ov00_020ea8c4 -data_ov00_020ea8c4: - .space 0x4 - .global data_ov00_020ea8c8 -data_ov00_020ea8c8: - .space 0x4 - .global data_ov00_020ea8cc -data_ov00_020ea8cc: - .space 0x4 - .global data_ov00_020ea8d0 -data_ov00_020ea8d0: - .space 0x4 - .global data_ov00_020ea8d4 -data_ov00_020ea8d4: - .space 0x4 - .global data_ov00_020ea8d8 -data_ov00_020ea8d8: - .space 0x4 - .global data_ov00_020ea8dc -data_ov00_020ea8dc: - .space 0x4 - .global data_ov00_020ea8e0 -data_ov00_020ea8e0: - .space 0x4 - .global data_ov00_020ea8e4 -data_ov00_020ea8e4: - .space 0x4 - .global data_ov00_020ea8e8 -data_ov00_020ea8e8: - .space 0x4 - .global data_ov00_020ea8ec -data_ov00_020ea8ec: - .space 0x4 - .global data_ov00_020ea8f0 -data_ov00_020ea8f0: - .space 0x4 - .global data_ov00_020ea8f4 -data_ov00_020ea8f4: - .space 0x4 - .global data_ov00_020ea8f8 -data_ov00_020ea8f8: - .space 0x4 - .global data_ov00_020ea8fc -data_ov00_020ea8fc: - .space 0x4 - .global data_ov00_020ea900 -data_ov00_020ea900: - .space 0x4 - .global data_ov00_020ea904 -data_ov00_020ea904: - .space 0x4 - .global data_ov00_020ea908 -data_ov00_020ea908: - .space 0x4 - .global data_ov00_020ea90c -data_ov00_020ea90c: - .space 0x4 - .global data_ov00_020ea910 -data_ov00_020ea910: - .space 0x4 - .global data_ov00_020ea914 -data_ov00_020ea914: - .space 0x4 - .global data_ov00_020ea918 -data_ov00_020ea918: - .space 0x4 - .global data_ov00_020ea91c -data_ov00_020ea91c: - .space 0x4 - .global data_ov00_020ea920 -data_ov00_020ea920: - .space 0x4 - .global data_ov00_020ea924 -data_ov00_020ea924: - .space 0x4 - .global data_ov00_020ea928 -data_ov00_020ea928: - .space 0x4 - .global data_ov00_020ea92c -data_ov00_020ea92c: - .space 0x4 - .global data_ov00_020ea930 -data_ov00_020ea930: - .space 0x4 - .global data_ov00_020ea934 -data_ov00_020ea934: - .space 0x4 - .global data_ov00_020ea938 -data_ov00_020ea938: - .space 0x4 - .global data_ov00_020ea93c -data_ov00_020ea93c: - .space 0x4 - .global data_ov00_020ea940 -data_ov00_020ea940: - .space 0x4 - .global data_ov00_020ea944 -data_ov00_020ea944: - .space 0x4 - .global data_ov00_020ea948 -data_ov00_020ea948: - .space 0x4 - .global data_ov00_020ea94c -data_ov00_020ea94c: - .space 0x4 - .global data_ov00_020ea950 -data_ov00_020ea950: - .space 0x4 - .global data_ov00_020ea954 -data_ov00_020ea954: - .space 0x4 - .global data_ov00_020ea958 -data_ov00_020ea958: - .space 0x4 - .global data_ov00_020ea95c -data_ov00_020ea95c: - .space 0x4 - .global data_ov00_020ea960 -data_ov00_020ea960: - .space 0x4 - .global data_ov00_020ea964 -data_ov00_020ea964: - .space 0x4 - .global data_ov00_020ea968 -data_ov00_020ea968: - .space 0x4 - .global data_ov00_020ea96c -data_ov00_020ea96c: - .space 0x4 - .global data_ov00_020ea970 -data_ov00_020ea970: - .space 0x4 - .global data_ov00_020ea974 -data_ov00_020ea974: - .space 0x4 - .global data_ov00_020ea978 -data_ov00_020ea978: - .space 0x4 - .global data_ov00_020ea97c -data_ov00_020ea97c: - .space 0x4 - .global data_ov00_020ea980 -data_ov00_020ea980: - .space 0x4 - .global data_ov00_020ea984 -data_ov00_020ea984: - .space 0x4 - .global data_ov00_020ea988 -data_ov00_020ea988: - .space 0x4 - .global data_ov00_020ea98c -data_ov00_020ea98c: - .space 0x4 - .global data_ov00_020ea990 -data_ov00_020ea990: - .space 0x4 - .global data_ov00_020ea994 -data_ov00_020ea994: - .space 0x4 - .global data_ov00_020ea998 -data_ov00_020ea998: - .space 0x4 - .global data_ov00_020ea99c -data_ov00_020ea99c: - .space 0x4 - .global data_ov00_020ea9a0 -data_ov00_020ea9a0: - .space 0x4 - .global data_ov00_020ea9a4 -data_ov00_020ea9a4: - .space 0x4 - .global data_ov00_020ea9a8 -data_ov00_020ea9a8: - .space 0x4 - .global data_ov00_020ea9ac -data_ov00_020ea9ac: - .space 0x4 - .global data_ov00_020ea9b0 -data_ov00_020ea9b0: - .space 0x4 - .global data_ov00_020ea9b4 -data_ov00_020ea9b4: - .space 0x4 - .global data_ov00_020ea9b8 -data_ov00_020ea9b8: - .space 0x4 - .global data_ov00_020ea9bc -data_ov00_020ea9bc: - .space 0x4 - .global data_ov00_020ea9c0 -data_ov00_020ea9c0: - .space 0x4 - .global data_ov00_020ea9c4 -data_ov00_020ea9c4: - .space 0x4 - .global data_ov00_020ea9c8 -data_ov00_020ea9c8: - .space 0x4 - .global data_ov00_020ea9cc -data_ov00_020ea9cc: - .space 0x4 - .global data_ov00_020ea9d0 -data_ov00_020ea9d0: - .space 0x4 - .global data_ov00_020ea9d4 -data_ov00_020ea9d4: - .space 0x4 - .global data_ov00_020ea9d8 -data_ov00_020ea9d8: - .space 0x4 - .global data_ov00_020ea9dc -data_ov00_020ea9dc: - .space 0x4 - .global data_ov00_020ea9e0 -data_ov00_020ea9e0: - .space 0x4 - .global data_ov00_020ea9e4 -data_ov00_020ea9e4: - .space 0x4 - .global data_ov00_020ea9e8 -data_ov00_020ea9e8: - .space 0x4 - .global data_ov00_020ea9ec -data_ov00_020ea9ec: - .space 0x4 - .global data_ov00_020ea9f0 -data_ov00_020ea9f0: - .space 0x4 - .global data_ov00_020ea9f4 -data_ov00_020ea9f4: - .space 0x4 - .global data_ov00_020ea9f8 -data_ov00_020ea9f8: - .space 0x4 - .global data_ov00_020ea9fc -data_ov00_020ea9fc: - .space 0x4 - .global data_ov00_020eaa00 -data_ov00_020eaa00: - .space 0x4 - .global data_ov00_020eaa04 -data_ov00_020eaa04: - .space 0x4 - .global data_ov00_020eaa08 -data_ov00_020eaa08: - .space 0x4 - .global data_ov00_020eaa0c -data_ov00_020eaa0c: - .space 0x4 - .global data_ov00_020eaa10 -data_ov00_020eaa10: - .space 0x4 - .global data_ov00_020eaa14 -data_ov00_020eaa14: - .space 0x4 - .global data_ov00_020eaa18 -data_ov00_020eaa18: - .space 0x4 - .global data_ov00_020eaa1c -data_ov00_020eaa1c: - .space 0x4 - .global data_ov00_020eaa20 -data_ov00_020eaa20: - .space 0x4 - .global data_ov00_020eaa24 -data_ov00_020eaa24: - .space 0x4 - .global data_ov00_020eaa28 -data_ov00_020eaa28: - .space 0x4 - .global data_ov00_020eaa2c -data_ov00_020eaa2c: - .space 0x4 - .global data_ov00_020eaa30 -data_ov00_020eaa30: - .space 0x4 - .global data_ov00_020eaa34 -data_ov00_020eaa34: - .space 0x4 - .global data_ov00_020eaa38 -data_ov00_020eaa38: - .space 0x4 - .global data_ov00_020eaa3c -data_ov00_020eaa3c: - .space 0x4 - .global data_ov00_020eaa40 -data_ov00_020eaa40: - .space 0x4 - .global data_ov00_020eaa44 -data_ov00_020eaa44: - .space 0x4 - .global data_ov00_020eaa48 -data_ov00_020eaa48: - .space 0x4 - .global data_ov00_020eaa4c -data_ov00_020eaa4c: - .space 0x4 - .global data_ov00_020eaa50 -data_ov00_020eaa50: - .space 0x4 - .global data_ov00_020eaa54 -data_ov00_020eaa54: - .space 0x4 - .global data_ov00_020eaa58 -data_ov00_020eaa58: - .space 0x4 - .global data_ov00_020eaa5c -data_ov00_020eaa5c: - .space 0x4 - .global data_ov00_020eaa60 -data_ov00_020eaa60: - .space 0x4 - .global data_ov00_020eaa64 -data_ov00_020eaa64: - .space 0x4 - .global data_ov00_020eaa68 -data_ov00_020eaa68: - .space 0x4 - .global data_ov00_020eaa6c -data_ov00_020eaa6c: - .space 0x4 - .global data_ov00_020eaa70 -data_ov00_020eaa70: - .space 0x4 - .global data_ov00_020eaa74 -data_ov00_020eaa74: - .space 0x4 - .global data_ov00_020eaa78 -data_ov00_020eaa78: - .space 0x4 - .global data_ov00_020eaa7c -data_ov00_020eaa7c: - .space 0x4 - .global data_ov00_020eaa80 -data_ov00_020eaa80: - .space 0x4 - .global data_ov00_020eaa84 -data_ov00_020eaa84: - .space 0x4 - .global data_ov00_020eaa88 -data_ov00_020eaa88: - .space 0x4 - .global data_ov00_020eaa8c -data_ov00_020eaa8c: - .space 0x4 - .global data_ov00_020eaa90 -data_ov00_020eaa90: - .space 0x4 - .global data_ov00_020eaa94 -data_ov00_020eaa94: - .space 0x4 - .global data_ov00_020eaa98 -data_ov00_020eaa98: - .space 0x4 - .global data_ov00_020eaa9c -data_ov00_020eaa9c: - .space 0x4 - .global data_ov00_020eaaa0 -data_ov00_020eaaa0: - .space 0x4 - .global data_ov00_020eaaa4 -data_ov00_020eaaa4: - .space 0x4 - .global data_ov00_020eaaa8 -data_ov00_020eaaa8: - .space 0x4 - .global data_ov00_020eaaac -data_ov00_020eaaac: - .space 0x4 - .global data_ov00_020eaab0 -data_ov00_020eaab0: - .space 0x4 - .global data_ov00_020eaab4 -data_ov00_020eaab4: - .space 0x4 - .global data_ov00_020eaab8 -data_ov00_020eaab8: - .space 0x4 - .global data_ov00_020eaabc -data_ov00_020eaabc: - .space 0x4 - .global data_ov00_020eaac0 -data_ov00_020eaac0: - .space 0x4 - - .sbss - .global data_ov00_020ec718 -data_ov00_020ec718: - .space 0x3c - .global data_ov00_020ec754 -data_ov00_020ec754: - .space 0x4 - .global data_ov00_020ec758 -data_ov00_020ec758: - .space 0x40 - .global data_ov00_020ec798 -data_ov00_020ec798: - .space 0x44 - .global data_ov00_020ec7dc -data_ov00_020ec7dc: - .space 0x12 - .global data_ov00_020ec7ee -data_ov00_020ec7ee: - .space 0x1 - .global data_ov00_020ec7ef -data_ov00_020ec7ef: - .space 0x1 - .global data_ov00_020ec7f0 -data_ov00_020ec7f0: - .space 0x2c - .global data_ov00_020ec81c -data_ov00_020ec81c: - .space 0x4 - .global data_ov00_020ec820 -data_ov00_020ec820: - .space 0x4 - .global data_ov00_020ec824 -data_ov00_020ec824: - .space 0x4 - .global data_ov00_020ec828 -data_ov00_020ec828: - .space 0x4 - .global data_ov00_020ec82c -data_ov00_020ec82c: - .space 0x4 - .global data_ov00_020ec830 -data_ov00_020ec830: - .space 0x4 - .global data_ov00_020ec834 -data_ov00_020ec834: - .space 0x4 - .global data_ov00_020ec838 -data_ov00_020ec838: - .space 0x4 - .global data_ov00_020ec83c -data_ov00_020ec83c: - .space 0x4 - .global data_ov00_020ec840 -data_ov00_020ec840: - .space 0x4 - .global data_ov00_020ec844 -data_ov00_020ec844: - .space 0x4 - .global data_ov00_020ec848 -data_ov00_020ec848: - .space 0x4 - .global data_ov00_020ec84c -data_ov00_020ec84c: - .space 0x4 - .global data_ov00_020ec850 -data_ov00_020ec850: - .space 0x4 - .global data_ov00_020ec854 -data_ov00_020ec854: - .space 0x4 - .global data_ov00_020ec858 -data_ov00_020ec858: - .space 0x4 - .global data_ov00_020ec85c -data_ov00_020ec85c: - .space 0x4 - .global data_ov00_020ec860 -data_ov00_020ec860: - .space 0x4 - .global data_ov00_020ec864 -data_ov00_020ec864: - .space 0x4 - .global data_ov00_020ec868 -data_ov00_020ec868: - .space 0x4 - .global data_ov00_020ec86c -data_ov00_020ec86c: - .space 0x4 - .global data_ov00_020ec870 -data_ov00_020ec870: - .space 0x4 - .global data_ov00_020ec874 -data_ov00_020ec874: - .space 0x4 - .global data_ov00_020ec878 -data_ov00_020ec878: - .space 0x4 - .global data_ov00_020ec87c -data_ov00_020ec87c: - .space 0x4 - .global data_ov00_020ec880 -data_ov00_020ec880: - .space 0x4 - .global data_ov00_020ec884 -data_ov00_020ec884: - .space 0x4 - .global data_ov00_020ec888 -data_ov00_020ec888: - .space 0x4 - .global data_ov00_020ec88c -data_ov00_020ec88c: - .space 0x4 - .global data_ov00_020ec890 -data_ov00_020ec890: - .space 0x4 - .global data_ov00_020ec894 -data_ov00_020ec894: - .space 0x4 - .global data_ov00_020ec898 -data_ov00_020ec898: - .space 0x4 - .global data_ov00_020ec89c -data_ov00_020ec89c: - .space 0x4 - .global data_ov00_020ec8a0 -data_ov00_020ec8a0: - .space 0x4 - .global data_ov00_020ec8a4 -data_ov00_020ec8a4: - .space 0x4 - .global data_ov00_020ec8a8 -data_ov00_020ec8a8: - .space 0x4 - .global data_ov00_020ec8ac -data_ov00_020ec8ac: - .space 0x4 - .global data_ov00_020ec8b0 -data_ov00_020ec8b0: - .space 0x4 - .global data_ov00_020ec8b4 -data_ov00_020ec8b4: - .space 0x4 - .global data_ov00_020ec8b8 -data_ov00_020ec8b8: - .space 0x4 - .global data_ov00_020ec8bc -data_ov00_020ec8bc: - .space 0x4 - .global data_ov00_020ec8c0 -data_ov00_020ec8c0: - .space 0x4 - .global data_ov00_020ec8c4 -data_ov00_020ec8c4: - .space 0x4 - .global data_ov00_020ec8c8 -data_ov00_020ec8c8: - .space 0x4 - .global data_ov00_020ec8cc -data_ov00_020ec8cc: - .space 0x4 - .global data_ov00_020ec8d0 -data_ov00_020ec8d0: - .space 0x4 - .global data_ov00_020ec8d4 -data_ov00_020ec8d4: - .space 0x4 - .global data_ov00_020ec8d8 -data_ov00_020ec8d8: - .space 0x4 - .global data_ov00_020ec8dc -data_ov00_020ec8dc: - .space 0x4 - .global data_ov00_020ec8e0 -data_ov00_020ec8e0: - .space 0x4 - .global data_ov00_020ec8e4 -data_ov00_020ec8e4: - .space 0x4 - .global data_ov00_020ec8e8 -data_ov00_020ec8e8: - .space 0x4 - .global data_ov00_020ec8ec -data_ov00_020ec8ec: - .space 0x4 - .global data_ov00_020ec8f0 -data_ov00_020ec8f0: - .space 0x4 - .global data_ov00_020ec8f4 -data_ov00_020ec8f4: - .space 0x4 - .global data_ov00_020ec8f8 -data_ov00_020ec8f8: - .space 0x4 - .global data_ov00_020ec8fc -data_ov00_020ec8fc: - .space 0x4 - .global data_ov00_020ec900 -data_ov00_020ec900: - .space 0x4 - .global data_ov00_020ec904 -data_ov00_020ec904: - .space 0x4 - .global data_ov00_020ec908 -data_ov00_020ec908: - .space 0x4 - .global data_ov00_020ec90c -data_ov00_020ec90c: - .space 0x4 - .global data_ov00_020ec910 -data_ov00_020ec910: - .space 0x4 - .global data_ov00_020ec914 -data_ov00_020ec914: - .space 0x4 - .global data_ov00_020ec918 -data_ov00_020ec918: - .space 0x4 - .global data_ov00_020ec91c -data_ov00_020ec91c: - .space 0x4 - .global data_ov00_020ec920 -data_ov00_020ec920: - .space 0x4 - .global data_ov00_020ec924 -data_ov00_020ec924: - .space 0x4 - .global data_ov00_020ec928 -data_ov00_020ec928: - .space 0x4 - .global data_ov00_020ec92c -data_ov00_020ec92c: - .space 0x4 - .global data_ov00_020ec930 -data_ov00_020ec930: - .space 0x4 - .global data_ov00_020ec934 -data_ov00_020ec934: - .space 0x4 - .global data_ov00_020ec938 -data_ov00_020ec938: - .space 0x4 - .global data_ov00_020ec93c -data_ov00_020ec93c: - .space 0x4 - .global data_ov00_020ec940 -data_ov00_020ec940: - .space 0x4 - .global data_ov00_020ec944 -data_ov00_020ec944: - .space 0x4 - .global data_ov00_020ec948 -data_ov00_020ec948: - .space 0x4 - .global data_ov00_020ec94c -data_ov00_020ec94c: - .space 0x4 - .global data_ov00_020ec950 -data_ov00_020ec950: - .space 0x4 - .global data_ov00_020ec954 -data_ov00_020ec954: - .space 0x4 - .global data_ov00_020ec958 -data_ov00_020ec958: - .space 0x4 - .global data_ov00_020ec95c -data_ov00_020ec95c: - .space 0x4 - .global data_ov00_020ec960 -data_ov00_020ec960: - .space 0x4 diff --git a/asm/ov00/ov00_0207afa0.inc b/asm/ov00/ov00_0207afa0.inc new file mode 100644 index 00000000..f9df5e62 --- /dev/null +++ b/asm/ov00/ov00_0207afa0.inc @@ -0,0 +1,113 @@ +#pragma once +.extern Divide +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02083318Ei +.extern _ZN10MapManager18func_ov00_02083328Ev +.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j +.extern _ZN12ActorManager8GetActorEP8ActorRef +.extern _ZN14OverlayManager15LoadIfNotLoadedEjj +.extern _ZN9SysObjectdlEPv +.extern _ZN9SysObjectnwEmPjj +.extern _ZNK11ItemManager7HasItemEi +.extern __register_global_object +.extern data_02056be4 +.extern data_020691a0 +.extern data_027e037c +.extern data_027e0384 +.extern data_027e03c8 +.extern data_027e0618 +.extern data_027e071c +.extern data_027e077c +.extern data_027e0c54 +.extern data_027e0cbc +.extern data_027e0ce0 +.extern data_027e0d38 +.extern data_027e0d54 +.extern data_027e0db0 +.extern data_027e0db4 +.extern data_027e0db8 +.extern data_027e0dbc +.extern data_027e0de4 +.extern data_027e0de8 +.extern data_027e0e08 +.extern data_027e0e28 +.extern data_027e0e2c +.extern data_027e0e58 +.extern data_027e0e5c +.extern data_027e0f64 +.extern data_027e0f7c +.extern data_027e0f94 +.extern data_027e0fac +.extern data_027e0fcc +.extern data_027e0fe4 +.extern data_027e103c +.extern data_ov09_0211f5dc +.extern func_01ff892c +.extern func_01ff9b4c +.extern func_01ff9ec0 +.extern func_01ffa8d4 +.extern func_01ffe468 +.extern func_02004730 +.extern func_020047d8 +.extern func_02004a3c +.extern func_02004a50 +.extern func_02004dac +.extern func_020052e4 +.extern func_02005628 +.extern func_02005b58 +.extern func_02006060 +.extern func_02006b14 +.extern func_02006b2c +.extern func_02006b90 +.extern func_020078c0 +.extern func_020078d8 +.extern func_02007938 +.extern func_02007984 +.extern func_02007ad8 +.extern func_0200be04 +.extern func_0200e2c0 +.extern func_02012830 +.extern func_020128bc +.extern func_02012934 +.extern func_02023b3c +.extern func_02024130 +.extern func_0202ab78 +.extern func_0202abdc +.extern func_0202c69c +.extern func_0202d56c +.extern func_0202d77c +.extern func_02040464 +.extern func_02042b40 +.extern func_02042bfc +.extern func_0204f754 +.extern func_ov00_02078b40 +.extern func_ov00_02078b88 +.extern func_ov00_02079e04 +.extern func_ov00_0209d738 +.extern func_ov00_0209d778 +.extern func_ov00_020a5e9c +.extern func_ov00_020b7e6c +.extern func_ov00_020cf13c +.extern func_ov00_020df38c +.extern func_ov03_020f3974 +.extern func_ov03_020f3c28 +.extern func_ov03_020fa874 +.extern func_ov04_02100eb0 +.extern func_ov04_02101188 +.extern func_ov05_02100e0c +.extern func_ov05_02101080 +.extern func_ov05_021010b0 +.extern func_ov05_021010ec +.extern func_ov08_021136fc +.extern func_ov08_02113730 +.extern func_ov08_02113aa8 +.extern func_ov09_02114810 +.extern func_ov12_02133c40 +.extern func_ov17_0215cef4 +.extern func_ov18_0215cb28 +.extern func_ov18_0215df1c +.extern func_ov26_02173b7c +.extern func_ov40_02183dac +.extern gItemManager +.extern gMapManager +.extern gOverlayManager diff --git a/asm/ov00/ov00_0207afa0.s b/asm/ov00/ov00_0207afa0.s new file mode 100644 index 00000000..12806524 --- /dev/null +++ b/asm/ov00/ov00_0207afa0.s @@ -0,0 +1,6376 @@ + .include "macros/function.inc" + .include "ov00/ov00_0207afa0.inc" + + .text + + .global func_ov00_0207afa0 + thumb_func_start func_ov00_0207afa0 +func_ov00_0207afa0: ; 0x0207afa0 + ldr r0, _0207afbc ; =data_027e0618 + ldr r0, [r0] + cmp r0, #2 + beq _0207afb8 + ldr r2, _0207afc0 ; =0x04001008 + mov r0, #0x43 + ldrh r1, [r2] + and r1, r0 + mov r0, #6 + lsl r0, r0, #0xa + orr r0, r1 + strh r0, [r2] +_0207afb8: + bx lr + nop + thumb_func_end func_ov00_0207afa0 +_0207afbc: .word data_027e0618 +_0207afc0: .word 0x04001008 + + .global func_ov00_0207afc4 + thumb_func_start func_ov00_0207afc4 +func_ov00_0207afc4: ; 0x0207afc4 + ldr r0, _0207afec ; =data_027e0618 + ldr r2, _0207aff0 ; =0x0400100a + ldr r0, [r0] + cmp r0, #2 + bne _0207afde + ldrh r1, [r2] + mov r0, #0x43 + and r1, r0 + mov r0, #0xf + lsl r0, r0, #8 + orr r0, r1 + strh r0, [r2] + bx lr +_0207afde: + ldrh r1, [r2] + mov r0, #0x43 + and r1, r0 + ldr r0, _0207aff4 ; =0x00001904 + orr r0, r1 + strh r0, [r2] + bx lr + .align 2, 0 + thumb_func_end func_ov00_0207afc4 +_0207afec: .word data_027e0618 +_0207aff0: .word 0x0400100a +_0207aff4: .word 0x00001904 + + .global func_ov00_0207aff8 + thumb_func_start func_ov00_0207aff8 +func_ov00_0207aff8: ; 0x0207aff8 + ldr r0, _0207b020 ; =data_027e0618 + ldr r2, _0207b024 ; =0x0400100c + ldr r0, [r0] + cmp r0, #2 + bne _0207b010 + ldrh r1, [r2] + mov r0, #0x43 + and r1, r0 + ldr r0, _0207b028 ; =0x00004f08 + orr r0, r1 + strh r0, [r2] + bx lr +_0207b010: + ldrh r1, [r2] + mov r0, #0x43 + and r1, r0 + ldr r0, _0207b02c ; =0x0000190c + orr r0, r1 + strh r0, [r2] + bx lr + nop + thumb_func_end func_ov00_0207aff8 +_0207b020: .word data_027e0618 +_0207b024: .word 0x0400100c +_0207b028: .word 0x00004f08 +_0207b02c: .word 0x0000190c + + .global func_ov00_0207b030 + thumb_func_start func_ov00_0207b030 +func_ov00_0207b030: ; 0x0207b030 + push {r4, lr} + ldr r1, _0207b084 ; =data_027e0618 + ldr r1, [r1] + cmp r1, #2 + bne _0207b074 + cmp r0, #0 + beq _0207b04e + ldr r2, _0207b088 ; =0x0400100e + mov r0, #0x43 + ldrh r1, [r2] + and r1, r0 + ldr r0, _0207b08c ; =0x00004084 + orr r0, r1 + strh r0, [r2] + pop {r4, pc} +_0207b04e: + ldr r0, _0207b090 ; =data_027e0d38 + mov r4, #0 + ldr r0, [r0] + add r0, #0xc + blx func_ov00_020a5e9c + cmp r0, #0x32 + bne _0207b060 + mov r4, #1 +_0207b060: + ldr r2, _0207b088 ; =0x0400100e + mov r0, #0x43 + ldrh r1, [r2] + lsl r3, r4, #0xd + and r1, r0 + ldr r0, _0207b094 ; =0x00004e14 + orr r0, r1 + orr r0, r3 + strh r0, [r2] + pop {r4, pc} +_0207b074: + ldr r2, _0207b088 ; =0x0400100e + mov r0, #0x43 + ldrh r1, [r2] + and r1, r0 + ldr r0, _0207b098 ; =0x00005a14 + orr r0, r1 + strh r0, [r2] + pop {r4, pc} + .align 2, 0 + thumb_func_end func_ov00_0207b030 +_0207b084: .word data_027e0618 +_0207b088: .word 0x0400100e +_0207b08c: .word 0x00004084 +_0207b090: .word data_027e0d38 +_0207b094: .word 0x00004e14 +_0207b098: .word 0x00005a14 + + .global func_ov00_0207b09c + thumb_func_start func_ov00_0207b09c +func_ov00_0207b09c: ; 0x0207b09c + push {r3, r4, lr} + sub sp, #0x1c + add r0, sp, #8 + blx func_02024130 + mov r2, #0x33 + mov r3, #0 + ldr r0, _0207b108 ; =data_ov00_020e2044 + ldr r1, _0207b10c ; =data_020691a0 + lsl r2, r2, #0xa + str r3, [sp] + bl func_0202d56c + add r1, sp, #4 + bl func_02023b3c + ldr r2, [sp, #4] + mov r0, #3 + ldr r1, [r2, #8] + add r4, r1, #3 + bic r4, r0 + ldr r0, [r2, #0xc] + add r1, r4, #0 + blx func_0200e2c0 + ldr r2, [sp, #4] + mov r1, #0 + ldr r0, [r2, #0xc] + ldr r2, [r2, #8] + blx func_02006060 + ldr r0, _0207b110 ; =data_027e0618 + ldr r0, [r0] + cmp r0, #2 + bne _0207b104 + blx func_02004dac + mov r1, #6 + lsl r1, r1, #0xc + cmp r0, r1 + blo _0207b104 + blx func_02006b14 + ldr r0, [sp, #4] + mov r1, #1 + ldr r0, [r0, #0xc] + lsl r1, r1, #0xe + add r2, r4, #0 + blx func_02006b2c + blx func_02006b90 +_0207b104: + add sp, #0x1c + pop {r3, r4, pc} + .align 2, 0 + thumb_func_end func_ov00_0207b09c +_0207b108: .word data_ov00_020e2044 +_0207b10c: .word data_020691a0 +_0207b110: .word data_027e0618 + + .global func_ov00_0207b114 + thumb_func_start func_ov00_0207b114 +func_ov00_0207b114: ; 0x0207b114 + push {r3, lr} + mov r0, #4 + str r0, [sp] + ldr r0, _0207b128 ; =0x04000050 + mov r1, #0 + mov r2, #0x31 + mov r3, #0xc + blx func_020052e4 + pop {r3, pc} + .align 2, 0 + thumb_func_end func_ov00_0207b114 +_0207b128: .word 0x04000050 + + .global func_ov00_0207b12c + thumb_func_start func_ov00_0207b12c +func_ov00_0207b12c: ; 0x0207b12c + push {r3, lr} + mov r0, #4 + str r0, [sp] + ldr r0, _0207b140 ; =0x04001050 + mov r1, #0 + mov r2, #0x3f + mov r3, #0xc + blx func_020052e4 + pop {r3, pc} + .align 2, 0 + thumb_func_end func_ov00_0207b12c +_0207b140: .word 0x04001050 + + .global func_ov00_0207b144 + thumb_func_start func_ov00_0207b144 +func_ov00_0207b144: ; 0x0207b144 + push {r3, lr} + ldr r1, _0207b1d4 ; =data_027e0618 + ldr r1, [r1] + cmp r1, #2 + bne _0207b1c0 + cmp r0, #0 + beq _0207b164 + ldr r2, _0207b1d8 ; =0x04001000 + ldr r0, _0207b1dc ; =0xffffe0ff + ldr r1, [r2] + and r1, r0 + mov r0, #6 + lsl r0, r0, #0xa + orr r0, r1 + str r0, [r2] + pop {r3, pc} +_0207b164: + ldr r0, _0207b1e0 ; =data_027e0d38 + ldr r0, [r0] + blx func_ov00_02078b88 + cmp r0, #0 + ldr r2, _0207b1d8 ; =0x04001000 + beq _0207b198 + ldr r0, _0207b1e0 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x18] + cmp r0, #0x14 + ldr r0, _0207b1dc ; =0xffffe0ff + bne _0207b18c + ldr r1, [r2] + and r1, r0 + mov r0, #0x12 + lsl r0, r0, #8 + orr r0, r1 + str r0, [r2] + pop {r3, pc} +_0207b18c: + ldr r1, [r2] + and r1, r0 + lsr r0, r2, #0xe + orr r0, r1 + str r0, [r2] + pop {r3, pc} +_0207b198: + ldr r0, _0207b1e0 ; =data_027e0d38 + ldr r0, [r0] + ldr r0, [r0, #0x14] + cmp r0, #1 + ldr r0, _0207b1dc ; =0xffffe0ff + bne _0207b1b2 + ldr r1, [r2] + and r1, r0 + mov r0, #7 + lsl r0, r0, #0xa + orr r0, r1 + str r0, [r2] + pop {r3, pc} +_0207b1b2: + ldr r1, [r2] + and r1, r0 + mov r0, #0x1e + lsl r0, r0, #8 + orr r0, r1 + str r0, [r2] + pop {r3, pc} +_0207b1c0: + ldr r2, _0207b1d8 ; =0x04001000 + ldr r0, _0207b1dc ; =0xffffe0ff + ldr r1, [r2] + and r1, r0 + mov r0, #0x1f + lsl r0, r0, #8 + orr r0, r1 + str r0, [r2] + pop {r3, pc} + nop + thumb_func_end func_ov00_0207b144 +_0207b1d4: .word data_027e0618 +_0207b1d8: .word 0x04001000 +_0207b1dc: .word 0xffffe0ff +_0207b1e0: .word data_027e0d38 + + .global func_ov00_0207b1e4 + thumb_func_start func_ov00_0207b1e4 +func_ov00_0207b1e4: ; 0x0207b1e4 + push {r3, lr} + blx func_02004a3c + blx func_02004a50 + mov r0, #4 + blx func_02004730 + mov r0, #8 + blx func_020047d8 + pop {r3, pc} + thumb_func_end func_ov00_0207b1e4 + + .global func_ov00_0207b1fc + thumb_func_start func_ov00_0207b1fc +func_ov00_0207b1fc: ; 0x0207b1fc + push {r4, lr} + ldr r0, _0207b264 ; =data_027e0c54 + ldrb r4, [r0] + bl func_ov00_0207afa0 + bl func_ov00_0207afc4 + bl func_ov00_0207b114 + bl func_ov00_0207b12c + add r0, r4, #0 + bl func_ov00_0207b144 + ldr r1, _0207b268 ; =0x04000008 + mov r2, #3 + ldrh r3, [r1] + mov r0, #3 + bic r3, r2 + orr r3, r0 + strh r3, [r1] + ldr r1, _0207b26c ; =0x04001008 + ldrh r3, [r1] + bic r3, r2 + orr r0, r3 + strh r0, [r1] + ldrh r3, [r1, #2] + mov r0, #2 + bic r3, r2 + orr r3, r0 + strh r3, [r1, #2] + ldrh r3, [r1, #4] + bic r3, r2 + orr r0, r3 + strh r0, [r1, #4] + mov r0, #0 + str r0, [r1, #8] + str r0, [r1, #0xc] + blx func_02005b58 + bl func_ov00_0207b09c + ldr r0, _0207b270 ; =data_027e0618 + bl func_0202c69c + ldr r0, _0207b274 ; =data_027e103c + mov r1, #0 + ldr r0, [r0] + blx func_ov00_020cf13c + pop {r4, pc} + nop + thumb_func_end func_ov00_0207b1fc +_0207b264: .word data_027e0c54 +_0207b268: .word 0x04000008 +_0207b26c: .word 0x04001008 +_0207b270: .word data_027e0618 +_0207b274: .word data_027e103c + + .global func_ov00_0207b278 + thumb_func_start func_ov00_0207b278 +func_ov00_0207b278: ; 0x0207b278 + mov r1, #0 + strb r1, [r0] + strb r1, [r0, #1] + strb r1, [r0, #2] + strb r1, [r0, #3] + str r1, [r0, #4] + str r1, [r0, #8] + bx lr + thumb_func_end func_ov00_0207b278 + + .global func_ov00_0207b288 + thumb_func_start func_ov00_0207b288 +func_ov00_0207b288: ; 0x0207b288 + push {r3, r4, r5, lr} + add r4, r0, #0 + add r5, r1, #0 + bl func_ov00_0207b278 + cmp r5, #2 + bne _0207b29a + mov r0, #1 + strb r0, [r4] +_0207b29a: + ldrb r0, [r4] + cmp r0, #0 + beq _0207b2be + ldr r0, _0207b2c0 ; =0x04000048 + mov r2, #0x3f + ldrh r3, [r0] + mov r1, #0x1f + bic r3, r2 + orr r1, r3 + mov r3, #0x20 + orr r1, r3 + strh r1, [r0] + ldrh r4, [r0, #2] + mov r1, #0x10 + bic r4, r2 + orr r1, r4 + orr r1, r3 + strh r1, [r0, #2] +_0207b2be: + pop {r3, r4, r5, pc} + .align 2, 0 + thumb_func_end func_ov00_0207b288 +_0207b2c0: .word 0x04000048 + + .global func_ov00_0207b2c4 + thumb_func_start func_ov00_0207b2c4 +func_ov00_0207b2c4: ; 0x0207b2c4 + ldr r2, [r0, #8] + cmp r1, #0 + beq _0207b2dc + ldr r1, _0207b2ec ; =data_027e0c54 + ldrb r1, [r1] + cmp r1, #0 + beq _0207b2dc + mov r1, #1 + strb r1, [r0, #1] + mov r1, #0xc0 + str r1, [r0, #8] + b _0207b2e4 +_0207b2dc: + mov r1, #0 + strb r1, [r0, #1] + mov r1, #0x60 + str r1, [r0, #8] +_0207b2e4: + mov r1, #0 + strb r1, [r0, #2] + add r0, r2, #0 + bx lr + .align 2, 0 + thumb_func_end func_ov00_0207b2c4 +_0207b2ec: .word data_027e0c54 + + .global func_ov00_0207b2f0 + thumb_func_start func_ov00_0207b2f0 +func_ov00_0207b2f0: ; 0x0207b2f0 + push {r3, r4} + ldrb r4, [r0] + cmp r4, #0 + bne _0207b2fe + mov r0, #0 + pop {r3, r4} + bx lr +_0207b2fe: + strb r2, [r0, #1] + strb r3, [r0, #2] + mov r4, #0 + ldr r2, _0207b330 ; =data_027e0e2c + strb r4, [r0, #3] + ldr r3, [r2, #4] + sub r2, r4, #1 + cmp r3, r2 + beq _0207b31c + strb r4, [r0, #2] + mov r1, #1 + strb r1, [r0, #3] + add r0, r1, #0 + pop {r3, r4} + bx lr +_0207b31c: + mov r2, #0x15 + str r2, [r0, #8] + cmp r1, #0 + beq _0207b328 + ldr r1, [r0, #8] + str r1, [r0, #4] +_0207b328: + mov r0, #1 + pop {r3, r4} + bx lr + nop + thumb_func_end func_ov00_0207b2f0 +_0207b330: .word data_027e0e2c + + .global func_ov00_0207b334 + thumb_func_start func_ov00_0207b334 +func_ov00_0207b334: ; 0x0207b334 + mov r2, #0 + strb r2, [r0, #3] + ldr r2, [r0, #4] + cmp r2, #0 + bne _0207b348 + ldr r2, [r0, #8] + cmp r2, #0 + bne _0207b348 + mov r0, #1 + bx lr +_0207b348: + ldrb r2, [r0] + cmp r2, #0 + bne _0207b352 + mov r0, #0 + bx lr +_0207b352: + ldr r2, _0207b374 ; =data_027e0e2c + ldr r3, [r2, #4] + mov r2, #0 + mvn r2, r2 + cmp r3, r2 + beq _0207b362 + mov r0, #0 + bx lr +_0207b362: + mov r2, #0 + str r2, [r0, #8] + cmp r1, #0 + beq _0207b36e + ldr r1, [r0, #8] + str r1, [r0, #4] +_0207b36e: + mov r0, #1 + bx lr + nop + thumb_func_end func_ov00_0207b334 +_0207b374: .word data_027e0e2c + + .global func_ov00_0207b378 + arm_func_start func_ov00_0207b378 +func_ov00_0207b378: ; 0x0207b378 + stmdb sp!, {r4, lr} + mov r4, r0 + cmp r1, #0 + ldmneia sp!, {r4, pc} + ldrb r0, [r4] + cmp r0, #0 + ldmeqia sp!, {r4, pc} + bl func_ov00_02079e04 + cmp r0, #0 + ldmneia sp!, {r4, pc} + ldr r1, _0207b438 ; =data_027e0e2c + mvn r0, #0 + ldr r1, [r1, #4] + cmp r1, r0 + ldmneia sp!, {r4, pc} + ldrb r0, [r4, #3] + cmp r0, #0 + beq _0207b3e8 + ldr r0, [r4, #4] + cmp r0, #0 + bgt _0207b3e8 + ldrb r2, [r4, #1] + ldrb r3, [r4, #2] + mov r0, r4 + mov r1, #1 + blx func_ov00_0207b2f0 + mov r0, #0 + strb r0, [r4, #3] +_0207b3e8: + ldr r0, [r4, #8] + ldr r1, [r4, #4] + cmp r1, r0 + bge _0207b41c + ldrb r0, [r4, #2] + cmp r0, #0 + addne r0, r1, #1 + addeq r0, r1, #7 + str r0, [r4, #4] + ldmib r4, {r0, r1} + cmp r0, r1 + strgt r1, [r4, #4] + ldmia sp!, {r4, pc} +_0207b41c: + ldmleia sp!, {r4, pc} + sub r1, r1, #0x13 + str r1, [r4, #4] + ldr r0, [r4, #8] + cmp r1, r0 + strlt r0, [r4, #4] + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_0207b378 +_0207b438: .word data_027e0e2c + + .global func_ov00_0207b43c + arm_func_start func_ov00_0207b43c +func_ov00_0207b43c: ; 0x0207b43c + stmdb sp!, {r4, lr} + mov r4, r0 + ldrb r0, [r4] + cmp r0, #0 + ldmeqia sp!, {r4, pc} + ldr r0, [r4, #4] + cmp r0, #0 + ble _0207b50c + bl func_ov00_02079e04 + cmp r0, #0 + bne _0207b50c + mov r0, #0x4000000 + ldr r1, [r0] + bic r1, r1, #0xe000 + orr r1, r1, #0x2000 + str r1, [r0] + ldrb r1, [r4, #1] + cmp r1, #0 + ldrne r1, _0207b520 ; =data_027e0c54 + ldrneb r1, [r1] + cmpne r1, #0 + beq _0207b4e0 + ldr r1, _0207b524 ; =data_027e0618 + ldr r1, [r1, #0xf4] + tst r1, #1 + beq _0207b4c4 + ldr r1, [r4, #4] + ldr r2, _0207b528 ; =0x000001ff + mov r1, r1, lsl #0x8 + and r1, r1, #0xff00 + strh r2, [r0, #0x40] + orr r1, r1, #0xc0 + strh r1, [r0, #0x44] + ldmia sp!, {r4, pc} +_0207b4c4: + ldr r2, [r4, #4] + ldr r1, _0207b528 ; =0x000001ff + rsb r2, r2, #0xc0 + strh r1, [r0, #0x40] + and r1, r2, #0xff + strh r1, [r0, #0x44] + ldmia sp!, {r4, pc} +_0207b4e0: + ldr r0, [r4, #4] + ldr r3, _0207b528 ; =0x000001ff + mov r1, r0, lsl #0x8 + rsb r0, r0, #0xc0 + ldr r2, _0207b52c ; =0x04000040 + and r1, r1, #0xff00 + and r0, r0, #0xff + strh r3, [r2] + orr r0, r1, r0 + strh r0, [r2, #4] + ldmia sp!, {r4, pc} +_0207b50c: + mov r1, #0x4000000 + ldr r0, [r1] + bic r0, r0, #0xe000 + str r0, [r1] + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_0207b43c +_0207b520: .word data_027e0c54 +_0207b524: .word data_027e0618 +_0207b528: .word 0x000001ff +_0207b52c: .word 0x04000040 + + .global func_ov00_0207b530 + thumb_func_start func_ov00_0207b530 +func_ov00_0207b530: ; 0x0207b530 + push {r4, lr} + add r4, r0, #0 + ldr r0, _0207b550 ; =gOverlayManager + ldr r2, _0207b554 ; =0x00000004 + mov r1, #2 + bl _ZN14OverlayManager15LoadIfNotLoadedEjj + add r0, r4, #0 + bl func_ov04_02101188 + ldr r0, _0207b550 ; =gOverlayManager + ldr r2, _0207b558 ; =0x00000005 + mov r1, #2 + bl _ZN14OverlayManager15LoadIfNotLoadedEjj + pop {r4, pc} + .align 2, 0 + thumb_func_end func_ov00_0207b530 +_0207b550: .word gOverlayManager +_0207b554: .word 0x00000004 +_0207b558: .word 0x00000005 + + .global func_ov00_0207b55c + thumb_func_start func_ov00_0207b55c +func_ov00_0207b55c: ; 0x0207b55c + push {r4, lr} + add r4, r0, #0 + mov r3, #1 + add r0, #0x34 + strb r3, [r0] + ldr r0, [r1] + str r0, [r4, #4] + ldr r0, [r1, #4] + str r0, [r4, #8] + ldr r0, [r1, #8] + str r0, [r4, #0xc] + ldr r0, [r1, #0xc] + str r0, [r4, #0x10] + mov r0, #0x10 + ldrsh r0, [r1, r0] + cmp r2, #0 + strh r0, [r4, #0x14] + ldrb r0, [r1, #0x12] + strb r0, [r4, #0x16] + ldrb r0, [r1, #0x13] + strb r0, [r4, #0x17] + ldrb r0, [r1, #0x14] + strb r0, [r4, #0x18] + ldrb r0, [r1, #0x15] + strb r0, [r4, #0x19] + beq _0207b59a + add r4, #0xac + ldr r0, [r4] + bl func_ov04_02100eb0 + pop {r4, pc} +_0207b59a: + add r0, r4, #0 + add r0, #0xac + ldr r0, [r0] + add r2, r0, #0 + add r2, #0x28 + ldrb r2, [r2] + cmp r2, #0 + beq _0207b5b6 + blx func_ov40_02183dac + add r0, r4, #0 + bl func_ov00_0207b530 + pop {r4, pc} +_0207b5b6: + blx func_ov05_02100e0c + pop {r4, pc} + thumb_func_end func_ov00_0207b55c + + .global func_ov00_0207b5bc + thumb_func_start func_ov00_0207b5bc +func_ov00_0207b5bc: ; 0x0207b5bc + push {r4, r5, r6, lr} + sub sp, #0x20 + add r4, r1, #0 + add r5, r0, #0 + ldr r0, [r4] + str r0, [sp, #8] + ldr r0, [r4, #4] + str r0, [sp, #0xc] + ldr r1, [r4, #8] + str r1, [sp, #0x10] + ldr r1, [r4, #0xc] + str r1, [sp, #0x14] + mov r1, #0x10 + ldrsh r3, [r4, r1] + add r1, sp, #0 + cmp r0, #1 + strh r3, [r1, #0x18] + ldrb r3, [r4, #0x12] + strb r3, [r1, #0x1a] + ldrb r3, [r4, #0x13] + strb r3, [r1, #0x1b] + ldrb r3, [r4, #0x14] + strb r3, [r1, #0x1c] + ldrb r3, [r4, #0x15] + strb r3, [r1, #0x1d] + beq _0207b5fa + cmp r0, #0xe + beq _0207b62c + cmp r0, #0xf + beq _0207b66a + b _0207b688 +_0207b5fa: + cmp r2, #0 + beq _0207b6cc + ldr r1, _0207b800 ; =data_027e0fe4 + ldr r2, _0207b804 ; =0x414e4353 + ldr r1, [r1] + add r0, sp, #0 + blx _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j + mov r0, #0 + ldr r1, [sp] + mvn r0, r0 + cmp r1, r0 + beq _0207b6cc + ldr r0, _0207b800 ; =data_027e0fe4 + add r1, sp, #0 + ldr r0, [r0] + blx _ZN12ActorManager8GetActorEP8ActorRef + cmp r0, #0 + beq _0207b6cc + add r1, sp, #8 + blx func_ov18_0215df1c + add sp, #0x20 + pop {r4, r5, r6, pc} +_0207b62c: + ldr r0, [r5] + blx func_ov00_020a5e9c + str r0, [r5, #0x44] + ldr r0, _0207b808 ; =gMapManager + ldr r0, [r0] + blx _ZN10MapManager18func_ov00_02082d08Ev + add r1, r5, #0 + add r1, #0x56 + strb r0, [r1] + ldr r0, _0207b80c ; =data_027e0f94 + ldr r1, [r0] + str r1, [r5, #0x5c] + ldr r1, [r0, #4] + str r1, [r5, #0x60] + ldr r0, [r0, #8] + ldr r1, _0207b810 ; =data_027e0fac + str r0, [r5, #0x64] + mov r0, #0 + ldrsh r1, [r1, r0] + add r0, r5, #0 + add r0, #0x68 + strh r1, [r0] + add r0, r5, #0 + mov r1, #0xfa + add r0, #0x6a + strb r1, [r0] + mov r0, #0xfc + str r0, [r5, #0x6c] + b _0207b6cc +_0207b66a: + add r0, r5, #0 + add r0, #0x44 + blx func_ov00_020a5e9c + str r0, [sp, #8] + add r0, r5, #0 + add r0, #0x56 + ldrb r1, [r0] + add r0, sp, #0 + strb r1, [r0, #0x1a] + mov r1, #0xfa + strb r1, [r0, #0x1b] + mov r0, #0xf + str r0, [sp, #0xc] + b _0207b6cc +_0207b688: + ldr r0, [r5] + blx func_ov00_020a5e9c + cmp r0, #0x26 + bne _0207b6cc + ldr r0, _0207b814 ; =data_027e0f7c + ldr r6, [r0] + add r0, r4, #0 + blx func_ov00_020a5e9c + add r1, r0, #0 + add r0, r6, #0 + blx func_ov00_0209d738 + cmp r0, #3 + bne _0207b6cc + ldr r0, _0207b818 ; =gItemManager + mov r1, #0x20 + ldr r0, [r0] + blx _ZNK11ItemManager7HasItemEi + cmp r0, #0 + beq _0207b6cc + ldrb r0, [r4, #0x12] + cmp r0, #0 + beq _0207b6c0 + cmp r0, #9 + bne _0207b6cc +_0207b6c0: + ldr r0, _0207b81c ; =data_ov09_0211f5dc + add r1, r4, #0 + bl func_ov26_02173b7c + add sp, #0x20 + pop {r4, r5, r6, pc} +_0207b6cc: + add r0, r4, #0 + blx func_ov00_020a5e9c + cmp r0, #0 + bne _0207b740 + ldr r0, _0207b814 ; =data_027e0f7c + ldr r6, [r0] + ldr r0, [r5] + blx func_ov00_020a5e9c + add r1, r0, #0 + add r0, r6, #0 + blx func_ov00_0209d738 + cmp r0, #0 + bne _0207b740 + ldr r0, _0207b814 ; =data_027e0f7c + ldr r6, [r0] + ldr r0, [r5] + blx func_ov00_020a5e9c + add r1, r0, #0 + add r0, r6, #0 + blx func_ov00_0209d778 + mov r1, #1 + mvn r1, r1 + cmp r0, r1 + beq _0207b740 + ldr r0, [r4] + str r0, [r5, #0x70] + ldr r0, [r4, #4] + str r0, [r5, #0x74] + ldr r0, [r4, #8] + str r0, [r5, #0x78] + ldr r0, [r4, #0xc] + str r0, [r5, #0x7c] + mov r0, #0x10 + ldrsh r1, [r4, r0] + add r0, r5, #0 + add r0, #0x80 + strh r1, [r0] + add r0, r5, #0 + ldrb r1, [r4, #0x12] + add r0, #0x82 + strb r1, [r0] + add r0, r5, #0 + ldrb r1, [r4, #0x13] + add r0, #0x83 + strb r1, [r0] + add r0, r5, #0 + ldrb r1, [r4, #0x14] + add r0, #0x84 + strb r1, [r0] + add r0, r5, #0 + ldrb r1, [r4, #0x15] + add r0, #0x85 + strb r1, [r0] +_0207b740: + add r0, r4, #0 + blx func_ov00_020a5e9c + add r6, r0, #0 + ldr r0, [r5] + blx func_ov00_020a5e9c + cmp r6, r0 + bne _0207b7f0 + ldr r0, _0207b814 ; =data_027e0f7c + ldr r6, [r0] + ldr r0, [r5] + blx func_ov00_020a5e9c + add r1, r0, #0 + add r0, r6, #0 + blx func_ov00_0209d738 + cmp r0, #0 + bne _0207b7f0 + ldr r0, [r5] + ldr r0, [r0, #8] + cmp r0, #1 + beq _0207b7f0 + ldr r0, _0207b808 ; =gMapManager + ldr r0, [r0] + blx _ZN10MapManager18func_ov00_02083328Ev + cmp r0, #0 + beq _0207b7f0 + ldr r0, _0207b808 ; =gMapManager + ldrb r1, [r4, #0x12] + ldr r0, [r0] + blx _ZN10MapManager18func_ov00_02083318Ei + cmp r0, #0 + bne _0207b7f0 + ldr r0, [r5] + add r1, r5, #0 + ldr r2, [r0] + add r1, #0x88 + str r2, [r1] + add r1, r5, #0 + ldr r2, [r0, #4] + add r1, #0x8c + str r2, [r1] + add r1, r5, #0 + ldr r2, [r0, #8] + add r1, #0x90 + str r2, [r1] + add r1, r5, #0 + ldr r2, [r0, #0xc] + add r1, #0x94 + str r2, [r1] + mov r1, #0x10 + ldrsh r2, [r0, r1] + add r1, r5, #0 + add r1, #0x98 + strh r2, [r1] + add r1, r5, #0 + ldrb r2, [r0, #0x12] + add r1, #0x9a + strb r2, [r1] + add r1, r5, #0 + ldrb r2, [r0, #0x13] + add r1, #0x9b + strb r2, [r1] + add r1, r5, #0 + ldrb r2, [r0, #0x14] + add r1, #0x9c + strb r2, [r1] + ldrb r1, [r0, #0x15] + add r0, r5, #0 + add r0, #0x9d + strb r1, [r0] + ldr r1, _0207b80c ; =data_027e0f94 + add r0, r5, #0 + ldr r2, [r1] + add r0, #0xa0 + str r2, [r0] + add r0, r5, #0 + ldr r2, [r1, #4] + add r0, #0xa4 + str r2, [r0] + add r0, r5, #0 + ldr r1, [r1, #8] + add r0, #0xa8 + str r1, [r0] +_0207b7f0: + add r0, r5, #0 + add r1, sp, #8 + mov r2, #0 + bl func_ov00_0207b55c + add sp, #0x20 + pop {r4, r5, r6, pc} + nop + thumb_func_end func_ov00_0207b5bc +_0207b800: .word data_027e0fe4 +_0207b804: .word 0x414e4353 +_0207b808: .word gMapManager +_0207b80c: .word data_027e0f94 +_0207b810: .word data_027e0fac +_0207b814: .word data_027e0f7c +_0207b818: .word gItemManager +_0207b81c: .word data_ov09_0211f5dc + + .global func_ov00_0207b820 + arm_func_start func_ov00_0207b820 +func_ov00_0207b820: ; 0x0207b820 + stmdb sp!, {r4, lr} + mov r4, r0 + ldrb r0, [r4, #0x34] + cmp r0, #0 + ldmeqia sp!, {r4, pc} + cmp r1, #0 + ldmneia sp!, {r4, pc} + ldr r0, [r4, #0xac] + bl func_ov05_021010b0 + cmp r0, #0 + ldr r0, [r4, #0xac] + beq _0207b87c + ldrb r1, [r0, #0x29] + cmp r1, #0 + beq _0207b864 + blx func_ov00_0207c074 + ldmia sp!, {r4, pc} +_0207b864: + ldrb r0, [r0, #0x28] + cmp r0, #0 + ldmneia sp!, {r4, pc} + mov r0, r4 + blx func_ov00_0207b530 + ldmia sp!, {r4, pc} +_0207b87c: + bl func_ov05_021010ec + cmp r0, #0 + ldmeqia sp!, {r4, pc} + ldr r0, [r4, #0xac] + bl func_ov05_02101080 + mov r0, #0 + strb r0, [r4, #0x34] + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0207b820 + + .global func_ov00_0207b89c + arm_func_start func_ov00_0207b89c +func_ov00_0207b89c: ; 0x0207b89c + stmdb sp!, {r3, r4, r5, lr} + mov r4, r0 + ldr ip, [r4, #0x180] + cmp ip, #0x20 + ldmgeia sp!, {r3, r4, r5, pc} + mov r0, #0xc + mul r0, ip, r0 + ldr ip, [sp, #0x10] + str r3, [r4, r0] + add r5, r4, r0 + ldr r0, _0207b8f8 ; =data_027e0f64 + str ip, [r5, #4] + ldr r3, [r0] + mov r0, r2 + add r1, r3, r1, lsl #2 + ldr r1, [r1, #4] + add r1, r1, #0x260 + bl func_01ff9ec0 + str r0, [r5, #8] + ldr r0, [r4, #0x180] + add r0, r0, #1 + str r0, [r4, #0x180] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_0207b89c +_0207b8f8: .word data_027e0f64 + + .global func_ov00_0207b8fc + arm_func_start func_ov00_0207b8fc +func_ov00_0207b8fc: ; 0x0207b8fc + ldr r1, [r1, #8] + ldr r0, [r0, #8] + sub r0, r1, r0 + bx lr + arm_func_end func_ov00_0207b8fc + + .global func_ov00_0207b90c + arm_func_start func_ov00_0207b90c +func_ov00_0207b90c: ; 0x0207b90c + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #4 + mov r6, r0 + ldr r1, [r6, #0x180] + cmp r1, #0 + addle sp, sp, #4 + ldmleia sp!, {r3, r4, r5, r6, pc} + cmp r1, #1 + ble _0207b944 + ldr ip, _0207b980 ; =data_020691a0 + ldr r3, _0207b984 ; =func_ov00_0207b8fc + mov r2, #0xc + str ip, [sp] + bl func_0200be04 +_0207b944: + ldr r0, [r6, #0x180] + mov r4, r6 + cmp r0, #0 + mov r5, #0 + addle sp, sp, #4 + ldmleia sp!, {r3, r4, r5, r6, pc} +_0207b95c: + ldr r0, [r4, #4] + ldr r1, [r4], #0xc + blx r1 + ldr r0, [r6, #0x180] + add r5, r5, #1 + cmp r5, r0 + blt _0207b95c + add sp, sp, #4 + ldmia sp!, {r3, r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_0207b90c +_0207b980: .word data_020691a0 +_0207b984: .word func_ov00_0207b8fc - 1 + + .global func_ov00_0207b988 + thumb_func_start func_ov00_0207b988 +func_ov00_0207b988: ; 0x0207b988 + push {r4, lr} + add r4, r0, #0 + cmp r1, #2 + bne _0207b9ba + ldr r1, _0207b9bc ; =data_027e0ce0 + mov r0, #0x50 + ldr r1, [r1, #4] + mov r2, #4 + blx _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _0207b9a6 + add r1, r4, #0 + bl func_ov03_020f3974 +_0207b9a6: + str r0, [r4, #0x24] + ldr r0, _0207b9c0 ; =data_027e0618 + ldr r0, [r0, #4] + cmp r0, #3 + bne _0207b9ba + ldr r0, _0207b9c4 ; =data_027e0d54 + mov r1, #1 + mov r2, #0 + bl func_ov09_02114810 +_0207b9ba: + pop {r4, pc} + .align 2, 0 + thumb_func_end func_ov00_0207b988 +_0207b9bc: .word data_027e0ce0 +_0207b9c0: .word data_027e0618 +_0207b9c4: .word data_027e0d54 + + .global func_ov00_0207b9c8 + thumb_func_start func_ov00_0207b9c8 +func_ov00_0207b9c8: ; 0x0207b9c8 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x24] + cmp r0, #0 + beq _0207b9da + blx _ZN9SysObjectdlEPv + mov r0, #0 + str r0, [r4, #0x24] +_0207b9da: + pop {r4, pc} + thumb_func_end func_ov00_0207b9c8 + + .global func_ov00_0207b9dc + arm_func_start func_ov00_0207b9dc +func_ov00_0207b9dc: ; 0x0207b9dc + stmdb sp!, {r4, r5, r6, lr} + ldr r1, _0207ba8c ; =0x027ffc3c + mov r6, r0 + ldr r5, [r1] + ldr r0, [r6, #0x20] + ldr r1, [r6, #0x1c] + sub r0, r5, r0 + add r0, r1, r0 + str r0, [r6, #0x1c] + cmp r0, #0x3c + blo _0207ba84 + mov r4, #0 +_0207ba0c: + ldr r0, [r6, #0x1c] + sub r0, r0, #0x3c + str r0, [r6, #0x1c] + ldr r0, [r6, #0x18] + add r0, r0, #1 + str r0, [r6, #0x18] + cmp r0, #0x3c + blo _0207ba78 + str r4, [r6, #0x18] + ldr r0, [r6, #0x14] + add r0, r0, #1 + str r0, [r6, #0x14] + cmp r0, #0x3c + blo _0207ba78 + str r4, [r6, #0x14] + ldr r0, [r6, #0x10] + add r0, r0, #1 + str r0, [r6, #0x10] + cmp r0, #0x18 + blo _0207ba78 + mov r0, r6 + str r4, [r6, #0x10] + blx func_02042b40 + mov r1, r0 + mov r0, r6 + add r1, r1, #1 + blx func_02042bfc +_0207ba78: + ldr r0, [r6, #0x1c] + cmp r0, #0x3c + bhs _0207ba0c +_0207ba84: + str r5, [r6, #0x20] + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_0207b9dc +_0207ba8c: .word 0x027ffc3c + + .global func_ov00_0207ba90 + thumb_func_start func_ov00_0207ba90 +func_ov00_0207ba90: ; 0x0207ba90 + ldr r0, [r0, #0x24] + bx lr + thumb_func_end func_ov00_0207ba90 + + .global func_ov00_0207ba94 + thumb_func_start func_ov00_0207ba94 +func_ov00_0207ba94: ; 0x0207ba94 + push {r3, lr} + add r2, r0, #0 + ldr r0, _0207baac ; =gOverlayManager + ldr r3, [r0, #4] + ldr r0, _0207bab0 ; =0x00000003 + cmp r3, r0 + bne _0207baa8 + ldr r0, [r2, #0x24] + bl func_ov03_020f3c28 +_0207baa8: + pop {r3, pc} + nop + thumb_func_end func_ov00_0207ba94 +_0207baac: .word gOverlayManager +_0207bab0: .word 0x00000003 + + .global func_ov00_0207bab4 + arm_func_start func_ov00_0207bab4 +func_ov00_0207bab4: ; 0x0207bab4 + stmdb sp!, {r4, lr} + mov r4, r0 + add r0, r4, #0x11c + ldr r3, _0207bb04 ; =func_ov00_0207bb18 + add r0, r0, #0xc00 + mov r1, #8 + mov r2, #0x30 + bl func_0204f754 + ldr r3, _0207bb08 ; =func_ov00_0207bb14 + add r0, r4, #0x2f8 + mov r1, #0xcf + mov r2, #0xc + bl func_0204f754 + ldr r3, _0207bb0c ; =func_ov00_0207bb10 + add r0, r4, #0xf8 + mov r1, #0x40 + mov r2, #8 + bl func_0204f754 + mov r0, r4 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_0207bab4 +_0207bb04: .word func_ov00_0207bb18 - 1 +_0207bb08: .word func_ov00_0207bb14 - 1 +_0207bb0c: .word func_ov00_0207bb10 - 1 + + .global func_ov00_0207bb10 + arm_func_start func_ov00_0207bb10 +func_ov00_0207bb10: ; 0x0207bb10 + bx lr + arm_func_end func_ov00_0207bb10 + + .global func_ov00_0207bb14 + arm_func_start func_ov00_0207bb14 +func_ov00_0207bb14: ; 0x0207bb14 + bx lr + arm_func_end func_ov00_0207bb14 + + .global func_ov00_0207bb18 + arm_func_start func_ov00_0207bb18 +func_ov00_0207bb18: ; 0x0207bb18 + bx lr + arm_func_end func_ov00_0207bb18 + + .global func_ov00_0207bb1c + arm_func_start func_ov00_0207bb1c +func_ov00_0207bb1c: ; 0x0207bb1c + stmdb sp!, {r3, lr} + add lr, r0, r1, lsl #2 + ldr ip, _0207bb48 ; =data_ov00_020d8798 + str r2, [lr, #4] + str r3, [lr, #0x24] + ldrb r1, [ip, r1] + ldr r3, [r0] + mov r2, #1 + orr r1, r3, r2, lsl r1 + str r1, [r0] + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_0207bb1c +_0207bb48: .word data_ov00_020d8798 + + .global func_ov00_0207bb4c + arm_func_start func_ov00_0207bb4c +func_ov00_0207bb4c: ; 0x0207bb4c + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + mov r10, r0 + ldr r0, [r10] + cmp r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + bl func_01ffa8d4 + ldr r5, _0207bc30 ; =0x04000440 + mov r7, #3 + str r7, [r5] + mov r0, #0 + ldr r8, _0207bc34 ; =data_ov00_020d8860 + str r0, [r5, #0x14] + mov r11, r0 + mov r4, #1 +_0207bb84: + ldr r0, [r10] + tst r0, r4, lsl r7 + beq _0207bc20 + mov r0, r8 + str r11, [r5] + bl func_02005628 + ldr r1, _0207bc38 ; =data_027e0384 + mov r0, r8 + mov r2, #0x40 + bl func_02007984 + ldr r1, _0207bc3c ; =data_027e037c + ldr r0, _0207bc40 ; =data_027e03c8 + ldr r2, [r1, #0xfc] + bic r2, r2, #0x50 + str r2, [r1, #0xfc] + mov r1, #2 + str r1, [r5] + mov r1, #0 + str r1, [r5, #0x14] + bl func_01ff892c + ldr r0, _0207bc3c ; =data_027e037c + ldr r9, _0207bc44 ; =data_ov00_020d8798 + ldr r1, [r0, #0xfc] + mov r6, #0 + bic r1, r1, #0xe8 + str r1, [r0, #0xfc] +_0207bbec: + ldrb r0, [r9] + cmp r0, r7 + bne _0207bc10 + add r0, r10, r6, lsl #2 + ldr r1, [r0, #4] + cmp r1, #0 + beq _0207bc10 + ldr r0, [r0, #0x24] + blx r1 +_0207bc10: + add r9, r9, #1 + add r6, r6, #1 + cmp r6, #8 + blt _0207bbec +_0207bc20: + sub r8, r8, #0x40 + subs r7, r7, #1 + bpl _0207bb84 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_0207bb4c +_0207bc30: .word 0x04000440 +_0207bc34: .word data_ov00_020d8860 +_0207bc38: .word data_027e0384 +_0207bc3c: .word data_027e037c +_0207bc40: .word data_027e03c8 +_0207bc44: .word data_ov00_020d8798 + + .global func_ov00_0207bc48 + arm_func_start func_ov00_0207bc48 +func_ov00_0207bc48: ; 0x0207bc48 + ldr r1, [r0] + mov r0, #0 + cmp r1, #0 + ldrne r2, [r1, #0x40] + subne r1, r0, #1 + cmpne r2, r1 + movne r0, #1 + bx lr + arm_func_end func_ov00_0207bc48 + + .global func_ov00_0207bc68 + arm_func_start func_ov00_0207bc68 +func_ov00_0207bc68: ; 0x0207bc68 + ldr r0, [r0] + cmp r0, #0 + ldrne r0, [r0, #0x40] + mvneq r0, #0 + bx lr + arm_func_end func_ov00_0207bc68 + + .global func_ov00_0207bc7c + thumb_func_start func_ov00_0207bc7c +func_ov00_0207bc7c: ; 0x0207bc7c + push {r3, r4, r5, lr} + add r4, r0, #0 + ldr r5, [r4] + cmp r5, #0 + beq _0207bc98 + beq _0207bc94 + add r0, r5, #0 + blx func_ov18_0215cb28 + add r0, r5, #0 + blx _ZN9SysObjectdlEPv +_0207bc94: + mov r0, #0 + str r0, [r4] +_0207bc98: + pop {r3, r4, r5, pc} + .align 2, 0 + thumb_func_end func_ov00_0207bc7c + + .global func_ov00_0207bc9c + arm_func_start func_ov00_0207bc9c +func_ov00_0207bc9c: ; 0x0207bc9c + stmdb sp!, {r3, lr} + ldr r0, [r0] + cmp r0, #0 + ldmeqia sp!, {r3, pc} + bl func_ov17_0215cef4 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207bc9c + + .global func_ov00_0207bcb4 + thumb_func_start func_ov00_0207bcb4 +func_ov00_0207bcb4: ; 0x0207bcb4 + mov r1, #0 + mvn r1, r1 + str r1, [r0] + str r1, [r0, #4] + mov r2, #0 + str r2, [r0, #8] + str r2, [r0, #0xc] + str r2, [r0, #0x10] + strh r2, [r0, #0x14] + mov r1, #2 + strb r2, [r0, #0x16] + lsl r1, r1, #0x12 + str r1, [r0, #0x20] + str r1, [r0, #0x18] + mov r1, #6 + lsl r1, r1, #0x10 + str r1, [r0, #0x24] + str r1, [r0, #0x1c] + str r2, [r0, #0x28] + bx lr + thumb_func_end func_ov00_0207bcb4 + + .global func_ov00_0207bcdc + thumb_func_start func_ov00_0207bcdc +func_ov00_0207bcdc: ; 0x0207bcdc + push {r4, r5, r6, lr} + add r4, r0, #0 + add r5, r1, #0 + add r6, r2, #0 + mov r1, #0 + ldr r2, [r4, #4] + mvn r1, r1 + cmp r2, r1 + beq _0207bcf2 + mov r0, #0 + pop {r4, r5, r6, pc} +_0207bcf2: + str r5, [r4, #4] + str r6, [r4, #8] + str r3, [r4, #0xc] + mov r1, #0 + strb r1, [r4, #0x16] + bl func_ov00_0207bdd4 + cmp r5, #3 + bhi _0207bd44 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0207bd10: ; jump table + .short _0207bd18 - _0207bd10 - 2 ; case 0 + .short _0207bd18 - _0207bd10 - 2 ; case 1 + .short _0207bd2c - _0207bd10 - 2 ; case 2 + .short _0207bd2c - _0207bd10 - 2 ; case 3 +_0207bd18: + cmp r5, #1 + bne _0207bd20 + mov r1, #1 + b _0207bd22 +_0207bd20: + mov r1, #0 +_0207bd22: + ldr r0, _0207bd48 ; =data_027e0db0 + bl func_ov00_0207b2c4 + strh r0, [r4, #0x14] + b _0207bd44 +_0207bd2c: + mov r0, #0xa0 + str r0, [r4, #0x28] + cmp r5, #2 + bne _0207bd38 + mov r2, #1 + b _0207bd3a +_0207bd38: + mov r2, #0 +_0207bd3a: + add r4, #0x18 + add r0, r4, #0 + mov r1, #0 + bl func_ov00_0207c8e4 +_0207bd44: + mov r0, #1 + pop {r4, r5, r6, pc} + .align 2, 0 + thumb_func_end func_ov00_0207bcdc +_0207bd48: .word data_027e0db0 + + .global func_ov00_0207bd4c + thumb_func_start func_ov00_0207bd4c +func_ov00_0207bd4c: ; 0x0207bd4c + push {r3, r4, r5, r6, r7, lr} + add r7, r2, #0 + add r2, r3, #0 + ldr r3, [sp, #0x18] + add r5, r0, #0 + add r4, r1, #0 + bl func_ov00_0207bcdc + add r6, r0, #0 + beq _0207bd92 + mov r0, #0 + cmp r4, #3 + bhi _0207bd8a + add r1, r4, r4 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0207bd72: ; jump table + .short _0207bd7a - _0207bd72 - 2 ; case 0 + .short _0207bd7a - _0207bd72 - 2 ; case 1 + .short _0207bd84 - _0207bd72 - 2 ; case 2 + .short _0207bd88 - _0207bd72 - 2 ; case 3 +_0207bd7a: + ldr r0, _0207bd98 ; =data_027e0db0 + ldr r1, [r0, #8] + ldr r0, [r0, #4] + sub r0, r1, r0 + b _0207bd8a +_0207bd84: + mov r0, #0xa0 + b _0207bd8a +_0207bd88: + mov r0, #0x60 +_0207bd8a: + add r1, r7, #0 + blx func_01ff9b4c + str r0, [r5, #0x10] +_0207bd92: + add r0, r6, #0 + pop {r3, r4, r5, r6, r7, pc} + nop + thumb_func_end func_ov00_0207bd4c +_0207bd98: .word data_027e0db0 + + .global func_ov00_0207bd9c + thumb_func_start func_ov00_0207bd9c +func_ov00_0207bd9c: ; 0x0207bd9c + push {r3, r4, r5, lr} + add r4, r0, #0 + add r5, r1, #0 + bl func_ov00_0207bcdc + cmp r0, #0 + beq _0207bdd2 + cmp r5, #3 + bhi _0207bdd2 + add r1, r5, r5 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0207bdba: ; jump table + .short _0207bdc2 - _0207bdba - 2 ; case 0 + .short _0207bdc2 - _0207bdba - 2 ; case 1 + .short _0207bdc8 - _0207bdba - 2 ; case 2 + .short _0207bdce - _0207bdba - 2 ; case 3 +_0207bdc2: + mov r1, #0xa + str r1, [r4, #0x10] + pop {r3, r4, r5, pc} +_0207bdc8: + mov r1, #0xa + str r1, [r4, #0x10] + pop {r3, r4, r5, pc} +_0207bdce: + mov r1, #0xa + str r1, [r4, #0x10] +_0207bdd2: + pop {r3, r4, r5, pc} + thumb_func_end func_ov00_0207bd9c + + .global func_ov00_0207bdd4 + thumb_func_start func_ov00_0207bdd4 +func_ov00_0207bdd4: ; 0x0207bdd4 + push {r3, lr} + add r2, r1, #1 + cmp r2, #3 + bhi _0207bdf6 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0207bde8: ; jump table + .short _0207bdf0 - _0207bde8 - 2 ; case 0 + .short _0207bdf6 - _0207bde8 - 2 ; case 1 + .short _0207bdf6 - _0207bde8 - 2 ; case 2 + .short _0207bdf6 - _0207bde8 - 2 ; case 3 +_0207bdf0: + bl func_ov00_0207bcb4 + pop {r3, pc} +_0207bdf6: + str r1, [r0] + pop {r3, pc} + .align 2, 0 + thumb_func_end func_ov00_0207bdd4 + + .global func_ov00_0207bdfc + thumb_func_start func_ov00_0207bdfc +func_ov00_0207bdfc: ; 0x0207bdfc + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4] + cmp r0, #0 + beq _0207be10 + cmp r0, #1 + beq _0207be28 + cmp r0, #2 + beq _0207be5a + pop {r4, pc} +_0207be10: + add r0, r4, #0 + ldr r2, [r4, #0x10] + add r0, #0x18 + blx func_ov00_0207c91c + cmp r0, #0 + beq _0207be80 + add r0, r4, #0 + mov r1, #1 + bl func_ov00_0207bdd4 + pop {r4, pc} +_0207be28: + ldr r2, [r4, #8] + cmp r2, #0 + beq _0207be34 + ldr r1, [r4, #0xc] + mov r0, #0 + blx r2 +_0207be34: + ldr r0, [r4] + cmp r0, #1 + bne _0207be80 + ldr r0, [r4, #4] + cmp r0, #2 + bne _0207be44 + mov r2, #1 + b _0207be46 +_0207be44: + mov r2, #0 +_0207be46: + add r0, r4, #0 + add r0, #0x18 + mov r1, #1 + bl func_ov00_0207c8e4 + add r0, r4, #0 + mov r1, #2 + bl func_ov00_0207bdd4 + pop {r4, pc} +_0207be5a: + add r0, r4, #0 + ldr r2, [r4, #0x10] + add r0, #0x18 + mov r1, #0xa0 + blx func_ov00_0207c91c + cmp r0, #0 + beq _0207be80 + ldr r2, [r4, #8] + cmp r2, #0 + beq _0207be76 + ldr r1, [r4, #0xc] + mov r0, #1 + blx r2 +_0207be76: + mov r1, #0 + add r0, r4, #0 + mvn r1, r1 + bl func_ov00_0207bdd4 +_0207be80: + pop {r4, pc} + .align 2, 0 + thumb_func_end func_ov00_0207bdfc + + .global func_ov00_0207be84 + arm_func_start func_ov00_0207be84 +func_ov00_0207be84: ; 0x0207be84 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + cmp r1, #0 + ldreqb r1, [r5, #0x16] + cmpeq r1, #0 + ldmneia sp!, {r3, r4, r5, pc} + ldr r2, [r5, #4] + mvn r1, #0 + cmp r2, r1 + ldmeqia sp!, {r3, r4, r5, pc} + ldr r1, [r5, #4] + cmp r1, #3 + addls pc, pc, r1, lsl #2 + ldmia sp!, {r3, r4, r5, pc} +_0207bebc: ; jump table + b _0207becc ; case 0 + b _0207becc ; case 1 + b _0207bfa4 ; case 2 + b _0207bfb0 ; case 3 +_0207becc: + ldr r1, [r5] + ldr r2, _0207bfbc ; =data_027e0db4 + cmp r1, #0 + ldr r4, _0207bfc0 ; =data_027e0db8 + beq _0207bef4 + cmp r1, #1 + beq _0207bf20 + cmp r1, #2 + beq _0207bf5c + ldmia sp!, {r3, r4, r5, pc} +_0207bef4: + ldr ip, [r2] + ldr r1, [r5, #0x10] + ldr r3, [r4] + add r1, ip, r1 + str r1, [r2] + cmp r1, r3 + ldmltia sp!, {r3, r4, r5, pc} + mov r1, #1 + str r3, [r2] + blx func_ov00_0207bdd4 + ldmia sp!, {r3, r4, r5, pc} +_0207bf20: + ldr r2, [r5, #8] + cmp r2, #0 + beq _0207bf38 + ldr r1, [r5, #0xc] + mov r0, #0 + blx r2 +_0207bf38: + ldr r0, [r5] + cmp r0, #1 + ldmneia sp!, {r3, r4, r5, pc} + ldrsh r2, [r5, #0x14] + mov r0, r5 + mov r1, #2 + str r2, [r4] + blx func_ov00_0207bdd4 + ldmia sp!, {r3, r4, r5, pc} +_0207bf5c: + ldr r3, [r2] + ldr r1, [r5, #0x10] + ldr r0, [r4] + sub r1, r3, r1 + str r1, [r2] + cmp r1, r0 + ldmgtia sp!, {r3, r4, r5, pc} + str r0, [r2] + ldr r2, [r5, #8] + cmp r2, #0 + beq _0207bf94 + ldr r1, [r5, #0xc] + mov r0, #1 + blx r2 +_0207bf94: + mov r0, r5 + mvn r1, #0 + blx func_ov00_0207bdd4 + ldmia sp!, {r3, r4, r5, pc} +_0207bfa4: + mov r1, #0 + blx func_ov00_0207bdfc + ldmia sp!, {r3, r4, r5, pc} +_0207bfb0: + mov r1, #0x40 + blx func_ov00_0207bdfc + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_0207be84 +_0207bfbc: .word data_027e0db4 +_0207bfc0: .word data_027e0db8 + + .global func_ov00_0207bfc4 + thumb_func_start func_ov00_0207bfc4 +func_ov00_0207bfc4: ; 0x0207bfc4 + push {r4, lr} + add r4, r0, #0 + bl func_0202ab78 + add r0, r4, #0 + mov r1, #1 + add r0, #0x24 + strb r1, [r0] + add r0, r4, #0 + mov r1, #0 + add r0, #0x25 + strb r1, [r0] + add r0, r4, #0 + add r0, #0x26 + strb r1, [r0] + add r0, r4, #0 + add r0, #0x27 + strb r1, [r0] + add r0, r4, #0 + add r0, #0x28 + strb r1, [r0] + add r0, r4, #0 + add r0, #0x29 + strb r1, [r0] + mov r0, #0x14 + strh r0, [r4, #0x2a] + mov r0, #0x28 + strh r0, [r4, #0x2c] + pop {r4, pc} + .align 2, 0 + thumb_func_end func_ov00_0207bfc4 + + .global func_ov00_0207c000 + thumb_func_start func_ov00_0207c000 +func_ov00_0207c000: ; 0x0207c000 + push {r3, lr} + add r1, r0, #0 + add r1, #0x25 + ldrb r1, [r1] + cmp r1, #0 + beq _0207c02a + add r1, r0, #0 + mov r2, #1 + add r1, #0x24 + strb r2, [r1] + add r1, r0, #0 + mov r2, #0 + add r1, #0x25 + strb r2, [r1] + mov r1, #0x14 + strh r1, [r0, #0x2a] + mov r1, #0x28 + strh r1, [r0, #0x2c] + ldr r0, _0207c02c ; =data_027e0e2c + bl func_ov00_0207bcb4 +_0207c02a: + pop {r3, pc} + .align 2, 0 + thumb_func_end func_ov00_0207c000 +_0207c02c: .word data_027e0e2c + + .global func_ov00_0207c030 + thumb_func_start func_ov00_0207c030 +func_ov00_0207c030: ; 0x0207c030 + add r2, r0, #0 + add r2, #0x25 + ldrb r2, [r2] + mov r1, #0 + cmp r2, #0 + beq _0207c04e + ldr r0, _0207c06c ; =data_027e077c + ldr r1, [r0] + ldr r0, _0207c070 ; =data_02056be4 + ldrb r0, [r0, r1] + mov r1, #1 + tst r0, r1 + beq _0207c066 + mov r1, #2 + b _0207c066 +_0207c04e: + add r0, #0x26 + ldrb r0, [r0] + cmp r0, #0 + beq _0207c066 + ldr r0, _0207c06c ; =data_027e077c + ldr r1, [r0] + ldr r0, _0207c070 ; =data_02056be4 + ldrb r0, [r0, r1] + mov r1, #1 + tst r0, r1 + bne _0207c066 + mov r1, #2 +_0207c066: + add r0, r1, #0 + bx lr + nop + thumb_func_end func_ov00_0207c030 +_0207c06c: .word data_027e077c +_0207c070: .word data_02056be4 + + .global func_ov00_0207c074 + thumb_func_start func_ov00_0207c074 +func_ov00_0207c074: ; 0x0207c074 + push {r4, lr} + add r4, r0, #0 + add r1, r4, #0 + mov r2, #0 + add r1, #0x29 + strb r2, [r1] + add r1, r4, #0 + add r1, #0x24 + ldrb r1, [r1] + cmp r1, #0 + beq _0207c0a4 + bl func_ov00_0207c030 + add r2, r0, #0 + ldrh r1, [r4, #0x2a] + add r0, r4, #0 + bl func_0202abdc + cmp r0, #0 + beq _0207c0a4 + ldr r0, _0207c0a8 ; =data_027e071c + add r1, r4, #0 + blx func_0202d77c +_0207c0a4: + pop {r4, pc} + nop + thumb_func_end func_ov00_0207c074 +_0207c0a8: .word data_027e071c + + .global func_ov00_0207c0ac + thumb_func_start func_ov00_0207c0ac +func_ov00_0207c0ac: ; 0x0207c0ac + push {r4, lr} + mov r3, #0 + mvn r3, r3 + cmp r1, r3 + beq _0207c0c6 + ldr r3, _0207c0c8 ; =data_027e0cbc + ldr r4, [r3, #0x1c] + str r4, [r0] + cmp r4, r1 + beq _0207c0c6 + add r0, r3, #0 + blx func_ov03_020fa874 +_0207c0c6: + pop {r4, pc} + .align 2, 0 + thumb_func_end func_ov00_0207c0ac +_0207c0c8: .word data_027e0cbc + + .global func_ov00_0207c0cc + thumb_func_start func_ov00_0207c0cc +func_ov00_0207c0cc: ; 0x0207c0cc + push {r4, lr} + add r4, r0, #0 + add r2, r1, #0 + mov r0, #0 + ldr r1, [r4] + mvn r0, r0 + cmp r1, r0 + beq _0207c0e8 + ldr r0, _0207c0ec ; =data_027e0cbc + blx func_ov03_020fa874 + mov r0, #0 + mvn r0, r0 + str r0, [r4] +_0207c0e8: + pop {r4, pc} + nop + thumb_func_end func_ov00_0207c0cc +_0207c0ec: .word data_027e0cbc + + .global func_ov00_0207c0f0 + thumb_func_start func_ov00_0207c0f0 +func_ov00_0207c0f0: ; 0x0207c0f0 + push {r3, lr} + add r3, r0, #0 + mov r2, #0 + add r0, #0x3c + strb r2, [r0] + cmp r1, #2 + beq _0207c106 + cmp r1, #6 + beq _0207c106 + cmp r1, #7 + bne _0207c110 +_0207c106: + ldr r0, _0207c114 ; =data_ov00_020ec718 + add r1, r3, #0 + mov r2, #0x3c + blx func_020078d8 +_0207c110: + pop {r3, pc} + nop + thumb_func_end func_ov00_0207c0f0 +_0207c114: .word data_ov00_020ec718 + + .global func_ov00_0207c118 + thumb_func_start func_ov00_0207c118 +func_ov00_0207c118: ; 0x0207c118 + push {r4, r5, lr} + sub sp, #0x114 + add r4, r1, #0 + add r5, r0, #0 + add r1, sp, #0x14 + mov r2, #0x80 + blx func_02007ad8 + add r0, r5, #0 + add r1, sp, #0x94 + mov r2, #0x80 + blx func_02007ad8 + mov r3, #0 + str r3, [sp] + ldr r1, _0207c168 ; =0x0003f500 + add r5, r4, #0 + mul r5, r1 + ldr r1, _0207c16c ; =0x0003f200 + str r3, [sp, #4] + mov r0, #7 + str r0, [sp, #8] + mov r0, #0xa + str r0, [sp, #0xc] + mov r2, #2 + str r2, [sp, #0x10] + add r0, sp, #0x14 + add r1, r5, r1 + add r2, #0xfe + bl func_02040464 + cmp r0, #0 + beq _0207c160 + add sp, #0x114 + mov r0, #1 + pop {r4, r5, pc} +_0207c160: + mov r0, #0 + add sp, #0x114 + pop {r4, r5, pc} + nop + thumb_func_end func_ov00_0207c118 +_0207c168: .word 0x0003f500 +_0207c16c: .word 0x0003f200 + + .global func_ov00_0207c170 + thumb_func_start func_ov00_0207c170 +func_ov00_0207c170: ; 0x0207c170 + push {r3, r4, r5, r6, r7, lr} + mov r4, #0 + add r5, r0, #0 + add r6, r4, #0 + mov r7, #0x14 +_0207c17a: + add r0, r6, #0 + add r1, r5, #0 + add r2, r7, #0 + blx func_020078c0 + add r4, r4, #1 + add r5, #0x14 + cmp r4, #3 + blt _0207c17a + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 + thumb_func_end func_ov00_0207c170 + + .global func_ov00_0207c190 + thumb_func_start func_ov00_0207c190 +func_ov00_0207c190: ; 0x0207c190 + mov r2, #0 + add r3, r2, #0 +_0207c194: + ldrb r1, [r0, #0x12] + cmp r1, #0 + beq _0207c1a2 + ldrh r1, [r0] + cmp r1, #0 + bne _0207c1a2 + add r2, r2, #1 +_0207c1a2: + add r3, r3, #1 + add r0, #0x14 + cmp r3, #3 + blt _0207c194 + add r0, r2, #0 + bx lr + .align 2, 0 + thumb_func_end func_ov00_0207c190 + + .global func_ov00_0207c1b0 + arm_func_start func_ov00_0207c1b0 +func_ov00_0207c1b0: ; 0x0207c1b0 + stmdb sp!, {r4, lr} + sub sp, sp, #8 + ldr lr, [sp, #0x10] + cmp r1, #0x1000 + movge r4, #1 + movlt r4, #0 + ldr ip, [sp, #0x14] + str lr, [sp] + cmp r1, #0x1000 + orrge r3, r3, #0x8000 + cmp r1, #0x1000 + str ip, [sp, #4] + add r0, r0, r4, lsl #2 + ldr r0, [r0, #0x10] + subge r1, r1, #0x1000 + bl func_ov00_0207c694 + add sp, sp, #8 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0207c1b0 + + .global func_ov00_0207c1f8 + arm_func_start func_ov00_0207c1f8 +func_ov00_0207c1f8: ; 0x0207c1f8 + stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} + sub sp, sp, #4 + mov r6, r2 + cmp r6, #0x1000 + movge r4, #1 + mov r7, r1 + mov r8, r0 + mov r0, r7 + mov r5, r3 + movlt r4, #0 + bl func_ov00_020b7e6c + cmp r6, #0x1000 + ldrge r0, [sp, #0x20] + mov r1, r7 + orrge r0, r0, #0x8000 + ldrlt r0, [sp, #0x20] + cmp r6, #0x1000 + str r0, [sp] + add r0, r8, r4, lsl #2 + subge r6, r6, #0x1000 + ldr r0, [r0, #0x10] + mov r2, r6 + mov r3, r5 + bl func_ov00_0207c6ec + add sp, sp, #4 + ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} + arm_func_end func_ov00_0207c1f8 + + .global func_ov00_0207c260 + arm_func_start func_ov00_0207c260 +func_ov00_0207c260: ; 0x0207c260 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + ldr r6, [sp, #0x28] + ldr r5, [sp, #0x2c] + mov r9, r1 + mov r8, r2 + mov r10, r0 + mov r7, r3 + cmp r9, r8 + ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + orr r11, r5, #0x8000 +_0207c288: + ldr r0, [r7] + cmp r0, #0x1000 + movge r0, #1 + movlt r0, #0 + add r1, r10, r0, lsl #2 + mov r0, r9 + ldr r4, [r1, #0x10] + bl func_ov00_020b7e6c + ldr r2, [r7] + mov r0, r4 + cmp r2, #0x1000 + movge ip, r11 + movlt ip, r5 + cmp r2, #0x1000 + subge r2, r2, #0x1000 + mov r1, r9 + mov r3, r6 + str ip, [sp] + bl func_ov00_0207c6ec + add r9, r9, #4 + cmp r9, r8 + add r7, r7, #4 + bne _0207c288 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + arm_func_end func_ov00_0207c260 + + .global func_ov00_0207c2e8 + arm_func_start func_ov00_0207c2e8 +func_ov00_0207c2e8: ; 0x0207c2e8 + stmdb sp!, {r3, lr} + sub sp, sp, #0x10 + ldr lr, [sp, #0x18] + str r2, [sp, #8] + str r3, [sp, #0xc] + ldr ip, [sp, #0x1c] + str lr, [sp] + add r3, sp, #8 + add r2, r1, #8 + str ip, [sp, #4] + bl func_ov00_0207c260 + add sp, sp, #0x10 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207c2e8 + + .global func_ov00_0207c31c + arm_func_start func_ov00_0207c31c +func_ov00_0207c31c: ; 0x0207c31c + stmdb sp!, {lr} + sub sp, sp, #0x14 + ldr ip, [sp, #0x18] + ldr lr, [sp, #0x1c] + str r2, [sp, #8] + str r3, [sp, #0xc] + str ip, [sp, #0x10] + ldr ip, [sp, #0x20] + str lr, [sp] + add r3, sp, #8 + add r2, r1, #0xc + str ip, [sp, #4] + bl func_ov00_0207c260 + add sp, sp, #0x14 + ldmia sp!, {pc} + arm_func_end func_ov00_0207c31c + + .global func_ov00_0207c358 + arm_func_start func_ov00_0207c358 +func_ov00_0207c358: ; 0x0207c358 + stmdb sp!, {r3, lr} + sub sp, sp, #0x18 + ldr lr, [sp, #0x20] + ldr ip, [sp, #0x24] + str r2, [sp, #8] + str r3, [sp, #0xc] + str ip, [sp, #0x14] + ldr r2, [sp, #0x28] + str lr, [sp, #0x10] + str r2, [sp] + ldr ip, [sp, #0x2c] + add r3, sp, #8 + add r2, r1, #0x10 + str ip, [sp, #4] + bl func_ov00_0207c260 + add sp, sp, #0x18 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207c358 + + .global func_ov00_0207c39c + arm_func_start func_ov00_0207c39c +func_ov00_0207c39c: ; 0x0207c39c + stmdb sp!, {r3, r4, lr} + sub sp, sp, #0x1c + ldr r4, [sp, #0x28] + ldr lr, [sp, #0x2c] + ldr ip, [sp, #0x30] + str r2, [sp, #8] + str r3, [sp, #0xc] + str ip, [sp, #0x18] + ldr r2, [sp, #0x34] + str r4, [sp, #0x10] + str lr, [sp, #0x14] + str r2, [sp] + ldr ip, [sp, #0x38] + add r3, sp, #8 + add r2, r1, #0x14 + str ip, [sp, #4] + bl func_ov00_0207c260 + add sp, sp, #0x1c + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_0207c39c + + .global func_ov00_0207c3e8 + arm_func_start func_ov00_0207c3e8 +func_ov00_0207c3e8: ; 0x0207c3e8 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0x24 + ldr r6, [sp, #0x38] + ldr r5, [sp, #0x3c] + ldr r4, [sp, #0x40] + ldr lr, [sp, #0x44] + ldr ip, [sp, #0x48] + str r2, [sp, #8] + str r3, [sp, #0xc] + str ip, [sp, #0x20] + ldr r2, [sp, #0x4c] + str r6, [sp, #0x10] + str r5, [sp, #0x14] + str r4, [sp, #0x18] + str lr, [sp, #0x1c] + str r2, [sp] + ldr ip, [sp, #0x50] + add r3, sp, #8 + add r2, r1, #0x1c + str ip, [sp, #4] + bl func_ov00_0207c260 + add sp, sp, #0x24 + ldmia sp!, {r3, r4, r5, r6, pc} + arm_func_end func_ov00_0207c3e8 + + .global func_ov00_0207c444 + arm_func_start func_ov00_0207c444 +func_ov00_0207c444: ; 0x0207c444 + stmdb sp!, {r3, lr} + ldr r2, [r1] + cmp r2, #0 + ldmeqia sp!, {r3, pc} + ldr r2, [r2, #0x9c] + tst r2, #0x8000 + movne r2, #1 + moveq r2, #0 + add r0, r0, r2, lsl #2 + ldr r0, [r0, #0x10] + bl func_ov00_0207c748 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207c444 + + .global func_ov00_0207c474 + arm_func_start func_ov00_0207c474 +func_ov00_0207c474: ; 0x0207c474 + stmdb sp!, {r3, lr} + mov r3, r2 + ldr r2, [r1, #4] + ldr ip, [r1] + cmp r2, #0x1000 + movge lr, #1 + movlt lr, #0 + cmp ip, #0 + bne _0207c4c0 + ldr ip, [r1, #8] + cmp r2, #0x1000 + orrge ip, ip, #0x8000 + str ip, [sp] + add r0, r0, lr, lsl #2 + cmp r2, #0x1000 + ldr r0, [r0, #0x10] + subge r2, r2, #0x1000 + bl func_ov00_0207c6ec + ldmia sp!, {r3, pc} +_0207c4c0: + ldr r0, [r1] + cmp r0, #0 + ldmeqia sp!, {r3, pc} + ldr r1, [r0, #0x20] + ldr r2, [r3] + ldr r1, [r1] + ldr r1, [r1, #4] + add r1, r2, r1 + str r1, [r0, #0x28] + ldr r1, [r0, #0x20] + ldr r2, [r3, #4] + ldr r1, [r1] + ldr r1, [r1, #8] + add r1, r2, r1 + str r1, [r0, #0x2c] + ldr r1, [r0, #0x20] + ldr r2, [r3, #8] + ldr r1, [r1] + ldr r1, [r1, #0xc] + add r1, r2, r1 + str r1, [r0, #0x30] + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207c474 + + .global func_ov00_0207c518 + arm_func_start func_ov00_0207c518 +func_ov00_0207c518: ; 0x0207c518 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r6, r1 + mov r5, r2 + ldr r2, [r6, #4] + mov r7, r0 + cmp r2, #0x1000 + movge r4, #1 + ldr r0, [r6] + movlt r4, #0 + cmp r0, #0 + bne _0207c588 + ldr r0, [r6, #8] + cmp r2, #0x1000 + orrge r0, r0, #0x8000 + orr r0, r0, #0x4000 + str r0, [sp] + add r0, r7, r4, lsl #2 + cmp r2, #0x1000 + ldr r0, [r0, #0x10] + subge r2, r2, #0x1000 + mov r1, r6 + mov r3, r5 + bl func_ov00_0207c6ec + ldr r1, [r6] + cmp r1, #0 + ldrne r0, [r1, #0x24] + orrne r0, r0, #2 + strne r0, [r1, #0x24] +_0207c588: + ldr r0, [r6] + cmp r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + add r0, r7, r4, lsl #2 + ldr r0, [r0, #0x10] + ldr r1, [r6] + ldr r0, [r0] + mov r2, r5 + bl func_02012934 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end func_ov00_0207c518 + + .global func_ov00_0207c5b0 + thumb_func_start func_ov00_0207c5b0 +func_ov00_0207c5b0: ; 0x0207c5b0 + push {r3, r4, r5, r6, r7, lr} + mov r4, #0 + add r5, r0, #0 + add r6, r1, #0 + sub r7, r4, #1 +_0207c5ba: + ldr r0, [r5] + cmp r0, r7 + beq _0207c5c8 + ldr r0, [r5, #0x10] + add r1, r6, #0 + bl func_ov00_0207c770 +_0207c5c8: + add r4, r4, #1 + add r5, r5, #4 + cmp r4, #2 + blt _0207c5ba + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 + thumb_func_end func_ov00_0207c5b0 + + .global func_ov00_0207c5d4 + arm_func_start func_ov00_0207c5d4 +func_ov00_0207c5d4: ; 0x0207c5d4 + stmdb sp!, {r4, r5, r6, r7, r8, lr} + mov r8, r0 + mov r7, r1 + mov r6, r2 + mov r5, #0 + mvn r4, #0 +_0207c5ec: + ldr r0, [r8, r5, lsl #2] + cmp r0, r4 + beq _0207c60c + add r0, r8, r5, lsl #2 + ldr r0, [r0, #0x10] + mov r1, r7 + mov r2, r6 + bl func_ov00_0207c798 +_0207c60c: + add r5, r5, #1 + cmp r5, #2 + blt _0207c5ec + ldmia sp!, {r4, r5, r6, r7, r8, pc} + arm_func_end func_ov00_0207c5d4 + + .global func_ov00_0207c61c + arm_func_start func_ov00_0207c61c +func_ov00_0207c61c: ; 0x0207c61c + stmdb sp!, {r3, lr} + ldr r2, [r1] + str r2, [r0, #0x9c] + ldr r2, [r0, #0x20] + ldr r2, [r2] + ldr r2, [r2, #0x58] + mov r2, r2, lsl #0x18 + mov r2, r2, lsr #0x18 + and r2, r2, #0xff + tst r2, #0x80 + beq _0207c658 + ldr r2, _0207c670 ; =data_027e0e58 + ldr r2, [r2] + ldrh r2, [r2, #0x22] + strh r2, [r0, #0x76] +_0207c658: + ldr r2, [r1, #8] + cmp r2, #0 + ldmeqia sp!, {r3, pc} + ldr r1, [r1, #4] + blx r2 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_0207c61c +_0207c670: .word data_027e0e58 + + .global func_ov00_0207c674 + arm_func_start func_ov00_0207c674 +func_ov00_0207c674: ; 0x0207c674 + stmdb sp!, {r3, lr} + ldr r1, _0207c690 ; =data_027e0618 + ldr r1, [r1] + cmp r1, #6 + ldmneia sp!, {r3, pc} + bl func_ov12_02133c40 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_0207c674 +_0207c690: .word data_027e0618 + + .global func_ov00_0207c694 + arm_func_start func_ov00_0207c694 +func_ov00_0207c694: ; 0x0207c694 + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x10 + mov r6, r0 + mov r0, r1 + mov r5, r2 + mov r4, r3 + bl func_ov00_0207c674 + ldr r3, [sp, #0x20] + ldr r2, [sp, #0x24] + str r3, [sp, #8] + str r2, [sp, #0xc] + ldr r1, _0207c6e8 ; =func_ov00_0207c61c + str r4, [sp, #4] + str r1, [sp] + mov r1, r0 + ldr r0, [r6] + add r3, sp, #4 + mov r2, r5 + bl func_02012830 + add sp, sp, #0x10 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_0207c694 +_0207c6e8: .word func_ov00_0207c61c - 1 + + .global func_ov00_0207c6ec + arm_func_start func_ov00_0207c6ec +func_ov00_0207c6ec: ; 0x0207c6ec + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x10 + mov r6, r0 + mov r0, r2 + mov r5, r1 + mov r4, r3 + bl func_ov00_0207c674 + mov r2, #0 + ldr r3, [sp, #0x20] + ldr r1, _0207c744 ; =func_ov00_0207c61c + str r3, [sp, #4] + str r2, [sp, #8] + str r2, [sp, #0xc] + str r1, [sp] + mov r1, r0 + ldr r0, [r6] + add r3, sp, #4 + mov r2, r4 + bl func_02012830 + str r0, [r5] + add sp, sp, #0x10 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_0207c6ec +_0207c744: .word func_ov00_0207c61c - 1 + + .global func_ov00_0207c748 + arm_func_start func_ov00_0207c748 +func_ov00_0207c748: ; 0x0207c748 + stmdb sp!, {r4, lr} + mov r4, r1 + ldr r1, [r4] + cmp r1, #0 + ldmeqia sp!, {r4, pc} + ldr r0, [r0] + bl func_020128bc + mov r0, #0 + str r0, [r4] + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0207c748 + + .global func_ov00_0207c770 + thumb_func_start func_ov00_0207c770 +func_ov00_0207c770: ; 0x0207c770 + push {r4, r5, r6, lr} + add r5, r0, #0 + ldr r0, [r5] + add r6, r1, #0 + ldr r1, [r0, #4] + cmp r1, #0 + beq _0207c796 +_0207c77e: + add r0, r1, #0 + add r0, #0x9c + ldr r0, [r0] + ldr r4, [r1] + tst r0, r6 + beq _0207c790 + ldr r0, [r5] + blx func_020128bc +_0207c790: + add r1, r4, #0 + cmp r4, #0 + bne _0207c77e +_0207c796: + pop {r4, r5, r6, pc} + thumb_func_end func_ov00_0207c770 + + .global func_ov00_0207c798 + arm_func_start func_ov00_0207c798 +func_ov00_0207c798: ; 0x0207c798 + ldr r0, [r0] + ldr r3, [r0, #4] + cmp r3, #0 + bxeq lr + cmp r2, #0 + moveq r0, #1 + movne r0, #0 + mov r0, r0, lsl #0x1f +_0207c7b8: + ldr r2, [r3, #0x9c] + ldr ip, [r3] + tst r1, r2 + beq _0207c7d8 + ldr r2, [r3, #0x24] + bic r2, r2, #8 + orr r2, r2, r0, lsr #28 + str r2, [r3, #0x24] +_0207c7d8: + mov r3, ip + cmp ip, #0 + bne _0207c7b8 + bx lr + arm_func_end func_ov00_0207c798 + + .global func_ov00_0207c7e8 + arm_func_start func_ov00_0207c7e8 +func_ov00_0207c7e8: ; 0x0207c7e8 + ldr r3, _0207c800 ; =data_ov00_020d88cc + ldrh r2, [r0] + ldrb r1, [r3, r1] + cmp r2, r1 + strloh r1, [r0] + bx lr + .align 2, 0 + arm_func_end func_ov00_0207c7e8 +_0207c800: .word data_ov00_020d88cc + + .global func_ov00_0207c804 + thumb_func_start func_ov00_0207c804 +func_ov00_0207c804: ; 0x0207c804 + push {r3, r4, r5, r6, lr} + sub sp, #0x24 + ldr r3, _0207c8d0 ; =data_027e0f94 + add r6, r2, #0 + add r5, r0, #0 + add r4, r1, #0 + ldmia r3!, {r0, r1} + add r2, sp, #0x18 + stmia r2!, {r0, r1} + ldr r0, [r3] + str r0, [r2] + ldr r0, _0207c8d4 ; =data_027e0d38 + ldr r0, [r0] + blx func_ov00_02078b40 + cmp r0, #2 + bne _0207c830 + ldr r1, [sp, #0x1c] + ldr r0, _0207c8d8 ; =0x0000019a + add r0, r1, r0 + str r0, [sp, #0x1c] + b _0207c876 +_0207c830: + cmp r5, #0 + beq _0207c840 + mov r0, #3 + ldr r1, [sp, #0x1c] + lsl r0, r0, #0xa + add r0, r1, r0 + str r0, [sp, #0x1c] + b _0207c876 +_0207c840: + ldr r0, _0207c8dc ; =data_027e0fcc + ldr r2, [sp, #0x18] + ldr r1, [r0] + add r1, #0x40 + add r0, r1, #0 + add r1, #0x84 + ldr r1, [r1] + add r0, #0x84 + add r2, r2, r1 + lsr r1, r2, #0x1f + add r1, r2, r1 + asr r1, r1, #1 + str r1, [sp, #0x18] + ldr r2, [sp, #0x1c] + ldr r1, [r0, #4] + add r2, r2, r1 + lsr r1, r2, #0x1f + add r1, r2, r1 + asr r1, r1, #1 + str r1, [sp, #0x1c] + ldr r1, [sp, #0x20] + ldr r0, [r0, #8] + add r1, r1, r0 + lsr r0, r1, #0x1f + add r0, r1, r0 + asr r0, r0, #1 + str r0, [sp, #0x20] +_0207c876: + ldr r0, [sp, #0x18] + add r1, sp, #0xc + str r0, [sp, #0xc] + ldr r0, [sp, #0x1c] + add r2, sp, #8 + str r0, [sp, #0x10] + ldr r0, [sp, #0x20] + add r3, sp, #4 + str r0, [sp, #0x14] + mov r0, #1 + str r0, [sp] + ldr r0, _0207c8e0 ; =data_027e0f64 + ldr r0, [r0] + ldr r0, [r0, #4] + blx func_01ffe468 + cmp r0, #0 + beq _0207c8c8 + mov r1, #0x1f + ldr r2, [sp, #8] + mvn r1, r1 + cmp r2, r1 + blt _0207c8c8 + mov r0, #0x12 + lsl r0, r0, #4 + cmp r2, r0 + bge _0207c8c8 + ldr r0, [sp, #4] + add r1, #8 + cmp r0, r1 + blt _0207c8c8 + cmp r0, #0xd8 + bge _0207c8c8 + lsl r0, r2, #0xc + str r0, [r4] + ldr r0, [sp, #4] + add sp, #0x24 + lsl r0, r0, #0xc + str r0, [r6] + mov r0, #1 + pop {r3, r4, r5, r6, pc} +_0207c8c8: + mov r0, #0 + add sp, #0x24 + pop {r3, r4, r5, r6, pc} + nop + thumb_func_end func_ov00_0207c804 +_0207c8d0: .word data_027e0f94 +_0207c8d4: .word data_027e0d38 +_0207c8d8: .word 0x0000019a +_0207c8dc: .word data_027e0fcc +_0207c8e0: .word data_027e0f64 + + .global func_ov00_0207c8e4 + thumb_func_start func_ov00_0207c8e4 +func_ov00_0207c8e4: ; 0x0207c8e4 + push {r3, lr} + add r3, r0, #0 + mov r0, #2 + lsl r0, r0, #0x12 + str r0, [r3, #8] + str r0, [r3] + mov r0, #6 + lsl r0, r0, #0x10 + str r0, [r3, #0xc] + str r0, [r3, #4] + cmp r2, #0 + beq _0207c91a + cmp r1, #0 + bne _0207c910 + add r0, r1, #0 + add r1, r3, #0 + add r3, #0xc + add r1, #8 + add r2, r3, #0 + bl func_ov00_0207c804 + pop {r3, pc} +_0207c910: + add r0, r1, #0 + add r1, r3, #0 + add r2, r3, #4 + bl func_ov00_0207c804 +_0207c91a: + pop {r3, pc} + thumb_func_end func_ov00_0207c8e4 + + .global func_ov00_0207c91c + arm_func_start func_ov00_0207c91c +func_ov00_0207c91c: ; 0x0207c91c + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r7, r0 + ldr r0, [r7, #0x10] + mov r6, r1 + mov r5, r2 + cmp r0, r6 + beq _0207c9d8 + subs r0, r6, r0 + rsbmi r0, r0, #0 + mov r0, r0, lsl #0xc + mov r1, r5, lsl #0xc + bl Divide + mov r4, r0 + ldr r2, [r7, #8] + cmp r4, #0x1000 + strle r2, [r7] + ble _0207c97c + ldr r0, [r7] + mov r1, r4 + sub r0, r2, r0 + bl Divide + ldr r1, [r7] + add r0, r1, r0 + str r0, [r7] +_0207c97c: + ldr r2, [r7, #0xc] + cmp r4, #0x1000 + strle r2, [r7, #4] + ble _0207c9a8 + ldr r0, [r7, #4] + mov r1, r4 + sub r0, r2, r0 + bl Divide + ldr r1, [r7, #4] + add r0, r1, r0 + str r0, [r7, #4] +_0207c9a8: + ldr r0, [r7, #0x10] + cmp r0, r6 + bge _0207c9c8 + add r0, r0, r5 + cmp r0, r6 + movge r0, r6 + str r0, [r7, #0x10] + b _0207c9d8 +_0207c9c8: + sub r0, r0, r5 + cmp r0, r6 + movle r0, r6 + str r0, [r7, #0x10] +_0207c9d8: + ldr r0, [r7, #0x10] + cmp r0, r6 + movne r0, #0 + ldmneia sp!, {r3, r4, r5, r6, r7, pc} + ldr r1, [r7, #8] + mov r0, #1 + str r1, [r7] + ldr r1, [r7, #0xc] + str r1, [r7, #4] + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end func_ov00_0207c91c + + .rodata + .global data_ov00_020d8798 +data_ov00_020d8798: ; 0x020d8798 + .byte 0x03 + .global data_ov00_020d8799 +data_ov00_020d8799: ; 0x020d8799 + .byte 0x03 + .global data_ov00_020d879a +data_ov00_020d879a: ; 0x020d879a + .byte 0x02 + .global data_ov00_020d879b +data_ov00_020d879b: ; 0x020d879b + .byte 0x02 + .global data_ov00_020d879c +data_ov00_020d879c: ; 0x020d879c + .byte 0x02 + .global data_ov00_020d879d +data_ov00_020d879d: ; 0x020d879d + .byte 0x01 + .global data_ov00_020d879e +data_ov00_020d879e: ; 0x020d879e + .byte 0x01 + .global data_ov00_020d879f +data_ov00_020d879f: ; 0x020d879f + .byte 0x00 + .global data_ov00_020d87a0 +data_ov00_020d87a0: ; 0x020d87a0 + .byte 0x80, 0x00, 0x00, 0x00 + .global data_ov00_020d87a4 +data_ov00_020d87a4: ; 0x020d87a4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87a8 +data_ov00_020d87a8: ; 0x020d87a8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87ac +data_ov00_020d87ac: ; 0x020d87ac + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87b0 +data_ov00_020d87b0: ; 0x020d87b0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87b4 +data_ov00_020d87b4: ; 0x020d87b4 + .byte 0x80, 0x00, 0x00, 0x00 + .global data_ov00_020d87b8 +data_ov00_020d87b8: ; 0x020d87b8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87bc +data_ov00_020d87bc: ; 0x020d87bc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87c0 +data_ov00_020d87c0: ; 0x020d87c0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87c4 +data_ov00_020d87c4: ; 0x020d87c4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87c8 +data_ov00_020d87c8: ; 0x020d87c8 + .byte 0x80, 0xff, 0xff, 0xff + .global data_ov00_020d87cc +data_ov00_020d87cc: ; 0x020d87cc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87d0 +data_ov00_020d87d0: ; 0x020d87d0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87d4 +data_ov00_020d87d4: ; 0x020d87d4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87d8 +data_ov00_020d87d8: ; 0x020d87d8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87dc +data_ov00_020d87dc: ; 0x020d87dc + .byte 0x80, 0x00, 0x00, 0x00 + .global data_ov00_020d87e0 +data_ov00_020d87e0: ; 0x020d87e0 + .byte 0x00, 0x01, 0x00, 0x00 + .global data_ov00_020d87e4 +data_ov00_020d87e4: ; 0x020d87e4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87e8 +data_ov00_020d87e8: ; 0x020d87e8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87ec +data_ov00_020d87ec: ; 0x020d87ec + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87f0 +data_ov00_020d87f0: ; 0x020d87f0 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87f4 +data_ov00_020d87f4: ; 0x020d87f4 + .byte 0x00, 0x01, 0x00, 0x00 + .global data_ov00_020d87f8 +data_ov00_020d87f8: ; 0x020d87f8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d87fc +data_ov00_020d87fc: ; 0x020d87fc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8800 +data_ov00_020d8800: ; 0x020d8800 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8804 +data_ov00_020d8804: ; 0x020d8804 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8808 +data_ov00_020d8808: ; 0x020d8808 + .byte 0x00, 0xff, 0xff, 0xff + .global data_ov00_020d880c +data_ov00_020d880c: ; 0x020d880c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8810 +data_ov00_020d8810: ; 0x020d8810 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8814 +data_ov00_020d8814: ; 0x020d8814 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8818 +data_ov00_020d8818: ; 0x020d8818 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d881c +data_ov00_020d881c: ; 0x020d881c + .byte 0x00, 0x01, 0x00, 0x00 + .global data_ov00_020d8820 +data_ov00_020d8820: ; 0x020d8820 + .byte 0x80, 0x01, 0x00, 0x00 + .global data_ov00_020d8824 +data_ov00_020d8824: ; 0x020d8824 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8828 +data_ov00_020d8828: ; 0x020d8828 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d882c +data_ov00_020d882c: ; 0x020d882c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8830 +data_ov00_020d8830: ; 0x020d8830 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8834 +data_ov00_020d8834: ; 0x020d8834 + .byte 0x80, 0x01, 0x00, 0x00 + .global data_ov00_020d8838 +data_ov00_020d8838: ; 0x020d8838 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d883c +data_ov00_020d883c: ; 0x020d883c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8840 +data_ov00_020d8840: ; 0x020d8840 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8844 +data_ov00_020d8844: ; 0x020d8844 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8848 +data_ov00_020d8848: ; 0x020d8848 + .byte 0x80, 0xfe, 0xff, 0xff + .global data_ov00_020d884c +data_ov00_020d884c: ; 0x020d884c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8850 +data_ov00_020d8850: ; 0x020d8850 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8854 +data_ov00_020d8854: ; 0x020d8854 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8858 +data_ov00_020d8858: ; 0x020d8858 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d885c +data_ov00_020d885c: ; 0x020d885c + .byte 0x80, 0x01, 0x00, 0x00 + .global data_ov00_020d8860 +data_ov00_020d8860: ; 0x020d8860 + .byte 0x00, 0x02, 0x00, 0x00 + .global data_ov00_020d8864 +data_ov00_020d8864: ; 0x020d8864 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8868 +data_ov00_020d8868: ; 0x020d8868 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d886c +data_ov00_020d886c: ; 0x020d886c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8870 +data_ov00_020d8870: ; 0x020d8870 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8874 +data_ov00_020d8874: ; 0x020d8874 + .byte 0x00, 0x02, 0x00, 0x00 + .global data_ov00_020d8878 +data_ov00_020d8878: ; 0x020d8878 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d887c +data_ov00_020d887c: ; 0x020d887c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8880 +data_ov00_020d8880: ; 0x020d8880 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8884 +data_ov00_020d8884: ; 0x020d8884 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8888 +data_ov00_020d8888: ; 0x020d8888 + .byte 0x00, 0xfe, 0xff, 0xff + .global data_ov00_020d888c +data_ov00_020d888c: ; 0x020d888c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8890 +data_ov00_020d8890: ; 0x020d8890 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8894 +data_ov00_020d8894: ; 0x020d8894 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d8898 +data_ov00_020d8898: ; 0x020d8898 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d889c +data_ov00_020d889c: ; 0x020d889c + .byte 0x00, 0x02, 0x00, 0x00 + .global data_ov00_020d88a0 +data_ov00_020d88a0: ; 0x020d88a0 + .byte 0x00, 0x00 + .global data_ov00_020d88a2 +data_ov00_020d88a2: ; 0x020d88a2 + .byte 0x06, 0x00 + .global data_ov00_020d88a4 +data_ov00_020d88a4: ; 0x020d88a4 + .byte 0x28, 0x00 + .global data_ov00_020d88a6 +data_ov00_020d88a6: ; 0x020d88a6 + .byte 0x20, 0x00 + .global data_ov00_020d88a8 +data_ov00_020d88a8: ; 0x020d88a8 + .byte 0x20, 0x00 + .global data_ov00_020d88aa +data_ov00_020d88aa: ; 0x020d88aa + .byte 0x20, 0x00 + .global data_ov00_020d88ac +data_ov00_020d88ac: ; 0x020d88ac + .byte 0x08, 0x00 + .global data_ov00_020d88ae +data_ov00_020d88ae: ; 0x020d88ae + .byte 0x14, 0x00 + .global data_ov00_020d88b0 +data_ov00_020d88b0: ; 0x020d88b0 + .byte 0x32, 0x00 + .global data_ov00_020d88b2 +data_ov00_020d88b2: ; 0x020d88b2 + .byte 0x00, 0x00 + .global data_ov00_020d88b4 +data_ov00_020d88b4: ; 0x020d88b4 + .ascii " !*+,-6789:" + .byte 0x00 + .global data_ov00_020d88c0 +data_ov00_020d88c0: ; 0x020d88c0 + .byte 0x00 + .global data_ov00_020d88c1 +data_ov00_020d88c1: ; 0x020d88c1 + .byte 0x00 + .global data_ov00_020d88c2 +data_ov00_020d88c2: ; 0x020d88c2 + .byte 0x00 + .global data_ov00_020d88c3 +data_ov00_020d88c3: ; 0x020d88c3 + .byte 0x00 + .global data_ov00_020d88c4 +data_ov00_020d88c4: ; 0x020d88c4 + .byte 0x00 + .global data_ov00_020d88c5 +data_ov00_020d88c5: ; 0x020d88c5 + .byte 0x00 + .global data_ov00_020d88c6 +data_ov00_020d88c6: ; 0x020d88c6 + .byte 0x00 + .global data_ov00_020d88c7 +data_ov00_020d88c7: ; 0x020d88c7 + .byte 0x00 + .global data_ov00_020d88c8 +data_ov00_020d88c8: ; 0x020d88c8 + .byte 0x00 + .global data_ov00_020d88c9 +data_ov00_020d88c9: ; 0x020d88c9 + .byte 0x3b + .global data_ov00_020d88ca +data_ov00_020d88ca: ; 0x020d88ca + .byte 0x3f + .global data_ov00_020d88cb +data_ov00_020d88cb: ; 0x020d88cb + .byte 0x00 + .global data_ov00_020d88cc +data_ov00_020d88cc: ; 0x020d88cc + .byte 0x06 + .global data_ov00_020d88cd +data_ov00_020d88cd: ; 0x020d88cd + .byte 0x0c + .global data_ov00_020d88ce +data_ov00_020d88ce: ; 0x020d88ce + .byte 0x12 + .global data_ov00_020d88cf +data_ov00_020d88cf: ; 0x020d88cf + .byte 0x00 + + .section .init, 4, 1, 4 + + .global func_ov00_020df3b8 + arm_func_start func_ov00_020df3b8 +func_ov00_020df3b8: ; 0x020df3b8 + ldr ip, _020df3c4 ; =func_ov00_0207b278 + ldr r0, _020df3c8 ; =data_027e0db0 + bx ip + .align 2, 0 + arm_func_end func_ov00_020df3b8 +_020df3c4: .word func_ov00_0207b278 +_020df3c8: .word data_027e0db0 + + .global func_ov00_020df3cc + arm_func_start func_ov00_020df3cc +func_ov00_020df3cc: ; 0x020df3cc + ldr r0, _020df3dc ; =data_ov00_020e9c88 + mov r1, #0 + str r1, [r0, #0x180] + bx lr + .align 2, 0 + arm_func_end func_ov00_020df3cc +_020df3dc: .word data_ov00_020e9c88 + + .global func_ov00_020df3e0 + arm_func_start func_ov00_020df3e0 +func_ov00_020df3e0: ; 0x020df3e0 + ldr ip, _020df3ec ; =func_ov08_021136fc + ldr r0, _020df3f0 ; =data_027e0dbc + bx ip + .align 2, 0 + arm_func_end func_ov00_020df3e0 +_020df3ec: .word func_ov08_021136fc +_020df3f0: .word data_027e0dbc + + .global func_ov00_020df3f4 + arm_func_start func_ov00_020df3f4 +func_ov00_020df3f4: ; 0x020df3f4 + stmdb sp!, {r3, lr} + ldr r0, _020df414 ; =data_ov00_020e9e18 + bl func_ov08_02113730 + ldr r0, _020df414 ; =data_ov00_020e9e18 + ldr r1, _020df418 ; =func_ov00_0207bab4 + ldr r2, _020df41c ; =data_ov00_020e9e0c + bl __register_global_object + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020df3f4 +_020df414: .word data_ov00_020e9e18 +_020df418: .word func_ov00_0207bab4 - 1 +_020df41c: .word data_ov00_020e9e0c + + .global func_ov00_020df420 + arm_func_start func_ov00_020df420 +func_ov00_020df420: ; 0x020df420 + stmdb sp!, {r3, lr} + ldr r3, _020df450 ; =data_027e0de4 + mov r0, #0 + ldr r1, _020df454 ; =data_027e0de8 + mov r2, #0x20 + str r0, [r3] + bl func_02007938 + ldr r1, _020df458 ; =data_027e0e08 + mov r0, #0 + mov r2, #0x20 + bl func_02007938 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020df420 +_020df450: .word data_027e0de4 +_020df454: .word data_027e0de8 +_020df458: .word data_027e0e08 + + .global func_ov00_020df45c + arm_func_start func_ov00_020df45c +func_ov00_020df45c: ; 0x020df45c + ldr r0, _020df46c ; =data_027e0e28 + mov r1, #0 + str r1, [r0] + bx lr + .align 2, 0 + arm_func_end func_ov00_020df45c +_020df46c: .word data_027e0e28 + + .global func_ov00_020df470 + arm_func_start func_ov00_020df470 +func_ov00_020df470: ; 0x020df470 + ldr r0, _020df49c ; =data_027e0e2c + mov r1, #0x80000 + str r1, [r0, #0x20] + str r1, [r0, #0x18] + mov r1, #0x60000 + str r1, [r0, #0x24] + str r1, [r0, #0x1c] + mov r1, #0 + ldr ip, _020df4a0 ; =func_ov00_0207bcb4 + str r1, [r0, #0x28] + bx ip + .align 2, 0 + arm_func_end func_ov00_020df470 +_020df49c: .word data_027e0e2c +_020df4a0: .word func_ov00_0207bcb4 + + .global func_ov00_020df4a4 + arm_func_start func_ov00_020df4a4 +func_ov00_020df4a4: ; 0x020df4a4 + ldr ip, _020df4b0 ; =func_ov08_02113aa8 + ldr r0, _020df4b4 ; =data_ov00_020ec7dc + bx ip + .align 2, 0 + arm_func_end func_ov00_020df4a4 +_020df4b0: .word func_ov08_02113aa8 +_020df4b4: .word data_ov00_020ec7dc + + .global func_ov00_020df4b8 + arm_func_start func_ov00_020df4b8 +func_ov00_020df4b8: ; 0x020df4b8 + ldr r0, _020df4c8 ; =data_027e0e5c + mov r1, #0 + strh r1, [r0] + bx lr + .align 2, 0 + arm_func_end func_ov00_020df4b8 +_020df4c8: .word data_027e0e5c + + .section .ctor, 4, 1, 4 + .global data_ov00_020e1e94 +data_ov00_020e1e94: ; 0x020e1e94 + .word func_ov00_020df38c + .global data_ov00_020e1e98 +data_ov00_020e1e98: ; 0x020e1e98 + .word func_ov00_020df3b8 + .global data_ov00_020e1e9c +data_ov00_020e1e9c: ; 0x020e1e9c + .word func_ov00_020df3cc + .global data_ov00_020e1ea0 +data_ov00_020e1ea0: ; 0x020e1ea0 + .word func_ov00_020df3e0 + .global data_ov00_020e1ea4 +data_ov00_020e1ea4: ; 0x020e1ea4 + .word func_ov00_020df3f4 + .global data_ov00_020e1ea8 +data_ov00_020e1ea8: ; 0x020e1ea8 + .word func_ov00_020df420 + .global data_ov00_020e1eac +data_ov00_020e1eac: ; 0x020e1eac + .word func_ov00_020df45c + .global data_ov00_020e1eb0 +data_ov00_020e1eb0: ; 0x020e1eb0 + .word func_ov00_020df470 + .global data_ov00_020e1eb4 +data_ov00_020e1eb4: ; 0x020e1eb4 + .word func_ov00_020df4a4 + .global data_ov00_020e1eb8 +data_ov00_020e1eb8: ; 0x020e1eb8 + .word func_ov00_020df4b8 + + .data + .global data_ov00_020e2044 +data_ov00_020e2044: ; 0x020e2044 + .ascii "Menu/Bg/Color0.NCLR" + .byte 0x00 + + .bss + .global data_ov00_020e9c70 +data_ov00_020e9c70: + .space 0x4 + .global data_ov00_020e9c74 +data_ov00_020e9c74: + .space 0x4 + .global data_ov00_020e9c78 +data_ov00_020e9c78: + .space 0x4 + .global data_ov00_020e9c7c +data_ov00_020e9c7c: + .space 0x4 + .global data_ov00_020e9c80 +data_ov00_020e9c80: + .space 0x4 + .global data_ov00_020e9c84 +data_ov00_020e9c84: + .space 0x4 + .global data_ov00_020e9c88 +data_ov00_020e9c88: + .space 0x4 + .global data_ov00_020e9c8c +data_ov00_020e9c8c: + .space 0x4 + .global data_ov00_020e9c90 +data_ov00_020e9c90: + .space 0x4 + .global data_ov00_020e9c94 +data_ov00_020e9c94: + .space 0x4 + .global data_ov00_020e9c98 +data_ov00_020e9c98: + .space 0x4 + .global data_ov00_020e9c9c +data_ov00_020e9c9c: + .space 0x4 + .global data_ov00_020e9ca0 +data_ov00_020e9ca0: + .space 0x4 + .global data_ov00_020e9ca4 +data_ov00_020e9ca4: + .space 0x4 + .global data_ov00_020e9ca8 +data_ov00_020e9ca8: + .space 0x4 + .global data_ov00_020e9cac +data_ov00_020e9cac: + .space 0x4 + .global data_ov00_020e9cb0 +data_ov00_020e9cb0: + .space 0x4 + .global data_ov00_020e9cb4 +data_ov00_020e9cb4: + .space 0x4 + .global data_ov00_020e9cb8 +data_ov00_020e9cb8: + .space 0x4 + .global data_ov00_020e9cbc +data_ov00_020e9cbc: + .space 0x4 + .global data_ov00_020e9cc0 +data_ov00_020e9cc0: + .space 0x4 + .global data_ov00_020e9cc4 +data_ov00_020e9cc4: + .space 0x4 + .global data_ov00_020e9cc8 +data_ov00_020e9cc8: + .space 0x4 + .global data_ov00_020e9ccc +data_ov00_020e9ccc: + .space 0x4 + .global data_ov00_020e9cd0 +data_ov00_020e9cd0: + .space 0x4 + .global data_ov00_020e9cd4 +data_ov00_020e9cd4: + .space 0x4 + .global data_ov00_020e9cd8 +data_ov00_020e9cd8: + .space 0x4 + .global data_ov00_020e9cdc +data_ov00_020e9cdc: + .space 0x4 + .global data_ov00_020e9ce0 +data_ov00_020e9ce0: + .space 0x4 + .global data_ov00_020e9ce4 +data_ov00_020e9ce4: + .space 0x4 + .global data_ov00_020e9ce8 +data_ov00_020e9ce8: + .space 0x4 + .global data_ov00_020e9cec +data_ov00_020e9cec: + .space 0x4 + .global data_ov00_020e9cf0 +data_ov00_020e9cf0: + .space 0x4 + .global data_ov00_020e9cf4 +data_ov00_020e9cf4: + .space 0x4 + .global data_ov00_020e9cf8 +data_ov00_020e9cf8: + .space 0x4 + .global data_ov00_020e9cfc +data_ov00_020e9cfc: + .space 0x4 + .global data_ov00_020e9d00 +data_ov00_020e9d00: + .space 0x4 + .global data_ov00_020e9d04 +data_ov00_020e9d04: + .space 0x4 + .global data_ov00_020e9d08 +data_ov00_020e9d08: + .space 0x4 + .global data_ov00_020e9d0c +data_ov00_020e9d0c: + .space 0x4 + .global data_ov00_020e9d10 +data_ov00_020e9d10: + .space 0x4 + .global data_ov00_020e9d14 +data_ov00_020e9d14: + .space 0x4 + .global data_ov00_020e9d18 +data_ov00_020e9d18: + .space 0x4 + .global data_ov00_020e9d1c +data_ov00_020e9d1c: + .space 0x4 + .global data_ov00_020e9d20 +data_ov00_020e9d20: + .space 0x4 + .global data_ov00_020e9d24 +data_ov00_020e9d24: + .space 0x4 + .global data_ov00_020e9d28 +data_ov00_020e9d28: + .space 0x4 + .global data_ov00_020e9d2c +data_ov00_020e9d2c: + .space 0x4 + .global data_ov00_020e9d30 +data_ov00_020e9d30: + .space 0x4 + .global data_ov00_020e9d34 +data_ov00_020e9d34: + .space 0x4 + .global data_ov00_020e9d38 +data_ov00_020e9d38: + .space 0x4 + .global data_ov00_020e9d3c +data_ov00_020e9d3c: + .space 0x4 + .global data_ov00_020e9d40 +data_ov00_020e9d40: + .space 0x4 + .global data_ov00_020e9d44 +data_ov00_020e9d44: + .space 0x4 + .global data_ov00_020e9d48 +data_ov00_020e9d48: + .space 0x4 + .global data_ov00_020e9d4c +data_ov00_020e9d4c: + .space 0x4 + .global data_ov00_020e9d50 +data_ov00_020e9d50: + .space 0x4 + .global data_ov00_020e9d54 +data_ov00_020e9d54: + .space 0x4 + .global data_ov00_020e9d58 +data_ov00_020e9d58: + .space 0x4 + .global data_ov00_020e9d5c +data_ov00_020e9d5c: + .space 0x4 + .global data_ov00_020e9d60 +data_ov00_020e9d60: + .space 0x4 + .global data_ov00_020e9d64 +data_ov00_020e9d64: + .space 0x4 + .global data_ov00_020e9d68 +data_ov00_020e9d68: + .space 0x4 + .global data_ov00_020e9d6c +data_ov00_020e9d6c: + .space 0x4 + .global data_ov00_020e9d70 +data_ov00_020e9d70: + .space 0x4 + .global data_ov00_020e9d74 +data_ov00_020e9d74: + .space 0x4 + .global data_ov00_020e9d78 +data_ov00_020e9d78: + .space 0x4 + .global data_ov00_020e9d7c +data_ov00_020e9d7c: + .space 0x4 + .global data_ov00_020e9d80 +data_ov00_020e9d80: + .space 0x4 + .global data_ov00_020e9d84 +data_ov00_020e9d84: + .space 0x4 + .global data_ov00_020e9d88 +data_ov00_020e9d88: + .space 0x4 + .global data_ov00_020e9d8c +data_ov00_020e9d8c: + .space 0x4 + .global data_ov00_020e9d90 +data_ov00_020e9d90: + .space 0x4 + .global data_ov00_020e9d94 +data_ov00_020e9d94: + .space 0x4 + .global data_ov00_020e9d98 +data_ov00_020e9d98: + .space 0x4 + .global data_ov00_020e9d9c +data_ov00_020e9d9c: + .space 0x4 + .global data_ov00_020e9da0 +data_ov00_020e9da0: + .space 0x4 + .global data_ov00_020e9da4 +data_ov00_020e9da4: + .space 0x4 + .global data_ov00_020e9da8 +data_ov00_020e9da8: + .space 0x4 + .global data_ov00_020e9dac +data_ov00_020e9dac: + .space 0x4 + .global data_ov00_020e9db0 +data_ov00_020e9db0: + .space 0x4 + .global data_ov00_020e9db4 +data_ov00_020e9db4: + .space 0x4 + .global data_ov00_020e9db8 +data_ov00_020e9db8: + .space 0x4 + .global data_ov00_020e9dbc +data_ov00_020e9dbc: + .space 0x4 + .global data_ov00_020e9dc0 +data_ov00_020e9dc0: + .space 0x4 + .global data_ov00_020e9dc4 +data_ov00_020e9dc4: + .space 0x4 + .global data_ov00_020e9dc8 +data_ov00_020e9dc8: + .space 0x4 + .global data_ov00_020e9dcc +data_ov00_020e9dcc: + .space 0x4 + .global data_ov00_020e9dd0 +data_ov00_020e9dd0: + .space 0x4 + .global data_ov00_020e9dd4 +data_ov00_020e9dd4: + .space 0x4 + .global data_ov00_020e9dd8 +data_ov00_020e9dd8: + .space 0x4 + .global data_ov00_020e9ddc +data_ov00_020e9ddc: + .space 0x4 + .global data_ov00_020e9de0 +data_ov00_020e9de0: + .space 0x4 + .global data_ov00_020e9de4 +data_ov00_020e9de4: + .space 0x4 + .global data_ov00_020e9de8 +data_ov00_020e9de8: + .space 0x4 + .global data_ov00_020e9dec +data_ov00_020e9dec: + .space 0x4 + .global data_ov00_020e9df0 +data_ov00_020e9df0: + .space 0x4 + .global data_ov00_020e9df4 +data_ov00_020e9df4: + .space 0x4 + .global data_ov00_020e9df8 +data_ov00_020e9df8: + .space 0x4 + .global data_ov00_020e9dfc +data_ov00_020e9dfc: + .space 0x4 + .global data_ov00_020e9e00 +data_ov00_020e9e00: + .space 0x4 + .global data_ov00_020e9e04 +data_ov00_020e9e04: + .space 0x4 + .global data_ov00_020e9e08 +data_ov00_020e9e08: + .space 0x4 + .global data_ov00_020e9e0c +data_ov00_020e9e0c: + .space 0x4 + .global data_ov00_020e9e10 +data_ov00_020e9e10: + .space 0x4 + .global data_ov00_020e9e14 +data_ov00_020e9e14: + .space 0x4 + .global data_ov00_020e9e18 +data_ov00_020e9e18: + .space 0x4 + .global data_ov00_020e9e1c +data_ov00_020e9e1c: + .space 0x4 + .global data_ov00_020e9e20 +data_ov00_020e9e20: + .space 0x4 + .global data_ov00_020e9e24 +data_ov00_020e9e24: + .space 0x4 + .global data_ov00_020e9e28 +data_ov00_020e9e28: + .space 0x4 + .global data_ov00_020e9e2c +data_ov00_020e9e2c: + .space 0x4 + .global data_ov00_020e9e30 +data_ov00_020e9e30: + .space 0x4 + .global data_ov00_020e9e34 +data_ov00_020e9e34: + .space 0x4 + .global data_ov00_020e9e38 +data_ov00_020e9e38: + .space 0x4 + .global data_ov00_020e9e3c +data_ov00_020e9e3c: + .space 0x4 + .global data_ov00_020e9e40 +data_ov00_020e9e40: + .space 0x4 + .global data_ov00_020e9e44 +data_ov00_020e9e44: + .space 0x4 + .global data_ov00_020e9e48 +data_ov00_020e9e48: + .space 0x4 + .global data_ov00_020e9e4c +data_ov00_020e9e4c: + .space 0x4 + .global data_ov00_020e9e50 +data_ov00_020e9e50: + .space 0x4 + .global data_ov00_020e9e54 +data_ov00_020e9e54: + .space 0x4 + .global data_ov00_020e9e58 +data_ov00_020e9e58: + .space 0x4 + .global data_ov00_020e9e5c +data_ov00_020e9e5c: + .space 0x4 + .global data_ov00_020e9e60 +data_ov00_020e9e60: + .space 0x4 + .global data_ov00_020e9e64 +data_ov00_020e9e64: + .space 0x4 + .global data_ov00_020e9e68 +data_ov00_020e9e68: + .space 0x4 + .global data_ov00_020e9e6c +data_ov00_020e9e6c: + .space 0x4 + .global data_ov00_020e9e70 +data_ov00_020e9e70: + .space 0x4 + .global data_ov00_020e9e74 +data_ov00_020e9e74: + .space 0x4 + .global data_ov00_020e9e78 +data_ov00_020e9e78: + .space 0x4 + .global data_ov00_020e9e7c +data_ov00_020e9e7c: + .space 0x4 + .global data_ov00_020e9e80 +data_ov00_020e9e80: + .space 0x4 + .global data_ov00_020e9e84 +data_ov00_020e9e84: + .space 0x4 + .global data_ov00_020e9e88 +data_ov00_020e9e88: + .space 0x4 + .global data_ov00_020e9e8c +data_ov00_020e9e8c: + .space 0x4 + .global data_ov00_020e9e90 +data_ov00_020e9e90: + .space 0x4 + .global data_ov00_020e9e94 +data_ov00_020e9e94: + .space 0x4 + .global data_ov00_020e9e98 +data_ov00_020e9e98: + .space 0x4 + .global data_ov00_020e9e9c +data_ov00_020e9e9c: + .space 0x4 + .global data_ov00_020e9ea0 +data_ov00_020e9ea0: + .space 0x4 + .global data_ov00_020e9ea4 +data_ov00_020e9ea4: + .space 0x4 + .global data_ov00_020e9ea8 +data_ov00_020e9ea8: + .space 0x4 + .global data_ov00_020e9eac +data_ov00_020e9eac: + .space 0x4 + .global data_ov00_020e9eb0 +data_ov00_020e9eb0: + .space 0x4 + .global data_ov00_020e9eb4 +data_ov00_020e9eb4: + .space 0x4 + .global data_ov00_020e9eb8 +data_ov00_020e9eb8: + .space 0x4 + .global data_ov00_020e9ebc +data_ov00_020e9ebc: + .space 0x4 + .global data_ov00_020e9ec0 +data_ov00_020e9ec0: + .space 0x4 + .global data_ov00_020e9ec4 +data_ov00_020e9ec4: + .space 0x4 + .global data_ov00_020e9ec8 +data_ov00_020e9ec8: + .space 0x4 + .global data_ov00_020e9ecc +data_ov00_020e9ecc: + .space 0x4 + .global data_ov00_020e9ed0 +data_ov00_020e9ed0: + .space 0x4 + .global data_ov00_020e9ed4 +data_ov00_020e9ed4: + .space 0x4 + .global data_ov00_020e9ed8 +data_ov00_020e9ed8: + .space 0x4 + .global data_ov00_020e9edc +data_ov00_020e9edc: + .space 0x4 + .global data_ov00_020e9ee0 +data_ov00_020e9ee0: + .space 0x4 + .global data_ov00_020e9ee4 +data_ov00_020e9ee4: + .space 0x4 + .global data_ov00_020e9ee8 +data_ov00_020e9ee8: + .space 0x4 + .global data_ov00_020e9eec +data_ov00_020e9eec: + .space 0x4 + .global data_ov00_020e9ef0 +data_ov00_020e9ef0: + .space 0x4 + .global data_ov00_020e9ef4 +data_ov00_020e9ef4: + .space 0x4 + .global data_ov00_020e9ef8 +data_ov00_020e9ef8: + .space 0x4 + .global data_ov00_020e9efc +data_ov00_020e9efc: + .space 0x4 + .global data_ov00_020e9f00 +data_ov00_020e9f00: + .space 0x4 + .global data_ov00_020e9f04 +data_ov00_020e9f04: + .space 0x4 + .global data_ov00_020e9f08 +data_ov00_020e9f08: + .space 0x4 + .global data_ov00_020e9f0c +data_ov00_020e9f0c: + .space 0x4 + .global data_ov00_020e9f10 +data_ov00_020e9f10: + .space 0x4 + .global data_ov00_020e9f14 +data_ov00_020e9f14: + .space 0x4 + .global data_ov00_020e9f18 +data_ov00_020e9f18: + .space 0x4 + .global data_ov00_020e9f1c +data_ov00_020e9f1c: + .space 0x4 + .global data_ov00_020e9f20 +data_ov00_020e9f20: + .space 0x4 + .global data_ov00_020e9f24 +data_ov00_020e9f24: + .space 0x4 + .global data_ov00_020e9f28 +data_ov00_020e9f28: + .space 0x4 + .global data_ov00_020e9f2c +data_ov00_020e9f2c: + .space 0x4 + .global data_ov00_020e9f30 +data_ov00_020e9f30: + .space 0x4 + .global data_ov00_020e9f34 +data_ov00_020e9f34: + .space 0x4 + .global data_ov00_020e9f38 +data_ov00_020e9f38: + .space 0x4 + .global data_ov00_020e9f3c +data_ov00_020e9f3c: + .space 0x4 + .global data_ov00_020e9f40 +data_ov00_020e9f40: + .space 0x4 + .global data_ov00_020e9f44 +data_ov00_020e9f44: + .space 0x4 + .global data_ov00_020e9f48 +data_ov00_020e9f48: + .space 0x4 + .global data_ov00_020e9f4c +data_ov00_020e9f4c: + .space 0x4 + .global data_ov00_020e9f50 +data_ov00_020e9f50: + .space 0x4 + .global data_ov00_020e9f54 +data_ov00_020e9f54: + .space 0x4 + .global data_ov00_020e9f58 +data_ov00_020e9f58: + .space 0x4 + .global data_ov00_020e9f5c +data_ov00_020e9f5c: + .space 0x4 + .global data_ov00_020e9f60 +data_ov00_020e9f60: + .space 0x4 + .global data_ov00_020e9f64 +data_ov00_020e9f64: + .space 0x4 + .global data_ov00_020e9f68 +data_ov00_020e9f68: + .space 0x4 + .global data_ov00_020e9f6c +data_ov00_020e9f6c: + .space 0x4 + .global data_ov00_020e9f70 +data_ov00_020e9f70: + .space 0x4 + .global data_ov00_020e9f74 +data_ov00_020e9f74: + .space 0x4 + .global data_ov00_020e9f78 +data_ov00_020e9f78: + .space 0x4 + .global data_ov00_020e9f7c +data_ov00_020e9f7c: + .space 0x4 + .global data_ov00_020e9f80 +data_ov00_020e9f80: + .space 0x4 + .global data_ov00_020e9f84 +data_ov00_020e9f84: + .space 0x4 + .global data_ov00_020e9f88 +data_ov00_020e9f88: + .space 0x4 + .global data_ov00_020e9f8c +data_ov00_020e9f8c: + .space 0x4 + .global data_ov00_020e9f90 +data_ov00_020e9f90: + .space 0x4 + .global data_ov00_020e9f94 +data_ov00_020e9f94: + .space 0x4 + .global data_ov00_020e9f98 +data_ov00_020e9f98: + .space 0x4 + .global data_ov00_020e9f9c +data_ov00_020e9f9c: + .space 0x4 + .global data_ov00_020e9fa0 +data_ov00_020e9fa0: + .space 0x4 + .global data_ov00_020e9fa4 +data_ov00_020e9fa4: + .space 0x4 + .global data_ov00_020e9fa8 +data_ov00_020e9fa8: + .space 0x4 + .global data_ov00_020e9fac +data_ov00_020e9fac: + .space 0x4 + .global data_ov00_020e9fb0 +data_ov00_020e9fb0: + .space 0x4 + .global data_ov00_020e9fb4 +data_ov00_020e9fb4: + .space 0x4 + .global data_ov00_020e9fb8 +data_ov00_020e9fb8: + .space 0x4 + .global data_ov00_020e9fbc +data_ov00_020e9fbc: + .space 0x4 + .global data_ov00_020e9fc0 +data_ov00_020e9fc0: + .space 0x4 + .global data_ov00_020e9fc4 +data_ov00_020e9fc4: + .space 0x4 + .global data_ov00_020e9fc8 +data_ov00_020e9fc8: + .space 0x4 + .global data_ov00_020e9fcc +data_ov00_020e9fcc: + .space 0x4 + .global data_ov00_020e9fd0 +data_ov00_020e9fd0: + .space 0x4 + .global data_ov00_020e9fd4 +data_ov00_020e9fd4: + .space 0x4 + .global data_ov00_020e9fd8 +data_ov00_020e9fd8: + .space 0x4 + .global data_ov00_020e9fdc +data_ov00_020e9fdc: + .space 0x4 + .global data_ov00_020e9fe0 +data_ov00_020e9fe0: + .space 0x4 + .global data_ov00_020e9fe4 +data_ov00_020e9fe4: + .space 0x4 + .global data_ov00_020e9fe8 +data_ov00_020e9fe8: + .space 0x4 + .global data_ov00_020e9fec +data_ov00_020e9fec: + .space 0x4 + .global data_ov00_020e9ff0 +data_ov00_020e9ff0: + .space 0x4 + .global data_ov00_020e9ff4 +data_ov00_020e9ff4: + .space 0x4 + .global data_ov00_020e9ff8 +data_ov00_020e9ff8: + .space 0x4 + .global data_ov00_020e9ffc +data_ov00_020e9ffc: + .space 0x4 + .global data_ov00_020ea000 +data_ov00_020ea000: + .space 0x4 + .global data_ov00_020ea004 +data_ov00_020ea004: + .space 0x4 + .global data_ov00_020ea008 +data_ov00_020ea008: + .space 0x4 + .global data_ov00_020ea00c +data_ov00_020ea00c: + .space 0x4 + .global data_ov00_020ea010 +data_ov00_020ea010: + .space 0x4 + .global data_ov00_020ea014 +data_ov00_020ea014: + .space 0x4 + .global data_ov00_020ea018 +data_ov00_020ea018: + .space 0x4 + .global data_ov00_020ea01c +data_ov00_020ea01c: + .space 0x4 + .global data_ov00_020ea020 +data_ov00_020ea020: + .space 0x4 + .global data_ov00_020ea024 +data_ov00_020ea024: + .space 0x4 + .global data_ov00_020ea028 +data_ov00_020ea028: + .space 0x4 + .global data_ov00_020ea02c +data_ov00_020ea02c: + .space 0x4 + .global data_ov00_020ea030 +data_ov00_020ea030: + .space 0x4 + .global data_ov00_020ea034 +data_ov00_020ea034: + .space 0x4 + .global data_ov00_020ea038 +data_ov00_020ea038: + .space 0x4 + .global data_ov00_020ea03c +data_ov00_020ea03c: + .space 0x4 + .global data_ov00_020ea040 +data_ov00_020ea040: + .space 0x4 + .global data_ov00_020ea044 +data_ov00_020ea044: + .space 0x4 + .global data_ov00_020ea048 +data_ov00_020ea048: + .space 0x4 + .global data_ov00_020ea04c +data_ov00_020ea04c: + .space 0x4 + .global data_ov00_020ea050 +data_ov00_020ea050: + .space 0x4 + .global data_ov00_020ea054 +data_ov00_020ea054: + .space 0x4 + .global data_ov00_020ea058 +data_ov00_020ea058: + .space 0x4 + .global data_ov00_020ea05c +data_ov00_020ea05c: + .space 0x4 + .global data_ov00_020ea060 +data_ov00_020ea060: + .space 0x4 + .global data_ov00_020ea064 +data_ov00_020ea064: + .space 0x4 + .global data_ov00_020ea068 +data_ov00_020ea068: + .space 0x4 + .global data_ov00_020ea06c +data_ov00_020ea06c: + .space 0x4 + .global data_ov00_020ea070 +data_ov00_020ea070: + .space 0x4 + .global data_ov00_020ea074 +data_ov00_020ea074: + .space 0x4 + .global data_ov00_020ea078 +data_ov00_020ea078: + .space 0x4 + .global data_ov00_020ea07c +data_ov00_020ea07c: + .space 0x4 + .global data_ov00_020ea080 +data_ov00_020ea080: + .space 0x4 + .global data_ov00_020ea084 +data_ov00_020ea084: + .space 0x4 + .global data_ov00_020ea088 +data_ov00_020ea088: + .space 0x4 + .global data_ov00_020ea08c +data_ov00_020ea08c: + .space 0x4 + .global data_ov00_020ea090 +data_ov00_020ea090: + .space 0x4 + .global data_ov00_020ea094 +data_ov00_020ea094: + .space 0x4 + .global data_ov00_020ea098 +data_ov00_020ea098: + .space 0x4 + .global data_ov00_020ea09c +data_ov00_020ea09c: + .space 0x4 + .global data_ov00_020ea0a0 +data_ov00_020ea0a0: + .space 0x4 + .global data_ov00_020ea0a4 +data_ov00_020ea0a4: + .space 0x4 + .global data_ov00_020ea0a8 +data_ov00_020ea0a8: + .space 0x4 + .global data_ov00_020ea0ac +data_ov00_020ea0ac: + .space 0x4 + .global data_ov00_020ea0b0 +data_ov00_020ea0b0: + .space 0x4 + .global data_ov00_020ea0b4 +data_ov00_020ea0b4: + .space 0x4 + .global data_ov00_020ea0b8 +data_ov00_020ea0b8: + .space 0x4 + .global data_ov00_020ea0bc +data_ov00_020ea0bc: + .space 0x4 + .global data_ov00_020ea0c0 +data_ov00_020ea0c0: + .space 0x4 + .global data_ov00_020ea0c4 +data_ov00_020ea0c4: + .space 0x4 + .global data_ov00_020ea0c8 +data_ov00_020ea0c8: + .space 0x4 + .global data_ov00_020ea0cc +data_ov00_020ea0cc: + .space 0x4 + .global data_ov00_020ea0d0 +data_ov00_020ea0d0: + .space 0x4 + .global data_ov00_020ea0d4 +data_ov00_020ea0d4: + .space 0x4 + .global data_ov00_020ea0d8 +data_ov00_020ea0d8: + .space 0x4 + .global data_ov00_020ea0dc +data_ov00_020ea0dc: + .space 0x4 + .global data_ov00_020ea0e0 +data_ov00_020ea0e0: + .space 0x4 + .global data_ov00_020ea0e4 +data_ov00_020ea0e4: + .space 0x4 + .global data_ov00_020ea0e8 +data_ov00_020ea0e8: + .space 0x4 + .global data_ov00_020ea0ec +data_ov00_020ea0ec: + .space 0x4 + .global data_ov00_020ea0f0 +data_ov00_020ea0f0: + .space 0x4 + .global data_ov00_020ea0f4 +data_ov00_020ea0f4: + .space 0x4 + .global data_ov00_020ea0f8 +data_ov00_020ea0f8: + .space 0x4 + .global data_ov00_020ea0fc +data_ov00_020ea0fc: + .space 0x4 + .global data_ov00_020ea100 +data_ov00_020ea100: + .space 0x4 + .global data_ov00_020ea104 +data_ov00_020ea104: + .space 0x4 + .global data_ov00_020ea108 +data_ov00_020ea108: + .space 0x4 + .global data_ov00_020ea10c +data_ov00_020ea10c: + .space 0x4 + .global data_ov00_020ea110 +data_ov00_020ea110: + .space 0x4 + .global data_ov00_020ea114 +data_ov00_020ea114: + .space 0x4 + .global data_ov00_020ea118 +data_ov00_020ea118: + .space 0x4 + .global data_ov00_020ea11c +data_ov00_020ea11c: + .space 0x4 + .global data_ov00_020ea120 +data_ov00_020ea120: + .space 0x4 + .global data_ov00_020ea124 +data_ov00_020ea124: + .space 0x4 + .global data_ov00_020ea128 +data_ov00_020ea128: + .space 0x4 + .global data_ov00_020ea12c +data_ov00_020ea12c: + .space 0x4 + .global data_ov00_020ea130 +data_ov00_020ea130: + .space 0x4 + .global data_ov00_020ea134 +data_ov00_020ea134: + .space 0x4 + .global data_ov00_020ea138 +data_ov00_020ea138: + .space 0x4 + .global data_ov00_020ea13c +data_ov00_020ea13c: + .space 0x4 + .global data_ov00_020ea140 +data_ov00_020ea140: + .space 0x4 + .global data_ov00_020ea144 +data_ov00_020ea144: + .space 0x4 + .global data_ov00_020ea148 +data_ov00_020ea148: + .space 0x4 + .global data_ov00_020ea14c +data_ov00_020ea14c: + .space 0x4 + .global data_ov00_020ea150 +data_ov00_020ea150: + .space 0x4 + .global data_ov00_020ea154 +data_ov00_020ea154: + .space 0x4 + .global data_ov00_020ea158 +data_ov00_020ea158: + .space 0x4 + .global data_ov00_020ea15c +data_ov00_020ea15c: + .space 0x4 + .global data_ov00_020ea160 +data_ov00_020ea160: + .space 0x4 + .global data_ov00_020ea164 +data_ov00_020ea164: + .space 0x4 + .global data_ov00_020ea168 +data_ov00_020ea168: + .space 0x4 + .global data_ov00_020ea16c +data_ov00_020ea16c: + .space 0x4 + .global data_ov00_020ea170 +data_ov00_020ea170: + .space 0x4 + .global data_ov00_020ea174 +data_ov00_020ea174: + .space 0x4 + .global data_ov00_020ea178 +data_ov00_020ea178: + .space 0x4 + .global data_ov00_020ea17c +data_ov00_020ea17c: + .space 0x4 + .global data_ov00_020ea180 +data_ov00_020ea180: + .space 0x4 + .global data_ov00_020ea184 +data_ov00_020ea184: + .space 0x4 + .global data_ov00_020ea188 +data_ov00_020ea188: + .space 0x4 + .global data_ov00_020ea18c +data_ov00_020ea18c: + .space 0x4 + .global data_ov00_020ea190 +data_ov00_020ea190: + .space 0x4 + .global data_ov00_020ea194 +data_ov00_020ea194: + .space 0x4 + .global data_ov00_020ea198 +data_ov00_020ea198: + .space 0x4 + .global data_ov00_020ea19c +data_ov00_020ea19c: + .space 0x4 + .global data_ov00_020ea1a0 +data_ov00_020ea1a0: + .space 0x4 + .global data_ov00_020ea1a4 +data_ov00_020ea1a4: + .space 0x4 + .global data_ov00_020ea1a8 +data_ov00_020ea1a8: + .space 0x4 + .global data_ov00_020ea1ac +data_ov00_020ea1ac: + .space 0x4 + .global data_ov00_020ea1b0 +data_ov00_020ea1b0: + .space 0x4 + .global data_ov00_020ea1b4 +data_ov00_020ea1b4: + .space 0x4 + .global data_ov00_020ea1b8 +data_ov00_020ea1b8: + .space 0x4 + .global data_ov00_020ea1bc +data_ov00_020ea1bc: + .space 0x4 + .global data_ov00_020ea1c0 +data_ov00_020ea1c0: + .space 0x4 + .global data_ov00_020ea1c4 +data_ov00_020ea1c4: + .space 0x4 + .global data_ov00_020ea1c8 +data_ov00_020ea1c8: + .space 0x4 + .global data_ov00_020ea1cc +data_ov00_020ea1cc: + .space 0x4 + .global data_ov00_020ea1d0 +data_ov00_020ea1d0: + .space 0x4 + .global data_ov00_020ea1d4 +data_ov00_020ea1d4: + .space 0x4 + .global data_ov00_020ea1d8 +data_ov00_020ea1d8: + .space 0x4 + .global data_ov00_020ea1dc +data_ov00_020ea1dc: + .space 0x4 + .global data_ov00_020ea1e0 +data_ov00_020ea1e0: + .space 0x4 + .global data_ov00_020ea1e4 +data_ov00_020ea1e4: + .space 0x4 + .global data_ov00_020ea1e8 +data_ov00_020ea1e8: + .space 0x4 + .global data_ov00_020ea1ec +data_ov00_020ea1ec: + .space 0x4 + .global data_ov00_020ea1f0 +data_ov00_020ea1f0: + .space 0x4 + .global data_ov00_020ea1f4 +data_ov00_020ea1f4: + .space 0x4 + .global data_ov00_020ea1f8 +data_ov00_020ea1f8: + .space 0x4 + .global data_ov00_020ea1fc +data_ov00_020ea1fc: + .space 0x4 + .global data_ov00_020ea200 +data_ov00_020ea200: + .space 0x4 + .global data_ov00_020ea204 +data_ov00_020ea204: + .space 0x4 + .global data_ov00_020ea208 +data_ov00_020ea208: + .space 0x4 + .global data_ov00_020ea20c +data_ov00_020ea20c: + .space 0x4 + .global data_ov00_020ea210 +data_ov00_020ea210: + .space 0x4 + .global data_ov00_020ea214 +data_ov00_020ea214: + .space 0x4 + .global data_ov00_020ea218 +data_ov00_020ea218: + .space 0x4 + .global data_ov00_020ea21c +data_ov00_020ea21c: + .space 0x4 + .global data_ov00_020ea220 +data_ov00_020ea220: + .space 0x4 + .global data_ov00_020ea224 +data_ov00_020ea224: + .space 0x4 + .global data_ov00_020ea228 +data_ov00_020ea228: + .space 0x4 + .global data_ov00_020ea22c +data_ov00_020ea22c: + .space 0x4 + .global data_ov00_020ea230 +data_ov00_020ea230: + .space 0x4 + .global data_ov00_020ea234 +data_ov00_020ea234: + .space 0x4 + .global data_ov00_020ea238 +data_ov00_020ea238: + .space 0x4 + .global data_ov00_020ea23c +data_ov00_020ea23c: + .space 0x4 + .global data_ov00_020ea240 +data_ov00_020ea240: + .space 0x4 + .global data_ov00_020ea244 +data_ov00_020ea244: + .space 0x4 + .global data_ov00_020ea248 +data_ov00_020ea248: + .space 0x4 + .global data_ov00_020ea24c +data_ov00_020ea24c: + .space 0x4 + .global data_ov00_020ea250 +data_ov00_020ea250: + .space 0x4 + .global data_ov00_020ea254 +data_ov00_020ea254: + .space 0x4 + .global data_ov00_020ea258 +data_ov00_020ea258: + .space 0x4 + .global data_ov00_020ea25c +data_ov00_020ea25c: + .space 0x4 + .global data_ov00_020ea260 +data_ov00_020ea260: + .space 0x4 + .global data_ov00_020ea264 +data_ov00_020ea264: + .space 0x4 + .global data_ov00_020ea268 +data_ov00_020ea268: + .space 0x4 + .global data_ov00_020ea26c +data_ov00_020ea26c: + .space 0x4 + .global data_ov00_020ea270 +data_ov00_020ea270: + .space 0x4 + .global data_ov00_020ea274 +data_ov00_020ea274: + .space 0x4 + .global data_ov00_020ea278 +data_ov00_020ea278: + .space 0x4 + .global data_ov00_020ea27c +data_ov00_020ea27c: + .space 0x4 + .global data_ov00_020ea280 +data_ov00_020ea280: + .space 0x4 + .global data_ov00_020ea284 +data_ov00_020ea284: + .space 0x4 + .global data_ov00_020ea288 +data_ov00_020ea288: + .space 0x4 + .global data_ov00_020ea28c +data_ov00_020ea28c: + .space 0x4 + .global data_ov00_020ea290 +data_ov00_020ea290: + .space 0x4 + .global data_ov00_020ea294 +data_ov00_020ea294: + .space 0x4 + .global data_ov00_020ea298 +data_ov00_020ea298: + .space 0x4 + .global data_ov00_020ea29c +data_ov00_020ea29c: + .space 0x4 + .global data_ov00_020ea2a0 +data_ov00_020ea2a0: + .space 0x4 + .global data_ov00_020ea2a4 +data_ov00_020ea2a4: + .space 0x4 + .global data_ov00_020ea2a8 +data_ov00_020ea2a8: + .space 0x4 + .global data_ov00_020ea2ac +data_ov00_020ea2ac: + .space 0x4 + .global data_ov00_020ea2b0 +data_ov00_020ea2b0: + .space 0x4 + .global data_ov00_020ea2b4 +data_ov00_020ea2b4: + .space 0x4 + .global data_ov00_020ea2b8 +data_ov00_020ea2b8: + .space 0x4 + .global data_ov00_020ea2bc +data_ov00_020ea2bc: + .space 0x4 + .global data_ov00_020ea2c0 +data_ov00_020ea2c0: + .space 0x4 + .global data_ov00_020ea2c4 +data_ov00_020ea2c4: + .space 0x4 + .global data_ov00_020ea2c8 +data_ov00_020ea2c8: + .space 0x4 + .global data_ov00_020ea2cc +data_ov00_020ea2cc: + .space 0x4 + .global data_ov00_020ea2d0 +data_ov00_020ea2d0: + .space 0x4 + .global data_ov00_020ea2d4 +data_ov00_020ea2d4: + .space 0x4 + .global data_ov00_020ea2d8 +data_ov00_020ea2d8: + .space 0x4 + .global data_ov00_020ea2dc +data_ov00_020ea2dc: + .space 0x4 + .global data_ov00_020ea2e0 +data_ov00_020ea2e0: + .space 0x4 + .global data_ov00_020ea2e4 +data_ov00_020ea2e4: + .space 0x4 + .global data_ov00_020ea2e8 +data_ov00_020ea2e8: + .space 0x4 + .global data_ov00_020ea2ec +data_ov00_020ea2ec: + .space 0x4 + .global data_ov00_020ea2f0 +data_ov00_020ea2f0: + .space 0x4 + .global data_ov00_020ea2f4 +data_ov00_020ea2f4: + .space 0x4 + .global data_ov00_020ea2f8 +data_ov00_020ea2f8: + .space 0x4 + .global data_ov00_020ea2fc +data_ov00_020ea2fc: + .space 0x4 + .global data_ov00_020ea300 +data_ov00_020ea300: + .space 0x4 + .global data_ov00_020ea304 +data_ov00_020ea304: + .space 0x4 + .global data_ov00_020ea308 +data_ov00_020ea308: + .space 0x4 + .global data_ov00_020ea30c +data_ov00_020ea30c: + .space 0x4 + .global data_ov00_020ea310 +data_ov00_020ea310: + .space 0x4 + .global data_ov00_020ea314 +data_ov00_020ea314: + .space 0x4 + .global data_ov00_020ea318 +data_ov00_020ea318: + .space 0x4 + .global data_ov00_020ea31c +data_ov00_020ea31c: + .space 0x4 + .global data_ov00_020ea320 +data_ov00_020ea320: + .space 0x4 + .global data_ov00_020ea324 +data_ov00_020ea324: + .space 0x4 + .global data_ov00_020ea328 +data_ov00_020ea328: + .space 0x4 + .global data_ov00_020ea32c +data_ov00_020ea32c: + .space 0x4 + .global data_ov00_020ea330 +data_ov00_020ea330: + .space 0x4 + .global data_ov00_020ea334 +data_ov00_020ea334: + .space 0x4 + .global data_ov00_020ea338 +data_ov00_020ea338: + .space 0x4 + .global data_ov00_020ea33c +data_ov00_020ea33c: + .space 0x4 + .global data_ov00_020ea340 +data_ov00_020ea340: + .space 0x4 + .global data_ov00_020ea344 +data_ov00_020ea344: + .space 0x4 + .global data_ov00_020ea348 +data_ov00_020ea348: + .space 0x4 + .global data_ov00_020ea34c +data_ov00_020ea34c: + .space 0x4 + .global data_ov00_020ea350 +data_ov00_020ea350: + .space 0x4 + .global data_ov00_020ea354 +data_ov00_020ea354: + .space 0x4 + .global data_ov00_020ea358 +data_ov00_020ea358: + .space 0x4 + .global data_ov00_020ea35c +data_ov00_020ea35c: + .space 0x4 + .global data_ov00_020ea360 +data_ov00_020ea360: + .space 0x4 + .global data_ov00_020ea364 +data_ov00_020ea364: + .space 0x4 + .global data_ov00_020ea368 +data_ov00_020ea368: + .space 0x4 + .global data_ov00_020ea36c +data_ov00_020ea36c: + .space 0x4 + .global data_ov00_020ea370 +data_ov00_020ea370: + .space 0x4 + .global data_ov00_020ea374 +data_ov00_020ea374: + .space 0x4 + .global data_ov00_020ea378 +data_ov00_020ea378: + .space 0x4 + .global data_ov00_020ea37c +data_ov00_020ea37c: + .space 0x4 + .global data_ov00_020ea380 +data_ov00_020ea380: + .space 0x4 + .global data_ov00_020ea384 +data_ov00_020ea384: + .space 0x4 + .global data_ov00_020ea388 +data_ov00_020ea388: + .space 0x4 + .global data_ov00_020ea38c +data_ov00_020ea38c: + .space 0x4 + .global data_ov00_020ea390 +data_ov00_020ea390: + .space 0x4 + .global data_ov00_020ea394 +data_ov00_020ea394: + .space 0x4 + .global data_ov00_020ea398 +data_ov00_020ea398: + .space 0x4 + .global data_ov00_020ea39c +data_ov00_020ea39c: + .space 0x4 + .global data_ov00_020ea3a0 +data_ov00_020ea3a0: + .space 0x4 + .global data_ov00_020ea3a4 +data_ov00_020ea3a4: + .space 0x4 + .global data_ov00_020ea3a8 +data_ov00_020ea3a8: + .space 0x4 + .global data_ov00_020ea3ac +data_ov00_020ea3ac: + .space 0x4 + .global data_ov00_020ea3b0 +data_ov00_020ea3b0: + .space 0x4 + .global data_ov00_020ea3b4 +data_ov00_020ea3b4: + .space 0x4 + .global data_ov00_020ea3b8 +data_ov00_020ea3b8: + .space 0x4 + .global data_ov00_020ea3bc +data_ov00_020ea3bc: + .space 0x4 + .global data_ov00_020ea3c0 +data_ov00_020ea3c0: + .space 0x4 + .global data_ov00_020ea3c4 +data_ov00_020ea3c4: + .space 0x4 + .global data_ov00_020ea3c8 +data_ov00_020ea3c8: + .space 0x4 + .global data_ov00_020ea3cc +data_ov00_020ea3cc: + .space 0x4 + .global data_ov00_020ea3d0 +data_ov00_020ea3d0: + .space 0x4 + .global data_ov00_020ea3d4 +data_ov00_020ea3d4: + .space 0x4 + .global data_ov00_020ea3d8 +data_ov00_020ea3d8: + .space 0x4 + .global data_ov00_020ea3dc +data_ov00_020ea3dc: + .space 0x4 + .global data_ov00_020ea3e0 +data_ov00_020ea3e0: + .space 0x4 + .global data_ov00_020ea3e4 +data_ov00_020ea3e4: + .space 0x4 + .global data_ov00_020ea3e8 +data_ov00_020ea3e8: + .space 0x4 + .global data_ov00_020ea3ec +data_ov00_020ea3ec: + .space 0x4 + .global data_ov00_020ea3f0 +data_ov00_020ea3f0: + .space 0x4 + .global data_ov00_020ea3f4 +data_ov00_020ea3f4: + .space 0x4 + .global data_ov00_020ea3f8 +data_ov00_020ea3f8: + .space 0x4 + .global data_ov00_020ea3fc +data_ov00_020ea3fc: + .space 0x4 + .global data_ov00_020ea400 +data_ov00_020ea400: + .space 0x4 + .global data_ov00_020ea404 +data_ov00_020ea404: + .space 0x4 + .global data_ov00_020ea408 +data_ov00_020ea408: + .space 0x4 + .global data_ov00_020ea40c +data_ov00_020ea40c: + .space 0x4 + .global data_ov00_020ea410 +data_ov00_020ea410: + .space 0x4 + .global data_ov00_020ea414 +data_ov00_020ea414: + .space 0x4 + .global data_ov00_020ea418 +data_ov00_020ea418: + .space 0x4 + .global data_ov00_020ea41c +data_ov00_020ea41c: + .space 0x4 + .global data_ov00_020ea420 +data_ov00_020ea420: + .space 0x4 + .global data_ov00_020ea424 +data_ov00_020ea424: + .space 0x4 + .global data_ov00_020ea428 +data_ov00_020ea428: + .space 0x4 + .global data_ov00_020ea42c +data_ov00_020ea42c: + .space 0x4 + .global data_ov00_020ea430 +data_ov00_020ea430: + .space 0x4 + .global data_ov00_020ea434 +data_ov00_020ea434: + .space 0x4 + .global data_ov00_020ea438 +data_ov00_020ea438: + .space 0x4 + .global data_ov00_020ea43c +data_ov00_020ea43c: + .space 0x4 + .global data_ov00_020ea440 +data_ov00_020ea440: + .space 0x4 + .global data_ov00_020ea444 +data_ov00_020ea444: + .space 0x4 + .global data_ov00_020ea448 +data_ov00_020ea448: + .space 0x4 + .global data_ov00_020ea44c +data_ov00_020ea44c: + .space 0x4 + .global data_ov00_020ea450 +data_ov00_020ea450: + .space 0x4 + .global data_ov00_020ea454 +data_ov00_020ea454: + .space 0x4 + .global data_ov00_020ea458 +data_ov00_020ea458: + .space 0x4 + .global data_ov00_020ea45c +data_ov00_020ea45c: + .space 0x4 + .global data_ov00_020ea460 +data_ov00_020ea460: + .space 0x4 + .global data_ov00_020ea464 +data_ov00_020ea464: + .space 0x4 + .global data_ov00_020ea468 +data_ov00_020ea468: + .space 0x4 + .global data_ov00_020ea46c +data_ov00_020ea46c: + .space 0x4 + .global data_ov00_020ea470 +data_ov00_020ea470: + .space 0x4 + .global data_ov00_020ea474 +data_ov00_020ea474: + .space 0x4 + .global data_ov00_020ea478 +data_ov00_020ea478: + .space 0x4 + .global data_ov00_020ea47c +data_ov00_020ea47c: + .space 0x4 + .global data_ov00_020ea480 +data_ov00_020ea480: + .space 0x4 + .global data_ov00_020ea484 +data_ov00_020ea484: + .space 0x4 + .global data_ov00_020ea488 +data_ov00_020ea488: + .space 0x4 + .global data_ov00_020ea48c +data_ov00_020ea48c: + .space 0x4 + .global data_ov00_020ea490 +data_ov00_020ea490: + .space 0x4 + .global data_ov00_020ea494 +data_ov00_020ea494: + .space 0x4 + .global data_ov00_020ea498 +data_ov00_020ea498: + .space 0x4 + .global data_ov00_020ea49c +data_ov00_020ea49c: + .space 0x4 + .global data_ov00_020ea4a0 +data_ov00_020ea4a0: + .space 0x4 + .global data_ov00_020ea4a4 +data_ov00_020ea4a4: + .space 0x4 + .global data_ov00_020ea4a8 +data_ov00_020ea4a8: + .space 0x4 + .global data_ov00_020ea4ac +data_ov00_020ea4ac: + .space 0x4 + .global data_ov00_020ea4b0 +data_ov00_020ea4b0: + .space 0x4 + .global data_ov00_020ea4b4 +data_ov00_020ea4b4: + .space 0x4 + .global data_ov00_020ea4b8 +data_ov00_020ea4b8: + .space 0x4 + .global data_ov00_020ea4bc +data_ov00_020ea4bc: + .space 0x4 + .global data_ov00_020ea4c0 +data_ov00_020ea4c0: + .space 0x4 + .global data_ov00_020ea4c4 +data_ov00_020ea4c4: + .space 0x4 + .global data_ov00_020ea4c8 +data_ov00_020ea4c8: + .space 0x4 + .global data_ov00_020ea4cc +data_ov00_020ea4cc: + .space 0x4 + .global data_ov00_020ea4d0 +data_ov00_020ea4d0: + .space 0x4 + .global data_ov00_020ea4d4 +data_ov00_020ea4d4: + .space 0x4 + .global data_ov00_020ea4d8 +data_ov00_020ea4d8: + .space 0x4 + .global data_ov00_020ea4dc +data_ov00_020ea4dc: + .space 0x4 + .global data_ov00_020ea4e0 +data_ov00_020ea4e0: + .space 0x4 + .global data_ov00_020ea4e4 +data_ov00_020ea4e4: + .space 0x4 + .global data_ov00_020ea4e8 +data_ov00_020ea4e8: + .space 0x4 + .global data_ov00_020ea4ec +data_ov00_020ea4ec: + .space 0x4 + .global data_ov00_020ea4f0 +data_ov00_020ea4f0: + .space 0x4 + .global data_ov00_020ea4f4 +data_ov00_020ea4f4: + .space 0x4 + .global data_ov00_020ea4f8 +data_ov00_020ea4f8: + .space 0x4 + .global data_ov00_020ea4fc +data_ov00_020ea4fc: + .space 0x4 + .global data_ov00_020ea500 +data_ov00_020ea500: + .space 0x4 + .global data_ov00_020ea504 +data_ov00_020ea504: + .space 0x4 + .global data_ov00_020ea508 +data_ov00_020ea508: + .space 0x4 + .global data_ov00_020ea50c +data_ov00_020ea50c: + .space 0x4 + .global data_ov00_020ea510 +data_ov00_020ea510: + .space 0x4 + .global data_ov00_020ea514 +data_ov00_020ea514: + .space 0x4 + .global data_ov00_020ea518 +data_ov00_020ea518: + .space 0x4 + .global data_ov00_020ea51c +data_ov00_020ea51c: + .space 0x4 + .global data_ov00_020ea520 +data_ov00_020ea520: + .space 0x4 + .global data_ov00_020ea524 +data_ov00_020ea524: + .space 0x4 + .global data_ov00_020ea528 +data_ov00_020ea528: + .space 0x4 + .global data_ov00_020ea52c +data_ov00_020ea52c: + .space 0x4 + .global data_ov00_020ea530 +data_ov00_020ea530: + .space 0x4 + .global data_ov00_020ea534 +data_ov00_020ea534: + .space 0x4 + .global data_ov00_020ea538 +data_ov00_020ea538: + .space 0x4 + .global data_ov00_020ea53c +data_ov00_020ea53c: + .space 0x4 + .global data_ov00_020ea540 +data_ov00_020ea540: + .space 0x4 + .global data_ov00_020ea544 +data_ov00_020ea544: + .space 0x4 + .global data_ov00_020ea548 +data_ov00_020ea548: + .space 0x4 + .global data_ov00_020ea54c +data_ov00_020ea54c: + .space 0x4 + .global data_ov00_020ea550 +data_ov00_020ea550: + .space 0x4 + .global data_ov00_020ea554 +data_ov00_020ea554: + .space 0x4 + .global data_ov00_020ea558 +data_ov00_020ea558: + .space 0x4 + .global data_ov00_020ea55c +data_ov00_020ea55c: + .space 0x4 + .global data_ov00_020ea560 +data_ov00_020ea560: + .space 0x4 + .global data_ov00_020ea564 +data_ov00_020ea564: + .space 0x4 + .global data_ov00_020ea568 +data_ov00_020ea568: + .space 0x4 + .global data_ov00_020ea56c +data_ov00_020ea56c: + .space 0x4 + .global data_ov00_020ea570 +data_ov00_020ea570: + .space 0x4 + .global data_ov00_020ea574 +data_ov00_020ea574: + .space 0x4 + .global data_ov00_020ea578 +data_ov00_020ea578: + .space 0x4 + .global data_ov00_020ea57c +data_ov00_020ea57c: + .space 0x4 + .global data_ov00_020ea580 +data_ov00_020ea580: + .space 0x4 + .global data_ov00_020ea584 +data_ov00_020ea584: + .space 0x4 + .global data_ov00_020ea588 +data_ov00_020ea588: + .space 0x4 + .global data_ov00_020ea58c +data_ov00_020ea58c: + .space 0x4 + .global data_ov00_020ea590 +data_ov00_020ea590: + .space 0x4 + .global data_ov00_020ea594 +data_ov00_020ea594: + .space 0x4 + .global data_ov00_020ea598 +data_ov00_020ea598: + .space 0x4 + .global data_ov00_020ea59c +data_ov00_020ea59c: + .space 0x4 + .global data_ov00_020ea5a0 +data_ov00_020ea5a0: + .space 0x4 + .global data_ov00_020ea5a4 +data_ov00_020ea5a4: + .space 0x4 + .global data_ov00_020ea5a8 +data_ov00_020ea5a8: + .space 0x4 + .global data_ov00_020ea5ac +data_ov00_020ea5ac: + .space 0x4 + .global data_ov00_020ea5b0 +data_ov00_020ea5b0: + .space 0x4 + .global data_ov00_020ea5b4 +data_ov00_020ea5b4: + .space 0x4 + .global data_ov00_020ea5b8 +data_ov00_020ea5b8: + .space 0x4 + .global data_ov00_020ea5bc +data_ov00_020ea5bc: + .space 0x4 + .global data_ov00_020ea5c0 +data_ov00_020ea5c0: + .space 0x4 + .global data_ov00_020ea5c4 +data_ov00_020ea5c4: + .space 0x4 + .global data_ov00_020ea5c8 +data_ov00_020ea5c8: + .space 0x4 + .global data_ov00_020ea5cc +data_ov00_020ea5cc: + .space 0x4 + .global data_ov00_020ea5d0 +data_ov00_020ea5d0: + .space 0x4 + .global data_ov00_020ea5d4 +data_ov00_020ea5d4: + .space 0x4 + .global data_ov00_020ea5d8 +data_ov00_020ea5d8: + .space 0x4 + .global data_ov00_020ea5dc +data_ov00_020ea5dc: + .space 0x4 + .global data_ov00_020ea5e0 +data_ov00_020ea5e0: + .space 0x4 + .global data_ov00_020ea5e4 +data_ov00_020ea5e4: + .space 0x4 + .global data_ov00_020ea5e8 +data_ov00_020ea5e8: + .space 0x4 + .global data_ov00_020ea5ec +data_ov00_020ea5ec: + .space 0x4 + .global data_ov00_020ea5f0 +data_ov00_020ea5f0: + .space 0x4 + .global data_ov00_020ea5f4 +data_ov00_020ea5f4: + .space 0x4 + .global data_ov00_020ea5f8 +data_ov00_020ea5f8: + .space 0x4 + .global data_ov00_020ea5fc +data_ov00_020ea5fc: + .space 0x4 + .global data_ov00_020ea600 +data_ov00_020ea600: + .space 0x4 + .global data_ov00_020ea604 +data_ov00_020ea604: + .space 0x4 + .global data_ov00_020ea608 +data_ov00_020ea608: + .space 0x4 + .global data_ov00_020ea60c +data_ov00_020ea60c: + .space 0x4 + .global data_ov00_020ea610 +data_ov00_020ea610: + .space 0x4 + .global data_ov00_020ea614 +data_ov00_020ea614: + .space 0x4 + .global data_ov00_020ea618 +data_ov00_020ea618: + .space 0x4 + .global data_ov00_020ea61c +data_ov00_020ea61c: + .space 0x4 + .global data_ov00_020ea620 +data_ov00_020ea620: + .space 0x4 + .global data_ov00_020ea624 +data_ov00_020ea624: + .space 0x4 + .global data_ov00_020ea628 +data_ov00_020ea628: + .space 0x4 + .global data_ov00_020ea62c +data_ov00_020ea62c: + .space 0x4 + .global data_ov00_020ea630 +data_ov00_020ea630: + .space 0x4 + .global data_ov00_020ea634 +data_ov00_020ea634: + .space 0x4 + .global data_ov00_020ea638 +data_ov00_020ea638: + .space 0x4 + .global data_ov00_020ea63c +data_ov00_020ea63c: + .space 0x4 + .global data_ov00_020ea640 +data_ov00_020ea640: + .space 0x4 + .global data_ov00_020ea644 +data_ov00_020ea644: + .space 0x4 + .global data_ov00_020ea648 +data_ov00_020ea648: + .space 0x4 + .global data_ov00_020ea64c +data_ov00_020ea64c: + .space 0x4 + .global data_ov00_020ea650 +data_ov00_020ea650: + .space 0x4 + .global data_ov00_020ea654 +data_ov00_020ea654: + .space 0x4 + .global data_ov00_020ea658 +data_ov00_020ea658: + .space 0x4 + .global data_ov00_020ea65c +data_ov00_020ea65c: + .space 0x4 + .global data_ov00_020ea660 +data_ov00_020ea660: + .space 0x4 + .global data_ov00_020ea664 +data_ov00_020ea664: + .space 0x4 + .global data_ov00_020ea668 +data_ov00_020ea668: + .space 0x4 + .global data_ov00_020ea66c +data_ov00_020ea66c: + .space 0x4 + .global data_ov00_020ea670 +data_ov00_020ea670: + .space 0x4 + .global data_ov00_020ea674 +data_ov00_020ea674: + .space 0x4 + .global data_ov00_020ea678 +data_ov00_020ea678: + .space 0x4 + .global data_ov00_020ea67c +data_ov00_020ea67c: + .space 0x4 + .global data_ov00_020ea680 +data_ov00_020ea680: + .space 0x4 + .global data_ov00_020ea684 +data_ov00_020ea684: + .space 0x4 + .global data_ov00_020ea688 +data_ov00_020ea688: + .space 0x4 + .global data_ov00_020ea68c +data_ov00_020ea68c: + .space 0x4 + .global data_ov00_020ea690 +data_ov00_020ea690: + .space 0x4 + .global data_ov00_020ea694 +data_ov00_020ea694: + .space 0x4 + .global data_ov00_020ea698 +data_ov00_020ea698: + .space 0x4 + .global data_ov00_020ea69c +data_ov00_020ea69c: + .space 0x4 + .global data_ov00_020ea6a0 +data_ov00_020ea6a0: + .space 0x4 + .global data_ov00_020ea6a4 +data_ov00_020ea6a4: + .space 0x4 + .global data_ov00_020ea6a8 +data_ov00_020ea6a8: + .space 0x4 + .global data_ov00_020ea6ac +data_ov00_020ea6ac: + .space 0x4 + .global data_ov00_020ea6b0 +data_ov00_020ea6b0: + .space 0x4 + .global data_ov00_020ea6b4 +data_ov00_020ea6b4: + .space 0x4 + .global data_ov00_020ea6b8 +data_ov00_020ea6b8: + .space 0x4 + .global data_ov00_020ea6bc +data_ov00_020ea6bc: + .space 0x4 + .global data_ov00_020ea6c0 +data_ov00_020ea6c0: + .space 0x4 + .global data_ov00_020ea6c4 +data_ov00_020ea6c4: + .space 0x4 + .global data_ov00_020ea6c8 +data_ov00_020ea6c8: + .space 0x4 + .global data_ov00_020ea6cc +data_ov00_020ea6cc: + .space 0x4 + .global data_ov00_020ea6d0 +data_ov00_020ea6d0: + .space 0x4 + .global data_ov00_020ea6d4 +data_ov00_020ea6d4: + .space 0x4 + .global data_ov00_020ea6d8 +data_ov00_020ea6d8: + .space 0x4 + .global data_ov00_020ea6dc +data_ov00_020ea6dc: + .space 0x4 + .global data_ov00_020ea6e0 +data_ov00_020ea6e0: + .space 0x4 + .global data_ov00_020ea6e4 +data_ov00_020ea6e4: + .space 0x4 + .global data_ov00_020ea6e8 +data_ov00_020ea6e8: + .space 0x4 + .global data_ov00_020ea6ec +data_ov00_020ea6ec: + .space 0x4 + .global data_ov00_020ea6f0 +data_ov00_020ea6f0: + .space 0x4 + .global data_ov00_020ea6f4 +data_ov00_020ea6f4: + .space 0x4 + .global data_ov00_020ea6f8 +data_ov00_020ea6f8: + .space 0x4 + .global data_ov00_020ea6fc +data_ov00_020ea6fc: + .space 0x4 + .global data_ov00_020ea700 +data_ov00_020ea700: + .space 0x4 + .global data_ov00_020ea704 +data_ov00_020ea704: + .space 0x4 + .global data_ov00_020ea708 +data_ov00_020ea708: + .space 0x4 + .global data_ov00_020ea70c +data_ov00_020ea70c: + .space 0x4 + .global data_ov00_020ea710 +data_ov00_020ea710: + .space 0x4 + .global data_ov00_020ea714 +data_ov00_020ea714: + .space 0x4 + .global data_ov00_020ea718 +data_ov00_020ea718: + .space 0x4 + .global data_ov00_020ea71c +data_ov00_020ea71c: + .space 0x4 + .global data_ov00_020ea720 +data_ov00_020ea720: + .space 0x4 + .global data_ov00_020ea724 +data_ov00_020ea724: + .space 0x4 + .global data_ov00_020ea728 +data_ov00_020ea728: + .space 0x4 + .global data_ov00_020ea72c +data_ov00_020ea72c: + .space 0x4 + .global data_ov00_020ea730 +data_ov00_020ea730: + .space 0x4 + .global data_ov00_020ea734 +data_ov00_020ea734: + .space 0x4 + .global data_ov00_020ea738 +data_ov00_020ea738: + .space 0x4 + .global data_ov00_020ea73c +data_ov00_020ea73c: + .space 0x4 + .global data_ov00_020ea740 +data_ov00_020ea740: + .space 0x4 + .global data_ov00_020ea744 +data_ov00_020ea744: + .space 0x4 + .global data_ov00_020ea748 +data_ov00_020ea748: + .space 0x4 + .global data_ov00_020ea74c +data_ov00_020ea74c: + .space 0x4 + .global data_ov00_020ea750 +data_ov00_020ea750: + .space 0x4 + .global data_ov00_020ea754 +data_ov00_020ea754: + .space 0x4 + .global data_ov00_020ea758 +data_ov00_020ea758: + .space 0x4 + .global data_ov00_020ea75c +data_ov00_020ea75c: + .space 0x4 + .global data_ov00_020ea760 +data_ov00_020ea760: + .space 0x4 + .global data_ov00_020ea764 +data_ov00_020ea764: + .space 0x4 + .global data_ov00_020ea768 +data_ov00_020ea768: + .space 0x4 + .global data_ov00_020ea76c +data_ov00_020ea76c: + .space 0x4 + .global data_ov00_020ea770 +data_ov00_020ea770: + .space 0x4 + .global data_ov00_020ea774 +data_ov00_020ea774: + .space 0x4 + .global data_ov00_020ea778 +data_ov00_020ea778: + .space 0x4 + .global data_ov00_020ea77c +data_ov00_020ea77c: + .space 0x4 + .global data_ov00_020ea780 +data_ov00_020ea780: + .space 0x4 + .global data_ov00_020ea784 +data_ov00_020ea784: + .space 0x4 + .global data_ov00_020ea788 +data_ov00_020ea788: + .space 0x4 + .global data_ov00_020ea78c +data_ov00_020ea78c: + .space 0x4 + .global data_ov00_020ea790 +data_ov00_020ea790: + .space 0x4 + .global data_ov00_020ea794 +data_ov00_020ea794: + .space 0x4 + .global data_ov00_020ea798 +data_ov00_020ea798: + .space 0x4 + .global data_ov00_020ea79c +data_ov00_020ea79c: + .space 0x4 + .global data_ov00_020ea7a0 +data_ov00_020ea7a0: + .space 0x4 + .global data_ov00_020ea7a4 +data_ov00_020ea7a4: + .space 0x4 + .global data_ov00_020ea7a8 +data_ov00_020ea7a8: + .space 0x4 + .global data_ov00_020ea7ac +data_ov00_020ea7ac: + .space 0x4 + .global data_ov00_020ea7b0 +data_ov00_020ea7b0: + .space 0x4 + .global data_ov00_020ea7b4 +data_ov00_020ea7b4: + .space 0x4 + .global data_ov00_020ea7b8 +data_ov00_020ea7b8: + .space 0x4 + .global data_ov00_020ea7bc +data_ov00_020ea7bc: + .space 0x4 + .global data_ov00_020ea7c0 +data_ov00_020ea7c0: + .space 0x4 + .global data_ov00_020ea7c4 +data_ov00_020ea7c4: + .space 0x4 + .global data_ov00_020ea7c8 +data_ov00_020ea7c8: + .space 0x4 + .global data_ov00_020ea7cc +data_ov00_020ea7cc: + .space 0x4 + .global data_ov00_020ea7d0 +data_ov00_020ea7d0: + .space 0x4 + .global data_ov00_020ea7d4 +data_ov00_020ea7d4: + .space 0x4 + .global data_ov00_020ea7d8 +data_ov00_020ea7d8: + .space 0x4 + .global data_ov00_020ea7dc +data_ov00_020ea7dc: + .space 0x4 + .global data_ov00_020ea7e0 +data_ov00_020ea7e0: + .space 0x4 + .global data_ov00_020ea7e4 +data_ov00_020ea7e4: + .space 0x4 + .global data_ov00_020ea7e8 +data_ov00_020ea7e8: + .space 0x4 + .global data_ov00_020ea7ec +data_ov00_020ea7ec: + .space 0x4 + .global data_ov00_020ea7f0 +data_ov00_020ea7f0: + .space 0x4 + .global data_ov00_020ea7f4 +data_ov00_020ea7f4: + .space 0x4 + .global data_ov00_020ea7f8 +data_ov00_020ea7f8: + .space 0x4 + .global data_ov00_020ea7fc +data_ov00_020ea7fc: + .space 0x4 + .global data_ov00_020ea800 +data_ov00_020ea800: + .space 0x4 + .global data_ov00_020ea804 +data_ov00_020ea804: + .space 0x4 + .global data_ov00_020ea808 +data_ov00_020ea808: + .space 0x4 + .global data_ov00_020ea80c +data_ov00_020ea80c: + .space 0x4 + .global data_ov00_020ea810 +data_ov00_020ea810: + .space 0x4 + .global data_ov00_020ea814 +data_ov00_020ea814: + .space 0x4 + .global data_ov00_020ea818 +data_ov00_020ea818: + .space 0x4 + .global data_ov00_020ea81c +data_ov00_020ea81c: + .space 0x4 + .global data_ov00_020ea820 +data_ov00_020ea820: + .space 0x4 + .global data_ov00_020ea824 +data_ov00_020ea824: + .space 0x4 + .global data_ov00_020ea828 +data_ov00_020ea828: + .space 0x4 + .global data_ov00_020ea82c +data_ov00_020ea82c: + .space 0x4 + .global data_ov00_020ea830 +data_ov00_020ea830: + .space 0x4 + .global data_ov00_020ea834 +data_ov00_020ea834: + .space 0x4 + .global data_ov00_020ea838 +data_ov00_020ea838: + .space 0x4 + .global data_ov00_020ea83c +data_ov00_020ea83c: + .space 0x4 + .global data_ov00_020ea840 +data_ov00_020ea840: + .space 0x4 + .global data_ov00_020ea844 +data_ov00_020ea844: + .space 0x4 + .global data_ov00_020ea848 +data_ov00_020ea848: + .space 0x4 + .global data_ov00_020ea84c +data_ov00_020ea84c: + .space 0x4 + .global data_ov00_020ea850 +data_ov00_020ea850: + .space 0x4 + .global data_ov00_020ea854 +data_ov00_020ea854: + .space 0x4 + .global data_ov00_020ea858 +data_ov00_020ea858: + .space 0x4 + .global data_ov00_020ea85c +data_ov00_020ea85c: + .space 0x4 + .global data_ov00_020ea860 +data_ov00_020ea860: + .space 0x4 + .global data_ov00_020ea864 +data_ov00_020ea864: + .space 0x4 + .global data_ov00_020ea868 +data_ov00_020ea868: + .space 0x4 + .global data_ov00_020ea86c +data_ov00_020ea86c: + .space 0x4 + .global data_ov00_020ea870 +data_ov00_020ea870: + .space 0x4 + .global data_ov00_020ea874 +data_ov00_020ea874: + .space 0x4 + .global data_ov00_020ea878 +data_ov00_020ea878: + .space 0x4 + .global data_ov00_020ea87c +data_ov00_020ea87c: + .space 0x4 + .global data_ov00_020ea880 +data_ov00_020ea880: + .space 0x4 + .global data_ov00_020ea884 +data_ov00_020ea884: + .space 0x4 + .global data_ov00_020ea888 +data_ov00_020ea888: + .space 0x4 + .global data_ov00_020ea88c +data_ov00_020ea88c: + .space 0x4 + .global data_ov00_020ea890 +data_ov00_020ea890: + .space 0x4 + .global data_ov00_020ea894 +data_ov00_020ea894: + .space 0x4 + .global data_ov00_020ea898 +data_ov00_020ea898: + .space 0x4 + .global data_ov00_020ea89c +data_ov00_020ea89c: + .space 0x4 + .global data_ov00_020ea8a0 +data_ov00_020ea8a0: + .space 0x4 + .global data_ov00_020ea8a4 +data_ov00_020ea8a4: + .space 0x4 + .global data_ov00_020ea8a8 +data_ov00_020ea8a8: + .space 0x4 + .global data_ov00_020ea8ac +data_ov00_020ea8ac: + .space 0x4 + .global data_ov00_020ea8b0 +data_ov00_020ea8b0: + .space 0x4 + .global data_ov00_020ea8b4 +data_ov00_020ea8b4: + .space 0x4 + .global data_ov00_020ea8b8 +data_ov00_020ea8b8: + .space 0x4 + .global data_ov00_020ea8bc +data_ov00_020ea8bc: + .space 0x4 + .global data_ov00_020ea8c0 +data_ov00_020ea8c0: + .space 0x4 + .global data_ov00_020ea8c4 +data_ov00_020ea8c4: + .space 0x4 + .global data_ov00_020ea8c8 +data_ov00_020ea8c8: + .space 0x4 + .global data_ov00_020ea8cc +data_ov00_020ea8cc: + .space 0x4 + .global data_ov00_020ea8d0 +data_ov00_020ea8d0: + .space 0x4 + .global data_ov00_020ea8d4 +data_ov00_020ea8d4: + .space 0x4 + .global data_ov00_020ea8d8 +data_ov00_020ea8d8: + .space 0x4 + .global data_ov00_020ea8dc +data_ov00_020ea8dc: + .space 0x4 + .global data_ov00_020ea8e0 +data_ov00_020ea8e0: + .space 0x4 + .global data_ov00_020ea8e4 +data_ov00_020ea8e4: + .space 0x4 + .global data_ov00_020ea8e8 +data_ov00_020ea8e8: + .space 0x4 + .global data_ov00_020ea8ec +data_ov00_020ea8ec: + .space 0x4 + .global data_ov00_020ea8f0 +data_ov00_020ea8f0: + .space 0x4 + .global data_ov00_020ea8f4 +data_ov00_020ea8f4: + .space 0x4 + .global data_ov00_020ea8f8 +data_ov00_020ea8f8: + .space 0x4 + .global data_ov00_020ea8fc +data_ov00_020ea8fc: + .space 0x4 + .global data_ov00_020ea900 +data_ov00_020ea900: + .space 0x4 + .global data_ov00_020ea904 +data_ov00_020ea904: + .space 0x4 + .global data_ov00_020ea908 +data_ov00_020ea908: + .space 0x4 + .global data_ov00_020ea90c +data_ov00_020ea90c: + .space 0x4 + .global data_ov00_020ea910 +data_ov00_020ea910: + .space 0x4 + .global data_ov00_020ea914 +data_ov00_020ea914: + .space 0x4 + .global data_ov00_020ea918 +data_ov00_020ea918: + .space 0x4 + .global data_ov00_020ea91c +data_ov00_020ea91c: + .space 0x4 + .global data_ov00_020ea920 +data_ov00_020ea920: + .space 0x4 + .global data_ov00_020ea924 +data_ov00_020ea924: + .space 0x4 + .global data_ov00_020ea928 +data_ov00_020ea928: + .space 0x4 + .global data_ov00_020ea92c +data_ov00_020ea92c: + .space 0x4 + .global data_ov00_020ea930 +data_ov00_020ea930: + .space 0x4 + .global data_ov00_020ea934 +data_ov00_020ea934: + .space 0x4 + .global data_ov00_020ea938 +data_ov00_020ea938: + .space 0x4 + .global data_ov00_020ea93c +data_ov00_020ea93c: + .space 0x4 + .global data_ov00_020ea940 +data_ov00_020ea940: + .space 0x4 + .global data_ov00_020ea944 +data_ov00_020ea944: + .space 0x4 + .global data_ov00_020ea948 +data_ov00_020ea948: + .space 0x4 + .global data_ov00_020ea94c +data_ov00_020ea94c: + .space 0x4 + .global data_ov00_020ea950 +data_ov00_020ea950: + .space 0x4 + .global data_ov00_020ea954 +data_ov00_020ea954: + .space 0x4 + .global data_ov00_020ea958 +data_ov00_020ea958: + .space 0x4 + .global data_ov00_020ea95c +data_ov00_020ea95c: + .space 0x4 + .global data_ov00_020ea960 +data_ov00_020ea960: + .space 0x4 + .global data_ov00_020ea964 +data_ov00_020ea964: + .space 0x4 + .global data_ov00_020ea968 +data_ov00_020ea968: + .space 0x4 + .global data_ov00_020ea96c +data_ov00_020ea96c: + .space 0x4 + .global data_ov00_020ea970 +data_ov00_020ea970: + .space 0x4 + .global data_ov00_020ea974 +data_ov00_020ea974: + .space 0x4 + .global data_ov00_020ea978 +data_ov00_020ea978: + .space 0x4 + .global data_ov00_020ea97c +data_ov00_020ea97c: + .space 0x4 + .global data_ov00_020ea980 +data_ov00_020ea980: + .space 0x4 + .global data_ov00_020ea984 +data_ov00_020ea984: + .space 0x4 + .global data_ov00_020ea988 +data_ov00_020ea988: + .space 0x4 + .global data_ov00_020ea98c +data_ov00_020ea98c: + .space 0x4 + .global data_ov00_020ea990 +data_ov00_020ea990: + .space 0x4 + .global data_ov00_020ea994 +data_ov00_020ea994: + .space 0x4 + .global data_ov00_020ea998 +data_ov00_020ea998: + .space 0x4 + .global data_ov00_020ea99c +data_ov00_020ea99c: + .space 0x4 + .global data_ov00_020ea9a0 +data_ov00_020ea9a0: + .space 0x4 + .global data_ov00_020ea9a4 +data_ov00_020ea9a4: + .space 0x4 + .global data_ov00_020ea9a8 +data_ov00_020ea9a8: + .space 0x4 + .global data_ov00_020ea9ac +data_ov00_020ea9ac: + .space 0x4 + .global data_ov00_020ea9b0 +data_ov00_020ea9b0: + .space 0x4 + .global data_ov00_020ea9b4 +data_ov00_020ea9b4: + .space 0x4 + .global data_ov00_020ea9b8 +data_ov00_020ea9b8: + .space 0x4 + .global data_ov00_020ea9bc +data_ov00_020ea9bc: + .space 0x4 + .global data_ov00_020ea9c0 +data_ov00_020ea9c0: + .space 0x4 + .global data_ov00_020ea9c4 +data_ov00_020ea9c4: + .space 0x4 + .global data_ov00_020ea9c8 +data_ov00_020ea9c8: + .space 0x4 + .global data_ov00_020ea9cc +data_ov00_020ea9cc: + .space 0x4 + .global data_ov00_020ea9d0 +data_ov00_020ea9d0: + .space 0x4 + .global data_ov00_020ea9d4 +data_ov00_020ea9d4: + .space 0x4 + .global data_ov00_020ea9d8 +data_ov00_020ea9d8: + .space 0x4 + .global data_ov00_020ea9dc +data_ov00_020ea9dc: + .space 0x4 + .global data_ov00_020ea9e0 +data_ov00_020ea9e0: + .space 0x4 + .global data_ov00_020ea9e4 +data_ov00_020ea9e4: + .space 0x4 + .global data_ov00_020ea9e8 +data_ov00_020ea9e8: + .space 0x4 + .global data_ov00_020ea9ec +data_ov00_020ea9ec: + .space 0x4 + .global data_ov00_020ea9f0 +data_ov00_020ea9f0: + .space 0x4 + .global data_ov00_020ea9f4 +data_ov00_020ea9f4: + .space 0x4 + .global data_ov00_020ea9f8 +data_ov00_020ea9f8: + .space 0x4 + .global data_ov00_020ea9fc +data_ov00_020ea9fc: + .space 0x4 + .global data_ov00_020eaa00 +data_ov00_020eaa00: + .space 0x4 + .global data_ov00_020eaa04 +data_ov00_020eaa04: + .space 0x4 + .global data_ov00_020eaa08 +data_ov00_020eaa08: + .space 0x4 + .global data_ov00_020eaa0c +data_ov00_020eaa0c: + .space 0x4 + .global data_ov00_020eaa10 +data_ov00_020eaa10: + .space 0x4 + .global data_ov00_020eaa14 +data_ov00_020eaa14: + .space 0x4 + .global data_ov00_020eaa18 +data_ov00_020eaa18: + .space 0x4 + .global data_ov00_020eaa1c +data_ov00_020eaa1c: + .space 0x4 + .global data_ov00_020eaa20 +data_ov00_020eaa20: + .space 0x4 + .global data_ov00_020eaa24 +data_ov00_020eaa24: + .space 0x4 + .global data_ov00_020eaa28 +data_ov00_020eaa28: + .space 0x4 + .global data_ov00_020eaa2c +data_ov00_020eaa2c: + .space 0x4 + .global data_ov00_020eaa30 +data_ov00_020eaa30: + .space 0x4 + .global data_ov00_020eaa34 +data_ov00_020eaa34: + .space 0x4 + .global data_ov00_020eaa38 +data_ov00_020eaa38: + .space 0x4 + .global data_ov00_020eaa3c +data_ov00_020eaa3c: + .space 0x4 + .global data_ov00_020eaa40 +data_ov00_020eaa40: + .space 0x4 + .global data_ov00_020eaa44 +data_ov00_020eaa44: + .space 0x4 + .global data_ov00_020eaa48 +data_ov00_020eaa48: + .space 0x4 + .global data_ov00_020eaa4c +data_ov00_020eaa4c: + .space 0x4 + .global data_ov00_020eaa50 +data_ov00_020eaa50: + .space 0x4 + .global data_ov00_020eaa54 +data_ov00_020eaa54: + .space 0x4 + .global data_ov00_020eaa58 +data_ov00_020eaa58: + .space 0x4 + .global data_ov00_020eaa5c +data_ov00_020eaa5c: + .space 0x4 + .global data_ov00_020eaa60 +data_ov00_020eaa60: + .space 0x4 + .global data_ov00_020eaa64 +data_ov00_020eaa64: + .space 0x4 + .global data_ov00_020eaa68 +data_ov00_020eaa68: + .space 0x4 + .global data_ov00_020eaa6c +data_ov00_020eaa6c: + .space 0x4 + .global data_ov00_020eaa70 +data_ov00_020eaa70: + .space 0x4 + .global data_ov00_020eaa74 +data_ov00_020eaa74: + .space 0x4 + .global data_ov00_020eaa78 +data_ov00_020eaa78: + .space 0x4 + .global data_ov00_020eaa7c +data_ov00_020eaa7c: + .space 0x4 + .global data_ov00_020eaa80 +data_ov00_020eaa80: + .space 0x4 + .global data_ov00_020eaa84 +data_ov00_020eaa84: + .space 0x4 + .global data_ov00_020eaa88 +data_ov00_020eaa88: + .space 0x4 + .global data_ov00_020eaa8c +data_ov00_020eaa8c: + .space 0x4 + .global data_ov00_020eaa90 +data_ov00_020eaa90: + .space 0x4 + .global data_ov00_020eaa94 +data_ov00_020eaa94: + .space 0x4 + .global data_ov00_020eaa98 +data_ov00_020eaa98: + .space 0x4 + .global data_ov00_020eaa9c +data_ov00_020eaa9c: + .space 0x4 + .global data_ov00_020eaaa0 +data_ov00_020eaaa0: + .space 0x4 + .global data_ov00_020eaaa4 +data_ov00_020eaaa4: + .space 0x4 + .global data_ov00_020eaaa8 +data_ov00_020eaaa8: + .space 0x4 + .global data_ov00_020eaaac +data_ov00_020eaaac: + .space 0x4 + .global data_ov00_020eaab0 +data_ov00_020eaab0: + .space 0x4 + .global data_ov00_020eaab4 +data_ov00_020eaab4: + .space 0x4 + .global data_ov00_020eaab8 +data_ov00_020eaab8: + .space 0x4 + .global data_ov00_020eaabc +data_ov00_020eaabc: + .space 0x4 + .global data_ov00_020eaac0 +data_ov00_020eaac0: + .space 0x4 + + .sbss + .global data_ov00_020ec718 +data_ov00_020ec718: + .space 0x3c + .global data_ov00_020ec754 +data_ov00_020ec754: + .space 0x4 + .global data_ov00_020ec758 +data_ov00_020ec758: + .space 0x40 + .global data_ov00_020ec798 +data_ov00_020ec798: + .space 0x44 + .global data_ov00_020ec7dc +data_ov00_020ec7dc: + .space 0x12 + .global data_ov00_020ec7ee +data_ov00_020ec7ee: + .space 0x1 + .global data_ov00_020ec7ef +data_ov00_020ec7ef: + .space 0x1 + .global data_ov00_020ec7f0 +data_ov00_020ec7f0: + .space 0x2c + .global data_ov00_020ec81c +data_ov00_020ec81c: + .space 0x4 + .global data_ov00_020ec820 +data_ov00_020ec820: + .space 0x4 + .global data_ov00_020ec824 +data_ov00_020ec824: + .space 0x4 + .global data_ov00_020ec828 +data_ov00_020ec828: + .space 0x4 + .global data_ov00_020ec82c +data_ov00_020ec82c: + .space 0x4 + .global data_ov00_020ec830 +data_ov00_020ec830: + .space 0x4 + .global data_ov00_020ec834 +data_ov00_020ec834: + .space 0x4 + .global data_ov00_020ec838 +data_ov00_020ec838: + .space 0x4 + .global data_ov00_020ec83c +data_ov00_020ec83c: + .space 0x4 + .global data_ov00_020ec840 +data_ov00_020ec840: + .space 0x4 + .global data_ov00_020ec844 +data_ov00_020ec844: + .space 0x4 + .global data_ov00_020ec848 +data_ov00_020ec848: + .space 0x4 + .global data_ov00_020ec84c +data_ov00_020ec84c: + .space 0x4 + .global data_ov00_020ec850 +data_ov00_020ec850: + .space 0x4 + .global data_ov00_020ec854 +data_ov00_020ec854: + .space 0x4 + .global data_ov00_020ec858 +data_ov00_020ec858: + .space 0x4 + .global data_ov00_020ec85c +data_ov00_020ec85c: + .space 0x4 + .global data_ov00_020ec860 +data_ov00_020ec860: + .space 0x4 + .global data_ov00_020ec864 +data_ov00_020ec864: + .space 0x4 + .global data_ov00_020ec868 +data_ov00_020ec868: + .space 0x4 + .global data_ov00_020ec86c +data_ov00_020ec86c: + .space 0x4 + .global data_ov00_020ec870 +data_ov00_020ec870: + .space 0x4 + .global data_ov00_020ec874 +data_ov00_020ec874: + .space 0x4 + .global data_ov00_020ec878 +data_ov00_020ec878: + .space 0x4 + .global data_ov00_020ec87c +data_ov00_020ec87c: + .space 0x4 + .global data_ov00_020ec880 +data_ov00_020ec880: + .space 0x4 + .global data_ov00_020ec884 +data_ov00_020ec884: + .space 0x4 + .global data_ov00_020ec888 +data_ov00_020ec888: + .space 0x4 + .global data_ov00_020ec88c +data_ov00_020ec88c: + .space 0x4 + .global data_ov00_020ec890 +data_ov00_020ec890: + .space 0x4 + .global data_ov00_020ec894 +data_ov00_020ec894: + .space 0x4 + .global data_ov00_020ec898 +data_ov00_020ec898: + .space 0x4 + .global data_ov00_020ec89c +data_ov00_020ec89c: + .space 0x4 + .global data_ov00_020ec8a0 +data_ov00_020ec8a0: + .space 0x4 + .global data_ov00_020ec8a4 +data_ov00_020ec8a4: + .space 0x4 + .global data_ov00_020ec8a8 +data_ov00_020ec8a8: + .space 0x4 + .global data_ov00_020ec8ac +data_ov00_020ec8ac: + .space 0x4 + .global data_ov00_020ec8b0 +data_ov00_020ec8b0: + .space 0x4 + .global data_ov00_020ec8b4 +data_ov00_020ec8b4: + .space 0x4 + .global data_ov00_020ec8b8 +data_ov00_020ec8b8: + .space 0x4 + .global data_ov00_020ec8bc +data_ov00_020ec8bc: + .space 0x4 + .global data_ov00_020ec8c0 +data_ov00_020ec8c0: + .space 0x4 + .global data_ov00_020ec8c4 +data_ov00_020ec8c4: + .space 0x4 + .global data_ov00_020ec8c8 +data_ov00_020ec8c8: + .space 0x4 + .global data_ov00_020ec8cc +data_ov00_020ec8cc: + .space 0x4 + .global data_ov00_020ec8d0 +data_ov00_020ec8d0: + .space 0x4 + .global data_ov00_020ec8d4 +data_ov00_020ec8d4: + .space 0x4 + .global data_ov00_020ec8d8 +data_ov00_020ec8d8: + .space 0x4 + .global data_ov00_020ec8dc +data_ov00_020ec8dc: + .space 0x4 + .global data_ov00_020ec8e0 +data_ov00_020ec8e0: + .space 0x4 + .global data_ov00_020ec8e4 +data_ov00_020ec8e4: + .space 0x4 + .global data_ov00_020ec8e8 +data_ov00_020ec8e8: + .space 0x4 + .global data_ov00_020ec8ec +data_ov00_020ec8ec: + .space 0x4 + .global data_ov00_020ec8f0 +data_ov00_020ec8f0: + .space 0x4 + .global data_ov00_020ec8f4 +data_ov00_020ec8f4: + .space 0x4 + .global data_ov00_020ec8f8 +data_ov00_020ec8f8: + .space 0x4 + .global data_ov00_020ec8fc +data_ov00_020ec8fc: + .space 0x4 + .global data_ov00_020ec900 +data_ov00_020ec900: + .space 0x4 + .global data_ov00_020ec904 +data_ov00_020ec904: + .space 0x4 + .global data_ov00_020ec908 +data_ov00_020ec908: + .space 0x4 + .global data_ov00_020ec90c +data_ov00_020ec90c: + .space 0x4 + .global data_ov00_020ec910 +data_ov00_020ec910: + .space 0x4 + .global data_ov00_020ec914 +data_ov00_020ec914: + .space 0x4 + .global data_ov00_020ec918 +data_ov00_020ec918: + .space 0x4 + .global data_ov00_020ec91c +data_ov00_020ec91c: + .space 0x4 + .global data_ov00_020ec920 +data_ov00_020ec920: + .space 0x4 + .global data_ov00_020ec924 +data_ov00_020ec924: + .space 0x4 + .global data_ov00_020ec928 +data_ov00_020ec928: + .space 0x4 + .global data_ov00_020ec92c +data_ov00_020ec92c: + .space 0x4 + .global data_ov00_020ec930 +data_ov00_020ec930: + .space 0x4 + .global data_ov00_020ec934 +data_ov00_020ec934: + .space 0x4 + .global data_ov00_020ec938 +data_ov00_020ec938: + .space 0x4 + .global data_ov00_020ec93c +data_ov00_020ec93c: + .space 0x4 + .global data_ov00_020ec940 +data_ov00_020ec940: + .space 0x4 + .global data_ov00_020ec944 +data_ov00_020ec944: + .space 0x4 + .global data_ov00_020ec948 +data_ov00_020ec948: + .space 0x4 + .global data_ov00_020ec94c +data_ov00_020ec94c: + .space 0x4 + .global data_ov00_020ec950 +data_ov00_020ec950: + .space 0x4 + .global data_ov00_020ec954 +data_ov00_020ec954: + .space 0x4 + .global data_ov00_020ec958 +data_ov00_020ec958: + .space 0x4 + .global data_ov00_020ec95c +data_ov00_020ec95c: + .space 0x4 + .global data_ov00_020ec960 +data_ov00_020ec960: + .space 0x4 diff --git a/asm/ov00/ov00_0207da38.inc b/asm/ov00/ov00_0207da38.inc new file mode 100644 index 00000000..27c83372 --- /dev/null +++ b/asm/ov00/ov00_0207da38.inc @@ -0,0 +1,86 @@ +#pragma once +.extern Divide +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN6Course18func_ov00_0207cbd8Ei +.extern _ZN9SysObjectdlEPv +.extern _ZN9SysObjectnwEmPjj +.extern data_027e0618 +.extern data_027e0ce0 +.extern data_027e0d38 +.extern data_027e0e58 +.extern data_027e0f64 +.extern data_027e0f68 +.extern data_027e0f6c +.extern data_027e0f78 +.extern data_027e0f88 +.extern data_027e0f8c +.extern data_ov00_020ec81c +.extern data_ov00_020ec824 +.extern data_ov00_020ec864 +.extern data_ov00_020ec8a4 +.extern data_ov00_020ec8e4 +.extern data_ov00_020ec924 +.extern data_ov00_020ecde4 +.extern data_ov00_020ee0a0 +.extern func_01ffe904 +.extern func_01fff084 +.extern func_01fff264 +.extern func_020078f4 +.extern func_0200c8d0 +.extern func_020196bc +.extern func_020196fc +.extern func_0201e24c +.extern func_0201e4cc +.extern func_02042f68 +.extern func_02043594 +.extern func_020435b4 +.extern func_02043600 +.extern func_0204dd9c +.extern func_0204f614 +.extern func_0204f754 +.extern func_ov00_02078b40 +.extern func_ov00_02079e3c +.extern func_ov00_02087dd8 +.extern func_ov00_0208b79c +.extern func_ov00_0208d820 +.extern func_ov00_0208ee00 +.extern func_ov00_02095554 +.extern func_ov00_0209564c +.extern func_ov00_0209581c +.extern func_ov00_02095d58 +.extern func_ov00_0209c08c +.extern func_ov00_0209c1e4 +.extern func_ov00_0209c2b4 +.extern func_ov00_0209c2d0 +.extern func_ov00_0209c530 +.extern func_ov00_0209c61c +.extern func_ov00_0209c788 +.extern func_ov00_0209c8e4 +.extern func_ov00_0209cc3c +.extern func_ov00_0209cc48 +.extern func_ov00_0209cd80 +.extern func_ov00_0209cd9c +.extern func_ov00_0209cddc +.extern func_ov00_0209cdf8 +.extern func_ov00_020a1a0c +.extern func_ov00_020a3de0 +.extern func_ov00_020a5e9c +.extern func_ov04_0210bfa8 +.extern func_ov04_0210c1f8 +.extern func_ov04_0210c3fc +.extern func_ov04_0210c52c +.extern func_ov04_0210c5cc +.extern func_ov04_0210c764 +.extern func_ov04_0210c800 +.extern func_ov04_0210c88c +.extern func_ov04_0210c8d4 +.extern func_ov04_0210ca84 +.extern func_ov04_0210cb00 +.extern func_ov04_0210cb1c +.extern func_ov04_0210dd90 +.extern func_ov05_02111bc0 +.extern func_ov05_02111c00 +.extern func_ov05_02111c6c +.extern func_ov05_02111c70 +.extern gMapManager +.extern strcmp diff --git a/asm/ov00/ov00_0207da38.s b/asm/ov00/ov00_0207da38.s new file mode 100644 index 00000000..47c6c53d --- /dev/null +++ b/asm/ov00/ov00_0207da38.s @@ -0,0 +1,6035 @@ + .include "ov00/ov00_0207da38.inc" + .include "macros/function.inc" + + .text + + .global func_ov00_0207da38 + arm_func_start func_ov00_0207da38 +func_ov00_0207da38: ; 0x0207da38 + stmdb sp!, {r3, r4, r5, lr} + ldr r1, _0207db0c ; =data_ov00_020e2348 + mov r4, r0 + str r1, [r4] + ldr r1, [r0] + ldr r1, [r1, #0x2c] + blx r1 + ldr r5, [r4, #0x144] + cmp r5, #0 + beq _0207da7c + beq _0207da74 + mov r0, r5 + blx func_ov04_0210dd90 + mov r0, r5 + bl _ZN9SysObjectdlEPv +_0207da74: + mov r0, #0 + str r0, [r4, #0x144] +_0207da7c: + ldr r0, _0207db10 ; =data_ov00_020ec81c + ldr r0, [r0, #4] + cmp r0, #0 + beq _0207dac0 + ldr r1, [r0] + ldr r1, [r1, #0xc] + blx r1 + ldr r0, _0207db10 ; =data_ov00_020ec81c + ldr r0, [r0, #4] + cmp r0, #0 + beq _0207dab4 + ldr r1, [r0] + ldr r1, [r1, #4] + blx r1 +_0207dab4: + ldr r0, _0207db10 ; =data_ov00_020ec81c + mov r1, #0 + str r1, [r0, #4] +_0207dac0: + mov r0, r4 + blx func_ov04_0210cb1c + ldr r3, _0207db14 ; =func_ov00_0207db18 + add r0, r4, #0x180 + mov r1, #2 + mov r2, #4 + bl func_0204f754 + add r0, r4, #0x130 + bl func_ov00_02080f20 + add r0, r4, #0x124 + bl func_ov00_020810e8 + add r0, r4, #0x118 + bl func_ov00_02081070 + add r0, r4, #0x10c + bl func_ov00_02080f20 + add r0, r4, #0x100 + bl func_ov00_02080ff8 + mov r0, r4 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_0207da38 +_0207db0c: .word data_ov00_020e2348 +_0207db10: .word data_ov00_020ec81c +_0207db14: .word func_ov00_0207db18 + + .global func_ov00_0207db18 + arm_func_start func_ov00_0207db18 +func_ov00_0207db18: ; 0x0207db18 + bx lr + arm_func_end func_ov00_0207db18 + + .global func_ov00_0207db1c + arm_func_start func_ov00_0207db1c +func_ov00_0207db1c: ; 0x0207db1c + stmdb sp!, {r3, r4, r5, lr} + ldr r1, _0207dbf8 ; =data_ov00_020e2348 + mov r4, r0 + str r1, [r4] + ldr r1, [r0] + ldr r1, [r1, #0x2c] + blx r1 + ldr r5, [r4, #0x144] + cmp r5, #0 + beq _0207db60 + beq _0207db58 + mov r0, r5 + blx func_ov04_0210dd90 + mov r0, r5 + bl _ZN9SysObjectdlEPv +_0207db58: + mov r0, #0 + str r0, [r4, #0x144] +_0207db60: + ldr r0, _0207dbfc ; =data_ov00_020ec81c + ldr r0, [r0, #4] + cmp r0, #0 + beq _0207dba4 + ldr r1, [r0] + ldr r1, [r1, #0xc] + blx r1 + ldr r0, _0207dbfc ; =data_ov00_020ec81c + ldr r0, [r0, #4] + cmp r0, #0 + beq _0207db98 + ldr r1, [r0] + ldr r1, [r1, #4] + blx r1 +_0207db98: + ldr r0, _0207dbfc ; =data_ov00_020ec81c + mov r1, #0 + str r1, [r0, #4] +_0207dba4: + mov r0, r4 + blx func_ov04_0210cb1c + ldr r3, _0207dc00 ; =func_ov00_0207db18 + add r0, r4, #0x180 + mov r1, #2 + mov r2, #4 + bl func_0204f754 + add r0, r4, #0x130 + bl func_ov00_02080f20 + add r0, r4, #0x124 + bl func_ov00_020810e8 + add r0, r4, #0x118 + bl func_ov00_02081070 + add r0, r4, #0x10c + bl func_ov00_02080f20 + add r0, r4, #0x100 + bl func_ov00_02080ff8 + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_0207db1c +_0207dbf8: .word data_ov00_020e2348 +_0207dbfc: .word data_ov00_020ec81c +_0207dc00: .word func_ov00_0207db18 + + .global func_ov00_0207dc04 + arm_func_start func_ov00_0207dc04 +func_ov00_0207dc04: ; 0x0207dc04 + stmdb sp!, {r3, r4, r5, lr} + ldr r1, _0207dcd8 ; =data_ov00_020e2348 + mov r4, r0 + str r1, [r4] + ldr r1, [r0] + ldr r1, [r1, #0x2c] + blx r1 + ldr r5, [r4, #0x144] + cmp r5, #0 + beq _0207dc48 + beq _0207dc40 + mov r0, r5 + blx func_ov04_0210dd90 + mov r0, r5 + bl _ZN9SysObjectdlEPv +_0207dc40: + mov r0, #0 + str r0, [r4, #0x144] +_0207dc48: + ldr r0, _0207dcdc ; =data_ov00_020ec81c + ldr r0, [r0, #4] + cmp r0, #0 + beq _0207dc8c + ldr r1, [r0] + ldr r1, [r1, #0xc] + blx r1 + ldr r0, _0207dcdc ; =data_ov00_020ec81c + ldr r0, [r0, #4] + cmp r0, #0 + beq _0207dc80 + ldr r1, [r0] + ldr r1, [r1, #4] + blx r1 +_0207dc80: + ldr r0, _0207dcdc ; =data_ov00_020ec81c + mov r1, #0 + str r1, [r0, #4] +_0207dc8c: + mov r0, r4 + blx func_ov04_0210cb1c + ldr r3, _0207dce0 ; =func_ov00_0207db18 + add r0, r4, #0x180 + mov r1, #2 + mov r2, #4 + bl func_0204f754 + add r0, r4, #0x130 + bl func_ov00_02080f20 + add r0, r4, #0x124 + bl func_ov00_020810e8 + add r0, r4, #0x118 + bl func_ov00_02081070 + add r0, r4, #0x10c + bl func_ov00_02080f20 + add r0, r4, #0x100 + bl func_ov00_02080ff8 + mov r0, r4 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_0207dc04 +_0207dcd8: .word data_ov00_020e2348 +_0207dcdc: .word data_ov00_020ec81c +_0207dce0: .word func_ov00_0207db18 + + .global func_ov00_0207dce4 + arm_func_start func_ov00_0207dce4 +func_ov00_0207dce4: ; 0x0207dce4 + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0x2c + mov r4, r0 + ldrh r5, [r4, #0x28] + ldrh r3, [r4, #0x2a] + mov r0, r2 + mov r5, r5, lsl #0xc + mov r2, r3, lsl #0xc + str r5, [sp] + str r2, [sp, #4] + bl _ZN6Course18func_ov00_0207cbd8Ei + mov ip, r5 + add r5, sp, #0x20 + ldmia r0, {r0, r1, r2} + stmia r5, {r0, r1, r2} + ldr r1, [sp, #0x20] + ldr r3, [sp, #4] + ldr r2, [sp, #0x28] + ldr r0, [sp, #0x24] + sub r1, r1, ip, asr #1 + str r1, [r4, #0xdc] + str r0, [r4, #0xe0] + sub r1, r2, r3, asr #1 + str r1, [r4, #0xe4] + ldr r1, [sp, #0x20] + mov r5, r3, asr #0x1 + str r1, [r4, #0xd0] + ldr r1, [sp, #0x24] + add r3, r2, r3, asr #1 + str r1, [r4, #0xd4] + ldr r1, [sp, #0x28] + mov lr, ip, asr #0x1 + str r1, [r4, #0xd8] + ldr r2, [sp, #0x20] + rsb r1, lr, #0 + add r2, r2, ip, asr #1 + str r2, [r4, #0xe8] + str r0, [r4, #0xec] + str r3, [r4, #0xf0] + str r1, [r4, #0xf4] + mov r0, #0 + str r0, [r4, #0xf8] + rsb r0, r5, #0 + str r0, [r4, #0xfc] + add sp, sp, #0x2c + ldmia sp!, {r4, r5, pc} + arm_func_end func_ov00_0207dce4 + + .global func_ov00_0207dd9c + arm_func_start func_ov00_0207dd9c +func_ov00_0207dd9c: ; 0x0207dd9c + bx lr + arm_func_end func_ov00_0207dd9c + + .global func_ov00_0207dda0 + arm_func_start func_ov00_0207dda0 +func_ov00_0207dda0: ; 0x0207dda0 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #4 + ldr ip, _0207ddec ; =0x66666667 + mov r6, r1 + smull r0, r5, ip, r2 + mov r0, r3 + smull r1, r3, ip, r2 + mov r4, r2, lsr #0x1f + add r5, r4, r5, asr #2 + mov lr, #0xa + smull r1, ip, lr, r5 + sub r5, r2, r1 + ldr r1, _0207ddf0 ; =data_ov00_020e2410 + mov r2, r6 + add r3, r4, r3, asr #2 + str r5, [sp] + bl func_0200c8d0 + add sp, sp, #4 + ldmia sp!, {r3, r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_0207dda0 +_0207ddec: .word 0x66666667 +_0207ddf0: .word data_ov00_020e2410 + + .global func_ov00_0207ddf4 + arm_func_start func_ov00_0207ddf4 +func_ov00_0207ddf4: ; 0x0207ddf4 + bx lr + arm_func_end func_ov00_0207ddf4 + + .global func_ov00_0207ddf8 + arm_func_start func_ov00_0207ddf8 +func_ov00_0207ddf8: ; 0x0207ddf8 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + mov r7, #0 + mov r10, r0 + mov r9, r1 + add r8, r10, #0x180 + mvn r5, #0 + mov r6, r7 + mov r4, r7 + mov r11, #4 +_0207de1c: + cmp r9, #0 + beq _0207de44 + mov r2, r6 + add r1, r10, r7, lsl #2 +_0207de2c: + add r0, r1, r2, lsl #2 + add r2, r2, #1 + str r5, [r0, #0x180] + cmp r2, #1 + blo _0207de2c + b _0207de54 +_0207de44: + mov r0, r4 + mov r1, r8 + mov r2, r11 + bl func_020078f4 +_0207de54: + add r7, r7, #1 + cmp r7, #2 + add r8, r8, #4 + blt _0207de1c + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + arm_func_end func_ov00_0207ddf8 + + .global func_ov00_0207de68 + arm_func_start func_ov00_0207de68 +func_ov00_0207de68: ; 0x0207de68 + stmdb sp!, {r3, lr} + ldr r0, [r0, #0x144] + mov r2, r1 + cmp r0, #0 + ldmeqia sp!, {r3, pc} + mov r1, #0 + bl func_ov00_0209c08c + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207de68 + + .global func_ov00_0207de88 + arm_func_start func_ov00_0207de88 +func_ov00_0207de88: ; 0x0207de88 + stmdb sp!, {r3, lr} + ldr r0, [r0, #0x144] + cmp r0, #0 + ldmeqia sp!, {r3, pc} + bl func_ov00_0209c61c + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207de88 + + .global func_ov00_0207dea0 + arm_func_start func_ov00_0207dea0 +func_ov00_0207dea0: ; 0x0207dea0 + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x10 + mov r5, r0 + ldr r2, _0207e044 ; =data_027e0f78 + ldr r0, [r5, #0x144] + mov r4, r1 + ldr r6, [r2] + bl func_ov00_0209c530 + ldrh r2, [r0, #4] + mov r0, r6 + mov r1, #0 + bl func_ov00_0209cc3c + ldr r1, _0207e044 ; =data_027e0f78 + ldr r0, [r5, #0x144] + ldr r6, [r1] + bl func_ov00_0209c530 + mov r1, r0 + ldrh r2, [r1, #6] + mov r0, r6 + mov r1, #1 + bl func_ov00_0209cc3c + ldr r1, _0207e044 ; =data_027e0f78 + ldr r0, [r5, #0x144] + ldr r6, [r1] + bl func_ov00_0209c530 + mov r1, r0 + ldrh r2, [r1, #8] + mov r0, r6 + mov r1, #2 + bl func_ov00_0209cc3c + ldr r1, _0207e044 ; =data_027e0f78 + ldr r0, [r5, #0x144] + ldr r6, [r1] + bl func_ov00_0209c530 + mov r1, r0 + ldrh r2, [r1, #0xa] + mov r0, r6 + mov r1, #3 + bl func_ov00_0209cc3c + ldr r0, _0207e044 ; =data_027e0f78 + ldr r0, [r0] + bl func_ov00_0209cc48 + ldr r1, _0207e048 ; =data_027e0f88 + ldr r0, [r5, #0x144] + ldr r6, [r1] + bl func_ov00_0209c530 + mov r1, r0 + ldrh r2, [r1, #0xc] + mov r0, r6 + mov r1, #0 + bl func_ov00_020a1a0c + cmp r4, #0 + beq _0207dff0 + ldr r0, [r5, #0x144] + ldr r1, _0207e04c ; =data_ov00_020ecde4 + ldr r2, [r0, #0xc] + mov r0, #0x68 + mla r0, r2, r0, r1 + add r0, r0, #0x54 + add r4, sp, #0 + ldmia r0, {r0, r1, r2, r3} + stmia r4, {r0, r1, r2, r3} + ldr r0, [sp] + cmp r0, #1 + blt _0207dfb4 + ldr r0, _0207e050 ; =data_ov00_020ee0a0 + mov r1, #1 + bl func_ov00_0209cd80 + b _0207dfc0 +_0207dfb4: + ldr r0, _0207e050 ; =data_ov00_020ee0a0 + mov r1, #0 + bl func_ov00_0209cd80 +_0207dfc0: + ldr r0, [r5, #0x144] + bl func_ov00_0209c530 + ldrh r1, [r0, #0xe] + ldr r2, [sp, #0xc] + ldr r0, _0207e050 ; =data_ov00_020ee0a0 + bl func_ov00_0209cd9c + ldr r1, [sp, #4] + ldr r0, _0207e050 ; =data_ov00_020ee0a0 + bl func_ov00_0209cddc + ldr r1, [sp, #8] + ldr r0, _0207e050 ; =data_ov00_020ee0a0 + bl func_ov00_0209cdf8 +_0207dff0: + ldr r0, _0207e054 ; =data_027e0d38 + ldr r0, [r0] + bl func_ov00_02078b40 + cmp r0, #2 + bne _0207e01c + ldr r0, [r5, #0x144] + bl func_ov00_0209c530 + ldr r1, _0207e058 ; =data_027e0e58 + ldrh r2, [r0, #0x10] + ldr r0, [r1] + strh r2, [r0, #0x22] +_0207e01c: + ldr r0, [r5, #0x144] + bl func_ov00_0209c530 + mov r1, r0 + ldr r0, _0207e05c ; =data_027e0f8c + add r1, r1, #0x12 + bl func_ov00_020a3de0 + ldr r0, [r5, #0x144] + bl func_ov00_0209c788 + add sp, sp, #0x10 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_0207dea0 +_0207e044: .word data_027e0f78 +_0207e048: .word data_027e0f88 +_0207e04c: .word data_ov00_020ecde4 +_0207e050: .word data_ov00_020ee0a0 +_0207e054: .word data_027e0d38 +_0207e058: .word data_027e0e58 +_0207e05c: .word data_027e0f8c + + .global func_ov00_0207e060 + arm_func_start func_ov00_0207e060 +func_ov00_0207e060: ; 0x0207e060 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r0, [r5, #0x13c] + mov r4, r2 + cmp r0, #0 + ldmeqia sp!, {r3, r4, r5, pc} + bl func_020196fc + ldr r0, [r5, #0x13c] + mov r1, r4 + bl func_020196bc + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_0207e060 + + .global func_ov00_0207e08c + arm_func_start func_ov00_0207e08c +func_ov00_0207e08c: ; 0x0207e08c + stmdb sp!, {r3, lr} + ldr r3, [r0, #0x13c] + cmp r3, #0 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + ldr r0, [r3, #8] + adds lr, r3, r0 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + ldrh r0, [lr, #0xa] + add ip, lr, #4 + cmp lr, #0 + ldrh r3, [ip, r0] + add r0, ip, r0 + mla r0, r3, r2, r0 + ldr r0, [r0, #4] + add r3, lr, r0 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + ldr r2, [r3, #0x14] + mov r0, #1 + str r2, [r1] + ldrh r2, [r3, #0x1c] + strh r2, [r1, #4] + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207e08c + + .global func_ov00_0207e0f0 + arm_func_start func_ov00_0207e0f0 +func_ov00_0207e0f0: ; 0x0207e0f0 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x14 + mov r10, r0 + ldr r2, [r10, #0x13c] + str r1, [sp] + cmp r2, #0 + addeq sp, sp, #0x14 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldr r0, [r2, #8] + adds r0, r2, r0 + str r0, [sp, #4] + addeq sp, sp, #0x14 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldrh r1, [r0] + adds r0, r0, r1 + str r0, [sp, #0xc] + addeq sp, sp, #0x14 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldrb r1, [r0, #1] + mov r0, #0 + str r0, [sp, #8] + cmp r1, #0 + bls _0207e280 + mov r7, r0 +_0207e15c: + ldr r0, [sp, #0xc] + ldr r1, [sp, #0xc] + ldrh r3, [r0, #6] + mov r0, r10 + ldr r2, [r0] + add r3, r1, r3 + ldrh r1, [r3, #2] + ldr r2, [r2, #0xb4] + add r4, r3, r1 + blx r2 + add r0, r0, #0x3c + add r1, r4, r7 + bl func_0201e24c + cmp r0, #0 + beq _0207e260 + ldr r0, [sp, #0xc] + mov r5, #0 + ldrh r2, [r0, #6] + ldrh r1, [r0, r2] + add r0, r0, r2 + add r2, r0, #4 + ldr r0, [sp, #8] + mul r0, r1, r0 + add r11, r2, r0 + ldrb r1, [r11, #2] + ldrh r0, [r2, r0] + cmp r1, #0 + str r0, [sp, #0x10] + ble _0207e260 +_0207e1d0: + ldr r1, [sp, #4] + ldr r0, [sp, #0x10] + ldrb r0, [r1, r0] + add r1, r0, r5 + ldr r0, [sp] + cmp r0, r1 + bne _0207e250 + mov r0, r10 + ldr r1, [r0] + ldr r1, [r1, #0xb4] + blx r1 + add r1, r0, #0x3c + ldrb r9, [r1, #1] + mov r6, #0 + cmp r9, #0 + ble _0207e250 + ldrh r0, [r1, #6] + add r8, r1, r0 +_0207e218: + ldrh r0, [r8, #2] + add r1, r4, r7 + add r0, r8, r0 + add r0, r0, r6, lsl #4 + bl strcmp + cmp r0, #0 + addeq sp, sp, #0x14 + moveq r0, r6 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + add r0, r6, #1 + mov r0, r0, lsl #0x10 + cmp r9, r0, lsr #16 + mov r6, r0, lsr #0x10 + bgt _0207e218 +_0207e250: + ldrb r0, [r11, #2] + add r5, r5, #1 + cmp r5, r0 + blt _0207e1d0 +_0207e260: + ldr r0, [sp, #0xc] + add r7, r7, #0x10 + ldrb r1, [r0, #1] + ldr r0, [sp, #8] + add r0, r0, #1 + str r0, [sp, #8] + cmp r0, r1 + blo _0207e15c +_0207e280: + mvn r0, #0 + add sp, sp, #0x14 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + arm_func_end func_ov00_0207e0f0 + + .global func_ov00_0207e28c + arm_func_start func_ov00_0207e28c +func_ov00_0207e28c: ; 0x0207e28c + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x14 + mov r10, r0 + ldr r2, [r10, #0x13c] + str r1, [sp] + cmp r2, #0 + addeq sp, sp, #0x14 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldr r0, [r2, #8] + adds r0, r2, r0 + str r0, [sp, #4] + addeq sp, sp, #0x14 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldrh r1, [r0, #2] + adds r0, r0, r1 + str r0, [sp, #0xc] + addeq sp, sp, #0x14 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldrb r1, [r0, #1] + mov r0, #0 + str r0, [sp, #8] + cmp r1, #0 + bls _0207e438 + mov r7, r0 +_0207e2f8: + ldr r0, [sp, #0xc] + ldr r1, [sp, #0xc] + ldrh r3, [r0, #6] + mov r0, r10 + ldr r2, [r0] + add r3, r1, r3 + ldrh r1, [r3, #2] + ldr r2, [r2, #0xb4] + add r4, r3, r1 + blx r2 + ldrh r2, [r0, #0x34] + add r1, r4, r7 + add r0, r0, r2 + bl func_0201e24c + cmp r0, #0 + beq _0207e418 + ldr r0, [sp, #0xc] + mov r5, #0 + ldrh r2, [r0, #6] + ldrh r1, [r0, r2] + add r0, r0, r2 + add r2, r0, #4 + ldr r0, [sp, #8] + mul r0, r1, r0 + add r11, r2, r0 + ldrb r1, [r11, #2] + ldrh r0, [r2, r0] + cmp r1, #0 + str r0, [sp, #0x10] + ble _0207e418 +_0207e370: + ldr r1, [sp, #4] + ldr r0, [sp, #0x10] + ldrb r0, [r1, r0] + add r1, r0, r5 + ldr r0, [sp] + cmp r0, r1 + bne _0207e408 + mov r0, r10 + ldr r1, [r0] + ldr r1, [r1, #0xb4] + blx r1 + mov r8, r0 + mov r0, r10 + ldr r1, [r0] + ldr r1, [r1, #0xb4] + blx r1 + ldrh r0, [r0, #0x34] + mov r6, #0 + add r1, r8, r0 + ldrb r9, [r1, #1] + cmp r9, #0 + ble _0207e408 + ldrh r0, [r1, #6] + add r8, r1, r0 +_0207e3d0: + ldrh r0, [r8, #2] + add r1, r4, r7 + add r0, r8, r0 + add r0, r0, r6, lsl #4 + bl strcmp + cmp r0, #0 + addeq sp, sp, #0x14 + moveq r0, r6 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + add r0, r6, #1 + mov r0, r0, lsl #0x10 + cmp r9, r0, lsr #16 + mov r6, r0, lsr #0x10 + bgt _0207e3d0 +_0207e408: + ldrb r0, [r11, #2] + add r5, r5, #1 + cmp r5, r0 + blt _0207e370 +_0207e418: + ldr r0, [sp, #0xc] + add r7, r7, #0x10 + ldrb r1, [r0, #1] + ldr r0, [sp, #8] + add r0, r0, #1 + str r0, [sp, #8] + cmp r0, r1 + blo _0207e2f8 +_0207e438: + mvn r0, #0 + add sp, sp, #0x14 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + arm_func_end func_ov00_0207e28c + + .global func_ov00_0207e444 + arm_func_start func_ov00_0207e444 +func_ov00_0207e444: ; 0x0207e444 + stmdb sp!, {r3, lr} + ldr r0, _0207e468 ; =data_ov00_020ec81c + ldr r0, [r0, #4] + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + ldr r0, [r0, #8] + bl func_0201e4cc + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_0207e444 +_0207e468: .word data_ov00_020ec81c + + .global func_ov00_0207e46c + arm_func_start func_ov00_0207e46c +func_ov00_0207e46c: ; 0x0207e46c + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_0207fe3c + ldr r0, [r4, #0x144] + mov r1, #0 + bl func_ov00_0209c8e4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0207e46c + + .global func_ov00_0207e488 + arm_func_start func_ov00_0207e488 +func_ov00_0207e488: ; 0x0207e488 + mov r0, #0 + bx lr + arm_func_end func_ov00_0207e488 + + .global func_ov00_0207e490 + arm_func_start func_ov00_0207e490 +func_ov00_0207e490: ; 0x0207e490 + mov r0, #0 + bx lr + arm_func_end func_ov00_0207e490 + + .global func_ov00_0207e498 + arm_func_start func_ov00_0207e498 +func_ov00_0207e498: ; 0x0207e498 + mov r0, #0 + bx lr + arm_func_end func_ov00_0207e498 + + .global func_ov00_0207e4a0 + arm_func_start func_ov00_0207e4a0 +func_ov00_0207e4a0: ; 0x0207e4a0 + mov r0, #0 + bx lr + arm_func_end func_ov00_0207e4a0 + + .global func_ov00_0207e4a8 + arm_func_start func_ov00_0207e4a8 +func_ov00_0207e4a8: ; 0x0207e4a8 + mov r0, #0 + bx lr + arm_func_end func_ov00_0207e4a8 + + .global func_ov00_0207e4b0 + arm_func_start func_ov00_0207e4b0 +func_ov00_0207e4b0: ; 0x0207e4b0 + mov r0, #0 + bx lr + arm_func_end func_ov00_0207e4b0 + + .global func_ov00_0207e4b8 + arm_func_start func_ov00_0207e4b8 +func_ov00_0207e4b8: ; 0x0207e4b8 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x7c + ldr r3, _0207e92c ; =gMapManager + mov r9, r1 + ldr r1, [r3] + mov r8, r0 + mov r4, r2 + add r0, sp, #8 + mov r2, r9 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + mov r0, r8 + ldr r2, [r0] + add r1, sp, #8 + ldr r2, [r2, #0x54] + blx r2 + cmp r0, #0x1e + bgt _0207e570 + bge _0207e724 + cmp r0, #0x17 + bgt _0207e554 + bge _0207e724 + cmp r0, #9 + bgt _0207e548 + cmp r0, #0 + addge pc, pc, r0, lsl #2 + b _0207e63c +_0207e520: ; jump table + b _0207e63c ; case 0 + b _0207e724 ; case 1 + b _0207e724 ; case 2 + b _0207e724 ; case 3 + b _0207e724 ; case 4 + b _0207e63c ; case 5 + b _0207e63c ; case 6 + b _0207e63c ; case 7 + b _0207e724 ; case 8 + b _0207e724 ; case 9 +_0207e548: + cmp r0, #0x16 + beq _0207e724 + b _0207e63c +_0207e554: + cmp r0, #0x19 + bgt _0207e564 + beq _0207e724 + b _0207e63c +_0207e564: + cmp r0, #0x1d + beq _0207e724 + b _0207e63c +_0207e570: + cmp r0, #0x35 + bgt _0207e5c8 + bge _0207e5e4 + cmp r0, #0x29 + bgt _0207e5bc + subs r1, r0, #0x1f + addpl pc, pc, r1, lsl #2 + b _0207e63c +_0207e590: ; jump table + b _0207e724 ; case 0 + b _0207e63c ; case 1 + b _0207e63c ; case 2 + b _0207e63c ; case 3 + b _0207e63c ; case 4 + b _0207e63c ; case 5 + b _0207e63c ; case 6 + b _0207e63c ; case 7 + b _0207e724 ; case 8 + b _0207e724 ; case 9 + b _0207e724 ; case 10 +_0207e5bc: + cmp r0, #0x30 + beq _0207e724 + b _0207e63c +_0207e5c8: + cmp r0, #0x40 + bgt _0207e5d8 + beq _0207e724 + b _0207e63c +_0207e5d8: + cmp r0, #0x50 + beq _0207e724 + b _0207e63c +_0207e5e4: + cmp r4, #0 + beq _0207e724 + add r2, sp, #0x14 + mov r0, r8 + mov r1, r9 + bl func_ov00_0207f104 + cmp r0, #0 + ldrne r0, [sp, #0x14] + addne sp, sp, #0x7c + ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + add r2, sp, #0x14 + mov r0, r8 + mov r1, r9 + bl func_ov00_0207f1f4 + cmp r0, #0 + beq _0207e724 + ldr r0, [sp, #0x14] + ldr r1, [r9, #4] + cmp r1, r0 + blt _0207e724 + add sp, sp, #0x7c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0207e63c: + ldrb r0, [r8, #0xe] + cmp r0, #0 + bne _0207e724 + cmp r4, #0 + bne _0207e694 + mov r0, r8 + ldr r3, [r0] + add r1, sp, #8 + ldr r3, [r3, #0x58] + mov r2, #5 + blx r3 + cmp r0, #0 + ldreqb r0, [r8, #8] + cmpeq r0, #0 + bne _0207e724 + mov r0, r8 + ldr r2, [r0] + add r1, sp, #8 + ldr r2, [r2, #0x60] + blx r2 + add sp, sp, #0x7c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0207e694: + add r2, sp, #0x10 + mov r0, r8 + mov r1, r9 + bl func_ov00_0207f104 + cmp r0, #0 + ldrne r0, [sp, #0x10] + addne sp, sp, #0x7c + ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + add r2, sp, #0x10 + mov r0, r8 + mov r1, r9 + bl func_ov00_0207f1f4 + cmp r0, #0 + beq _0207e6e0 + ldr r0, [sp, #0x10] + ldr r1, [r9, #4] + cmp r1, r0 + addge sp, sp, #0x7c + ldmgeia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0207e6e0: + mov r0, r8 + ldr r3, [r0] + add r1, sp, #8 + ldr r3, [r3, #0x58] + mov r2, #5 + blx r3 + cmp r0, #0 + ldreqb r0, [r8, #8] + cmpeq r0, #0 + bne _0207e724 + mov r0, r8 + ldr r2, [r0] + add r1, sp, #8 + ldr r2, [r2, #0x60] + blx r2 + add sp, sp, #0x7c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0207e724: + mov r0, #0x20 + str r0, [sp] + mov r1, #0 + str r1, [sp, #4] + ldr r0, _0207e930 ; =data_027e0f6c + ldr r3, _0207e934 ; =data_ov00_020ec824 + ldr r0, [r0] + mov r1, r9 + mov r2, #2 + bl func_01fff084 + ldr r4, _0207e938 ; =func_ov00_0207e968 + mov r5, r0 + ldr r3, _0207e93c ; =func_ov00_0207e96c + add r0, sp, #0x48 + mov r1, #3 + mov r2, #0x10 + str r4, [sp] + mov r6, #0x2000 + bl func_0204f614 + mov r7, #0 + sub r0, r7, #0x10000 + add r4, sp, #0x18 + str r7, [sp, #0x24] + str r7, [sp, #0x2c] + str r0, [sp, #0x28] + ldmia r9, {r0, r1, r2} + stmia r4, {r0, r1, r2} + cmp r5, #0 + ble _0207e8a0 + ldr r10, _0207e934 ; =data_ov00_020ec824 + ldr r9, _0207e930 ; =data_027e0f6c + mov r11, #0x4c +_0207e7a4: + mov r0, r7, lsl #0x1 + ldrh r1, [r10, r0] + ldr r2, [r9] + add r0, sp, #0x30 + ldr r3, [r2, #0x20] + mul r2, r1, r11 + add ip, r3, r2 + ldrh lr, [r3, r2] + ldrh r3, [ip, #2] + mov r1, r4 + add r2, sp, #0x24 + strh r3, [sp, #0x32] + strh lr, [sp, #0x30] + ldrh lr, [ip, #4] + add r3, sp, #0xc + strh lr, [sp, #0x34] + ldrh lr, [ip, #6] + strh lr, [sp, #0x36] + ldr lr, [ip, #8] + str lr, [sp, #0x38] + ldr lr, [ip, #0xc] + str lr, [sp, #0x3c] + ldr lr, [ip, #0x10] + str lr, [sp, #0x40] + ldr lr, [ip, #0x14] + str lr, [sp, #0x44] + ldr lr, [ip, #0x18] + str lr, [sp, #0x48] + ldr lr, [ip, #0x1c] + str lr, [sp, #0x4c] + ldr lr, [ip, #0x20] + str lr, [sp, #0x50] + ldr lr, [ip, #0x24] + str lr, [sp, #0x54] + ldr lr, [ip, #0x28] + str lr, [sp, #0x58] + ldr lr, [ip, #0x2c] + str lr, [sp, #0x5c] + ldr lr, [ip, #0x30] + str lr, [sp, #0x60] + ldr lr, [ip, #0x34] + str lr, [sp, #0x64] + ldr lr, [ip, #0x38] + str lr, [sp, #0x68] + ldr lr, [ip, #0x3c] + str lr, [sp, #0x6c] + ldr lr, [ip, #0x40] + str lr, [sp, #0x70] + ldr lr, [ip, #0x44] + str lr, [sp, #0x74] + ldr ip, [ip, #0x48] + str ip, [sp, #0x78] + bl func_01ffe904 + cmp r0, #0 + beq _0207e88c + ldr r0, [sp, #0xc] + cmp r0, r6 + movlt r6, r0 +_0207e88c: + add r0, r7, #1 + mov r0, r0, lsl #0x10 + cmp r5, r0, lsr #16 + mov r7, r0, lsr #0x10 + bgt _0207e7a4 +_0207e8a0: + cmp r6, #0x1000 + bgt _0207e8f4 + mvn r1, #0 + mov r0, r1, lsl #0x10 + umull r3, r2, r6, r0 + mla r2, r6, r1, r2 + mov r1, r6, asr #0x1f + mla r2, r1, r0, r2 + adds r3, r3, #0x800 + adc r1, r2, #0 + mov r4, r3, lsr #0xc + orr r4, r4, r1, lsl #20 + ldr r3, _0207e938 ; =func_ov00_0207e968 + ldr r5, [sp, #0x1c] + add r0, sp, #0x48 + mov r1, #3 + mov r2, #0x10 + bl func_0204f754 + add sp, sp, #0x7c + add r0, r5, r4 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0207e8f4: + mov r0, r8 + ldr r2, [r0] + add r1, sp, #8 + ldr r2, [r2, #0x60] + blx r2 + mov r4, r0 + ldr r3, _0207e938 ; =func_ov00_0207e968 + add r0, sp, #0x48 + mov r1, #3 + mov r2, #0x10 + bl func_0204f754 + mov r0, r4 + add sp, sp, #0x7c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_0207e4b8 +_0207e92c: .word gMapManager +_0207e930: .word data_027e0f6c +_0207e934: .word data_ov00_020ec824 +_0207e938: .word func_ov00_0207e968 +_0207e93c: .word func_ov00_0207e96c + + .global func_ov00_0207e940 + arm_func_start func_ov00_0207e940 +func_ov00_0207e940: ; 0x0207e940 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r3, _0207e964 ; =func_ov00_0207e968 + add r0, r4, #0x18 + mov r1, #3 + mov r2, #0x10 + bl func_0204f754 + mov r0, r4 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_0207e940 +_0207e964: .word func_ov00_0207e968 + + .global func_ov00_0207e968 + arm_func_start func_ov00_0207e968 +func_ov00_0207e968: ; 0x0207e968 + bx lr + arm_func_end func_ov00_0207e968 + + .global func_ov00_0207e96c + arm_func_start func_ov00_0207e96c +func_ov00_0207e96c: ; 0x0207e96c + bx lr + arm_func_end func_ov00_0207e96c + + .global func_ov00_0207e970 + arm_func_start func_ov00_0207e970 +func_ov00_0207e970: ; 0x0207e970 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0xc4 + ldr r4, _0207ee00 ; =gMapManager + mov r9, r1 + ldr r1, [r4] + mov r8, r0 + str r2, [sp, #8] + add r0, sp, #0xc + mov r2, r9 + mov r7, r3 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + mov r0, r8 + ldr r2, [r0] + add r1, sp, #0xc + ldr r2, [r2, #0x54] + blx r2 + cmp r0, #0x1e + bgt _0207ea2c + bge _0207eb04 + cmp r0, #0x17 + bgt _0207ea10 + bge _0207eb04 + cmp r0, #9 + bgt _0207ea04 + cmp r0, #0 + addge pc, pc, r0, lsl #2 + b _0207ea9c +_0207e9dc: ; jump table + b _0207ea9c ; case 0 + b _0207eb04 ; case 1 + b _0207eb04 ; case 2 + b _0207eb04 ; case 3 + b _0207eb04 ; case 4 + b _0207ea9c ; case 5 + b _0207ea9c ; case 6 + b _0207ea9c ; case 7 + b _0207eb04 ; case 8 + b _0207eb04 ; case 9 +_0207ea04: + cmp r0, #0x16 + beq _0207eb04 + b _0207ea9c +_0207ea10: + cmp r0, #0x19 + bgt _0207ea20 + beq _0207eb04 + b _0207ea9c +_0207ea20: + cmp r0, #0x1d + beq _0207eb04 + b _0207ea9c +_0207ea2c: + cmp r0, #0x35 + bgt _0207ea84 + bge _0207eb04 + cmp r0, #0x29 + bgt _0207ea78 + subs r1, r0, #0x1f + addpl pc, pc, r1, lsl #2 + b _0207ea9c +_0207ea4c: ; jump table + b _0207eb04 ; case 0 + b _0207ea9c ; case 1 + b _0207ea9c ; case 2 + b _0207ea9c ; case 3 + b _0207ea9c ; case 4 + b _0207ea9c ; case 5 + b _0207ea9c ; case 6 + b _0207ea9c ; case 7 + b _0207eb04 ; case 8 + b _0207eb04 ; case 9 + b _0207eb04 ; case 10 +_0207ea78: + cmp r0, #0x30 + beq _0207eb04 + b _0207ea9c +_0207ea84: + cmp r0, #0x40 + bgt _0207ea94 + beq _0207eb04 + b _0207ea9c +_0207ea94: + cmp r0, #0x50 + beq _0207eb04 +_0207ea9c: + ldrb r0, [r8, #0xe] + cmp r0, #0 + bne _0207eb04 + mov r0, r8 + ldr r3, [r0] + add r1, sp, #0xc + ldr r3, [r3, #0x58] + mov r2, #5 + blx r3 + cmp r0, #0 + ldreqb r0, [r8, #8] + cmpeq r0, #0 + bne _0207eb04 + mov r0, r8 + ldr r2, [r0] + add r1, sp, #0xc + ldr r2, [r2, #0x60] + blx r2 + ldr r1, [sp, #8] + add sp, sp, #0xc4 + str r0, [r1] + mov r1, #0 + str r1, [r7] + mov r0, #0x1000 + stmib r7, {r0, r1} + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0207eb04: + mov r0, #0x20 + str r0, [sp] + mov r1, #0 + str r1, [sp, #4] + ldr r0, _0207ee04 ; =data_027e0f6c + ldr r3, _0207ee08 ; =data_ov00_020ec864 + ldr r0, [r0] + mov r1, r9 + mov r2, #2 + bl func_01fff084 + ldr r5, _0207ee0c ; =func_ov00_0207e968 + mov r4, r0 + str r5, [sp] + ldr r3, _0207ee10 ; =func_ov00_0207e96c + add r0, sp, #0x90 + mov r1, #3 + mov r2, #0x10 + mov r5, #0x2000 + bl func_0204f614 + ldr r1, _0207ee0c ; =func_ov00_0207e968 + ldr r3, _0207ee10 ; =func_ov00_0207e96c + str r1, [sp] + add r0, sp, #0x44 + mov r1, #3 + mov r2, #0x10 + bl func_0204f614 + mov r6, #0 + sub r0, r6, #0x10000 + str r6, [sp, #0x20] + str r6, [sp, #0x28] + str r0, [sp, #0x24] + add r3, sp, #0x14 + ldmia r9, {r0, r1, r2} + cmp r4, #0 + stmia r3, {r0, r1, r2} + ble _0207ed48 + ldr r10, _0207ee08 ; =data_ov00_020ec864 + ldr r9, _0207ee04 ; =data_027e0f6c + mov r11, #0x4c +_0207eba0: + mov r0, r6, lsl #0x1 + ldrh r1, [r10, r0] + ldr r2, [r9] + add r0, sp, #0x78 + ldr r3, [r2, #0x20] + mul r2, r1, r11 + add ip, r3, r2 + ldrh lr, [r3, r2] + ldrh r3, [ip, #2] + add r1, sp, #0x14 + add r2, sp, #0x20 + strh r3, [sp, #0x7a] + strh lr, [sp, #0x78] + ldrh lr, [ip, #4] + add r3, sp, #0x10 + strh lr, [sp, #0x7c] + ldrh lr, [ip, #6] + strh lr, [sp, #0x7e] + ldr lr, [ip, #8] + str lr, [sp, #0x80] + ldr lr, [ip, #0xc] + str lr, [sp, #0x84] + ldr lr, [ip, #0x10] + str lr, [sp, #0x88] + ldr lr, [ip, #0x14] + str lr, [sp, #0x8c] + ldr lr, [ip, #0x18] + str lr, [sp, #0x90] + ldr lr, [ip, #0x1c] + str lr, [sp, #0x94] + ldr lr, [ip, #0x20] + str lr, [sp, #0x98] + ldr lr, [ip, #0x24] + str lr, [sp, #0x9c] + ldr lr, [ip, #0x28] + str lr, [sp, #0xa0] + ldr lr, [ip, #0x2c] + str lr, [sp, #0xa4] + ldr lr, [ip, #0x30] + str lr, [sp, #0xa8] + ldr lr, [ip, #0x34] + str lr, [sp, #0xac] + ldr lr, [ip, #0x38] + str lr, [sp, #0xb0] + ldr lr, [ip, #0x3c] + str lr, [sp, #0xb4] + ldr lr, [ip, #0x40] + str lr, [sp, #0xb8] + ldr lr, [ip, #0x44] + str lr, [sp, #0xbc] + ldr ip, [ip, #0x48] + str ip, [sp, #0xc0] + bl func_01ffe904 + cmp r0, #0 + beq _0207ed34 + ldr r1, [sp, #0x10] + cmp r1, r5 + bge _0207ed34 + ldrh r0, [sp, #0x78] + mov r5, r1 + ldrh r1, [sp, #0x7a] + strh r0, [sp, #0x2c] + ldrh r0, [sp, #0x7c] + strh r1, [sp, #0x2e] + ldrh r1, [sp, #0x7e] + strh r0, [sp, #0x30] + ldr r0, [sp, #0x80] + strh r1, [sp, #0x32] + str r0, [sp, #0x34] + ldr r1, [sp, #0x84] + ldr r0, [sp, #0x88] + str r1, [sp, #0x38] + str r0, [sp, #0x3c] + ldr r1, [sp, #0x8c] + ldr r0, [sp, #0x90] + str r1, [sp, #0x40] + str r0, [sp, #0x44] + ldr r1, [sp, #0x94] + ldr r0, [sp, #0x98] + str r1, [sp, #0x48] + str r0, [sp, #0x4c] + ldr r1, [sp, #0x9c] + ldr r0, [sp, #0xa0] + str r1, [sp, #0x50] + str r0, [sp, #0x54] + ldr r1, [sp, #0xa4] + ldr r0, [sp, #0xa8] + str r1, [sp, #0x58] + str r0, [sp, #0x5c] + ldr r1, [sp, #0xac] + ldr r0, [sp, #0xb0] + str r1, [sp, #0x60] + str r0, [sp, #0x64] + ldr r1, [sp, #0xb4] + ldr r0, [sp, #0xb8] + str r1, [sp, #0x68] + str r0, [sp, #0x6c] + ldr r1, [sp, #0xbc] + ldr r0, [sp, #0xc0] + str r1, [sp, #0x70] + str r0, [sp, #0x74] +_0207ed34: + add r0, r6, #1 + mov r0, r0, lsl #0x10 + cmp r4, r0, lsr #16 + mov r6, r0, lsr #0x10 + bgt _0207eba0 +_0207ed48: + cmp r5, #0x1000 + bgt _0207eda4 + mvn r1, #0 + mov r0, r1, lsl #0x10 + umull r3, r2, r5, r0 + mla r2, r5, r1, r2 + ldr r4, [sp, #0x34] + mov r1, r5, asr #0x1f + str r4, [r7] + ldr r4, [sp, #0x38] + mla r2, r1, r0, r2 + str r4, [r7, #4] + ldr r1, [sp, #0x3c] + adds r3, r3, #0x800 + str r1, [r7, #8] + adc r0, r2, #0 + mov r1, r3, lsr #0xc + orr r1, r1, r0, lsl #20 + ldr r2, [sp, #0x18] + ldr r0, [sp, #8] + add r1, r2, r1 + str r1, [r0] + b _0207edd0 +_0207eda4: + mov r0, r8 + ldr r2, [r0] + add r1, sp, #0xc + ldr r2, [r2, #0x60] + blx r2 + ldr r1, [sp, #8] + str r0, [r1] + mov r1, #0 + str r1, [r7] + mov r0, #0x1000 + stmib r7, {r0, r1} +_0207edd0: + ldr r3, _0207ee0c ; =func_ov00_0207e968 + add r0, sp, #0x44 + mov r1, #3 + mov r2, #0x10 + bl func_0204f754 + ldr r3, _0207ee0c ; =func_ov00_0207e968 + add r0, sp, #0x90 + mov r1, #3 + mov r2, #0x10 + bl func_0204f754 + add sp, sp, #0xc4 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_0207e970 +_0207ee00: .word gMapManager +_0207ee04: .word data_027e0f6c +_0207ee08: .word data_ov00_020ec864 +_0207ee0c: .word func_ov00_0207e968 +_0207ee10: .word func_ov00_0207e96c + + .global func_ov00_0207ee14 + arm_func_start func_ov00_0207ee14 +func_ov00_0207ee14: ; 0x0207ee14 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x74 + ldr r0, _0207efdc ; =gMapManager + mov r9, r1 + ldr r1, [r0] + add r0, sp, #8 + mov r2, r9 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + mov r0, #0x20 + str r0, [sp] + mov r1, #0 + str r1, [sp, #4] + ldr r0, _0207efe0 ; =data_027e0f6c + ldr r3, _0207efe4 ; =data_ov00_020ec8a4 + ldr r0, [r0] + mov r1, r9 + mov r2, #2 + bl func_01fff084 + ldr r1, _0207efe8 ; =func_ov00_0207e968 + mov r5, r0 + str r1, [sp] + ldr r3, _0207efec ; =func_ov00_0207e96c + add r0, sp, #0x40 + mov r1, #3 + mov r2, #0x10 + mov r6, #0x2000 + ldr r7, _0207eff0 ; =0x0000ffff + bl func_0204f614 + mov r8, #0 + sub r0, r8, #0x10000 + str r8, [sp, #0x1c] + str r8, [sp, #0x24] + str r0, [sp, #0x20] + add r4, sp, #0x10 + ldmia r9, {r0, r1, r2} + cmp r5, #0 + stmia r4, {r0, r1, r2} + ble _0207efbc + ldr r10, _0207efe4 ; =data_ov00_020ec8a4 + ldr r9, _0207efe0 ; =data_027e0f6c + mov r11, #0x4c +_0207eeb8: + mov r0, r8, lsl #0x1 + ldrh r1, [r10, r0] + ldr r2, [r9] + add r0, sp, #0x28 + ldr r3, [r2, #0x20] + mul r2, r1, r11 + add ip, r3, r2 + ldrh lr, [r3, r2] + ldrh r3, [ip, #2] + mov r1, r4 + add r2, sp, #0x1c + strh r3, [sp, #0x2a] + strh lr, [sp, #0x28] + ldrh lr, [ip, #4] + add r3, sp, #0xc + strh lr, [sp, #0x2c] + ldrh lr, [ip, #6] + strh lr, [sp, #0x2e] + ldr lr, [ip, #8] + str lr, [sp, #0x30] + ldr lr, [ip, #0xc] + str lr, [sp, #0x34] + ldr lr, [ip, #0x10] + str lr, [sp, #0x38] + ldr lr, [ip, #0x14] + str lr, [sp, #0x3c] + ldr lr, [ip, #0x18] + str lr, [sp, #0x40] + ldr lr, [ip, #0x1c] + str lr, [sp, #0x44] + ldr lr, [ip, #0x20] + str lr, [sp, #0x48] + ldr lr, [ip, #0x24] + str lr, [sp, #0x4c] + ldr lr, [ip, #0x28] + str lr, [sp, #0x50] + ldr lr, [ip, #0x2c] + str lr, [sp, #0x54] + ldr lr, [ip, #0x30] + str lr, [sp, #0x58] + ldr lr, [ip, #0x34] + str lr, [sp, #0x5c] + ldr lr, [ip, #0x38] + str lr, [sp, #0x60] + ldr lr, [ip, #0x3c] + str lr, [sp, #0x64] + ldr lr, [ip, #0x40] + str lr, [sp, #0x68] + ldr lr, [ip, #0x44] + str lr, [sp, #0x6c] + ldr ip, [ip, #0x48] + str ip, [sp, #0x70] + bl func_01ffe904 + cmp r0, #0 + beq _0207efa8 + ldr r1, [sp, #0xc] + cmp r1, r6 + movlt r0, r8, lsl #0x1 + ldrlth r7, [r10, r0] + movlt r6, r1 +_0207efa8: + add r0, r8, #1 + mov r0, r0, lsl #0x10 + cmp r5, r0, lsr #16 + mov r8, r0, lsr #0x10 + bgt _0207eeb8 +_0207efbc: + ldr r3, _0207efe8 ; =func_ov00_0207e968 + add r0, sp, #0x40 + mov r1, #3 + mov r2, #0x10 + bl func_0204f754 + mov r0, r7 + add sp, sp, #0x74 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end func_ov00_0207ee14 +_0207efdc: .word gMapManager +_0207efe0: .word data_027e0f6c +_0207efe4: .word data_ov00_020ec8a4 +_0207efe8: .word func_ov00_0207e968 +_0207efec: .word func_ov00_0207e96c +_0207eff0: .word 0x0000ffff + + .global func_ov00_0207eff4 + arm_func_start func_ov00_0207eff4 +func_ov00_0207eff4: ; 0x0207eff4 + stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x24 + ldr r0, _0207f0f4 ; =gMapManager + mov r8, r1 + ldr r1, [r0] + add r0, sp, #8 + mov r2, r8 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + add r4, sp, #0xc + ldmia r8, {r0, r1, r2} + stmia r4, {r0, r1, r2} + add r3, sp, #0x18 + ldmia r8, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r4 + mov r1, #0x800 + bl func_ov00_0208ee00 + mov r0, #0x20 + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + ldr r0, _0207f0f8 ; =data_027e0f6c + ldr r3, _0207f0fc ; =data_ov00_020ec8e4 + ldr r0, [r0] + mov r1, r4 + mov r2, #8 + bl func_01fff264 + mov r5, r0 + cmp r5, #0 + mov r6, #0 + ble _0207f0e8 + ldr r4, _0207f0fc ; =data_ov00_020ec8e4 + ldr r9, _0207f0f8 ; =data_027e0f6c +_0207f078: + mov r0, r6, lsl #0x1 + ldr r1, [r9] + ldrh r0, [r4, r0] + ldr r1, [r1, #0x40] + ldr r7, [r1, r0, lsl #2] + cmp r7, #0 + ldrneb r0, [r7, #4] + cmpne r0, #0 + ldrneb r0, [r7, #5] + cmpne r0, #0 + beq _0207f0dc + ldr r0, [r7, #0xc] + ands r0, r0, #0x1f + cmpne r0, #1 + cmpne r0, #2 + beq _0207f0dc + mov r0, r7 + ldr r2, [r0] + mov r1, r8 + ldr r2, [r2, #0x48] + blx r2 + cmp r0, #0 + addne sp, sp, #0x24 + movne r0, r7 + ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} +_0207f0dc: + add r6, r6, #1 + cmp r6, r5 + blt _0207f078 +_0207f0e8: + mov r0, #0 + add sp, sp, #0x24 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} + .align 2, 0 + arm_func_end func_ov00_0207eff4 +_0207f0f4: .word gMapManager +_0207f0f8: .word data_027e0f6c +_0207f0fc: .word data_ov00_020ec8e4 + + .global func_ov00_0207f100 + arm_func_start func_ov00_0207f100 +func_ov00_0207f100: ; 0x0207f100 + bx lr + arm_func_end func_ov00_0207f100 + + .global func_ov00_0207f104 + arm_func_start func_ov00_0207f104 +func_ov00_0207f104: ; 0x0207f104 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + ldr r3, _0207f1f0 ; =gMapManager + mov r5, r1 + ldr r1, [r3] + mov r6, r0 + mov r4, r2 + add r0, sp, #0 + mov r2, r5 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + mov r0, r6 + ldr r2, [r0] + add r1, sp, #0 + ldr r2, [r2, #0x78] + blx r2 + movs r7, r0 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + ldr r1, [r0] + ldr r1, [r1, #0x58] + blx r1 + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + mov r0, r7 + ldr r1, [r0] + ldr r1, [r1, #0x54] + blx r1 + cmp r0, #0 + moveq r0, #0 + ldrneb r0, [r0, #5] + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + mov r0, r7 + mov r1, r5 + bl func_ov00_0208b79c + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + mov r0, r7 + ldr r1, [r0] + ldr r1, [r1, #0x54] + blx r1 + cmp r0, #0 + moveq r5, #0 + beq _0207f1cc + ldr r1, [r0] + ldr r1, [r1, #0x44] + blx r1 + mov r5, r0 +_0207f1cc: + mov r0, r6 + ldr r2, [r0] + add r1, sp, #0 + ldr r2, [r2, #0x60] + blx r2 + add r0, r0, r5 + str r0, [r4] + mov r0, #1 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end func_ov00_0207f104 +_0207f1f0: .word gMapManager + + .global func_ov00_0207f1f4 + arm_func_start func_ov00_0207f1f4 +func_ov00_0207f1f4: ; 0x0207f1f4 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} + sub sp, sp, #0x3c + ldr r0, _0207f318 ; =gMapManager + mov r9, r1 + ldr r1, [r0] + mov r8, r2 + add r0, sp, #8 + mov r2, r9 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + add r4, sp, #0x24 + ldmia r9, {r0, r1, r2} + stmia r4, {r0, r1, r2} + add r3, sp, #0x30 + ldmia r9, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r4 + mov r1, #0x800 + bl func_ov00_0208ee00 + mov r0, #0x20 + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + ldr r0, _0207f31c ; =data_027e0f6c + ldr r3, _0207f320 ; =data_ov00_020ec924 + ldr r0, [r0] + mov r1, r4 + mov r2, #8 + bl func_01fff264 + mov r5, r0 + cmp r5, #0 + mov r6, #0 + ble _0207f30c + ldr r4, _0207f320 ; =data_ov00_020ec924 + ldr r10, _0207f31c ; =data_027e0f6c +_0207f27c: + mov r0, r6, lsl #0x1 + ldr r1, [r10] + ldrh r0, [r4, r0] + ldr r1, [r1, #0x40] + ldr r7, [r1, r0, lsl #2] + cmp r7, #0 + ldrneb r0, [r7, #4] + cmpne r0, #0 + ldrneb r0, [r7, #5] + cmpne r0, #0 + beq _0207f300 + ldr r0, [r7, #0xc] + ands r0, r0, #0x1f + cmpne r0, #1 + cmpne r0, #2 + beq _0207f300 + mov r0, r7 + ldr r2, [r0] + mov r1, r9 + ldr r2, [r2, #0x48] + blx r2 + cmp r0, #0 + beq _0207f300 + mov r0, r7 + ldr r2, [r0] + add r1, sp, #0xc + ldr r2, [r2, #0x2c] + blx r2 + ldr r1, [sp, #0x1c] + add sp, sp, #0x3c + mov r0, #1 + str r1, [r8] + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} +_0207f300: + add r6, r6, #1 + cmp r6, r5 + blt _0207f27c +_0207f30c: + mov r0, #0 + add sp, sp, #0x3c + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} + .align 2, 0 + arm_func_end func_ov00_0207f1f4 +_0207f318: .word gMapManager +_0207f31c: .word data_027e0f6c +_0207f320: .word data_ov00_020ec924 + + .global func_ov00_0207f324 + arm_func_start func_ov00_0207f324 +func_ov00_0207f324: ; 0x0207f324 + mov r0, #0 + bx lr + arm_func_end func_ov00_0207f324 + + .global func_ov00_0207f32c + arm_func_start func_ov00_0207f32c +func_ov00_0207f32c: ; 0x0207f32c + mov r0, #0 + bx lr + arm_func_end func_ov00_0207f32c + + .global func_ov00_0207f334 + arm_func_start func_ov00_0207f334 +func_ov00_0207f334: ; 0x0207f334 + bx lr + arm_func_end func_ov00_0207f334 + + .global func_ov00_0207f338 + arm_func_start func_ov00_0207f338 +func_ov00_0207f338: ; 0x0207f338 + bx lr + arm_func_end func_ov00_0207f338 + + .global func_ov00_0207f33c + arm_func_start func_ov00_0207f33c +func_ov00_0207f33c: ; 0x0207f33c + mov r0, #0 + bx lr + arm_func_end func_ov00_0207f33c + + .global func_ov00_0207f344 + arm_func_start func_ov00_0207f344 +func_ov00_0207f344: ; 0x0207f344 + bx lr + arm_func_end func_ov00_0207f344 + + .global func_ov00_0207f348 + arm_func_start func_ov00_0207f348 +func_ov00_0207f348: ; 0x0207f348 + bx lr + arm_func_end func_ov00_0207f348 + + .global func_ov00_0207f34c + arm_func_start func_ov00_0207f34c +func_ov00_0207f34c: ; 0x0207f34c + mov r0, #0 + bx lr + arm_func_end func_ov00_0207f34c + + .global func_ov00_0207f354 + arm_func_start func_ov00_0207f354 +func_ov00_0207f354: ; 0x0207f354 + mov r0, #1 + bx lr + arm_func_end func_ov00_0207f354 + + .global func_ov00_0207f35c + arm_func_start func_ov00_0207f35c +func_ov00_0207f35c: ; 0x0207f35c + mov r0, #1 + bx lr + arm_func_end func_ov00_0207f35c + + .global func_ov00_0207f364 + arm_func_start func_ov00_0207f364 +func_ov00_0207f364: ; 0x0207f364 + stmdb sp!, {r3, lr} + ldrb r3, [r1, #0x15] + ldrb r2, [r1, #0x14] + add r1, sp, #0 + strb r3, [sp, #1] + strb r2, [sp] + ldr r2, [r0] + ldr r2, [r2, #0x80] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207f364 + + .global func_ov00_0207f38c + arm_func_start func_ov00_0207f38c +func_ov00_0207f38c: ; 0x0207f38c + stmdb sp!, {r4, lr} + ldr r2, [r0] + mov r4, r1 + ldr r2, [r2, #0x84] + blx r2 + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r4, pc} + ldr r0, _0207f3c0 ; =data_027e0f68 + mov r1, r4 + ldr r0, [r0] + bl func_ov00_0208d820 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_0207f38c +_0207f3c0: .word data_027e0f68 + + .global func_ov00_0207f3c4 + arm_func_start func_ov00_0207f3c4 +func_ov00_0207f3c4: ; 0x0207f3c4 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + ldr r3, [r0] + mov r6, r0 + ldr r3, [r3, #0x54] + mov r5, r1 + mov r4, r2 + blx r3 + mov r7, r0 + cmp r7, r4 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + mov r0, r6 + ldr r3, [r0] + mov r1, r5 + ldr r3, [r3, #0xbc] + mov r2, r4 + blx r3 + mov r0, r6 + ldr r2, [r0] + mov r1, r5 + ldr r2, [r2, #0x5c] + blx r2 + mov r1, r0 + cmp r4, #0x14 + bne _0207f448 + mov r0, r6 + ldr r3, [r0] + sub r1, r1, #3 + mov r2, r1, lsl #0x18 + ldr r3, [r3, #0xc0] + mov r1, r5 + mov r2, r2, asr #0x18 + blx r3 + b _0207f470 +_0207f448: + cmp r7, #0x14 + bne _0207f470 + mov r0, r6 + ldr r3, [r0] + add r1, r1, #3 + mov r2, r1, lsl #0x18 + ldr r3, [r3, #0xc0] + mov r1, r5 + mov r2, r2, asr #0x18 + blx r3 +_0207f470: + mov r0, r6 + ldr r2, [r0] + mov r1, r5 + ldr r2, [r2, #0x78] + blx r2 + cmp r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0x44] + blx r2 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end func_ov00_0207f3c4 + + .global func_ov00_0207f4a0 + arm_func_start func_ov00_0207f4a0 +func_ov00_0207f4a0: ; 0x0207f4a0 + bx lr + arm_func_end func_ov00_0207f4a0 + + .global func_ov00_0207f4a4 + arm_func_start func_ov00_0207f4a4 +func_ov00_0207f4a4: ; 0x0207f4a4 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + ldrsh r3, [r1, #2] + ldrsh r4, [r1] + add r3, r3, r3, lsr #31 + add ip, r4, r4, lsr #31 + mov r4, r3, asr #0x1 + mov r3, ip, asr #0x1 + strb r3, [sp] + strb r4, [sp, #1] + ldrsh r4, [r1] + ldrsh ip, [r1, #2] + mov r3, r4, lsr #0x1f + mov lr, ip, lsr #0x1f + rsb r1, r3, r4, lsl #31 + rsb ip, lr, ip, lsl #31 + adds r1, r3, r1, ror #31 + add r3, lr, ip, ror #31 + cmpeq r3, #0 + moveq r2, #0 + beq _0207f524 + cmp r1, #1 + cmpeq r3, #0 + moveq r2, #1 + beq _0207f524 + cmp r1, #1 + cmpeq r3, #1 + moveq r2, #3 + beq _0207f524 + cmp r1, #0 + cmpeq r3, #1 + moveq r2, #2 +_0207f524: + ldr r3, [r0] + add r1, sp, #0 + ldr r3, [r3, #0x58] + blx r3 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_0207f4a4 + + .global func_ov00_0207f53c + arm_func_start func_ov00_0207f53c +func_ov00_0207f53c: ; 0x0207f53c + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r0, #0 + strh r0, [r5] + mov r4, r2 + strh r0, [r5, #2] + ldr r0, [r4] + mov r1, #0x800 + bl Divide + add r0, r0, #0x800 + mov r0, r0, asr #0xc + strh r0, [r5] + ldr r0, [r4, #8] + mov r1, #0x800 + bl Divide + add r0, r0, #0x800 + mov r0, r0, asr #0xc + strh r0, [r5, #2] + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_0207f53c + + .global func_ov00_0207f588 + arm_func_start func_ov00_0207f588 +func_ov00_0207f588: ; 0x0207f588 + mov r1, #0 + strh r1, [r0] + strh r1, [r0, #2] + cmp r3, #3 + addls pc, pc, r3, lsl #2 + bx lr +_0207f5a0: ; jump table + b _0207f5b0 ; case 0 + b _0207f5cc ; case 1 + b _0207f5ec ; case 2 + b _0207f60c ; case 3 +_0207f5b0: + ldrb r1, [r2] + mov r1, r1, lsl #0x1 + strh r1, [r0] + ldrb r1, [r2, #1] + mov r1, r1, lsl #0x1 + strh r1, [r0, #2] + bx lr +_0207f5cc: + ldrb r1, [r2] + mov r1, r1, lsl #0x1 + add r1, r1, #1 + strh r1, [r0] + ldrb r1, [r2, #1] + mov r1, r1, lsl #0x1 + strh r1, [r0, #2] + bx lr +_0207f5ec: + ldrb r1, [r2] + mov r1, r1, lsl #0x1 + strh r1, [r0] + ldrb r1, [r2, #1] + mov r1, r1, lsl #0x1 + add r1, r1, #1 + strh r1, [r0, #2] + bx lr +_0207f60c: + ldrb r1, [r2] + mov r1, r1, lsl #0x1 + add r1, r1, #1 + strh r1, [r0] + ldrb r1, [r2, #1] + mov r1, r1, lsl #0x1 + add r1, r1, #1 + strh r1, [r0, #2] + bx lr + arm_func_end func_ov00_0207f588 + + .global func_ov00_0207f630 + arm_func_start func_ov00_0207f630 +func_ov00_0207f630: ; 0x0207f630 + stmdb sp!, {r4, lr} + ldrsh r3, [r1, #2] + ldrsh r1, [r1] + mov r0, #0x800 + mov lr, r3, lsl #0xc + mov ip, lr, asr #0x1f + mov r3, r1, lsl #0xc + mov ip, ip, lsl #0xb + mov r1, r3, asr #0x1f + mov r1, r1, lsl #0xb + adds r4, r0, lr, lsl #11 + orr ip, ip, lr, lsr #21 + adc lr, ip, #0 + adds ip, r0, r3, lsl #11 + orr r1, r1, r3, lsr #21 + mov r3, r4, lsr #0xc + adc r0, r1, #0 + mov r1, ip, lsr #0xc + orr r1, r1, r0, lsl #20 + str r1, [r2] + mov r0, #0 + str r0, [r2, #4] + orr r3, r3, lr, lsl #20 + str r3, [r2, #8] + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0207f630 + + .global func_ov00_0207f694 + arm_func_start func_ov00_0207f694 +func_ov00_0207f694: ; 0x0207f694 + ldr r0, [r0, #0xf4] + add r0, r0, r1, lsl #12 + bx lr + arm_func_end func_ov00_0207f694 + + .global func_ov00_0207f6a0 + arm_func_start func_ov00_0207f6a0 +func_ov00_0207f6a0: ; 0x0207f6a0 + ldr r0, [r0, #0xfc] + add r0, r0, r1, lsl #12 + bx lr + arm_func_end func_ov00_0207f6a0 + + .global func_ov00_0207f6ac + arm_func_start func_ov00_0207f6ac +func_ov00_0207f6ac: ; 0x0207f6ac + stmdb sp!, {r3, lr} + bl func_ov00_0207f694 + add r0, r0, #0x1000 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207f6ac + + .global func_ov00_0207f6bc + arm_func_start func_ov00_0207f6bc +func_ov00_0207f6bc: ; 0x0207f6bc + stmdb sp!, {r3, lr} + bl func_ov00_0207f6a0 + add r0, r0, #0x1000 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207f6bc + + .global func_ov00_0207f6cc + arm_func_start func_ov00_0207f6cc +func_ov00_0207f6cc: ; 0x0207f6cc + stmdb sp!, {r3, r4, r5, r6, r7, lr} + sub sp, sp, #0x18 + mov r7, r1 + ldrb r1, [r7] + mov r6, r0 + mov r5, r2 + bl func_ov00_0207f694 + ldrb r1, [r7, #1] + mov r0, r6 + bl func_ov00_0207f6a0 + mov r4, r0 + ldrb r1, [r7] + mov r0, r6 + bl func_ov00_0207f694 + ldr r2, _0207f774 ; =0xffffeccd + str r0, [sp, #0xc] + ldrb r1, [r7, #1] + mov r0, r6 + str r2, [sp, #0x10] + str r4, [sp, #0x14] + bl func_ov00_0207f6bc + mov r4, r0 + mov r0, r6 + mov r1, r7 + ldr r2, [r0] + ldr r2, [r2, #0x60] + blx r2 + ldrb r1, [r7] + mov r7, r0 + mov r0, r6 + bl func_ov00_0207f6ac + ldr r2, [sp, #0xc] + ldr r1, [sp, #0x10] + str r2, [r5] + str r1, [r5, #4] + ldr r1, [sp, #0x14] + str r1, [r5, #8] + str r0, [r5, #0xc] + str r7, [r5, #0x10] + str r4, [r5, #0x14] + add sp, sp, #0x18 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end func_ov00_0207f6cc +_0207f774: .word 0xffffeccd + + .global func_ov00_0207f778 + arm_func_start func_ov00_0207f778 +func_ov00_0207f778: ; 0x0207f778 + ldr r2, [r0, #0xf4] + ldrh r0, [r0, #0x28] + sub r1, r1, r2 + movs r1, r1, asr #0xc + movmi r1, #0 + sub r0, r0, #1 + cmp r1, r0 + movge r1, r0 + mov r0, r1 + bx lr + arm_func_end func_ov00_0207f778 + + .global func_ov00_0207f7a0 + arm_func_start func_ov00_0207f7a0 +func_ov00_0207f7a0: ; 0x0207f7a0 + ldr r2, [r0, #0xfc] + ldrh r0, [r0, #0x2a] + sub r1, r1, r2 + movs r1, r1, asr #0xc + movmi r1, #0 + sub r0, r0, #1 + cmp r1, r0 + movge r1, r0 + mov r0, r1 + bx lr + arm_func_end func_ov00_0207f7a0 + + .global func_ov00_0207f7c8 + arm_func_start func_ov00_0207f7c8 +func_ov00_0207f7c8: ; 0x0207f7c8 + ldr r0, [r0, #0xf4] + sub r0, r1, r0 + mov r0, r0, asr #0xc + bx lr + arm_func_end func_ov00_0207f7c8 + + .global func_ov00_0207f7d8 + arm_func_start func_ov00_0207f7d8 +func_ov00_0207f7d8: ; 0x0207f7d8 + ldr r0, [r0, #0xfc] + sub r0, r1, r0 + mov r0, r0, asr #0xc + bx lr + arm_func_end func_ov00_0207f7d8 + + .global func_ov00_0207f7e8 + arm_func_start func_ov00_0207f7e8 +func_ov00_0207f7e8: ; 0x0207f7e8 + stmdb sp!, {r4, r5, r6, lr} + mov r5, r1 + ldr r1, [r5] + mov r6, r0 + bl func_ov00_0207f7c8 + mov r4, r0 + ldr r1, [r5, #8] + mov r0, r6 + bl func_ov00_0207f7d8 + cmp r4, #0 + blt _0207f834 + ldrh r1, [r6, #0x28] + cmp r4, r1 + bge _0207f834 + cmp r0, #0 + blt _0207f834 + ldrh r1, [r6, #0x2a] + cmp r0, r1 + blt _0207f83c +_0207f834: + mov r0, #0 + ldmia sp!, {r4, r5, r6, pc} +_0207f83c: + mov r0, #1 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end func_ov00_0207f7e8 + + .global func_ov00_0207f844 + arm_func_start func_ov00_0207f844 +func_ov00_0207f844: ; 0x0207f844 + stmdb sp!, {r3, lr} + mov lr, #0 + strb lr, [sp, #1] + ldr ip, [r0, #0x104] + ldr r2, [r0, #0x108] + mov r3, r1 + cmp ip, r2 + bhs _0207f8a0 + add r1, ip, #1 + str r1, [r0, #0x104] + ldr r2, [r0, #0x100] + sub r1, r1, #1 + mov r0, #0x14 + mla ip, r1, r0, r2 + ldmia r3, {r0, r1, r2} + stmia ip, {r0, r1, r2} + ldrsh r0, [r3, #0xc] + strh r0, [ip, #0xc] + ldrb r0, [r3, #0xe] + strb r0, [ip, #0xe] + ldr r0, [r3, #0x10] + str r0, [ip, #0x10] + ldmia sp!, {r3, pc} +_0207f8a0: + strb lr, [sp] + sub r3, sp, #4 + and r2, lr, #0xff + strb r2, [r3] + ldr r2, [r3] + add r0, r0, #0x100 + bl func_ov00_02081040 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207f844 + + .global func_ov00_0207f8c0 + arm_func_start func_ov00_0207f8c0 +func_ov00_0207f8c0: ; 0x0207f8c0 + sub sp, sp, #0x18 + ldr r3, [r0, #0x100] + ldr r2, [r0, #0x104] + mov r0, #0x14 + mla ip, r2, r0, r3 + str r1, [sp, #0xc] + str r1, [sp] + str ip, [sp, #0x10] + str ip, [sp, #4] + str r3, [sp, #0x14] + str r3, [sp, #8] + mov r2, r3 + b _0207f8fc +_0207f8f4: + add r2, r2, #0x14 + str r2, [sp, #8] +_0207f8fc: + cmp r2, ip + ldrneb r0, [r2, #0xe] + cmpne r1, r0 + bne _0207f8f4 + ldr r0, [sp, #8] + cmp r0, ip + moveq r0, r3 + ldrne r0, [sp, #8] + add sp, sp, #0x18 + bx lr + arm_func_end func_ov00_0207f8c0 + + .global func_ov00_0207f924 + arm_func_start func_ov00_0207f924 +func_ov00_0207f924: ; 0x0207f924 + add r1, r0, r1 + ldrb r0, [r1, #0x18] + strb r0, [r1, #0x16] + bx lr + arm_func_end func_ov00_0207f924 + + .global func_ov00_0207f934 + arm_func_start func_ov00_0207f934 +func_ov00_0207f934: ; 0x0207f934 + ldr r0, [r0, #0x140] + cmp r0, #0 + moveq r0, #0 + ldrne r0, [r0, #0x60] + bx lr + arm_func_end func_ov00_0207f934 + + .global func_ov00_0207f948 + arm_func_start func_ov00_0207f948 +func_ov00_0207f948: ; 0x0207f948 + ldr r0, [r0, #0x140] + cmp r0, #0 + strne r1, [r0, #0x60] + bx lr + arm_func_end func_ov00_0207f948 + + .global func_ov00_0207f958 + arm_func_start func_ov00_0207f958 +func_ov00_0207f958: ; 0x0207f958 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #8 + mov r2, #0 + str r2, [sp, #4] + mov r4, r1 + ldrb r1, [r4, #5] + mov r5, r0 + mov r2, #4 + cmp r1, #0 + beq _0207f9a8 + ldr r1, _0207faa4 ; =data_027e0ce0 + mov r0, #0x5c + ldr r1, [r1, #4] + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _0207f9a0 + mov r1, r4 + bl func_ov00_02095d58 +_0207f9a0: + str r0, [sp, #4] + b _0207fa34 +_0207f9a8: + ldrb r0, [r4, #9] + cmp r0, #1 + bne _0207f9dc + ldr r1, _0207faa4 ; =data_027e0ce0 + mov r0, #0xe0 + ldr r1, [r1, #4] + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _0207f9d4 + mov r1, r4 + bl func_ov00_0209581c +_0207f9d4: + str r0, [sp, #4] + b _0207fa34 +_0207f9dc: + ldrb r0, [r4, #0xa] + cmp r0, #1 + bne _0207fa10 + ldr r1, _0207faa4 ; =data_027e0ce0 + mov r0, #0x28 + ldr r1, [r1, #4] + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _0207fa08 + mov r1, r4 + bl func_ov00_0209564c +_0207fa08: + str r0, [sp, #4] + b _0207fa34 +_0207fa10: + ldr r1, _0207faa4 ; =data_027e0ce0 + mov r0, #0x2c + ldr r1, [r1, #4] + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _0207fa30 + mov r1, r4 + bl func_ov00_02095554 +_0207fa30: + str r0, [sp, #4] +_0207fa34: + ldr r0, [sp, #4] + ldr r1, [r0] + ldr r1, [r1, #8] + blx r1 + mov r2, #0 + strb r2, [sp, #1] + ldr r1, [r5, #0x110] + ldr r0, [r5, #0x114] + cmp r1, r0 + bhs _0207fa7c + add r0, r1, #1 + str r0, [r5, #0x110] + ldr r2, [sp, #4] + ldr r1, [r5, #0x10c] + sub r0, r0, #1 + str r2, [r1, r0, lsl #2] + add sp, sp, #8 + ldmia sp!, {r3, r4, r5, pc} +_0207fa7c: + strb r2, [sp] + sub r1, sp, #4 + and r0, r2, #0xff + strb r0, [r1] + ldr r2, [r1] + add r1, sp, #4 + add r0, r5, #0x10c + bl func_ov00_02080f64 + add sp, sp, #8 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_0207f958 +_0207faa4: .word data_027e0ce0 + + .global func_ov00_0207faa8 + arm_func_start func_ov00_0207faa8 +func_ov00_0207faa8: ; 0x0207faa8 + bx lr + arm_func_end func_ov00_0207faa8 + + .global func_ov00_0207faac + arm_func_start func_ov00_0207faac +func_ov00_0207faac: ; 0x0207faac + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x18 + mov r9, r0 + ldr r6, [r9, #0x10c] + ldr r0, [r9, #0x110] + mov r8, r1 + add r0, r6, r0, lsl #2 + mov r7, r2 + cmp r6, r0 + mov r5, #0 + beq _0207fb50 + add r4, sp, #0 +_0207fadc: + ldr r0, [r6] + ldrb r1, [r0, #5] + cmp r8, r1 + bne _0207fb38 + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0x18] + blx r2 + cmp r0, #0 + beq _0207fb38 + ldr r0, [sp] + add r5, r5, #1 + str r0, [r7] + ldr r0, [sp, #4] + str r0, [r7, #4] + ldr r0, [sp, #8] + str r0, [r7, #8] + ldr r0, [sp, #0xc] + str r0, [r7, #0xc] + ldr r0, [sp, #0x10] + str r0, [r7, #0x10] + ldr r0, [sp, #0x14] + str r0, [r7, #0x14] +_0207fb38: + ldr r1, [r9, #0x10c] + ldr r0, [r9, #0x110] + add r6, r6, #4 + add r0, r1, r0, lsl #2 + cmp r6, r0 + bne _0207fadc +_0207fb50: + mov r0, r5 + add sp, sp, #0x18 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + arm_func_end func_ov00_0207faac + + .global func_ov00_0207fb5c + arm_func_start func_ov00_0207fb5c +func_ov00_0207fb5c: ; 0x0207fb5c + mov r0, #0 + bx lr + arm_func_end func_ov00_0207fb5c + + .global func_ov00_0207fb64 + arm_func_start func_ov00_0207fb64 +func_ov00_0207fb64: ; 0x0207fb64 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} + sub sp, sp, #0x18 + mov r10, r0 + ldr r6, [r10, #0x10c] + ldr r0, [r10, #0x110] + mov r9, r1 + add r0, r6, r0, lsl #2 + mov r8, r2 + mov r7, r3 + cmp r6, r0 + mov r5, #0 + beq _0207fc20 + add r4, sp, #0 +_0207fb98: + ldr r0, [r6] + ldrb r1, [r0, #5] + cmp r9, r1 + bne _0207fbf8 + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0x18] + blx r2 + cmp r0, #0 + beq _0207fbf8 + ldr r0, [sp] + add r5, r5, #1 + str r0, [r8] + ldr r0, [sp, #4] + str r0, [r8, #4] + ldr r0, [sp, #8] + str r0, [r8, #8] + ldr r0, [sp, #0xc] + str r0, [r8, #0xc] + ldr r0, [sp, #0x10] + str r0, [r8, #0x10] + ldr r0, [sp, #0x14] + str r0, [r8, #0x14] + add r8, r8, #0x18 +_0207fbf8: + cmp r5, r7 + addhs sp, sp, #0x18 + movhs r0, r5 + ldmhsia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} + ldr r1, [r10, #0x10c] + ldr r0, [r10, #0x110] + add r6, r6, #4 + add r0, r1, r0, lsl #2 + cmp r6, r0 + bne _0207fb98 +_0207fc20: + mov r0, r5 + add sp, sp, #0x18 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} + arm_func_end func_ov00_0207fb64 + + .global func_ov00_0207fc2c + arm_func_start func_ov00_0207fc2c +func_ov00_0207fc2c: ; 0x0207fc2c + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r6, r0 + ldr r4, [r6, #0x10c] + ldr r0, [r6, #0x110] + mov r5, r1 + add r0, r4, r0, lsl #2 + cmp r4, r0 + beq _0207fc88 +_0207fc4c: + ldr r7, [r4] + mov r1, r5 + mov r0, r7 + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + cmp r0, #0 + ldrneb r0, [r7, #5] + ldmneia sp!, {r3, r4, r5, r6, r7, pc} + ldr r1, [r6, #0x10c] + ldr r0, [r6, #0x110] + add r4, r4, #4 + add r0, r1, r0, lsl #2 + cmp r4, r0 + bne _0207fc4c +_0207fc88: + mov r0, #0 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end func_ov00_0207fc2c + + .global func_ov00_0207fc90 + arm_func_start func_ov00_0207fc90 +func_ov00_0207fc90: ; 0x0207fc90 + mov r0, #0 + bx lr + arm_func_end func_ov00_0207fc90 + + .global func_ov00_0207fc98 + arm_func_start func_ov00_0207fc98 +func_ov00_0207fc98: ; 0x0207fc98 + ldr ip, [r0, #0x10c] + ldr r2, [r0, #0x110] + add r2, ip, r2, lsl #2 + cmp ip, r2 + beq _0207fcd8 +_0207fcac: + ldr r3, [ip] + ldrb r2, [r3, #5] + cmp r1, r2 + moveq r0, r3 + bxeq lr + ldr r3, [r0, #0x10c] + ldr r2, [r0, #0x110] + add ip, ip, #4 + add r2, r3, r2, lsl #2 + cmp ip, r2 + bne _0207fcac +_0207fcd8: + mov r0, #0 + bx lr + arm_func_end func_ov00_0207fc98 + + .global func_ov00_0207fce0 + arm_func_start func_ov00_0207fce0 +func_ov00_0207fce0: ; 0x0207fce0 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} + mov r10, r0 + ldr r6, [r10, #0x10c] + ldr r0, [r10, #0x110] + mov r9, r1 + add r0, r6, r0, lsl #2 + mov r8, r2 + mov r7, r3 + cmp r6, r0 + mov r4, #0 + beq _0207fd50 +_0207fd0c: + cmp r4, r7 + bhs _0207fd50 + ldr r5, [r6] + mov r1, r9 + mov r0, r5 + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + cmp r0, #0 + strne r5, [r8, r4, lsl #2] + ldr r1, [r10, #0x10c] + ldr r0, [r10, #0x110] + add r6, r6, #4 + add r0, r1, r0, lsl #2 + addne r4, r4, #1 + cmp r6, r0 + bne _0207fd0c +_0207fd50: + mov r0, r4 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} + arm_func_end func_ov00_0207fce0 + + .global func_ov00_0207fd58 + arm_func_start func_ov00_0207fd58 +func_ov00_0207fd58: ; 0x0207fd58 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + movs r6, r1 + mov r7, r0 + mov r5, r2 + moveq r0, #1 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + ldr r4, [r7, #0x10c] + ldr r0, [r7, #0x110] + add r0, r4, r0, lsl #2 + cmp r4, r0 + beq _0207fdc8 +_0207fd84: + ldr r0, [r4] + ldrb r1, [r0, #5] + cmp r6, r1 + bne _0207fdb0 + ldr r2, [r0] + mov r1, r5 + ldr r2, [r2, #0x14] + blx r2 + cmp r0, #0 + movne r0, #1 + ldmneia sp!, {r3, r4, r5, r6, r7, pc} +_0207fdb0: + ldr r1, [r7, #0x10c] + ldr r0, [r7, #0x110] + add r4, r4, #4 + add r0, r1, r0, lsl #2 + cmp r4, r0 + bne _0207fd84 +_0207fdc8: + mov r0, #0 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end func_ov00_0207fd58 + + .global func_ov00_0207fdd0 + arm_func_start func_ov00_0207fdd0 +func_ov00_0207fdd0: ; 0x0207fdd0 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r7, r0 + ldr r5, [r7, #0x10c] + ldr r0, [r7, #0x110] + mov r6, r1 + add r0, r5, r0, lsl #2 + cmp r5, r0 + beq _0207fe2c + mov r4, #1 +_0207fdf4: + ldr r0, [r5] + ldrb r1, [r0, #5] + cmp r6, r1 + bne _0207fe14 + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0xc] + blx r2 +_0207fe14: + ldr r1, [r7, #0x10c] + ldr r0, [r7, #0x110] + add r5, r5, #4 + add r0, r1, r0, lsl #2 + cmp r5, r0 + bne _0207fdf4 +_0207fe2c: + mov r0, #1 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end func_ov00_0207fdd0 + + .global func_ov00_0207fe34 + arm_func_start func_ov00_0207fe34 +func_ov00_0207fe34: ; 0x0207fe34 + mov r0, #0 + bx lr + arm_func_end func_ov00_0207fe34 + + .global func_ov00_0207fe3c + arm_func_start func_ov00_0207fe3c +func_ov00_0207fe3c: ; 0x0207fe3c + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r4, [r5, #0x10c] + ldr r0, [r5, #0x110] + add r0, r4, r0, lsl #2 + cmp r4, r0 + ldmeqia sp!, {r3, r4, r5, pc} +_0207fe58: + ldr r0, [r4], #4 + ldr r1, [r0] + ldr r1, [r1, #8] + blx r1 + ldr r1, [r5, #0x10c] + ldr r0, [r5, #0x110] + add r0, r1, r0, lsl #2 + cmp r4, r0 + bne _0207fe58 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_0207fe3c + + .global func_ov00_0207fe80 + arm_func_start func_ov00_0207fe80 +func_ov00_0207fe80: ; 0x0207fe80 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {lr} + sub sp, sp, #0x14 + ldr r1, [r0, #0x110] + cmp r1, #0x40 + addhs sp, sp, #0x14 + movhs r0, #0 + ldmhsia sp!, {lr} + addhs sp, sp, #0x10 + bxhs lr + ldr r2, [r0, #0x10c] + ldr r1, [r0, #0x110] + str r2, [sp, #0x10] + add ip, r2, r1, lsl #2 + str ip, [sp, #0xc] + str ip, [sp, #4] + str r2, [sp, #8] + ldr r3, [sp, #0x1c] + b _0207fed4 +_0207fecc: + add r2, r2, #4 + str r2, [sp, #8] +_0207fed4: + cmp r2, ip + ldrne r1, [r2] + cmpne r1, r3 + bne _0207fecc + ldr r1, [sp, #8] + cmp r1, ip + addne sp, sp, #0x14 + movne r0, #0 + ldmneia sp!, {lr} + addne sp, sp, #0x10 + bxne lr + ldr r1, [sp, #0x1c] + ldrb r1, [r1, #4] + cmp r1, #0 + addne sp, sp, #0x14 + movne r0, #0 + ldmneia sp!, {lr} + addne sp, sp, #0x10 + bxne lr + mov r3, #0 + strb r3, [sp, #1] + ldr r2, [r0, #0x110] + ldr r1, [r0, #0x114] + cmp r2, r1 + bhs _0207ff54 + add r3, r2, #1 + str r3, [r0, #0x110] + ldr r1, [r0, #0x10c] + ldr r2, [sp, #0x1c] + sub r0, r3, #1 + str r2, [r1, r0, lsl #2] + b _0207ff74 +_0207ff54: + strb r3, [sp] + sub r2, sp, #4 + and r1, r3, #0xff + strb r1, [r2] + ldr r2, [r2] + add r1, sp, #0x1c + add r0, r0, #0x10c + bl func_ov00_02080f64 +_0207ff74: + mov r0, #1 + add sp, sp, #0x14 + ldmia sp!, {lr} + add sp, sp, #0x10 + bx lr + arm_func_end func_ov00_0207fe80 + + .global func_ov00_0207ff88 + arm_func_start func_ov00_0207ff88 +func_ov00_0207ff88: ; 0x0207ff88 + stmdb sp!, {r3, lr} + sub sp, sp, #0x28 + ldrb r2, [r1, #4] + cmp r2, #0 + addne sp, sp, #0x28 + movne r0, #0 + ldmneia sp!, {r3, pc} + ldr ip, [r0, #0x10c] + ldr r2, [r0, #0x110] + str ip, [sp, #0x20] + add r3, ip, r2, lsl #2 + str r3, [sp, #0x1c] + str r3, [sp, #0xc] + str r3, [sp, #4] + str ip, [sp, #8] + b _0207ffd0 +_0207ffc8: + add ip, ip, #4 + str ip, [sp, #8] +_0207ffd0: + cmp ip, r3 + ldrne r2, [ip] + cmpne r2, r1 + bne _0207ffc8 + ldr r2, [sp, #8] + ldr r3, [sp, #0xc] + mov lr, r2 + cmp r2, r3 + addne ip, lr, #4 + cmpne ip, r3 + beq _02080014 +_0207fffc: + ldr r2, [ip] + add ip, ip, #4 + cmp r2, r1 + strne r2, [lr], #4 + cmp ip, r3 + bne _0207fffc +_02080014: + ldr r2, [r0, #0x10c] + ldr r1, [r0, #0x110] + mov r3, #0 + add r2, r2, r1, lsl #2 + strb r3, [sp] + sub r1, sp, #4 + strb r3, [r1] + ldr r3, [r1] + mov r1, lr + add r0, r0, #0x10c + str lr, [sp, #0x24] + str r2, [sp, #0x18] + str r2, [sp, #0x10] + str lr, [sp, #0x14] + bl func_ov00_02080f94 + mov r0, #1 + add sp, sp, #0x28 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0207ff88 + + .global func_ov00_0208005c + arm_func_start func_ov00_0208005c +func_ov00_0208005c: ; 0x0208005c + ldr ip, _02080068 ; =func_ov00_0209c1e4 + ldr r0, [r0, #0x144] + bx ip + .align 2, 0 + arm_func_end func_ov00_0208005c +_02080068: .word func_ov00_0209c1e4 + + .global func_ov00_0208006c + arm_func_start func_ov00_0208006c +func_ov00_0208006c: ; 0x0208006c + ldr ip, _02080078 ; =func_ov00_0209c2b4 + ldr r0, [r0, #0x144] + bx ip + .align 2, 0 + arm_func_end func_ov00_0208006c +_02080078: .word func_ov00_0209c2b4 + + .global func_ov00_0208007c + arm_func_start func_ov00_0208007c +func_ov00_0208007c: ; 0x0208007c + ldr ip, _02080088 ; =func_ov00_0209c2d0 + ldr r0, [r0, #0x144] + bx ip + .align 2, 0 + arm_func_end func_ov00_0208007c +_02080088: .word func_ov00_0209c2d0 + + .global func_ov00_0208008c + arm_func_start func_ov00_0208008c +func_ov00_0208008c: ; 0x0208008c + ldr ip, _02080098 ; =func_ov00_0209c8e4 + ldr r0, [r0, #0x144] + bx ip + .align 2, 0 + arm_func_end func_ov00_0208008c +_02080098: .word func_ov00_0209c8e4 + + .global func_ov00_0208009c + arm_func_start func_ov00_0208009c +func_ov00_0208009c: ; 0x0208009c + stmdb sp!, {r3, lr} + mov ip, #0 + strb ip, [sp, #1] + ldr r3, [r0, #0x11c] + ldr r2, [r0, #0x120] + cmp r3, r2 + bhs _02080120 + add ip, r3, #1 + sub r3, ip, #1 + mov r2, #0x18 + mul r2, r3, r2 + str ip, [r0, #0x11c] + ldr r3, [r0, #0x118] + ldr r0, [r1] + add ip, r3, r2 + str r0, [r3, r2] + ldr r0, [r1, #4] + str r0, [ip, #4] + ldr r0, [r1, #8] + str r0, [ip, #8] + ldr r0, [r1, #0xc] + str r0, [ip, #0xc] + ldrsh r0, [r1, #0x10] + strh r0, [ip, #0x10] + ldrb r0, [r1, #0x12] + strb r0, [ip, #0x12] + ldrb r0, [r1, #0x13] + strb r0, [ip, #0x13] + ldrb r0, [r1, #0x14] + strb r0, [ip, #0x14] + ldrb r0, [r1, #0x15] + strb r0, [ip, #0x15] + ldmia sp!, {r3, pc} +_02080120: + strb ip, [sp] + sub r3, sp, #4 + and r2, ip, #0xff + strb r2, [r3] + ldr r2, [r3] + add r0, r0, #0x118 + bl func_ov00_020810b8 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0208009c + + .global func_ov00_02080140 + arm_func_start func_ov00_02080140 +func_ov00_02080140: ; 0x02080140 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} + sub sp, sp, #0x50 + ldr r9, [r1] + mov r4, r0 + str r9, [sp, #0x38] + ldr r8, [r1, #4] + mov r10, #0x18 + str r8, [sp, #0x3c] + ldr r7, [r1, #8] + add r0, sp, #0x1c + str r7, [sp, #0x40] + ldr r6, [r1, #0xc] + add r3, sp, #0x20 + str r6, [sp, #0x44] + ldrsh r5, [r1, #0x10] + strh r5, [sp, #0x48] + ldrb lr, [r1, #0x12] + strb lr, [sp, #0x4a] + ldrb ip, [r1, #0x13] + strb ip, [sp, #0x4b] + ldrb r2, [r1, #0x14] + strb r2, [sp, #0x4c] + ldrb r1, [r1, #0x15] + str r9, [sp, #0x20] + str r8, [sp, #0x24] + strb r1, [sp, #0x4d] + str r7, [sp, #0x28] + str r6, [sp, #0x2c] + strh r5, [sp, #0x30] + strb lr, [sp, #0x32] + strb ip, [sp, #0x33] + strb r2, [sp, #0x34] + strb r1, [sp, #0x35] + ldr r1, [r4, #0x118] + ldr r5, [r4, #0x11c] + str r1, [sp, #0x18] + mla r2, r5, r10, r1 + str r2, [sp, #0x14] + bl func_ov00_02080324 + ldr r0, [r4, #0x118] + ldr r2, [r4, #0x11c] + mov r1, r10 + mla r5, r2, r1, r0 + ldr r1, [sp, #0x1c] + cmp r1, r5 + bne _02080310 + mov r1, #0 + cmp r0, r5 + str r0, [sp, #8] + addne r3, r0, #0x18 + strne r3, [sp, #8] + str r5, [sp, #0xc] + str r0, [sp, #0x10] + strb r1, [sp, #2] + str r5, [sp, #4] + cmpne r3, r5 + beq _02080244 +_02080224: + ldrb r2, [r0, #0x14] + ldrb r1, [r3, #0x14] + cmp r2, r1 + movlo r0, r3 + add r3, r3, #0x18 + cmp r3, r5 + bne _02080224 + str r3, [sp, #8] +_02080244: + ldr r3, [r4, #0x118] + ldr r2, [r4, #0x11c] + mov r1, #0x18 + mla r1, r2, r1, r3 + cmp r0, r1 + moveq r0, #1 + streqb r0, [sp, #0x4c] + ldrneb r0, [r0, #0x14] + mov r2, #0 + addne r0, r0, #1 + strneb r0, [sp, #0x4c] + strb r2, [sp, #1] + ldr r1, [r4, #0x11c] + ldr r0, [r4, #0x120] + cmp r1, r0 + bhs _020802ec + add r3, r1, #1 + sub r1, r3, #1 + mov r0, #0x18 + mul r2, r1, r0 + str r3, [r4, #0x11c] + ldr r1, [r4, #0x118] + ldr r0, [sp, #0x38] + add r3, r1, r2 + str r0, [r1, r2] + ldr r0, [sp, #0x3c] + str r0, [r3, #4] + ldr r0, [sp, #0x40] + str r0, [r3, #8] + ldr r0, [sp, #0x44] + str r0, [r3, #0xc] + ldrsh r0, [sp, #0x48] + strh r0, [r3, #0x10] + ldrb r0, [sp, #0x4a] + strb r0, [r3, #0x12] + ldrb r0, [sp, #0x4b] + strb r0, [r3, #0x13] + ldrb r0, [sp, #0x4c] + strb r0, [r3, #0x14] + ldrb r0, [sp, #0x4d] + strb r0, [r3, #0x15] + b _02080318 +_020802ec: + strb r2, [sp] + sub r1, sp, #4 + and r0, r2, #0xff + strb r0, [r1] + ldr r2, [r1] + add r1, sp, #0x38 + add r0, r4, #0x118 + bl func_ov00_020810b8 + b _02080318 +_02080310: + ldrb r0, [r1, #0x14] + strb r0, [sp, #0x4c] +_02080318: + ldrb r0, [sp, #0x4c] + add sp, sp, #0x50 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} + arm_func_end func_ov00_02080140 + + .global func_ov00_02080324 + arm_func_start func_ov00_02080324 +func_ov00_02080324: ; 0x02080324 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, r5, r6, r7, r8, lr} + mov r7, r0 + mov r6, r3 + ldr r5, [sp, #0x20] + ldr r4, [sp, #0x1c] + b _02080344 +_02080340: + add r4, r4, #0x18 +_02080344: + cmp r4, r5 + beq _0208038c + mov r0, r4 + bl func_ov00_020a5e9c + mov r8, r0 + mov r0, r6 + bl func_ov00_020a5e9c + cmp r8, r0 + ldreqb r1, [r4, #0x12] + ldreqb r0, [r6, #0x12] + cmpeq r1, r0 + ldreqb r1, [r4, #0x13] + ldreqb r0, [r6, #0x13] + cmpeq r1, r0 + ldreq r1, [r4, #8] + ldreq r0, [r6, #8] + cmpeq r1, r0 + bne _02080340 +_0208038c: + str r4, [r7] + ldmia sp!, {r4, r5, r6, r7, r8, lr} + add sp, sp, #0x10 + bx lr + arm_func_end func_ov00_02080324 + + .global func_ov00_0208039c + arm_func_start func_ov00_0208039c +func_ov00_0208039c: ; 0x0208039c + stmdb sp!, {lr} + sub sp, sp, #0x14 + cmp r1, #0 + addle sp, sp, #0x14 + movle r0, #0 + ldmleia sp!, {pc} + ldr ip, [r0, #0x118] + ldr r3, [r0, #0x11c] + mov r0, #0x18 + mla lr, r3, r0, ip + and r0, r1, #0xff + strb r1, [sp, #1] + strb r0, [sp] + str lr, [sp, #0xc] + str lr, [sp, #4] + str ip, [sp, #0x10] + str ip, [sp, #8] + and r1, r0, #0xff + b _020803f0 +_020803e8: + add ip, ip, #0x18 + str ip, [sp, #8] +_020803f0: + cmp ip, lr + ldrneb r0, [ip, #0x14] + cmpne r1, r0 + bne _020803e8 + ldr r0, [sp, #8] + cmp r0, lr + addeq sp, sp, #0x14 + moveq r0, #0 + ldmeqia sp!, {pc} + ldr r3, [sp, #8] + mov r0, #1 + ldr r1, [r3] + str r1, [r2] + ldr r1, [r3, #4] + str r1, [r2, #4] + ldr r1, [r3, #8] + str r1, [r2, #8] + ldr r1, [r3, #0xc] + str r1, [r2, #0xc] + ldrsh r1, [r3, #0x10] + strh r1, [r2, #0x10] + ldrb r1, [r3, #0x12] + strb r1, [r2, #0x12] + ldrb r1, [r3, #0x13] + strb r1, [r2, #0x13] + ldrb r1, [r3, #0x14] + strb r1, [r2, #0x14] + ldrb r1, [r3, #0x15] + strb r1, [r2, #0x15] + add sp, sp, #0x14 + ldmia sp!, {pc} + arm_func_end func_ov00_0208039c + + .global func_ov00_0208046c + arm_func_start func_ov00_0208046c +func_ov00_0208046c: ; 0x0208046c + stmdb sp!, {r3, lr} + mov ip, #0 + strb ip, [sp, #1] + ldr r3, [r0, #0x128] + ldr r2, [r0, #0x12c] + cmp r3, r2 + bhs _020804f0 + add ip, r3, #1 + sub r3, ip, #1 + mov r2, #0x1c + mul r2, r3, r2 + str ip, [r0, #0x128] + ldr r3, [r0, #0x124] + ldr r0, [r1] + add ip, r3, r2 + str r0, [r3, r2] + ldrb r0, [r1, #4] + strb r0, [ip, #4] + ldr r0, [r1, #8] + str r0, [ip, #8] + ldr r0, [r1, #0xc] + str r0, [ip, #0xc] + ldr r0, [r1, #0x10] + str r0, [ip, #0x10] + ldrsh r0, [r1, #0x14] + strh r0, [ip, #0x14] + ldrsh r0, [r1, #0x16] + strh r0, [ip, #0x16] + ldrh r2, [r1, #0x18] + ldrh r0, [r1, #0x1a] + strh r2, [ip, #0x18] + strh r0, [ip, #0x1a] + ldmia sp!, {r3, pc} +_020804f0: + strb ip, [sp] + sub r3, sp, #4 + and r2, ip, #0xff + strb r2, [r3] + ldr r2, [r3] + add r0, r0, #0x124 + bl func_ov00_02081130 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_0208046c + + .global func_ov00_02080510 + arm_func_start func_ov00_02080510 +func_ov00_02080510: ; 0x02080510 + stmdb sp!, {lr} + sub sp, sp, #0x14 + ldr ip, [r0, #0x124] + ldr r3, [r0, #0x128] + mov r0, #0x1c + mla lr, r3, r0, ip + and r0, r1, #0xff + strb r1, [sp, #1] + strb r0, [sp] + str lr, [sp, #0xc] + str lr, [sp, #4] + str ip, [sp, #0x10] + str ip, [sp, #8] + and r1, r0, #0xff + b _02080554 +_0208054c: + add ip, ip, #0x1c + str ip, [sp, #8] +_02080554: + cmp ip, lr + ldrneb r0, [ip, #4] + cmpne r1, r0 + bne _0208054c + ldr r0, [sp, #8] + cmp r0, lr + addeq sp, sp, #0x14 + moveq r0, #0 + ldmeqia sp!, {pc} + ldr ip, [sp, #8] + mov r0, #1 + ldr r1, [ip] + str r1, [r2] + ldrb r1, [ip, #4] + strb r1, [r2, #4] + ldr r1, [ip, #8] + str r1, [r2, #8] + ldr r1, [ip, #0xc] + str r1, [r2, #0xc] + ldr r1, [ip, #0x10] + str r1, [r2, #0x10] + ldrsh r1, [ip, #0x14] + strh r1, [r2, #0x14] + ldrsh r1, [ip, #0x16] + strh r1, [r2, #0x16] + ldrh r3, [ip, #0x18] + ldrh r1, [ip, #0x1a] + strh r3, [r2, #0x18] + strh r1, [r2, #0x1a] + add sp, sp, #0x14 + ldmia sp!, {pc} + arm_func_end func_ov00_02080510 + + .global func_ov00_020805d0 + arm_func_start func_ov00_020805d0 +func_ov00_020805d0: ; 0x020805d0 + stmdb sp!, {r3, lr} + sub sp, sp, #0x18 + ldr ip, [r0, #0x124] + ldr r3, [r0, #0x128] + mov r0, #0x1c + mla lr, r3, r0, ip + str r1, [sp, #0xc] + str r1, [sp] + str lr, [sp, #0x10] + str lr, [sp, #4] + str ip, [sp, #0x14] + str ip, [sp, #8] + b _0208060c +_02080604: + add ip, ip, #0x1c + str ip, [sp, #8] +_0208060c: + cmp ip, lr + ldrne r0, [ip] + cmpne r1, r0 + bne _02080604 + ldr r0, [sp, #8] + cmp r0, lr + addeq sp, sp, #0x18 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + ldr ip, [sp, #8] + mov r0, #1 + ldr r1, [ip] + str r1, [r2] + ldrb r1, [ip, #4] + strb r1, [r2, #4] + ldr r1, [ip, #8] + str r1, [r2, #8] + ldr r1, [ip, #0xc] + str r1, [r2, #0xc] + ldr r1, [ip, #0x10] + str r1, [r2, #0x10] + ldrsh r1, [ip, #0x14] + strh r1, [r2, #0x14] + ldrsh r1, [ip, #0x16] + strh r1, [r2, #0x16] + ldrh r3, [ip, #0x18] + ldrh r1, [ip, #0x1a] + strh r3, [r2, #0x18] + strh r1, [r2, #0x1a] + add sp, sp, #0x18 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_020805d0 + + .global func_ov00_02080688 + arm_func_start func_ov00_02080688 +func_ov00_02080688: ; 0x02080688 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0x1c + mov r6, r0 + mov r4, r2 + add r2, r6, r4 + mov r5, r1 + ldrb r1, [r2, #0x16] + cmp r1, #0 + bne _020806c8 + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0xb8] + blx r2 + add sp, sp, #0x1c + str r0, [r5] + ldmia sp!, {r3, r4, r5, r6, pc} +_020806c8: + mov ip, #0 + mov r0, #0xff + add r3, sp, #0 + str ip, [sp] + strb r0, [sp, #4] + strh ip, [sp, #0x14] + strh ip, [sp, #0x16] + mov r2, ip +_020806e8: + add r0, r3, ip, lsl #1 + add ip, ip, #1 + strh r2, [r0, #0x18] + cmp ip, #2 + blo _020806e8 + add r2, sp, #0 + mov r0, r6 + bl func_ov00_02080510 + cmp r0, #0 + bne _02080730 + mov r0, r6 + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0xb8] + blx r2 + add sp, sp, #0x1c + str r0, [r5] + ldmia sp!, {r3, r4, r5, r6, pc} +_02080730: + ldr r0, [sp] + str r0, [r5] + ldrb r0, [sp, #4] + strb r0, [r5, #4] + ldr r0, [sp, #8] + str r0, [r5, #8] + ldr r0, [sp, #0xc] + str r0, [r5, #0xc] + ldr r0, [sp, #0x10] + str r0, [r5, #0x10] + ldrsh r0, [sp, #0x14] + strh r0, [r5, #0x14] + ldrsh r0, [sp, #0x16] + strh r0, [r5, #0x16] + ldrh r1, [sp, #0x18] + ldrh r0, [sp, #0x1a] + strh r1, [r5, #0x18] + strh r0, [r5, #0x1a] + add sp, sp, #0x1c + ldmia sp!, {r3, r4, r5, r6, pc} + arm_func_end func_ov00_02080688 + + .global func_ov00_02080780 + arm_func_start func_ov00_02080780 +func_ov00_02080780: ; 0x02080780 + stmdb sp!, {lr} + sub sp, sp, #0x1c + mov lr, #0 + mov r3, #0xff + strb r3, [sp, #4] + add ip, sp, #0 + mov r2, r1 + str lr, [sp] + strh lr, [sp, #0x14] + strh lr, [sp, #0x16] + mov r3, lr +_020807ac: + add r1, ip, lr, lsl #1 + add lr, lr, #1 + strh r3, [r1, #0x18] + cmp lr, #2 + blo _020807ac + add r1, sp, #0 + bl func_ov00_02080688 + ldr r0, [sp] + add sp, sp, #0x1c + ldmia sp!, {pc} + arm_func_end func_ov00_02080780 + + .global func_ov00_020807d4 + arm_func_start func_ov00_020807d4 +func_ov00_020807d4: ; 0x020807d4 + stmdb sp!, {r3, lr} + ldr r0, _02080820 ; =data_027e0618 + ldr r0, [r0] + cmp r0, #6 + bne _02080818 + bl func_ov00_02079e3c + cmp r0, #0 + beq _02080800 + cmp r0, #1 + beq _02080808 + b _02080810 +_02080800: + mov r0, #0 + ldmia sp!, {r3, pc} +_02080808: + mov r0, #0x1c + ldmia sp!, {r3, pc} +_02080810: + mov r0, #0x1c + ldmia sp!, {r3, pc} +_02080818: + mov r0, #0 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020807d4 +_02080820: .word data_027e0618 + + .global func_ov00_02080824 + arm_func_start func_ov00_02080824 +func_ov00_02080824: ; 0x02080824 + stmdb sp!, {r4, lr} + ldr r4, [r0, #0x14c] + cmp r4, #0 + moveq r0, #0 + ldmeqia sp!, {r4, pc} + ldrh r3, [r4, #4] + mov ip, #0 + cmp r3, #0 + ble _020808c8 + mov lr, r4 +_0208084c: + ldrb r0, [lr, #8] + cmp r1, r0 + bne _020808b8 + mov r0, #0x1c + mul r0, ip, r0 + add r3, r4, #8 + ldrb r1, [r3, r0] + add r3, r3, r0 + mov r0, #1 + strb r1, [r2] + ldrb r1, [r3, #1] + strb r1, [r2, #1] + ldrsh r1, [r3, #2] + strh r1, [r2, #2] + ldr r1, [r3, #4] + str r1, [r2, #4] + ldr r1, [r3, #8] + str r1, [r2, #8] + ldr r1, [r3, #0xc] + str r1, [r2, #0xc] + ldr r1, [r3, #0x10] + str r1, [r2, #0x10] + ldr r1, [r3, #0x14] + str r1, [r2, #0x14] + ldr r1, [r3, #0x18] + str r1, [r2, #0x18] + ldmia sp!, {r4, pc} +_020808b8: + add ip, ip, #1 + cmp ip, r3 + add lr, lr, #0x1c + blt _0208084c +_020808c8: + mov r0, #0 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02080824 + + .global func_ov00_020808d0 + arm_func_start func_ov00_020808d0 +func_ov00_020808d0: ; 0x020808d0 + stmdb sp!, {r0, r1, r2, r3} + arm_func_end func_ov00_020808d0 + + .global func_ov00_020808d4 + arm_func_start func_ov00_020808d4 +func_ov00_020808d4: ; 0x020808d4 + stmdb sp!, {lr} + sub sp, sp, #0x14 + ldr r1, [r0, #0x134] + cmp r1, #0x20 + addhs sp, sp, #0x14 + movhs r0, #0 + ldmhsia sp!, {lr} + addhs sp, sp, #0x10 + bxhs lr + ldr r2, [r0, #0x130] + ldr r1, [r0, #0x134] + str r2, [sp, #0x10] + add ip, r2, r1, lsl #2 + str ip, [sp, #0xc] + str ip, [sp, #4] + str r2, [sp, #8] + ldr r3, [sp, #0x1c] + b _02080924 +_0208091c: + add r2, r2, #4 + str r2, [sp, #8] +_02080924: + cmp r2, ip + ldrne r1, [r2] + cmpne r1, r3 + bne _0208091c + ldr r1, [sp, #8] + cmp r1, ip + addne sp, sp, #0x14 + movne r0, #0 + ldmneia sp!, {lr} + addne sp, sp, #0x10 + bxne lr + mov r3, #0 + strb r3, [sp, #1] + ldr r2, [r0, #0x134] + ldr r1, [r0, #0x138] + cmp r2, r1 + bhs _02080984 + add r3, r2, #1 + str r3, [r0, #0x134] + ldr r1, [r0, #0x130] + ldr r2, [sp, #0x1c] + sub r0, r3, #1 + str r2, [r1, r0, lsl #2] + b _020809a4 +_02080984: + strb r3, [sp] + sub r2, sp, #4 + and r1, r3, #0xff + strb r1, [r2] + ldr r2, [r2] + add r1, sp, #0x1c + add r0, r0, #0x130 + bl func_ov00_02080f64 +_020809a4: + mov r0, #1 + add sp, sp, #0x14 + ldmia sp!, {lr} + add sp, sp, #0x10 + bx lr + arm_func_end func_ov00_020808d4 + + .global func_ov00_020809b8 + arm_func_start func_ov00_020809b8 +func_ov00_020809b8: ; 0x020809b8 + stmdb sp!, {r3, lr} + sub sp, sp, #0x28 + ldr ip, [r0, #0x130] + ldr r2, [r0, #0x134] + str ip, [sp, #0x20] + add r3, ip, r2, lsl #2 + str r3, [sp, #0x1c] + str r3, [sp, #0xc] + str r3, [sp, #4] + str ip, [sp, #8] + b _020809ec +_020809e4: + add ip, ip, #4 + str ip, [sp, #8] +_020809ec: + cmp ip, r3 + ldrne r2, [ip] + cmpne r2, r1 + bne _020809e4 + ldr r2, [sp, #8] + ldr r3, [sp, #0xc] + mov lr, r2 + cmp r2, r3 + addne ip, lr, #4 + cmpne ip, r3 + beq _02080a30 +_02080a18: + ldr r2, [ip] + add ip, ip, #4 + cmp r2, r1 + strne r2, [lr], #4 + cmp ip, r3 + bne _02080a18 +_02080a30: + ldr r2, [r0, #0x130] + ldr r1, [r0, #0x134] + mov r3, #0 + add r2, r2, r1, lsl #2 + strb r3, [sp] + sub r1, sp, #4 + strb r3, [r1] + ldr r3, [r1] + mov r1, lr + add r0, r0, #0x130 + str lr, [sp, #0x24] + str r2, [sp, #0x18] + str r2, [sp, #0x10] + str lr, [sp, #0x14] + bl func_ov00_02080f94 + mov r0, #1 + add sp, sp, #0x28 + ldmia sp!, {r3, pc} + arm_func_end func_ov00_020809b8 + + .global func_ov00_02080a78 + arm_func_start func_ov00_02080a78 +func_ov00_02080a78: ; 0x02080a78 + stmdb sp!, {r4, lr} + sub sp, sp, #0x18 + mov r4, r0 + add r3, sp, #0xc + ldmia r1, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldr r1, [r4, #0x130] + ldr r2, [r4, #0x134] + add r0, sp, #8 + add r2, r1, r2, lsl #2 + str r2, [sp] + str r1, [sp, #4] + bl func_ov00_02080ad0 + ldr r1, [r4, #0x130] + ldr r0, [r4, #0x134] + ldr r2, [sp, #8] + add r0, r1, r0, lsl #2 + cmp r2, r0 + moveq r0, #0 + ldrne r0, [r2] + add sp, sp, #0x18 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02080a78 + + .global func_ov00_02080ad0 + arm_func_start func_ov00_02080ad0 +func_ov00_02080ad0: ; 0x02080ad0 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r7, r0 + mov r6, r3 + ldr r5, [sp, #0x20] + ldr r4, [sp, #0x1c] + b _02080af0 +_02080aec: + add r4, r4, #4 +_02080af0: + cmp r4, r5 + beq _02080b14 + ldr r0, [r4] + mov r1, r6 + ldr r2, [r0] + ldr r2, [r2] + blx r2 + cmp r0, #0 + beq _02080aec +_02080b14: + str r4, [r7] + ldmia sp!, {r3, r4, r5, r6, r7, lr} + add sp, sp, #0x10 + bx lr + arm_func_end func_ov00_02080ad0 + + .global func_ov00_02080b24 + arm_func_start func_ov00_02080b24 +func_ov00_02080b24: ; 0x02080b24 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x14 + ldr r3, [r0] + mov r2, #4 + ldr r3, [r3, #0x58] + str r0, [sp] + mov r10, r1 + blx r3 + cmp r0, #0 + addne sp, sp, #0x14 + ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldr r0, [sp] + ldrh r0, [r0, #0x30] + cmp r0, #0x60 + blo _02080cd0 + ldr r0, [sp] + mov r6, #0 + ldrh r0, [r0, #0x28] + mov r7, r6 + mov r8, r6 + str r0, [sp, #4] + cmp r0, #0 + ldr r0, [sp] + ldrh r11, [r0, #0x2a] + ble _02080c4c +_02080b88: + cmp r11, #0 + mov r9, #0 + ble _02080c3c + and r0, r8, #0xff + str r0, [sp, #8] +_02080b9c: + ldr r1, [sp, #8] + ldr r0, [sp] + strb r1, [sp, #0x10] + strb r9, [sp, #0x11] + ldr r2, [r0] + add r1, sp, #0x10 + ldr r2, [r2, #0x78] + blx r2 + movs r5, r0 + beq _02080c30 + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x42 + bne _02080c30 + cmp r6, #0 + ldrb r0, [r10] + bne _02080c08 + sub r0, r8, r0 + mov r6, r5 + bl func_02042f68 + ldrb r1, [r10, #1] + mov r4, r0 + sub r0, r9, r1 + bl func_02042f68 + add r7, r4, r0 + b _02080c30 +_02080c08: + sub r0, r8, r0 + bl func_02042f68 + ldrb r1, [r10, #1] + mov r4, r0 + sub r0, r9, r1 + bl func_02042f68 + add r0, r4, r0 + cmp r0, r7 + movgt r6, r5 + movgt r7, r0 +_02080c30: + add r9, r9, #1 + cmp r9, r11 + blt _02080b9c +_02080c3c: + ldr r0, [sp, #4] + add r8, r8, #1 + cmp r8, r0 + blt _02080b88 +_02080c4c: + cmp r6, #0 + addeq sp, sp, #0x14 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldr r1, [r6, #4] + ldr r0, [sp] + bic r1, r1, #1 + str r1, [r6, #4] + ldrb r4, [r6, #0x15] + ldrb r3, [r6, #0x14] + add r1, sp, #0xe + mov r2, #4 + strb r3, [sp, #0xe] + strb r4, [sp, #0xf] + ldr r4, [r0] + mov r3, #0 + ldr r4, [r4, #0x98] + blx r4 + ldrb r3, [r6, #0x15] + ldrb r2, [r6, #0x14] + ldr r0, [sp] + add r1, sp, #0xc + strb r2, [sp, #0xc] + strb r3, [sp, #0xd] + ldr r4, [r0] + mov r2, #6 + ldr r4, [r4, #0x98] + mov r3, #1 + blx r4 + ldr r0, [sp] + ldrh r0, [r0, #0x30] + sub r1, r0, #1 + ldr r0, [sp] + strh r1, [r0, #0x30] +_02080cd0: + ldr r0, [sp] + mov r1, r10 + ldr r4, [r0] + mov r2, #4 + ldr r4, [r4, #0x98] + mov r3, #1 + blx r4 + ldr r0, [sp] + ldrh r0, [r0, #0x30] + add r1, r0, #1 + ldr r0, [sp] + strh r1, [r0, #0x30] + add sp, sp, #0x14 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + arm_func_end func_ov00_02080b24 + + .global func_ov00_02080d08 + arm_func_start func_ov00_02080d08 +func_ov00_02080d08: ; 0x02080d08 + stmdb sp!, {r3, r4, r5, lr} + ldr r3, [r0] + mov r2, #4 + ldr r3, [r3, #0x58] + mov r5, r0 + mov r4, r1 + blx r3 + cmp r0, #0 + ldmeqia sp!, {r3, r4, r5, pc} + mov r0, r5 + ldr ip, [r0] + mov r1, r4 + ldr ip, [ip, #0x98] + mov r2, #4 + mov r3, #0 + blx ip + mov r0, r5 + ldr ip, [r0] + mov r1, r4 + ldr ip, [ip, #0x98] + mov r2, #6 + mov r3, #1 + blx ip + ldrh r0, [r5, #0x30] + sub r0, r0, #1 + strh r0, [r5, #0x30] + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02080d08 + + .global func_ov00_02080d74 + arm_func_start func_ov00_02080d74 +func_ov00_02080d74: ; 0x02080d74 + bx lr + arm_func_end func_ov00_02080d74 + + .global func_ov00_02080d78 + arm_func_start func_ov00_02080d78 +func_ov00_02080d78: ; 0x02080d78 + bx lr + arm_func_end func_ov00_02080d78 + + .global func_ov00_02080d7c + arm_func_start func_ov00_02080d7c +func_ov00_02080d7c: ; 0x02080d7c + bx lr + arm_func_end func_ov00_02080d7c + + .global func_ov00_02080d80 + arm_func_start func_ov00_02080d80 +func_ov00_02080d80: ; 0x02080d80 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + ldr r4, [r6, #0x10c] + ldr r0, [r6, #0x110] + mov r5, r1 + add r0, r4, r0, lsl #2 + cmp r4, r0 + beq _02080dd4 +_02080da0: + ldr r0, [r4] + ldrb r1, [r0, #5] + cmp r5, r1 + bne _02080dbc + ldr r1, [r0] + ldr r1, [r1, #0x10] + blx r1 +_02080dbc: + ldr r1, [r6, #0x10c] + ldr r0, [r6, #0x110] + add r4, r4, #4 + add r0, r1, r0, lsl #2 + cmp r4, r0 + bne _02080da0 +_02080dd4: + mov r0, #1 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end func_ov00_02080d80 + + .global func_ov00_02080ddc + arm_func_start func_ov00_02080ddc +func_ov00_02080ddc: ; 0x02080ddc + mov r0, #1 + bx lr + arm_func_end func_ov00_02080ddc + + .global func_ov00_02080de4 + arm_func_start func_ov00_02080de4 +func_ov00_02080de4: ; 0x02080de4 + bx lr + arm_func_end func_ov00_02080de4 + + .global func_ov00_02080de8 + arm_func_start func_ov00_02080de8 +func_ov00_02080de8: ; 0x02080de8 + stmdb sp!, {r4, r5, r6, lr} + ldr r2, _02080ed4 ; =data_027e0f64 + mov r5, r0 + ldr r0, [r2] + mov r4, #0 + add r0, r0, r1, lsl #2 + ldr r6, [r0, #4] + ldr r0, [r6, #0x15c] + cmp r0, #0x16 + bgt _02080e64 + bge _02080e84 + cmp r0, #0xb + bgt _02080e58 + cmp r0, #0 + addge pc, pc, r0, lsl #2 + b _02080e94 +_02080e28: ; jump table + b _02080e84 ; case 0 + b _02080e84 ; case 1 + b _02080e84 ; case 2 + b _02080e8c ; case 3 + b _02080e94 ; case 4 + b _02080e94 ; case 5 + b _02080e94 ; case 6 + b _02080e94 ; case 7 + b _02080e94 ; case 8 + b _02080e94 ; case 9 + b _02080e94 ; case 10 + b _02080e88 ; case 11 +_02080e58: + cmp r0, #0x15 + beq _02080e84 + b _02080e94 +_02080e64: + cmp r0, #0x5a + bgt _02080e7c + bge _02080e84 + cmp r0, #0x33 + beq _02080e84 + b _02080e94 +_02080e7c: + cmp r0, #0x5b + bne _02080e94 +_02080e84: + mov r4, #0 +_02080e88: + b _02080ec8 +_02080e8c: + mov r4, #0x1f + b _02080ec8 +_02080e94: + mov r0, r6 + bl func_ov00_02087dd8 + cmp r0, #0 + beq _02080ec8 + add r0, r6, #0x200 + ldrsh r1, [r0, #0x24] + ldr r0, _02080ed8 ; =0x00001c72 + cmp r1, r0 + ble _02080ec4 + rsb r0, r0, #0x4000 + cmp r1, r0 + blt _02080ec8 +_02080ec4: + mov r4, #0x1f +_02080ec8: + ldr r0, [r5, #0x140] + strb r4, [r0, #0x5c] + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end func_ov00_02080de8 +_02080ed4: .word data_027e0f64 +_02080ed8: .word 0x00001c72 + + .global func_ov00_02080edc + arm_func_start func_ov00_02080edc +func_ov00_02080edc: ; 0x02080edc + stmdb sp!, {r4, lr} + ldr r1, _02080f1c ; =data_027e0d38 + mov r4, r0 + ldr r0, [r1] + add r0, r0, #0xc + bl func_ov00_020a5e9c + cmp r0, #0x2a + cmpne r0, #0x2f + cmpne r0, #0x30 + bne _02080f10 + mov r0, #0 + strb r0, [r4, #5] + ldmia sp!, {r4, pc} +_02080f10: + mov r0, #1 + strb r0, [r4, #5] + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end func_ov00_02080edc +_02080f1c: .word data_027e0d38 + + .global func_ov00_02080f20 + arm_func_start func_ov00_02080f20 +func_ov00_02080f20: ; 0x02080f20 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r0, [r4] + cmp r0, #0 + beq _02080f58 + ldr r1, [r4, #4] + mov r0, #0 + strb r0, [sp] + ldr r0, [r4, #4] + sub r0, r0, r1 + str r0, [r4, #4] + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_02080f58: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02080f20 + + .global func_ov00_02080f64 + arm_func_start func_ov00_02080f64 +func_ov00_02080f64: ; 0x02080f64 + stmdb sp!, {r3, r4, r5, lr} + mov r4, r1 + mov r2, #0 + mov r5, r0 + mov r1, #1 + strb r2, [sp] + bl func_ov00_020812bc + mov r0, r5 + mov r2, r4 + mov r1, #1 + bl func_ov00_02081160 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02080f64 + + .global func_ov00_02080f94 + arm_func_start func_ov00_02080f94 +func_ov00_02080f94: ; 0x02080f94 + stmdb sp!, {r4, r5, r6, lr} + mov r5, r1 + mov r4, r2 + mov r6, r0 + cmp r5, r4 + beq _02080ff0 + ldr r2, [r6] + ldr r1, [r6, #4] + mov r0, r5 + add r1, r2, r1, lsl #2 + sub r2, r1, r4 + mov r1, r2, asr #0x1 + add r1, r2, r1, lsr #30 + mov r2, r1, asr #0x2 + mov r1, r4 + mov r2, r2, lsl #0x2 + bl func_020435b4 + sub r1, r4, r5 + mov r0, r1, asr #0x1 + ldr r2, [r6, #4] + add r0, r1, r0, lsr #30 + sub r0, r2, r0, asr #2 + str r0, [r6, #4] +_02080ff0: + mov r0, r5 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end func_ov00_02080f94 + + .global func_ov00_02080ff8 + arm_func_start func_ov00_02080ff8 +func_ov00_02080ff8: ; 0x02080ff8 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r1, [r4] + cmp r1, #0 + beq _02081034 + ldr r1, [r4, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_02081388 + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_02081034: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02080ff8 + + .global func_ov00_02081040 + arm_func_start func_ov00_02081040 +func_ov00_02081040: ; 0x02081040 + stmdb sp!, {r3, r4, r5, lr} + mov r4, r1 + mov r2, #0 + mov r5, r0 + mov r1, #1 + strb r2, [sp] + bl func_ov00_02081524 + mov r0, r5 + mov r2, r4 + mov r1, #1 + bl func_ov00_02081398 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02081040 + + .global func_ov00_02081070 + arm_func_start func_ov00_02081070 +func_ov00_02081070: ; 0x02081070 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r1, [r4] + cmp r1, #0 + beq _020810ac + ldr r1, [r4, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_020815f4 + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_020810ac: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02081070 + + .global func_ov00_020810b8 + arm_func_start func_ov00_020810b8 +func_ov00_020810b8: ; 0x020810b8 + stmdb sp!, {r3, r4, r5, lr} + mov r4, r1 + mov r2, #0 + mov r5, r0 + mov r1, #1 + strb r2, [sp] + bl func_ov00_020817dc + mov r0, r5 + mov r2, r4 + mov r1, #1 + bl func_ov00_02081604 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_020810b8 + + .global func_ov00_020810e8 + arm_func_start func_ov00_020810e8 +func_ov00_020810e8: ; 0x020810e8 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r1, [r4] + cmp r1, #0 + beq _02081124 + ldr r1, [r4, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_020818ac + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_02081124: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_020810e8 + + .global func_ov00_02081130 + arm_func_start func_ov00_02081130 +func_ov00_02081130: ; 0x02081130 + stmdb sp!, {r3, r4, r5, lr} + mov r4, r1 + mov r2, #0 + mov r5, r0 + mov r1, #1 + strb r2, [sp] + bl func_ov00_02081a90 + mov r0, r5 + mov r2, r4 + mov r1, #1 + bl func_ov00_020818bc + ldmia sp!, {r3, r4, r5, pc} + arm_func_end func_ov00_02081130 + + .global func_ov00_02081160 + arm_func_start func_ov00_02081160 +func_ov00_02081160: ; 0x02081160 + stmdb sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #0x1c + mov r6, r0 + mov r5, r1 + add r0, sp, #8 + add r1, r6, #8 + mov r4, r2 + bl func_ov00_02081e7c + mov r0, #0 + str r0, [sp, #0x18] + ldmib r6, {r0, r1} + add r2, r0, r5 + mov r0, r6 + sub r1, r2, r1 + bl func_ov00_020812bc + mov r3, #0 + mov r1, r0 + strb r3, [sp, #4] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + add r0, sp, #8 + strb r3, [sp] + bl func_ov00_02081e3c + ldr r1, [r6, #4] + ldr r0, [sp, #8] + str r1, [sp, #0x18] + add r1, r0, r1, lsl #2 + ldr r0, [sp, #0xc] + cmp r5, #0 + add r1, r1, r0, lsl #2 + mov r0, #0 + strb r0, [sp, #3] + mov r2, r5 + beq _020811fc +_020811ec: + ldr r0, [r4] + subs r2, r2, #1 + str r0, [r1], #4 + bne _020811ec +_020811fc: + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x18] + add r0, r0, r5 + str r0, [sp, #0xc] + ldr r4, [r6] + ldr r0, [r6, #4] + mov ip, #0 + add r0, r4, r0, lsl #2 + sub r2, r0, r4 + mov r0, r2, asr #0x1 + add r5, r2, r0, lsr #30 + sub r3, r1, r5, asr #2 + mov r2, r5, asr #0x2 + ldr r0, [sp, #8] + mov r7, r2, lsl #0x2 + mov r1, r4 + mov r2, r7 + add r0, r0, r3, lsl #2 + strb ip, [sp, #2] + str r3, [sp, #0x18] + bl func_02043594 + mov r0, r4 + mov r2, r7 + mov r1, #0 + bl func_02043600 + ldr r1, [sp, #0xc] + mov r0, #0 + add r1, r1, r5, asr #2 + str r1, [sp, #0xc] + strb r0, [sp, #1] + str r0, [r6, #4] + add r3, sp, #0x10 + ldr r2, [r6, #8] + ldr r1, [r3] + add r0, sp, #8 + str r1, [r6, #8] + str r2, [r3] + ldr r2, [r6] + ldr r1, [sp, #8] + str r1, [r6] + str r2, [sp, #8] + ldr r2, [r6, #4] + ldr r1, [sp, #0xc] + str r1, [r6, #4] + str r2, [sp, #0xc] + bl func_ov00_02081b60 + add sp, sp, #0x1c + ldmia sp!, {r4, r5, r6, r7, pc} + arm_func_end func_ov00_02081160 + + .global func_ov00_020812bc + arm_func_start func_ov00_020812bc +func_ov00_020812bc: ; 0x020812bc + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, lr} + sub sp, sp, #8 + ldr r4, [r0, #8] + mvn r0, #0xc0000000 + ldr r1, [sp, #0x14] + sub r0, r0, r4 + cmp r1, r0 + bls _020812e4 + bl func_0204dd9c +_020812e4: + ldr r0, _02081380 ; =0x15555555 + cmp r4, r0 + bhs _02081330 + add r1, r4, #1 + ldr r0, _02081384 ; =0xcccccccd + add r1, r1, r1, lsl #1 + umull r0, r2, r1, r0 + mov r2, r2, lsr #0x2 + ldr r0, [sp, #0x14] + str r2, [sp, #4] + cmp r0, r2 + addhi r0, sp, #0x14 + addls r0, sp, #4 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_02081330: + cmp r4, r0, lsl #1 + bhs _0208136c + ldr r0, [sp, #0x14] + add r1, r4, #1 + mov r2, r1, lsr #0x1 + cmp r0, r1, lsr #1 + addhi r0, sp, #0x14 + str r2, [sp] + addls r0, sp, #0 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_0208136c: + mvn r0, #0xc0000000 + add sp, sp, #8 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr + .align 2, 0 + arm_func_end func_ov00_020812bc +_02081380: .word 0x15555555 +_02081384: .word 0xcccccccd + + .global func_ov00_02081388 + arm_func_start func_ov00_02081388 +func_ov00_02081388: ; 0x02081388 + ldr r2, [r0, #4] + sub r1, r2, r1 + str r1, [r0, #4] + bx lr + arm_func_end func_ov00_02081388 + + .global func_ov00_02081398 + arm_func_start func_ov00_02081398 +func_ov00_02081398: ; 0x02081398 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0x1c + mov r6, r0 + mov r5, r1 + add r0, sp, #8 + add r1, r6, #8 + mov r4, r2 + bl func_ov00_02081dd0 + mov r0, #0 + str r0, [sp, #0x18] + ldmib r6, {r0, r1} + add r2, r0, r5 + mov r0, r6 + sub r1, r2, r1 + bl func_ov00_02081524 + mov r3, #0 + mov r1, r0 + strb r3, [sp, #4] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + add r0, sp, #8 + strb r3, [sp] + bl func_ov00_02081d88 + ldr ip, [r6, #4] + mov r0, #0 + strb r0, [sp, #3] + ldr r1, [sp, #8] + mov r0, #0x14 + mla r2, ip, r0, r1 + ldr r1, [sp, #0xc] + str ip, [sp, #0x18] + mla ip, r1, r0, r2 + cmp r5, #0 + mov r3, r5 + beq _02081454 +_02081428: + ldmia r4, {r0, r1, r2} + stmia ip, {r0, r1, r2} + ldrsh r0, [r4, #0xc] + subs r3, r3, #1 + strh r0, [ip, #0xc] + ldrb r0, [r4, #0xe] + strb r0, [ip, #0xe] + ldr r0, [r4, #0x10] + str r0, [ip, #0x10] + add ip, ip, #0x14 + bne _02081428 +_02081454: + ldr r1, [sp, #0xc] + mov r0, #0x14 + add r1, r1, r5 + str r1, [sp, #0xc] + ldr lr, [r6] + ldr r1, [r6, #4] + mov r4, #0 + mla r3, r1, r0, lr + ldr r2, [sp, #8] + ldr r1, [sp, #0x18] + strb r4, [sp, #2] + mla ip, r1, r0, r2 + cmp r3, lr + bls _020814d8 +_0208148c: + sub r3, r3, #0x14 + subs ip, ip, #0x14 + beq _020814b8 + ldmia r3, {r0, r1, r2} + stmia ip, {r0, r1, r2} + ldrsh r0, [r3, #0xc] + strh r0, [ip, #0xc] + ldrb r0, [r3, #0xe] + strb r0, [ip, #0xe] + ldr r0, [r3, #0x10] + str r0, [ip, #0x10] +_020814b8: + ldr r1, [sp, #0x18] + ldr r0, [sp, #0xc] + sub r1, r1, #1 + add r0, r0, #1 + str r1, [sp, #0x18] + str r0, [sp, #0xc] + cmp r3, lr + bhi _0208148c +_020814d8: + mov r0, #0 + strb r0, [sp, #1] + add r3, sp, #0x10 + ldr r2, [r6, #8] + ldr r1, [r3] + add r0, sp, #8 + str r1, [r6, #8] + str r2, [r3] + ldr r2, [r6] + ldr r1, [sp, #8] + str r1, [r6] + str r2, [sp, #8] + ldr r2, [r6, #4] + ldr r1, [sp, #0xc] + str r1, [r6, #4] + str r2, [sp, #0xc] + bl func_ov00_02081b7c + add sp, sp, #0x1c + ldmia sp!, {r3, r4, r5, r6, pc} + arm_func_end func_ov00_02081398 + + .global func_ov00_02081524 + arm_func_start func_ov00_02081524 +func_ov00_02081524: ; 0x02081524 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, lr} + sub sp, sp, #8 + ldr r4, [r0, #8] + ldr r0, _020815e8 ; =0x0ccccccc + ldr r1, [sp, #0x14] + sub r0, r0, r4 + cmp r1, r0 + bls _0208154c + bl func_0204dd9c +_0208154c: + ldr r0, _020815ec ; =0x04444444 + cmp r4, r0 + bhs _02081598 + add r1, r4, #1 + ldr r0, _020815f0 ; =0xcccccccd + add r1, r1, r1, lsl #1 + umull r0, r2, r1, r0 + mov r2, r2, lsr #0x2 + ldr r0, [sp, #0x14] + str r2, [sp, #4] + cmp r0, r2 + addhi r0, sp, #0x14 + addls r0, sp, #4 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_02081598: + cmp r4, r0, lsl #1 + bhs _020815d4 + ldr r0, [sp, #0x14] + add r1, r4, #1 + mov r2, r1, lsr #0x1 + cmp r0, r1, lsr #1 + addhi r0, sp, #0x14 + str r2, [sp] + addls r0, sp, #0 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_020815d4: + ldr r0, _020815e8 ; =0x0ccccccc + add sp, sp, #8 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr + .align 2, 0 + arm_func_end func_ov00_02081524 +_020815e8: .word 0x0ccccccc +_020815ec: .word 0x04444444 +_020815f0: .word 0xcccccccd + + .global func_ov00_020815f4 + arm_func_start func_ov00_020815f4 +func_ov00_020815f4: ; 0x020815f4 + ldr r2, [r0, #4] + sub r1, r2, r1 + str r1, [r0, #4] + bx lr + arm_func_end func_ov00_020815f4 + + .global func_ov00_02081604 + arm_func_start func_ov00_02081604 +func_ov00_02081604: ; 0x02081604 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0x1c + mov r4, r0 + mov r6, r1 + add r0, sp, #8 + add r1, r4, #8 + mov r5, r2 + bl func_ov00_02081d18 + mov r0, #0 + str r0, [sp, #0x18] + ldmib r4, {r0, r1} + add r2, r0, r6 + mov r0, r4 + sub r1, r2, r1 + bl func_ov00_020817dc + mov r3, #0 + mov r1, r0 + strb r3, [sp, #4] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + add r0, sp, #8 + strb r3, [sp] + bl func_ov00_02081cd0 + ldr ip, [r4, #4] + mov r0, #0 + strb r0, [sp, #3] + ldr r2, [sp, #8] + mov r0, #0x18 + mla r3, ip, r0, r2 + ldr r2, [sp, #0xc] + str ip, [sp, #0x18] + mla r0, r2, r0, r3 + cmp r6, #0 + mov r1, r6 + beq _020816e8 +_02081694: + ldr r2, [r5] + subs r1, r1, #1 + str r2, [r0] + ldr r2, [r5, #4] + str r2, [r0, #4] + ldr r2, [r5, #8] + str r2, [r0, #8] + ldr r2, [r5, #0xc] + str r2, [r0, #0xc] + ldrsh r2, [r5, #0x10] + strh r2, [r0, #0x10] + ldrb r2, [r5, #0x12] + strb r2, [r0, #0x12] + ldrb r2, [r5, #0x13] + strb r2, [r0, #0x13] + ldrb r2, [r5, #0x14] + strb r2, [r0, #0x14] + ldrb r2, [r5, #0x15] + strb r2, [r0, #0x15] + add r0, r0, #0x18 + bne _02081694 +_020816e8: + ldr r0, [sp, #0xc] + mov r1, #0x18 + add r0, r0, r6 + str r0, [sp, #0xc] + ldmia r4, {r2, r3} + mla r0, r3, r1, r2 + mov r6, #0 + ldr r5, [sp, #8] + ldr r3, [sp, #0x18] + strb r6, [sp, #2] + mla r1, r3, r1, r5 + cmp r0, r2 + bls _02081790 +_0208171c: + sub r0, r0, #0x18 + subs r1, r1, #0x18 + beq _02081770 + ldr r3, [r0] + str r3, [r1] + ldr r3, [r0, #4] + str r3, [r1, #4] + ldr r3, [r0, #8] + str r3, [r1, #8] + ldr r3, [r0, #0xc] + str r3, [r1, #0xc] + ldrsh r3, [r0, #0x10] + strh r3, [r1, #0x10] + ldrb r3, [r0, #0x12] + strb r3, [r1, #0x12] + ldrb r3, [r0, #0x13] + strb r3, [r1, #0x13] + ldrb r3, [r0, #0x14] + strb r3, [r1, #0x14] + ldrb r3, [r0, #0x15] + strb r3, [r1, #0x15] +_02081770: + ldr r5, [sp, #0x18] + ldr r3, [sp, #0xc] + sub r5, r5, #1 + add r3, r3, #1 + str r5, [sp, #0x18] + str r3, [sp, #0xc] + cmp r0, r2 + bhi _0208171c +_02081790: + mov r0, #0 + strb r0, [sp, #1] + add r3, sp, #0x10 + ldr r2, [r4, #8] + ldr r1, [r3] + add r0, sp, #8 + str r1, [r4, #8] + str r2, [r3] + ldr r2, [r4] + ldr r1, [sp, #8] + str r1, [r4] + str r2, [sp, #8] + ldr r2, [r4, #4] + ldr r1, [sp, #0xc] + str r1, [r4, #4] + str r2, [sp, #0xc] + bl func_ov00_02081b98 + add sp, sp, #0x1c + ldmia sp!, {r3, r4, r5, r6, pc} + arm_func_end func_ov00_02081604 + + .global func_ov00_020817dc + arm_func_start func_ov00_020817dc +func_ov00_020817dc: ; 0x020817dc + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, lr} + sub sp, sp, #8 + ldr r4, [r0, #8] + ldr r0, _020818a0 ; =0x0aaaaaaa + ldr r1, [sp, #0x14] + sub r0, r0, r4 + cmp r1, r0 + bls _02081804 + bl func_0204dd9c +_02081804: + ldr r0, _020818a4 ; =0x038e38e3 + cmp r4, r0 + bhs _02081850 + add r1, r4, #1 + ldr r0, _020818a8 ; =0xcccccccd + add r1, r1, r1, lsl #1 + umull r0, r2, r1, r0 + mov r2, r2, lsr #0x2 + ldr r0, [sp, #0x14] + str r2, [sp, #4] + cmp r0, r2 + addhi r0, sp, #0x14 + addls r0, sp, #4 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_02081850: + cmp r4, r0, lsl #1 + bhs _0208188c + ldr r0, [sp, #0x14] + add r1, r4, #1 + mov r2, r1, lsr #0x1 + cmp r0, r1, lsr #1 + addhi r0, sp, #0x14 + str r2, [sp] + addls r0, sp, #0 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_0208188c: + ldr r0, _020818a0 ; =0x0aaaaaaa + add sp, sp, #8 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr + .align 2, 0 + arm_func_end func_ov00_020817dc +_020818a0: .word 0x0aaaaaaa +_020818a4: .word 0x038e38e3 +_020818a8: .word 0xcccccccd + + .global func_ov00_020818ac + arm_func_start func_ov00_020818ac +func_ov00_020818ac: ; 0x020818ac + ldr r2, [r0, #4] + sub r1, r2, r1 + str r1, [r0, #4] + bx lr + arm_func_end func_ov00_020818ac + + .global func_ov00_020818bc + arm_func_start func_ov00_020818bc +func_ov00_020818bc: ; 0x020818bc + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0x1c + mov r4, r0 + mov r6, r1 + add r0, sp, #8 + add r1, r4, #8 + mov r5, r2 + bl func_ov00_02081c60 + mov r0, #0 + str r0, [sp, #0x18] + ldmib r4, {r0, r1} + add r2, r0, r6 + mov r0, r4 + sub r1, r2, r1 + bl func_ov00_02081a90 + mov r3, #0 + mov r1, r0 + strb r3, [sp, #4] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + add r0, sp, #8 + strb r3, [sp] + bl func_ov00_02081c18 + ldr ip, [r4, #4] + mov r0, #0 + strb r0, [sp, #3] + ldr r2, [sp, #8] + mov r0, #0x1c + mla r3, ip, r0, r2 + ldr r2, [sp, #0xc] + str ip, [sp, #0x18] + mla r0, r2, r0, r3 + cmp r6, #0 + mov r1, r6 + beq _020819a0 +_0208194c: + ldr r2, [r5] + subs r1, r1, #1 + str r2, [r0] + ldrb r2, [r5, #4] + strb r2, [r0, #4] + ldr r2, [r5, #8] + str r2, [r0, #8] + ldr r2, [r5, #0xc] + str r2, [r0, #0xc] + ldr r2, [r5, #0x10] + str r2, [r0, #0x10] + ldrsh r2, [r5, #0x14] + strh r2, [r0, #0x14] + ldrsh r2, [r5, #0x16] + strh r2, [r0, #0x16] + ldrh r3, [r5, #0x18] + ldrh r2, [r5, #0x1a] + strh r3, [r0, #0x18] + strh r2, [r0, #0x1a] + add r0, r0, #0x1c + bne _0208194c +_020819a0: + ldr r1, [sp, #0xc] + mov r0, #0x1c + add r1, r1, r6 + str r1, [sp, #0xc] + ldr lr, [r4] + ldr r1, [r4, #4] + mov r5, #0 + mla r3, r1, r0, lr + ldr r2, [sp, #8] + ldr r1, [sp, #0x18] + strb r5, [sp, #2] + mla ip, r1, r0, r2 + cmp r3, lr + bls _02081a44 +_020819d8: + sub r3, r3, #0x1c + subs ip, ip, #0x1c + beq _02081a24 + ldr r1, [r3] + add r0, r3, #8 + str r1, [ip] + ldrb r1, [r3, #4] + add r5, ip, #8 + strb r1, [ip, #4] + ldmia r0, {r0, r1, r2} + stmia r5, {r0, r1, r2} + ldrsh r0, [r3, #0x14] + strh r0, [ip, #0x14] + ldrsh r0, [r3, #0x16] + strh r0, [ip, #0x16] + ldrh r1, [r3, #0x18] + ldrh r0, [r3, #0x1a] + strh r1, [ip, #0x18] + strh r0, [ip, #0x1a] +_02081a24: + ldr r1, [sp, #0x18] + ldr r0, [sp, #0xc] + sub r1, r1, #1 + add r0, r0, #1 + str r1, [sp, #0x18] + str r0, [sp, #0xc] + cmp r3, lr + bhi _020819d8 +_02081a44: + mov r0, #0 + strb r0, [sp, #1] + add r3, sp, #0x10 + ldr r2, [r4, #8] + ldr r1, [r3] + add r0, sp, #8 + str r1, [r4, #8] + str r2, [r3] + ldr r2, [r4] + ldr r1, [sp, #8] + str r1, [r4] + str r2, [sp, #8] + ldr r2, [r4, #4] + ldr r1, [sp, #0xc] + str r1, [r4, #4] + str r2, [sp, #0xc] + bl func_ov00_02081bb4 + add sp, sp, #0x1c + ldmia sp!, {r3, r4, r5, r6, pc} + arm_func_end func_ov00_020818bc + + .global func_ov00_02081a90 + arm_func_start func_ov00_02081a90 +func_ov00_02081a90: ; 0x02081a90 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, lr} + sub sp, sp, #8 + ldr r4, [r0, #8] + ldr r0, _02081b54 ; =0x09249249 + ldr r1, [sp, #0x14] + sub r0, r0, r4 + cmp r1, r0 + bls _02081ab8 + bl func_0204dd9c +_02081ab8: + ldr r0, _02081b58 ; =0x030c30c3 + cmp r4, r0 + bhs _02081b04 + add r1, r4, #1 + ldr r0, _02081b5c ; =0xcccccccd + add r1, r1, r1, lsl #1 + umull r0, r2, r1, r0 + mov r2, r2, lsr #0x2 + ldr r0, [sp, #0x14] + str r2, [sp, #4] + cmp r0, r2 + addhi r0, sp, #0x14 + addls r0, sp, #4 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_02081b04: + cmp r4, r0, lsl #1 + bhs _02081b40 + ldr r0, [sp, #0x14] + add r1, r4, #1 + mov r2, r1, lsr #0x1 + cmp r0, r1, lsr #1 + addhi r0, sp, #0x14 + str r2, [sp] + addls r0, sp, #0 + ldr r0, [r0] + add sp, sp, #8 + add r0, r4, r0 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr +_02081b40: + ldr r0, _02081b54 ; =0x09249249 + add sp, sp, #8 + ldmia sp!, {r4, lr} + add sp, sp, #0x10 + bx lr + .align 2, 0 + arm_func_end func_ov00_02081a90 +_02081b54: .word 0x09249249 +_02081b58: .word 0x030c30c3 +_02081b5c: .word 0xcccccccd + + .global func_ov00_02081b60 + arm_func_start func_ov00_02081b60 +func_ov00_02081b60: ; 0x02081b60 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r1, #0 + str r1, [r4, #4] + bl func_ov00_02081df8 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081b60 + + .global func_ov00_02081b7c + arm_func_start func_ov00_02081b7c +func_ov00_02081b7c: ; 0x02081b7c + stmdb sp!, {r4, lr} + mov r4, r0 + mov r1, #0 + str r1, [r4, #4] + bl func_ov00_02081d40 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081b7c + + .global func_ov00_02081b98 + arm_func_start func_ov00_02081b98 +func_ov00_02081b98: ; 0x02081b98 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r1, #0 + str r1, [r4, #4] + bl func_ov00_02081c88 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081b98 + + .global func_ov00_02081bb4 + arm_func_start func_ov00_02081bb4 +func_ov00_02081bb4: ; 0x02081bb4 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r1, #0 + str r1, [r4, #4] + bl func_ov00_02081bd0 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081bb4 + + .global func_ov00_02081bd0 + arm_func_start func_ov00_02081bd0 +func_ov00_02081bd0: ; 0x02081bd0 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r1, [r4] + cmp r1, #0 + beq _02081c0c + ldr r1, [r4, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_02081ec4 + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_02081c0c: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02081bd0 + + .global func_ov00_02081c18 + arm_func_start func_ov00_02081c18 +func_ov00_02081c18: ; 0x02081c18 + stmdb sp!, {r3, r4, r5, lr} + ldr r2, _02081c58 ; =0x09249249 + mov r4, r1 + mov r5, r0 + cmp r4, r2 + bls _02081c34 + bl func_0204dd9c +_02081c34: + mov r0, #0x1c + mul r0, r4, r0 + ldr r1, _02081c5c ; =data_027e0ce0 + mov r2, #4 + ldr r1, [r1, #4] + bl _ZN9SysObjectnwEmPjj + str r0, [r5] + str r4, [r5, #8] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_02081c18 +_02081c58: .word 0x09249249 +_02081c5c: .word data_027e0ce0 + + .global func_ov00_02081c60 + arm_func_start func_ov00_02081c60 +func_ov00_02081c60: ; 0x02081c60 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r2, r1 + mov r1, #0 + str r1, [r4] + add r0, r4, #8 + str r1, [r4, #4] + bl func_ov00_02081ea4 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081c60 + + .global func_ov00_02081c88 + arm_func_start func_ov00_02081c88 +func_ov00_02081c88: ; 0x02081c88 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r1, [r4] + cmp r1, #0 + beq _02081cc4 + ldr r1, [r4, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_02081ed4 + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_02081cc4: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02081c88 + + .global func_ov00_02081cd0 + arm_func_start func_ov00_02081cd0 +func_ov00_02081cd0: ; 0x02081cd0 + stmdb sp!, {r3, r4, r5, lr} + ldr r2, _02081d10 ; =0x0aaaaaaa + mov r4, r1 + mov r5, r0 + cmp r4, r2 + bls _02081cec + bl func_0204dd9c +_02081cec: + mov r0, #0x18 + mul r0, r4, r0 + ldr r1, _02081d14 ; =data_027e0ce0 + mov r2, #4 + ldr r1, [r1, #4] + bl _ZN9SysObjectnwEmPjj + str r0, [r5] + str r4, [r5, #8] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_02081cd0 +_02081d10: .word 0x0aaaaaaa +_02081d14: .word data_027e0ce0 + + .global func_ov00_02081d18 + arm_func_start func_ov00_02081d18 +func_ov00_02081d18: ; 0x02081d18 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r2, r1 + mov r1, #0 + str r1, [r4] + add r0, r4, #8 + str r1, [r4, #4] + bl func_ov00_02081eac + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081d18 + + .global func_ov00_02081d40 + arm_func_start func_ov00_02081d40 +func_ov00_02081d40: ; 0x02081d40 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r1, [r4] + cmp r1, #0 + beq _02081d7c + ldr r1, [r4, #4] + mov r3, #0 + strb r3, [sp] + sub r2, sp, #4 + strb r3, [r2] + ldr r2, [r2] + bl func_ov00_02081ee4 + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_02081d7c: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02081d40 + + .global func_ov00_02081d88 + arm_func_start func_ov00_02081d88 +func_ov00_02081d88: ; 0x02081d88 + stmdb sp!, {r3, r4, r5, lr} + ldr r2, _02081dc8 ; =0x0ccccccc + mov r4, r1 + mov r5, r0 + cmp r4, r2 + bls _02081da4 + bl func_0204dd9c +_02081da4: + mov r0, #0x14 + mul r0, r4, r0 + ldr r1, _02081dcc ; =data_027e0ce0 + mov r2, #4 + ldr r1, [r1, #4] + bl _ZN9SysObjectnwEmPjj + str r0, [r5] + str r4, [r5, #8] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_02081d88 +_02081dc8: .word 0x0ccccccc +_02081dcc: .word data_027e0ce0 + + .global func_ov00_02081dd0 + arm_func_start func_ov00_02081dd0 +func_ov00_02081dd0: ; 0x02081dd0 + stmdb sp!, {r4, lr} + mov r4, r0 + mov r2, r1 + mov r1, #0 + str r1, [r4] + add r0, r4, #8 + str r1, [r4, #4] + bl func_ov00_02081eb4 + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081dd0 + + .global func_ov00_02081df8 + arm_func_start func_ov00_02081df8 +func_ov00_02081df8: ; 0x02081df8 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + mov r4, r0 + ldr r0, [r4] + cmp r0, #0 + beq _02081e30 + ldr r1, [r4, #4] + mov r0, #0 + strb r0, [sp] + ldr r0, [r4, #4] + sub r0, r0, r1 + str r0, [r4, #4] + ldr r0, [r4] + bl _ZN9SysObjectdlEPv +_02081e30: + mov r0, r4 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end func_ov00_02081df8 + + .global func_ov00_02081e3c + arm_func_start func_ov00_02081e3c +func_ov00_02081e3c: ; 0x02081e3c + stmdb sp!, {r3, r4, r5, lr} + mov r4, r1 + mvn r1, #0xc0000000 + mov r5, r0 + cmp r4, r1 + bls _02081e58 + bl func_0204dd9c +_02081e58: + ldr r1, _02081e78 ; =data_027e0ce0 + mov r0, r4, lsl #0x2 + ldr r1, [r1, #4] + mov r2, #4 + bl _ZN9SysObjectnwEmPjj + str r0, [r5] + str r4, [r5, #8] + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end func_ov00_02081e3c +_02081e78: .word data_027e0ce0 + + .global func_ov00_02081e7c + arm_func_start func_ov00_02081e7c +func_ov00_02081e7c: ; 0x02081e7c + stmdb sp!, {r4, lr} + mov r4, r0 + mov r2, r1 + mov r1, #0 + str r1, [r4] + add r0, r4, #8 + str r1, [r4, #4] + bl func_ov00_02081ebc + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081e7c + + .global func_ov00_02081ea4 + arm_func_start func_ov00_02081ea4 +func_ov00_02081ea4: ; 0x02081ea4 + stmia r0, {r1, r2} + bx lr + arm_func_end func_ov00_02081ea4 + + .global func_ov00_02081eac + arm_func_start func_ov00_02081eac +func_ov00_02081eac: ; 0x02081eac + stmia r0, {r1, r2} + bx lr + arm_func_end func_ov00_02081eac + + .global func_ov00_02081eb4 + arm_func_start func_ov00_02081eb4 +func_ov00_02081eb4: ; 0x02081eb4 + stmia r0, {r1, r2} + bx lr + arm_func_end func_ov00_02081eb4 + + .global func_ov00_02081ebc + arm_func_start func_ov00_02081ebc +func_ov00_02081ebc: ; 0x02081ebc + stmia r0, {r1, r2} + bx lr + arm_func_end func_ov00_02081ebc + + .global func_ov00_02081ec4 + arm_func_start func_ov00_02081ec4 +func_ov00_02081ec4: ; 0x02081ec4 + ldr r2, [r0, #4] + sub r1, r2, r1 + str r1, [r0, #4] + bx lr + arm_func_end func_ov00_02081ec4 + + .global func_ov00_02081ed4 + arm_func_start func_ov00_02081ed4 +func_ov00_02081ed4: ; 0x02081ed4 + ldr r2, [r0, #4] + sub r1, r2, r1 + str r1, [r0, #4] + bx lr + arm_func_end func_ov00_02081ed4 + + .global func_ov00_02081ee4 + arm_func_start func_ov00_02081ee4 +func_ov00_02081ee4: ; 0x02081ee4 + ldr r2, [r0, #4] + sub r1, r2, r1 + str r1, [r0, #4] + bx lr + arm_func_end func_ov00_02081ee4 + + .global func_ov00_02081ef4 + arm_func_start func_ov00_02081ef4 +func_ov00_02081ef4: ; 0x02081ef4 + ldr r1, _02081f34 ; =0x0000ffff + mov r2, #0 + strh r1, [r0, #0x24] + strh r1, [r0, #0x26] + strh r1, [r0, #0x28] + strh r1, [r0, #0x2a] + strh r2, [r0, #0x2c] + sub r1, r2, #1 + str r1, [r0, #0x54] + strb r2, [r0, #0x58] + strb r2, [r0, #0x59] + strb r2, [r0, #0x5a] + strb r2, [r0, #0x5b] + strb r2, [r0, #0x5c] + strb r2, [r0, #0x5d] + bx lr + .align 2, 0 + arm_func_end func_ov00_02081ef4 +_02081f34: .word 0x0000ffff + + .global func_ov00_02081f38 + arm_func_start func_ov00_02081f38 +func_ov00_02081f38: ; 0x02081f38 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081f38 + + .global func_ov00_02081f4c + arm_func_start func_ov00_02081f4c +func_ov00_02081f4c: ; 0x02081f4c + bx lr + arm_func_end func_ov00_02081f4c + + .global func_ov00_02081f50 + arm_func_start func_ov00_02081f50 +func_ov00_02081f50: ; 0x02081f50 + mov r0, #1 + bx lr + arm_func_end func_ov00_02081f50 + + .global func_ov00_02081f58 + arm_func_start func_ov00_02081f58 +func_ov00_02081f58: ; 0x02081f58 + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_02081f58 + + .global func_ov00_02081f6c + arm_func_start func_ov00_02081f6c +func_ov00_02081f6c: ; 0x02081f6c + bx lr + arm_func_end func_ov00_02081f6c + + .global func_ov00_02081f70 + arm_func_start func_ov00_02081f70 +func_ov00_02081f70: ; 0x02081f70 + mov r0, #1 + bx lr + arm_func_end func_ov00_02081f70 + + .global func_ov00_02081f78 + arm_func_start func_ov00_02081f78 +func_ov00_02081f78: ; 0x02081f78 + mov r0, #1 + bx lr + arm_func_end func_ov00_02081f78 + + .global func_ov00_02081f80 + arm_func_start func_ov00_02081f80 +func_ov00_02081f80: ; 0x02081f80 + stmdb sp!, {r4, lr} + mov r4, r1 + mov r0, r4 + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x10 + bgt _02081fcc + bge _02081fec + cmp r0, #3 + bgt _02081fc0 + cmp r0, #1 + blt _02081ffc + cmpne r0, #3 + beq _02081fec + b _02081ffc +_02081fc0: + cmp r0, #0xe + beq _02081fec + b _02081ffc +_02081fcc: + cmp r0, #0x1c + bgt _02081fe4 + bge _02081fec + cmp r0, #0x17 + beq _02081fec + b _02081ffc +_02081fe4: + cmp r0, #0x38 + bne _02081ffc + arm_func_end func_ov00_02081f80 +_02081fec: + mov r0, r4 + ldr r1, [r0] + ldr r1, [r1, #0x20] + blx r1 +_02081ffc: + mov r0, #1 + ldmia sp!, {r4, pc} + + .global func_ov00_02082004 + arm_func_start func_ov00_02082004 +func_ov00_02082004: ; 0x02082004 + mov r0, #1 + bx lr + arm_func_end func_ov00_02082004 + + .global func_ov00_0208200c + arm_func_start func_ov00_0208200c +func_ov00_0208200c: ; 0x0208200c + mov r0, #1 + bx lr + arm_func_end func_ov00_0208200c + + .global func_ov00_02082014 + arm_func_start func_ov00_02082014 +func_ov00_02082014: ; 0x02082014 + stmdb sp!, {r4, lr} + mov r4, r1 + mov r0, r4 + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x10 + bgt _02082054 + cmp r0, #0xe + blt _02082048 + cmpne r0, #0x10 + beq _0208206c + b _0208207c +_02082048: + cmp r0, #3 + beq _0208206c + b _0208207c +_02082054: + cmp r0, #0x17 + bgt _02082064 + beq _0208206c + b _0208207c +_02082064: + cmp r0, #0x1c + bne _0208207c + arm_func_end func_ov00_02082014 +_0208206c: + mov r0, r4 + ldr r1, [r0] + ldr r1, [r1, #0x20] + blx r1 +_0208207c: + mov r0, #1 + ldmia sp!, {r4, pc} + + .global func_ov00_02082084 + arm_func_start func_ov00_02082084 +func_ov00_02082084: ; 0x02082084 + mov r0, #1 + bx lr + arm_func_end func_ov00_02082084 + + .global func_ov00_0208208c + arm_func_start func_ov00_0208208c +func_ov00_0208208c: ; 0x0208208c + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02081f4c + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_0208208c + + .global func_ov00_020820a0 + arm_func_start func_ov00_020820a0 +func_ov00_020820a0: ; 0x020820a0 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02081f4c + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_020820a0 + + .global func_ov00_020820bc + arm_func_start func_ov00_020820bc +func_ov00_020820bc: ; 0x020820bc + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02081f4c + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_020820bc + + .global func_ov00_020820d0 + arm_func_start func_ov00_020820d0 +func_ov00_020820d0: ; 0x020820d0 + stmdb sp!, {r4, lr} + mov r4, r0 + bl func_ov00_02081f4c + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r4, pc} + arm_func_end func_ov00_020820d0 + + .rodata + .global data_ov00_020d88d0 +data_ov00_020d88d0: ; 0x020d88d0 + .ascii "sea" + .byte 0x00 + .global data_ov00_020d88d4 +data_ov00_020d88d4: ; 0x020d88d4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d88d8 +data_ov00_020d88d8: ; 0x020d88d8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d88dc +data_ov00_020d88dc: ; 0x020d88dc + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d88e0 +data_ov00_020d88e0: ; 0x020d88e0 + .ascii "sea" + .byte 0x00 + .global data_ov00_020d88e4 +data_ov00_020d88e4: ; 0x020d88e4 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d88e8 +data_ov00_020d88e8: ; 0x020d88e8 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020d88ec +data_ov00_020d88ec: ; 0x020d88ec + .byte 0x00, 0x00, 0x00, 0x00 + + .data + .global data_ov00_020e22fc +data_ov00_020e22fc: ; 0x020e22fc + .ascii "fnl" + .byte 0x00 + .global data_ov00_020e2300 +data_ov00_020e2300: ; 0x020e2300 + .ascii "bow" + .byte 0x00 + .global data_ov00_020e2304 +data_ov00_020e2304: ; 0x020e2304 + .ascii "dco" + .byte 0x00 + .global data_ov00_020e2308 +data_ov00_020e2308: ; 0x020e2308 + .ascii "can" + .byte 0x00 + .global data_ov00_020e230c +data_ov00_020e230c: ; 0x020e230c + .ascii "hul" + .byte 0x00 + .global data_ov00_020e2310 +data_ov00_020e2310: ; 0x020e2310 + .ascii "pdl" + .byte 0x00 + .global data_ov00_020e2314 +data_ov00_020e2314: ; 0x020e2314 + .ascii "anc" + .byte 0x00 + .global data_ov00_020e2318 +data_ov00_020e2318: ; 0x020e2318 + .ascii "brg" + .byte 0x00 + .global data_ov00_020e231c +data_ov00_020e231c: ; 0x020e231c + .word data_ov00_020e2314 + .global data_ov00_020e2320 +data_ov00_020e2320: ; 0x020e2320 + .word data_ov00_020e2300 + .global data_ov00_020e2324 +data_ov00_020e2324: ; 0x020e2324 + .word data_ov00_020e230c + .global data_ov00_020e2328 +data_ov00_020e2328: ; 0x020e2328 + .word data_ov00_020e2308 + .global data_ov00_020e232c +data_ov00_020e232c: ; 0x020e232c + .word data_ov00_020e2304 + .global data_ov00_020e2330 +data_ov00_020e2330: ; 0x020e2330 + .word data_ov00_020e2310 + .global data_ov00_020e2334 +data_ov00_020e2334: ; 0x020e2334 + .word data_ov00_020e22fc + .global data_ov00_020e2338 +data_ov00_020e2338: ; 0x020e2338 + .word data_ov00_020e2318 + .global data_ov00_020e233c +data_ov00_020e233c: ; 0x020e233c + .word data_ov00_020e240c + .global data_ov00_020e2340 +data_ov00_020e2340: ; 0x020e2340 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2344 +data_ov00_020e2344: ; 0x020e2344 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2348 +data_ov00_020e2348: ; 0x020e2348 + .word func_ov00_0207dc04 + .global data_ov00_020e234c +data_ov00_020e234c: ; 0x020e234c + .word func_ov00_0207db1c + .global data_ov00_020e2350 +data_ov00_020e2350: ; 0x020e2350 + .word func_ov04_0210c1f8 ; data_ov07_0210c1f8 + .global data_ov00_020e2354 +data_ov00_020e2354: ; 0x020e2354 + .word func_ov04_0210c3fc ; data_ov07_0210c3fc + .global data_ov00_020e2358 +data_ov00_020e2358: ; 0x020e2358 + .word func_ov04_0210c52c ; data_ov07_0210c52c + .global data_ov00_020e235c +data_ov00_020e235c: ; 0x020e235c + .word func_ov04_0210bfa8 ; data_ov07_0210bfa8 + .global data_ov00_020e2360 +data_ov00_020e2360: ; 0x020e2360 + .word func_ov00_0207ddf4 + .global data_ov00_020e2364 +data_ov00_020e2364: ; 0x020e2364 + .word func_ov05_02111bc0 + .global data_ov00_020e2368 +data_ov00_020e2368: ; 0x020e2368 + .word func_ov05_02111c00 + .global data_ov00_020e236c +data_ov00_020e236c: ; 0x020e236c + .word func_ov05_02111c6c + .global data_ov00_020e2370 +data_ov00_020e2370: ; 0x020e2370 + .word func_ov05_02111c70 + .global data_ov00_020e2374 +data_ov00_020e2374: ; 0x020e2374 + .word func_ov04_0210c5cc ; data_ov07_0210c5cc + .global data_ov00_020e2378 +data_ov00_020e2378: ; 0x020e2378 + .word func_ov04_0210c764 ; data_ov07_0210c764 + .global data_ov00_020e237c +data_ov00_020e237c: ; 0x020e237c + .word func_ov04_0210c800 ; data_ov07_0210c800 + .global data_ov00_020e2380 +data_ov00_020e2380: ; 0x020e2380 + .word func_ov04_0210c88c ; data_ov07_0210c88c + .global data_ov00_020e2384 +data_ov00_020e2384: ; 0x020e2384 + .word func_ov04_0210c8d4 ; data_ov07_0210c8d4 + .global data_ov00_020e2388 +data_ov00_020e2388: ; 0x020e2388 + .word func_ov04_0210ca84 ; data_ov07_0210ca84 + .global data_ov00_020e238c +data_ov00_020e238c: ; 0x020e238c + .word func_ov04_0210cb00 ; data_ov07_0210cb00 + .global data_ov00_020e2390 +data_ov00_020e2390: ; 0x020e2390 + .word func_ov00_0207e46c + .global data_ov00_020e2394 +data_ov00_020e2394: ; 0x020e2394 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2398 +data_ov00_020e2398: ; 0x020e2398 + .word func_ov00_0207e488 + .global data_ov00_020e239c +data_ov00_020e239c: ; 0x020e239c + .word func_ov00_0207e490 + .global data_ov00_020e23a0 +data_ov00_020e23a0: ; 0x020e23a0 + .word func_ov00_0207e498 + .global data_ov00_020e23a4 +data_ov00_020e23a4: ; 0x020e23a4 + .word func_ov00_0207e4a0 + .global data_ov00_020e23a8 +data_ov00_020e23a8: ; 0x020e23a8 + .word func_ov00_0207e4a8 + .global data_ov00_020e23ac +data_ov00_020e23ac: ; 0x020e23ac + .word func_ov00_0207e4b0 + .global data_ov00_020e23b0 +data_ov00_020e23b0: ; 0x020e23b0 + .word func_ov00_0207e4b8 + .global data_ov00_020e23b4 +data_ov00_020e23b4: ; 0x020e23b4 + .word func_ov00_0207e970 + .global data_ov00_020e23b8 +data_ov00_020e23b8: ; 0x020e23b8 + .word func_ov00_0207ee14 + .global data_ov00_020e23bc +data_ov00_020e23bc: ; 0x020e23bc + .word func_ov00_0207eff4 + .global data_ov00_020e23c0 +data_ov00_020e23c0: ; 0x020e23c0 + .word func_ov00_0207f34c + .global data_ov00_020e23c4 +data_ov00_020e23c4: ; 0x020e23c4 + .word func_ov00_0207f354 + .global data_ov00_020e23c8 +data_ov00_020e23c8: ; 0x020e23c8 + .word func_ov00_0207f35c + .global data_ov00_020e23cc +data_ov00_020e23cc: ; 0x020e23cc + .word func_ov00_0207f364 + .global data_ov00_020e23d0 +data_ov00_020e23d0: ; 0x020e23d0 + .word func_ov00_0207f324 + .global data_ov00_020e23d4 +data_ov00_020e23d4: ; 0x020e23d4 + .word func_ov00_0207f32c + .global data_ov00_020e23d8 +data_ov00_020e23d8: ; 0x020e23d8 + .word func_ov00_0207f3c4 + .global data_ov00_020e23dc +data_ov00_020e23dc: ; 0x020e23dc + .word func_ov00_0207f4a0 + .global data_ov00_020e23e0 +data_ov00_020e23e0: ; 0x020e23e0 + .word func_ov00_02080d78 + .global data_ov00_020e23e4 +data_ov00_020e23e4: ; 0x020e23e4 + .word func_ov00_0207f334 + .global data_ov00_020e23e8 +data_ov00_020e23e8: ; 0x020e23e8 + .word func_ov00_0207f338 + .global data_ov00_020e23ec +data_ov00_020e23ec: ; 0x020e23ec + .word func_ov00_0207f33c + .global data_ov00_020e23f0 +data_ov00_020e23f0: ; 0x020e23f0 + .word func_ov00_0207f344 + .global data_ov00_020e23f4 +data_ov00_020e23f4: ; 0x020e23f4 + .word func_ov00_0207f348 + .global data_ov00_020e23f8 +data_ov00_020e23f8: ; 0x020e23f8 + .word func_ov00_0207e060 + .global data_ov00_020e23fc +data_ov00_020e23fc: ; 0x020e23fc + .word func_ov00_0207e444 + .global data_ov00_020e2400 +data_ov00_020e2400: ; 0x020e2400 + .word func_ov00_020807d4 + .global data_ov00_020e2404 +data_ov00_020e2404: ; 0x020e2404 + .word func_ov00_02080d74 + .global data_ov00_020e2408 +data_ov00_020e2408: ; 0x020e2408 + .word func_ov00_02080d7c + .global data_ov00_020e240c +data_ov00_020e240c: ; 0x020e240c + .ascii "M00" + .byte 0x00 + .global data_ov00_020e2410 +data_ov00_020e2410: ; 0x020e2410 + .ascii "Map/%s/map%d%d.bin" + .byte 0x00, 0x00 + .global data_ov00_020e2424 +data_ov00_020e2424: ; 0x020e2424 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2428 +data_ov00_020e2428: ; 0x020e2428 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e242c +data_ov00_020e242c: ; 0x020e242c + .word func_ov00_020820bc + .global data_ov00_020e2430 +data_ov00_020e2430: ; 0x020e2430 + .word func_ov00_020820d0 + .global data_ov00_020e2434 +data_ov00_020e2434: ; 0x020e2434 + .word func_ov00_02082004 + .global data_ov00_020e2438 +data_ov00_020e2438: ; 0x020e2438 + .word func_ov00_0208200c + .global data_ov00_020e243c +data_ov00_020e243c: ; 0x020e243c + .word func_ov00_02082014 + .global data_ov00_020e2440 +data_ov00_020e2440: ; 0x020e2440 + .word func_ov00_02082084 + .global data_ov00_020e2444 +data_ov00_020e2444: ; 0x020e2444 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2448 +data_ov00_020e2448: ; 0x020e2448 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e244c +data_ov00_020e244c: ; 0x020e244c + .word func_ov00_0208208c + .global data_ov00_020e2450 +data_ov00_020e2450: ; 0x020e2450 + .word func_ov00_020820a0 + .global data_ov00_020e2454 +data_ov00_020e2454: ; 0x020e2454 + .word func_ov00_02081f70 + .global data_ov00_020e2458 +data_ov00_020e2458: ; 0x020e2458 + .word func_ov00_02081f78 + .global data_ov00_020e245c +data_ov00_020e245c: ; 0x020e245c + .word func_ov00_02081f80 + .global data_ov00_020e2460 +data_ov00_020e2460: ; 0x020e2460 + .word func_ov00_02081f50 + .global data_ov00_020e2464 +data_ov00_020e2464: ; 0x020e2464 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2468 +data_ov00_020e2468: ; 0x020e2468 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e246c +data_ov00_020e246c: ; 0x020e246c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2470 +data_ov00_020e2470: ; 0x020e2470 + .word func_ov00_02081f38 + .global data_ov00_020e2474 +data_ov00_020e2474: ; 0x020e2474 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2478 +data_ov00_020e2478: ; 0x020e2478 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e247c +data_ov00_020e247c: ; 0x020e247c + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2480 +data_ov00_020e2480: ; 0x020e2480 + .word func_ov00_02081f50 + .global data_ov00_020e2484 +data_ov00_020e2484: ; 0x020e2484 + .ascii "brg" + .byte 0x00 + .global data_ov00_020e2488 +data_ov00_020e2488: ; 0x020e2488 + .ascii "fnl" + .byte 0x00 + .global data_ov00_020e248c +data_ov00_020e248c: ; 0x020e248c + .ascii "pdl" + .byte 0x00 + .global data_ov00_020e2490 +data_ov00_020e2490: ; 0x020e2490 + .ascii "dco" + .byte 0x00 + .global data_ov00_020e2494 +data_ov00_020e2494: ; 0x020e2494 + .ascii "can" + .byte 0x00 + .global data_ov00_020e2498 +data_ov00_020e2498: ; 0x020e2498 + .ascii "hul" + .byte 0x00 + .global data_ov00_020e249c +data_ov00_020e249c: ; 0x020e249c + .ascii "bow" + .byte 0x00 + .global data_ov00_020e24a0 +data_ov00_020e24a0: ; 0x020e24a0 + .ascii "anc" + .byte 0x00 + .global data_ov00_020e24a4 +data_ov00_020e24a4: ; 0x020e24a4 + .word data_ov00_020e24a0 + .global data_ov00_020e24a8 +data_ov00_020e24a8: ; 0x020e24a8 + .word data_ov00_020e249c + .global data_ov00_020e24ac +data_ov00_020e24ac: ; 0x020e24ac + .word data_ov00_020e2498 + .global data_ov00_020e24b0 +data_ov00_020e24b0: ; 0x020e24b0 + .word data_ov00_020e2494 + .global data_ov00_020e24b4 +data_ov00_020e24b4: ; 0x020e24b4 + .word data_ov00_020e2490 + .global data_ov00_020e24b8 +data_ov00_020e24b8: ; 0x020e24b8 + .word data_ov00_020e248c + .global data_ov00_020e24bc +data_ov00_020e24bc: ; 0x020e24bc + .word data_ov00_020e2488 + .global data_ov00_020e24c0 +data_ov00_020e24c0: ; 0x020e24c0 + .word data_ov00_020e2484 diff --git a/asm/ov00/ov00_02086cd0.inc b/asm/ov00/ov00_02086cd0.inc index ffeb319f..f2b90dd1 100644 --- a/asm/ov00/ov00_02086cd0.inc +++ b/asm/ov00/ov00_02086cd0.inc @@ -42,6 +42,7 @@ .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN14AdventureFlags15Get_FlagsUnk_00EiP9FlagsUnk2 .extern _ZN14AdventureFlags18func_ov00_02097738Ev +.extern _ZN14AdventureFlags18func_ov00_020980d0Ev .extern _ZN14AdventureFlags20Get_FlagsUnk_30_FlagEi .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p @@ -90,8 +91,11 @@ .extern _ZN5Actor8vfunc_b0Ev .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN9ActorTypeC1EjPFP5ActorvEPv +.extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj +.extern __register_global_object .extern data_02050f54 .extern data_02056be4 .extern data_02063e4c @@ -103,7 +107,6 @@ .extern data_027e0d38 .extern data_027e0d3c .extern data_027e0d44 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -122,6 +125,16 @@ .extern data_027e0fe8 .extern data_027e103c .extern data_027e10a4 +.extern data_ov00_020dbf88 +.extern data_ov00_020e31ec +.extern data_ov00_020e32ec +.extern data_ov00_020e33ec +.extern data_ov00_020e34ec +.extern data_ov00_020e35ec +.extern data_ov00_020e36ec +.extern data_ov00_020e37ec +.extern data_ov00_020e38ec +.extern data_ov00_020e39ec .extern data_ov00_020e9370 .extern data_ov00_020ea110 .extern data_ov00_020eab04 @@ -193,6 +206,8 @@ .extern func_020350b4 .extern func_0203516c .extern func_020351b8 +.extern func_0203eba8 +.extern func_0203ebc8 .extern func_02042d50 .extern func_02043594 .extern func_020435b4 @@ -261,6 +276,8 @@ .extern func_ov05_02101ab8 .extern func_ov05_02102c2c .extern func_ov05_02103f4c +.extern func_ov08_0211351c +.extern func_ov08_021135b8 .extern func_ov14_02125934 .extern func_ov14_02125948 .extern func_ov15_0214c3c4 @@ -269,3 +286,4 @@ .extern func_ov18_0216ac24 .extern func_ov18_0216ad38 .extern gAdventureFlags +.extern gMapManager diff --git a/asm/ov00/ov00_02086cd0.s b/asm/ov00/ov00_02086cd0.s index b6547b46..f44dffff 100644 --- a/asm/ov00/ov00_02086cd0.s +++ b/asm/ov00/ov00_02086cd0.s @@ -21658,6 +21658,1763 @@ data_ov00_020db054: ; 0x020db054 data_ov00_020db056: ; 0x020db056 .byte 0x00, 0x00 + .section .init, 4, 1, 4 + .global func_ov00_020df640 + arm_func_start func_ov00_020df640 +func_ov00_020df640: ; 0x020df640 + stmdb sp!, {r3, lr} + ldr r0, _020df668 ; =data_ov00_020ecd50 + ldr r2, _020df66c ; =func_ov00_0208f69c + mov r1, #4 + bl func_0203eba8 + ldr r0, _020df668 ; =data_ov00_020ecd50 + ldr r1, _020df670 ; =func_0203ebc8 + ldr r2, _020df674 ; =data_ov00_020ecd58 + bl __register_global_object + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020df640 +_020df668: .word data_ov00_020ecd50 +_020df66c: .word func_ov00_0208f69c +_020df670: .word func_0203ebc8 +_020df674: .word data_ov00_020ecd58 + + .global func_ov00_020df678 + arm_func_start func_ov00_020df678 +func_ov00_020df678: ; 0x020df678 + stmdb sp!, {r3, lr} + ldr r0, _020df6a4 ; =data_ov00_020ecd70 + ldr r1, _020df6a8 ; =0x53574f42 + ldr r2, _020df6ac ; =func_ov00_0208fa70 + mov r3, #0 + bl _ZN9ActorTypeC1EjPFP5ActorvEPv + ldr r0, _020df6a4 ; =data_ov00_020ecd70 + ldr r1, _020df6b0 ; =_ZN9ActorTypeD1Ev + ldr r2, _020df6b4 ; =data_ov00_020ecd64 + bl __register_global_object + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020df678 +_020df6a4: .word data_ov00_020ecd70 +_020df6a8: .word 0x53574f42 +_020df6ac: .word func_ov00_0208fa70 +_020df6b0: .word _ZN9ActorTypeD1Ev +_020df6b4: .word data_ov00_020ecd64 + + .global func_ov00_020df6b8 + arm_func_start func_ov00_020df6b8 +func_ov00_020df6b8: ; 0x020df6b8 + stmdb sp!, {r3, lr} + ldr r0, _020df6e4 ; =data_ov00_020ecd90 + ldr r1, _020df6e8 ; =0x53574453 + ldr r2, _020df6ec ; =func_ov00_020903a8 + mov r3, #0 + bl _ZN9ActorTypeC1EjPFP5ActorvEPv + ldr r0, _020df6e4 ; =data_ov00_020ecd90 + ldr r1, _020df6f0 ; =_ZN9ActorTypeD1Ev + ldr r2, _020df6f4 ; =data_ov00_020ecd84 + bl __register_global_object + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020df6b8 +_020df6e4: .word data_ov00_020ecd90 +_020df6e8: .word 0x53574453 +_020df6ec: .word func_ov00_020903a8 +_020df6f0: .word _ZN9ActorTypeD1Ev +_020df6f4: .word data_ov00_020ecd84 + + .global func_ov00_020df6f8 + arm_func_start func_ov00_020df6f8 +func_ov00_020df6f8: ; 0x020df6f8 + stmdb sp!, {r3, lr} + ldr r0, _020df724 ; =data_ov00_020ecdb0 + ldr r1, _020df728 ; =0x45564943 + ldr r2, _020df72c ; =func_ov00_020904f4 + mov r3, #0 + bl _ZN9ActorTypeC1EjPFP5ActorvEPv + ldr r0, _020df724 ; =data_ov00_020ecdb0 + ldr r1, _020df730 ; =_ZN9ActorTypeD1Ev + ldr r2, _020df734 ; =data_ov00_020ecda4 + bl __register_global_object + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020df6f8 +_020df724: .word data_ov00_020ecdb0 +_020df728: .word 0x45564943 +_020df72c: .word func_ov00_020904f4 +_020df730: .word _ZN9ActorTypeD1Ev +_020df734: .word data_ov00_020ecda4 + + .global func_ov00_020df738 + arm_func_start func_ov00_020df738 +func_ov00_020df738: ; 0x020df738 + stmdb sp!, {r3, lr} + ldr r0, _020df760 ; =data_ov00_020ecdc4 + ldr r2, _020df764 ; =func_ov00_02093c9c + mov r1, #0x1a + bl func_0203eba8 + ldr r0, _020df760 ; =data_ov00_020ecdc4 + ldr r1, _020df768 ; =func_0203ebc8 + ldr r2, _020df76c ; =data_ov00_020ecdcc + bl __register_global_object + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020df738 +_020df760: .word data_ov00_020ecdc4 +_020df764: .word func_ov00_02093c9c +_020df768: .word func_0203ebc8 +_020df76c: .word data_ov00_020ecdcc + + .global func_ov00_020df770 + arm_func_start func_ov00_020df770 +func_ov00_020df770: ; 0x020df770 + stmdb sp!, {r3, lr} + mov r0, #0x1000 + mov r1, #0x1e000 + bl Divide + ldr r1, _020df78c ; =data_ov00_020e2fa8 + str r0, [r1] + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020df770 +_020df78c: .word data_ov00_020e2fa8 + + .global func_ov00_020df790 + arm_func_start func_ov00_020df790 +func_ov00_020df790: ; 0x020df790 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x238 + sub sp, sp, #0x400 + add r3, sp, #0x600 + ldr r7, _020e0758 ; =data_ov00_020e30ec + mov r0, #0 + add r3, r3, #8 + mov r1, #0x3c + strh r0, [r3, #0x28] + str r1, [r7, #0x20] + mov r2, #0xfb + mov r10, #1 + str r2, [r7, #0x24] + str r10, [r7, #0x28] + ldrsh r2, [r3, #0x28] + mov r4, #0xff + rsb lr, r4, #0xfd + str r0, [r7, #0x2c] + strh r0, [r3, #0x10] + strh r2, [r7, #0x30] + strb r10, [r7, #0x32] + add r2, sp, #0x500 + strb r0, [r7, #0x33] + add r2, r2, #8 + strh r0, [r2, #0xf8] + strb r4, [r7, #0x34] + strb r0, [r7, #0x35] + str r1, [r7, #0x38] + str r0, [r7, #0x3c] + str r0, [r7, #0x40] + ldrsh r3, [r3, #0x10] + mov r5, #0x34 + str lr, [r7, #0x44] + strh r3, [r7, #0x48] + strb r10, [r7, #0x4a] + strb r0, [r7, #0x4b] + strb r4, [r7, #0x4c] + strb r0, [r7, #0x4d] + str r5, [r7, #0x6c] + str r0, [r7, #0x70] + str r10, [r7, #0x74] + ldrsh r3, [r2, #0xf8] + str r10, [r7, #0x78] + strh r3, [r7, #0x7c] + mov r3, #0xfb + str r1, [sp, #0x620] + str r3, [sp, #0x624] + str r10, [sp, #0x628] + str r0, [sp, #0x62c] + strb r10, [sp, #0x632] + strb r0, [sp, #0x633] + strb r4, [sp, #0x634] + strb r0, [sp, #0x635] + str r1, [sp, #0x608] + str r0, [sp, #0x60c] + str r0, [sp, #0x610] + str lr, [sp, #0x614] + strb r10, [sp, #0x61a] + strb r0, [sp, #0x61b] + strb r4, [sp, #0x61c] + strb r0, [sp, #0x61d] + str r5, [sp, #0x5f0] + str r0, [sp, #0x5f4] + str r10, [sp, #0x5f8] + str r10, [sp, #0x5fc] + strb r0, [sp, #0x602] + strb r0, [sp, #0x603] + strb r4, [sp, #0x604] + strb r0, [sp, #0x605] + strb r0, [r7, #0x7e] + and ip, r0, #0xff + strb ip, [r7, #0x7f] + and r3, r4, #0xff + strh r0, [r2, #0xe0] + strb r3, [r7, #0x80] + mov r9, #0xb + strb ip, [r7, #0x81] + str r9, [r7, #0x84] + str r0, [r7, #0x88] + str r10, [r7, #0x8c] + ldrsh r5, [r2, #0xe0] + mov r1, #2 + str r1, [r7, #0x90] + strh r0, [r2, #0xc8] + strh r5, [r7, #0x94] + strb ip, [r7, #0x96] + strb ip, [r7, #0x97] + strb r3, [r7, #0x98] + strb ip, [r7, #0x99] + str r9, [r7, #0xb8] + str r0, [r7, #0xbc] + str r10, [r7, #0xc0] + ldrsh r5, [r2, #0xc8] + str r1, [r7, #0xc4] + strh r5, [r7, #0xc8] + strb ip, [r7, #0xca] + strb ip, [r7, #0xcb] + strb r3, [r7, #0xcc] + strb ip, [r7, #0xcd] + str r9, [r7, #0xd0] + str r1, [sp, #0x5e4] + str r1, [sp, #0x5cc] + mov r1, #0x1d + str r0, [r7, #0xd4] + str r9, [sp, #0x5d8] + str r0, [sp, #0x5dc] + str r10, [sp, #0x5e0] + strb r0, [sp, #0x5ea] + strb r0, [sp, #0x5eb] + strb r4, [sp, #0x5ec] + strb r0, [sp, #0x5ed] + str r9, [sp, #0x5c0] + str r0, [sp, #0x5c4] + str r10, [sp, #0x5c8] + strb r0, [sp, #0x5d2] + strb r0, [sp, #0x5d3] + strb r4, [sp, #0x5d4] + strb r0, [sp, #0x5d5] + str r9, [sp, #0x5a8] + str r0, [sp, #0x5ac] + str r10, [sp, #0x5b0] + str r1, [sp, #0x5b4] + strh r0, [r2, #0xb0] + strb r0, [sp, #0x5ba] + strb r0, [sp, #0x5bb] + strb r4, [sp, #0x5bc] + strb r0, [sp, #0x5bd] + str r10, [r7, #0xd8] + ldrsh r5, [r2, #0xb0] + mov r6, #2 + mov r8, r6 + str r1, [r7, #0xdc] + strh r5, [r7, #0xe0] + strb ip, [r7, #0xe2] + strb ip, [r7, #0xe3] + strh r0, [r2, #0x98] + strb r3, [r7, #0xe4] + strb ip, [r7, #0xe5] + str r9, [r7, #0x104] + str r0, [r7, #0x108] + str r10, [r7, #0x10c] + strh r0, [r2, #0x80] + ldrsh r5, [r2, #0x98] + mov r1, #3 + ldr r6, _020e075c ; =data_ov00_020e31ec + str r1, [r7, #0x110] + ldr r1, _020e075c ; =data_ov00_020e31ec + str r9, [sp, #0x590] + strh r5, [r1, #0x14] + mov r1, #0xa + strb r1, [r7, #0x116] + strb ip, [r7, #0x117] + strb r3, [r7, #0x118] + strb ip, [r7, #0x119] + mov r1, #3 + str r9, [r7, #0x11c] + str r1, [sp, #0x59c] + mov r1, #0xa + str r0, [r7, #0x120] + mov r5, #0x25 + str r0, [r7, #0x124] + strb r1, [sp, #0x5a2] + strb r1, [sp, #0x58a] + mov r1, #2 + strb r1, [sp, #0x58b] + mov r1, #4 + str r1, [sp, #0x56c] + str r0, [sp, #0x594] + str r10, [sp, #0x598] + strb r0, [sp, #0x5a3] + strb r4, [sp, #0x5a4] + strb r0, [sp, #0x5a5] + str r9, [sp, #0x578] + str r0, [sp, #0x57c] + str r0, [sp, #0x580] + str lr, [sp, #0x584] + strb r4, [sp, #0x58c] + strb r0, [sp, #0x58d] + str lr, [r7, #0x128] + str r5, [sp, #0x560] + str r0, [sp, #0x564] + str r10, [sp, #0x568] + strh r0, [r2, #0x68] + mov r1, #2 + strb r0, [sp, #0x572] + strb r4, [sp, #0x574] + strb r0, [sp, #0x575] + strb r1, [sp, #0x573] + ldrsh r1, [r2, #0x80] + strh r1, [r6, #0x2c] + mov r1, #0xa + strb r1, [r7, #0x12e] + strb r8, [r7, #0x12f] + strb r3, [r7, #0x130] + strb ip, [r7, #0x131] + str r5, [r7, #0x150] + str r0, [r7, #0x154] + str r10, [r7, #0x158] + mov r1, #4 + str r1, [r7, #0x15c] + str r5, [sp, #0x548] + str r0, [sp, #0x54c] + str r0, [sp, #0x550] + str lr, [sp, #0x554] + strh r0, [r2, #0x50] + mov r1, #2 + strb r1, [sp, #0x55b] + strb r0, [sp, #0x55a] + strb r4, [sp, #0x55c] + strb r0, [sp, #0x55d] + str r5, [sp, #0x530] + str r0, [sp, #0x534] + str r10, [sp, #0x538] + strh r0, [r2, #0x38] + mov r1, #3 + strb r1, [sp, #0x543] + strb r0, [sp, #0x542] + strb r4, [sp, #0x544] + strb r0, [sp, #0x545] + str r5, [sp, #0x518] + str r0, [sp, #0x51c] + str r0, [sp, #0x520] + str lr, [sp, #0x524] + strh r0, [r2, #0x20] + strb r0, [sp, #0x52a] + ldrsh r6, [r2, #0x68] + ldr r1, _020e075c ; =data_ov00_020e31ec + strh r6, [r1, #0x60] + strb ip, [r7, #0x162] + strb r8, [r7, #0x163] + strb r3, [r7, #0x164] + strb ip, [r7, #0x165] + str r5, [r7, #0x168] + str r0, [r7, #0x16c] + str r0, [r7, #0x170] + str lr, [r7, #0x174] + ldrsh r6, [r2, #0x50] + strh r6, [r1, #0x78] + strb ip, [r7, #0x17a] + strb r8, [r7, #0x17b] + strb r3, [r7, #0x17c] + strb ip, [r7, #0x17d] + str r5, [r7, #0x19c] + str r0, [r7, #0x1a0] + mov r1, #5 + str r10, [r7, #0x1a4] + str r1, [sp, #0x53c] + str r1, [r7, #0x1a8] + mov r1, #3 + mov r11, r1 + ldrsh r6, [r2, #0x38] + ldr r1, _020e075c ; =data_ov00_020e31ec + strh r6, [r1, #0xac] + strb ip, [r7, #0x1ae] + strb r11, [r7, #0x1af] + strb r3, [r7, #0x1b0] + strb ip, [r7, #0x1b1] + str r5, [r7, #0x1b4] + str r0, [r7, #0x1b8] + str r0, [r7, #0x1bc] + ldrsh r1, [r2, #0x20] + mov r5, #3 + add r6, sp, #0x400 + strb r5, [sp, #0x52b] + ldr r5, _020e075c ; =data_ov00_020e31ec + str lr, [r7, #0x1c0] + strh r1, [r5, #0xc4] + mov r1, #0x2b + strb r4, [sp, #0x52c] + strb r0, [sp, #0x52d] + str r1, [sp, #0x500] + str r0, [sp, #0x504] + str r10, [sp, #0x508] + strh r0, [r2, #8] + strb r0, [sp, #0x512] + strb r10, [sp, #0x513] + strb r4, [sp, #0x514] + strb r0, [sp, #0x515] + str r1, [sp, #0x4e8] + str r0, [sp, #0x4ec] + str r0, [sp, #0x4f0] + str lr, [sp, #0x4f4] + add r6, r6, #8 + strh r0, [r6, #0xf0] + strb ip, [r7, #0x1c6] + strb r11, [r7, #0x1c7] + strb r3, [r7, #0x1c8] + strb ip, [r7, #0x1c9] + str r1, [r7, #0x1e8] + str r0, [r7, #0x1ec] + mov r1, #6 + str r10, [r7, #0x1f0] + strb r0, [sp, #0x4fa] + strb r10, [sp, #0x4fb] + strb r4, [sp, #0x4fc] + strb r0, [sp, #0x4fd] + str r0, [sp, #0x4d4] + str r10, [sp, #0x4d8] + str r1, [sp, #0x50c] + str r1, [r7, #0x1f4] + ldrsh r2, [r2, #8] + ldr r1, _020e075c ; =data_ov00_020e31ec + and r5, r10, #0xff + strh r2, [r1, #0xf8] + strb ip, [r7, #0x1fa] + strb r5, [r7, #0x1fb] + strb r3, [r7, #0x1fc] + strb ip, [r7, #0x1fd] + mov r1, #0x2b + str r1, [r7, #0x200] + str r0, [r7, #0x204] + str r0, [r7, #0x208] + ldrsh r2, [r6, #0xf0] + mov r1, #0x2a + str r1, [sp, #0x4d0] + ldr r1, _020e0760 ; =data_ov00_020e32ec + str lr, [r7, #0x20c] + strh r2, [r1, #0x10] + strb ip, [r7, #0x212] + strb r5, [r7, #0x213] + strb r3, [r7, #0x214] + strb ip, [r7, #0x215] + strh r0, [r6, #0xd8] + mov r1, #2 + strb r1, [sp, #0x4e3] + mov r1, #0x2a + str r1, [r7, #0x234] + str r0, [r7, #0x238] + str r1, [sp, #0x4b8] + strb r0, [sp, #0x4e2] + strb r4, [sp, #0x4e4] + strb r0, [sp, #0x4e5] + str r10, [r7, #0x23c] + str r0, [sp, #0x4bc] + str r0, [sp, #0x4c0] + str lr, [sp, #0x4c4] + strh r0, [r6, #0xc0] + mov r1, #2 + strb r1, [sp, #0x4cb] + strb r0, [sp, #0x4ca] + strb r4, [sp, #0x4cc] + strb r0, [sp, #0x4cd] + str r0, [sp, #0x4a4] + str r10, [sp, #0x4a8] + strh r0, [r6, #0xa8] + mov r1, #3 + strb r1, [sp, #0x4b3] + mov r1, #7 + strb r0, [sp, #0x4b2] + strb r4, [sp, #0x4b4] + strb r0, [sp, #0x4b5] + str r1, [sp, #0x4dc] + str r1, [r7, #0x240] + ldrsh r2, [r6, #0xd8] + ldr r1, _020e0760 ; =data_ov00_020e32ec + strh r2, [r1, #0x44] + strb ip, [r7, #0x246] + strb r8, [r7, #0x247] + strb r3, [r7, #0x248] + strb ip, [r7, #0x249] + mov r1, #0x2a + str r1, [r7, #0x24c] + str r0, [r7, #0x250] + str r0, [r7, #0x254] + mov r1, #0x2c + str r1, [sp, #0x4a0] + str lr, [r7, #0x258] + ldrsh r2, [r6, #0xc0] + ldr r1, _020e0760 ; =data_ov00_020e32ec + strh r2, [r1, #0x5c] + strb ip, [r7, #0x25e] + strb r8, [r7, #0x25f] + strb r3, [r7, #0x260] + strb ip, [r7, #0x261] + mov r1, #0x2c + str r1, [r7, #0x280] + str r0, [r7, #0x284] + mov r1, #8 + str r10, [r7, #0x288] + str r1, [sp, #0x4ac] + str r1, [r7, #0x28c] + ldrsh r2, [r6, #0xa8] + ldr r1, _020e0760 ; =data_ov00_020e32ec + strh r2, [r1, #0x90] + strb ip, [r7, #0x292] + strb r11, [r7, #0x293] + strb r3, [r7, #0x294] + strb ip, [r7, #0x295] + mov r1, #0x2c + str r1, [sp, #0x488] + str r1, [r7, #0x298] + strh r0, [r6, #0x90] + str r0, [r7, #0x29c] + str r0, [r7, #0x2a0] + ldrsh r2, [r6, #0x90] + mov r1, #3 + strb r1, [sp, #0x49b] + ldr r1, _020e0760 ; =data_ov00_020e32ec + str lr, [r7, #0x2a4] + strh r2, [r1, #0xa8] + mov r1, #0xc + str r0, [sp, #0x48c] + str r0, [sp, #0x490] + str lr, [sp, #0x494] + strb r0, [sp, #0x49a] + strb r4, [sp, #0x49c] + strb r0, [sp, #0x49d] + str r1, [sp, #0x470] + str r0, [sp, #0x474] + str r10, [sp, #0x478] + strh r0, [r6, #0x78] + str r1, [sp, #0x458] + mov r1, #0xa + str r1, [sp, #0x464] + strb r0, [sp, #0x482] + strb r0, [sp, #0x483] + strb r4, [sp, #0x484] + strb r0, [sp, #0x485] + str r0, [sp, #0x45c] + str r10, [sp, #0x460] + strh r0, [r6, #0x60] + strb ip, [r7, #0x2aa] + strb r11, [r7, #0x2ab] + strb r3, [r7, #0x2ac] + strb ip, [r7, #0x2ad] + mov r1, #0xc + str r1, [r7, #0x2cc] + str r0, [r7, #0x2d0] + mov r1, #9 + str r10, [r7, #0x2d4] + strb r0, [sp, #0x46a] + strb r0, [sp, #0x46b] + strb r4, [sp, #0x46c] + strb r0, [sp, #0x46d] + str r1, [sp, #0x47c] + str r1, [r7, #0x2d8] + ldrsh r2, [r6, #0x78] + ldr r1, _020e0760 ; =data_ov00_020e32ec + strh r2, [r1, #0xdc] + strb ip, [r7, #0x2de] + strb ip, [r7, #0x2df] + strb r3, [r7, #0x2e0] + strb ip, [r7, #0x2e1] + mov r1, #0xc + str r1, [r7, #0x2e4] + str r0, [r7, #0x2e8] + str r10, [r7, #0x2ec] + mov r1, #0xa + str r1, [r7, #0x2f0] + ldrsh r2, [r6, #0x60] + ldr r1, _020e0760 ; =data_ov00_020e32ec + strh r2, [r1, #0xf4] + strb ip, [r7, #0x2f6] + strb ip, [r7, #0x2f7] + strb r3, [r7, #0x2f8] + strb ip, [r7, #0x2f9] + strh r0, [r6, #0x48] + mov r1, #0xc + str r1, [r7, #0x318] + str r0, [r7, #0x31c] + str r10, [r7, #0x320] + ldrsh r2, [r6, #0x48] + str r1, [sp, #0x440] + mov r1, #0xa + str r0, [sp, #0x444] + str r10, [sp, #0x448] + str r1, [sp, #0x44c] + str r1, [r7, #0x324] + strb r0, [sp, #0x452] + strb r0, [sp, #0x453] + strb r4, [sp, #0x454] + strb r0, [sp, #0x455] + str r0, [sp, #0x428] + str r10, [sp, #0x42c] + str r0, [sp, #0x430] + str lr, [sp, #0x434] + strh r0, [r6, #0x30] + strb r0, [sp, #0x43a] + strb r10, [sp, #0x43b] + strb r4, [sp, #0x43c] + strb r0, [sp, #0x43d] + str r0, [sp, #0x414] + str r10, [sp, #0x418] + str r9, [sp, #0x41c] + strh r0, [r6, #0x18] + mov r1, #4 + strb r1, [sp, #0x422] + ldr r1, _020e0764 ; =data_ov00_020e33ec + strb r0, [sp, #0x423] + strh r2, [r1, #0x28] + strb ip, [r7, #0x32a] + strb ip, [r7, #0x32b] + strb r3, [r7, #0x32c] + strb ip, [r7, #0x32d] + str r0, [r7, #0x330] + str r10, [r7, #0x334] + str r0, [r7, #0x338] + strb r4, [sp, #0x424] + strb r0, [sp, #0x425] + str lr, [r7, #0x33c] + ldrsh r2, [r6, #0x30] + strh r2, [r1, #0x40] + strb ip, [r7, #0x342] + strb r5, [r7, #0x343] + strb r3, [r7, #0x344] + mov r1, #0x29 + strb ip, [r7, #0x345] + str r1, [r7, #0x364] + str r0, [r7, #0x368] + str r1, [sp, #0x410] + str r10, [r7, #0x36c] + str r1, [sp, #0x3f8] + mov r1, #0xc + str r1, [sp, #0x404] + mov r1, #4 + strb r1, [sp, #0x40a] + mov r1, #0x29 + str r1, [sp, #0x3e0] + mov r1, #0xc + str r1, [sp, #0x3ec] + str r9, [r7, #0x370] + str r0, [sp, #0x3e4] + str r10, [sp, #0x3e8] + add r5, sp, #0x308 + strh r0, [r5, #0xe8] + mov r1, #4 + strb r1, [sp, #0x3f2] + strb r0, [sp, #0x3f3] + strb r4, [sp, #0x3f4] + strb r0, [sp, #0x3f5] + str r1, [sp, #0x3c8] + str r0, [sp, #0x3cc] + str r0, [sp, #0x3d0] + str lr, [sp, #0x3d4] + strh r0, [r5, #0xd0] + strb r0, [sp, #0x3da] + strb r0, [sp, #0x3db] + strb r4, [sp, #0x3dc] + strb r0, [sp, #0x3dd] + ldrsh r1, [r6, #0x18] + ldr r2, _020e0764 ; =data_ov00_020e33ec + strh r0, [r6] + str r1, [sp] + mov r1, #4 + mov r1, r1 + str r1, [sp, #4] + ldr r1, [sp] + str r0, [sp, #0x3fc] + strh r1, [r2, #0x74] + ldr r1, [sp, #4] + ldrsh r2, [r6] + strb r1, [r7, #0x376] + strb ip, [r7, #0x377] + strb r3, [r7, #0x378] + strb ip, [r7, #0x379] + mov r1, #0x29 + str r1, [r7, #0x37c] + str r0, [r7, #0x380] + str r10, [r7, #0x384] + mov r1, #0xc + str r1, [r7, #0x388] + ldr r1, _020e0764 ; =data_ov00_020e33ec + str r10, [sp, #0x400] + strh r2, [r1, #0x8c] + ldr r1, [sp, #4] + strb r0, [sp, #0x40b] + strb r1, [r7, #0x38e] + strb ip, [r7, #0x38f] + strb r3, [r7, #0x390] + strb ip, [r7, #0x391] + mov r1, #0x29 + str r1, [r7, #0x3b0] + str r0, [r7, #0x3b4] + str r10, [r7, #0x3b8] + mov r1, #0xc + str r1, [r7, #0x3bc] + ldrsh r2, [r5, #0xe8] + ldr r1, _020e0764 ; =data_ov00_020e33ec + strb r4, [sp, #0x40c] + strh r2, [r1, #0xc0] + ldr r1, [sp, #4] + strb r0, [sp, #0x40d] + strb r1, [r7, #0x3c2] + strb ip, [r7, #0x3c3] + strb r3, [r7, #0x3c4] + strb ip, [r7, #0x3c5] + mov r1, #4 + str r1, [r7, #0x3c8] + str r0, [r7, #0x3cc] + str r0, [r7, #0x3d0] + ldrsh r2, [r5, #0xd0] + ldr r1, _020e0764 ; =data_ov00_020e33ec + str lr, [r7, #0x3d4] + strh r2, [r1, #0xd8] + strb ip, [r7, #0x3da] + strb ip, [r7, #0x3db] + strb r3, [r7, #0x3dc] + str r0, [sp, #0x3b4] + strb ip, [r7, #0x3dd] + strh r0, [r5, #0xb8] + mov r1, #0x2d + str r1, [r7, #0x3fc] + str r0, [r7, #0x400] + mov r2, #0x2d + mov r1, #0xd + str r2, [sp, #0x3b0] + mov r2, #2 + str r10, [r7, #0x404] + str r10, [sp, #0x3b8] + str r1, [sp, #0x3bc] + str r1, [r7, #0x408] + strb r0, [sp, #0x3c2] + strb r2, [sp, #0x3c3] + strb r4, [sp, #0x3c4] + strb r0, [sp, #0x3c5] + strh r0, [r5, #0xa0] + mov r1, #0x2d + str r1, [sp, #0x398] + mov r1, r2 + strb r1, [sp, #0x3ab] + mov r1, #0x2e + str r1, [sp, #0x380] + str r0, [sp, #0x39c] + str r0, [sp, #0x3a0] + str lr, [sp, #0x3a4] + strb r0, [sp, #0x3aa] + strb r4, [sp, #0x3ac] + strb r0, [sp, #0x3ad] + str r0, [sp, #0x384] + str r10, [sp, #0x388] + strh r0, [r5, #0x88] + strb r0, [sp, #0x392] + ldrsh r2, [r5, #0xb8] + ldr r1, _020e0768 ; =data_ov00_020e34ec + strh r2, [r1, #0xc] + strb ip, [r7, #0x40e] + strb r8, [r7, #0x40f] + strb r3, [r7, #0x410] + strb ip, [r7, #0x411] + mov r1, #0x2d + str r1, [r7, #0x414] + str r0, [r7, #0x418] + str r0, [r7, #0x41c] + str lr, [r7, #0x420] + ldrsh r2, [r5, #0xa0] + ldr r1, _020e0768 ; =data_ov00_020e34ec + strh r2, [r1, #0x24] + strb ip, [r7, #0x426] + strb r8, [r7, #0x427] + strb r3, [r7, #0x428] + mov r1, #0xe + strb ip, [r7, #0x429] + str r1, [sp, #0x38c] + mov r2, #2 + strb r2, [sp, #0x393] + mov r2, #0x2e + str r2, [r7, #0x448] + str r0, [r7, #0x44c] + str r10, [r7, #0x450] + str r1, [r7, #0x454] + mov r1, r2 + str r1, [sp, #0x368] + strb r4, [sp, #0x394] + strb r0, [sp, #0x395] + str r0, [sp, #0x36c] + str r0, [sp, #0x370] + str lr, [sp, #0x374] + strh r0, [r5, #0x70] + mov r1, #2 + strb r1, [sp, #0x37b] + strb r0, [sp, #0x37a] + strb r4, [sp, #0x37c] + strb r0, [sp, #0x37d] + str r0, [sp, #0x354] + str r10, [sp, #0x358] + strh r0, [r5, #0x58] + mov r1, #3 + strb r1, [sp, #0x363] + strb r0, [sp, #0x362] + strb r4, [sp, #0x364] + strb r0, [sp, #0x365] + str r0, [sp, #0x33c] + str r0, [sp, #0x340] + ldrsh r2, [r5, #0x88] + ldr r1, _020e0768 ; =data_ov00_020e34ec + strh r2, [r1, #0x58] + strb ip, [r7, #0x45a] + strb r8, [r7, #0x45b] + strb r3, [r7, #0x45c] + strb ip, [r7, #0x45d] + mov r1, #0x2e + str r1, [r7, #0x460] + mov r1, #0x2f + str r0, [r7, #0x464] + str r0, [r7, #0x468] + str lr, [r7, #0x46c] + str r1, [sp, #0x350] + str r1, [sp, #0x338] + ldrsh r2, [r5, #0x70] + ldr r1, _020e0768 ; =data_ov00_020e34ec + strh r2, [r1, #0x70] + strb ip, [r7, #0x472] + strb r8, [r7, #0x473] + strb r3, [r7, #0x474] + strb ip, [r7, #0x475] + mov r1, #0x2f + str r1, [r7, #0x494] + str r0, [r7, #0x498] + mov r1, #0xf + str r10, [r7, #0x49c] + str r1, [sp, #0x35c] + str r1, [r7, #0x4a0] + ldrsh r2, [r5, #0x58] + ldr r1, _020e0768 ; =data_ov00_020e34ec + strh r2, [r1, #0xa4] + strb ip, [r7, #0x4a6] + strb r11, [r7, #0x4a7] + strb r3, [r7, #0x4a8] + strb ip, [r7, #0x4a9] + mov r1, #0x2f + str r1, [r7, #0x4ac] + strh r0, [r5, #0x40] + str r0, [r7, #0x4b0] + str r0, [r7, #0x4b4] + ldrsh r1, [r5, #0x40] + mov r2, #3 + strb r2, [sp, #0x34b] + ldr r2, _020e0768 ; =data_ov00_020e34ec + str lr, [r7, #0x4b8] + strh r1, [r2, #0xbc] + str lr, [sp, #0x344] + strb r0, [sp, #0x34a] + strb r4, [sp, #0x34c] + strb r0, [sp, #0x34d] + strb ip, [r7, #0x4be] + strh r0, [r5, #0x28] + strb r11, [r7, #0x4bf] + strb r3, [r7, #0x4c0] + strb ip, [r7, #0x4c1] + str r9, [r7, #0x4e0] + str r0, [r7, #0x4e4] + str r10, [r7, #0x4e8] + strh r0, [r5, #0x10] + ldrsh r1, [r5, #0x28] + mov r2, #0x10 + str r2, [sp, #0x32c] + str r2, [r7, #0x4ec] + ldr r2, _020e0768 ; =data_ov00_020e34ec + str r9, [sp, #0x320] + strh r1, [r2, #0xf0] + mov r1, #0xa + mov r6, r1 + strb r6, [r7, #0x4f2] + strb r8, [r7, #0x4f3] + strb r3, [r7, #0x4f4] + strb ip, [r7, #0x4f5] + str r9, [r7, #0x4f8] + str r0, [r7, #0x4fc] + str r0, [sp, #0x324] + str r10, [sp, #0x328] + str r0, [r7, #0x500] + ldrsh r1, [r5, #0x10] + ldr r2, _020e076c ; =data_ov00_020e35ec + str lr, [r7, #0x504] + strh r1, [r2, #8] + strb r6, [r7, #0x50a] + strb r8, [r7, #0x50b] + strb r3, [r7, #0x50c] + mov r1, #0xa + strb r1, [sp, #0x332] + mov r1, #2 + strb r1, [sp, #0x333] + mov r1, #0xa + strb r1, [sp, #0x31a] + mov r1, #2 + strb r4, [sp, #0x334] + strb r0, [sp, #0x335] + str r9, [sp, #0x308] + str r0, [sp, #0x30c] + str r0, [sp, #0x310] + str lr, [sp, #0x314] + strb r1, [sp, #0x31b] + strb r4, [sp, #0x31c] + strb r0, [sp, #0x31d] + strb ip, [r7, #0x50d] + add r5, sp, #0x208 + mov r8, #0x31 + strh r0, [r5, #0xf8] + str r8, [r7, #0x52c] + str r0, [r7, #0x530] + str r10, [r7, #0x534] + ldrsh r1, [r5, #0xf8] + mov r6, #0x11 + str r6, [r7, #0x538] + str r8, [sp, #0x2f0] + strh r1, [r2, #0x3c] + strh r0, [r5, #0xe0] + strb ip, [r7, #0x53e] + strb ip, [r7, #0x53f] + strb r3, [r7, #0x540] + strb ip, [r7, #0x541] + mov r8, #4 + str r8, [r7, #0x544] + str r0, [r7, #0x548] + str r10, [r7, #0x54c] + strh r0, [r5, #0xc8] + ldrsh r8, [r5, #0xe0] + mov r1, #0x12 + str r1, [r7, #0x550] + str r6, [sp, #0x2fc] + strh r8, [r2, #0x54] + strb ip, [r7, #0x556] + strb ip, [r7, #0x557] + strb r3, [r7, #0x558] + strb ip, [r7, #0x559] + mov r6, #4 + str r6, [r7, #0x578] + str r0, [r7, #0x57c] + str r10, [r7, #0x580] + ldrsh r6, [r5, #0xc8] + str r1, [r7, #0x584] + strh r6, [r2, #0x88] + mov r6, #4 + str r0, [sp, #0x2f4] + str r10, [sp, #0x2f8] + strb r0, [sp, #0x302] + strb r0, [sp, #0x303] + strb r4, [sp, #0x304] + strb r0, [sp, #0x305] + str r6, [sp, #0x2d8] + str r0, [sp, #0x2dc] + str r10, [sp, #0x2e0] + str r1, [sp, #0x2e4] + strb r0, [sp, #0x2ea] + strb r0, [sp, #0x2eb] + strb r4, [sp, #0x2ec] + strb r0, [sp, #0x2ed] + str r6, [sp, #0x2c0] + str r0, [sp, #0x2c4] + str r10, [sp, #0x2c8] + str r1, [sp, #0x2cc] + strb r0, [sp, #0x2d2] + strb r0, [sp, #0x2d3] + strb r4, [sp, #0x2d4] + strb r0, [sp, #0x2d5] + strb ip, [r7, #0x58a] + strb ip, [r7, #0x58b] + strh r0, [r5, #0xb0] + strb r3, [r7, #0x58c] + strb ip, [r7, #0x58d] + mov r1, #0x37 + str r1, [r7, #0x590] + str r0, [r7, #0x594] + str r10, [r7, #0x598] + strh r0, [r5, #0x98] + ldrsh r6, [r5, #0xb0] + mov r8, #0x37 + mov r1, #0x33 + str r8, [sp, #0x2a8] + mov r8, #0x19 + str r0, [sp, #0x2ac] + str r10, [sp, #0x2b0] + str r8, [sp, #0x2b4] + strb r0, [sp, #0x2ba] + strb r0, [sp, #0x2bb] + strb r4, [sp, #0x2bc] + strb r0, [sp, #0x2bd] + str r8, [r7, #0x59c] + strh r6, [r2, #0xa0] + strb ip, [r7, #0x5a2] + strb ip, [r7, #0x5a3] + strb r3, [r7, #0x5a4] + strb ip, [r7, #0x5a5] + str r1, [r7, #0x5c4] + str r0, [r7, #0x5c8] + mov r6, #0x13 + str r1, [sp, #0x290] + str r0, [sp, #0x294] + str r10, [sp, #0x298] + str r6, [sp, #0x29c] + strb r0, [sp, #0x2a2] + strb r0, [sp, #0x2a3] + strb r4, [sp, #0x2a4] + strb r0, [sp, #0x2a5] + str r10, [r7, #0x5cc] + str r6, [r7, #0x5d0] + ldrsh r8, [r5, #0x98] + mov r6, #0xfb + str r1, [sp, #0x278] + str r6, [sp, #0x27c] + strh r8, [r2, #0xd4] + strb ip, [r7, #0x5d6] + strb ip, [r7, #0x5d7] + strb r3, [r7, #0x5d8] + strb ip, [r7, #0x5d9] + str r1, [r7, #0x5dc] + str r6, [r7, #0x5e0] + mov r6, #0x1c + str r10, [sp, #0x280] + str r6, [sp, #0x284] + strh r0, [r5, #0x80] + strb r0, [sp, #0x28a] + strb r0, [sp, #0x28b] + strb r4, [sp, #0x28c] + strb r0, [sp, #0x28d] + str r10, [r7, #0x5e4] + str r6, [r7, #0x5e8] + str r0, [sp, #0x264] + str r10, [sp, #0x268] + strh r0, [r5, #0x68] + strb r0, [sp, #0x272] + strb r0, [sp, #0x273] + strb r4, [sp, #0x274] + strb r0, [sp, #0x275] + str r0, [sp, #0x24c] + str r10, [sp, #0x250] + strh r0, [r5, #0x50] + strb r0, [sp, #0x25a] + strb r0, [sp, #0x25b] + strb r4, [sp, #0x25c] + strb r0, [sp, #0x25d] + str r0, [sp, #0x234] + str r10, [sp, #0x238] + strh r0, [r5, #0x38] + strb r0, [sp, #0x242] + strb r0, [sp, #0x243] + strb r4, [sp, #0x244] + strb r0, [sp, #0x245] + ldrsh r6, [r5, #0x80] + strh r6, [r2, #0xec] + strb ip, [r7, #0x5ee] + strb ip, [r7, #0x5ef] + mov r2, #0x36 + str r2, [sp, #0x260] + str r2, [sp, #0x248] + str r2, [sp, #0x230] + strb r3, [r7, #0x5f0] + strb ip, [r7, #0x5f1] + str r2, [r7, #0x610] + str r0, [r7, #0x614] + str r10, [r7, #0x618] + mov r2, #0x14 + str r2, [sp, #0x26c] + str r2, [r7, #0x61c] + ldrsh r6, [r5, #0x68] + ldr r2, _020e0770 ; =data_ov00_020e36ec + strh r6, [r2, #0x20] + strb ip, [r7, #0x622] + strb ip, [r7, #0x623] + strb r3, [r7, #0x624] + strb ip, [r7, #0x625] + mov r2, #0x36 + str r2, [r7, #0x628] + str r0, [r7, #0x62c] + str r10, [r7, #0x630] + mov r2, #0x15 + str r2, [sp, #0x254] + str r2, [r7, #0x634] + str r2, [sp, #0x23c] + ldrsh r8, [r5, #0x50] + ldr r6, _020e0770 ; =data_ov00_020e36ec + strh r8, [r6, #0x38] + strb ip, [r7, #0x63a] + strb ip, [r7, #0x63b] + strb r3, [r7, #0x63c] + strb ip, [r7, #0x63d] + mov r6, #0x36 + str r6, [r7, #0x65c] + str r0, [r7, #0x660] + str r10, [r7, #0x664] + str r2, [r7, #0x668] + mov r2, r6 + str r2, [sp, #0x218] + str r0, [sp, #0x21c] + str r0, [sp, #0x220] + str lr, [sp, #0x224] + strh r0, [r5, #0x20] + strb r0, [sp, #0x22a] + strb r0, [sp, #0x22b] + strb r4, [sp, #0x22c] + strb r0, [sp, #0x22d] + str r0, [sp, #0x204] + str r10, [sp, #0x208] + strh r0, [r5, #8] + mov r2, #4 + strb r2, [sp, #0x213] + strb r0, [sp, #0x212] + strb r4, [sp, #0x214] + strb r0, [sp, #0x215] + str r0, [sp, #0x1ec] + str r0, [sp, #0x1f0] + str lr, [sp, #0x1f4] + add r2, sp, #0x108 + strh r0, [r2, #0xf0] + strb r0, [sp, #0x1fa] + ldrsh r8, [r5, #0x38] + ldr r6, _020e0770 ; =data_ov00_020e36ec + strh r8, [r6, #0x6c] + strb ip, [r7, #0x66e] + strb ip, [r7, #0x66f] + strb r3, [r7, #0x670] + strb ip, [r7, #0x671] + mov r6, #0x36 + str r6, [r7, #0x674] + str r0, [r7, #0x678] + str r0, [r7, #0x67c] + str lr, [r7, #0x680] + ldrsh r8, [r5, #0x20] + ldr r6, _020e0770 ; =data_ov00_020e36ec + b _020e0774 + .align 2, 0 + arm_func_end func_ov00_020df790 +_020e0758: .word data_ov00_020e30ec +_020e075c: .word data_ov00_020e31ec +_020e0760: .word data_ov00_020e32ec +_020e0764: .word data_ov00_020e33ec +_020e0768: .word data_ov00_020e34ec +_020e076c: .word data_ov00_020e35ec +_020e0770: .word data_ov00_020e36ec +_020e0774: + strh r8, [r6, #0x84] + strb ip, [r7, #0x686] + strb ip, [r7, #0x687] + strb r3, [r7, #0x688] + strb ip, [r7, #0x689] + mov r6, #0x26 + str r6, [sp, #0x200] + str r6, [r7, #0x6a8] + str r0, [r7, #0x6ac] + str r10, [r7, #0x6b0] + str r6, [sp, #0x1e8] + mov r6, #0x16 + str r6, [sp, #0x20c] + str r6, [r7, #0x6b4] + ldrsh r6, [r5, #8] + ldr r5, _020e0770 ; =data_ov00_020e36ec + strh r6, [r5, #0xb8] + ldr r5, [sp, #4] + strb ip, [r7, #0x6ba] + strb r5, [r7, #0x6bb] + strb r3, [r7, #0x6bc] + strb ip, [r7, #0x6bd] + mov r5, #0x26 + str r5, [r7, #0x6c0] + mov r5, #4 + strb r5, [sp, #0x1fb] + strb r4, [sp, #0x1fc] + strb r0, [sp, #0x1fd] + str r0, [r7, #0x6c4] + str r0, [r7, #0x6c8] + str lr, [r7, #0x6cc] + mov r5, #0xfb + str r5, [sp, #0x1d4] + str r10, [sp, #0x1d8] + strh r0, [r2, #0xd8] + str r5, [sp, #0x1bc] + strb r0, [sp, #0x1e2] + strb r0, [sp, #0x1e3] + strb r4, [sp, #0x1e4] + strb r0, [sp, #0x1e5] + str r10, [sp, #0x1c0] + strh r0, [r2, #0xc0] + strb r0, [sp, #0x1ca] + strb r0, [sp, #0x1cb] + strb r4, [sp, #0x1cc] + strb r0, [sp, #0x1cd] + str r1, [sp, #0x1a0] + str r0, [sp, #0x1a4] + str r10, [sp, #0x1a8] + ldrsh r6, [r2, #0xf0] + ldr r5, _020e0770 ; =data_ov00_020e36ec + strh r6, [r5, #0xd0] + ldr r5, [sp, #4] + strb ip, [r7, #0x6d2] + strb r5, [r7, #0x6d3] + strb r3, [r7, #0x6d4] + strb ip, [r7, #0x6d5] + mov r6, #0x35 + str r6, [sp, #0x1d0] + str r6, [r7, #0x6f4] + mov r5, #0xfb + str r5, [r7, #0x6f8] + str r10, [r7, #0x6fc] + mov r5, #0x17 + str r6, [sp, #0x1b8] + str r5, [sp, #0x1dc] + str r5, [r7, #0x700] + str r5, [sp, #0x1c4] + ldrsh r8, [r2, #0xd8] + ldr r5, _020e0e94 ; =data_ov00_020e37ec + strh r8, [r5, #4] + strb ip, [r7, #0x706] + strb ip, [r7, #0x707] + strb r3, [r7, #0x708] + strb ip, [r7, #0x709] + str r6, [r7, #0x70c] + mov r6, #0xfb + str r6, [r7, #0x710] + str r10, [r7, #0x714] + mov r6, #0x17 + str r6, [r7, #0x718] + ldrsh r6, [r2, #0xc0] + strh r6, [r5, #0x1c] + strb ip, [r7, #0x71e] + strb ip, [r7, #0x71f] + strb r3, [r7, #0x720] + strb ip, [r7, #0x721] + strh r0, [r2, #0xa8] + strb r0, [sp, #0x1b2] + strb r0, [sp, #0x1b3] + strb r4, [sp, #0x1b4] + strb r0, [sp, #0x1b5] + str r1, [r7, #0x740] + str r0, [r7, #0x744] + str r10, [r7, #0x748] + str r1, [sp, #0x188] + str r0, [sp, #0x18c] + str r10, [sp, #0x190] + strh r0, [r2, #0x90] + mov r6, #0x37 + str r6, [sp, #0x170] + mov r6, #0x19 + str r6, [sp, #0x17c] + strb r0, [sp, #0x19a] + strb r0, [sp, #0x19b] + strb r4, [sp, #0x19c] + strb r0, [sp, #0x19d] + str r0, [sp, #0x174] + str r10, [sp, #0x178] + strh r0, [r2, #0x78] + mov r6, #0x18 + strb r0, [sp, #0x182] + strb r0, [sp, #0x183] + strb r4, [sp, #0x184] + strb r0, [sp, #0x185] + str r6, [sp, #0x1ac] + str r6, [r7, #0x74c] + ldrsh r6, [r2, #0xa8] + strh r6, [r5, #0x50] + strb ip, [r7, #0x752] + strb ip, [r7, #0x753] + strb r3, [r7, #0x754] + strb ip, [r7, #0x755] + str r1, [r7, #0x758] + str r0, [r7, #0x75c] + str r10, [r7, #0x760] + mov r6, #0x1a + str r6, [sp, #0x194] + str r6, [r7, #0x764] + ldrsh r8, [r2, #0x90] + strh r8, [r5, #0x68] + strb ip, [r7, #0x76a] + strb ip, [r7, #0x76b] + strb r3, [r7, #0x76c] + strb ip, [r7, #0x76d] + mov r8, #0x37 + str r8, [r7, #0x78c] + str r0, [r7, #0x790] + str r10, [r7, #0x794] + mov r8, #0x19 + str r8, [r7, #0x798] + ldrsh r8, [r2, #0x78] + strh r8, [r5, #0x9c] + strb ip, [r7, #0x79e] + strb ip, [r7, #0x79f] + strb r3, [r7, #0x7a0] + strb ip, [r7, #0x7a1] + str r0, [sp, #0x15c] + str r0, [sp, #0x160] + str lr, [sp, #0x164] + strh r0, [r2, #0x60] + strb r0, [sp, #0x16a] + strb r0, [sp, #0x16b] + strb r4, [sp, #0x16c] + strb r0, [sp, #0x16d] + str r1, [sp, #0x140] + str r0, [sp, #0x144] + str r10, [sp, #0x148] + str r6, [sp, #0x14c] + strh r0, [r2, #0x48] + strb r0, [sp, #0x152] + strb r0, [sp, #0x153] + strb r4, [sp, #0x154] + strb r0, [sp, #0x155] + str r1, [sp, #0x128] + str r0, [sp, #0x12c] + str r10, [sp, #0x130] + strh r0, [r2, #0x30] + mov r8, #0x32 + strb r0, [sp, #0x13a] + strb r0, [sp, #0x13b] + strb r4, [sp, #0x13c] + strb r0, [sp, #0x13d] + str r8, [sp, #0x158] + str r8, [r7, #0x7a4] + str r0, [r7, #0x7a8] + str r0, [r7, #0x7ac] + str lr, [r7, #0x7b0] + ldrsh r8, [r2, #0x60] + strh r8, [r5, #0xb4] + strb ip, [r7, #0x7b6] + strb ip, [r7, #0x7b7] + strb r3, [r7, #0x7b8] + strb ip, [r7, #0x7b9] + str r1, [r7, #0x7d8] + str r0, [r7, #0x7dc] + str r10, [r7, #0x7e0] + str r6, [r7, #0x7e4] + ldrsh r6, [r2, #0x48] + strh r6, [r5, #0xe8] + strb ip, [r7, #0x7ea] + strb ip, [r7, #0x7eb] + strb r3, [r7, #0x7ec] + strb ip, [r7, #0x7ed] + str r1, [r7, #0x7f0] + str r0, [r7, #0x7f4] + str r10, [r7, #0x7f8] + ldrsh r8, [r2, #0x30] + mov r6, #0x1b + ldr r5, _020e0e98 ; =data_ov00_020e38ec + str r6, [sp, #0x134] + str r6, [r7, #0x7fc] + strh r8, [r5] + strb ip, [r7, #0x802] + str r1, [sp, #0x110] + str r0, [sp, #0x114] + str r10, [sp, #0x118] + str r6, [sp, #0x11c] + strh r0, [r2, #0x18] + strb r0, [sp, #0x122] + strb r0, [sp, #0x123] + strb r4, [sp, #0x124] + strb r0, [sp, #0x125] + strb ip, [r7, #0x803] + strb r3, [r7, #0x804] + strb ip, [r7, #0x805] + str r1, [r7, #0x824] + str r0, [r7, #0x828] + str r10, [r7, #0x82c] + str r6, [r7, #0x830] + ldrsh r6, [r2, #0x18] + strh r0, [r2] + ldrsh r2, [r2] + strh r6, [r5, #0x34] + strb ip, [r7, #0x836] + strb ip, [r7, #0x837] + strb r3, [r7, #0x838] + strb ip, [r7, #0x839] + str r1, [r7, #0x83c] + str r0, [r7, #0x840] + str r0, [r7, #0x844] + str lr, [r7, #0x848] + strh r2, [r5, #0x4c] + strb ip, [r7, #0x84e] + strb ip, [r7, #0x84f] + strb r3, [r7, #0x850] + strb ip, [r7, #0x851] + mov r8, #0xfb + str r8, [sp, #0xe4] + mov r8, #0x1c + str r1, [sp, #0xf8] + str r1, [sp, #0xe0] + str r1, [r7, #0x870] + mov r1, #0xfb + str r1, [r7, #0x874] + str r0, [sp, #0xfc] + str r0, [sp, #0x100] + str lr, [sp, #0x104] + strb r0, [sp, #0x10a] + strb r0, [sp, #0x10b] + strb r4, [sp, #0x10c] + strb r0, [sp, #0x10d] + str r10, [sp, #0xe8] + str r8, [sp, #0xec] + strh r0, [sp, #0xf0] + strb r0, [sp, #0xf2] + strb r0, [sp, #0xf3] + strb r4, [sp, #0xf4] + strb r0, [sp, #0xf5] + str r10, [r7, #0x878] + ldrsh r2, [sp, #0xf0] + mov r1, r8 + str r1, [r7, #0x87c] + strh r2, [r5, #0x80] + strb ip, [r7, #0x882] + strb ip, [r7, #0x883] + strb r3, [r7, #0x884] + strb ip, [r7, #0x885] + mov r1, #0x36 + str r1, [r7, #0x888] + strh r0, [sp, #0xd8] + str r0, [r7, #0x88c] + ldrsh r2, [sp, #0xd8] + str r10, [r7, #0x890] + mov r1, #0x14 + str r1, [r7, #0x894] + strh r2, [r5, #0x98] + strb ip, [r7, #0x89a] + strb ip, [r7, #0x89b] + strb r3, [r7, #0x89c] + strb ip, [r7, #0x89d] + strh r0, [sp, #0xc0] + str r9, [r7, #0x8bc] + str r0, [r7, #0x8c0] + ldrsh r2, [sp, #0xc0] + str r10, [r7, #0x8c4] + mov r1, #0x1d + str r1, [r7, #0x8c8] + strh r2, [r5, #0xcc] + strb ip, [r7, #0x8ce] + mov r1, #0x36 + strb ip, [r7, #0x8cf] + str r1, [sp, #0xc8] + mov r1, #0x14 + strb r3, [r7, #0x8d0] + str r1, [sp, #0xd4] + mov r1, #0x1d + str r0, [sp, #0xcc] + str r10, [sp, #0xd0] + strb r0, [sp, #0xda] + strb r0, [sp, #0xdb] + strb r4, [sp, #0xdc] + strb r0, [sp, #0xdd] + str r9, [sp, #0xb0] + str r0, [sp, #0xb4] + str r10, [sp, #0xb8] + str r1, [sp, #0xbc] + strb r0, [sp, #0xc2] + strb r0, [sp, #0xc3] + strb r4, [sp, #0xc4] + strb r0, [sp, #0xc5] + strb ip, [r7, #0x8d1] + str r9, [sp, #0x98] + str r0, [sp, #0x9c] + str r0, [sp, #0xa0] + str lr, [sp, #0xa4] + strh r0, [sp, #0xa8] + strb r0, [sp, #0xaa] + strb r0, [sp, #0xab] + strb r4, [sp, #0xac] + strb r0, [sp, #0xad] + str r9, [r7, #0x8d4] + str r0, [r7, #0x8d8] + str r0, [r7, #0x8dc] + ldrsh r1, [sp, #0xa8] + str lr, [r7, #0x8e0] + strh r0, [sp, #0x90] + strh r1, [r5, #0xe4] + strb ip, [r7, #0x8e6] + strb ip, [r7, #0x8e7] + strb r3, [r7, #0x8e8] + strb ip, [r7, #0x8e9] + str r9, [r7, #0x908] + str r0, [r7, #0x90c] + mov r2, #0x1e + str r10, [r7, #0x910] + ldrsh r6, [sp, #0x90] + ldr r5, _020e0e9c ; =data_ov00_020e39ec + str r2, [r7, #0x914] + strh r6, [r5, #0x18] + strb ip, [r7, #0x91a] + strb ip, [r7, #0x91b] + strb r3, [r7, #0x91c] + mov r1, #0x47 + strb ip, [r7, #0x91d] + strh r0, [sp, #0x78] + str r1, [r7, #0x920] + str r0, [r7, #0x924] + str r0, [r7, #0x928] + mov r6, #0x1f + ldrsh r8, [sp, #0x78] + str lr, [r7, #0x92c] + str r9, [sp, #0x80] + strh r8, [r5, #0x30] + strb ip, [r7, #0x932] + strb ip, [r7, #0x933] + strb r3, [r7, #0x934] + str r0, [sp, #0x84] + str r10, [sp, #0x88] + str r2, [sp, #0x8c] + strb r0, [sp, #0x92] + strb r0, [sp, #0x93] + strb r4, [sp, #0x94] + strb r0, [sp, #0x95] + str r1, [sp, #0x68] + str r0, [sp, #0x6c] + str r0, [sp, #0x70] + str lr, [sp, #0x74] + strb r0, [sp, #0x7a] + strb r0, [sp, #0x7b] + strb r4, [sp, #0x7c] + strb r0, [sp, #0x7d] + strb ip, [r7, #0x935] + str r9, [sp, #0x50] + str r0, [sp, #0x54] + str r10, [sp, #0x58] + str r6, [sp, #0x5c] + strh r0, [sp, #0x60] + strb r0, [sp, #0x62] + str r9, [r7, #0x954] + str r0, [r7, #0x958] + str r10, [r7, #0x95c] + str r6, [r7, #0x960] + ldrsh r2, [sp, #0x60] + mov r6, #0x20 + strh r0, [sp, #0x48] + strh r2, [r5, #0x64] + strb ip, [r7, #0x966] + strb ip, [r7, #0x967] + strb r3, [r7, #0x968] + strb ip, [r7, #0x969] + str r1, [r7, #0x96c] + str r0, [r7, #0x970] + str r0, [r7, #0x974] + ldrsh r2, [sp, #0x48] + str lr, [r7, #0x978] + strh r0, [sp, #0x30] + strh r2, [r5, #0x7c] + strb ip, [r7, #0x97e] + strb ip, [r7, #0x97f] + strb r3, [r7, #0x980] + strb ip, [r7, #0x981] + str r9, [r7, #0x9a0] + str r0, [r7, #0x9a4] + str r10, [r7, #0x9a8] + ldrsh r2, [sp, #0x30] + str r6, [r7, #0x9ac] + strh r0, [sp, #0x18] + strh r2, [r5, #0xb0] + strb ip, [r7, #0x9b2] + strb ip, [r7, #0x9b3] + strb r3, [r7, #0x9b4] + strb ip, [r7, #0x9b5] + str r1, [r7, #0x9b8] + str r0, [r7, #0x9bc] + str r0, [r7, #0x9c0] + str r1, [sp, #0x38] + str r1, [sp, #8] + ldrsh r1, [sp, #0x18] + str lr, [r7, #0x9c4] + ldr r2, _020e0ea0 ; =data_ov00_020ecdd8 + strh r1, [r5, #0xc8] + strb ip, [r7, #0x9ca] + strb ip, [r7, #0x9cb] + strb r3, [r7, #0x9cc] + ldr r1, _020e0ea4 ; =_ZN14AdventureFlags18func_ov00_020980d0Ev + strb r0, [sp, #0x63] + strb r4, [sp, #0x64] + strb r0, [sp, #0x65] + str r0, [sp, #0x3c] + str r0, [sp, #0x40] + str lr, [sp, #0x44] + strb r0, [sp, #0x4a] + strb r0, [sp, #0x4b] + strb r4, [sp, #0x4c] + strb r0, [sp, #0x4d] + str r9, [sp, #0x20] + str r0, [sp, #0x24] + str r10, [sp, #0x28] + str r6, [sp, #0x2c] + strb r0, [sp, #0x32] + strb r0, [sp, #0x33] + strb r4, [sp, #0x34] + strb r0, [sp, #0x35] + str r0, [sp, #0xc] + str r0, [sp, #0x10] + str lr, [sp, #0x14] + strb r0, [sp, #0x1a] + strb r0, [sp, #0x1b] + strb r4, [sp, #0x1c] + strb r0, [sp, #0x1d] + strb ip, [r7, #0x9cd] + bl __register_global_object + add sp, sp, #0x238 + add sp, sp, #0x400 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 +_020e0e94: .word data_ov00_020e37ec +_020e0e98: .word data_ov00_020e38ec +_020e0e9c: .word data_ov00_020e39ec +_020e0ea0: .word data_ov00_020ecdd8 +_020e0ea4: .word _ZN14AdventureFlags18func_ov00_020980d0Ev + + .global func_ov00_020e0ea8 + arm_func_start func_ov00_020e0ea8 +func_ov00_020e0ea8: ; 0x020e0ea8 + ldr r2, _020e1024 ; =data_ov00_020dbf88 + ldr r1, _020e1028 ; =data_ov00_020ecde4 + ldmia r2, {r0, r3} + str r0, [r1] + str r3, [r1, #0x68] + ldr r0, [r2, #8] + ldr r3, [r2, #0xc] + str r0, [r1, #0xd0] + str r3, [r1, #0x138] + ldr r0, [r2, #0x10] + ldr r3, [r2, #0x14] + str r0, [r1, #0x1a0] + str r3, [r1, #0x208] + ldr r0, [r2, #0x18] + ldr r3, [r2, #0x1c] + str r0, [r1, #0x270] + str r3, [r1, #0x2d8] + ldr r0, [r2, #0x20] + ldr r3, [r2, #0x24] + str r0, [r1, #0x340] + str r3, [r1, #0x3a8] + ldr r0, [r2, #0x28] + ldr r3, [r2, #0x2c] + str r0, [r1, #0x410] + str r3, [r1, #0x478] + ldr r0, [r2, #0x30] + ldr r3, [r2, #0x34] + str r0, [r1, #0x4e0] + str r3, [r1, #0x548] + ldr r0, [r2, #0x38] + ldr r3, [r2, #0x3c] + str r0, [r1, #0x5b0] + str r3, [r1, #0x618] + ldr r0, [r2, #0x40] + ldr r3, [r2, #0x44] + str r0, [r1, #0x680] + str r3, [r1, #0x6e8] + ldr r0, [r2, #0x48] + ldr r3, [r2, #0x4c] + str r0, [r1, #0x750] + str r3, [r1, #0x7b8] + ldr r0, [r2, #0x50] + ldr r3, [r2, #0x54] + str r0, [r1, #0x820] + ldr r0, [r2, #0x58] + str r3, [r1, #0x888] + str r0, [r1, #0x8f0] + ldr r3, [r2, #0x5c] + ldr r0, _020e102c ; =data_ov00_020edde4 + str r3, [r1, #0x958] + ldr r3, [r2, #0x60] + str r3, [r1, #0x9c0] + ldr r3, [r2, #0x64] + str r3, [r1, #0xa28] + ldr r3, [r2, #0x68] + str r3, [r1, #0xa90] + ldr r3, [r2, #0x6c] + str r3, [r1, #0xaf8] + ldr r3, [r2, #0x70] + str r3, [r1, #0xb60] + ldr r3, [r2, #0x74] + str r3, [r1, #0xbc8] + ldr r3, [r2, #0x78] + str r3, [r1, #0xc30] + ldr r3, [r2, #0x7c] + str r3, [r1, #0xc98] + ldr r3, [r2, #0x80] + str r3, [r1, #0xd00] + ldr r3, [r2, #0x84] + str r3, [r1, #0xd68] + ldr r3, [r2, #0x88] + str r3, [r1, #0xdd0] + ldr r3, [r2, #0x8c] + str r3, [r1, #0xe38] + ldr r3, [r2, #0x90] + str r3, [r1, #0xea0] + ldr r3, [r2, #0x94] + str r3, [r1, #0xf08] + ldr r3, [r2, #0x98] + str r3, [r1, #0xf70] + ldr r3, [r2, #0x9c] + str r3, [r1, #0xfd8] + ldr r1, [r2, #0xa0] + str r1, [r0, #0x40] + ldr r1, [r2, #0xa4] + str r1, [r0, #0xa8] + ldr r1, [r2, #0xa8] + str r1, [r0, #0x110] + ldr r1, [r2, #0xac] + str r1, [r0, #0x178] + ldr r1, [r2, #0xb0] + str r1, [r0, #0x1e0] + ldr r1, [r2, #0xb4] + str r1, [r0, #0x248] + bx lr + .align 2, 0 + arm_func_end func_ov00_020e0ea8 +_020e1024: .word data_ov00_020dbf88 +_020e1028: .word data_ov00_020ecde4 +_020e102c: .word data_ov00_020edde4 + + .global func_ov00_020e1030 + arm_func_start func_ov00_020e1030 +func_ov00_020e1030: ; 0x020e1030 + stmdb sp!, {r3, lr} + ldr r0, _020e1050 ; =data_ov00_020ee0a0 + bl func_ov08_0211351c + ldr r0, _020e1050 ; =data_ov00_020ee0a0 + ldr r1, _020e1054 ; =func_ov08_021135b8 + ldr r2, _020e1058 ; =data_ov00_020ee094 + bl __register_global_object + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end func_ov00_020e1030 +_020e1050: .word data_ov00_020ee0a0 +_020e1054: .word func_ov08_021135b8 +_020e1058: .word data_ov00_020ee094 + + .section .ctor, 4, 1, 4 + .global data_ov00_020e1ec0 +data_ov00_020e1ec0: ; 0x020e1ec0 + .word func_ov00_020df640 + .global data_ov00_020e1ec4 +data_ov00_020e1ec4: ; 0x020e1ec4 + .word func_ov00_020df678 + .global data_ov00_020e1ec8 +data_ov00_020e1ec8: ; 0x020e1ec8 + .word func_ov00_020df6b8 + .global data_ov00_020e1ecc +data_ov00_020e1ecc: ; 0x020e1ecc + .word func_ov00_020df6f8 + .global data_ov00_020e1ed0 +data_ov00_020e1ed0: ; 0x020e1ed0 + .word func_ov00_020df738 + .global data_ov00_020e1ed4 +data_ov00_020e1ed4: ; 0x020e1ed4 + .word func_ov00_020df770 + .global data_ov00_020e1ed8 +data_ov00_020e1ed8: ; 0x020e1ed8 + .word func_ov00_020df790 + .global data_ov00_020e1edc +data_ov00_020e1edc: ; 0x020e1edc + .word func_ov00_020e0ea8 + .global data_ov00_020e1ee0 +data_ov00_020e1ee0: ; 0x020e1ee0 + .word func_ov00_020e1030 + .data .global data_ov00_020e253c diff --git a/asm/ov00/ov00_020c3e54.inc b/asm/ov00/ov00_020c3e54.inc index 758d0fdb..5f0bb1d2 100644 --- a/asm/ov00/ov00_020c3e54.inc +++ b/asm/ov00/ov00_020c3e54.inc @@ -139,7 +139,6 @@ .extern data_027e0e28 .extern data_027e0e58 .extern data_027e0e5c -.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f70 @@ -670,6 +669,7 @@ .extern func_ov29_0216d918 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern strcat .extern strcpy diff --git a/asm/ov04.inc b/asm/ov04.inc index 8b37a1c7..406a2295 100644 --- a/asm/ov04.inc +++ b/asm/ov04.inc @@ -57,6 +57,16 @@ .extern _ZN14OverlayManager6UnloadEj .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN6Course13SetCourseNameEPc +.extern _ZN6Course14GetMCSFilePathEiii +.extern _ZN6Course14GetMRCFilePathEiii +.extern _ZN6Course18func_ov00_0207ca78Ev +.extern _ZN6Course18func_ov00_0207cb7cEiPS_i +.extern _ZN6Course18func_ov00_0207ce20Eiiii +.extern _ZN6Course18func_ov00_0207d4e4Ei +.extern _ZN6Course18func_ov00_0207d7a4Ev +.extern _ZN6Course18func_ov00_0207d7bcEv +.extern _ZN6Course18func_ov00_0207d9ccEi .extern _ZN9ActorType13func_0203e7c8Ev .extern _ZN9ActorType4FindEj .extern _ZN9SysObjectdlEPv @@ -107,7 +117,6 @@ .extern data_027e0e28 .extern data_027e0e58 .extern data_027e0e5c -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -428,16 +437,6 @@ .extern func_ov00_0207c000 .extern func_ov00_0207c030 .extern func_ov00_0207c074 -.extern _ZN6Course13SetCourseNameEPc -.extern _ZN6Course18func_ov00_0207ca78Ev -.extern _ZN6Course18func_ov00_0207cb7cEiPS_i -.extern _ZN6Course14GetMCSFilePathEiii -.extern _ZN6Course14GetMRCFilePathEiii -.extern _ZN6Course18func_ov00_0207ce20Eiiii -.extern _ZN6Course18func_ov00_0207d4e4Ei -.extern _ZN6Course18func_ov00_0207d7a4Ev -.extern _ZN6Course18func_ov00_0207d7bcEv -.extern _ZN6Course18func_ov00_0207d9ccEi .extern func_ov00_0207dce4 .extern func_ov00_0207dda0 .extern func_ov00_0207ddf8 @@ -713,6 +712,7 @@ .extern func_ov40_02187ba0 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern gPlayerAnimHandler .extern strcat diff --git a/asm/ov05.inc b/asm/ov05.inc index 0947554a..85538007 100644 --- a/asm/ov05.inc +++ b/asm/ov05.inc @@ -1,5 +1,28 @@ #pragma once .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager16MapData_vfunc_84Ev +.extern _ZN10MapManager17GetMapData_Unk_0aEv +.extern _ZN10MapManager17GetMapData_Unk_0bEv +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18func_ov00_02082424Ev +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02083664EP5Vec3pi +.extern _ZN10MapManager18func_ov00_020839d4Ev +.extern _ZN10MapManager18func_ov00_020839f8Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i +.extern _ZN10MapManager18func_ov00_020840a0Ecci +.extern _ZN10MapManager18func_ov00_02084740Ev +.extern _ZN10MapManager18func_ov00_020848b8Ev +.extern _ZN10MapManager18func_ov00_0208527cEv +.extern _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi .extern _ZN10PlayerBase18func_ov00_020a7c00Ei .extern _ZN11ItemManager12GetItemModelEj .extern _ZN11ItemManager15LoadFanfareItemEj @@ -103,6 +126,12 @@ .extern _ZN13PlayerControl18func_ov00_020b13c4Ev .extern _ZN13PlayerControl20UpdateUsingEquipItemEv .extern _ZN13PlayerControl9SetUnk_80Ev +.extern _ZN14AdventureFlags18func_Ov00_02097810Ei +.extern _ZN14AdventureFlags18func_ov00_02097738Ev +.extern _ZN14AdventureFlags18func_ov00_02097750Ev +.extern _ZN14AdventureFlags18func_ov00_02097bbcEv +.extern _ZN14AdventureFlags18func_ov00_02097ff4Ebb +.extern _ZN14AdventureFlags3GetEj .extern _ZN15LinkStateDamage18func_ov00_020ac9e4Ei .extern _ZN15LinkStateDamage18func_ov00_020acb6cEP5Vec3pi .extern _ZN15LinkStateDamage18func_ov00_020ace90EP5Vec3pi @@ -159,7 +188,6 @@ .extern data_027e0e2c .extern data_027e0e58 .extern data_027e0e5c -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -335,29 +363,6 @@ .extern func_ov00_0207dea0 .extern func_ov00_02080de8 .extern func_ov00_02081f4c -.extern _ZN10MapManager18func_ov00_02082424Ev -.extern _ZN10MapManager16MapData_vfunc_84Ev -.extern _ZN10MapManager18func_ov00_02082d08Ev -.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p -.extern _ZN10MapManager18func_ov00_02083664EP5Vec3pi -.extern _ZN10MapManager18func_ov00_020839d4Ev -.extern _ZN10MapManager18func_ov00_020839f8Ev -.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p -.extern _ZN10MapManager18func_ov00_02083c24Ei -.extern _ZN10MapManager18func_ov00_02083c50Ei -.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi -.extern _ZN10MapManager18func_ov00_02083e34Ecci -.extern _ZN10MapManager16MapData_vfunc_68Ev -.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p -.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i -.extern _ZN10MapManager18func_ov00_020840a0Ecci -.extern _ZN10MapManager16MapData_vfunc_78Ev -.extern _ZN10MapManager17GetMapData_Unk_0aEv -.extern _ZN10MapManager17GetMapData_Unk_0bEv -.extern _ZN10MapManager18func_ov00_02084740Ev -.extern _ZN10MapManager18func_ov00_020848b8Ev -.extern _ZN10MapManager18func_ov00_0208527cEv -.extern _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi .extern func_ov00_0208726c .extern func_ov00_020872e8 .extern func_ov00_0208766c @@ -373,12 +378,6 @@ .extern func_ov00_0208cb84 .extern func_ov00_0208df2c .extern func_ov00_02095fe0 -.extern _ZN14AdventureFlags18func_ov00_02097738Ev -.extern _ZN14AdventureFlags18func_ov00_02097750Ev -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags18func_Ov00_02097810Ei -.extern _ZN14AdventureFlags18func_ov00_02097bbcEv -.extern _ZN14AdventureFlags18func_ov00_02097ff4Ebb .extern func_ov00_020981b8 .extern func_ov00_02098694 .extern func_ov00_02098890 @@ -577,6 +576,7 @@ .extern func_ov59_021990a4 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern strcmp .extern strcpy diff --git a/asm/ov14/ov14_0211f640.inc b/asm/ov14/ov14_0211f640.inc index d0057a03..8f229369 100644 --- a/asm/ov14/ov14_0211f640.inc +++ b/asm/ov14/ov14_0211f640.inc @@ -159,7 +159,6 @@ .extern data_027e0d44 .extern data_027e0d78 .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -517,5 +516,6 @@ .extern func_ov58_0219ab28 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern strcmp diff --git a/asm/ov24.inc b/asm/ov24.inc index 9d81e869..8a711a56 100644 --- a/asm/ov24.inc +++ b/asm/ov24.inc @@ -1,12 +1,29 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager18Get_MapData_Unk_d0Ev +.extern _ZN10MapManager18Get_MapData_Unk_d8Ev +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18func_ov00_02083908EcPi +.extern _ZN10MapManager18func_ov00_0208412cEv +.extern _ZN10MapManager18func_ov00_0208413cEi +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii +.extern _ZN10MapManager18func_ov00_02084d24Ecci .extern _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager18func_ov00_020c3484EP8ActorRefP5Actori .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13PlayerControl13CheckTouchingEj +.extern _ZN14AdventureFlags18func_Ov00_02097810Ei +.extern _ZN14AdventureFlags18func_ov00_02097b9cEv +.extern _ZN14AdventureFlags18func_ov00_02097bacEv +.extern _ZN14AdventureFlags18func_ov00_02097bbcEv +.extern _ZN14AdventureFlags18func_ov00_02098058Ev .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc @@ -74,9 +91,12 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN9ActorTypeC1EjPFP5ActorvEPv +.extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager19GetActiveFairyLevelEi +.extern __register_global_object .extern data_02050f54 .extern data_02051f54 .extern data_02057200 @@ -84,7 +104,6 @@ .extern data_027e0c68 .extern data_027e0d0c .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -149,13 +168,10 @@ .extern func_0202bbbc .extern func_0202e310 .extern func_0202e58c -.extern _ZN9ActorTypeC1EjPFP5ActorvEPv -.extern _ZN9ActorTypeD1Ev .extern func_0203eba8 .extern func_0203ebc8 .extern func_0204f614 .extern func_0204f754 -.extern __register_global_object .extern func_ov00_02079e68 .extern func_ov00_0207a188 .extern func_ov00_0207a1c8 @@ -163,18 +179,6 @@ .extern func_ov00_0207c1b0 .extern func_ov00_0207c2e8 .extern func_ov00_02081f4c -.extern _ZN10MapManager18func_ov00_02082680Eii -.extern _ZN10MapManager18func_ov00_020826a0Eiii -.extern _ZN10MapManager18Get_MapData_Unk_d0Ev -.extern _ZN10MapManager18Get_MapData_Unk_d8Ev -.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p -.extern _ZN10MapManager18func_ov00_02083908EcPi -.extern _ZN10MapManager16MapData_vfunc_68Ev -.extern _ZN10MapManager18func_ov00_0208412cEv -.extern _ZN10MapManager18func_ov00_0208413cEi -.extern _ZN10MapManager18func_ov00_02084b38Eiii -.extern _ZN10MapManager18func_ov00_02084be0Eii -.extern _ZN10MapManager18func_ov00_02084d24Ecci .extern func_ov00_020876bc .extern func_ov00_02088158 .extern func_ov00_0208b180 @@ -223,11 +227,6 @@ .extern func_ov00_02093a5c .extern func_ov00_02093af0 .extern func_ov00_02094824 -.extern _ZN14AdventureFlags18func_Ov00_02097810Ei -.extern _ZN14AdventureFlags18func_ov00_02097b9cEv -.extern _ZN14AdventureFlags18func_ov00_02097bacEv -.extern _ZN14AdventureFlags18func_ov00_02097bbcEv -.extern _ZN14AdventureFlags18func_ov00_02098058Ev .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 .extern func_ov00_020a61ac @@ -425,4 +424,5 @@ .extern func_ov17_0216a734 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern strncpy diff --git a/asm/ov29.inc b/asm/ov29.inc index 034dcacf..c2e7da92 100644 --- a/asm/ov29.inc +++ b/asm/ov29.inc @@ -90,7 +90,6 @@ .extern data_027e0d38 .extern data_027e0db0 .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -391,4 +390,5 @@ .extern func_ov38_02185720 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern strcpy diff --git a/asm/ov37.inc b/asm/ov37.inc index f4f14ea5..ea051adb 100644 --- a/asm/ov37.inc +++ b/asm/ov37.inc @@ -79,7 +79,6 @@ .extern data_027e0c54 .extern data_027e0d0c .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f90 @@ -276,4 +275,5 @@ .extern func_ov17_021687f0 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern strncpy diff --git a/asm/ov46.inc b/asm/ov46.inc index 1b7585b9..3a9b4658 100644 --- a/asm/ov46.inc +++ b/asm/ov46.inc @@ -1,5 +1,8 @@ #pragma once .extern Approach_thunk +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i .extern _ZN11ItemManager10GiveRupeesEjj .extern _ZN11ItemManager16SetTreasureCountEjc .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j @@ -55,6 +58,8 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN9ActorTypeC1EjPFP5ActorvEPv +.extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager16GetTreasureCountEj @@ -69,7 +74,6 @@ .extern data_027e0d38 .extern data_027e0dbc .extern data_027e0e58 -.extern gMapManager .extern data_027e0f6c .extern data_027e0f94 .extern data_027e0fc8 @@ -116,16 +120,11 @@ .extern func_02036ce4 .extern func_02036f68 .extern func_02037628 -.extern _ZN9ActorTypeC1EjPFP5ActorvEPv -.extern _ZN9ActorTypeD1Ev .extern func_ov00_02079e68 .extern func_ov00_0207a1c8 .extern func_ov00_0207ba90 .extern func_ov00_0207c1b0 .extern func_ov00_0207c1f8 -.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p -.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i -.extern _ZN10MapManager16MapData_vfunc_78Ev .extern func_ov00_02093a5c .extern func_ov00_02093af0 .extern func_ov00_02094824 @@ -232,3 +231,4 @@ .extern func_ov34_0217bf5c .extern gAdventureFlags .extern gItemManager +.extern gMapManager diff --git a/include/Player/TouchControl.hpp b/include/Player/TouchControl.hpp index 804078c9..b5c79750 100644 --- a/include/Player/TouchControl.hpp +++ b/include/Player/TouchControl.hpp @@ -42,4 +42,5 @@ public: bool func_ov00_0207aeac(); void UpdateConditionally(TouchState *state, u16 speed); void func_ov00_0207af38(u16 speed, bool param2); + ~TouchControl(); }; diff --git a/src/00_Core/Player/TouchControl.cpp b/src/00_Core/Player/TouchControl.cpp index 6eba289c..df8bbfe0 100644 --- a/src/00_Core/Player/TouchControl.cpp +++ b/src/00_Core/Player/TouchControl.cpp @@ -10,5 +10,6 @@ void TouchControl::Update(TouchState *state, u16 speed) {} bool TouchControl::func_ov00_0207aeac() {} void TouchControl::UpdateConditionally(TouchState *state, u16 speed) {} void TouchControl::func_ov00_0207af38(u16 speed, bool param2) {} +TouchControl::~TouchControl() {} #endif diff --git a/tools/lcf.py b/tools/lcf.py index 62eaaea2..cc574903 100644 --- a/tools/lcf.py +++ b/tools/lcf.py @@ -37,7 +37,12 @@ ov00 = Overlay(name='ov00', after='ARM9', objects=[ 'src/00_Core/Player/TouchControl.cpp', 'asm/ov00/Player/TouchControl.s', - 'asm/ov00/ov00_0207af9c.s', + 'asm/ov00/ov00_0207afa0.s', + + 'asm/ov00/Map/Course.s', + 'src/00_Core/Map/Course.cpp', + + 'asm/ov00/ov00_0207da38.s', 'asm/ov00/Map/MapManager.s', 'src/00_Core/Map/MapManager.cpp', From c621c917c11faec9665cd5806dd529780d5e8593 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 23 Apr 2024 00:34:24 +0200 Subject: [PATCH 20/76] Add `MapManager` member variables --- include/Map/MapManager.hpp | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp index e246cd34..2f3311e4 100644 --- a/include/Map/MapManager.hpp +++ b/include/Map/MapManager.hpp @@ -5,6 +5,7 @@ #include "lib/math.h" +#include "Map/Course.hpp" #include "Physics/AABB.hpp" #include "System/SysNew.hpp" @@ -24,16 +25,28 @@ struct MapManager_Unk2 { ~MapManager_Unk2(); }; -class MapDataBase : public SysObject { +class MapBase : public SysObject { public: - /* 00 */ virtual ~MapDataBase(); + /* 00 */ virtual ~MapBase(); - MapDataBase(); - MapDataBase(u32 param1, u32 param2); + MapBase(); + MapBase(u32 param1, u32 param2); }; class MapManager : public SysObject { public: + /* 00 */ Course *mCourse; + /* 04 */ MapBase *mMap; + /* 08 */ unk8 mUnk_08; + /* 09 */ unk8 mUnk_09; + /* 0a */ unk8 mUnk_0a; + /* 0b */ unk8 mUnk_0b; + /* 0c */ unk8 mUnk_0c; + /* 0d */ unk8 mUnk_0d; + /* 0e */ unk8 mUnk_0e; + /* 0f */ unk8 mUnk_0f; + /* 10 */ + void func_ov00_020820ec(unk32 *param_2); void func_ov00_020820fc(s32 param_2, unk32 param_3, unk32 param_4); unk8 func_ov00_0208210c(unk32 param_2, unk32 param_3); From a840f8e44624477bfc204d936a228b94c875f69d Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 23 Apr 2024 18:45:21 +0200 Subject: [PATCH 21/76] Update `Course` member variables --- include/Map/Course.hpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/include/Map/Course.hpp b/include/Map/Course.hpp index 847296ef..3b51529b 100644 --- a/include/Map/Course.hpp +++ b/include/Map/Course.hpp @@ -31,7 +31,7 @@ class Course : public SysObject { /* 01d */ unk8 mUnk_01d; /* 01e */ unk8 mUnk_01e; /* 01f */ unk8 mUnk_01f; - /* 020 */ unk8 mUnk_020[0x64]; + /* 020 */ unk8 mUnk_020[10][10]; /* 084 */ s8 mUnk_084; /* 084 */ s8 mUnk_085; /* 084 */ s8 mUnk_086; @@ -51,8 +51,7 @@ class Course : public SysObject { /* 0c0 */ unk32 mUnk_0c0; /* 0c4 */ unk32 mUnk_0c4; /* 0c8 */ void *mUnk_0c8; - /* 0cc */ unk32 mUnk_0cc; - /* 0d0 */ unk8 mUnk_0d0[0x18c]; + /* 0cc */ unk32 mUnk_0cc[100]; /* 25c */ bool mUnk_25c; /* 25d */ bool mBlueWarpOpen; /* 25e */ unk8 mUnk_25e; From 83f4080843c82b0fb7f8fb0b4326c1af1286bcaf Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 23 Apr 2024 21:51:04 +0200 Subject: [PATCH 22/76] Add `std::vector` --- libs/cpp/include/vector | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 libs/cpp/include/vector diff --git a/libs/cpp/include/vector b/libs/cpp/include/vector new file mode 100644 index 00000000..e775aba0 --- /dev/null +++ b/libs/cpp/include/vector @@ -0,0 +1,11 @@ +#pragma once + +namespace std { + template + class vector { + public: + T *elements; + int size; + int capacity; + }; +} From 62e3dc0834256cc233c5004b7f901505a5140ea6 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 23 Apr 2024 21:51:13 +0200 Subject: [PATCH 23/76] Add `MapBase` and some components --- include/Map/Entrance.hpp | 17 ++++++ include/Map/MapBase.hpp | 97 ++++++++++++++++++++++++++++++++ include/Map/TriggerAABB.hpp | 13 +++++ include/Map/TriggerAABB_Unk1.hpp | 20 +++++++ include/Map/TriggerAABB_Unk2.hpp | 13 +++++ include/Map/TriggerBase.hpp | 17 ++++++ include/Map/TriggerSphere.hpp | 14 +++++ 7 files changed, 191 insertions(+) create mode 100644 include/Map/Entrance.hpp create mode 100644 include/Map/MapBase.hpp create mode 100644 include/Map/TriggerAABB.hpp create mode 100644 include/Map/TriggerAABB_Unk1.hpp create mode 100644 include/Map/TriggerAABB_Unk2.hpp create mode 100644 include/Map/TriggerBase.hpp create mode 100644 include/Map/TriggerSphere.hpp diff --git a/include/Map/Entrance.hpp b/include/Map/Entrance.hpp new file mode 100644 index 00000000..318b5d2c --- /dev/null +++ b/include/Map/Entrance.hpp @@ -0,0 +1,17 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "lib/math.h" + +#include "System/SysNew.hpp" + +class Entrance : public SysObject { + /* 00 */ Vec3p mPos; + /* 0c */ unk16 mAngle; + /* 0e */ unk8 mUnk_0e; + /* 0f */ unk8 mUnk_0f; + /* 10 */ s32 mUnk_10; + /* 14 */ +}; diff --git a/include/Map/MapBase.hpp b/include/Map/MapBase.hpp new file mode 100644 index 00000000..07e58a32 --- /dev/null +++ b/include/Map/MapBase.hpp @@ -0,0 +1,97 @@ +#pragma once + +#include + +#include "global.h" +#include "types.h" + +#include "lib/math.h" + +#include "Map/Entrance.hpp" +#include "Map/TriggerBase.hpp" +#include "System/SysNew.hpp" + +struct MapBase_Unk_180 { + /* 0 */ unk32 mUnk_0; + /* 4 */ +}; + +class MapBase : public SysObject { +public: + /* 000 (vtable) */ + /* 004 */ unk8 mUnk_004; + /* 005 */ unk8 mUnk_005; + /* 006 */ unk8 mUnk_006; + /* 007 */ unk8 mUnk_007; + /* 008 */ unk8 mUnk_008; + /* 009 */ unk8 mUnk_009; + /* 00a */ unk8 mUnk_00a; + /* 00b */ unk8 mUnk_00b; + /* 00c */ unk8 mUnk_00c; + /* 00d */ unk8 mUnk_00d; + /* 00e */ unk8 mUnk_00e; + /* 00f */ unk8 mUnk_00f; + /* 010 */ unk8 mUnk_010; + /* 011 */ unk8 mUnk_011; + /* 012 */ unk8 mUnk_012; + /* 013 */ unk8 mUnk_013; + /* 014 */ unk8 mUnk_014; + /* 015 */ unk8 mUnk_015; + /* 016 */ unk8 mUnk_016; + /* 017 */ unk8 mUnk_017; + /* 017 */ unk8 mUnk_017; + /* 018 */ unk8 mUnk_018; + /* 019 */ unk8 mUnk_019; + /* 01a */ unk8 mUnk_01a; + /* 01b */ unk8 mUnk_01b; + /* 01c */ unk8 mUnk_01c; + /* 01d */ unk8 mUnk_01d; + /* 01e */ unk8 mUnk_01e; + /* 01f */ unk8 mUnk_01f; + /* 020 */ unk32 mUnk_020; + /* 024 */ unk32 mUnk_024; + /* 028 */ s16 mUnk_028; + /* 02a */ s16 mUnk_02a; + /* 02c */ unk16 mUnk_02c; + /* 02e */ unk16 mUnk_02e; + /* 030 */ s16 mUnk_030; + /* 032 */ unk8 mUnk_032[2]; + /* 034 */ unk32 mUnk_034; + /* 038 */ unk32 mUnk_038; + /* 03c */ unk32 mUnk_03c; + /* 040 */ unk32 mUnk_040; + /* 044 */ unk32 mUnk_044; + /* 048 */ u32 mUnk_048; + /* 04c */ unk32 mUnk_04c; + /* 050 */ unk8 mUnk_050[0x80]; + /* 0d0 */ Vec3p mUnk_0d0; + /* 0dc */ Vec3p mUnk_0dc; + /* 0e8 */ Vec3p mUnk_0e8; + /* 0f4 */ u32 mUnk_0f4; + /* 0f8 */ unk32 mUnk_0f8; + /* 0fc */ u32 mUnk_0fc; + /* 100 */ std::vector mEntrances; + /* 10c */ std::vector mTriggers; + /* 118 */ std::vector mUnk_118; + /* 124 */ std::vector mUnk_124; + /* 130 */ std::vector mUnk_130; + /* 13c */ unk32 mUnk_13c; + /* 140 */ unk32 mUnk_140; + /* 144 */ void *mUnk_144; + /* 148 */ s32 mUnk_148; + /* 14c */ s32 mUnk_14c; + /* 150 */ unk32 mUnk_150; + /* 154 */ unk32 mUnk_154; + /* 158 */ unk8 mUnk_158[8]; + /* 160 */ unk32 mUnk_160; + /* 164 */ unk8 mUnk_164[0x1c]; + /* 180 */ MapBase_Unk_180 mUnk_180[2]; + /* 188 */ unk8 mUnk_188[0x14]; + /* 19c */ unk32 mUnk_19c; + /* 1a0 */ unk8 mUnk_1a0[0xc]; + /* 1ac */ s16 mUnk_1ac; + /* 1ae */ unk8 mUnk_1ae[2]; + /* 1b0 */ + + +}; diff --git a/include/Map/TriggerAABB.hpp b/include/Map/TriggerAABB.hpp new file mode 100644 index 00000000..19ac0f55 --- /dev/null +++ b/include/Map/TriggerAABB.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "Physics/AABB.hpp" +#include "Map/TriggerBase.hpp" + +class TriggerAABB : public TriggerBase { + /* 00 (base) */ + /* 14 */ AABB mAABB; + /* 2c */ +}; diff --git a/include/Map/TriggerAABB_Unk1.hpp b/include/Map/TriggerAABB_Unk1.hpp new file mode 100644 index 00000000..55edbfca --- /dev/null +++ b/include/Map/TriggerAABB_Unk1.hpp @@ -0,0 +1,20 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "Map/TriggerAABB.hpp" + +class TriggerAABB_Unk1 : public TriggerAABB { + /* 00 (base) */ + /* 2c */ unk8 mUnk_2c; + /* 2d */ unk8 mUnk_2d[3]; + /* 30 */ void *mUnk_30; + /* 34 */ unk8 mUnk_34; + /* 35 */ unk8 mUnk_35; + /* 36 */ unk8 mUnk_36[2]; + /* 38 */ unk32 mUnk_38; + /* 3c */ unk32 mUnk_3c; + /* 40 */ unk32 mUnk_40; + /* 44 */ +}; diff --git a/include/Map/TriggerAABB_Unk2.hpp b/include/Map/TriggerAABB_Unk2.hpp new file mode 100644 index 00000000..c87c34ba --- /dev/null +++ b/include/Map/TriggerAABB_Unk2.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "Map/TriggerAABB.hpp" + +class TriggerAABB_Unk2 : public TriggerAABB { + /* 00 (base) */ + /* 2c */ unk32 mUnk_2c; + /* 30 */ unk8 mUnk_30[0x2c][4]; // non-documented class which inherits from base class + /* e0 */ +}; diff --git a/include/Map/TriggerBase.hpp b/include/Map/TriggerBase.hpp new file mode 100644 index 00000000..2a1eb090 --- /dev/null +++ b/include/Map/TriggerBase.hpp @@ -0,0 +1,17 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "System/SysNew.hpp" + +class TriggerBase : public SysObject { + /* 00 (vtable) */ + /* 04 */ unk8 mUnk_04; + /* 05 */ u8 mType; + /* 06 */ unk8 mUnk_06[2]; + /* 08 */ u32 mUnk_08; + /* 0c */ u32 mUnk_0c; + /* 10 */ u32 mUnk_10; + /* 14 */ +}; diff --git a/include/Map/TriggerSphere.hpp b/include/Map/TriggerSphere.hpp new file mode 100644 index 00000000..e6bb6b39 --- /dev/null +++ b/include/Map/TriggerSphere.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "Physics/Sphere.hpp" +#include "Map/TriggerBase.hpp" + +class TriggerSphere : public TriggerBase { + /* 00 (base) */ + /* 14 */ Sphere mSphere; + /* 24 */ s32 mHeight; + /* 28 */ +}; From d40d7abbb9ec6ddc201e54096507e3083c070cba Mon Sep 17 00:00:00 2001 From: Aetias Date: Fri, 26 Apr 2024 16:47:04 +0200 Subject: [PATCH 24/76] Add map components `Exit` and `CameraViewpoint` --- include/Map/CameraViewpoint.hpp | 19 +++++++++++++++++++ include/Map/Exit.hpp | 26 ++++++++++++++++++++++++++ include/Map/MapBase.hpp | 16 +++++++++++----- 3 files changed, 56 insertions(+), 5 deletions(-) create mode 100644 include/Map/CameraViewpoint.hpp create mode 100644 include/Map/Exit.hpp diff --git a/include/Map/CameraViewpoint.hpp b/include/Map/CameraViewpoint.hpp new file mode 100644 index 00000000..0fde9bdc --- /dev/null +++ b/include/Map/CameraViewpoint.hpp @@ -0,0 +1,19 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "lib/math.h" + +#include "System/SysNew.hpp" + +class CameraViewpoint : public SysObject { + /* 00 */ unk32 mUnk_00; + /* 04 */ unk8 mUnk_04 + /* 05 */ unk8 mUnk_05[3]; + /* 08 */ Vec3p mPos; + /* 14 */ unk16 mUnk_14; + /* 16 */ unk16 mUnk_16; + /* 18 */ unk16 mUnk_18[2]; + /* 1c */ +}; diff --git a/include/Map/Exit.hpp b/include/Map/Exit.hpp new file mode 100644 index 00000000..be00da58 --- /dev/null +++ b/include/Map/Exit.hpp @@ -0,0 +1,26 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "System/SysNew.hpp" + +struct ExitDest { + /* 0 */ unk8 mEntrance; + /* 1 */ unk8 mMap; +}; + +class Exit : public SysObject { + /* 00 */ unk32 mDestCourse; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ ExitDest mDest; + /* 12 */ unk8 mUnk_12; + /* 13 */ unk8 mUnk_13; + /* 14 */ unk8 mUnk_14; + /* 15 */ unk8 mUnk_15; + /* 16 */ unk8 mUnk_16; + /* 17 */ unk8 mUnk_17; + /* 18 */ +}; diff --git a/include/Map/MapBase.hpp b/include/Map/MapBase.hpp index 07e58a32..9a9a2c37 100644 --- a/include/Map/MapBase.hpp +++ b/include/Map/MapBase.hpp @@ -9,8 +9,16 @@ #include "Map/Entrance.hpp" #include "Map/TriggerBase.hpp" +#include "Map/Exit.hpp" +#include "Map/CameraViewpoint.hpp" #include "System/SysNew.hpp" +#define MAX_ENTRANCES 0x40 +#define MAX_TRIGGERS 0x40 +#define MAX_EXITS 0x40 +#define MAX_VIEWPOINTS 8 +#define MAX_MAP_UNK_130 0x20 + struct MapBase_Unk_180 { /* 0 */ unk32 mUnk_0; /* 4 */ @@ -67,13 +75,11 @@ public: /* 0d0 */ Vec3p mUnk_0d0; /* 0dc */ Vec3p mUnk_0dc; /* 0e8 */ Vec3p mUnk_0e8; - /* 0f4 */ u32 mUnk_0f4; - /* 0f8 */ unk32 mUnk_0f8; - /* 0fc */ u32 mUnk_0fc; + /* 0f4 */ Vec3p mUnk_0f4; /* 100 */ std::vector mEntrances; /* 10c */ std::vector mTriggers; - /* 118 */ std::vector mUnk_118; - /* 124 */ std::vector mUnk_124; + /* 118 */ std::vector mExits; + /* 124 */ std::vector mViewpoints; /* 130 */ std::vector mUnk_130; /* 13c */ unk32 mUnk_13c; /* 140 */ unk32 mUnk_140; From f1987ecefc609a4185ce4d9c1b208897a6254571 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 27 Apr 2024 12:24:17 +0200 Subject: [PATCH 25/76] Add `elfkill` --- Makefile | 2 + include/global.h | 6 + tools/.gitignore | 1 + tools/elf/.gitignore | 2 + tools/elf/Makefile | 22 ++++ tools/elf/elfkill.cpp | 284 ++++++++++++++++++++++++++++++++++++++++++ tools/setup.py | 12 ++ 7 files changed, 329 insertions(+) create mode 100644 tools/elf/.gitignore create mode 100644 tools/elf/Makefile create mode 100644 tools/elf/elfkill.cpp diff --git a/Makefile b/Makefile index 6b9973e7..ac55bb2f 100644 --- a/Makefile +++ b/Makefile @@ -85,6 +85,7 @@ all: tools rom tools: cd $(TOOLS_DIR)/compress && $(MAKE) cd $(TOOLS_DIR)/rom && $(MAKE) + cd $(TOOLS_DIR)/elf && $(MAKE) .PHONY: rom rom: arm9 @@ -126,6 +127,7 @@ $(ASM_OBJS): $(TARGET_DIR)/%.o: % $(CXX_OBJS): $(TARGET_DIR)/%.o: % mkdir -p $(dir $@) LM_LICENSE_FILE=$(MW_LICENSE) $(WINE) $(MW_CC) $(CC_FLAGS) $(CXX_FLAGS) $< -o $@ + $(TOOLS_DIR)/elf/elfkill -s $< -e $@ $(C_OBJS): $(TARGET_DIR)/%.o: % mkdir -p $(dir $@) diff --git a/include/global.h b/include/global.h index e3d80975..10a927aa 100644 --- a/include/global.h +++ b/include/global.h @@ -15,6 +15,9 @@ #define NONMATCH(name) asm name #endif +// KILL(name) causes a function to be excluded from the output ROM, see elfkill.cpp +#define KILL(name) + // Prevent the IDE from reporting errors that the compiler/linker won't report #ifdef __INTELLISENSE__ #endif @@ -28,4 +31,7 @@ // Define .sbss variables by using #pragma section sbss begin|end #pragma define_section sbss ".data" ".sbss" +// Force variables to be in .data by using #pragma section force_data begin|end +#pragma define_section force_data ".data" ".data" + #endif diff --git a/tools/.gitignore b/tools/.gitignore index 04555228..a013c9f3 100644 --- a/tools/.gitignore +++ b/tools/.gitignore @@ -1,2 +1,3 @@ mwccarm/ temp/ +deps/ diff --git a/tools/elf/.gitignore b/tools/elf/.gitignore new file mode 100644 index 00000000..ea95eb29 --- /dev/null +++ b/tools/elf/.gitignore @@ -0,0 +1,2 @@ +elfkill +elfkill.exe diff --git a/tools/elf/Makefile b/tools/elf/Makefile new file mode 100644 index 00000000..16cfdfca --- /dev/null +++ b/tools/elf/Makefile @@ -0,0 +1,22 @@ +CXX := g++ +CFLAGS := -std=c++17 -g -Wall -I../include -I../deps/elfio + +ifneq ($(DEBUG),1) + CFLAGS += -O2 -DNDEBUG +endif + +ifeq ($(OS),Windows_NT) + ELFKILLFILE := elfkill.exe +else + ELFKILLFILE := elfkill +endif + +.PHONY: all clean + +all: $(ELFKILLFILE) + +clean: + rm -f $(ELFKILLFILE) + +$(ELFKILLFILE): elfkill.cpp + $(CXX) $(CFLAGS) -o $(ELFKILLFILE) elfkill.cpp diff --git a/tools/elf/elfkill.cpp b/tools/elf/elfkill.cpp new file mode 100644 index 00000000..4bae9aed --- /dev/null +++ b/tools/elf/elfkill.cpp @@ -0,0 +1,284 @@ +#include // cout, cerr, endl +#include // setw +#include // vector +#include // string +#include // unordered_set +#include // strcmp, strncpy +#include // ifstream +#include // remove + +#include +#include + +#define VERSION "1.0" + +using namespace ELFIO; + +struct SymbolSection { + Elf_Half index; + section *elfSection; + std::string name; + + bool Get(const elfio &elf, Elf_Half index) { + this->index = index; + + elfSection = elf.sections[index]; + if (elfSection == nullptr) { + std::cerr << "Failed to get section " << index << std::endl; + return false; + } + + name = elfSection->get_name(); + return true; + } + + bool SetName(const elfio &elf, const std::string &name) { + elfSection->set_name(name); + this->name = name; + + Elf_Word nameIndex = elfSection->get_name_string_offset(); + + section *shstrtab = elf.sections[".shstrtab"]; + if (shstrtab == nullptr) { + std::cerr << "Failed to get string section" << std::endl; + return false; + } + + string_section_accessor strAccessor(shstrtab); + const char *tabStr = strAccessor.get_string(nameIndex); + size_t len = strlen(tabStr); + + if (len < name.length()) { + std::cerr << "Cannot rename section " << tabStr << " because it is shorter than " << name << std::endl; + return false; + } + + // HACK: Strings shorter than `name` can't be renamed due to lack of space + strncpy((char*) tabStr, name.c_str(), len); + return true; + } +}; + +struct Symbol { + Elf_Xword index; + std::string name; + Elf64_Addr value; + Elf_Xword size; + unsigned char bind; + unsigned char type; + SymbolSection section; + unsigned char other; + + bool Get(const elfio &elf, const symbol_section_accessor &accessor, Elf_Xword index) { + this->index = index; + + if (!accessor.get_symbol(index, name, value, size, bind, type, section.index, other)) { + std::cerr << "Failed to get symbol at index " << index << std::endl; + return false; + } + + if (!section.Get(elf, section.index)) { + std::cerr << "...for symbol '" << name << "'" << std::endl; + return false; + } + + return true; + } + + static void PrintHeader() { + std::cout + << std::setw(75) << "name" + << std::setw(6) << "value" + << std::setw(6) << "size" + << std::setw(5) << "bind" + << std::setw(5) << "type" + << std::setw(8) << "section" + << std::setw(12) << "" + << std::setw(6) << "other" + << std::endl; + } + + void Print() const { + std::cout + << std::setw(75) << name + << std::setw(6) << value + << std::setw(6) << size + << std::setw(5) << (int) bind + << std::setw(5) << (int) type + << std::setw(5) << section.index << ' ' + << std::setw(14) << std::left << section.name << std::right + << std::setw(6) << (int) other + << std::endl; + } +}; + +bool GetFunctionSymbols(const elfio &elf, std::vector &outSymbols) { + section *symtab = elf.sections[".symtab"]; + if (symtab == nullptr) { + std::cerr << "No section called .symtab" << std::endl; + return false; + } + + symbol_section_accessor symAccessor(elf, symtab); + std::vector symbols; + for (Elf_Xword i = 0; i < symAccessor.get_symbols_num(); ++i) { + Symbol symbol; + if (!symbol.Get(elf, symAccessor, i)) return false; + + if (symbol.name.find("@", 0) == 0) continue; + if (symbol.name.find("$", 0) == 0) continue; + if (symbol.name.find(".", 0) == 0) continue; + if (symbol.section.name != ".text") continue; + + symbols.push_back(symbol); + } + + outSymbols = symbols; + return true; +} + +bool FindSymbolsToKill(const char *srcFile, std::unordered_set &outSymbolsToKill) { + std::ifstream file(srcFile); + + const std::string killMacro = "KILL("; + std::string line; + size_t row = 0; + std::unordered_set symbolsToKill; + while (std::getline(file, line)) { + row += 1; + size_t endOffset = 0; + while (true) { + size_t macroOffset = line.find(killMacro, endOffset); + if (macroOffset == std::string::npos) break; + + size_t symbolOffset = macroOffset + killMacro.length(); + symbolOffset = line.find_first_not_of(" \t", symbolOffset); + if (symbolOffset == std::string::npos) { + std::cerr + << srcFile << ':' << row << ':' << macroOffset + 1 + << ": Expected non-whitespace character after " << killMacro << std::endl; + return false; + } + + endOffset = line.find_first_of(" \t)", symbolOffset); + if (endOffset == std::string::npos) { + std::cerr + << srcFile << ':' << row << ':' << symbolOffset + 1 + << ": Expected whitespace character or ')' after kill symbol" << std::endl; + return false; + } + + std::string symbolToKill = line.substr(symbolOffset, endOffset - symbolOffset); + symbolsToKill.insert(symbolToKill); + } + } + + file.close(); + outSymbolsToKill = symbolsToKill; + return true; +} + +bool KillFunctionSymbols( + const elfio &elf, + std::vector &symbols, + const std::unordered_set &symbolsToKill +) { + for (Symbol &symbol : symbols) { + auto it = symbolsToKill.find(symbol.name); + if (it == symbolsToKill.end()) continue; + + if (!symbol.section.SetName(elf, ".dead")) return false; + } + + return true; +} + +bool DeleteElf(const char *elfFile) { + // Delete ELF file so the Makefile doesn't skip elfkill on next build + if (std::remove(elfFile) == 0) return true; + std::cerr << "Failed to delete ELF '" << elfFile << "' upon previous error" << std::endl; + return false; +} + +void PrintUsage(const char *program) { + std::cout + << "elfkill " VERSION "\n" + << "\n" + << "Usage: " << program << " -s SRCFILE -e ELFFILE\n" + << " -s SRCFILE\tSource C/C++ file\n" + << " -e ELFFILE\tELF file corresponding to SRCFILE\n" + << std::endl; +} + +int main(int argc, const char **argv) { + const char *program = argv[0]; + if (argc == 1) { + PrintUsage(program); + return 0; + } + const char *srcFile = nullptr; + const char *elfFile = nullptr; + for (int i = 1; i < argc; ++i) { + if (strcmp(argv[i], "-s") == 0) { + if (++i >= argc) { + std::cerr << "Expected filename after -s" << std::endl; + return 1; + } + srcFile = argv[i]; + } else if (strcmp(argv[i], "-e") == 0) { + if (++i >= argc) { + std::cerr << "Expected filename after -e" << std::endl; + return 1; + } + elfFile = argv[i]; + } else { + std::cerr << "Unknown option '" << argv[i] << "'" << std::endl; + return 1; + } + } + if (srcFile == nullptr) { + PrintUsage(program); + std::cerr << "Please provide a source file, see usage above" << std::endl; + return 1; + } + if (elfFile == nullptr) { + PrintUsage(program); + std::cerr << "Please provide an ELF file, see usage above" << std::endl; + return 1; + } + + elfio elf; + if (!elf.load(elfFile)) { + std::cerr << "Failed to load ELF file '" << elfFile << "'" << std::endl; + return 1; + } + + std::vector symbols; + if (!GetFunctionSymbols(elf, symbols)) { + DeleteElf(elfFile); + return 1; + } + + // Symbol::PrintHeader(); + // for (const Symbol &symbol : symbols) { + // symbol.Print(); + // } + // return 0; + + std::unordered_set symbolsToKill; + if (!FindSymbolsToKill(srcFile, symbolsToKill)) { + DeleteElf(elfFile); + return 1; + } + if (!KillFunctionSymbols(elf, symbols, symbolsToKill)) { + DeleteElf(elfFile); + return 1; + } + + // Symbol::PrintHeader(); + // for (const Symbol &symbol : symbols) { + // symbol.Print(); + // } + + elf.save(elfFile); +} diff --git a/tools/setup.py b/tools/setup.py index d3f420bf..e4433ca8 100644 --- a/tools/setup.py +++ b/tools/setup.py @@ -4,8 +4,11 @@ import io from pathlib import Path import subprocess import sys +import shutil tools_path = Path(__file__).parent +deps_path = tools_path / 'deps' +if not deps_path.exists(): deps_path.mkdir() print('\nInstalling toolchain...') response = requests.get('http://decomp.aetias.com/mwccarm.zip') @@ -14,3 +17,12 @@ zip_file.extractall(tools_path) print('\nPatching...') subprocess.run([sys.executable, 'patch_mwcc.py', 'mwccarm/2.0/sp1p5/mwasmarm.exe'], cwd=tools_path) + +print('\nInstalling ELFIO...') +response = requests.get('https://github.com/serge1/ELFIO/releases/download/Release_3.12/elfio-3.12.zip') +zip_file = zipfile.ZipFile(io.BytesIO(response.content)) +zip_file.extractall(deps_path) +elfio_path = deps_path / 'elfio-3.12' +elfio_new_path = deps_path / 'elfio' +if elfio_new_path.exists(): shutil.rmtree(elfio_new_path) +elfio_path.rename(elfio_new_path) From b4dd08c19dfe06c1fac3c21c2da6122475368cdc Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 27 Apr 2024 21:26:34 +0200 Subject: [PATCH 26/76] Add `build_system.md` --- docs/build_system.md | 268 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 268 insertions(+) create mode 100644 docs/build_system.md diff --git a/docs/build_system.md b/docs/build_system.md new file mode 100644 index 00000000..778fa2e7 --- /dev/null +++ b/docs/build_system.md @@ -0,0 +1,268 @@ +# Build system +This document describes the build system used for this decompilation project, for those interested to learn about how we build +the ROM. +- [Extracting assets](#extracting-assets) +- [Assembling code](#assembling-code) +- [Compiling code](#compiling-code) +- [Postprocessing ELF files](#postprocessing-elf-files) +- [Generating a linker command file](#generating-a-linker-command-file) +- [Linking modules](#linking-modules) +- [Compressing modules](#compressing-modules) +- [Building the ROM](#building-the-rom) + +## Extracting assets +We implemented a tool called [`extractrom`](/tools/rom/extract.c) that extracts assets from a base ROM that you +provide yourself. It extracts the following data: +- ARM7 program + - Code for the DS coprocessor CPU, aka ARM7 + - The program is likely similar to other retail games, so it is not decompiled in this project +- Banner + - Logo and text that is displayed on the DS home menu +- Assets + - Models, textures, maps, etc. +- Overlay data + - We need the file ID for each overlay, since there is currently no other way to determine the file IDs correctly + +## Assembling code +Files in the `/asm/` directory with the `.s` extension is assembly code. These files are grouped into modules, which consists +of overlays, a main module, an Instruction TCM (ITCM) module and a Data TCM (DTCM) module. + +> [!INFO] +> For interested readers: +> All modules are loaded into RAM. This is different from the DS predecessor, the Game Boy Advance (GBA), in which all code was +> simply on the ROM at all times. As a result, the GBA's RAM only consisted of variable data. +> +> For the DS, however, code and data is competing for space on the same RAM. For reference, the original DS has 4 MB of general +> purpose RAM. Phantom Hourglass consists of about 4.2 MB of code. Not only would there be no space for variables, the RAM +> wouldn't even contain all code at once! +> +> This is why overlays have to exist. They are code modules which are loaded at runtime, and some of them share the same +> address space with each other. Such overlays cannot be loaded at the same time, for obvious reasons. +> +> Note that the DS does have other memory components used by ARM9, namely the ITCM and DTCM. TCM stands for tightly coupled +> memory and has predictable access time unlike typical RAM. However, they are fully static, which means no heap or stack will +> live there. So, they are mostly reserved for hot code and data. + +The assembly files themselves consist of multiple sections: +- `.text`: Functions +- `.init`: Static initializers +- `.ctor`: List of static initializers +- `.rodata`: Global constants +- `.data`: Global variables +- `.bss`/`.sbss`: Global uninitialized variables + +When the code is linked, all code of the same section will be written adjacent to each other. More on this in [Linking modules](#linking-modules) below. + +## Compiling code +This game was written in C++, so most of the code we decompile will be in this programming language. In C++, we typically don't +have to express which section we want the code to be written to. Instead, the compiler determines the section automatically. +Here are a few examples of how to + +- `.text` + - Functions and member functions (aka methods) + - Example: +```cpp +void GlobalFunction() {} +void MyClass::MemberFunction() {} +``` +- `.init` + - Static initializers, i.e. global variables that are initialized by a constructor + - To our knowledge, there is at most one static initializer per source file. This means that multiple variables can be + initialized in one static initializer, if they are in the same source file. + - See the example below. Since `foo` is initialized by a constructor and not as plain data, this constructor has to be + called at some point before `foo` can be used. In the case of an overlay, this happens as soon as the overlay has been + loaded. +```cpp +class Foo { + int myValue; + Foo(int value): myValue(value) {} +}; + +// This will be a static initializer +Foo foo = Foo(42); +``` +- `.ctor` + - List of static initializers + - Generated automatically as soon as you make a static initializer +- `.rodata` + - Global or static constants + - Example: +```cpp +// This will be .rodata +const unsigned int fibonacciLimit = 8; + +int BadFibonacci(unsigned int n) { + assert(n < fibonacciLimit); + + // This will also be .rodata + static const int fibonacciNumbers[] = { + 1, 1, 2, 3, 5, 8, 13, 21 + }; + return fibonacciNumbers[n]; +} +``` +- `.data` + - Global or static variables + - Example: +```cpp +// .data variables must have an initial value other than 0 +int maxPlayerHealth = 20; + +void DamagePlayer(int damage) { + static int playerHealth = maxPlayerHealth; + playerHealth -= damage; +} +``` +- `.bss` + - Global or static uninitialized variables + - Example: +```cpp +// .bss variables always have an initial value of 0 +int bssInt = 0; +bool bssBool = false; + +// ...but you don't have to explicitly assign 0 +short bssShort; +``` +- `.sbss`: + - "Small" global or static uninitialized variables + - Not part of the ARM standard, but appears to exist in the game in some way + - Example: +```cpp +#pragma section sbss begin +int thisWillBeSbss; +#pragma section sbss end +``` + +## Postprocessing ELF files +The result of compiling and assembling is an ELF (Executable and Linkable Format) file. We do some postprocessing on these +files to ensure that we can get a matching ROM: +- Killing implicit functions + - Writing a constructor/destructor often generates multiple functions used for different purposes. The game does not always + use each type of ctor/dtor, so some functions must be killed before building the ROM. This is done by writing + `KILL(FunctionToKill)` in any C/C++ file, which is postprocessed by [`elfkill`](/tools/elf/elfkill.cpp) which puts such + functions in a section called `.dead`, instead of `.text`. + +## Generating a linker command file + +The linker command file (LCF), also known as linker script, tells the linker in which order it should link the compiled or +assembled files. It is generated by [`lcf.py`](/tools/lcf.py), which is also the file where we define our source files. + +In `lcf.py` we can see how the source/assembly files are grouped into modules. These groups are then used to generate the LCF. +You can see the generated LCF in `/build/arm9_linker_script.lcf` after you've built the ROM. + +The LCF also decides in what order the sections are linked in each module. In the main module, the order is: + + `.text` | `.init` | `.rodata` | `.ctor` | `data` | `.bss` | `.sbss` +---------|---------|-----------|---------|--------|--------|--------- +
+ +For overlays, `.init` comes after `.rodata`: + + `.text` | `.rodata` | `.init` | `.ctor` | `data` | `.bss` | `.sbss` +---------|-----------|---------|---------|--------|--------|--------- +
+ +The ITCM module contains mostly `.text`, but has an unused `.bss` section at the end to pad out the ITCM to exactly 32 kB, +which is exactly the size of the ITCM. + +The DTCM module contains only `.data` and `.bss` and is exactly 16 kB, i.e. the size of the DTCM. + +The LCF also decides the file names where each module is written to. Overlays have one file each (`ov00.bin`, `ov01.bin`, etc), +while the main module, ITCM and DTCM are linked to the same file (`arm9.bin`). + +Lastly, the LCF creates extra files that do not come from code: +- `arm9_footer.bin` + - To be appended to the ROM after `arm9.bin`. + - This file contains an offset to some build information in the main module. This information then points to the ITCM and + DTCM modules inside `arm9.bin`. Technically, the TCMs are placed in the main module's `.bss` section, and will be moved + over to the actual ITCM and DTCM when the game boots up. +- `arm9_metadata.bin` + - Contains some data which will be inserted into the main module build information mentioned above. Some of this data is + also needed during the [ROM building step](#building-the-rom), which is why they are placed in this metadata file. +- `arm9_ovt.bin` + - ARM9 overlay table + - This is a segment in the ROM which declares the address space for each overlay. Some data is missing in this table, and + will be completed during the [ROM building step](#building-the-rom). + +## Linking modules +The LCF and list of compiled/assembled files will be passed to the linker, which generates the files mentioned in the previous +section. + +## Compressing modules +All ARM9 code is compressed, to save space on the ROM. The compression algorithm is a variant of [LZ77](https://en.wikipedia.org/wiki/LZ77_and_LZ78#LZ77) +but compressed backwards, starting from the end of the file and working its way to the start. + +In short, LZ77 works as follows. The file is read back to front, byte for byte. Anytime a new byte is read, the algorithm +searches forward through the file for any sequence of bytes that match the bytes being read. + +If such a sequence exists, and is 3 bytes or longer, the algorithm emits a **length-distance pair**. A length-distance pair +encodes this sequence as 4 bits of length, and 12 bits of distance. The length ranges between 3 and 18, and the distance can be +up to 4095 bytes ahead. + +If no such sequence exists within this 4095 byte window, the algorithm instead emits a **literal**, which is simply one +uncompressed byte. + +Length-distance pairs and literals are collectively called **tokens**. For every 8 tokens, the algorithm emits a flag byte. +In this byte, each of the 8 bits determines if an upcoming token is a literal or a length-distance pair. + +This project implements [`compress`](/tools/compress/main.c), which manages to match this algorithm, including several edge +case improvements to the compressed file. + +For instance, as you approach the start of the file, you may lose a few bytes due to lack of length-distance pairs. In that +case, it's actually better not to compress the start of the file, as it would waste both ROM space and CPU time when +decompressing. + +The code that decompresses the modules is located in the main module. This means that the first 16 kB of the main module is not +compressed. This segment is called the secure area, and includes the entrypoint function and decompression algorithm, among +others. + +## Building the ROM + +At this stage, we have obtained the following resources to put in the final ROM: +- Extracted: + - ARM7 program + - Banner + - Assets + - Overlay data (file IDs) +- Built: + - ARM9 main module (compressed), including ITCM and DTCM + - ARM9 main footer + - ARM9 metadata + - ARM9 overlay modules (compressed) + - ARM9 overlay table +- Other: + - Assets listing [`assets.txt`](/assets.txt) + - ARM7 BIOS (dumped from your own DS device) + +We implement the [`buildrom`](/tools/rom/build.c) tool which combines these files in order to build a ROM, in such a way that +it can match the original base ROM. + +The procedure is quite long, but here's a summary of the content in the ROM, listed in order of appearance: + + Section | Description +----------------------|------------- +Header | Game ID, region, offsets to other sections, CRC checksums, ARM9/ARM7 entrypoint addresses +ARM9 main module | The full contents of `arm9.lz` +ARM9 main footer | The full contents of `arm9_footer.bin` +ARM9 overlay table | The full contents of `arm9_ovt.bin`, plus file IDs from `extractrom` and overlay file sizes after compression +ARM9 overlay modules | The full contents of `ov00.lz`, `ov01.lz`, etc +ARM7 program | Taken directly from `extractrom` +File name table | Assets file hierarchy, directory/file names, file IDs for each asset file +File allocation table | Maps file ID to an offset within the ROM where the asset file is located +Assets | Taken directly from `extractrom`, prioritized by `assets.txt` + +> [!NOTE] +> For interested readers: +> The ROM file format has been documented online for a very long time, but there are some details that are necessary for +> building a matching ROM that there was no documentation for, until now: +> +> The file name table (FNT) is sorted with special priority rules: +> 1. Directories before files +> 2. Alphabetic, case-insensitive ordering +> 3. Shortest name first +> +> The order that assets are written to the ROM is sorted in a different way: +> 1. Traverse directories listed in `assets.txt` from top to bottom +> 2. ASCII ordering, i.e. case-sensitive +> 3. Shortest name first From 6ffc7aa81a6ec3588d3ce100bc414f98792d4451 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 27 Apr 2024 21:31:24 +0200 Subject: [PATCH 27/76] Warn when symbol was not killed by `elfkill` --- tools/elf/elfkill.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/tools/elf/elfkill.cpp b/tools/elf/elfkill.cpp index 4bae9aed..da4d77d1 100644 --- a/tools/elf/elfkill.cpp +++ b/tools/elf/elfkill.cpp @@ -181,16 +181,25 @@ bool FindSymbolsToKill(const char *srcFile, std::unordered_set &out bool KillFunctionSymbols( const elfio &elf, std::vector &symbols, - const std::unordered_set &symbolsToKill + std::unordered_set &symbolsToKill, + const char *srcFile ) { for (Symbol &symbol : symbols) { auto it = symbolsToKill.find(symbol.name); if (it == symbolsToKill.end()) continue; if (!symbol.section.SetName(elf, ".dead")) return false; + symbolsToKill.erase(it); } - return true; + if (symbolsToKill.empty()) return true; + + std::cerr << srcFile << ": the following functions couldn't be killed because they do not exist:\n"; + for (const std::string &symbolToKill : symbolsToKill) { + std::cerr << " " << symbolToKill << '\n'; + } + std::cerr << std::endl; + return false; } bool DeleteElf(const char *elfFile) { @@ -270,7 +279,7 @@ int main(int argc, const char **argv) { DeleteElf(elfFile); return 1; } - if (!KillFunctionSymbols(elf, symbols, symbolsToKill)) { + if (!KillFunctionSymbols(elf, symbols, symbolsToKill, srcFile)) { DeleteElf(elfFile); return 1; } From b80539a495263ff31167aaae51e6d6eae722bb27 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 27 Apr 2024 21:33:46 +0200 Subject: [PATCH 28/76] Run `elfkill` on C source files --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index ac55bb2f..004e8b16 100644 --- a/Makefile +++ b/Makefile @@ -132,6 +132,7 @@ $(CXX_OBJS): $(TARGET_DIR)/%.o: % $(C_OBJS): $(TARGET_DIR)/%.o: % mkdir -p $(dir $@) LM_LICENSE_FILE=$(MW_LICENSE) $(WINE) $(MW_CC) $(CC_FLAGS) $(C_FLAGS) $< -o $@ + $(TOOLS_DIR)/elf/elfkill -s $< -e $@ .PHONY: link link: lcf $(ASM_OBJS) $(CXX_OBJS) $(C_OBJS) From a5786ac8dc9694685955cbd23ee1c6f06dacb360 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 27 Apr 2024 21:38:18 +0200 Subject: [PATCH 29/76] Fix note in `build_system.md` --- docs/build_system.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/build_system.md b/docs/build_system.md index 778fa2e7..ee46340f 100644 --- a/docs/build_system.md +++ b/docs/build_system.md @@ -27,7 +27,7 @@ provide yourself. It extracts the following data: Files in the `/asm/` directory with the `.s` extension is assembly code. These files are grouped into modules, which consists of overlays, a main module, an Instruction TCM (ITCM) module and a Data TCM (DTCM) module. -> [!INFO] +> [!NOTE] > For interested readers: > All modules are loaded into RAM. This is different from the DS predecessor, the Game Boy Advance (GBA), in which all code was > simply on the ROM at all times. As a result, the GBA's RAM only consisted of variable data. From a1a7cde91c4f48fd9bd49d4369b45527bd3ad4c9 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 28 Apr 2024 10:40:15 +0200 Subject: [PATCH 30/76] Update `CC_FLAGS` --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 004e8b16..5c69c0ff 100644 --- a/Makefile +++ b/Makefile @@ -49,8 +49,8 @@ LCF_FILE := $(ROOT)/$(BUILD_DIR)/arm9_linker_script.lcf OBJS_FILE := $(ROOT)/$(BUILD_DIR)/arm9_objects.txt ASM_FLAGS := -proc arm5te -d $(REGION) -i asm -msgstyle gcc -CC_FLAGS := -proc arm946e -interworking -O4,p -enum int -i include -i- -i libs/c/include -i libs/cpp/include -nolink -d $(REGION) -char signed -sym on -msgstyle gcc -C_FLAGS := -lang=c +CC_FLAGS := -O4,p -enum int -char signed -proc arm946e -gccext,on -fp soft -inline on,noauto -Cpp_exceptions off -RTTI off -interworking -sym on -gccinc -i include -i libs/c/include -i libs/cpp/include -nolink -d $(REGION) -msgstyle gcc +C_FLAGS := -lang=c CXX_FLAGS := -lang=c++ LD_FLAGS := -proc arm946e -nostdlib -interworking -nodead -m Entry -map closure,unused -o main.bin -msgstyle gcc From 8d89e1878071b767db34da4831f3c57983064006 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 28 Apr 2024 10:40:34 +0200 Subject: [PATCH 31/76] Place `.cpp` ahead of corresponding `.s` files in LCF --- tools/lcf.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/lcf.py b/tools/lcf.py index 35763449..869f1cc5 100644 --- a/tools/lcf.py +++ b/tools/lcf.py @@ -13,8 +13,8 @@ def name(path: str): return path.split("/")[-1] ARM9_OBJECTS = [ 'asm/main/main_02000000.s', - 'asm/main/Actor/ActorType.s', 'src/Main/Actor/ActorType.cpp', + 'asm/main/Actor/ActorType.s', 'asm/main/main_0203e8a0.s', @@ -74,13 +74,13 @@ ov00 = Overlay(name='ov00', after='ARM9', objects=[ 'asm/ov00/ov00_020b1498.s', - 'asm/ov00/Actor/Actor.s', 'src/00_Core/Actor/Actor.cpp', + 'asm/ov00/Actor/Actor.s', 'asm/ov00/ov00_020c3348.s', - 'asm/ov00/Actor/ActorManager.s', 'src/00_Core/Actor/ActorManager.cpp', + 'asm/ov00/Actor/ActorManager.s', 'asm/ov00/ov00_020c3e54.s', ]) From a7b55a988347c64c2ac612d4ac3f738ad7473ef8 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 28 Apr 2024 10:40:46 +0200 Subject: [PATCH 32/76] Use `argparse` in `m2ctx` --- tools/m2ctx.py | 81 ++++++++++++++------------------------------------ 1 file changed, 23 insertions(+), 58 deletions(-) diff --git a/tools/m2ctx.py b/tools/m2ctx.py index 71562c0a..7bb5885a 100755 --- a/tools/m2ctx.py +++ b/tools/m2ctx.py @@ -5,6 +5,15 @@ import pyperclip import subprocess import os from pathlib import Path +import argparse + +parser = argparse.ArgumentParser(description="Generates a context for decomp.me") +parser.add_argument('file', help="Input file to preprocess") +parser.add_argument('-f', type=str, dest='out_file', required=False, help='Output context file') +parser.add_argument('-c', action=argparse.BooleanOptionalAction, dest='clipboard', required=False, help='Copy output to clipboard') +parser.add_argument('-e', type=str, dest='encoding', required=False, default="Shift-JIS", help='Input file encoding') +parser.add_argument('-v', action=argparse.BooleanOptionalAction, dest='verbose', required=False, help='Verbose error output') +args = parser.parse_args() CXX_FLAGS = [ '-nostdinc', @@ -15,63 +24,19 @@ CXX_FLAGS = [ script_dir = Path(os.path.dirname(os.path.realpath(__file__))) root_dir = script_dir / ".." -program = os.path.basename(sys.argv[0]) - def eprint(*args, **kwargs): print(*args, file=sys.stderr, **kwargs) -def print_usage(): - eprint(f"Usage: {program} INFILE [-f OUTFILE] [-c] [-e ENCODING] [-v]") - eprint(" INFILE \tInput file to preprocess") - eprint(" -f OUTFILE \tOutput context file") - eprint(" -c \tCopy output to clipboard") - eprint(" -e ENCODING\tInput file encoding (Default: Shift-JIS)") - eprint(" -v \tVerbose error output") - -if len(sys.argv) == 1: - print_usage() - exit(1) - - -in_file = None -out_file = None -clipboard = False -encoding = "Shift-JIS" -verbose = False -i = 1 -while i < len(sys.argv): - arg = sys.argv[i] - if arg == "-f": - i += 1 - if i >= len(sys.argv): - eprint("Expected output file after -f") - exit(1) - out_file = sys.argv[i] - elif arg == "-c": - clipboard = True - elif arg == "-e": - i += 1 - if i >= len(sys.argv): - eprint("Expected input file encoding after -e") - exit(1) - encoding = sys.argv[i] - elif arg == "-v": - verbose = True - elif arg.startswith("-"): - eprint(f"Unknown option '{arg}'") - elif in_file is None: - in_file = arg - else: - eprint(f"Duplicate input file '{arg}'") - exit(1) - i += 1 - - try: - ctx: str = subprocess.check_output(['gcc', '-E', '-P', '-undef', '-dD', *CXX_FLAGS, in_file], cwd=root_dir, encoding=encoding) + ctx: str = subprocess.check_output([ + 'gcc', + '-E', '-P', '-fworking-directory', '-undef', '-dD', + *CXX_FLAGS, + args.file + ], cwd=root_dir, encoding=args.encoding) except subprocess.CalledProcessError as e: - eprint(f"Failed to preprocess '{in_file}'") - if verbose: eprint(e) + eprint(f"Failed to preprocess '{args.file}'") + if args.verbose: eprint(e) else: eprint("Use -v for more verbose error output") exit(1) @@ -85,17 +50,17 @@ for i in reversed(range(len(lines))): ctx = ''.join(lines) -if out_file: +if args.out_file: try: - with open(out_file, "w") as file: + with open(args.out_file, "w") as file: file.write(ctx) except OSError as e: - eprint(f"Failed to write file '{out_file}'") - if verbose: eprint(e) + eprint(f"Failed to write file '{args.out_file}'") + if args.verbose: eprint(e) else: eprint("Use -v for more verbose error output") exit(1) -if clipboard: +if args.clipboard: pyperclip.copy(ctx) eprint("Copied context to clipboard") -if out_file is None and not clipboard: +if args.out_file is None and not args.clipboard: print(ctx) From e34d85431b1b7527b7054dfb2ff90117e1ed74ff Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 28 Apr 2024 10:47:43 +0200 Subject: [PATCH 33/76] Update `decompiling.md` --- docs/decompiling.md | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/docs/decompiling.md b/docs/decompiling.md index bedb1cbb..e0ea60f5 100644 --- a/docs/decompiling.md +++ b/docs/decompiling.md @@ -22,7 +22,7 @@ again. Remember to make a pull request of any notable progress you made on the s Say you've found a function you want to decompile. Here are the steps we recommend for decompiling it: 1. Visit [decomp.me](https://decomp.me/) and start decomping. 1. Under the platforms, select "Nintendo DS". -1. Select compiler version `2.0sp1p5`. +1. Select compiler preset "Phantom Hourglass". 1. Copy and paste the target assembly for your function, including the `func_start` and `func_end` macros, and the pool constants. For example: ```arm @@ -36,13 +36,9 @@ func_ov09_0211bf48: ; 0x0211bf48 thumb_func_end func_ov09_0211bf48 _0211bf50: .word data_ov09_0211f59c ``` -6. Run `m2ctx.py include/MyHeader.hpp -c` to generate a context and put it in your clipboard. +5. Run `m2ctx.py include/MyHeader.hpp -c` to generate a context and put it in your clipboard. - If no suitable header file exists, make a new one and put any structs and types you need in there. 1. Paste the context into decomp.me, and create the scratch. -1. Copy the `CC_FLAGS` from `Makefile` into the arguments field in decomp.me. - - Also copy `CXX_FLAGS` if your function comes from a `.cpp` file. Otherwise, copy `C_FLAGS` if it's a `.c` file. - - Replace the `-d $(REGION)` flag with whichever region you intend to decompile for. You can also delete the flag entirely - if the function contains no region differences. 1. Decompile the function and try to get a 100% match. - There's no ARM decompiler in decomp.me yet, but Ghidra does the job quite well. See [the Ghidra section](#the-ghidra-project) for more info. @@ -70,6 +66,18 @@ is 12 (`0xc`) bytes long and is also implicit, so we don't need to define it our > [!IMPORTANT] > An important thing to keep in mind is that a static initializer can construct multiple global objects. +## Decompiling data +> [!NOTE] +> Under construction! It's not fully clear how data is decompiled, as the compiler is strict on how it orders global variables. +> Feel free to contribute to this section or provide us with more information! + +Other than `.text` and `.init` which contain code, there are the following sections for data: +- `.rodata`: Global or static constants +- `.data`: Global or static variables +- `.bss`/`.sbss`: Global or static uninitialized variables + +You can see examples of these data sections in the [compilation section in `build_system.md`](/docs/build_system.md#compiling-code). + ## The Ghidra project We use a shared Ghidra project to analyze the game and decompile functions. To gain access to the project, install [Ghidra version 10.2.3](https://github.com/NationalSecurityAgency/ghidra/releases/tag/Ghidra_10.2.3_build) and request access From dfea2bd522f9122e3fb7b3d3e778b80b0c7bbe3c Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 28 Apr 2024 16:38:58 +0200 Subject: [PATCH 34/76] Remangle `Course` --- asm/ov00/Map/Course.s | 372 +++++++++++++++++----------------- asm/ov00/Map/MapManager.inc | 54 ++--- asm/ov00/Map/MapManager.s | 84 ++++---- asm/ov00/ov00_0207da38.inc | 2 +- asm/ov00/ov00_0207da38.s | 2 +- asm/ov00/ov00_020980f4.inc | 2 +- asm/ov02.inc | 4 +- asm/ov04.inc | 12 +- asm/ov04.s | 30 +-- asm/ov15.inc | 10 +- asm/ov15.s | 20 +- asm/ov18.inc | 4 +- asm/ov18.s | 4 +- asm/ov20.inc | 38 ++-- asm/ov28.inc | 2 +- asm/ov32.inc | 2 +- asm/ov38.inc | 10 +- asm/ov52.inc | 2 +- include/Map/Course.hpp | 117 ++++++----- include/Map/Course_Unk_c8.hpp | 19 ++ include/Map/Course_Unk_cc.hpp | 28 +++ include/lib/math.h | 6 + src/00_Core/Map/Course.cpp | 90 ++++---- 23 files changed, 483 insertions(+), 431 deletions(-) create mode 100644 include/Map/Course_Unk_c8.hpp create mode 100644 include/Map/Course_Unk_cc.hpp diff --git a/asm/ov00/Map/Course.s b/asm/ov00/Map/Course.s index 160e5e9d..8995602a 100644 --- a/asm/ov00/Map/Course.s +++ b/asm/ov00/Map/Course.s @@ -50,13 +50,13 @@ _ZN6Course13SetCourseNameEPc: ; 0x0207ca68 arm_func_end _ZN6Course13SetCourseNameEPc _0207ca74: .word strcpy - .global _ZN6Course18func_ov00_0207ca78Ev - arm_func_start _ZN6Course18func_ov00_0207ca78Ev -_ZN6Course18func_ov00_0207ca78Ev: ; 0x0207ca78 + .global _ZN6Course18func_ov00_0207ca78Eici + arm_func_start _ZN6Course18func_ov00_0207ca78Eici +_ZN6Course18func_ov00_0207ca78Eici: ; 0x0207ca78 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r2 - bl _ZN6Course18func_ov00_0207d9ccEi + bl _ZN6Course11Find_Unk_ccEj movs r1, r0 ldmeqia sp!, {r3, r4, r5, pc} strb r4, [r1] @@ -65,11 +65,11 @@ _ZN6Course18func_ov00_0207ca78Ev: ; 0x0207ca78 mov r2, #1 bl func_ov00_020a3510 ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207ca78Ev + arm_func_end _ZN6Course18func_ov00_0207ca78Eici - .global _ZN6Course18func_ov00_0207caa8Eiii - arm_func_start _ZN6Course18func_ov00_0207caa8Eiii -_ZN6Course18func_ov00_0207caa8Eiii: ; 0x0207caa8 + .global _ZN6Course18func_ov00_0207caa8EiPiPc + arm_func_start _ZN6Course18func_ov00_0207caa8EiPiPc +_ZN6Course18func_ov00_0207caa8EiPiPc: ; 0x0207caa8 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 cmp r1, #0 @@ -104,7 +104,7 @@ _ZN6Course18func_ov00_0207caa8Eiii: ; 0x0207caa8 strh r1, [r4, #6] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207caa8Eiii + arm_func_end _ZN6Course18func_ov00_0207caa8EiPiPc .global _ZN6Course18func_ov00_0207cb30Ei arm_func_start _ZN6Course18func_ov00_0207cb30Ei @@ -131,9 +131,9 @@ _ZN6Course18func_ov00_0207cb30Ei: ; 0x0207cb30 arm_func_end _ZN6Course18func_ov00_0207cb30Ei _0207cb78: .word 0x0000ffff - .global _ZN6Course18func_ov00_0207cb7cEiPS_i - arm_func_start _ZN6Course18func_ov00_0207cb7cEiPS_i -_ZN6Course18func_ov00_0207cb7cEiPS_i: ; 0x0207cb7c + .global _ZN6Course14FindMapGridPosEP5Vec2bPS_j + arm_func_start _ZN6Course14FindMapGridPosEP5Vec2bPS_j +_ZN6Course14FindMapGridPosEP5Vec2bPS_j: ; 0x0207cb7c stmdb sp!, {r3, r4, r5, lr} mov lr, #0 mov r5, r1 @@ -159,16 +159,16 @@ _0207cb90: strb r1, [r0] strb r2, [r0, #1] ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207cb7cEiPS_i + arm_func_end _ZN6Course14FindMapGridPosEP5Vec2bPS_j - .global _ZN6Course18func_ov00_0207cbd8Ei - arm_func_start _ZN6Course18func_ov00_0207cbd8Ei -_ZN6Course18func_ov00_0207cbd8Ei: ; 0x0207cbd8 + .global _ZN6Course14Find_Unk_cc_14Ei + arm_func_start _ZN6Course14Find_Unk_cc_14Ei +_ZN6Course14Find_Unk_cc_14Ei: ; 0x0207cbd8 stmdb sp!, {r3, lr} - bl _ZN6Course18func_ov00_0207d9ccEi + bl _ZN6Course11Find_Unk_ccEj add r0, r0, #0x14 ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207cbd8Ei + arm_func_end _ZN6Course14Find_Unk_cc_14Ei .global _ZN6Course18func_ov00_0207cbe8Ei arm_func_start _ZN6Course18func_ov00_0207cbe8Ei @@ -213,16 +213,16 @@ _ZN6Course18func_ov00_0207cc24Ei: ; 0x0207cc24 ldmia sp!, {r3, pc} arm_func_end _ZN6Course18func_ov00_0207cc24Ei - .global _ZN6Course18func_ov00_0207cc6cEv - arm_func_start _ZN6Course18func_ov00_0207cc6cEv -_ZN6Course18func_ov00_0207cc6cEv: ; 0x0207cc6c + .global _ZN6Course14Find_Unk_cc_08Ev + arm_func_start _ZN6Course14Find_Unk_cc_08Ev +_ZN6Course14Find_Unk_cc_08Ev: ; 0x0207cc6c stmdb sp!, {r3, lr} - bl _ZN6Course18func_ov00_0207d9ccEi + bl _ZN6Course11Find_Unk_ccEj cmp r0, #0 moveq r0, #0 ldrne r0, [r0, #8] ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207cc6cEv + arm_func_end _ZN6Course14Find_Unk_cc_08Ev .global _ZN6Course14GetMCSFilePathEiii arm_func_start _ZN6Course14GetMCSFilePathEiii @@ -351,9 +351,9 @@ _0207ce14: .word data_ov00_020e211c _0207ce18: .word data_027e0f7c _0207ce1c: .word data_ov00_020e2134 - .global _ZN6Course18func_ov00_0207ce20Eiiii - arm_func_start _ZN6Course18func_ov00_0207ce20Eiiii -_ZN6Course18func_ov00_0207ce20Eiiii: ; 0x0207ce20 + .global _ZN6Course18func_ov00_0207ce20EiiPci + arm_func_start _ZN6Course18func_ov00_0207ce20EiiPci +_ZN6Course18func_ov00_0207ce20EiiPci: ; 0x0207ce20 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr ip, [sp, #0x10] @@ -362,14 +362,14 @@ _ZN6Course18func_ov00_0207ce20Eiiii: ; 0x0207ce20 mov r3, r2 ldr r1, [r0] mov r2, ip - bl _ZN6Course18func_ov00_0207ce4cEccccii + bl _ZN6Course18func_ov00_0207ce4cEiiiPci add sp, sp, #8 ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207ce20Eiiii + arm_func_end _ZN6Course18func_ov00_0207ce20EiiPci - .global _ZN6Course18func_ov00_0207ce4cEccccii - arm_func_start _ZN6Course18func_ov00_0207ce4cEccccii -_ZN6Course18func_ov00_0207ce4cEccccii: ; 0x0207ce4c + .global _ZN6Course18func_ov00_0207ce4cEiiiPci + arm_func_start _ZN6Course18func_ov00_0207ce4cEiiiPci +_ZN6Course18func_ov00_0207ce4cEiiiPci: ; 0x0207ce4c stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r4, _0207d3ac ; =data_027e0f7c @@ -454,7 +454,7 @@ _0207cf38: mov r4, #4 moveq r2, #0 str r4, [sp, #4] - bl _ZN6Course18func_ov00_0207ce4cEccccii + bl _ZN6Course18func_ov00_0207ce4cEiiiPci add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207cf98: @@ -467,7 +467,7 @@ _0207cf98: mov r2, r5 mov r3, r4 str r7, [sp] - bl _ZN6Course18func_ov00_0207ce20Eiiii + bl _ZN6Course18func_ov00_0207ce20EiiPci add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207cfc8: @@ -737,7 +737,7 @@ _0207d364: add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 - arm_func_end _ZN6Course18func_ov00_0207ce4cEccccii + arm_func_end _ZN6Course18func_ov00_0207ce4cEiiiPci _0207d3ac: .word data_027e0f7c _0207d3b0: .word 0x66666667 _0207d3b4: .word data_ov00_020e233c @@ -790,26 +790,26 @@ _ZN6Course18func_ov00_0207d404Eiii: ; 0x0207d404 ldr r1, [sp, #8] mov r0, r6 mov r3, r5 - bl _ZN6Course18func_ov00_0207ce4cEccccii + bl _ZN6Course18func_ov00_0207ce4cEiiiPci mov r0, #1 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} arm_func_end _ZN6Course18func_ov00_0207d404Eiii - .global _ZN6Course18func_ov00_0207d47cEv - arm_func_start _ZN6Course18func_ov00_0207d47cEv -_ZN6Course18func_ov00_0207d47cEv: ; 0x0207d47c - ldr ip, _0207d48c ; =_ZN6Course18func_ov00_0207d490Eii + .global _ZN6Course22IsCurrentMapInMainGridEv + arm_func_start _ZN6Course22IsCurrentMapInMainGridEv +_ZN6Course22IsCurrentMapInMainGridEv: ; 0x0207d47c + ldr ip, _0207d48c ; =_ZN6Course12IsInMainGridEii ldrb r1, [r0, #0x1c] ldrb r2, [r0, #0x1d] bx ip .align 2, 0 - arm_func_end _ZN6Course18func_ov00_0207d47cEv -_0207d48c: .word _ZN6Course18func_ov00_0207d490Eii + arm_func_end _ZN6Course22IsCurrentMapInMainGridEv +_0207d48c: .word _ZN6Course12IsInMainGridEii - .global _ZN6Course18func_ov00_0207d490Eii - arm_func_start _ZN6Course18func_ov00_0207d490Eii -_ZN6Course18func_ov00_0207d490Eii: ; 0x0207d490 + .global _ZN6Course12IsInMainGridEii + arm_func_start _ZN6Course12IsInMainGridEii +_ZN6Course12IsInMainGridEii: ; 0x0207d490 ldrb r3, [r0, #0x25c] cmp r3, #0 moveq r0, #1 @@ -832,29 +832,29 @@ _ZN6Course18func_ov00_0207d490Eii: ; 0x0207d490 _0207d4dc: mov r0, #0 bx lr - arm_func_end _ZN6Course18func_ov00_0207d490Eii + arm_func_end _ZN6Course12IsInMainGridEii - .global _ZN6Course18func_ov00_0207d4e4Ei - arm_func_start _ZN6Course18func_ov00_0207d4e4Ei -_ZN6Course18func_ov00_0207d4e4Ei: ; 0x0207d4e4 + .global _ZN6Course15IsMapInMainGridEj + arm_func_start _ZN6Course15IsMapInMainGridEj +_ZN6Course15IsMapInMainGridEj: ; 0x0207d4e4 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 mov r2, r1 add r0, sp, #0 mov r1, r4 - bl _ZN6Course18func_ov00_0207cb7cEiPS_i + bl _ZN6Course14FindMapGridPosEP5Vec2bPS_j ldrb r1, [sp] ldrb r2, [sp, #1] mov r0, r4 - bl _ZN6Course18func_ov00_0207d490Eii + bl _ZN6Course12IsInMainGridEii add sp, sp, #4 ldmia sp!, {r3, r4, pc} - arm_func_end _ZN6Course18func_ov00_0207d4e4Ei + arm_func_end _ZN6Course15IsMapInMainGridEj - .global _ZN6Course18func_ov00_0207d518EiPiS0_ - arm_func_start _ZN6Course18func_ov00_0207d518EiPiS0_ -_ZN6Course18func_ov00_0207d518EiPiS0_: ; 0x0207d518 + .global _ZN6Course15GetMapScreenPosEiPiS0_ + arm_func_start _ZN6Course15GetMapScreenPosEiPiS0_ +_ZN6Course15GetMapScreenPosEiPiS0_: ; 0x0207d518 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r1 mov r7, r0 @@ -866,11 +866,11 @@ _ZN6Course18func_ov00_0207d518EiPiS0_: ; 0x0207d518 add r0, sp, #0 mov r1, r7 mov r2, r4 - bl _ZN6Course18func_ov00_0207cb7cEiPS_i + bl _ZN6Course14FindMapGridPosEP5Vec2bPS_j ldrb r1, [sp] ldrb r2, [sp, #1] mov r0, r7 - bl _ZN6Course18func_ov00_0207d490Eii + bl _ZN6Course12IsInMainGridEii cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} @@ -898,11 +898,11 @@ _ZN6Course18func_ov00_0207d518EiPiS0_: ; 0x0207d518 str r1, [r5] mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end _ZN6Course18func_ov00_0207d518EiPiS0_ + arm_func_end _ZN6Course15GetMapScreenPosEiPiS0_ - .global _ZN6Course18func_ov00_0207d5c4Ev - arm_func_start _ZN6Course18func_ov00_0207d5c4Ev -_ZN6Course18func_ov00_0207d5c4Ev: ; 0x0207d5c4 + .global _ZN6Course21GetScreenMapCellSizeXEv + arm_func_start _ZN6Course21GetScreenMapCellSizeXEv +_ZN6Course21GetScreenMapCellSizeXEv: ; 0x0207d5c4 stmdb sp!, {r3, lr} ldrb r1, [r0, #0x86] ldrb r0, [r0, #0x87] @@ -914,11 +914,11 @@ _ZN6Course18func_ov00_0207d5c4Ev: ; 0x0207d5c4 mov r1, #0x40000 bl Divide ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207d5c4Ev + arm_func_end _ZN6Course21GetScreenMapCellSizeXEv - .global _ZN6Course18func_ov00_0207d5f0Ev - arm_func_start _ZN6Course18func_ov00_0207d5f0Ev -_ZN6Course18func_ov00_0207d5f0Ev: ; 0x0207d5f0 + .global _ZN6Course21GetScreenMapCellSizeYEv + arm_func_start _ZN6Course21GetScreenMapCellSizeYEv +_ZN6Course21GetScreenMapCellSizeYEv: ; 0x0207d5f0 stmdb sp!, {r3, lr} ldrb r1, [r0, #0x87] ldrb r0, [r0, #0x86] @@ -930,27 +930,27 @@ _ZN6Course18func_ov00_0207d5f0Ev: ; 0x0207d5f0 mov r1, #0x30000 bl Divide ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207d5f0Ev + arm_func_end _ZN6Course21GetScreenMapCellSizeYEv - .global _ZN6Course18func_ov00_0207d61cEv - arm_func_start _ZN6Course18func_ov00_0207d61cEv -_ZN6Course18func_ov00_0207d61cEv: ; 0x0207d61c + .global _ZN6Course13Get_Unk_c8_00Ev + arm_func_start _ZN6Course13Get_Unk_c8_00Ev +_ZN6Course13Get_Unk_c8_00Ev: ; 0x0207d61c ldr r0, [r0, #0xc8] ldr r0, [r0] bx lr - arm_func_end _ZN6Course18func_ov00_0207d61cEv + arm_func_end _ZN6Course13Get_Unk_c8_00Ev - .global _ZN6Course15GetUnk_c8_Unk_4Ev - arm_func_start _ZN6Course15GetUnk_c8_Unk_4Ev -_ZN6Course15GetUnk_c8_Unk_4Ev: ; 0x0207d628 + .global _ZN6Course13Get_Unk_c8_04Ev + arm_func_start _ZN6Course13Get_Unk_c8_04Ev +_ZN6Course13Get_Unk_c8_04Ev: ; 0x0207d628 ldr r0, [r0, #0xc8] ldr r0, [r0, #4] bx lr - arm_func_end _ZN6Course15GetUnk_c8_Unk_4Ev + arm_func_end _ZN6Course13Get_Unk_c8_04Ev - .global _ZN6Course18func_ov00_0207d634Ei - arm_func_start _ZN6Course18func_ov00_0207d634Ei -_ZN6Course18func_ov00_0207d634Ei: ; 0x0207d634 + .global _ZN6Course23IsAdjacentMapOnMainGridEi + arm_func_start _ZN6Course23IsAdjacentMapOnMainGridEi +_ZN6Course23IsAdjacentMapOnMainGridEi: ; 0x0207d634 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldrb r4, [r6, #0x1c] @@ -978,20 +978,20 @@ _0207d67c: mov r0, r6 mov r1, r4 mov r2, r5 - bl _ZN6Course18func_ov00_0207d490Eii + bl _ZN6Course12IsInMainGridEii cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r6 mov r1, r4 mov r2, r5 - bl _ZN6Course18func_ov00_0207d6acEii + bl _ZN6Course10HasGridMapEii ldmia sp!, {r4, r5, r6, pc} - arm_func_end _ZN6Course18func_ov00_0207d634Ei + arm_func_end _ZN6Course23IsAdjacentMapOnMainGridEi - .global _ZN6Course18func_ov00_0207d6acEii - arm_func_start _ZN6Course18func_ov00_0207d6acEii -_ZN6Course18func_ov00_0207d6acEii: ; 0x0207d6ac + .global _ZN6Course10HasGridMapEii + arm_func_start _ZN6Course10HasGridMapEii +_ZN6Course10HasGridMapEii: ; 0x0207d6ac cmp r1, #0 cmpge r2, #0 blt _0207d6c4 @@ -1010,35 +1010,35 @@ _0207d6cc: movne r0, #1 moveq r0, #0 bx lr - arm_func_end _ZN6Course18func_ov00_0207d6acEii + arm_func_end _ZN6Course10HasGridMapEii - .global _ZN6Course18func_ov00_0207d6ecEv - arm_func_start _ZN6Course18func_ov00_0207d6ecEv -_ZN6Course18func_ov00_0207d6ecEv: ; 0x0207d6ec + .global _ZN6Course14GetAdjacentMapEi + arm_func_start _ZN6Course14GetAdjacentMapEi +_ZN6Course14GetAdjacentMapEi: ; 0x0207d6ec stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 - bl _ZN6Course18func_ov00_0207d634Ei + bl _ZN6Course23IsAdjacentMapOnMainGridEi cmp r0, #0 moveq r0, #0xff ldmeqia sp!, {r4, r5, r6, pc} mov r0, r6 mov r1, r5 - bl _ZN6Course18func_ov00_0207d758Ei + bl _ZN6Course15GetAdjacentMapYEi mov r4, r0 mov r0, r6 mov r1, r5 - bl _ZN6Course18func_ov00_0207d738Ei + bl _ZN6Course15GetAdjacentMapXEi mov r1, #0xa mla r1, r0, r1, r6 add r0, r1, r4 ldrb r0, [r0, #0x20] ldmia sp!, {r4, r5, r6, pc} - arm_func_end _ZN6Course18func_ov00_0207d6ecEv + arm_func_end _ZN6Course14GetAdjacentMapEi - .global _ZN6Course18func_ov00_0207d738Ei - arm_func_start _ZN6Course18func_ov00_0207d738Ei -_ZN6Course18func_ov00_0207d738Ei: ; 0x0207d738 + .global _ZN6Course15GetAdjacentMapXEi + arm_func_start _ZN6Course15GetAdjacentMapXEi +_ZN6Course15GetAdjacentMapXEi: ; 0x0207d738 cmp r1, #0 ldrb r0, [r0, #0x1c] beq _0207d750 @@ -1048,11 +1048,11 @@ _ZN6Course18func_ov00_0207d738Ei: ; 0x0207d738 _0207d750: add r0, r0, #1 bx lr - arm_func_end _ZN6Course18func_ov00_0207d738Ei + arm_func_end _ZN6Course15GetAdjacentMapXEi - .global _ZN6Course18func_ov00_0207d758Ei - arm_func_start _ZN6Course18func_ov00_0207d758Ei -_ZN6Course18func_ov00_0207d758Ei: ; 0x0207d758 + .global _ZN6Course15GetAdjacentMapYEi + arm_func_start _ZN6Course15GetAdjacentMapYEi +_ZN6Course15GetAdjacentMapYEi: ; 0x0207d758 cmp r1, #2 ldrb r0, [r0, #0x1d] beq _0207d770 @@ -1062,46 +1062,46 @@ _ZN6Course18func_ov00_0207d758Ei: ; 0x0207d758 _0207d770: add r0, r0, #1 bx lr - arm_func_end _ZN6Course18func_ov00_0207d758Ei + arm_func_end _ZN6Course15GetAdjacentMapYEi - .global _ZN6Course18func_ov00_0207d778Ev - arm_func_start _ZN6Course18func_ov00_0207d778Ev -_ZN6Course18func_ov00_0207d778Ev: ; 0x0207d778 + .global _ZN6Course21FindCurrent_Unk_cc_04Ev + arm_func_start _ZN6Course21FindCurrent_Unk_cc_04Ev +_ZN6Course21FindCurrent_Unk_cc_04Ev: ; 0x0207d778 stmdb sp!, {r3, lr} - bl _ZN6Course18func_ov00_0207da14Ev + bl _ZN6Course18FindCurrent_Unk_ccEv ldrh r0, [r0, #4] ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207d778Ev + arm_func_end _ZN6Course21FindCurrent_Unk_cc_04Ev - .global _ZN6Course18func_ov00_0207d788Ev - arm_func_start _ZN6Course18func_ov00_0207d788Ev -_ZN6Course18func_ov00_0207d788Ev: ; 0x0207d788 + .global _ZN6Course14Find_Unk_cc_04Ei + arm_func_start _ZN6Course14Find_Unk_cc_04Ei +_ZN6Course14Find_Unk_cc_04Ei: ; 0x0207d788 stmdb sp!, {r3, lr} - bl _ZN6Course18func_ov00_0207d9ccEi + bl _ZN6Course11Find_Unk_ccEj cmp r0, #0 ldreq r0, _0207d7a0 ; =0x0000ffff ldrneh r0, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 - arm_func_end _ZN6Course18func_ov00_0207d788Ev + arm_func_end _ZN6Course14Find_Unk_cc_04Ei _0207d7a0: .word 0x0000ffff - .global _ZN6Course18func_ov00_0207d7a4Ev - arm_func_start _ZN6Course18func_ov00_0207d7a4Ev -_ZN6Course18func_ov00_0207d7a4Ev: ; 0x0207d7a4 + .global _ZN6Course14Find_Unk_cc_0cEi + arm_func_start _ZN6Course14Find_Unk_cc_0cEi +_ZN6Course14Find_Unk_cc_0cEi: ; 0x0207d7a4 stmdb sp!, {r3, lr} - bl _ZN6Course18func_ov00_0207d9ccEi + bl _ZN6Course11Find_Unk_ccEj cmp r0, #0 moveq r0, #0 ldrne r0, [r0, #0xc] ldmia sp!, {r3, pc} - arm_func_end _ZN6Course18func_ov00_0207d7a4Ev + arm_func_end _ZN6Course14Find_Unk_cc_0cEi .global _ZN6Course18func_ov00_0207d7bcEv arm_func_start _ZN6Course18func_ov00_0207d7bcEv _ZN6Course18func_ov00_0207d7bcEv: ; 0x0207d7bc stmdb sp!, {r3, lr} - bl _ZN6Course18func_ov00_0207da14Ev + bl _ZN6Course18FindCurrent_Unk_ccEv ldr r2, _0207d7d8 ; =data_027e103c ldrh r1, [r0, #4] ldr r0, [r2] @@ -1111,9 +1111,9 @@ _ZN6Course18func_ov00_0207d7bcEv: ; 0x0207d7bc arm_func_end _ZN6Course18func_ov00_0207d7bcEv _0207d7d8: .word data_027e103c - .global _ZN6Course18func_ov00_0207d7dcEii - arm_func_start _ZN6Course18func_ov00_0207d7dcEii -_ZN6Course18func_ov00_0207d7dcEii: ; 0x0207d7dc + .global _ZN6Course8SetFlag0Ejb + arm_func_start _ZN6Course8SetFlag0Ejb +_ZN6Course8SetFlag0Ejb: ; 0x0207d7dc cmp r2, #0 beq _0207d804 add ip, r0, #0x264 @@ -1134,11 +1134,11 @@ _0207d804: and r0, r1, r0 str r0, [r3, r2, lsl #2] bx lr - arm_func_end _ZN6Course18func_ov00_0207d7dcEii + arm_func_end _ZN6Course8SetFlag0Ejb - .global _ZN6Course18func_ov00_0207d828Ei - arm_func_start _ZN6Course18func_ov00_0207d828Ei -_ZN6Course18func_ov00_0207d828Ei: ; 0x0207d828 + .global _ZN6Course8GetFlag0Ej + arm_func_start _ZN6Course8GetFlag0Ej +_ZN6Course8GetFlag0Ej: ; 0x0207d828 mov r2, r1, lsr #0x5 add r0, r0, r2, lsl #2 ldr r2, [r0, #0x264] @@ -1147,11 +1147,11 @@ _ZN6Course18func_ov00_0207d828Ei: ; 0x0207d828 tst r2, r0, lsl r1 moveq r0, #0 bx lr - arm_func_end _ZN6Course18func_ov00_0207d828Ei + arm_func_end _ZN6Course8GetFlag0Ej - .global _ZN6Course18func_ov00_0207d848Eii - arm_func_start _ZN6Course18func_ov00_0207d848Eii -_ZN6Course18func_ov00_0207d848Eii: ; 0x0207d848 + .global _ZN6Course8SetFlag1Ejb + arm_func_start _ZN6Course8SetFlag1Ejb +_ZN6Course8SetFlag1Ejb: ; 0x0207d848 cmp r2, #0 beq _0207d870 add ip, r0, #0x268 @@ -1172,11 +1172,11 @@ _0207d870: and r0, r1, r0 str r0, [r3, r2, lsl #2] bx lr - arm_func_end _ZN6Course18func_ov00_0207d848Eii + arm_func_end _ZN6Course8SetFlag1Ejb - .global _ZN6Course18func_ov00_0207d894Ei - arm_func_start _ZN6Course18func_ov00_0207d894Ei -_ZN6Course18func_ov00_0207d894Ei: ; 0x0207d894 + .global _ZN6Course8SetFlag1Ej + arm_func_start _ZN6Course8SetFlag1Ej +_ZN6Course8SetFlag1Ej: ; 0x0207d894 mov r2, r1, lsr #0x5 add r0, r0, r2, lsl #2 ldr r2, [r0, #0x268] @@ -1185,131 +1185,131 @@ _ZN6Course18func_ov00_0207d894Ei: ; 0x0207d894 tst r2, r0, lsl r1 moveq r0, #0 bx lr - arm_func_end _ZN6Course18func_ov00_0207d894Ei + arm_func_end _ZN6Course8SetFlag1Ej - .global _ZN6Course18func_ov00_0207d8b4Ev - arm_func_start _ZN6Course18func_ov00_0207d8b4Ev -_ZN6Course18func_ov00_0207d8b4Ev: ; 0x0207d8b4 + .global _ZN6Course15SetFlag0_Unk_ccEib + arm_func_start _ZN6Course15SetFlag0_Unk_ccEib +_ZN6Course15SetFlag0_Unk_ccEib: ; 0x0207d8b4 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 - bl _ZN6Course18func_ov00_0207da14Ev + bl _ZN6Course18FindCurrent_Unk_ccEv mov r1, r5 mov r2, r4 bl func_ov00_0209740c ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207d8b4Ev + arm_func_end _ZN6Course15SetFlag0_Unk_ccEib - .global _ZN6Course18func_ov00_0207d8d4Ei - arm_func_start _ZN6Course18func_ov00_0207d8d4Ei -_ZN6Course18func_ov00_0207d8d4Ei: ; 0x0207d8d4 + .global _ZN6Course15GetFlag0_Unk_ccEi + arm_func_start _ZN6Course15GetFlag0_Unk_ccEi +_ZN6Course15GetFlag0_Unk_ccEi: ; 0x0207d8d4 stmdb sp!, {r4, lr} mov r4, r1 - bl _ZN6Course18func_ov00_0207da14Ev + bl _ZN6Course18FindCurrent_Unk_ccEv mov r1, r4 bl func_ov00_02097458 ldmia sp!, {r4, pc} - arm_func_end _ZN6Course18func_ov00_0207d8d4Ei + arm_func_end _ZN6Course15GetFlag0_Unk_ccEi - .global _ZN6Course18func_ov00_0207d8ecEv - arm_func_start _ZN6Course18func_ov00_0207d8ecEv -_ZN6Course18func_ov00_0207d8ecEv: ; 0x0207d8ec + .global _ZN6Course15SetFlag1_Unk_ccEib + arm_func_start _ZN6Course15SetFlag1_Unk_ccEib +_ZN6Course15SetFlag1_Unk_ccEib: ; 0x0207d8ec stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 - bl _ZN6Course18func_ov00_0207da14Ev + bl _ZN6Course18FindCurrent_Unk_ccEv mov r1, r5 mov r2, r4 bl func_ov00_02097478 ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207d8ecEv + arm_func_end _ZN6Course15SetFlag1_Unk_ccEib - .global _ZN6Course18func_ov00_0207d90cEi - arm_func_start _ZN6Course18func_ov00_0207d90cEi -_ZN6Course18func_ov00_0207d90cEi: ; 0x0207d90c + .global _ZN6Course15GetFlag1_Unk_ccEi + arm_func_start _ZN6Course15GetFlag1_Unk_ccEi +_ZN6Course15GetFlag1_Unk_ccEi: ; 0x0207d90c stmdb sp!, {r4, lr} mov r4, r1 - bl _ZN6Course18func_ov00_0207da14Ev + bl _ZN6Course18FindCurrent_Unk_ccEv mov r1, r4 bl func_ov00_020974c4 ldmia sp!, {r4, pc} - arm_func_end _ZN6Course18func_ov00_0207d90cEi + arm_func_end _ZN6Course15GetFlag1_Unk_ccEi - .global _ZN6Course18func_ov00_0207d924Ev - arm_func_start _ZN6Course18func_ov00_0207d924Ev -_ZN6Course18func_ov00_0207d924Ev: ; 0x0207d924 + .global _ZN6Course15SetFlag2_Unk_ccEib + arm_func_start _ZN6Course15SetFlag2_Unk_ccEib +_ZN6Course15SetFlag2_Unk_ccEib: ; 0x0207d924 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 - bl _ZN6Course18func_ov00_0207da14Ev + bl _ZN6Course18FindCurrent_Unk_ccEv mov r1, r5 mov r2, r4 bl func_ov00_020974e4 ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207d924Ev + arm_func_end _ZN6Course15SetFlag2_Unk_ccEib - .global _ZN6Course18func_ov00_0207d944Ei - arm_func_start _ZN6Course18func_ov00_0207d944Ei -_ZN6Course18func_ov00_0207d944Ei: ; 0x0207d944 + .global _ZN6Course15GetFlag2_Unk_ccEi + arm_func_start _ZN6Course15GetFlag2_Unk_ccEi +_ZN6Course15GetFlag2_Unk_ccEi: ; 0x0207d944 stmdb sp!, {r4, lr} mov r4, r1 - bl _ZN6Course18func_ov00_0207da14Ev + bl _ZN6Course18FindCurrent_Unk_ccEv mov r1, r4 bl func_ov00_02097530 ldmia sp!, {r4, pc} - arm_func_end _ZN6Course18func_ov00_0207d944Ei + arm_func_end _ZN6Course15GetFlag2_Unk_ccEi - .global _ZN6Course18func_ov00_0207d95cEv - arm_func_start _ZN6Course18func_ov00_0207d95cEv -_ZN6Course18func_ov00_0207d95cEv: ; 0x0207d95c + .global _ZN6Course15SetFlag3_Unk_ccEib + arm_func_start _ZN6Course15SetFlag3_Unk_ccEib +_ZN6Course15SetFlag3_Unk_ccEib: ; 0x0207d95c stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 - bl _ZN6Course18func_ov00_0207da14Ev + bl _ZN6Course18FindCurrent_Unk_ccEv mov r1, r5 mov r2, r4 bl func_ov00_02097550 ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207d95cEv + arm_func_end _ZN6Course15SetFlag3_Unk_ccEib .global _ZN6Course18func_ov00_0207d97cEi arm_func_start _ZN6Course18func_ov00_0207d97cEi _ZN6Course18func_ov00_0207d97cEi: ; 0x0207d97c stmdb sp!, {r4, lr} mov r4, r1 - bl _ZN6Course18func_ov00_0207da14Ev + bl _ZN6Course18FindCurrent_Unk_ccEv mov r1, r4 bl func_ov00_0209759c ldmia sp!, {r4, pc} arm_func_end _ZN6Course18func_ov00_0207d97cEi - .global _ZN6Course18func_ov00_0207d994Ev - arm_func_start _ZN6Course18func_ov00_0207d994Ev -_ZN6Course18func_ov00_0207d994Ev: ; 0x0207d994 + .global _ZN6Course18func_ov00_0207d994Eii + arm_func_start _ZN6Course18func_ov00_0207d994Eii +_ZN6Course18func_ov00_0207d994Eii: ; 0x0207d994 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 - bl _ZN6Course18func_ov00_0207da14Ev + bl _ZN6Course18FindCurrent_Unk_ccEv mov r1, r5 mov r2, r4 bl func_ov00_020975bc ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207d994Ev + arm_func_end _ZN6Course18func_ov00_0207d994Eii - .global _ZN6Course18func_ov00_0207d9b4Ei - arm_func_start _ZN6Course18func_ov00_0207d9b4Ei -_ZN6Course18func_ov00_0207d9b4Ei: ; 0x0207d9b4 + .global _ZN6Course15GetFlag3_Unk_ccEi + arm_func_start _ZN6Course15GetFlag3_Unk_ccEi +_ZN6Course15GetFlag3_Unk_ccEi: ; 0x0207d9b4 stmdb sp!, {r4, lr} mov r4, r1 - bl _ZN6Course18func_ov00_0207da14Ev + bl _ZN6Course18FindCurrent_Unk_ccEv mov r1, r4 bl func_ov00_02097608 ldmia sp!, {r4, pc} - arm_func_end _ZN6Course18func_ov00_0207d9b4Ei + arm_func_end _ZN6Course15GetFlag3_Unk_ccEi - .global _ZN6Course18func_ov00_0207d9ccEi - arm_func_start _ZN6Course18func_ov00_0207d9ccEi -_ZN6Course18func_ov00_0207d9ccEi: ; 0x0207d9cc + .global _ZN6Course11Find_Unk_ccEj + arm_func_start _ZN6Course11Find_Unk_ccEj +_ZN6Course11Find_Unk_ccEj: ; 0x0207d9cc ldrb r2, [r0, #0xb0] mov ip, #0 cmp r2, #0 @@ -1331,22 +1331,22 @@ _0207d9fc: _0207da0c: mov r0, #0 bx lr - arm_func_end _ZN6Course18func_ov00_0207d9ccEi + arm_func_end _ZN6Course11Find_Unk_ccEj - .global _ZN6Course18func_ov00_0207da14Ev - arm_func_start _ZN6Course18func_ov00_0207da14Ev -_ZN6Course18func_ov00_0207da14Ev: ; 0x0207da14 + .global _ZN6Course18FindCurrent_Unk_ccEv + arm_func_start _ZN6Course18FindCurrent_Unk_ccEv +_ZN6Course18FindCurrent_Unk_ccEv: ; 0x0207da14 ldrb r3, [r0, #0x1c] mov r1, #0xa ldrb r2, [r0, #0x1d] mla r1, r3, r1, r0 add r1, r1, r2 - ldr ip, _0207da34 ; =_ZN6Course18func_ov00_0207d9ccEi + ldr ip, _0207da34 ; =_ZN6Course11Find_Unk_ccEj ldrb r1, [r1, #0x20] bx ip .align 2, 0 - arm_func_end _ZN6Course18func_ov00_0207da14Ev -_0207da34: .word _ZN6Course18func_ov00_0207d9ccEi + arm_func_end _ZN6Course18FindCurrent_Unk_ccEv +_0207da34: .word _ZN6Course11Find_Unk_ccEj .data .global data_ov00_020e2058 diff --git a/asm/ov00/Map/MapManager.inc b/asm/ov00/Map/MapManager.inc index 9f6e5557..e6197a44 100644 --- a/asm/ov00/Map/MapManager.inc +++ b/asm/ov00/Map/MapManager.inc @@ -3,41 +3,41 @@ .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager18func_ov00_020c3ce8Eii .extern _ZN14AdventureFlags18func_ov00_020976c8Ev -.extern _ZN6Course15GetUnk_c8_Unk_4Ev +.extern _ZN6Course13Get_Unk_c8_04Ev .extern _ZN6Course18GetDungeonProgressEP14CourseProgress .extern _ZN6Course18func_ov00_0207ca28Eiii -.extern _ZN6Course18func_ov00_0207caa8Eiii +.extern _ZN6Course18func_ov00_0207caa8EiPiPc .extern _ZN6Course18func_ov00_0207cb30Ei -.extern _ZN6Course18func_ov00_0207cb7cEiPS_i -.extern _ZN6Course18func_ov00_0207cbd8Ei +.extern _ZN6Course14FindMapGridPosEP5Vec2bPS_j +.extern _ZN6Course14Find_Unk_cc_14Ei .extern _ZN6Course18func_ov00_0207cbe8Ei .extern _ZN6Course18func_ov00_0207cc24Ei -.extern _ZN6Course18func_ov00_0207cc6cEv -.extern _ZN6Course18func_ov00_0207ce20Eiiii +.extern _ZN6Course14Find_Unk_cc_08Ev +.extern _ZN6Course18func_ov00_0207ce20EiiPci .extern _ZN6Course18func_ov00_0207d404Eiii -.extern _ZN6Course18func_ov00_0207d47cEv -.extern _ZN6Course18func_ov00_0207d4e4Ei -.extern _ZN6Course18func_ov00_0207d518EiPiS0_ -.extern _ZN6Course18func_ov00_0207d5c4Ev -.extern _ZN6Course18func_ov00_0207d5f0Ev -.extern _ZN6Course18func_ov00_0207d61cEv -.extern _ZN6Course18func_ov00_0207d778Ev -.extern _ZN6Course18func_ov00_0207d788Ev +.extern _ZN6Course22IsCurrentMapInMainGridEv +.extern _ZN6Course15IsMapInMainGridEj +.extern _ZN6Course15GetMapScreenPosEiPiS0_ +.extern _ZN6Course21GetScreenMapCellSizeXEv +.extern _ZN6Course21GetScreenMapCellSizeYEv +.extern _ZN6Course13Get_Unk_c8_00Ev +.extern _ZN6Course21FindCurrent_Unk_cc_04Ev +.extern _ZN6Course14Find_Unk_cc_04Ei .extern _ZN6Course18func_ov00_0207d7bcEv -.extern _ZN6Course18func_ov00_0207d7dcEii -.extern _ZN6Course18func_ov00_0207d828Ei -.extern _ZN6Course18func_ov00_0207d848Eii -.extern _ZN6Course18func_ov00_0207d894Ei -.extern _ZN6Course18func_ov00_0207d8b4Ev -.extern _ZN6Course18func_ov00_0207d8d4Ei -.extern _ZN6Course18func_ov00_0207d8ecEv -.extern _ZN6Course18func_ov00_0207d90cEi -.extern _ZN6Course18func_ov00_0207d924Ev -.extern _ZN6Course18func_ov00_0207d944Ei -.extern _ZN6Course18func_ov00_0207d95cEv +.extern _ZN6Course8SetFlag0Ejb +.extern _ZN6Course8GetFlag0Ej +.extern _ZN6Course8SetFlag1Ejb +.extern _ZN6Course8SetFlag1Ej +.extern _ZN6Course15SetFlag0_Unk_ccEib +.extern _ZN6Course15GetFlag0_Unk_ccEi +.extern _ZN6Course15SetFlag1_Unk_ccEib +.extern _ZN6Course15GetFlag1_Unk_ccEi +.extern _ZN6Course15SetFlag2_Unk_ccEib +.extern _ZN6Course15GetFlag2_Unk_ccEi +.extern _ZN6Course15SetFlag3_Unk_ccEib .extern _ZN6Course18func_ov00_0207d97cEi -.extern _ZN6Course18func_ov00_0207d994Ev -.extern _ZN6Course18func_ov00_0207d9b4Ei +.extern _ZN6Course18func_ov00_0207d994Eii +.extern _ZN6Course15GetFlag3_Unk_ccEi .extern _ZN9SysObjectnwEmPjj .extern __register_global_object .extern data_027e077c diff --git a/asm/ov00/Map/MapManager.s b/asm/ov00/Map/MapManager.s index ce3dfbd3..983ea98f 100644 --- a/asm/ov00/Map/MapManager.s +++ b/asm/ov00/Map/MapManager.s @@ -468,7 +468,7 @@ _ZN10MapManager18func_ov00_02082614Eii: ; 0x02082614 mov r3, r1 mov r1, r2 mov r2, #0 - bl _ZN6Course18func_ov00_0207ce20Eiiii + bl _ZN6Course18func_ov00_0207ce20EiiPci ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02082614Eii @@ -926,7 +926,7 @@ _ZN10MapManager18func_ov00_02082b3cEi: ; 0x02082b3c ldrb r2, [r5, #0x12] ldr r1, [r6] add r0, sp, #0 - bl _ZN6Course18func_ov00_0207cb7cEiPS_i + bl _ZN6Course14FindMapGridPosEP5Vec2bPS_j mov r0, r6 bl _ZN10MapManager20GetCourseData_Unk_1cEv ldrb r1, [sp] @@ -981,11 +981,11 @@ _02082bac: ldrb r7, [r5, #0x12] ldr r0, [r6] mov r4, #0 - bl _ZN6Course18func_ov00_0207d778Ev + bl _ZN6Course21FindCurrent_Unk_cc_04Ev mov r1, r7 mov r7, r0 ldr r0, [r6] - bl _ZN6Course18func_ov00_0207d788Ev + bl _ZN6Course14Find_Unk_cc_04Ei cmp r7, r0 ldrb r2, [sp] ldr r1, [r6] @@ -1155,7 +1155,7 @@ _ZN10MapManager18func_ov00_02082e1cEPiS0_: ; 0x02082e1c mov r6, r2 cmp r1, #0 beq _02083050 - bl _ZN6Course18func_ov00_0207d47cEv + bl _ZN6Course22IsCurrentMapInMainGridEv cmp r0, #0 bne _02083038 mvn r1, #0xff @@ -1219,18 +1219,18 @@ _02082f1c: add r2, sp, #0xc add r3, sp, #8 mov r1, r4 - bl _ZN6Course18func_ov00_0207d518EiPiS0_ + bl _ZN6Course15GetMapScreenPosEiPiS0_ cmp r0, #0 ldr r0, [r8] bne _02082fc0 add r2, sp, #0xc add r3, sp, #8 mov r1, r5 - bl _ZN6Course18func_ov00_0207d518EiPiS0_ + bl _ZN6Course15GetMapScreenPosEiPiS0_ ldr r1, [r8] add r0, sp, #6 mov r2, r5 - bl _ZN6Course18func_ov00_0207cb7cEiPS_i + bl _ZN6Course14FindMapGridPosEP5Vec2bPS_j ldrb r1, [sp, #7] add r0, sp, #4 add r2, sp, #0x28 @@ -1239,7 +1239,7 @@ _02082f1c: mov r1, r8 bl _ZN10MapManager18func_ov00_02083a54EiPS_iii ldr r0, [r8] - bl _ZN6Course18func_ov00_0207d5c4Ev + bl _ZN6Course21GetScreenMapCellSizeXEv ldrb r1, [sp, #4] ldr r3, [sp, #0xc] mov r1, r1, lsl #0xc @@ -1252,12 +1252,12 @@ _02082f1c: add r0, r3, r0, asr #12 str r0, [r7] ldr r0, [r8] - bl _ZN6Course18func_ov00_0207d5f0Ev + bl _ZN6Course21GetScreenMapCellSizeYEv ldrb r1, [sp, #5] ldr r3, [sp, #8] b _02083008 _02082fc0: - bl _ZN6Course18func_ov00_0207d5c4Ev + bl _ZN6Course21GetScreenMapCellSizeXEv ldr r2, [r8, #4] ldr r1, [sp, #0xc] ldrb r2, [r2, #0x1b] @@ -1271,7 +1271,7 @@ _02082fc0: add r0, r1, r0, asr #12 str r0, [r7] ldr r0, [r8] - bl _ZN6Course18func_ov00_0207d5f0Ev + bl _ZN6Course21GetScreenMapCellSizeYEv ldr r1, [r8, #4] ldr r3, [sp, #8] ldrb r1, [r1, #0x1c] @@ -1513,12 +1513,12 @@ _ZN10MapManager21GetCourseData_Unk_25cEv: ; 0x0208330c .global _ZN10MapManager18func_ov00_02083318Ei arm_func_start _ZN10MapManager18func_ov00_02083318Ei _ZN10MapManager18func_ov00_02083318Ei: ; 0x02083318 - ldr ip, _02083324 ; =_ZN6Course18func_ov00_0207d4e4Ei + ldr ip, _02083324 ; =_ZN6Course15IsMapInMainGridEj ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02083318Ei -_02083324: .word _ZN6Course18func_ov00_0207d4e4Ei +_02083324: .word _ZN6Course15IsMapInMainGridEj .global _ZN10MapManager18func_ov00_02083328Ev arm_func_start _ZN10MapManager18func_ov00_02083328Ev @@ -1528,7 +1528,7 @@ _ZN10MapManager18func_ov00_02083328Ev: ; 0x02083328 bl _ZN10MapManager18func_ov00_02082d08Ev mov r1, r0 ldr r0, [r4] - bl _ZN6Course18func_ov00_0207d4e4Ei + bl _ZN6Course15IsMapInMainGridEj ldmia sp!, {r4, pc} arm_func_end _ZN10MapManager18func_ov00_02083328Ev @@ -1738,7 +1738,7 @@ _ZN10MapManager18func_ov00_020834bcEP5Vec3pii: ; 0x020834bc add r2, r4, r3 mov r4, r1 ldrb r1, [r2, #0x20] - bl _ZN6Course18func_ov00_0207cbd8Ei + bl _ZN6Course14Find_Unk_cc_14Ei ldr r1, [r0] str r1, [r4] ldr r1, [r0, #4] @@ -1768,7 +1768,7 @@ _ZN10MapManager18func_ov00_02083524EP5Vec3pii: ; 0x02083524 add r2, ip, r3 mov r4, r1 ldrb r1, [r2, #0x20] - bl _ZN6Course18func_ov00_0207cbd8Ei + bl _ZN6Course14Find_Unk_cc_14Ei ldr r1, [r0] str r1, [r4] ldr r1, [r0, #4] @@ -1781,12 +1781,12 @@ _ZN10MapManager18func_ov00_02083524EP5Vec3pii: ; 0x02083524 .global _ZN10MapManager18func_ov00_02083560EiPS_j arm_func_start _ZN10MapManager18func_ov00_02083560EiPS_j _ZN10MapManager18func_ov00_02083560EiPS_j: ; 0x02083560 - ldr ip, _0208356c ; =_ZN6Course18func_ov00_0207cb7cEiPS_i + ldr ip, _0208356c ; =_ZN6Course14FindMapGridPosEP5Vec2bPS_j ldr r1, [r1] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02083560EiPS_j -_0208356c: .word _ZN6Course18func_ov00_0207cb7cEiPS_i +_0208356c: .word _ZN6Course14FindMapGridPosEP5Vec2bPS_j .global _ZN10MapManager18func_ov00_02083570Eii arm_func_start _ZN10MapManager18func_ov00_02083570Eii @@ -1807,29 +1807,29 @@ _ZN10MapManager18func_ov00_02083588Ev: ; 0x02083588 bl _ZN10MapManager18func_ov00_02082d08Ev mov r1, r0 ldr r0, [r4] - bl _ZN6Course18func_ov00_0207cc6cEv + bl _ZN6Course14Find_Unk_cc_08Ev ldmia sp!, {r4, pc} arm_func_end _ZN10MapManager18func_ov00_02083588Ev .global _ZN10MapManager18func_ov00_020835a4Ev arm_func_start _ZN10MapManager18func_ov00_020835a4Ev _ZN10MapManager18func_ov00_020835a4Ev: ; 0x020835a4 - ldr ip, _020835b0 ; =_ZN6Course18func_ov00_0207d61cEv + ldr ip, _020835b0 ; =_ZN6Course13Get_Unk_c8_00Ev ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020835a4Ev -_020835b0: .word _ZN6Course18func_ov00_0207d61cEv +_020835b0: .word _ZN6Course13Get_Unk_c8_00Ev .global _ZN10MapManager18func_ov00_020835b4Ev arm_func_start _ZN10MapManager18func_ov00_020835b4Ev _ZN10MapManager18func_ov00_020835b4Ev: ; 0x020835b4 - ldr ip, _020835c0 ; =_ZN6Course15GetUnk_c8_Unk_4Ev + ldr ip, _020835c0 ; =_ZN6Course13Get_Unk_c8_04Ev ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020835b4Ev -_020835c0: .word _ZN6Course15GetUnk_c8_Unk_4Ev +_020835c0: .word _ZN6Course13Get_Unk_c8_04Ev .global _ZN10MapManager18func_ov00_020835c4Eii arm_func_start _ZN10MapManager18func_ov00_020835c4Eii @@ -1847,12 +1847,12 @@ _ZN10MapManager18func_ov00_020835c4Eii: ; 0x020835c4 .global _ZN10MapManager18func_ov00_020835e4EiPiS0_ arm_func_start _ZN10MapManager18func_ov00_020835e4EiPiS0_ _ZN10MapManager18func_ov00_020835e4EiPiS0_: ; 0x020835e4 - ldr ip, _020835f0 ; =_ZN6Course18func_ov00_0207caa8Eiii + ldr ip, _020835f0 ; =_ZN6Course18func_ov00_0207caa8EiPiPc ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020835e4EiPiS0_ -_020835f0: .word _ZN6Course18func_ov00_0207caa8Eiii +_020835f0: .word _ZN6Course18func_ov00_0207caa8EiPiPc .global _ZN10MapManager18func_ov00_020835f4Ei arm_func_start _ZN10MapManager18func_ov00_020835f4Ei @@ -3579,7 +3579,7 @@ _ZN10MapManager18func_ov00_0208499cEv: ; 0x0208499c movne r0, #0 ldmneia sp!, {r4, pc} ldr r0, [r4] - bl _ZN6Course18func_ov00_0207d47cEv + bl _ZN6Course22IsCurrentMapInMainGridEv ldmia sp!, {r4, pc} arm_func_end _ZN10MapManager18func_ov00_0208499cEv @@ -3771,17 +3771,17 @@ _02084b8c: _02084bb0: ldr r0, [r0] mov r2, r3 - bl _ZN6Course18func_ov00_0207d8b4Ev + bl _ZN6Course15SetFlag0_Unk_ccEib ldmia sp!, {r3, pc} _02084bc0: ldr r0, [r0] mov r2, r3 - bl _ZN6Course18func_ov00_0207d7dcEii + bl _ZN6Course8SetFlag0Ejb ldmia sp!, {r3, pc} _02084bd0: ldr r0, [r0] mov r2, r3 - bl _ZN6Course18func_ov00_0207d848Eii + bl _ZN6Course8SetFlag1Ejb ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084b38Eiii @@ -3812,15 +3812,15 @@ _02084c0c: ldmia sp!, {r3, pc} _02084c30: ldr r0, [r0] - bl _ZN6Course18func_ov00_0207d8d4Ei + bl _ZN6Course15GetFlag0_Unk_ccEi ldmia sp!, {r3, pc} _02084c3c: ldr r0, [r0] - bl _ZN6Course18func_ov00_0207d828Ei + bl _ZN6Course8GetFlag0Ej ldmia sp!, {r3, pc} _02084c48: ldr r0, [r0] - bl _ZN6Course18func_ov00_0207d894Ei + bl _ZN6Course8SetFlag1Ej ldmia sp!, {r3, pc} _02084c54: mov r0, #0 @@ -3830,22 +3830,22 @@ _02084c54: .global _ZN10MapManager18func_ov00_02084c5cEii arm_func_start _ZN10MapManager18func_ov00_02084c5cEii _ZN10MapManager18func_ov00_02084c5cEii: ; 0x02084c5c - ldr ip, _02084c68 ; =_ZN6Course18func_ov00_0207d8ecEv + ldr ip, _02084c68 ; =_ZN6Course15SetFlag1_Unk_ccEib ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02084c5cEii -_02084c68: .word _ZN6Course18func_ov00_0207d8ecEv +_02084c68: .word _ZN6Course15SetFlag1_Unk_ccEib .global _ZN10MapManager18func_ov00_02084c6cEi arm_func_start _ZN10MapManager18func_ov00_02084c6cEi _ZN10MapManager18func_ov00_02084c6cEi: ; 0x02084c6c - ldr ip, _02084c78 ; =_ZN6Course18func_ov00_0207d90cEi + ldr ip, _02084c78 ; =_ZN6Course15GetFlag1_Unk_ccEi ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02084c6cEi -_02084c78: .word _ZN6Course18func_ov00_0207d90cEi +_02084c78: .word _ZN6Course15GetFlag1_Unk_ccEi .global _ZN10MapManager18func_ov00_02084c7cEi arm_func_start _ZN10MapManager18func_ov00_02084c7cEi @@ -3854,7 +3854,7 @@ _ZN10MapManager18func_ov00_02084c7cEi: ; 0x02084c7c cmp r1, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl _ZN6Course18func_ov00_0207d924Ev + bl _ZN6Course15SetFlag2_Unk_ccEib ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084c7cEi @@ -3866,7 +3866,7 @@ _ZN10MapManager18func_ov00_02084c94Ei: ; 0x02084c94 movlt r0, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl _ZN6Course18func_ov00_0207d944Ei + bl _ZN6Course15GetFlag2_Unk_ccEi ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084c94Ei @@ -3877,7 +3877,7 @@ _ZN10MapManager18func_ov00_02084cb0Ei: ; 0x02084cb0 cmp r1, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl _ZN6Course18func_ov00_0207d95cEv + bl _ZN6Course15SetFlag3_Unk_ccEib ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084cb0Ei @@ -3900,7 +3900,7 @@ _ZN10MapManager18func_ov00_02084ce4Ei: ; 0x02084ce4 cmp r1, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl _ZN6Course18func_ov00_0207d994Ev + bl _ZN6Course18func_ov00_0207d994Eii ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084ce4Ei @@ -3912,7 +3912,7 @@ _ZN10MapManager18func_ov00_02084cfcEi: ; 0x02084cfc movlt r0, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl _ZN6Course18func_ov00_0207d9b4Ei + bl _ZN6Course15GetFlag3_Unk_ccEi ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084cfcEi diff --git a/asm/ov00/ov00_0207da38.inc b/asm/ov00/ov00_0207da38.inc index 27c83372..2834f6a1 100644 --- a/asm/ov00/ov00_0207da38.inc +++ b/asm/ov00/ov00_0207da38.inc @@ -1,7 +1,7 @@ #pragma once .extern Divide .extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p -.extern _ZN6Course18func_ov00_0207cbd8Ei +.extern _ZN6Course14Find_Unk_cc_14Ei .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern data_027e0618 diff --git a/asm/ov00/ov00_0207da38.s b/asm/ov00/ov00_0207da38.s index 47c6c53d..c8342dc2 100644 --- a/asm/ov00/ov00_0207da38.s +++ b/asm/ov00/ov00_0207da38.s @@ -222,7 +222,7 @@ func_ov00_0207dce4: ; 0x0207dce4 mov r2, r3, lsl #0xc str r5, [sp] str r2, [sp, #4] - bl _ZN6Course18func_ov00_0207cbd8Ei + bl _ZN6Course14Find_Unk_cc_14Ei mov ip, r5 add r5, sp, #0x20 ldmia r0, {r0, r1, r2} diff --git a/asm/ov00/ov00_020980f4.inc b/asm/ov00/ov00_020980f4.inc index 3a4153df..04091b0a 100644 --- a/asm/ov00/ov00_020980f4.inc +++ b/asm/ov00/ov00_020980f4.inc @@ -95,7 +95,6 @@ .extern data_027e0d38 .extern data_027e0db0 .extern data_027e0de4 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f78 @@ -360,6 +359,7 @@ .extern func_ov40_021833c4 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern strcat .extern strcmp diff --git a/asm/ov02.inc b/asm/ov02.inc index 3566fa97..2ede9c1d 100644 --- a/asm/ov02.inc +++ b/asm/ov02.inc @@ -1,6 +1,7 @@ #pragma once .extern Divide .extern LoadTreasureItemFanfare +.extern _ZN10MapManager18func_ov00_020847e0Ev .extern _ZN11ItemManager13EquipShipPartEjj .extern _ZN14AdventureFlags3GetEj .extern _ZN9SysObjectdlEPv @@ -31,7 +32,6 @@ .extern data_027e0d0c .extern data_027e0d44 .extern data_027e0d78 -.extern gMapManager .extern data_027e0f88 .extern data_027e0f8c .extern data_027e0fbc @@ -115,7 +115,6 @@ .extern func_0204f614 .extern func_0204f754 .extern func_ov00_0207b1fc -.extern _ZN10MapManager18func_ov00_020847e0Ev .extern func_ov00_0208de04 .extern func_ov00_0208dec8 .extern func_ov00_0208def0 @@ -260,3 +259,4 @@ .extern func_ov45_0218db94 .extern gAdventureFlags .extern gItemManager +.extern gMapManager diff --git a/asm/ov04.inc b/asm/ov04.inc index 406a2295..df85ac98 100644 --- a/asm/ov04.inc +++ b/asm/ov04.inc @@ -57,16 +57,16 @@ .extern _ZN14OverlayManager6UnloadEj .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN6Course11Find_Unk_ccEj .extern _ZN6Course13SetCourseNameEPc +.extern _ZN6Course14FindMapGridPosEP5Vec2bPS_j +.extern _ZN6Course14Find_Unk_cc_0cEi .extern _ZN6Course14GetMCSFilePathEiii .extern _ZN6Course14GetMRCFilePathEiii -.extern _ZN6Course18func_ov00_0207ca78Ev -.extern _ZN6Course18func_ov00_0207cb7cEiPS_i -.extern _ZN6Course18func_ov00_0207ce20Eiiii -.extern _ZN6Course18func_ov00_0207d4e4Ei -.extern _ZN6Course18func_ov00_0207d7a4Ev +.extern _ZN6Course15IsMapInMainGridEj +.extern _ZN6Course18func_ov00_0207ca78Eici +.extern _ZN6Course18func_ov00_0207ce20EiiPci .extern _ZN6Course18func_ov00_0207d7bcEv -.extern _ZN6Course18func_ov00_0207d9ccEi .extern _ZN9ActorType13func_0203e7c8Ev .extern _ZN9ActorType4FindEj .extern _ZN9SysObjectdlEPv diff --git a/asm/ov04.s b/asm/ov04.s index f8aee019..5b66ffcb 100644 --- a/asm/ov04.s +++ b/asm/ov04.s @@ -3141,7 +3141,7 @@ func_ov04_02102264: ; 0x02102264 beq _021022fc ldr r1, [r5] add r0, sp, #0x18 - blx _ZN6Course18func_ov00_0207cb7cEiPS_i + blx _ZN6Course14FindMapGridPosEP5Vec2bPS_j add r0, sp, #0x18 ldrb r2, [r0] ldr r1, [r5] @@ -23699,7 +23699,7 @@ _0210c218: add r0, sp, #8 add r1, r4, #0 add r2, r6, #0 - blx _ZN6Course18func_ov00_0207cb7cEiPS_i + blx _ZN6Course14FindMapGridPosEP5Vec2bPS_j strb r6, [r5, #0x13] add r0, sp, #8 ldrb r1, [r0, #1] @@ -23719,7 +23719,7 @@ _0210c218: add r0, r4, #0 add r1, r6, #0 add r3, sp - blx _ZN6Course18func_ov00_0207ce20Eiiii + blx _ZN6Course18func_ov00_0207ce20EiiPci add r0, r5, #0 ldr r2, [r0] ldr r1, _0210c3e4 ; =0x000004c0 @@ -23733,7 +23733,7 @@ _0210c218: add r0, r4, #0 add r1, r6, #0 add r3, sp - blx _ZN6Course18func_ov00_0207ce20Eiiii + blx _ZN6Course18func_ov00_0207ce20EiiPci ldr r0, _0210c3ec ; =data_027e0f6c ldr r1, _0210c3e8 ; =0x00000440 ldr r0, [r0] @@ -23750,7 +23750,7 @@ _0210c218: add r0, r4, #0 add r1, r6, #0 add r3, sp - blx _ZN6Course18func_ov00_0207ce20Eiiii + blx _ZN6Course18func_ov00_0207ce20EiiPci mov r0, #0 str r0, [sp, #0xc] ldr r0, _0210c3d8 ; =0x00000540 @@ -23773,7 +23773,7 @@ _0210c218: add r0, r4, #0 add r1, r6, #0 mov r2, #1 - blx _ZN6Course18func_ov00_0207ca78Ev + blx _ZN6Course18func_ov00_0207ca78Eici add r0, r5, #0 ldr r1, [r0] ldr r1, [r1, #0x14] @@ -23802,7 +23802,7 @@ _0210c342: add r0, r4, #0 add r1, r6, #0 add r3, sp - blx _ZN6Course18func_ov00_0207ce20Eiiii + blx _ZN6Course18func_ov00_0207ce20EiiPci ldr r0, _0210c3f0 ; =data_027e103c ldr r1, _0210c3d8 ; =0x00000540 ldr r0, [r0] @@ -23906,7 +23906,7 @@ func_ov04_0210c3fc: ; 0x0210c3fc ldr r2, [r5, #0x24] add r0, r6, #0 add r3, sp, #0x2c - blx _ZN6Course18func_ov00_0207ce20Eiiii + blx _ZN6Course18func_ov00_0207ce20EiiPci mov r2, #0 ldr r0, _0210c4f8 ; =data_02057878 str r2, [sp, #0x20] @@ -23927,7 +23927,7 @@ func_ov04_0210c3fc: ; 0x0210c3fc ldr r2, [r5, #0x24] add r0, r6, #0 add r3, sp, #0x6c - blx _ZN6Course18func_ov00_0207ce20Eiiii + blx _ZN6Course18func_ov00_0207ce20EiiPci mov r1, #0 ldr r0, _0210c4f8 ; =data_02057878 str r1, [sp, #0xc] @@ -24922,7 +24922,7 @@ func_ov04_0210cc20: ; 0x0210cc20 ldrb r1, [r4, #0x13] ldr r2, [r4, #0x24] add r3, sp, #0x10 - blx _ZN6Course18func_ov00_0207ce20Eiiii + blx _ZN6Course18func_ov00_0207ce20EiiPci mov r0, #0 str r0, [sp, #0xc] add r0, sp, #0x10 @@ -24951,7 +24951,7 @@ func_ov04_0210cc58: ; 0x0210cc58 bne _0210cc72 add r0, r1, #0 add r1, r2, #0 - blx _ZN6Course18func_ov00_0207d7a4Ev + blx _ZN6Course14Find_Unk_cc_0cEi add r1, r0, #0 ldr r0, _0210cc78 ; =gOverlayManager bl func_ov03_020faa64 @@ -29104,7 +29104,7 @@ func_ov04_0210f07c: ; 0x0210f07c ldrb r1, [r4] cmp r1, #0xff beq _0210f0f4 - blx _ZN6Course18func_ov00_0207d9ccEi + blx _ZN6Course11Find_Unk_ccEj cmp r0, #0 bne _0210f0f4 ldr r1, _0210f0f8 ; =data_027e0ce0 @@ -29296,20 +29296,20 @@ _0210f1ea: add r0, #2 add r1, r5, #0 add r2, r7, #0 - blx _ZN6Course18func_ov00_0207cb7cEiPS_i + blx _ZN6Course14FindMapGridPosEP5Vec2bPS_j add r0, sp, #0x18 ldrb r0, [r0, #2] add r1, r5, #0 add r2, r7, #0 str r0, [sp, #4] add r0, sp, #0x18 - blx _ZN6Course18func_ov00_0207cb7cEiPS_i + blx _ZN6Course14FindMapGridPosEP5Vec2bPS_j add r0, sp, #0x18 ldrb r0, [r0, #1] add r1, r7, #0 str r0, [sp] add r0, r5, #0 - blx _ZN6Course18func_ov00_0207d4e4Ei + blx _ZN6Course15IsMapInMainGridEj cmp r0, #0 beq _0210f284 add r1, r5, #0 diff --git a/asm/ov15.inc b/asm/ov15.inc index d30b0cfd..9dc863fd 100644 --- a/asm/ov15.inc +++ b/asm/ov15.inc @@ -419,11 +419,11 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_0207c518 -.extern _ZN6Course18func_ov00_0207ca78Ev -.extern _ZN6Course18func_ov00_0207cb7cEiPS_i -.extern _ZN6Course18func_ov00_0207ce20Eiiii -.extern _ZN6Course18func_ov00_0207d634Ei -.extern _ZN6Course18func_ov00_0207d6ecEv +.extern _ZN6Course18func_ov00_0207ca78Eici +.extern _ZN6Course14FindMapGridPosEP5Vec2bPS_j +.extern _ZN6Course18func_ov00_0207ce20EiiPci +.extern _ZN6Course23IsAdjacentMapOnMainGridEi +.extern _ZN6Course14GetAdjacentMapEi .extern _ZN6Course18func_ov00_0207d7bcEv .extern func_ov00_0207da38 .extern func_ov00_0207dce4 diff --git a/asm/ov15.s b/asm/ov15.s index f59f499c..e0c51a1e 100644 --- a/asm/ov15.s +++ b/asm/ov15.s @@ -11705,7 +11705,7 @@ _02129058: add r0, sp, #8 mov r1, r4 mov r2, r6 - bl _ZN6Course18func_ov00_0207cb7cEiPS_i + bl _ZN6Course14FindMapGridPosEP5Vec2bPS_j strb r6, [r7, #0x13] ldrb r3, [sp, #9] ldrb r2, [sp, #8] @@ -11724,7 +11724,7 @@ _02129058: mov r0, r4 mov r1, r6 add r3, r3, #0xa8 - bl _ZN6Course18func_ov00_0207ce20Eiiii + bl _ZN6Course18func_ov00_0207ce20EiiPci mov r0, #0 str r0, [sp, #0xc] add r0, sp, #0x400 @@ -11749,7 +11749,7 @@ _02129058: mov r0, r4 mov r1, r6 add r3, sp, #0x10 - bl _ZN6Course18func_ov00_0207ce20Eiiii + bl _ZN6Course18func_ov00_0207ce20EiiPci ldr r0, _0212923c ; =data_027e0f6c add r1, sp, #0x10 ldr r0, [r0] @@ -11761,7 +11761,7 @@ _02129058: mov r0, r4 mov r1, r6 mov r2, #1 - bl _ZN6Course18func_ov00_0207ca78Ev + bl _ZN6Course18func_ov00_0207ca78Eici mov r0, r7 ldr r1, [r0] ldr r1, [r1, #0x14] @@ -11773,7 +11773,7 @@ _02129058: mov r1, r6 mov r0, r4 add r3, r3, #0xa8 - bl _ZN6Course18func_ov00_0207ce20Eiiii + bl _ZN6Course18func_ov00_0207ce20EiiPci ldr r0, _02129240 ; =data_027e103c add r1, sp, #0x400 ldr r0, [r0] @@ -11869,7 +11869,7 @@ func_ov15_0212925c: ; 0x0212925c _02129300: mov r0, r8 mov r1, r7 - bl _ZN6Course18func_ov00_0207d634Ei + bl _ZN6Course23IsAdjacentMapOnMainGridEi cmp r0, #0 beq _021296ac ldr r1, _021296c4 ; =data_027e0ce0 @@ -11895,7 +11895,7 @@ _0212935c: str r0, [r1, #0x188] mov r0, r8 mov r1, r7 - bl _ZN6Course18func_ov00_0207d6ecEv + bl _ZN6Course14GetAdjacentMapEi mov r1, #0 str r1, [sp, #0x10] mov r1, #0x47 @@ -11922,7 +11922,7 @@ _0212935c: str r0, [sp, #0x18] mov r0, r8 mov r1, r7 - bl _ZN6Course18func_ov00_0207d634Ei + bl _ZN6Course23IsAdjacentMapOnMainGridEi cmp r0, #0 beq _021293f8 mov r0, r9 @@ -12044,7 +12044,7 @@ _0212953c: _02129598: mov r0, r8 mov r1, r7 - bl _ZN6Course18func_ov00_0207d634Ei + bl _ZN6Course23IsAdjacentMapOnMainGridEi cmp r0, #0 beq _021295ec mov r0, r9 @@ -12096,7 +12096,7 @@ _0212960c: bl func_ov00_02093a5c mov r0, r8 mov r1, r7 - bl _ZN6Course18func_ov00_0207d634Ei + bl _ZN6Course23IsAdjacentMapOnMainGridEi cmp r0, #0 beq _0212969c mov r0, r9 diff --git a/asm/ov18.inc b/asm/ov18.inc index db3b770b..816f19af 100644 --- a/asm/ov18.inc +++ b/asm/ov18.inc @@ -231,8 +231,8 @@ .extern func_ov00_0207c2e8 .extern func_ov00_0207c444 .extern func_ov00_0207c474 -.extern _ZN6Course18func_ov00_0207d634Ei -.extern _ZN6Course18func_ov00_0207d6ecEv +.extern _ZN6Course23IsAdjacentMapOnMainGridEi +.extern _ZN6Course14GetAdjacentMapEi .extern func_ov00_0207da38 .extern func_ov00_0207ddf4 .extern func_ov00_0207e060 diff --git a/asm/ov18.s b/asm/ov18.s index 97efd237..6bbccabc 100644 --- a/asm/ov18.s +++ b/asm/ov18.s @@ -345,7 +345,7 @@ func_ov18_0215b86c: ; 0x0215b86c _0215b934: mov r0, r8 mov r1, r7 - bl _ZN6Course18func_ov00_0207d634Ei + bl _ZN6Course23IsAdjacentMapOnMainGridEi cmp r0, #0 beq _0215bd54 ldr r1, _0215bd74 ; =data_027e0ce0 @@ -371,7 +371,7 @@ _0215b990: str r0, [r1, #0x190] mov r0, r8 mov r1, r7 - bl _ZN6Course18func_ov00_0207d6ecEv + bl _ZN6Course14GetAdjacentMapEi mov r1, #0 str r1, [sp, #0xc] mov r1, #0x47 diff --git a/asm/ov20.inc b/asm/ov20.inc index 5f5a1e50..5fc86e7f 100644 --- a/asm/ov20.inc +++ b/asm/ov20.inc @@ -1,6 +1,14 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager18Get_MapData_Unk_d0Ev +.extern _ZN10MapManager18Get_MapData_Unk_d8Ev +.extern _ZN10MapManager18func_ov00_020836bcEjPi +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi +.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN11ItemManager7AddItemEi .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList @@ -11,6 +19,13 @@ .extern _ZN13LinkStateBase18func_ov00_020a8a4cEii .extern _ZN13LinkStateBase18func_ov00_020a8d40Ev .extern _ZN13LinkStateBase20GetPlayerControlDataEv +.extern _ZN14AdventureFlags18func_Ov00_02097810Ei +.extern _ZN14AdventureFlags18func_ov00_02097968Ei +.extern _ZN14AdventureFlags18func_ov00_02097b9cEv +.extern _ZN14AdventureFlags18func_ov00_02097bccEv +.extern _ZN14AdventureFlags18func_ov00_0209809cEv +.extern _ZN14AdventureFlags3GetEj +.extern _ZN14AdventureFlags3SetEjb .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p @@ -77,9 +92,12 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN9ActorTypeC1EjPFP5ActorvEPv +.extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager19GetActiveFairyLevelEi +.extern __register_global_object .extern data_02050f54 .extern data_02056be4 .extern data_027e0764 @@ -89,7 +107,6 @@ .extern data_027e0d78 .extern data_027e0de4 .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f84 @@ -146,14 +163,11 @@ .extern func_02036770 .extern func_02036edc .extern func_020370d0 -.extern _ZN9ActorTypeC1EjPFP5ActorvEPv -.extern _ZN9ActorTypeD1Ev .extern func_0203eba8 .extern func_0203ebc8 .extern func_02042f68 .extern func_0204f614 .extern func_0204f754 -.extern __register_global_object .extern func_ov00_02079e68 .extern func_ov00_02079eb4 .extern func_ov00_0207a1c8 @@ -167,14 +181,6 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern _ZN10MapManager18Get_MapData_Unk_d0Ev -.extern _ZN10MapManager18Get_MapData_Unk_d8Ev -.extern _ZN10MapManager18func_ov00_020836bcEjPi -.extern _ZN10MapManager18func_ov00_02083770Eji -.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p -.extern _ZN10MapManager18func_ov00_02083c7cEP5Vec3pi -.extern _ZN10MapManager16MapData_vfunc_68Ev -.extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p .extern func_ov00_02087d34 .extern func_ov00_02087d84 .extern func_ov00_02088000 @@ -218,13 +224,6 @@ .extern func_ov00_0208ccdc .extern func_ov00_0208cd0c .extern func_ov00_02094824 -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags3SetEjb -.extern _ZN14AdventureFlags18func_Ov00_02097810Ei -.extern _ZN14AdventureFlags18func_ov00_02097968Ei -.extern _ZN14AdventureFlags18func_ov00_02097b9cEv -.extern _ZN14AdventureFlags18func_ov00_02097bccEv -.extern _ZN14AdventureFlags18func_ov00_0209809cEv .extern func_ov00_0209a4f4 .extern func_ov00_0209a508 .extern func_ov00_020a61ac @@ -426,4 +425,5 @@ .extern func_ov17_021687f0 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern strncpy diff --git a/asm/ov28.inc b/asm/ov28.inc index 4f9adee9..a585d5dc 100644 --- a/asm/ov28.inc +++ b/asm/ov28.inc @@ -102,7 +102,6 @@ .extern data_027e0c68 .extern data_027e0ce0 .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -401,6 +400,7 @@ .extern func_ov14_0214aa2c .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern strcat .extern strcpy diff --git a/asm/ov32.inc b/asm/ov32.inc index cfd6bb1b..28d66cbe 100644 --- a/asm/ov32.inc +++ b/asm/ov32.inc @@ -90,7 +90,6 @@ .extern data_027e0d78 .extern data_027e0e58 .extern data_027e0e5c -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -347,4 +346,5 @@ .extern func_ov14_0213b984 .extern func_ov14_0213d480 .extern gAdventureFlags +.extern gMapManager .extern strncpy diff --git a/asm/ov38.inc b/asm/ov38.inc index 72eaa4fb..8ef6b033 100644 --- a/asm/ov38.inc +++ b/asm/ov38.inc @@ -1,6 +1,8 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084be0Eii .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN14AdventureFlags18func_Ov00_02097810Ei @@ -60,6 +62,8 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN9ActorTypeC1EjPFP5ActorvEPv +.extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern __register_global_object @@ -75,7 +79,6 @@ .extern data_027e0d0c .extern data_027e0e58 .extern data_027e0e5c -.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f94 @@ -152,8 +155,6 @@ .extern func_0202e58c .extern func_02036770 .extern func_02036ce4 -.extern _ZN9ActorTypeC1EjPFP5ActorvEPv -.extern _ZN9ActorTypeD1Ev .extern func_0204f614 .extern func_0204f754 .extern func_ov00_0207a1c8 @@ -162,8 +163,6 @@ .extern func_ov00_0207c358 .extern func_ov00_0207c444 .extern func_ov00_0207c7e8 -.extern _ZN10MapManager18func_ov00_02084b38Eiii -.extern _ZN10MapManager18func_ov00_02084be0Eii .extern func_ov00_02087d34 .extern func_ov00_02087d84 .extern func_ov00_02088000 @@ -273,4 +272,5 @@ .extern func_ov57_02199e24 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern strcpy diff --git a/asm/ov52.inc b/asm/ov52.inc index 31f5743a..68329ec3 100644 --- a/asm/ov52.inc +++ b/asm/ov52.inc @@ -73,7 +73,6 @@ .extern data_027e0ce0 .extern data_027e0d3c .extern data_027e0e58 -.extern gMapManager .extern data_027e0f68 .extern data_027e0f78 .extern data_027e0fa0 @@ -208,5 +207,6 @@ .extern func_ov14_0214a92c .extern func_ov14_0214aa0c .extern gAdventureFlags +.extern gMapManager .extern gOverlayManager .extern strcpy diff --git a/include/Map/Course.hpp b/include/Map/Course.hpp index 3b51529b..917a5d09 100644 --- a/include/Map/Course.hpp +++ b/include/Map/Course.hpp @@ -3,6 +3,8 @@ #include "global.h" #include "types.h" +#include "Map/Course_Unk_c8.hpp" +#include "Map/Course_Unk_cc.hpp" #include "Physics/AABB.hpp" #include "System/SysNew.hpp" @@ -27,21 +29,18 @@ class Course : public SysObject { /* 004 */ CourseType mType; /* 008 */ unk32 mUnk_008; /* 00c */ char mName[0x10]; - /* 01c */ unk8 mUnk_01c; - /* 01d */ unk8 mUnk_01d; + /* 01c */ Vec2b mCurrMapPos; // position in the map grid /* 01e */ unk8 mUnk_01e; /* 01f */ unk8 mUnk_01f; - /* 020 */ unk8 mUnk_020[10][10]; - /* 084 */ s8 mUnk_084; - /* 084 */ s8 mUnk_085; - /* 084 */ s8 mUnk_086; - /* 084 */ s8 mUnk_087; - /* 088 */ unk32 mUnk_088; - /* 08c */ unk32 mUnk_08c; + /* 020 */ unk8 mMapGrid[10][10]; + /* 084 */ Vec2b mMainGrid; // part of the grid where you can walk off screen to another map + /* 086 */ Vec2b mMainGridSize; + /* 088 */ s32 mScreenMapOffsetX; + /* 08c */ s32 mScreenMapOffsetY; /* 090 */ unk32 mUnk_090; /* 094 */ unk32 mUnk_094; /* 098 */ AABB mBounds; - /* 0b0 */ s8 mUnk_0b0; + /* 0b0 */ s8 mNumMaps; /* 0b1 */ unk8 mUnk_0b1; /* 0b2 */ unk8 mUnk_0b2; /* 0b3 */ unk8 mUnk_0b3; @@ -50,64 +49,64 @@ class Course : public SysObject { /* 0bc */ unk32 mUnk_0bc; /* 0c0 */ unk32 mUnk_0c0; /* 0c4 */ unk32 mUnk_0c4; - /* 0c8 */ void *mUnk_0c8; - /* 0cc */ unk32 mUnk_0cc[100]; + /* 0c8 */ Course_Unk_c8 *mUnk_0c8; + /* 0cc */ Course_Unk_cc *mUnk_0cc[100]; /* 25c */ bool mUnk_25c; /* 25d */ bool mBlueWarpOpen; /* 25e */ unk8 mUnk_25e; /* 25f */ unk8 mUnk_25f; /* 260 */ unk32 mNumKeys; - /* 264 */ unk32 mUnk_264; - /* 268 */ unk32 mFlags; // knows which doors are open in a dungeon + /* 260 */ unk32 mFlags0[1]; + /* 268 */ unk32 mFlags1[1]; // knows which doors are open in a dungeon /* 26c */ - unk8 GetDungeonProgress(CourseProgress *param_2); - unk8 func_ov00_0207ca28(unk32 param_2, unk32 param_3, unk32 param_4); - char * SetCourseName(char *src); - static unk8 func_ov00_0207ca78(); - bool func_ov00_0207caa8(unk32 param_2, unk32 param_3, unk32 param_4); - unk32 func_ov00_0207cb30(unk32 param_2); - static unk8 func_ov00_0207cb7c(unk32 param_1, Course *param_2, unk32 param_3); - Vec3p * func_ov00_0207cbd8(unk32 param_2); - void func_ov00_0207cbe8(unk32 param_2); - unk8 func_ov00_0207cc24(unk32 param_2); - unk32 func_ov00_0207cc6c(); + void GetDungeonProgress(CourseProgress *param_2); + void func_ov00_0207ca28(s32 param_2, unk32 param_3, unk32 param_4); + char* SetCourseName(char *src); + void func_ov00_0207ca78(unk32 param_2, unk8 param_3, unk32 param_4); + bool func_ov00_0207caa8(s32 param_2, unk32 *param_3, unk8 *param_4); + unk32 func_ov00_0207cb30(s32 param_2); + static void FindMapGridPos(Vec2b *pos, Course *param_2, u32 map); + Vec3p* Find_Unk_cc_14(unk32 param_2); + void func_ov00_0207cbe8(s32 param_2); + unk8 func_ov00_0207cc24(s32 param_2); + unk32 Find_Unk_cc_08(); void GetMCSFilePath(unk32 buf, s32 fileIndex, unk32 fileType); void GetMRCFilePath(unk32 param_2, unk32 buf, unk32 param_4); - unk8 func_ov00_0207ce20(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); - static unk8 func_ov00_0207ce4c(unk8 param_1, unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5, unk32 param_6); - bool func_ov00_0207d404(unk32 param_2, unk32 param_3, unk32 param_4); - bool func_ov00_0207d47c(); - bool func_ov00_0207d490(unk32 param_2, unk32 param_3); - bool func_ov00_0207d4e4(unk32 param_2); - bool func_ov00_0207d518(s32 param_2, s32 *param_3, s32 *param_4); - unk8 func_ov00_0207d5c4(); - unk8 func_ov00_0207d5f0(); - unk8 func_ov00_0207d61c(); - unk8 GetUnk_c8_Unk_4(); - bool func_ov00_0207d634(unk32 param_2); - unk8 func_ov00_0207d6ac(unk32 param_2, unk32 param_3); - static unk8 func_ov00_0207d6ec(); - unk8 func_ov00_0207d738(unk32 param_2); - unk8 func_ov00_0207d758(unk32 param_2); - static unk8 func_ov00_0207d778(); - static unk8 func_ov00_0207d788(); - static unk8 func_ov00_0207d7a4(); + void func_ov00_0207ce20(unk32 param_2, unk32 param_3, char *param_4, unk32 param_5); + void func_ov00_0207ce4c(s32 param_2, s32 param_3, unk32 param_4, char *param_5, unk32 param_6); + bool func_ov00_0207d404(s32 param_2, unk32 param_3, unk32 param_4); + bool IsCurrentMapInMainGrid(); + bool IsInMainGrid(s32 x, s32 y); + bool IsMapInMainGrid(u32 map); + bool GetMapScreenPos(s32 map, s32 *x, s32 *y); + u32 GetScreenMapCellSizeX(); + u32 GetScreenMapCellSizeY(); + unk32 Get_Unk_c8_00(); + unk32 Get_Unk_c8_04(); + bool IsAdjacentMapOnMainGrid(unk32 dir); + bool HasGridMap(s32 x, s32 y); + unk8 GetAdjacentMap(unk32 dir); + u32 GetAdjacentMapX(s32 ir); + u32 GetAdjacentMapY(s32 dir); + u16 FindCurrent_Unk_cc_04(); + u32 Find_Unk_cc_04(unk32 param_2); + unk32 Find_Unk_cc_0c(unk32 map); void func_ov00_0207d7bc(); - unk8 func_ov00_0207d7dc(unk32 param_2, unk32 param_3); - unk8 func_ov00_0207d828(unk32 param_2); - unk8 func_ov00_0207d848(unk32 param_2, unk32 param_3); - unk8 func_ov00_0207d894(unk32 param_2); - static unk8 func_ov00_0207d8b4(); - bool func_ov00_0207d8d4(unk32 param_2); - static unk8 func_ov00_0207d8ec(); - bool func_ov00_0207d90c(unk32 param_2); - static unk8 func_ov00_0207d924(); - bool func_ov00_0207d944(unk32 param_2); - static unk8 func_ov00_0207d95c(); + void SetFlag0(u32 index, bool value); + bool GetFlag0(u32 index); + void SetFlag1(u32 index, bool value); + bool SetFlag1(u32 index); + void SetFlag0_Unk_cc(unk32 index, bool value); + bool GetFlag0_Unk_cc(unk32 param_2); + void SetFlag1_Unk_cc(unk32 param_2, bool param_3); + bool GetFlag1_Unk_cc(unk32 param_2); + void SetFlag2_Unk_cc(unk32 param_2, bool param_3); + bool GetFlag2_Unk_cc(unk32 param_2); + void SetFlag3_Unk_cc(unk32 param_2, bool param_3); bool func_ov00_0207d97c(unk32 param_2); - static unk8 func_ov00_0207d994(); - bool func_ov00_0207d9b4(unk32 param_2); - unk32 func_ov00_0207d9cc(unk32 param_2); - s32 func_ov00_0207da14(); + void func_ov00_0207d994(unk32 param_2, unk32 param_3); + bool GetFlag3_Unk_cc(unk32 param_2); + Course_Unk_cc* Find_Unk_cc(u32 map); + Course_Unk_cc* FindCurrent_Unk_cc(); }; diff --git a/include/Map/Course_Unk_c8.hpp b/include/Map/Course_Unk_c8.hpp new file mode 100644 index 00000000..317f2b70 --- /dev/null +++ b/include/Map/Course_Unk_c8.hpp @@ -0,0 +1,19 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "System/SysNew.hpp" + +class Course_Unk_c8 : public SysObject { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk8 mUnk_0c; + /* 0d */ unk8 mUnk_0d[3]; + /* 10 */ void *mUnk_10; + /* 14 */ s32 mUnk_14; + /* 18 */ u32 mUnk_18; + /* 1c */ +}; diff --git a/include/Map/Course_Unk_cc.hpp b/include/Map/Course_Unk_cc.hpp new file mode 100644 index 00000000..86504f6f --- /dev/null +++ b/include/Map/Course_Unk_cc.hpp @@ -0,0 +1,28 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "lib/math.h" + +#include "System/SysNew.hpp" + +class Course_Unk_cc : public SysObject { +public: + /* 00 */ char mUnk_00; + /* 01 */ s8 mMap; + /* 02 */ unk16 mUnk_02; + /* 04 */ u16 mUnk_04; + /* 06 */ unk8 mUnk_06[2]; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk8 mUnk_10[4]; + /* 14 */ Vec3p mUnk_14; + /* 20 */ unk32 mFlags0[1]; + /* 24 */ unk32 mFlags1[8]; + /* 44 */ unk32 mFlags2[2]; + /* 4c */ unk32 mFlags3[1]; + /* 50 */ unk32 mUnk_50; + /* 54 */ unk32 mUnk_54; + /* 58 */ +}; diff --git a/include/lib/math.h b/include/lib/math.h index 8790c9f6..b601dc71 100644 --- a/include/lib/math.h +++ b/include/lib/math.h @@ -13,6 +13,12 @@ typedef s16 q4; #define ROUND_Q20(n) (((s32)(n) + 0x800) >> 12) +typedef struct { + /* 0 */ s8 x; + /* 1 */ s8 y; + /* 2 */ +} Vec2b; + typedef struct { /* 0 */ q20 x; /* 4 */ q20 y; diff --git a/src/00_Core/Map/Course.cpp b/src/00_Core/Map/Course.cpp index 27a4fe96..28fe2330 100644 --- a/src/00_Core/Map/Course.cpp +++ b/src/00_Core/Map/Course.cpp @@ -2,54 +2,54 @@ #ifdef STUBS -unk8 Course::GetDungeonProgress(CourseProgress *param_2) {} -unk8 Course::func_ov00_0207ca28(unk32 param_2, unk32 param_3, unk32 param_4) {} -char * Course::SetCourseName(char *src) {} -unk8 Course::func_ov00_0207ca78() {} -bool Course::func_ov00_0207caa8(unk32 param_2, unk32 param_3, unk32 param_4) {} -unk32 Course::func_ov00_0207cb30(unk32 param_2) {} -unk8 Course::func_ov00_0207cb7c(unk32 param_1, Course *param_2, unk32 param_3) {} -Vec3p * Course::func_ov00_0207cbd8(unk32 param_2) {} -void Course::func_ov00_0207cbe8(unk32 param_2) {} -unk8 Course::func_ov00_0207cc24(unk32 param_2) {} -unk32 Course::func_ov00_0207cc6c() {} +void Course::GetDungeonProgress(CourseProgress *param_2) {} +void Course::func_ov00_0207ca28(s32 param_2, unk32 param_3, unk32 param_4) {} +char* Course::SetCourseName(char *src) {} +void Course::func_ov00_0207ca78(unk32 param_2, unk8 param_3, unk32 param_4) {} +bool Course::func_ov00_0207caa8(s32 param_2, unk32 *param_3, unk8 *param_4) {} +unk32 Course::func_ov00_0207cb30(s32 param_2) {} +void Course::FindMapGridPos(Vec2b *pos, Course *param_2, u32 map) {} +Vec3p* Course::Find_Unk_cc_14(unk32 param_2) {} +void Course::func_ov00_0207cbe8(s32 param_2) {} +unk8 Course::func_ov00_0207cc24(s32 param_2) {} +unk32 Course::Find_Unk_cc_08() {} void Course::GetMCSFilePath(unk32 buf, s32 fileIndex, unk32 fileType) {} void Course::GetMRCFilePath(unk32 param_2, unk32 buf, unk32 param_4) {} -unk8 Course::func_ov00_0207ce20(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5) {} -unk8 Course::func_ov00_0207ce4c(unk8 param_1, unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5, unk32 param_6) {} -bool Course::func_ov00_0207d404(unk32 param_2, unk32 param_3, unk32 param_4) {} -bool Course::func_ov00_0207d47c() {} -bool Course::func_ov00_0207d490(unk32 param_2, unk32 param_3) {} -bool Course::func_ov00_0207d4e4(unk32 param_2) {} -bool Course::func_ov00_0207d518(s32 param_2, s32 *param_3, s32 *param_4) {} -unk8 Course::func_ov00_0207d5c4() {} -unk8 Course::func_ov00_0207d5f0() {} -unk8 Course::func_ov00_0207d61c() {} -unk8 Course::GetUnk_c8_Unk_4() {} -bool Course::func_ov00_0207d634(unk32 param_2) {} -unk8 Course::func_ov00_0207d6ac(unk32 param_2, unk32 param_3) {} -unk8 Course::func_ov00_0207d6ec() {} -unk8 Course::func_ov00_0207d738(unk32 param_2) {} -unk8 Course::func_ov00_0207d758(unk32 param_2) {} -unk8 Course::func_ov00_0207d778() {} -unk8 Course::func_ov00_0207d788() {} -unk8 Course::func_ov00_0207d7a4() {} +void Course::func_ov00_0207ce20(unk32 param_2, unk32 param_3, char *param_4, unk32 param_5) {} +void Course::func_ov00_0207ce4c(s32 param_2, s32 param_3, unk32 param_4, char *param_5, unk32 param_6) {} +bool Course::func_ov00_0207d404(s32 param_2, unk32 param_3, unk32 param_4) {} +bool Course::IsCurrentMapInMainGrid() {} +bool Course::IsInMainGrid(s32 x, s32 y) {} +bool Course::IsMapInMainGrid(u32 map) {} +bool Course::GetMapScreenPos(s32 map, s32 *x, s32 *y) {} +u32 Course::GetScreenMapCellSizeX() {} +u32 Course::GetScreenMapCellSizeY() {} +unk32 Course::Get_Unk_c8_00() {} +unk32 Course::Get_Unk_c8_04() {} +bool Course::IsAdjacentMapOnMainGrid(unk32 dir) {} +bool Course::HasGridMap(s32 x, s32 y) {} +unk8 Course::GetAdjacentMap(unk32 dir) {} +u32 Course::GetAdjacentMapX(s32 ir) {} +u32 Course::GetAdjacentMapY(s32 dir) {} +u16 Course::FindCurrent_Unk_cc_04() {} +u32 Course::Find_Unk_cc_04(unk32 param_2) {} +unk32 Course::Find_Unk_cc_0c(unk32 map) {} void Course::func_ov00_0207d7bc() {} -unk8 Course::func_ov00_0207d7dc(unk32 param_2, unk32 param_3) {} -unk8 Course::func_ov00_0207d828(unk32 param_2) {} -unk8 Course::func_ov00_0207d848(unk32 param_2, unk32 param_3) {} -unk8 Course::func_ov00_0207d894(unk32 param_2) {} -unk8 Course::func_ov00_0207d8b4() {} -bool Course::func_ov00_0207d8d4(unk32 param_2) {} -unk8 Course::func_ov00_0207d8ec() {} -bool Course::func_ov00_0207d90c(unk32 param_2) {} -unk8 Course::func_ov00_0207d924() {} -bool Course::func_ov00_0207d944(unk32 param_2) {} -unk8 Course::func_ov00_0207d95c() {} +void Course::SetFlag0(u32 index, bool value) {} +bool Course::GetFlag0(u32 index) {} +void Course::SetFlag1(u32 index, bool value) {} +bool Course::SetFlag1(u32 index) {} +void Course::SetFlag0_Unk_cc(unk32 index, bool value) {} +bool Course::GetFlag0_Unk_cc(unk32 param_2) {} +void Course::SetFlag1_Unk_cc(unk32 param_2, bool param_3) {} +bool Course::GetFlag1_Unk_cc(unk32 param_2) {} +void Course::SetFlag2_Unk_cc(unk32 param_2, bool param_3) {} +bool Course::GetFlag2_Unk_cc(unk32 param_2) {} +void Course::SetFlag3_Unk_cc(unk32 param_2, bool param_3) {} bool Course::func_ov00_0207d97c(unk32 param_2) {} -unk8 Course::func_ov00_0207d994() {} -bool Course::func_ov00_0207d9b4(unk32 param_2) {} -unk32 Course::func_ov00_0207d9cc(unk32 param_2) {} -s32 Course::func_ov00_0207da14() {} +void Course::func_ov00_0207d994(unk32 param_2, unk32 param_3) {} +bool Course::GetFlag3_Unk_cc(unk32 param_2) {} +Course_Unk_cc* Course::Find_Unk_cc(u32 map) {} +Course_Unk_cc* Course::FindCurrent_Unk_cc() {} #endif From a9a768b1cbf829c07322e1da38aff33eb1ec7d15 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 28 Apr 2024 19:20:16 +0200 Subject: [PATCH 35/76] `Course_Unk_cc` -> `MapData` --- include/Map/Course.hpp | 2 +- include/Map/{Course_Unk_cc.hpp => MapData.hpp} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename include/Map/{Course_Unk_cc.hpp => MapData.hpp} (88%) diff --git a/include/Map/Course.hpp b/include/Map/Course.hpp index 917a5d09..a266fd3e 100644 --- a/include/Map/Course.hpp +++ b/include/Map/Course.hpp @@ -50,7 +50,7 @@ class Course : public SysObject { /* 0c0 */ unk32 mUnk_0c0; /* 0c4 */ unk32 mUnk_0c4; /* 0c8 */ Course_Unk_c8 *mUnk_0c8; - /* 0cc */ Course_Unk_cc *mUnk_0cc[100]; + /* 0cc */ MapData *mMapData[100]; /* 25c */ bool mUnk_25c; /* 25d */ bool mBlueWarpOpen; /* 25e */ unk8 mUnk_25e; diff --git a/include/Map/Course_Unk_cc.hpp b/include/Map/MapData.hpp similarity index 88% rename from include/Map/Course_Unk_cc.hpp rename to include/Map/MapData.hpp index 86504f6f..be4b691f 100644 --- a/include/Map/Course_Unk_cc.hpp +++ b/include/Map/MapData.hpp @@ -7,7 +7,7 @@ #include "System/SysNew.hpp" -class Course_Unk_cc : public SysObject { +class MapData : public SysObject { public: /* 00 */ char mUnk_00; /* 01 */ s8 mMap; @@ -17,7 +17,7 @@ public: /* 08 */ unk32 mUnk_08; /* 0c */ unk32 mUnk_0c; /* 10 */ unk8 mUnk_10[4]; - /* 14 */ Vec3p mUnk_14; + /* 14 */ Vec3p mCenter; /* 20 */ unk32 mFlags0[1]; /* 24 */ unk32 mFlags1[8]; /* 44 */ unk32 mFlags2[2]; From 3b67d0f2201a090bd6d05808a18958dd1c4adca6 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 28 Apr 2024 19:21:00 +0200 Subject: [PATCH 36/76] Update map components --- include/Map/Entrance.hpp | 2 +- include/Map/MapBase.hpp | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/include/Map/Entrance.hpp b/include/Map/Entrance.hpp index 318b5d2c..d9bea6ef 100644 --- a/include/Map/Entrance.hpp +++ b/include/Map/Entrance.hpp @@ -10,7 +10,7 @@ class Entrance : public SysObject { /* 00 */ Vec3p mPos; /* 0c */ unk16 mAngle; - /* 0e */ unk8 mUnk_0e; + /* 0e */ s8 mUnk_0e; /* 0f */ unk8 mUnk_0f; /* 10 */ s32 mUnk_10; /* 14 */ diff --git a/include/Map/MapBase.hpp b/include/Map/MapBase.hpp index 9a9a2c37..0608b6aa 100644 --- a/include/Map/MapBase.hpp +++ b/include/Map/MapBase.hpp @@ -45,11 +45,8 @@ public: /* 013 */ unk8 mUnk_013; /* 014 */ unk8 mUnk_014; /* 015 */ unk8 mUnk_015; - /* 016 */ unk8 mUnk_016; - /* 017 */ unk8 mUnk_017; - /* 017 */ unk8 mUnk_017; - /* 018 */ unk8 mUnk_018; - /* 019 */ unk8 mUnk_019; + /* 016 */ unk8 mUnk_016[2]; + /* 018 */ unk8 mUnk_018[2]; /* 01a */ unk8 mUnk_01a; /* 01b */ unk8 mUnk_01b; /* 01c */ unk8 mUnk_01c; From 4e3235b2ec1f35518991e24fe889134324a717e4 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 14:54:22 +0200 Subject: [PATCH 37/76] Re-remangle `Course` --- asm/ov00/Map/Course.s | 174 ++++++++++++++++---------------- asm/ov00/Map/MapManager.inc | 28 ++--- asm/ov00/Map/MapManager.s | 34 +++---- asm/ov00/ov00_0207da38.inc | 2 +- asm/ov00/ov00_0207da38.s | 2 +- asm/ov04.inc | 4 +- asm/ov04.s | 4 +- include/Map/CameraViewpoint.hpp | 2 +- include/Map/Course.hpp | 36 +++---- src/00_Core/Map/Course.cpp | 34 +++---- 10 files changed, 160 insertions(+), 160 deletions(-) diff --git a/asm/ov00/Map/Course.s b/asm/ov00/Map/Course.s index 8995602a..a54df401 100644 --- a/asm/ov00/Map/Course.s +++ b/asm/ov00/Map/Course.s @@ -56,7 +56,7 @@ _ZN6Course18func_ov00_0207ca78Eici: ; 0x0207ca78 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r2 - bl _ZN6Course11Find_Unk_ccEj + bl _ZN6Course11FindMapDataEj movs r1, r0 ldmeqia sp!, {r3, r4, r5, pc} strb r4, [r1] @@ -161,14 +161,14 @@ _0207cb90: ldmia sp!, {r3, r4, r5, pc} arm_func_end _ZN6Course14FindMapGridPosEP5Vec2bPS_j - .global _ZN6Course14Find_Unk_cc_14Ei - arm_func_start _ZN6Course14Find_Unk_cc_14Ei -_ZN6Course14Find_Unk_cc_14Ei: ; 0x0207cbd8 + .global _ZN6Course13FindMapCenterEi + arm_func_start _ZN6Course13FindMapCenterEi +_ZN6Course13FindMapCenterEi: ; 0x0207cbd8 stmdb sp!, {r3, lr} - bl _ZN6Course11Find_Unk_ccEj + bl _ZN6Course11FindMapDataEj add r0, r0, #0x14 ldmia sp!, {r3, pc} - arm_func_end _ZN6Course14Find_Unk_cc_14Ei + arm_func_end _ZN6Course13FindMapCenterEi .global _ZN6Course18func_ov00_0207cbe8Ei arm_func_start _ZN6Course18func_ov00_0207cbe8Ei @@ -213,16 +213,16 @@ _ZN6Course18func_ov00_0207cc24Ei: ; 0x0207cc24 ldmia sp!, {r3, pc} arm_func_end _ZN6Course18func_ov00_0207cc24Ei - .global _ZN6Course14Find_Unk_cc_08Ev - arm_func_start _ZN6Course14Find_Unk_cc_08Ev -_ZN6Course14Find_Unk_cc_08Ev: ; 0x0207cc6c + .global _ZN6Course18FindMapData_Unk_08Ei + arm_func_start _ZN6Course18FindMapData_Unk_08Ei +_ZN6Course18FindMapData_Unk_08Ei: ; 0x0207cc6c stmdb sp!, {r3, lr} - bl _ZN6Course11Find_Unk_ccEj + bl _ZN6Course11FindMapDataEj cmp r0, #0 moveq r0, #0 ldrne r0, [r0, #8] ldmia sp!, {r3, pc} - arm_func_end _ZN6Course14Find_Unk_cc_08Ev + arm_func_end _ZN6Course18FindMapData_Unk_08Ei .global _ZN6Course14GetMCSFilePathEiii arm_func_start _ZN6Course14GetMCSFilePathEiii @@ -1064,44 +1064,44 @@ _0207d770: bx lr arm_func_end _ZN6Course15GetAdjacentMapYEi - .global _ZN6Course21FindCurrent_Unk_cc_04Ev - arm_func_start _ZN6Course21FindCurrent_Unk_cc_04Ev -_ZN6Course21FindCurrent_Unk_cc_04Ev: ; 0x0207d778 + .global _ZN6Course25FindCurrentMapData_Unk_04Ev + arm_func_start _ZN6Course25FindCurrentMapData_Unk_04Ev +_ZN6Course25FindCurrentMapData_Unk_04Ev: ; 0x0207d778 stmdb sp!, {r3, lr} - bl _ZN6Course18FindCurrent_Unk_ccEv + bl _ZN6Course18FindCurrentMapDataEv ldrh r0, [r0, #4] ldmia sp!, {r3, pc} - arm_func_end _ZN6Course21FindCurrent_Unk_cc_04Ev + arm_func_end _ZN6Course25FindCurrentMapData_Unk_04Ev - .global _ZN6Course14Find_Unk_cc_04Ei - arm_func_start _ZN6Course14Find_Unk_cc_04Ei -_ZN6Course14Find_Unk_cc_04Ei: ; 0x0207d788 + .global _ZN6Course18FindMapData_Unk_04Ei + arm_func_start _ZN6Course18FindMapData_Unk_04Ei +_ZN6Course18FindMapData_Unk_04Ei: ; 0x0207d788 stmdb sp!, {r3, lr} - bl _ZN6Course11Find_Unk_ccEj + bl _ZN6Course11FindMapDataEj cmp r0, #0 ldreq r0, _0207d7a0 ; =0x0000ffff ldrneh r0, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 - arm_func_end _ZN6Course14Find_Unk_cc_04Ei + arm_func_end _ZN6Course18FindMapData_Unk_04Ei _0207d7a0: .word 0x0000ffff - .global _ZN6Course14Find_Unk_cc_0cEi - arm_func_start _ZN6Course14Find_Unk_cc_0cEi -_ZN6Course14Find_Unk_cc_0cEi: ; 0x0207d7a4 + .global _ZN6Course18FindMapData_Unk_0cEi + arm_func_start _ZN6Course18FindMapData_Unk_0cEi +_ZN6Course18FindMapData_Unk_0cEi: ; 0x0207d7a4 stmdb sp!, {r3, lr} - bl _ZN6Course11Find_Unk_ccEj + bl _ZN6Course11FindMapDataEj cmp r0, #0 moveq r0, #0 ldrne r0, [r0, #0xc] ldmia sp!, {r3, pc} - arm_func_end _ZN6Course14Find_Unk_cc_0cEi + arm_func_end _ZN6Course18FindMapData_Unk_0cEi .global _ZN6Course18func_ov00_0207d7bcEv arm_func_start _ZN6Course18func_ov00_0207d7bcEv _ZN6Course18func_ov00_0207d7bcEv: ; 0x0207d7bc stmdb sp!, {r3, lr} - bl _ZN6Course18FindCurrent_Unk_ccEv + bl _ZN6Course18FindCurrentMapDataEv ldr r2, _0207d7d8 ; =data_027e103c ldrh r1, [r0, #4] ldr r0, [r2] @@ -1187,129 +1187,129 @@ _ZN6Course8SetFlag1Ej: ; 0x0207d894 bx lr arm_func_end _ZN6Course8SetFlag1Ej - .global _ZN6Course15SetFlag0_Unk_ccEib - arm_func_start _ZN6Course15SetFlag0_Unk_ccEib -_ZN6Course15SetFlag0_Unk_ccEib: ; 0x0207d8b4 + .global _ZN6Course15SetMapDataFlag0Eib + arm_func_start _ZN6Course15SetMapDataFlag0Eib +_ZN6Course15SetMapDataFlag0Eib: ; 0x0207d8b4 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 - bl _ZN6Course18FindCurrent_Unk_ccEv + bl _ZN6Course18FindCurrentMapDataEv mov r1, r5 mov r2, r4 bl func_ov00_0209740c ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course15SetFlag0_Unk_ccEib + arm_func_end _ZN6Course15SetMapDataFlag0Eib - .global _ZN6Course15GetFlag0_Unk_ccEi - arm_func_start _ZN6Course15GetFlag0_Unk_ccEi -_ZN6Course15GetFlag0_Unk_ccEi: ; 0x0207d8d4 + .global _ZN6Course15GetMapDataFlag0Ei + arm_func_start _ZN6Course15GetMapDataFlag0Ei +_ZN6Course15GetMapDataFlag0Ei: ; 0x0207d8d4 stmdb sp!, {r4, lr} mov r4, r1 - bl _ZN6Course18FindCurrent_Unk_ccEv + bl _ZN6Course18FindCurrentMapDataEv mov r1, r4 bl func_ov00_02097458 ldmia sp!, {r4, pc} - arm_func_end _ZN6Course15GetFlag0_Unk_ccEi + arm_func_end _ZN6Course15GetMapDataFlag0Ei - .global _ZN6Course15SetFlag1_Unk_ccEib - arm_func_start _ZN6Course15SetFlag1_Unk_ccEib -_ZN6Course15SetFlag1_Unk_ccEib: ; 0x0207d8ec + .global _ZN6Course15SetMapDataFlag1Eib + arm_func_start _ZN6Course15SetMapDataFlag1Eib +_ZN6Course15SetMapDataFlag1Eib: ; 0x0207d8ec stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 - bl _ZN6Course18FindCurrent_Unk_ccEv + bl _ZN6Course18FindCurrentMapDataEv mov r1, r5 mov r2, r4 bl func_ov00_02097478 ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course15SetFlag1_Unk_ccEib + arm_func_end _ZN6Course15SetMapDataFlag1Eib - .global _ZN6Course15GetFlag1_Unk_ccEi - arm_func_start _ZN6Course15GetFlag1_Unk_ccEi -_ZN6Course15GetFlag1_Unk_ccEi: ; 0x0207d90c + .global _ZN6Course15GetMapDataFlag1Ei + arm_func_start _ZN6Course15GetMapDataFlag1Ei +_ZN6Course15GetMapDataFlag1Ei: ; 0x0207d90c stmdb sp!, {r4, lr} mov r4, r1 - bl _ZN6Course18FindCurrent_Unk_ccEv + bl _ZN6Course18FindCurrentMapDataEv mov r1, r4 bl func_ov00_020974c4 ldmia sp!, {r4, pc} - arm_func_end _ZN6Course15GetFlag1_Unk_ccEi + arm_func_end _ZN6Course15GetMapDataFlag1Ei - .global _ZN6Course15SetFlag2_Unk_ccEib - arm_func_start _ZN6Course15SetFlag2_Unk_ccEib -_ZN6Course15SetFlag2_Unk_ccEib: ; 0x0207d924 + .global _ZN6Course15SetMapDataFlag2Eib + arm_func_start _ZN6Course15SetMapDataFlag2Eib +_ZN6Course15SetMapDataFlag2Eib: ; 0x0207d924 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 - bl _ZN6Course18FindCurrent_Unk_ccEv + bl _ZN6Course18FindCurrentMapDataEv mov r1, r5 mov r2, r4 bl func_ov00_020974e4 ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course15SetFlag2_Unk_ccEib + arm_func_end _ZN6Course15SetMapDataFlag2Eib - .global _ZN6Course15GetFlag2_Unk_ccEi - arm_func_start _ZN6Course15GetFlag2_Unk_ccEi -_ZN6Course15GetFlag2_Unk_ccEi: ; 0x0207d944 + .global _ZN6Course15GetMapDataFlag2Ei + arm_func_start _ZN6Course15GetMapDataFlag2Ei +_ZN6Course15GetMapDataFlag2Ei: ; 0x0207d944 stmdb sp!, {r4, lr} mov r4, r1 - bl _ZN6Course18FindCurrent_Unk_ccEv + bl _ZN6Course18FindCurrentMapDataEv mov r1, r4 bl func_ov00_02097530 ldmia sp!, {r4, pc} - arm_func_end _ZN6Course15GetFlag2_Unk_ccEi + arm_func_end _ZN6Course15GetMapDataFlag2Ei - .global _ZN6Course15SetFlag3_Unk_ccEib - arm_func_start _ZN6Course15SetFlag3_Unk_ccEib -_ZN6Course15SetFlag3_Unk_ccEib: ; 0x0207d95c + .global _ZN6Course15SetMapDataFlag3Eib + arm_func_start _ZN6Course15SetMapDataFlag3Eib +_ZN6Course15SetMapDataFlag3Eib: ; 0x0207d95c stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 - bl _ZN6Course18FindCurrent_Unk_ccEv + bl _ZN6Course18FindCurrentMapDataEv mov r1, r5 mov r2, r4 bl func_ov00_02097550 ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course15SetFlag3_Unk_ccEib + arm_func_end _ZN6Course15SetMapDataFlag3Eib - .global _ZN6Course18func_ov00_0207d97cEi - arm_func_start _ZN6Course18func_ov00_0207d97cEi -_ZN6Course18func_ov00_0207d97cEi: ; 0x0207d97c + .global _ZN6Course15GetMapDataFlag3Ei + arm_func_start _ZN6Course15GetMapDataFlag3Ei +_ZN6Course15GetMapDataFlag3Ei: ; 0x0207d97c stmdb sp!, {r4, lr} mov r4, r1 - bl _ZN6Course18FindCurrent_Unk_ccEv + bl _ZN6Course18FindCurrentMapDataEv mov r1, r4 bl func_ov00_0209759c ldmia sp!, {r4, pc} - arm_func_end _ZN6Course18func_ov00_0207d97cEi + arm_func_end _ZN6Course15GetMapDataFlag3Ei - .global _ZN6Course18func_ov00_0207d994Eii - arm_func_start _ZN6Course18func_ov00_0207d994Eii -_ZN6Course18func_ov00_0207d994Eii: ; 0x0207d994 + .global _ZN6Course15SetMapDataFlag4Eii + arm_func_start _ZN6Course15SetMapDataFlag4Eii +_ZN6Course15SetMapDataFlag4Eii: ; 0x0207d994 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 - bl _ZN6Course18FindCurrent_Unk_ccEv + bl _ZN6Course18FindCurrentMapDataEv mov r1, r5 mov r2, r4 bl func_ov00_020975bc ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN6Course18func_ov00_0207d994Eii + arm_func_end _ZN6Course15SetMapDataFlag4Eii - .global _ZN6Course15GetFlag3_Unk_ccEi - arm_func_start _ZN6Course15GetFlag3_Unk_ccEi -_ZN6Course15GetFlag3_Unk_ccEi: ; 0x0207d9b4 + .global _ZN6Course15GetMapDataFlag4Ei + arm_func_start _ZN6Course15GetMapDataFlag4Ei +_ZN6Course15GetMapDataFlag4Ei: ; 0x0207d9b4 stmdb sp!, {r4, lr} mov r4, r1 - bl _ZN6Course18FindCurrent_Unk_ccEv + bl _ZN6Course18FindCurrentMapDataEv mov r1, r4 bl func_ov00_02097608 ldmia sp!, {r4, pc} - arm_func_end _ZN6Course15GetFlag3_Unk_ccEi + arm_func_end _ZN6Course15GetMapDataFlag4Ei - .global _ZN6Course11Find_Unk_ccEj - arm_func_start _ZN6Course11Find_Unk_ccEj -_ZN6Course11Find_Unk_ccEj: ; 0x0207d9cc + .global _ZN6Course11FindMapDataEj + arm_func_start _ZN6Course11FindMapDataEj +_ZN6Course11FindMapDataEj: ; 0x0207d9cc ldrb r2, [r0, #0xb0] mov ip, #0 cmp r2, #0 @@ -1331,22 +1331,22 @@ _0207d9fc: _0207da0c: mov r0, #0 bx lr - arm_func_end _ZN6Course11Find_Unk_ccEj + arm_func_end _ZN6Course11FindMapDataEj - .global _ZN6Course18FindCurrent_Unk_ccEv - arm_func_start _ZN6Course18FindCurrent_Unk_ccEv -_ZN6Course18FindCurrent_Unk_ccEv: ; 0x0207da14 + .global _ZN6Course18FindCurrentMapDataEv + arm_func_start _ZN6Course18FindCurrentMapDataEv +_ZN6Course18FindCurrentMapDataEv: ; 0x0207da14 ldrb r3, [r0, #0x1c] mov r1, #0xa ldrb r2, [r0, #0x1d] mla r1, r3, r1, r0 add r1, r1, r2 - ldr ip, _0207da34 ; =_ZN6Course11Find_Unk_ccEj + ldr ip, _0207da34 ; =_ZN6Course11FindMapDataEj ldrb r1, [r1, #0x20] bx ip .align 2, 0 - arm_func_end _ZN6Course18FindCurrent_Unk_ccEv -_0207da34: .word _ZN6Course11Find_Unk_ccEj + arm_func_end _ZN6Course18FindCurrentMapDataEv +_0207da34: .word _ZN6Course11FindMapDataEj .data .global data_ov00_020e2058 diff --git a/asm/ov00/Map/MapManager.inc b/asm/ov00/Map/MapManager.inc index e6197a44..ea805c5b 100644 --- a/asm/ov00/Map/MapManager.inc +++ b/asm/ov00/Map/MapManager.inc @@ -9,10 +9,10 @@ .extern _ZN6Course18func_ov00_0207caa8EiPiPc .extern _ZN6Course18func_ov00_0207cb30Ei .extern _ZN6Course14FindMapGridPosEP5Vec2bPS_j -.extern _ZN6Course14Find_Unk_cc_14Ei +.extern _ZN6Course13FindMapCenterEi .extern _ZN6Course18func_ov00_0207cbe8Ei .extern _ZN6Course18func_ov00_0207cc24Ei -.extern _ZN6Course14Find_Unk_cc_08Ev +.extern _ZN6Course18FindMapData_Unk_08Ei .extern _ZN6Course18func_ov00_0207ce20EiiPci .extern _ZN6Course18func_ov00_0207d404Eiii .extern _ZN6Course22IsCurrentMapInMainGridEv @@ -21,23 +21,23 @@ .extern _ZN6Course21GetScreenMapCellSizeXEv .extern _ZN6Course21GetScreenMapCellSizeYEv .extern _ZN6Course13Get_Unk_c8_00Ev -.extern _ZN6Course21FindCurrent_Unk_cc_04Ev -.extern _ZN6Course14Find_Unk_cc_04Ei +.extern _ZN6Course25FindCurrentMapData_Unk_04Ev +.extern _ZN6Course18FindMapData_Unk_04Ei .extern _ZN6Course18func_ov00_0207d7bcEv .extern _ZN6Course8SetFlag0Ejb .extern _ZN6Course8GetFlag0Ej .extern _ZN6Course8SetFlag1Ejb .extern _ZN6Course8SetFlag1Ej -.extern _ZN6Course15SetFlag0_Unk_ccEib -.extern _ZN6Course15GetFlag0_Unk_ccEi -.extern _ZN6Course15SetFlag1_Unk_ccEib -.extern _ZN6Course15GetFlag1_Unk_ccEi -.extern _ZN6Course15SetFlag2_Unk_ccEib -.extern _ZN6Course15GetFlag2_Unk_ccEi -.extern _ZN6Course15SetFlag3_Unk_ccEib -.extern _ZN6Course18func_ov00_0207d97cEi -.extern _ZN6Course18func_ov00_0207d994Eii -.extern _ZN6Course15GetFlag3_Unk_ccEi +.extern _ZN6Course15SetMapDataFlag0Eib +.extern _ZN6Course15GetMapDataFlag0Ei +.extern _ZN6Course15SetMapDataFlag1Eib +.extern _ZN6Course15GetMapDataFlag1Ei +.extern _ZN6Course15SetMapDataFlag2Eib +.extern _ZN6Course15GetMapDataFlag2Ei +.extern _ZN6Course15SetMapDataFlag3Eib +.extern _ZN6Course15GetMapDataFlag3Ei +.extern _ZN6Course15SetMapDataFlag4Eii +.extern _ZN6Course15GetMapDataFlag4Ei .extern _ZN9SysObjectnwEmPjj .extern __register_global_object .extern data_027e077c diff --git a/asm/ov00/Map/MapManager.s b/asm/ov00/Map/MapManager.s index 983ea98f..ac7be99f 100644 --- a/asm/ov00/Map/MapManager.s +++ b/asm/ov00/Map/MapManager.s @@ -981,11 +981,11 @@ _02082bac: ldrb r7, [r5, #0x12] ldr r0, [r6] mov r4, #0 - bl _ZN6Course21FindCurrent_Unk_cc_04Ev + bl _ZN6Course25FindCurrentMapData_Unk_04Ev mov r1, r7 mov r7, r0 ldr r0, [r6] - bl _ZN6Course14Find_Unk_cc_04Ei + bl _ZN6Course18FindMapData_Unk_04Ei cmp r7, r0 ldrb r2, [sp] ldr r1, [r6] @@ -1738,7 +1738,7 @@ _ZN10MapManager18func_ov00_020834bcEP5Vec3pii: ; 0x020834bc add r2, r4, r3 mov r4, r1 ldrb r1, [r2, #0x20] - bl _ZN6Course14Find_Unk_cc_14Ei + bl _ZN6Course13FindMapCenterEi ldr r1, [r0] str r1, [r4] ldr r1, [r0, #4] @@ -1768,7 +1768,7 @@ _ZN10MapManager18func_ov00_02083524EP5Vec3pii: ; 0x02083524 add r2, ip, r3 mov r4, r1 ldrb r1, [r2, #0x20] - bl _ZN6Course14Find_Unk_cc_14Ei + bl _ZN6Course13FindMapCenterEi ldr r1, [r0] str r1, [r4] ldr r1, [r0, #4] @@ -1807,7 +1807,7 @@ _ZN10MapManager18func_ov00_02083588Ev: ; 0x02083588 bl _ZN10MapManager18func_ov00_02082d08Ev mov r1, r0 ldr r0, [r4] - bl _ZN6Course14Find_Unk_cc_08Ev + bl _ZN6Course18FindMapData_Unk_08Ei ldmia sp!, {r4, pc} arm_func_end _ZN10MapManager18func_ov00_02083588Ev @@ -3771,7 +3771,7 @@ _02084b8c: _02084bb0: ldr r0, [r0] mov r2, r3 - bl _ZN6Course15SetFlag0_Unk_ccEib + bl _ZN6Course15SetMapDataFlag0Eib ldmia sp!, {r3, pc} _02084bc0: ldr r0, [r0] @@ -3812,7 +3812,7 @@ _02084c0c: ldmia sp!, {r3, pc} _02084c30: ldr r0, [r0] - bl _ZN6Course15GetFlag0_Unk_ccEi + bl _ZN6Course15GetMapDataFlag0Ei ldmia sp!, {r3, pc} _02084c3c: ldr r0, [r0] @@ -3830,22 +3830,22 @@ _02084c54: .global _ZN10MapManager18func_ov00_02084c5cEii arm_func_start _ZN10MapManager18func_ov00_02084c5cEii _ZN10MapManager18func_ov00_02084c5cEii: ; 0x02084c5c - ldr ip, _02084c68 ; =_ZN6Course15SetFlag1_Unk_ccEib + ldr ip, _02084c68 ; =_ZN6Course15SetMapDataFlag1Eib ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02084c5cEii -_02084c68: .word _ZN6Course15SetFlag1_Unk_ccEib +_02084c68: .word _ZN6Course15SetMapDataFlag1Eib .global _ZN10MapManager18func_ov00_02084c6cEi arm_func_start _ZN10MapManager18func_ov00_02084c6cEi _ZN10MapManager18func_ov00_02084c6cEi: ; 0x02084c6c - ldr ip, _02084c78 ; =_ZN6Course15GetFlag1_Unk_ccEi + ldr ip, _02084c78 ; =_ZN6Course15GetMapDataFlag1Ei ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02084c6cEi -_02084c78: .word _ZN6Course15GetFlag1_Unk_ccEi +_02084c78: .word _ZN6Course15GetMapDataFlag1Ei .global _ZN10MapManager18func_ov00_02084c7cEi arm_func_start _ZN10MapManager18func_ov00_02084c7cEi @@ -3854,7 +3854,7 @@ _ZN10MapManager18func_ov00_02084c7cEi: ; 0x02084c7c cmp r1, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl _ZN6Course15SetFlag2_Unk_ccEib + bl _ZN6Course15SetMapDataFlag2Eib ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084c7cEi @@ -3866,7 +3866,7 @@ _ZN10MapManager18func_ov00_02084c94Ei: ; 0x02084c94 movlt r0, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl _ZN6Course15GetFlag2_Unk_ccEi + bl _ZN6Course15GetMapDataFlag2Ei ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084c94Ei @@ -3877,7 +3877,7 @@ _ZN10MapManager18func_ov00_02084cb0Ei: ; 0x02084cb0 cmp r1, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl _ZN6Course15SetFlag3_Unk_ccEib + bl _ZN6Course15SetMapDataFlag3Eib ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084cb0Ei @@ -3889,7 +3889,7 @@ _ZN10MapManager18func_ov00_02084cc8Ei: ; 0x02084cc8 movlt r0, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl _ZN6Course18func_ov00_0207d97cEi + bl _ZN6Course15GetMapDataFlag3Ei ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084cc8Ei @@ -3900,7 +3900,7 @@ _ZN10MapManager18func_ov00_02084ce4Ei: ; 0x02084ce4 cmp r1, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl _ZN6Course18func_ov00_0207d994Eii + bl _ZN6Course15SetMapDataFlag4Eii ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084ce4Ei @@ -3912,7 +3912,7 @@ _ZN10MapManager18func_ov00_02084cfcEi: ; 0x02084cfc movlt r0, #0 ldmltia sp!, {r3, pc} ldr r0, [r0] - bl _ZN6Course15GetFlag3_Unk_ccEi + bl _ZN6Course15GetMapDataFlag4Ei ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager18func_ov00_02084cfcEi diff --git a/asm/ov00/ov00_0207da38.inc b/asm/ov00/ov00_0207da38.inc index 2834f6a1..5632b1cb 100644 --- a/asm/ov00/ov00_0207da38.inc +++ b/asm/ov00/ov00_0207da38.inc @@ -1,7 +1,7 @@ #pragma once .extern Divide .extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p -.extern _ZN6Course14Find_Unk_cc_14Ei +.extern _ZN6Course13FindMapCenterEi .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern data_027e0618 diff --git a/asm/ov00/ov00_0207da38.s b/asm/ov00/ov00_0207da38.s index c8342dc2..d366c90b 100644 --- a/asm/ov00/ov00_0207da38.s +++ b/asm/ov00/ov00_0207da38.s @@ -222,7 +222,7 @@ func_ov00_0207dce4: ; 0x0207dce4 mov r2, r3, lsl #0xc str r5, [sp] str r2, [sp, #4] - bl _ZN6Course14Find_Unk_cc_14Ei + bl _ZN6Course13FindMapCenterEi mov ip, r5 add r5, sp, #0x20 ldmia r0, {r0, r1, r2} diff --git a/asm/ov04.inc b/asm/ov04.inc index df85ac98..c9b31fdb 100644 --- a/asm/ov04.inc +++ b/asm/ov04.inc @@ -57,10 +57,10 @@ .extern _ZN14OverlayManager6UnloadEj .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev -.extern _ZN6Course11Find_Unk_ccEj +.extern _ZN6Course11FindMapDataEj .extern _ZN6Course13SetCourseNameEPc .extern _ZN6Course14FindMapGridPosEP5Vec2bPS_j -.extern _ZN6Course14Find_Unk_cc_0cEi +.extern _ZN6Course18FindMapData_Unk_0cEi .extern _ZN6Course14GetMCSFilePathEiii .extern _ZN6Course14GetMRCFilePathEiii .extern _ZN6Course15IsMapInMainGridEj diff --git a/asm/ov04.s b/asm/ov04.s index 5b66ffcb..6645d10b 100644 --- a/asm/ov04.s +++ b/asm/ov04.s @@ -24951,7 +24951,7 @@ func_ov04_0210cc58: ; 0x0210cc58 bne _0210cc72 add r0, r1, #0 add r1, r2, #0 - blx _ZN6Course14Find_Unk_cc_0cEi + blx _ZN6Course18FindMapData_Unk_0cEi add r1, r0, #0 ldr r0, _0210cc78 ; =gOverlayManager bl func_ov03_020faa64 @@ -29104,7 +29104,7 @@ func_ov04_0210f07c: ; 0x0210f07c ldrb r1, [r4] cmp r1, #0xff beq _0210f0f4 - blx _ZN6Course11Find_Unk_ccEj + blx _ZN6Course11FindMapDataEj cmp r0, #0 bne _0210f0f4 ldr r1, _0210f0f8 ; =data_027e0ce0 diff --git a/include/Map/CameraViewpoint.hpp b/include/Map/CameraViewpoint.hpp index 0fde9bdc..c952078b 100644 --- a/include/Map/CameraViewpoint.hpp +++ b/include/Map/CameraViewpoint.hpp @@ -9,7 +9,7 @@ class CameraViewpoint : public SysObject { /* 00 */ unk32 mUnk_00; - /* 04 */ unk8 mUnk_04 + /* 04 */ unk8 mUnk_04; /* 05 */ unk8 mUnk_05[3]; /* 08 */ Vec3p mPos; /* 14 */ unk16 mUnk_14; diff --git a/include/Map/Course.hpp b/include/Map/Course.hpp index a266fd3e..1768ae85 100644 --- a/include/Map/Course.hpp +++ b/include/Map/Course.hpp @@ -4,7 +4,7 @@ #include "types.h" #include "Map/Course_Unk_c8.hpp" -#include "Map/Course_Unk_cc.hpp" +#include "Map/MapData.hpp" #include "Physics/AABB.hpp" #include "System/SysNew.hpp" @@ -67,10 +67,10 @@ class Course : public SysObject { bool func_ov00_0207caa8(s32 param_2, unk32 *param_3, unk8 *param_4); unk32 func_ov00_0207cb30(s32 param_2); static void FindMapGridPos(Vec2b *pos, Course *param_2, u32 map); - Vec3p* Find_Unk_cc_14(unk32 param_2); + Vec3p* FindMapCenter(unk32 map); void func_ov00_0207cbe8(s32 param_2); unk8 func_ov00_0207cc24(s32 param_2); - unk32 Find_Unk_cc_08(); + unk32 FindMapData_Unk_08(unk32 map); void GetMCSFilePath(unk32 buf, s32 fileIndex, unk32 fileType); void GetMRCFilePath(unk32 param_2, unk32 buf, unk32 param_4); void func_ov00_0207ce20(unk32 param_2, unk32 param_3, char *param_4, unk32 param_5); @@ -89,24 +89,24 @@ class Course : public SysObject { unk8 GetAdjacentMap(unk32 dir); u32 GetAdjacentMapX(s32 ir); u32 GetAdjacentMapY(s32 dir); - u16 FindCurrent_Unk_cc_04(); - u32 Find_Unk_cc_04(unk32 param_2); - unk32 Find_Unk_cc_0c(unk32 map); + u16 FindCurrentMapData_Unk_04(); + u32 FindMapData_Unk_04(unk32 param_2); + unk32 FindMapData_Unk_0c(unk32 map); void func_ov00_0207d7bc(); void SetFlag0(u32 index, bool value); bool GetFlag0(u32 index); void SetFlag1(u32 index, bool value); bool SetFlag1(u32 index); - void SetFlag0_Unk_cc(unk32 index, bool value); - bool GetFlag0_Unk_cc(unk32 param_2); - void SetFlag1_Unk_cc(unk32 param_2, bool param_3); - bool GetFlag1_Unk_cc(unk32 param_2); - void SetFlag2_Unk_cc(unk32 param_2, bool param_3); - bool GetFlag2_Unk_cc(unk32 param_2); - void SetFlag3_Unk_cc(unk32 param_2, bool param_3); - bool func_ov00_0207d97c(unk32 param_2); - void func_ov00_0207d994(unk32 param_2, unk32 param_3); - bool GetFlag3_Unk_cc(unk32 param_2); - Course_Unk_cc* Find_Unk_cc(u32 map); - Course_Unk_cc* FindCurrent_Unk_cc(); + void SetMapDataFlag0(unk32 index, bool value); + bool GetMapDataFlag0(unk32 param_2); + void SetMapDataFlag1(unk32 param_2, bool param_3); + bool GetMapDataFlag1(unk32 param_2); + void SetMapDataFlag2(unk32 param_2, bool param_3); + bool GetMapDataFlag2(unk32 param_2); + void SetMapDataFlag3(unk32 param_2, bool param_3); + bool GetMapDataFlag3(unk32 param_2); + void SetMapDataFlag4(unk32 param_2, unk32 param_3); + bool GetMapDataFlag4(unk32 param_2); + MapData* FindMapData(u32 map); + MapData* FindCurrentMapData(); }; diff --git a/src/00_Core/Map/Course.cpp b/src/00_Core/Map/Course.cpp index 28fe2330..560169e8 100644 --- a/src/00_Core/Map/Course.cpp +++ b/src/00_Core/Map/Course.cpp @@ -9,10 +9,10 @@ void Course::func_ov00_0207ca78(unk32 param_2, unk8 param_3, unk32 param_4) {} bool Course::func_ov00_0207caa8(s32 param_2, unk32 *param_3, unk8 *param_4) {} unk32 Course::func_ov00_0207cb30(s32 param_2) {} void Course::FindMapGridPos(Vec2b *pos, Course *param_2, u32 map) {} -Vec3p* Course::Find_Unk_cc_14(unk32 param_2) {} +Vec3p* Course::FindMapCenter(unk32 map) {} void Course::func_ov00_0207cbe8(s32 param_2) {} unk8 Course::func_ov00_0207cc24(s32 param_2) {} -unk32 Course::Find_Unk_cc_08() {} +unk32 Course::FindMapData_Unk_08(unk32 map) {} void Course::GetMCSFilePath(unk32 buf, s32 fileIndex, unk32 fileType) {} void Course::GetMRCFilePath(unk32 param_2, unk32 buf, unk32 param_4) {} void Course::func_ov00_0207ce20(unk32 param_2, unk32 param_3, char *param_4, unk32 param_5) {} @@ -31,25 +31,25 @@ bool Course::HasGridMap(s32 x, s32 y) {} unk8 Course::GetAdjacentMap(unk32 dir) {} u32 Course::GetAdjacentMapX(s32 ir) {} u32 Course::GetAdjacentMapY(s32 dir) {} -u16 Course::FindCurrent_Unk_cc_04() {} -u32 Course::Find_Unk_cc_04(unk32 param_2) {} -unk32 Course::Find_Unk_cc_0c(unk32 map) {} +u16 Course::FindCurrentMapData_Unk_04() {} +u32 Course::FindMapData_Unk_04(unk32 param_2) {} +unk32 Course::FindMapData_Unk_0c(unk32 map) {} void Course::func_ov00_0207d7bc() {} void Course::SetFlag0(u32 index, bool value) {} bool Course::GetFlag0(u32 index) {} void Course::SetFlag1(u32 index, bool value) {} bool Course::SetFlag1(u32 index) {} -void Course::SetFlag0_Unk_cc(unk32 index, bool value) {} -bool Course::GetFlag0_Unk_cc(unk32 param_2) {} -void Course::SetFlag1_Unk_cc(unk32 param_2, bool param_3) {} -bool Course::GetFlag1_Unk_cc(unk32 param_2) {} -void Course::SetFlag2_Unk_cc(unk32 param_2, bool param_3) {} -bool Course::GetFlag2_Unk_cc(unk32 param_2) {} -void Course::SetFlag3_Unk_cc(unk32 param_2, bool param_3) {} -bool Course::func_ov00_0207d97c(unk32 param_2) {} -void Course::func_ov00_0207d994(unk32 param_2, unk32 param_3) {} -bool Course::GetFlag3_Unk_cc(unk32 param_2) {} -Course_Unk_cc* Course::Find_Unk_cc(u32 map) {} -Course_Unk_cc* Course::FindCurrent_Unk_cc() {} +void Course::SetMapDataFlag0(unk32 index, bool value) {} +bool Course::GetMapDataFlag0(unk32 param_2) {} +void Course::SetMapDataFlag1(unk32 param_2, bool param_3) {} +bool Course::GetMapDataFlag1(unk32 param_2) {} +void Course::SetMapDataFlag2(unk32 param_2, bool param_3) {} +bool Course::GetMapDataFlag2(unk32 param_2) {} +void Course::SetMapDataFlag3(unk32 param_2, bool param_3) {} +bool Course::GetMapDataFlag3(unk32 param_2) {} +void Course::SetMapDataFlag4(unk32 param_2, unk32 param_3) {} +bool Course::GetMapDataFlag4(unk32 param_2) {} +MapData* Course::FindMapData(u32 map) {} +MapData* Course::FindCurrentMapData() {} #endif From 2e33294f89b37c8824ee97e8fd3cd675850d743d Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 15:08:45 +0200 Subject: [PATCH 38/76] Mangle `MapBase` --- asm/itcm.inc | 4 +- asm/itcm.s | 34 +- asm/ov00/Map/MapManager.inc | 96 ++-- asm/ov00/Map/MapManager.s | 192 +++---- asm/ov00/ov00_0207da38.s | 1044 +++++++++++++++++------------------ asm/ov00/ov00_02086cd0.inc | 18 +- asm/ov00/ov00_02086cd0.s | 88 +-- asm/ov00/ov00_020b1498.inc | 6 +- asm/ov00/ov00_020b1498.s | 26 +- asm/ov04.inc | 22 +- asm/ov04.s | 20 +- asm/ov05.inc | 4 +- asm/ov05.s | 4 +- asm/ov12.inc | 42 +- asm/ov12.s | 48 +- asm/ov15.inc | 34 +- asm/ov15.s | 44 +- asm/ov17.inc | 40 +- asm/ov17.s | 48 +- asm/ov18.inc | 42 +- asm/ov18.s | 46 +- include/Map/MapBase.hpp | 137 +++++ include/Map/MapManager.hpp | 9 +- include/Map/TriggerBase.hpp | 25 +- include/lib/math.h | 6 + src/00_Core/Map/MapBase.cpp | 116 ++++ 26 files changed, 1235 insertions(+), 960 deletions(-) create mode 100644 src/00_Core/Map/MapBase.cpp diff --git a/asm/itcm.inc b/asm/itcm.inc index 1ab002af..29c77a1d 100644 --- a/asm/itcm.inc +++ b/asm/itcm.inc @@ -49,8 +49,8 @@ .extern func_0202b2e8 .extern func_0204f614 .extern func_0204f754 -.extern func_ov00_0207e968 -.extern func_ov00_0207e96c +.extern _ZN7MapBase18func_ov00_0207e968Ev +.extern _ZN7MapBase18func_ov00_0207e96cEv .extern func_ov00_02081ef4 .extern _ZN10MapManager17Get_MapData_Unk28Ev .extern _ZN10MapManager17Get_MapData_Unk2aEv diff --git a/asm/itcm.s b/asm/itcm.s index 34e9c16a..b93dd552 100644 --- a/asm/itcm.s +++ b/asm/itcm.s @@ -5622,10 +5622,10 @@ _01ffc998: ldr r3, _01ffd1d4 ; =data_027e0e64 mov r1, r4 bl func_01ffedf4 - ldr r1, _01ffd1d8 ; =func_ov00_0207e968 + ldr r1, _01ffd1d8 ; =_ZN7MapBase18func_ov00_0207e968Ev str r0, [sp, #0x2c] str r1, [sp] - ldr r3, _01ffd1dc ; =func_ov00_0207e96c + ldr r3, _01ffd1dc ; =_ZN7MapBase18func_ov00_0207e96cEv add r0, sp, #0x284 mov r1, #3 mov r2, #0x10 @@ -6105,7 +6105,7 @@ _01ffd18c: ldr r0, [sp, #0x268] str r0, [r10, #8] _01ffd1b0: - ldr r3, _01ffd1d8 ; =func_ov00_0207e968 + ldr r3, _01ffd1d8 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x284 mov r1, #3 mov r2, #0x10 @@ -6117,8 +6117,8 @@ _01ffd1b0: arm_func_end func_01ffc118 _01ffd1d0: .word data_027e0f6c _01ffd1d4: .word data_027e0e64 -_01ffd1d8: .word func_ov00_0207e968 -_01ffd1dc: .word func_ov00_0207e96c +_01ffd1d8: .word _ZN7MapBase18func_ov00_0207e968Ev +_01ffd1dc: .word _ZN7MapBase18func_ov00_0207e96cEv .global func_01ffd1e0 arm_func_start func_01ffd1e0 @@ -6690,10 +6690,10 @@ _01ffda18: ldr r3, _01ffe1bc ; =data_027e0e64 mov r1, r5 bl func_01ffedf4 - ldr r1, _01ffe1c0 ; =func_ov00_0207e968 + ldr r1, _01ffe1c0 ; =_ZN7MapBase18func_ov00_0207e968Ev mov r7, r0 str r1, [sp] - ldr r3, _01ffe1c4 ; =func_ov00_0207e96c + ldr r3, _01ffe1c4 ; =_ZN7MapBase18func_ov00_0207e96cEv add r0, sp, #0x2ec mov r1, #3 mov r2, #0x10 @@ -7157,7 +7157,7 @@ _01ffe174: ldr r0, [sp, #0x2d0] str r0, [r10, #8] _01ffe198: - ldr r3, _01ffe1c0 ; =func_ov00_0207e968 + ldr r3, _01ffe1c0 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x2ec mov r1, #3 mov r2, #0x10 @@ -7169,8 +7169,8 @@ _01ffe198: arm_func_end func_01ffd1e0 _01ffe1b8: .word data_027e0f6c _01ffe1bc: .word data_027e0e64 -_01ffe1c0: .word func_ov00_0207e968 -_01ffe1c4: .word func_ov00_0207e96c +_01ffe1c0: .word _ZN7MapBase18func_ov00_0207e968Ev +_01ffe1c4: .word _ZN7MapBase18func_ov00_0207e96cEv _01ffe1c8: .word 0x00001922 .global func_01ffe1cc @@ -8582,8 +8582,8 @@ func_01fff510: ; 0x01fff510 ldr r1, [sp, #4] mov r0, r6 bl func_ov00_0208ee00 - ldr r1, _01fffb44 ; =func_ov00_0207e968 - ldr r3, _01fffb48 ; =func_ov00_0207e96c + ldr r1, _01fffb44 ; =_ZN7MapBase18func_ov00_0207e968Ev + ldr r3, _01fffb48 ; =_ZN7MapBase18func_ov00_0207e96cEv str r1, [sp] add r0, sp, #0x118 mov r1, #3 @@ -8769,7 +8769,7 @@ _01fff788: cmp r0, #0 bne _01fff840 _01fff820: - ldr r3, _01fffb44 ; =func_ov00_0207e968 + ldr r3, _01fffb44 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x118 mov r1, #3 mov r2, #0x10 @@ -8949,7 +8949,7 @@ _01fffa00: cmp r0, #0 bne _01fffad4 _01fffab4: - ldr r3, _01fffb44 ; =func_ov00_0207e968 + ldr r3, _01fffb44 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x118 mov r1, #3 mov r2, #0x10 @@ -8981,7 +8981,7 @@ _01fffb04: str r0, [sp, #0x20] bhs _01fff908 _01fffb24: - ldr r3, _01fffb44 ; =func_ov00_0207e968 + ldr r3, _01fffb44 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x118 mov r1, #3 mov r2, #0x10 @@ -8991,8 +8991,8 @@ _01fffb24: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_01fff510 -_01fffb44: .word func_ov00_0207e968 -_01fffb48: .word func_ov00_0207e96c +_01fffb44: .word _ZN7MapBase18func_ov00_0207e968Ev +_01fffb48: .word _ZN7MapBase18func_ov00_0207e96cEv .global func_01fffb4c arm_func_start func_01fffb4c diff --git a/asm/ov00/Map/MapManager.inc b/asm/ov00/Map/MapManager.inc index ea805c5b..744b5b7b 100644 --- a/asm/ov00/Map/MapManager.inc +++ b/asm/ov00/Map/MapManager.inc @@ -80,54 +80,54 @@ .extern func_ov00_020792a0 .extern func_ov00_02079898 .extern func_ov00_020798bc -.extern func_ov00_0207dd9c -.extern func_ov00_0207de68 -.extern func_ov00_0207de88 -.extern func_ov00_0207e08c -.extern func_ov00_0207e0f0 -.extern func_ov00_0207e28c -.extern func_ov00_0207e968 -.extern func_ov00_0207f38c -.extern func_ov00_0207f53c -.extern func_ov00_0207f630 -.extern func_ov00_0207f694 -.extern func_ov00_0207f6a0 -.extern func_ov00_0207f6ac -.extern func_ov00_0207f6bc -.extern func_ov00_0207f6cc -.extern func_ov00_0207f778 -.extern func_ov00_0207f7a0 -.extern func_ov00_0207f7e8 -.extern func_ov00_0207f844 -.extern func_ov00_0207f8c0 -.extern func_ov00_0207f924 -.extern func_ov00_0207f934 -.extern func_ov00_0207f948 -.extern func_ov00_0207faac -.extern func_ov00_0207fb64 -.extern func_ov00_0207fc2c -.extern func_ov00_0207fc98 -.extern func_ov00_0207fd58 -.extern func_ov00_0207fdd0 -.extern func_ov00_0207fe80 -.extern func_ov00_0207ff88 -.extern func_ov00_0208005c -.extern func_ov00_0208006c -.extern func_ov00_0208007c -.extern func_ov00_0208008c -.extern func_ov00_02080140 -.extern func_ov00_0208039c -.extern func_ov00_02080510 -.extern func_ov00_020805d0 -.extern func_ov00_02080688 -.extern func_ov00_02080780 -.extern func_ov00_02080824 -.extern func_ov00_020808d0 -.extern func_ov00_020809b8 -.extern func_ov00_02080a78 -.extern func_ov00_02080b24 -.extern func_ov00_02080d08 -.extern func_ov00_02080d80 +.extern _ZN15MapManager_Unk2D1Ev +.extern _ZN7MapBase18func_ov00_0207de68Ei +.extern _ZN7MapBase18func_ov00_0207de88Ev +.extern _ZN7MapBase18func_ov00_0207e08cEii +.extern _ZN7MapBase18func_ov00_0207e0f0Ei +.extern _ZN7MapBase18func_ov00_0207e28cEi +.extern _ZN7MapBase18func_ov00_0207e968Ev +.extern _ZN7MapBase18func_ov00_0207f38cEi +.extern _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p +.extern _ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p +.extern _ZN7MapBase13GetTileStartXEi +.extern _ZN7MapBase13GetTileStartZEi +.extern _ZN7MapBase11GetTileEndXEi +.extern _ZN7MapBase11GetTileEndZEi +.extern _ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB +.extern _ZN7MapBase15GetClampedTileXEi +.extern _ZN7MapBase15GetClampedTileYEi +.extern _ZN7MapBase10IsInBoundsEP5Vec3p +.extern _ZN7MapBase11AddEntranceEP8Entrance +.extern _ZN7MapBase12FindEntranceEi +.extern _ZN7MapBase18func_ov00_0207f924Ei +.extern _ZN7MapBase18func_ov00_0207f934Ev +.extern _ZN7MapBase18func_ov00_0207f948Ei +.extern _ZN7MapBase21GetTriggerBoundingBoxEiP4AABB +.extern _ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi +.extern _ZN7MapBase21GetOverlappingTriggerEP5Vec3p +.extern _ZN7MapBase11FindTriggerEi +.extern _ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p +.extern _ZN7MapBase18AnyTrigger_func_0cEi +.extern _ZN7MapBase10AddTriggerEi +.extern _ZN7MapBase18func_ov00_0207ff88Ei +.extern _ZN7MapBase18func_ov00_0208005cEiii +.extern _ZN7MapBase18func_ov00_0208006cEii +.extern _ZN7MapBase18func_ov00_0208007cEii +.extern _ZN7MapBase18func_ov00_0208008cEj +.extern _ZN7MapBase18func_ov00_02080140EP4Exit +.extern _ZN7MapBase8FindExitEiP4Exit +.extern _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint +.extern _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint +.extern _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi +.extern _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei +.extern _ZN7MapBase18func_ov00_02080824Eii +.extern _ZN7MapBase10AddUnk_130Ei +.extern _ZN7MapBase18func_ov00_020809b8Ei +.extern _ZN7MapBase18func_ov00_02080a78EP5Vec3p +.extern _ZN7MapBase18func_ov00_02080b24EP5Vec2b +.extern _ZN7MapBase18func_ov00_02080d08Ei +.extern _ZN7MapBase22TriggerOfType_vfunc_10Ei .extern func_ov00_02086cd0 .extern func_ov00_02088000 .extern func_ov00_02088130 diff --git a/asm/ov00/Map/MapManager.s b/asm/ov00/Map/MapManager.s index ac7be99f..fe64cb25 100644 --- a/asm/ov00/Map/MapManager.s +++ b/asm/ov00/Map/MapManager.s @@ -210,52 +210,52 @@ _ZN10MapManager18func_ov00_02082348Ei: ; 0x02082348 .global _ZN10MapManager18func_ov00_020823a4Ei arm_func_start _ZN10MapManager18func_ov00_020823a4Ei _ZN10MapManager18func_ov00_020823a4Ei: ; 0x020823a4 - ldr ip, _020823b0 ; =func_ov00_0207de68 + ldr ip, _020823b0 ; =_ZN7MapBase18func_ov00_0207de68Ei ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020823a4Ei -_020823b0: .word func_ov00_0207de68 +_020823b0: .word _ZN7MapBase18func_ov00_0207de68Ei .global _ZN10MapManager18func_ov00_020823b4Ev arm_func_start _ZN10MapManager18func_ov00_020823b4Ev _ZN10MapManager18func_ov00_020823b4Ev: ; 0x020823b4 - ldr ip, _020823c0 ; =func_ov00_0207de88 + ldr ip, _020823c0 ; =_ZN7MapBase18func_ov00_0207de88Ev ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020823b4Ev -_020823c0: .word func_ov00_0207de88 +_020823c0: .word _ZN7MapBase18func_ov00_0207de88Ev .global _ZN10MapManager18func_ov00_020823c4EPii arm_func_start _ZN10MapManager18func_ov00_020823c4EPii _ZN10MapManager18func_ov00_020823c4EPii: ; 0x020823c4 - ldr ip, _020823d0 ; =func_ov00_0207e08c + ldr ip, _020823d0 ; =_ZN7MapBase18func_ov00_0207e08cEii ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020823c4EPii -_020823d0: .word func_ov00_0207e08c +_020823d0: .word _ZN7MapBase18func_ov00_0207e08cEii .global _ZN10MapManager18func_ov00_020823d4Ei arm_func_start _ZN10MapManager18func_ov00_020823d4Ei _ZN10MapManager18func_ov00_020823d4Ei: ; 0x020823d4 - ldr ip, _020823e0 ; =func_ov00_0207e0f0 + ldr ip, _020823e0 ; =_ZN7MapBase18func_ov00_0207e0f0Ei ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020823d4Ei -_020823e0: .word func_ov00_0207e0f0 +_020823e0: .word _ZN7MapBase18func_ov00_0207e0f0Ei .global _ZN10MapManager18func_ov00_020823e4Ei arm_func_start _ZN10MapManager18func_ov00_020823e4Ei _ZN10MapManager18func_ov00_020823e4Ei: ; 0x020823e4 - ldr ip, _020823f0 ; =func_ov00_0207e28c + ldr ip, _020823f0 ; =_ZN7MapBase18func_ov00_0207e28cEi ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020823e4Ei -_020823f0: .word func_ov00_0207e28c +_020823f0: .word _ZN7MapBase18func_ov00_0207e28cEi .global _ZN10MapManager16MapData_vfunc_b4Ev arm_func_start _ZN10MapManager16MapData_vfunc_b4Ev @@ -486,32 +486,32 @@ _ZN10MapManager16MapData_vfunc_b0Ev: ; 0x02082638 .global _ZN10MapManager18func_ov00_02082650Eiii arm_func_start _ZN10MapManager18func_ov00_02082650Eiii _ZN10MapManager18func_ov00_02082650Eiii: ; 0x02082650 - ldr ip, _0208265c ; =func_ov00_0208005c + ldr ip, _0208265c ; =_ZN7MapBase18func_ov00_0208005cEiii ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02082650Eiii -_0208265c: .word func_ov00_0208005c +_0208265c: .word _ZN7MapBase18func_ov00_0208005cEiii .global _ZN10MapManager18func_ov00_02082660Eii arm_func_start _ZN10MapManager18func_ov00_02082660Eii _ZN10MapManager18func_ov00_02082660Eii: ; 0x02082660 - ldr ip, _0208266c ; =func_ov00_0208007c + ldr ip, _0208266c ; =_ZN7MapBase18func_ov00_0208007cEii ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02082660Eii -_0208266c: .word func_ov00_0208007c +_0208266c: .word _ZN7MapBase18func_ov00_0208007cEii .global _ZN10MapManager18func_ov00_02082670Eii arm_func_start _ZN10MapManager18func_ov00_02082670Eii _ZN10MapManager18func_ov00_02082670Eii: ; 0x02082670 - ldr ip, _0208267c ; =func_ov00_0208006c + ldr ip, _0208267c ; =_ZN7MapBase18func_ov00_0208006cEii ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02082670Eii -_0208267c: .word func_ov00_0208006c +_0208267c: .word _ZN7MapBase18func_ov00_0208006cEii .global _ZN10MapManager18func_ov00_02082680Eii arm_func_start _ZN10MapManager18func_ov00_02082680Eii @@ -729,12 +729,12 @@ _ZN10MapManager16MapData_vfunc_84Ev: ; 0x020828e0 .global _ZN10MapManager18func_ov00_020828f8EPi arm_func_start _ZN10MapManager18func_ov00_020828f8EPi _ZN10MapManager18func_ov00_020828f8EPi: ; 0x020828f8 - ldr ip, _02082904 ; =func_ov00_0207f38c + ldr ip, _02082904 ; =_ZN7MapBase18func_ov00_0207f38cEi ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020828f8EPi -_02082904: .word func_ov00_0207f38c +_02082904: .word _ZN7MapBase18func_ov00_0207f38cEi .global _ZN10MapManager20GetCourseData_Unk_b0Ev arm_func_start _ZN10MapManager20GetCourseData_Unk_b0Ev @@ -777,7 +777,7 @@ _02082948: ldr r0, [r4, #0x10] str r0, [sp, #0x30] ldr r0, [r9, #4] - bl func_ov00_0207f844 + bl _ZN7MapBase11AddEntranceEP8Entrance add sp, sp, #0x34 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _02082990: @@ -863,7 +863,7 @@ _02082a90: str r0, [sp, #0x14] ldr r0, [r9, #4] add r1, sp, #0xc - bl func_ov00_0207f844 + bl _ZN7MapBase11AddEntranceEP8Entrance _02082ac0: add sp, sp, #0x34 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} @@ -1891,7 +1891,7 @@ _ZN10MapManager14GetEntrancePosEP5Vec3pi: ; 0x02083624 ldr r0, [r0, #4] mov r4, r1 mov r1, r2 - bl func_ov00_0207f8c0 + bl _ZN7MapBase12FindEntranceEi mov r3, r0 ldmia r3, {r0, r1, r2} stmia r4, {r0, r1, r2} @@ -1935,22 +1935,22 @@ _ZN10MapManager18func_ov00_02083664EP5Vec3pi: ; 0x02083664 .global _ZN10MapManager18func_ov00_020836bcEjPi arm_func_start _ZN10MapManager18func_ov00_020836bcEjPi _ZN10MapManager18func_ov00_020836bcEjPi: ; 0x020836bc - ldr ip, _020836c8 ; =func_ov00_0207faac + ldr ip, _020836c8 ; =_ZN7MapBase21GetTriggerBoundingBoxEiP4AABB ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020836bcEjPi -_020836c8: .word func_ov00_0207faac +_020836c8: .word _ZN7MapBase21GetTriggerBoundingBoxEiP4AABB .global _ZN10MapManager18func_ov00_020836ccEjP4AABBj arm_func_start _ZN10MapManager18func_ov00_020836ccEjP4AABBj _ZN10MapManager18func_ov00_020836ccEjP4AABBj: ; 0x020836cc - ldr ip, _020836d8 ; =func_ov00_0207fb64 + ldr ip, _020836d8 ; =_ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020836ccEjP4AABBj -_020836d8: .word func_ov00_0207fb64 +_020836d8: .word _ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi .global _ZN10MapManager18func_ov00_020836dcEii arm_func_start _ZN10MapManager18func_ov00_020836dcEii @@ -2000,22 +2000,22 @@ _0208376c: .word data_027e0fe4 .global _ZN10MapManager18func_ov00_02083770Eji arm_func_start _ZN10MapManager18func_ov00_02083770Eji _ZN10MapManager18func_ov00_02083770Eji: ; 0x02083770 - ldr ip, _0208377c ; =func_ov00_0207fd58 + ldr ip, _0208377c ; =_ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02083770Eji -_0208377c: .word func_ov00_0207fd58 +_0208377c: .word _ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p .global _ZN10MapManager18func_ov00_02083780Ei arm_func_start _ZN10MapManager18func_ov00_02083780Ei _ZN10MapManager18func_ov00_02083780Ei: ; 0x02083780 - ldr ip, _0208378c ; =func_ov00_0207fc2c + ldr ip, _0208378c ; =_ZN7MapBase21GetOverlappingTriggerEP5Vec3p ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02083780Ei -_0208378c: .word func_ov00_0207fc2c +_0208378c: .word _ZN7MapBase21GetOverlappingTriggerEP5Vec3p .global _ZN10MapManager18func_ov00_02083790Ei arm_func_start _ZN10MapManager18func_ov00_02083790Ei @@ -2058,7 +2058,7 @@ _ZN10MapManager18func_ov00_02083790Ei: ; 0x02083790 _0208381c: ldr r0, [r5, #4] mov r1, r4 - bl func_ov00_0207fdd0 + bl _ZN7MapBase18AnyTrigger_func_0cEi add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 @@ -2101,7 +2101,7 @@ _ZN10MapManager18func_ov00_02083840Ei: ; 0x02083840 _020838ac: ldr r0, [r5, #4] mov r1, r4 - bl func_ov00_02080d80 + bl _ZN7MapBase22TriggerOfType_vfunc_10Ei ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02083840Ei @@ -2112,82 +2112,82 @@ _020838c4: .word data_027e0fe4 .global _ZN10MapManager18func_ov00_020838c8Ei arm_func_start _ZN10MapManager18func_ov00_020838c8Ei _ZN10MapManager18func_ov00_020838c8Ei: ; 0x020838c8 - ldr ip, _020838d4 ; =func_ov00_0207fe80 + ldr ip, _020838d4 ; =_ZN7MapBase10AddTriggerEi ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020838c8Ei -_020838d4: .word func_ov00_0207fe80 +_020838d4: .word _ZN7MapBase10AddTriggerEi .global _ZN10MapManager18func_ov00_020838d8Ei arm_func_start _ZN10MapManager18func_ov00_020838d8Ei _ZN10MapManager18func_ov00_020838d8Ei: ; 0x020838d8 - ldr ip, _020838e4 ; =func_ov00_0207ff88 + ldr ip, _020838e4 ; =_ZN7MapBase18func_ov00_0207ff88Ei ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020838d8Ei -_020838e4: .word func_ov00_0207ff88 +_020838e4: .word _ZN7MapBase18func_ov00_0207ff88Ei .global _ZN10MapManager18func_ov00_020838e8EjPi arm_func_start _ZN10MapManager18func_ov00_020838e8EjPi _ZN10MapManager18func_ov00_020838e8EjPi: ; 0x020838e8 - ldr ip, _020838f4 ; =func_ov00_0208039c + ldr ip, _020838f4 ; =_ZN7MapBase8FindExitEiP4Exit ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020838e8EjPi -_020838f4: .word func_ov00_0208039c +_020838f4: .word _ZN7MapBase8FindExitEiP4Exit .global _ZN10MapManager18func_ov00_020838f8EPi arm_func_start _ZN10MapManager18func_ov00_020838f8EPi _ZN10MapManager18func_ov00_020838f8EPi: ; 0x020838f8 - ldr ip, _02083904 ; =func_ov00_02080140 + ldr ip, _02083904 ; =_ZN7MapBase18func_ov00_02080140EP4Exit ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020838f8EPi -_02083904: .word func_ov00_02080140 +_02083904: .word _ZN7MapBase18func_ov00_02080140EP4Exit .global _ZN10MapManager18func_ov00_02083908EcPi arm_func_start _ZN10MapManager18func_ov00_02083908EcPi _ZN10MapManager18func_ov00_02083908EcPi: ; 0x02083908 - ldr ip, _02083914 ; =func_ov00_02080510 + ldr ip, _02083914 ; =_ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02083908EcPi -_02083914: .word func_ov00_02080510 +_02083914: .word _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint .global _ZN10MapManager18func_ov00_02083918EiPi arm_func_start _ZN10MapManager18func_ov00_02083918EiPi _ZN10MapManager18func_ov00_02083918EiPi: ; 0x02083918 - ldr ip, _02083924 ; =func_ov00_020805d0 + ldr ip, _02083924 ; =_ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02083918EiPi -_02083924: .word func_ov00_020805d0 +_02083924: .word _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint .global _ZN10MapManager18func_ov00_02083928EPci arm_func_start _ZN10MapManager18func_ov00_02083928EPci _ZN10MapManager18func_ov00_02083928EPci: ; 0x02083928 - ldr ip, _02083934 ; =func_ov00_02080688 + ldr ip, _02083934 ; =_ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02083928EPci -_02083934: .word func_ov00_02080688 +_02083934: .word _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi .global _ZN10MapManager18func_ov00_02083938Ei arm_func_start _ZN10MapManager18func_ov00_02083938Ei _ZN10MapManager18func_ov00_02083938Ei: ; 0x02083938 - ldr ip, _02083944 ; =func_ov00_02080780 + ldr ip, _02083944 ; =_ZN7MapBase26GetCurrentViewpoint_Unk_00Ei ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02083938Ei -_02083944: .word func_ov00_02080780 +_02083944: .word _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei .global _ZN10MapManager18Set_MapData_Unk_16Eci arm_func_start _ZN10MapManager18Set_MapData_Unk_16Eci @@ -2201,22 +2201,22 @@ _ZN10MapManager18Set_MapData_Unk_16Eci: ; 0x02083948 .global _ZN10MapManager18func_ov00_02083958Ei arm_func_start _ZN10MapManager18func_ov00_02083958Ei _ZN10MapManager18func_ov00_02083958Ei: ; 0x02083958 - ldr ip, _02083964 ; =func_ov00_0207f924 + ldr ip, _02083964 ; =_ZN7MapBase18func_ov00_0207f924Ei ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02083958Ei -_02083964: .word func_ov00_0207f924 +_02083964: .word _ZN7MapBase18func_ov00_0207f924Ei .global _ZN10MapManager18func_ov00_02083968EjPc arm_func_start _ZN10MapManager18func_ov00_02083968EjPc _ZN10MapManager18func_ov00_02083968EjPc: ; 0x02083968 - ldr ip, _02083974 ; =func_ov00_02080824 + ldr ip, _02083974 ; =_ZN7MapBase18func_ov00_02080824Eii ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02083968EjPc -_02083974: .word func_ov00_02080824 +_02083974: .word _ZN7MapBase18func_ov00_02080824Eii .global _ZN10MapManager18func_ov00_02083978EiP5Vec3p arm_func_start _ZN10MapManager18func_ov00_02083978EiP5Vec3p @@ -2224,7 +2224,7 @@ _ZN10MapManager18func_ov00_02083978EiP5Vec3p: ; 0x02083978 stmdb sp!, {r4, lr} ldr r0, [r0, #4] mov r4, r2 - bl func_ov00_02080a78 + bl _ZN7MapBase18func_ov00_02080a78EP5Vec3p cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} @@ -2241,22 +2241,22 @@ _ZN10MapManager18func_ov00_02083978EiP5Vec3p: ; 0x02083978 .global _ZN10MapManager18func_ov00_020839b4Ei arm_func_start _ZN10MapManager18func_ov00_020839b4Ei _ZN10MapManager18func_ov00_020839b4Ei: ; 0x020839b4 - ldr ip, _020839c0 ; =func_ov00_020808d0 + ldr ip, _020839c0 ; =_ZN7MapBase10AddUnk_130Ei ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020839b4Ei -_020839c0: .word func_ov00_020808d0 +_020839c0: .word _ZN7MapBase10AddUnk_130Ei .global _ZN10MapManager18func_ov00_020839c4Ei arm_func_start _ZN10MapManager18func_ov00_020839c4Ei _ZN10MapManager18func_ov00_020839c4Ei: ; 0x020839c4 - ldr ip, _020839d0 ; =func_ov00_020809b8 + ldr ip, _020839d0 ; =_ZN7MapBase18func_ov00_020809b8Ei ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_020839c4Ei -_020839d0: .word func_ov00_020809b8 +_020839d0: .word _ZN7MapBase18func_ov00_020809b8Ei .global _ZN10MapManager18func_ov00_020839d4Ev arm_func_start _ZN10MapManager18func_ov00_020839d4Ev @@ -2268,7 +2268,7 @@ _ZN10MapManager18func_ov00_020839d4Ev: ; 0x020839d4 mov r1, r0 ldr r0, [r5, #4] sub r1, r4, r1 - bl func_ov00_0207f778 + bl _ZN7MapBase15GetClampedTileXEi ldmia sp!, {r3, r4, r5, pc} arm_func_end _ZN10MapManager18func_ov00_020839d4Ev @@ -2282,7 +2282,7 @@ _ZN10MapManager18func_ov00_020839f8Ev: ; 0x020839f8 mov r1, r0 ldr r0, [r5, #4] sub r1, r4, r1 - bl func_ov00_0207f7a0 + bl _ZN7MapBase15GetClampedTileYEi ldmia sp!, {r3, r4, r5, pc} arm_func_end _ZN10MapManager18func_ov00_020839f8Ev @@ -2355,11 +2355,11 @@ _02083ab4: bl func_01ff9bf8 ldr r0, [r6, #4] ldr r1, [sp, #0x14] - bl func_ov00_0207f7a0 + bl _ZN7MapBase15GetClampedTileYEi mov r4, r0 ldr r0, [r6, #4] ldr r1, [sp, #0xc] - bl func_ov00_0207f778 + bl _ZN7MapBase15GetClampedTileXEi strb r0, [r7] add sp, sp, #0x24 strb r4, [r7, #1] @@ -2400,7 +2400,7 @@ _ZN10MapManager18func_ov00_02083b84Ev: ; 0x02083b84 mov r4, r0 ldr r0, [r6, #4] mov r1, r5 - bl func_ov00_0207f694 + bl _ZN7MapBase13GetTileStartXEi add r0, r4, r0 ldmia sp!, {r4, r5, r6, pc} arm_func_end _ZN10MapManager18func_ov00_02083b84Ev @@ -2415,7 +2415,7 @@ _ZN10MapManager18func_ov00_02083bacEv: ; 0x02083bac mov r4, r0 ldr r0, [r6, #4] mov r1, r5 - bl func_ov00_0207f6a0 + bl _ZN7MapBase13GetTileStartZEi add r0, r4, r0 ldmia sp!, {r4, r5, r6, pc} arm_func_end _ZN10MapManager18func_ov00_02083bacEv @@ -2430,7 +2430,7 @@ _ZN10MapManager18func_ov00_02083bd4Ev: ; 0x02083bd4 mov r4, r0 ldr r0, [r6, #4] mov r1, r5 - bl func_ov00_0207f6ac + bl _ZN7MapBase11GetTileEndXEi add r0, r4, r0 ldmia sp!, {r4, r5, r6, pc} arm_func_end _ZN10MapManager18func_ov00_02083bd4Ev @@ -2445,7 +2445,7 @@ _ZN10MapManager18func_ov00_02083bfcEv: ; 0x02083bfc mov r4, r0 ldr r0, [r6, #4] mov r1, r5 - bl func_ov00_0207f6bc + bl _ZN7MapBase11GetTileEndZEi add r0, r4, r0 ldmia sp!, {r4, r5, r6, pc} arm_func_end _ZN10MapManager18func_ov00_02083bfcEv @@ -2460,7 +2460,7 @@ _ZN10MapManager18func_ov00_02083c24Ei: ; 0x02083c24 mov r4, r0 ldr r0, [r6, #4] mov r1, r5 - bl func_ov00_0207f694 + bl _ZN7MapBase13GetTileStartXEi add r0, r4, r0 add r0, r0, #0x800 ldmia sp!, {r4, r5, r6, pc} @@ -2476,7 +2476,7 @@ _ZN10MapManager18func_ov00_02083c50Ei: ; 0x02083c50 mov r4, r0 ldr r0, [r6, #4] mov r1, r5 - bl func_ov00_0207f6a0 + bl _ZN7MapBase13GetTileStartZEi add r0, r4, r0 add r0, r0, #0x800 ldmia sp!, {r4, r5, r6, pc} @@ -2553,14 +2553,14 @@ _02083d44: bl _ZN10MapManager18func_ov00_02083524EP5Vec3pii ldrb r1, [sp, #0x30] ldr r0, [r6, #4] - bl func_ov00_0207f694 + bl _ZN7MapBase13GetTileStartXEi ldr r2, [sp, #0xc] ldrb r1, [sp, #0x31] add r0, r2, r0 add r0, r0, #0x800 str r0, [r5] ldr r0, [r6, #4] - bl func_ov00_0207f6a0 + bl _ZN7MapBase13GetTileStartZEi ldr r1, [sp, #0x14] add r0, r1, r0 add r0, r0, #0x800 @@ -2569,24 +2569,24 @@ _02083d44: _02083da4: ldrb r1, [sp, #0x30] ldr r0, [r6, #4] - bl func_ov00_0207f694 + bl _ZN7MapBase13GetTileStartXEi add r0, r0, #0x800 str r0, [r5] ldrb r1, [sp, #0x31] ldr r0, [r6, #4] - bl func_ov00_0207f6a0 + bl _ZN7MapBase13GetTileStartZEi add r0, r0, #0x800 str r0, [r5, #8] b _02083df8 _02083dd0: ldrb r1, [sp, #0x30] ldr r0, [r6, #4] - bl func_ov00_0207f694 + bl _ZN7MapBase13GetTileStartXEi add r0, r0, #0x800 str r0, [r5] ldrb r1, [sp, #0x31] ldr r0, [r6, #4] - bl func_ov00_0207f6a0 + bl _ZN7MapBase13GetTileStartZEi add r0, r0, #0x800 str r0, [r5, #8] _02083df8: @@ -2789,7 +2789,7 @@ _ZN10MapManager18func_ov00_02084024EiP4AABB: ; 0x02084024 mov r6, r0 ldr r0, [r6, #4] mov r5, r2 - bl func_ov00_0207f6cc + bl _ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB mov r0, r6 bl _ZN10MapManager18Get_MapData_Unk_d8Ev mov r4, r0 @@ -2890,22 +2890,22 @@ _ZN10MapManager17GetMapData_Unk_4cEv: ; 0x02084120 .global _ZN10MapManager18func_ov00_0208412cEv arm_func_start _ZN10MapManager18func_ov00_0208412cEv _ZN10MapManager18func_ov00_0208412cEv: ; 0x0208412c - ldr ip, _02084138 ; =func_ov00_0207f934 + ldr ip, _02084138 ; =_ZN7MapBase18func_ov00_0207f934Ev ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_0208412cEv -_02084138: .word func_ov00_0207f934 +_02084138: .word _ZN7MapBase18func_ov00_0207f934Ev .global _ZN10MapManager18func_ov00_0208413cEi arm_func_start _ZN10MapManager18func_ov00_0208413cEi _ZN10MapManager18func_ov00_0208413cEi: ; 0x0208413c - ldr ip, _02084148 ; =func_ov00_0207f948 + ldr ip, _02084148 ; =_ZN7MapBase18func_ov00_0207f948Ei ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_0208413cEi -_02084148: .word func_ov00_0207f948 +_02084148: .word _ZN7MapBase18func_ov00_0207f948Ei .global _ZN10MapManager16MapData_vfunc_58Ev arm_func_start _ZN10MapManager16MapData_vfunc_58Ev @@ -3079,7 +3079,7 @@ _ZN10MapManager18func_ov00_0208433cEP5Vec3pi: ; 0x0208433c ldr r1, [r5, #4] add r0, sp, #0 add r2, sp, #0x10 - bl func_ov00_0207f53c + bl _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p ldrsh r0, [sp] strh r0, [r4] ldrsh r0, [sp, #2] @@ -3096,7 +3096,7 @@ _ZN10MapManager18func_ov00_0208439cEv: ; 0x0208439c mov r5, r0 ldr r0, [r5, #4] mov r4, r2 - bl func_ov00_0207f630 + bl _ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p add r1, sp, #0 mov r0, r5 bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p @@ -3178,11 +3178,11 @@ _0208442c: str r0, [sp, #0x50] ldr r1, [r5, #4] add r0, sp, #0x14 - bl func_ov00_0207f53c + bl _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p ldr r1, [r5, #4] add r0, sp, #0x10 add r2, sp, #0x48 - bl func_ov00_0207f53c + bl _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p ldrsh r7, [sp, #0x14] ldrsh r0, [sp, #0x10] cmp r7, r0 @@ -3255,11 +3255,11 @@ _02084574: str r0, [sp, #0x20] ldr r1, [r5, #4] add r0, sp, #0xc - bl func_ov00_0207f53c + bl _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p ldr r1, [r5, #4] add r0, sp, #8 add r2, sp, #0x18 - bl func_ov00_0207f53c + bl _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p ldrsh r7, [sp, #0xc] ldrsh r0, [sp, #8] cmp r7, r0 @@ -3424,7 +3424,7 @@ _ZN10MapManager18func_ov00_020847f0Ev: ; 0x020847f0 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #4] - bl func_ov00_0207fc98 + bl _ZN7MapBase11FindTriggerEi cmp r0, #0 bne _02084814 mov r0, r4 @@ -3521,12 +3521,12 @@ _0208491c: .global _ZN10MapManager18func_ov00_02084924Ej arm_func_start _ZN10MapManager18func_ov00_02084924Ej _ZN10MapManager18func_ov00_02084924Ej: ; 0x02084924 - ldr ip, _02084930 ; =func_ov00_0208008c + ldr ip, _02084930 ; =_ZN7MapBase18func_ov00_0208008cEj ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end _ZN10MapManager18func_ov00_02084924Ej -_02084930: .word func_ov00_0208008c +_02084930: .word _ZN7MapBase18func_ov00_0208008cEj .global _ZN10MapManager18func_ov00_02084934Ev arm_func_start _ZN10MapManager18func_ov00_02084934Ev @@ -3548,7 +3548,7 @@ _ZN10MapManager18func_ov00_02084934Ev: ; 0x02084934 str r5, [sp, #8] str r0, [sp] ldr r0, [r7, #4] - bl func_ov00_0207f7e8 + bl _ZN7MapBase10IsInBoundsEP5Vec3p add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} arm_func_end _ZN10MapManager18func_ov00_02084934Ev @@ -3971,7 +3971,7 @@ _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p: ; 0x02084d4c ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r3, _02084eac ; =data_ov00_020e24a4 - ldr r1, _02084eb0 ; =func_ov00_0207e968 + ldr r1, _02084eb0 ; =_ZN7MapBase18func_ov00_0207e968Ev ldr r2, _02084eb4 ; =data_ov00_020ec9c8 mov r0, ip str lr, [r3, #0x78] @@ -4034,7 +4034,7 @@ _02084ea0: .word data_027e0f64 _02084ea4: .word data_ov00_020ec964 _02084ea8: .word data_ov00_020e2510 _02084eac: .word data_ov00_020e24a4 -_02084eb0: .word func_ov00_0207e968 +_02084eb0: .word _ZN7MapBase18func_ov00_0207e968Ev _02084eb4: .word data_ov00_020ec9c8 _02084eb8: .word 0x0000019a @@ -4933,7 +4933,7 @@ _02085b18: _02085b24: ldr r0, [r5, #4] add r1, sp, #8 - bl func_ov00_02080b24 + bl _ZN7MapBase18func_ov00_02080b24EP5Vec2b mov r2, #0 sub r1, r2, #1 mov r0, #1 @@ -5003,7 +5003,7 @@ _02085bdc: strb r2, [sp, #5] strb r0, [sp, #4] ldr r0, [r5, #4] - bl func_ov00_02080d08 + bl _ZN7MapBase18func_ov00_02080d08Ei _02085c38: mov r0, r6 ldr r2, [r0] @@ -6513,7 +6513,7 @@ func_ov00_020df4cc: ; 0x020df4cc str r2, [r0, #0x44] str r1, [r0, #0x48] ldr r0, _020df61c ; =data_ov00_020e24e8 - ldr r1, _020df620 ; =func_ov00_0207dd9c + ldr r1, _020df620 ; =_ZN15MapManager_Unk2D1Ev ldr r2, _020df624 ; =data_ov00_020ec994 bl __register_global_object ldr r0, _020df628 ; =data_ov00_020e24f0 @@ -6522,7 +6522,7 @@ func_ov00_020df4cc: ; 0x020df4cc str r1, [r0] add r1, r1, #0x20000 str r1, [r0, #4] - ldr r1, _020df620 ; =func_ov00_0207dd9c + ldr r1, _020df620 ; =_ZN15MapManager_Unk2D1Ev ldr r2, _020df62c ; =data_ov00_020ec9a0 bl __register_global_object ldr r0, _020df630 ; =data_ov00_020e24f8 @@ -6531,7 +6531,7 @@ func_ov00_020df4cc: ; 0x020df4cc str r1, [r0] add r1, r1, #0x20000 str r1, [r0, #4] - ldr r1, _020df620 ; =func_ov00_0207dd9c + ldr r1, _020df620 ; =_ZN15MapManager_Unk2D1Ev ldr r2, _020df634 ; =data_ov00_020ec9ac bl __register_global_object ldr r0, _020df638 ; =data_ov00_020e2500 @@ -6540,7 +6540,7 @@ func_ov00_020df4cc: ; 0x020df4cc str r1, [r0] add r1, r1, #0x20000 str r1, [r0, #4] - ldr r1, _020df620 ; =func_ov00_0207dd9c + ldr r1, _020df620 ; =_ZN15MapManager_Unk2D1Ev ldr r2, _020df63c ; =data_ov00_020ec9b8 bl __register_global_object ldmia sp!, {r3, pc} @@ -6558,7 +6558,7 @@ _020df610: .word data_ov00_020ec97c _020df614: .word data_ov00_020e24e0 _020df618: .word data_ov00_020ec988 _020df61c: .word data_ov00_020e24e8 -_020df620: .word func_ov00_0207dd9c +_020df620: .word _ZN15MapManager_Unk2D1Ev _020df624: .word data_ov00_020ec994 _020df628: .word data_ov00_020e24f0 _020df62c: .word data_ov00_020ec9a0 diff --git a/asm/ov00/ov00_0207da38.s b/asm/ov00/ov00_0207da38.s index d366c90b..a575616f 100644 --- a/asm/ov00/ov00_0207da38.s +++ b/asm/ov00/ov00_0207da38.s @@ -3,9 +3,9 @@ .text - .global func_ov00_0207da38 - arm_func_start func_ov00_0207da38 -func_ov00_0207da38: ; 0x0207da38 + .global _ZN7MapBaseD1Ev + arm_func_start _ZN7MapBaseD1Ev +_ZN7MapBaseD1Ev: ; 0x0207da38 stmdb sp!, {r3, r4, r5, lr} ldr r1, _0207db0c ; =data_ov00_020e2348 mov r4, r0 @@ -46,7 +46,7 @@ _0207dab4: _0207dac0: mov r0, r4 blx func_ov04_0210cb1c - ldr r3, _0207db14 ; =func_ov00_0207db18 + ldr r3, _0207db14 ; =_ZN15MapBase_Unk_180D1Ev add r0, r4, #0x180 mov r1, #2 mov r2, #4 @@ -64,20 +64,20 @@ _0207dac0: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 - arm_func_end func_ov00_0207da38 + arm_func_end _ZN7MapBaseD1Ev _0207db0c: .word data_ov00_020e2348 _0207db10: .word data_ov00_020ec81c -_0207db14: .word func_ov00_0207db18 +_0207db14: .word _ZN15MapBase_Unk_180D1Ev - .global func_ov00_0207db18 - arm_func_start func_ov00_0207db18 -func_ov00_0207db18: ; 0x0207db18 + .global _ZN15MapBase_Unk_180D1Ev + arm_func_start _ZN15MapBase_Unk_180D1Ev +_ZN15MapBase_Unk_180D1Ev: ; 0x0207db18 bx lr - arm_func_end func_ov00_0207db18 + arm_func_end _ZN15MapBase_Unk_180D1Ev - .global func_ov00_0207db1c - arm_func_start func_ov00_0207db1c -func_ov00_0207db1c: ; 0x0207db1c + .global _ZN7MapBaseD0Ev + arm_func_start _ZN7MapBaseD0Ev +_ZN7MapBaseD0Ev: ; 0x0207db1c stmdb sp!, {r3, r4, r5, lr} ldr r1, _0207dbf8 ; =data_ov00_020e2348 mov r4, r0 @@ -118,7 +118,7 @@ _0207db98: _0207dba4: mov r0, r4 blx func_ov04_0210cb1c - ldr r3, _0207dc00 ; =func_ov00_0207db18 + ldr r3, _0207dc00 ; =_ZN15MapBase_Unk_180D1Ev add r0, r4, #0x180 mov r1, #2 mov r2, #4 @@ -138,14 +138,14 @@ _0207dba4: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 - arm_func_end func_ov00_0207db1c + arm_func_end _ZN7MapBaseD0Ev _0207dbf8: .word data_ov00_020e2348 _0207dbfc: .word data_ov00_020ec81c -_0207dc00: .word func_ov00_0207db18 +_0207dc00: .word _ZN15MapBase_Unk_180D1Ev - .global func_ov00_0207dc04 - arm_func_start func_ov00_0207dc04 -func_ov00_0207dc04: ; 0x0207dc04 + .global _ZN7MapBaseD2Ev + arm_func_start _ZN7MapBaseD2Ev +_ZN7MapBaseD2Ev: ; 0x0207dc04 stmdb sp!, {r3, r4, r5, lr} ldr r1, _0207dcd8 ; =data_ov00_020e2348 mov r4, r0 @@ -186,7 +186,7 @@ _0207dc80: _0207dc8c: mov r0, r4 blx func_ov04_0210cb1c - ldr r3, _0207dce0 ; =func_ov00_0207db18 + ldr r3, _0207dce0 ; =_ZN15MapBase_Unk_180D1Ev add r0, r4, #0x180 mov r1, #2 mov r2, #4 @@ -204,14 +204,14 @@ _0207dc8c: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 - arm_func_end func_ov00_0207dc04 + arm_func_end _ZN7MapBaseD2Ev _0207dcd8: .word data_ov00_020e2348 _0207dcdc: .word data_ov00_020ec81c -_0207dce0: .word func_ov00_0207db18 +_0207dce0: .word _ZN15MapBase_Unk_180D1Ev - .global func_ov00_0207dce4 - arm_func_start func_ov00_0207dce4 -func_ov00_0207dce4: ; 0x0207dce4 + .global _ZN7MapBase9SetBoundsEii + arm_func_start _ZN7MapBase9SetBoundsEii +_ZN7MapBase9SetBoundsEii: ; 0x0207dce4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x2c mov r4, r0 @@ -258,17 +258,17 @@ func_ov00_0207dce4: ; 0x0207dce4 str r0, [r4, #0xfc] add sp, sp, #0x2c ldmia sp!, {r4, r5, pc} - arm_func_end func_ov00_0207dce4 + arm_func_end _ZN7MapBase9SetBoundsEii - .global func_ov00_0207dd9c - arm_func_start func_ov00_0207dd9c -func_ov00_0207dd9c: ; 0x0207dd9c + .global _ZN15MapManager_Unk2D1Ev + arm_func_start _ZN15MapManager_Unk2D1Ev +_ZN15MapManager_Unk2D1Ev: ; 0x0207dd9c bx lr - arm_func_end func_ov00_0207dd9c + arm_func_end _ZN15MapManager_Unk2D1Ev - .global func_ov00_0207dda0 - arm_func_start func_ov00_0207dda0 -func_ov00_0207dda0: ; 0x0207dda0 + .global _ZN7MapBase14GetMapFilePathEPcii + arm_func_start _ZN7MapBase14GetMapFilePathEPcii +_ZN7MapBase14GetMapFilePathEPcii: ; 0x0207dda0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 ldr ip, _0207ddec ; =0x66666667 @@ -289,19 +289,19 @@ func_ov00_0207dda0: ; 0x0207dda0 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 - arm_func_end func_ov00_0207dda0 + arm_func_end _ZN7MapBase14GetMapFilePathEPcii _0207ddec: .word 0x66666667 _0207ddf0: .word data_ov00_020e2410 - .global func_ov00_0207ddf4 - arm_func_start func_ov00_0207ddf4 -func_ov00_0207ddf4: ; 0x0207ddf4 + .global _ZN7MapBase8vfunc_18Ev + arm_func_start _ZN7MapBase8vfunc_18Ev +_ZN7MapBase8vfunc_18Ev: ; 0x0207ddf4 bx lr - arm_func_end func_ov00_0207ddf4 + arm_func_end _ZN7MapBase8vfunc_18Ev - .global func_ov00_0207ddf8 - arm_func_start func_ov00_0207ddf8 -func_ov00_0207ddf8: ; 0x0207ddf8 + .global _ZN7MapBase18func_ov00_0207ddf8Eb + arm_func_start _ZN7MapBase18func_ov00_0207ddf8Eb +_ZN7MapBase18func_ov00_0207ddf8Eb: ; 0x0207ddf8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} mov r7, #0 mov r10, r0 @@ -334,11 +334,11 @@ _0207de54: add r8, r8, #4 blt _0207de1c ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end func_ov00_0207ddf8 + arm_func_end _ZN7MapBase18func_ov00_0207ddf8Eb - .global func_ov00_0207de68 - arm_func_start func_ov00_0207de68 -func_ov00_0207de68: ; 0x0207de68 + .global _ZN7MapBase18func_ov00_0207de68Ei + arm_func_start _ZN7MapBase18func_ov00_0207de68Ei +_ZN7MapBase18func_ov00_0207de68Ei: ; 0x0207de68 stmdb sp!, {r3, lr} ldr r0, [r0, #0x144] mov r2, r1 @@ -347,22 +347,22 @@ func_ov00_0207de68: ; 0x0207de68 mov r1, #0 bl func_ov00_0209c08c ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207de68 + arm_func_end _ZN7MapBase18func_ov00_0207de68Ei - .global func_ov00_0207de88 - arm_func_start func_ov00_0207de88 -func_ov00_0207de88: ; 0x0207de88 + .global _ZN7MapBase18func_ov00_0207de88Ev + arm_func_start _ZN7MapBase18func_ov00_0207de88Ev +_ZN7MapBase18func_ov00_0207de88Ev: ; 0x0207de88 stmdb sp!, {r3, lr} ldr r0, [r0, #0x144] cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov00_0209c61c ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207de88 + arm_func_end _ZN7MapBase18func_ov00_0207de88Ev - .global func_ov00_0207dea0 - arm_func_start func_ov00_0207dea0 -func_ov00_0207dea0: ; 0x0207dea0 + .global _ZN7MapBase18func_ov00_0207dea0Eb + arm_func_start _ZN7MapBase18func_ov00_0207dea0Eb +_ZN7MapBase18func_ov00_0207dea0Eb: ; 0x0207dea0 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 mov r5, r0 @@ -473,7 +473,7 @@ _0207e01c: add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 - arm_func_end func_ov00_0207dea0 + arm_func_end _ZN7MapBase18func_ov00_0207dea0Eb _0207e044: .word data_027e0f78 _0207e048: .word data_027e0f88 _0207e04c: .word data_ov00_020ecde4 @@ -482,9 +482,9 @@ _0207e054: .word data_027e0d38 _0207e058: .word data_027e0e58 _0207e05c: .word data_027e0f8c - .global func_ov00_0207e060 - arm_func_start func_ov00_0207e060 -func_ov00_0207e060: ; 0x0207e060 + .global _ZN7MapBase8vfunc_b0Eii + arm_func_start _ZN7MapBase8vfunc_b0Eii +_ZN7MapBase8vfunc_b0Eii: ; 0x0207e060 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #0x13c] @@ -496,11 +496,11 @@ func_ov00_0207e060: ; 0x0207e060 mov r1, r4 bl func_020196bc ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207e060 + arm_func_end _ZN7MapBase8vfunc_b0Eii - .global func_ov00_0207e08c - arm_func_start func_ov00_0207e08c -func_ov00_0207e08c: ; 0x0207e08c + .global _ZN7MapBase18func_ov00_0207e08cEii + arm_func_start _ZN7MapBase18func_ov00_0207e08cEii +_ZN7MapBase18func_ov00_0207e08cEii: ; 0x0207e08c stmdb sp!, {r3, lr} ldr r3, [r0, #0x13c] cmp r3, #0 @@ -526,11 +526,11 @@ func_ov00_0207e08c: ; 0x0207e08c ldrh r2, [r3, #0x1c] strh r2, [r1, #4] ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207e08c + arm_func_end _ZN7MapBase18func_ov00_0207e08cEii - .global func_ov00_0207e0f0 - arm_func_start func_ov00_0207e0f0 -func_ov00_0207e0f0: ; 0x0207e0f0 + .global _ZN7MapBase18func_ov00_0207e0f0Ei + arm_func_start _ZN7MapBase18func_ov00_0207e0f0Ei +_ZN7MapBase18func_ov00_0207e0f0Ei: ; 0x0207e0f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x14 mov r10, r0 @@ -640,11 +640,11 @@ _0207e280: mvn r0, #0 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end func_ov00_0207e0f0 + arm_func_end _ZN7MapBase18func_ov00_0207e0f0Ei - .global func_ov00_0207e28c - arm_func_start func_ov00_0207e28c -func_ov00_0207e28c: ; 0x0207e28c + .global _ZN7MapBase18func_ov00_0207e28cEi + arm_func_start _ZN7MapBase18func_ov00_0207e28cEi +_ZN7MapBase18func_ov00_0207e28cEi: ; 0x0207e28c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x14 mov r10, r0 @@ -761,11 +761,11 @@ _0207e438: mvn r0, #0 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end func_ov00_0207e28c + arm_func_end _ZN7MapBase18func_ov00_0207e28cEi - .global func_ov00_0207e444 - arm_func_start func_ov00_0207e444 -func_ov00_0207e444: ; 0x0207e444 + .global _ZN7MapBase8vfunc_b4Ev + arm_func_start _ZN7MapBase8vfunc_b4Ev +_ZN7MapBase8vfunc_b4Ev: ; 0x0207e444 stmdb sp!, {r3, lr} ldr r0, _0207e468 ; =data_ov00_020ec81c ldr r0, [r0, #4] @@ -776,66 +776,66 @@ func_ov00_0207e444: ; 0x0207e444 bl func_0201e4cc ldmia sp!, {r3, pc} .align 2, 0 - arm_func_end func_ov00_0207e444 + arm_func_end _ZN7MapBase8vfunc_b4Ev _0207e468: .word data_ov00_020ec81c - .global func_ov00_0207e46c - arm_func_start func_ov00_0207e46c -func_ov00_0207e46c: ; 0x0207e46c + .global _ZN7MapBase8vfunc_48Ev + arm_func_start _ZN7MapBase8vfunc_48Ev +_ZN7MapBase8vfunc_48Ev: ; 0x0207e46c stmdb sp!, {r4, lr} mov r4, r0 - bl func_ov00_0207fe3c + bl _ZN7MapBase16Trigger_vfunc_08Ev ldr r0, [r4, #0x144] mov r1, #0 bl func_ov00_0209c8e4 ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207e46c + arm_func_end _ZN7MapBase8vfunc_48Ev - .global func_ov00_0207e488 - arm_func_start func_ov00_0207e488 -func_ov00_0207e488: ; 0x0207e488 + .global _ZN7MapBase8vfunc_50Ev + arm_func_start _ZN7MapBase8vfunc_50Ev +_ZN7MapBase8vfunc_50Ev: ; 0x0207e488 mov r0, #0 bx lr - arm_func_end func_ov00_0207e488 + arm_func_end _ZN7MapBase8vfunc_50Ev - .global func_ov00_0207e490 - arm_func_start func_ov00_0207e490 -func_ov00_0207e490: ; 0x0207e490 + .global _ZN7MapBase8vfunc_54Ev + arm_func_start _ZN7MapBase8vfunc_54Ev +_ZN7MapBase8vfunc_54Ev: ; 0x0207e490 mov r0, #0 bx lr - arm_func_end func_ov00_0207e490 + arm_func_end _ZN7MapBase8vfunc_54Ev - .global func_ov00_0207e498 - arm_func_start func_ov00_0207e498 -func_ov00_0207e498: ; 0x0207e498 + .global _ZN7MapBase8vfunc_58Ev + arm_func_start _ZN7MapBase8vfunc_58Ev +_ZN7MapBase8vfunc_58Ev: ; 0x0207e498 mov r0, #0 bx lr - arm_func_end func_ov00_0207e498 + arm_func_end _ZN7MapBase8vfunc_58Ev - .global func_ov00_0207e4a0 - arm_func_start func_ov00_0207e4a0 -func_ov00_0207e4a0: ; 0x0207e4a0 + .global _ZN7MapBase8vfunc_5cEv + arm_func_start _ZN7MapBase8vfunc_5cEv +_ZN7MapBase8vfunc_5cEv: ; 0x0207e4a0 mov r0, #0 bx lr - arm_func_end func_ov00_0207e4a0 + arm_func_end _ZN7MapBase8vfunc_5cEv - .global func_ov00_0207e4a8 - arm_func_start func_ov00_0207e4a8 -func_ov00_0207e4a8: ; 0x0207e4a8 + .global _ZN7MapBase8vfunc_60Ev + arm_func_start _ZN7MapBase8vfunc_60Ev +_ZN7MapBase8vfunc_60Ev: ; 0x0207e4a8 mov r0, #0 bx lr - arm_func_end func_ov00_0207e4a8 + arm_func_end _ZN7MapBase8vfunc_60Ev - .global func_ov00_0207e4b0 - arm_func_start func_ov00_0207e4b0 -func_ov00_0207e4b0: ; 0x0207e4b0 + .global _ZN7MapBase8vfunc_64Ev + arm_func_start _ZN7MapBase8vfunc_64Ev +_ZN7MapBase8vfunc_64Ev: ; 0x0207e4b0 mov r0, #0 bx lr - arm_func_end func_ov00_0207e4b0 + arm_func_end _ZN7MapBase8vfunc_64Ev - .global func_ov00_0207e4b8 - arm_func_start func_ov00_0207e4b8 -func_ov00_0207e4b8: ; 0x0207e4b8 + .global _ZN7MapBase8vfunc_68Eii + arm_func_start _ZN7MapBase8vfunc_68Eii +_ZN7MapBase8vfunc_68Eii: ; 0x0207e4b8 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x7c ldr r3, _0207e92c ; =gMapManager @@ -926,7 +926,7 @@ _0207e5e4: add r2, sp, #0x14 mov r0, r8 mov r1, r9 - bl func_ov00_0207f104 + bl _ZN7MapBase18func_ov00_0207f104Eii cmp r0, #0 ldrne r0, [sp, #0x14] addne sp, sp, #0x7c @@ -934,7 +934,7 @@ _0207e5e4: add r2, sp, #0x14 mov r0, r8 mov r1, r9 - bl func_ov00_0207f1f4 + bl _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi cmp r0, #0 beq _0207e724 ldr r0, [sp, #0x14] @@ -970,7 +970,7 @@ _0207e694: add r2, sp, #0x10 mov r0, r8 mov r1, r9 - bl func_ov00_0207f104 + bl _ZN7MapBase18func_ov00_0207f104Eii cmp r0, #0 ldrne r0, [sp, #0x10] addne sp, sp, #0x7c @@ -978,7 +978,7 @@ _0207e694: add r2, sp, #0x10 mov r0, r8 mov r1, r9 - bl func_ov00_0207f1f4 + bl _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi cmp r0, #0 beq _0207e6e0 ldr r0, [sp, #0x10] @@ -1015,9 +1015,9 @@ _0207e724: mov r1, r9 mov r2, #2 bl func_01fff084 - ldr r4, _0207e938 ; =func_ov00_0207e968 + ldr r4, _0207e938 ; =_ZN7MapBase18func_ov00_0207e968Ev mov r5, r0 - ldr r3, _0207e93c ; =func_ov00_0207e96c + ldr r3, _0207e93c ; =_ZN7MapBase18func_ov00_0207e96cEv add r0, sp, #0x48 mov r1, #3 mov r2, #0x10 @@ -1115,7 +1115,7 @@ _0207e8a0: adc r1, r2, #0 mov r4, r3, lsr #0xc orr r4, r4, r1, lsl #20 - ldr r3, _0207e938 ; =func_ov00_0207e968 + ldr r3, _0207e938 ; =_ZN7MapBase18func_ov00_0207e968Ev ldr r5, [sp, #0x1c] add r0, sp, #0x48 mov r1, #3 @@ -1131,7 +1131,7 @@ _0207e8f4: ldr r2, [r2, #0x60] blx r2 mov r4, r0 - ldr r3, _0207e938 ; =func_ov00_0207e968 + ldr r3, _0207e938 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x48 mov r1, #3 mov r2, #0x10 @@ -1140,19 +1140,19 @@ _0207e8f4: add sp, sp, #0x7c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 - arm_func_end func_ov00_0207e4b8 + arm_func_end _ZN7MapBase8vfunc_68Eii _0207e92c: .word gMapManager _0207e930: .word data_027e0f6c _0207e934: .word data_ov00_020ec824 -_0207e938: .word func_ov00_0207e968 -_0207e93c: .word func_ov00_0207e96c +_0207e938: .word _ZN7MapBase18func_ov00_0207e968Ev +_0207e93c: .word _ZN7MapBase18func_ov00_0207e96cEv - .global func_ov00_0207e940 - arm_func_start func_ov00_0207e940 -func_ov00_0207e940: ; 0x0207e940 + .global _ZN7MapBase18func_ov00_0207e940EPc + arm_func_start _ZN7MapBase18func_ov00_0207e940EPc +_ZN7MapBase18func_ov00_0207e940EPc: ; 0x0207e940 stmdb sp!, {r4, lr} mov r4, r0 - ldr r3, _0207e964 ; =func_ov00_0207e968 + ldr r3, _0207e964 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, r4, #0x18 mov r1, #3 mov r2, #0x10 @@ -1160,24 +1160,24 @@ func_ov00_0207e940: ; 0x0207e940 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 - arm_func_end func_ov00_0207e940 -_0207e964: .word func_ov00_0207e968 + arm_func_end _ZN7MapBase18func_ov00_0207e940EPc +_0207e964: .word _ZN7MapBase18func_ov00_0207e968Ev - .global func_ov00_0207e968 - arm_func_start func_ov00_0207e968 -func_ov00_0207e968: ; 0x0207e968 + .global _ZN7MapBase18func_ov00_0207e968Ev + arm_func_start _ZN7MapBase18func_ov00_0207e968Ev +_ZN7MapBase18func_ov00_0207e968Ev: ; 0x0207e968 bx lr - arm_func_end func_ov00_0207e968 + arm_func_end _ZN7MapBase18func_ov00_0207e968Ev - .global func_ov00_0207e96c - arm_func_start func_ov00_0207e96c -func_ov00_0207e96c: ; 0x0207e96c + .global _ZN7MapBase18func_ov00_0207e96cEv + arm_func_start _ZN7MapBase18func_ov00_0207e96cEv +_ZN7MapBase18func_ov00_0207e96cEv: ; 0x0207e96c bx lr - arm_func_end func_ov00_0207e96c + arm_func_end _ZN7MapBase18func_ov00_0207e96cEv - .global func_ov00_0207e970 - arm_func_start func_ov00_0207e970 -func_ov00_0207e970: ; 0x0207e970 + .global _ZN7MapBase8vfunc_6cEiii + arm_func_start _ZN7MapBase8vfunc_6cEiii +_ZN7MapBase8vfunc_6cEiii: ; 0x0207e970 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xc4 ldr r4, _0207ee00 ; =gMapManager @@ -1300,17 +1300,17 @@ _0207eb04: mov r1, r9 mov r2, #2 bl func_01fff084 - ldr r5, _0207ee0c ; =func_ov00_0207e968 + ldr r5, _0207ee0c ; =_ZN7MapBase18func_ov00_0207e968Ev mov r4, r0 str r5, [sp] - ldr r3, _0207ee10 ; =func_ov00_0207e96c + ldr r3, _0207ee10 ; =_ZN7MapBase18func_ov00_0207e96cEv add r0, sp, #0x90 mov r1, #3 mov r2, #0x10 mov r5, #0x2000 bl func_0204f614 - ldr r1, _0207ee0c ; =func_ov00_0207e968 - ldr r3, _0207ee10 ; =func_ov00_0207e96c + ldr r1, _0207ee0c ; =_ZN7MapBase18func_ov00_0207e968Ev + ldr r3, _0207ee10 ; =_ZN7MapBase18func_ov00_0207e96cEv str r1, [sp] add r0, sp, #0x44 mov r1, #3 @@ -1474,12 +1474,12 @@ _0207eda4: mov r0, #0x1000 stmib r7, {r0, r1} _0207edd0: - ldr r3, _0207ee0c ; =func_ov00_0207e968 + ldr r3, _0207ee0c ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x44 mov r1, #3 mov r2, #0x10 bl func_0204f754 - ldr r3, _0207ee0c ; =func_ov00_0207e968 + ldr r3, _0207ee0c ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x90 mov r1, #3 mov r2, #0x10 @@ -1487,16 +1487,16 @@ _0207edd0: add sp, sp, #0xc4 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 - arm_func_end func_ov00_0207e970 + arm_func_end _ZN7MapBase8vfunc_6cEiii _0207ee00: .word gMapManager _0207ee04: .word data_027e0f6c _0207ee08: .word data_ov00_020ec864 -_0207ee0c: .word func_ov00_0207e968 -_0207ee10: .word func_ov00_0207e96c +_0207ee0c: .word _ZN7MapBase18func_ov00_0207e968Ev +_0207ee10: .word _ZN7MapBase18func_ov00_0207e96cEv - .global func_ov00_0207ee14 - arm_func_start func_ov00_0207ee14 -func_ov00_0207ee14: ; 0x0207ee14 + .global _ZN7MapBase8vfunc_70EP5Vec3p + arm_func_start _ZN7MapBase8vfunc_70EP5Vec3p +_ZN7MapBase8vfunc_70EP5Vec3p: ; 0x0207ee14 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x74 ldr r0, _0207efdc ; =gMapManager @@ -1515,10 +1515,10 @@ func_ov00_0207ee14: ; 0x0207ee14 mov r1, r9 mov r2, #2 bl func_01fff084 - ldr r1, _0207efe8 ; =func_ov00_0207e968 + ldr r1, _0207efe8 ; =_ZN7MapBase18func_ov00_0207e968Ev mov r5, r0 str r1, [sp] - ldr r3, _0207efec ; =func_ov00_0207e96c + ldr r3, _0207efec ; =_ZN7MapBase18func_ov00_0207e96cEv add r0, sp, #0x40 mov r1, #3 mov r2, #0x10 @@ -1606,7 +1606,7 @@ _0207efa8: mov r8, r0, lsr #0x10 bgt _0207eeb8 _0207efbc: - ldr r3, _0207efe8 ; =func_ov00_0207e968 + ldr r3, _0207efe8 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x40 mov r1, #3 mov r2, #0x10 @@ -1615,17 +1615,17 @@ _0207efbc: add sp, sp, #0x74 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 - arm_func_end func_ov00_0207ee14 + arm_func_end _ZN7MapBase8vfunc_70EP5Vec3p _0207efdc: .word gMapManager _0207efe0: .word data_027e0f6c _0207efe4: .word data_ov00_020ec8a4 -_0207efe8: .word func_ov00_0207e968 -_0207efec: .word func_ov00_0207e96c +_0207efe8: .word _ZN7MapBase18func_ov00_0207e968Ev +_0207efec: .word _ZN7MapBase18func_ov00_0207e96cEv _0207eff0: .word 0x0000ffff - .global func_ov00_0207eff4 - arm_func_start func_ov00_0207eff4 -func_ov00_0207eff4: ; 0x0207eff4 + .global _ZN7MapBase8vfunc_74EP5Vec3p + arm_func_start _ZN7MapBase8vfunc_74EP5Vec3p +_ZN7MapBase8vfunc_74EP5Vec3p: ; 0x0207eff4 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x24 ldr r0, _0207f0f4 ; =gMapManager @@ -1694,20 +1694,20 @@ _0207f0e8: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 - arm_func_end func_ov00_0207eff4 + arm_func_end _ZN7MapBase8vfunc_74EP5Vec3p _0207f0f4: .word gMapManager _0207f0f8: .word data_027e0f6c _0207f0fc: .word data_ov00_020ec8e4 - .global func_ov00_0207f100 - arm_func_start func_ov00_0207f100 -func_ov00_0207f100: ; 0x0207f100 + .global _ZN7MapBase18func_ov00_0207f100Ev + arm_func_start _ZN7MapBase18func_ov00_0207f100Ev +_ZN7MapBase18func_ov00_0207f100Ev: ; 0x0207f100 bx lr - arm_func_end func_ov00_0207f100 + arm_func_end _ZN7MapBase18func_ov00_0207f100Ev - .global func_ov00_0207f104 - arm_func_start func_ov00_0207f104 -func_ov00_0207f104: ; 0x0207f104 + .global _ZN7MapBase18func_ov00_0207f104Eii + arm_func_start _ZN7MapBase18func_ov00_0207f104Eii +_ZN7MapBase18func_ov00_0207f104Eii: ; 0x0207f104 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r3, _0207f1f0 ; =gMapManager mov r5, r1 @@ -1769,12 +1769,12 @@ _0207f1cc: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 - arm_func_end func_ov00_0207f104 + arm_func_end _ZN7MapBase18func_ov00_0207f104Eii _0207f1f0: .word gMapManager - .global func_ov00_0207f1f4 - arm_func_start func_ov00_0207f1f4 -func_ov00_0207f1f4: ; 0x0207f1f4 + .global _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi + arm_func_start _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi +_ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi: ; 0x0207f1f4 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x3c ldr r0, _0207f318 ; =gMapManager @@ -1852,80 +1852,80 @@ _0207f30c: add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 - arm_func_end func_ov00_0207f1f4 + arm_func_end _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi _0207f318: .word gMapManager _0207f31c: .word data_027e0f6c _0207f320: .word data_ov00_020ec924 - .global func_ov00_0207f324 - arm_func_start func_ov00_0207f324 -func_ov00_0207f324: ; 0x0207f324 + .global _ZN7MapBase8vfunc_88Ev + arm_func_start _ZN7MapBase8vfunc_88Ev +_ZN7MapBase8vfunc_88Ev: ; 0x0207f324 mov r0, #0 bx lr - arm_func_end func_ov00_0207f324 + arm_func_end _ZN7MapBase8vfunc_88Ev - .global func_ov00_0207f32c - arm_func_start func_ov00_0207f32c -func_ov00_0207f32c: ; 0x0207f32c + .global _ZN7MapBase8vfunc_8cEv + arm_func_start _ZN7MapBase8vfunc_8cEv +_ZN7MapBase8vfunc_8cEv: ; 0x0207f32c mov r0, #0 bx lr - arm_func_end func_ov00_0207f32c + arm_func_end _ZN7MapBase8vfunc_8cEv - .global func_ov00_0207f334 - arm_func_start func_ov00_0207f334 -func_ov00_0207f334: ; 0x0207f334 + .global _ZN7MapBase8vfunc_9cEv + arm_func_start _ZN7MapBase8vfunc_9cEv +_ZN7MapBase8vfunc_9cEv: ; 0x0207f334 bx lr - arm_func_end func_ov00_0207f334 + arm_func_end _ZN7MapBase8vfunc_9cEv - .global func_ov00_0207f338 - arm_func_start func_ov00_0207f338 -func_ov00_0207f338: ; 0x0207f338 + .global _ZN7MapBase8vfunc_a0Ev + arm_func_start _ZN7MapBase8vfunc_a0Ev +_ZN7MapBase8vfunc_a0Ev: ; 0x0207f338 bx lr - arm_func_end func_ov00_0207f338 + arm_func_end _ZN7MapBase8vfunc_a0Ev - .global func_ov00_0207f33c - arm_func_start func_ov00_0207f33c -func_ov00_0207f33c: ; 0x0207f33c + .global _ZN7MapBase8vfunc_a4Ev + arm_func_start _ZN7MapBase8vfunc_a4Ev +_ZN7MapBase8vfunc_a4Ev: ; 0x0207f33c mov r0, #0 bx lr - arm_func_end func_ov00_0207f33c + arm_func_end _ZN7MapBase8vfunc_a4Ev - .global func_ov00_0207f344 - arm_func_start func_ov00_0207f344 -func_ov00_0207f344: ; 0x0207f344 + .global _ZN7MapBase8vfunc_a8Ev + arm_func_start _ZN7MapBase8vfunc_a8Ev +_ZN7MapBase8vfunc_a8Ev: ; 0x0207f344 bx lr - arm_func_end func_ov00_0207f344 + arm_func_end _ZN7MapBase8vfunc_a8Ev - .global func_ov00_0207f348 - arm_func_start func_ov00_0207f348 -func_ov00_0207f348: ; 0x0207f348 + .global _ZN7MapBase8vfunc_acEv + arm_func_start _ZN7MapBase8vfunc_acEv +_ZN7MapBase8vfunc_acEv: ; 0x0207f348 bx lr - arm_func_end func_ov00_0207f348 + arm_func_end _ZN7MapBase8vfunc_acEv - .global func_ov00_0207f34c - arm_func_start func_ov00_0207f34c -func_ov00_0207f34c: ; 0x0207f34c + .global _ZN7MapBase8vfunc_78Ev + arm_func_start _ZN7MapBase8vfunc_78Ev +_ZN7MapBase8vfunc_78Ev: ; 0x0207f34c mov r0, #0 bx lr - arm_func_end func_ov00_0207f34c + arm_func_end _ZN7MapBase8vfunc_78Ev - .global func_ov00_0207f354 - arm_func_start func_ov00_0207f354 -func_ov00_0207f354: ; 0x0207f354 + .global _ZN7MapBase8vfunc_7cEv + arm_func_start _ZN7MapBase8vfunc_7cEv +_ZN7MapBase8vfunc_7cEv: ; 0x0207f354 mov r0, #1 bx lr - arm_func_end func_ov00_0207f354 + arm_func_end _ZN7MapBase8vfunc_7cEv - .global func_ov00_0207f35c - arm_func_start func_ov00_0207f35c -func_ov00_0207f35c: ; 0x0207f35c + .global _ZN7MapBase8vfunc_80Ev + arm_func_start _ZN7MapBase8vfunc_80Ev +_ZN7MapBase8vfunc_80Ev: ; 0x0207f35c mov r0, #1 bx lr - arm_func_end func_ov00_0207f35c + arm_func_end _ZN7MapBase8vfunc_80Ev - .global func_ov00_0207f364 - arm_func_start func_ov00_0207f364 -func_ov00_0207f364: ; 0x0207f364 + .global _ZN7MapBase8vfunc_84Ei + arm_func_start _ZN7MapBase8vfunc_84Ei +_ZN7MapBase8vfunc_84Ei: ; 0x0207f364 stmdb sp!, {r3, lr} ldrb r3, [r1, #0x15] ldrb r2, [r1, #0x14] @@ -1936,11 +1936,11 @@ func_ov00_0207f364: ; 0x0207f364 ldr r2, [r2, #0x80] blx r2 ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207f364 + arm_func_end _ZN7MapBase8vfunc_84Ei - .global func_ov00_0207f38c - arm_func_start func_ov00_0207f38c -func_ov00_0207f38c: ; 0x0207f38c + .global _ZN7MapBase18func_ov00_0207f38cEi + arm_func_start _ZN7MapBase18func_ov00_0207f38cEi +_ZN7MapBase18func_ov00_0207f38cEi: ; 0x0207f38c stmdb sp!, {r4, lr} ldr r2, [r0] mov r4, r1 @@ -1955,12 +1955,12 @@ func_ov00_0207f38c: ; 0x0207f38c bl func_ov00_0208d820 ldmia sp!, {r4, pc} .align 2, 0 - arm_func_end func_ov00_0207f38c + arm_func_end _ZN7MapBase18func_ov00_0207f38cEi _0207f3c0: .word data_027e0f68 - .global func_ov00_0207f3c4 - arm_func_start func_ov00_0207f3c4 -func_ov00_0207f3c4: ; 0x0207f3c4 + .global _ZN7MapBase8vfunc_90Eiii + arm_func_start _ZN7MapBase8vfunc_90Eiii +_ZN7MapBase8vfunc_90Eiii: ; 0x0207f3c4 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r3, [r0] mov r6, r0 @@ -2018,17 +2018,17 @@ _0207f470: ldr r2, [r2, #0x44] blx r2 ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0207f3c4 + arm_func_end _ZN7MapBase8vfunc_90Eiii - .global func_ov00_0207f4a0 - arm_func_start func_ov00_0207f4a0 -func_ov00_0207f4a0: ; 0x0207f4a0 + .global _ZN7MapBase8vfunc_94Ev + arm_func_start _ZN7MapBase8vfunc_94Ev +_ZN7MapBase8vfunc_94Ev: ; 0x0207f4a0 bx lr - arm_func_end func_ov00_0207f4a0 + arm_func_end _ZN7MapBase8vfunc_94Ev - .global func_ov00_0207f4a4 - arm_func_start func_ov00_0207f4a4 -func_ov00_0207f4a4: ; 0x0207f4a4 + .global _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si + arm_func_start _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si +_ZN7MapBase18func_ov00_0207f4a4EP5Vec2si: ; 0x0207f4a4 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldrsh r3, [r1, #2] @@ -2068,11 +2068,11 @@ _0207f524: blx r3 add sp, sp, #4 ldmia sp!, {r3, r4, pc} - arm_func_end func_ov00_0207f4a4 + arm_func_end _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si - .global func_ov00_0207f53c - arm_func_start func_ov00_0207f53c -func_ov00_0207f53c: ; 0x0207f53c + .global _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p + arm_func_start _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p +_ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p: ; 0x0207f53c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, #0 @@ -2092,11 +2092,11 @@ func_ov00_0207f53c: ; 0x0207f53c mov r0, r0, asr #0xc strh r0, [r5, #2] ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207f53c + arm_func_end _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p - .global func_ov00_0207f588 - arm_func_start func_ov00_0207f588 -func_ov00_0207f588: ; 0x0207f588 + .global _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi + arm_func_start _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi +_ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi: ; 0x0207f588 mov r1, #0 strh r1, [r0] strh r1, [r0, #2] @@ -2144,11 +2144,11 @@ _0207f60c: add r1, r1, #1 strh r1, [r0, #2] bx lr - arm_func_end func_ov00_0207f588 + arm_func_end _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi - .global func_ov00_0207f630 - arm_func_start func_ov00_0207f630 -func_ov00_0207f630: ; 0x0207f630 + .global _ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p + arm_func_start _ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p +_ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p: ; 0x0207f630 stmdb sp!, {r4, lr} ldrsh r3, [r1, #2] ldrsh r1, [r1] @@ -2174,66 +2174,66 @@ func_ov00_0207f630: ; 0x0207f630 orr r3, r3, lr, lsl #20 str r3, [r2, #8] ldmia sp!, {r4, pc} - arm_func_end func_ov00_0207f630 + arm_func_end _ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p - .global func_ov00_0207f694 - arm_func_start func_ov00_0207f694 -func_ov00_0207f694: ; 0x0207f694 + .global _ZN7MapBase13GetTileStartXEi + arm_func_start _ZN7MapBase13GetTileStartXEi +_ZN7MapBase13GetTileStartXEi: ; 0x0207f694 ldr r0, [r0, #0xf4] add r0, r0, r1, lsl #12 bx lr - arm_func_end func_ov00_0207f694 + arm_func_end _ZN7MapBase13GetTileStartXEi - .global func_ov00_0207f6a0 - arm_func_start func_ov00_0207f6a0 -func_ov00_0207f6a0: ; 0x0207f6a0 + .global _ZN7MapBase13GetTileStartZEi + arm_func_start _ZN7MapBase13GetTileStartZEi +_ZN7MapBase13GetTileStartZEi: ; 0x0207f6a0 ldr r0, [r0, #0xfc] add r0, r0, r1, lsl #12 bx lr - arm_func_end func_ov00_0207f6a0 + arm_func_end _ZN7MapBase13GetTileStartZEi - .global func_ov00_0207f6ac - arm_func_start func_ov00_0207f6ac -func_ov00_0207f6ac: ; 0x0207f6ac + .global _ZN7MapBase11GetTileEndXEi + arm_func_start _ZN7MapBase11GetTileEndXEi +_ZN7MapBase11GetTileEndXEi: ; 0x0207f6ac stmdb sp!, {r3, lr} - bl func_ov00_0207f694 + bl _ZN7MapBase13GetTileStartXEi add r0, r0, #0x1000 ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207f6ac + arm_func_end _ZN7MapBase11GetTileEndXEi - .global func_ov00_0207f6bc - arm_func_start func_ov00_0207f6bc -func_ov00_0207f6bc: ; 0x0207f6bc + .global _ZN7MapBase11GetTileEndZEi + arm_func_start _ZN7MapBase11GetTileEndZEi +_ZN7MapBase11GetTileEndZEi: ; 0x0207f6bc stmdb sp!, {r3, lr} - bl func_ov00_0207f6a0 + bl _ZN7MapBase13GetTileStartZEi add r0, r0, #0x1000 ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207f6bc + arm_func_end _ZN7MapBase11GetTileEndZEi - .global func_ov00_0207f6cc - arm_func_start func_ov00_0207f6cc -func_ov00_0207f6cc: ; 0x0207f6cc + .global _ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB + arm_func_start _ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB +_ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB: ; 0x0207f6cc stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x18 mov r7, r1 ldrb r1, [r7] mov r6, r0 mov r5, r2 - bl func_ov00_0207f694 + bl _ZN7MapBase13GetTileStartXEi ldrb r1, [r7, #1] mov r0, r6 - bl func_ov00_0207f6a0 + bl _ZN7MapBase13GetTileStartZEi mov r4, r0 ldrb r1, [r7] mov r0, r6 - bl func_ov00_0207f694 + bl _ZN7MapBase13GetTileStartXEi ldr r2, _0207f774 ; =0xffffeccd str r0, [sp, #0xc] ldrb r1, [r7, #1] mov r0, r6 str r2, [sp, #0x10] str r4, [sp, #0x14] - bl func_ov00_0207f6bc + bl _ZN7MapBase11GetTileEndZEi mov r4, r0 mov r0, r6 mov r1, r7 @@ -2243,7 +2243,7 @@ func_ov00_0207f6cc: ; 0x0207f6cc ldrb r1, [r7] mov r7, r0 mov r0, r6 - bl func_ov00_0207f6ac + bl _ZN7MapBase11GetTileEndXEi ldr r2, [sp, #0xc] ldr r1, [sp, #0x10] str r2, [r5] @@ -2256,12 +2256,12 @@ func_ov00_0207f6cc: ; 0x0207f6cc add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 - arm_func_end func_ov00_0207f6cc + arm_func_end _ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB _0207f774: .word 0xffffeccd - .global func_ov00_0207f778 - arm_func_start func_ov00_0207f778 -func_ov00_0207f778: ; 0x0207f778 + .global _ZN7MapBase15GetClampedTileXEi + arm_func_start _ZN7MapBase15GetClampedTileXEi +_ZN7MapBase15GetClampedTileXEi: ; 0x0207f778 ldr r2, [r0, #0xf4] ldrh r0, [r0, #0x28] sub r1, r1, r2 @@ -2272,11 +2272,11 @@ func_ov00_0207f778: ; 0x0207f778 movge r1, r0 mov r0, r1 bx lr - arm_func_end func_ov00_0207f778 + arm_func_end _ZN7MapBase15GetClampedTileXEi - .global func_ov00_0207f7a0 - arm_func_start func_ov00_0207f7a0 -func_ov00_0207f7a0: ; 0x0207f7a0 + .global _ZN7MapBase15GetClampedTileYEi + arm_func_start _ZN7MapBase15GetClampedTileYEi +_ZN7MapBase15GetClampedTileYEi: ; 0x0207f7a0 ldr r2, [r0, #0xfc] ldrh r0, [r0, #0x2a] sub r1, r1, r2 @@ -2287,38 +2287,38 @@ func_ov00_0207f7a0: ; 0x0207f7a0 movge r1, r0 mov r0, r1 bx lr - arm_func_end func_ov00_0207f7a0 + arm_func_end _ZN7MapBase15GetClampedTileYEi - .global func_ov00_0207f7c8 - arm_func_start func_ov00_0207f7c8 -func_ov00_0207f7c8: ; 0x0207f7c8 + .global _ZN7MapBase8GetTileXEi + arm_func_start _ZN7MapBase8GetTileXEi +_ZN7MapBase8GetTileXEi: ; 0x0207f7c8 ldr r0, [r0, #0xf4] sub r0, r1, r0 mov r0, r0, asr #0xc bx lr - arm_func_end func_ov00_0207f7c8 + arm_func_end _ZN7MapBase8GetTileXEi - .global func_ov00_0207f7d8 - arm_func_start func_ov00_0207f7d8 -func_ov00_0207f7d8: ; 0x0207f7d8 + .global _ZN7MapBase8GetTileYEi + arm_func_start _ZN7MapBase8GetTileYEi +_ZN7MapBase8GetTileYEi: ; 0x0207f7d8 ldr r0, [r0, #0xfc] sub r0, r1, r0 mov r0, r0, asr #0xc bx lr - arm_func_end func_ov00_0207f7d8 + arm_func_end _ZN7MapBase8GetTileYEi - .global func_ov00_0207f7e8 - arm_func_start func_ov00_0207f7e8 -func_ov00_0207f7e8: ; 0x0207f7e8 + .global _ZN7MapBase10IsInBoundsEP5Vec3p + arm_func_start _ZN7MapBase10IsInBoundsEP5Vec3p +_ZN7MapBase10IsInBoundsEP5Vec3p: ; 0x0207f7e8 stmdb sp!, {r4, r5, r6, lr} mov r5, r1 ldr r1, [r5] mov r6, r0 - bl func_ov00_0207f7c8 + bl _ZN7MapBase8GetTileXEi mov r4, r0 ldr r1, [r5, #8] mov r0, r6 - bl func_ov00_0207f7d8 + bl _ZN7MapBase8GetTileYEi cmp r4, #0 blt _0207f834 ldrh r1, [r6, #0x28] @@ -2335,11 +2335,11 @@ _0207f834: _0207f83c: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_0207f7e8 + arm_func_end _ZN7MapBase10IsInBoundsEP5Vec3p - .global func_ov00_0207f844 - arm_func_start func_ov00_0207f844 -func_ov00_0207f844: ; 0x0207f844 + .global _ZN7MapBase11AddEntranceEP8Entrance + arm_func_start _ZN7MapBase11AddEntranceEP8Entrance +_ZN7MapBase11AddEntranceEP8Entrance: ; 0x0207f844 stmdb sp!, {r3, lr} mov lr, #0 strb lr, [sp, #1] @@ -2372,11 +2372,11 @@ _0207f8a0: add r0, r0, #0x100 bl func_ov00_02081040 ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207f844 + arm_func_end _ZN7MapBase11AddEntranceEP8Entrance - .global func_ov00_0207f8c0 - arm_func_start func_ov00_0207f8c0 -func_ov00_0207f8c0: ; 0x0207f8c0 + .global _ZN7MapBase12FindEntranceEi + arm_func_start _ZN7MapBase12FindEntranceEi +_ZN7MapBase12FindEntranceEi: ; 0x0207f8c0 sub sp, sp, #0x18 ldr r3, [r0, #0x100] ldr r2, [r0, #0x104] @@ -2404,39 +2404,39 @@ _0207f8fc: ldrne r0, [sp, #8] add sp, sp, #0x18 bx lr - arm_func_end func_ov00_0207f8c0 + arm_func_end _ZN7MapBase12FindEntranceEi - .global func_ov00_0207f924 - arm_func_start func_ov00_0207f924 -func_ov00_0207f924: ; 0x0207f924 + .global _ZN7MapBase18func_ov00_0207f924Ei + arm_func_start _ZN7MapBase18func_ov00_0207f924Ei +_ZN7MapBase18func_ov00_0207f924Ei: ; 0x0207f924 add r1, r0, r1 ldrb r0, [r1, #0x18] strb r0, [r1, #0x16] bx lr - arm_func_end func_ov00_0207f924 + arm_func_end _ZN7MapBase18func_ov00_0207f924Ei - .global func_ov00_0207f934 - arm_func_start func_ov00_0207f934 -func_ov00_0207f934: ; 0x0207f934 + .global _ZN7MapBase18func_ov00_0207f934Ev + arm_func_start _ZN7MapBase18func_ov00_0207f934Ev +_ZN7MapBase18func_ov00_0207f934Ev: ; 0x0207f934 ldr r0, [r0, #0x140] cmp r0, #0 moveq r0, #0 ldrne r0, [r0, #0x60] bx lr - arm_func_end func_ov00_0207f934 + arm_func_end _ZN7MapBase18func_ov00_0207f934Ev - .global func_ov00_0207f948 - arm_func_start func_ov00_0207f948 -func_ov00_0207f948: ; 0x0207f948 + .global _ZN7MapBase18func_ov00_0207f948Ei + arm_func_start _ZN7MapBase18func_ov00_0207f948Ei +_ZN7MapBase18func_ov00_0207f948Ei: ; 0x0207f948 ldr r0, [r0, #0x140] cmp r0, #0 strne r1, [r0, #0x60] bx lr - arm_func_end func_ov00_0207f948 + arm_func_end _ZN7MapBase18func_ov00_0207f948Ei - .global func_ov00_0207f958 - arm_func_start func_ov00_0207f958 -func_ov00_0207f958: ; 0x0207f958 + .global _ZN7MapBase10AddTriggerEP13TriggerParams + arm_func_start _ZN7MapBase10AddTriggerEP13TriggerParams +_ZN7MapBase10AddTriggerEP13TriggerParams: ; 0x0207f958 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r2, #0 @@ -2530,18 +2530,18 @@ _0207fa7c: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 - arm_func_end func_ov00_0207f958 + arm_func_end _ZN7MapBase10AddTriggerEP13TriggerParams _0207faa4: .word data_027e0ce0 - .global func_ov00_0207faa8 - arm_func_start func_ov00_0207faa8 -func_ov00_0207faa8: ; 0x0207faa8 + .global _ZN11TriggerBase8vfunc_08Ev + arm_func_start _ZN11TriggerBase8vfunc_08Ev +_ZN11TriggerBase8vfunc_08Ev: ; 0x0207faa8 bx lr - arm_func_end func_ov00_0207faa8 + arm_func_end _ZN11TriggerBase8vfunc_08Ev - .global func_ov00_0207faac - arm_func_start func_ov00_0207faac -func_ov00_0207faac: ; 0x0207faac + .global _ZN7MapBase21GetTriggerBoundingBoxEiP4AABB + arm_func_start _ZN7MapBase21GetTriggerBoundingBoxEiP4AABB +_ZN7MapBase21GetTriggerBoundingBoxEiP4AABB: ; 0x0207faac stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x18 mov r9, r0 @@ -2589,18 +2589,18 @@ _0207fb50: mov r0, r5 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - arm_func_end func_ov00_0207faac + arm_func_end _ZN7MapBase21GetTriggerBoundingBoxEiP4AABB - .global func_ov00_0207fb5c - arm_func_start func_ov00_0207fb5c -func_ov00_0207fb5c: ; 0x0207fb5c + .global _ZN11TriggerBase14GetBoundingBoxEv + arm_func_start _ZN11TriggerBase14GetBoundingBoxEv +_ZN11TriggerBase14GetBoundingBoxEv: ; 0x0207fb5c mov r0, #0 bx lr - arm_func_end func_ov00_0207fb5c + arm_func_end _ZN11TriggerBase14GetBoundingBoxEv - .global func_ov00_0207fb64 - arm_func_start func_ov00_0207fb64 -func_ov00_0207fb64: ; 0x0207fb64 + .global _ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi + arm_func_start _ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi +_ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi: ; 0x0207fb64 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x18 mov r10, r0 @@ -2654,11 +2654,11 @@ _0207fc20: mov r0, r5 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - arm_func_end func_ov00_0207fb64 + arm_func_end _ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi - .global func_ov00_0207fc2c - arm_func_start func_ov00_0207fc2c -func_ov00_0207fc2c: ; 0x0207fc2c + .global _ZN7MapBase21GetOverlappingTriggerEP5Vec3p + arm_func_start _ZN7MapBase21GetOverlappingTriggerEP5Vec3p +_ZN7MapBase21GetOverlappingTriggerEP5Vec3p: ; 0x0207fc2c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 ldr r4, [r6, #0x10c] @@ -2686,18 +2686,18 @@ _0207fc4c: _0207fc88: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0207fc2c + arm_func_end _ZN7MapBase21GetOverlappingTriggerEP5Vec3p - .global func_ov00_0207fc90 - arm_func_start func_ov00_0207fc90 -func_ov00_0207fc90: ; 0x0207fc90 + .global _ZN11TriggerBase8OverlapsEv + arm_func_start _ZN11TriggerBase8OverlapsEv +_ZN11TriggerBase8OverlapsEv: ; 0x0207fc90 mov r0, #0 bx lr - arm_func_end func_ov00_0207fc90 + arm_func_end _ZN11TriggerBase8OverlapsEv - .global func_ov00_0207fc98 - arm_func_start func_ov00_0207fc98 -func_ov00_0207fc98: ; 0x0207fc98 + .global _ZN7MapBase11FindTriggerEi + arm_func_start _ZN7MapBase11FindTriggerEi +_ZN7MapBase11FindTriggerEi: ; 0x0207fc98 ldr ip, [r0, #0x10c] ldr r2, [r0, #0x110] add r2, ip, r2, lsl #2 @@ -2718,11 +2718,11 @@ _0207fcac: _0207fcd8: mov r0, #0 bx lr - arm_func_end func_ov00_0207fc98 + arm_func_end _ZN7MapBase11FindTriggerEi - .global func_ov00_0207fce0 - arm_func_start func_ov00_0207fce0 -func_ov00_0207fce0: ; 0x0207fce0 + .global _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei + arm_func_start _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei +_ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei: ; 0x0207fce0 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} mov r10, r0 ldr r6, [r10, #0x10c] @@ -2755,11 +2755,11 @@ _0207fd0c: _0207fd50: mov r0, r4 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - arm_func_end func_ov00_0207fce0 + arm_func_end _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei - .global func_ov00_0207fd58 - arm_func_start func_ov00_0207fd58 -func_ov00_0207fd58: ; 0x0207fd58 + .global _ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p + arm_func_start _ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p +_ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p: ; 0x0207fd58 stmdb sp!, {r3, r4, r5, r6, r7, lr} movs r6, r1 mov r7, r0 @@ -2793,11 +2793,11 @@ _0207fdb0: _0207fdc8: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0207fd58 + arm_func_end _ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p - .global func_ov00_0207fdd0 - arm_func_start func_ov00_0207fdd0 -func_ov00_0207fdd0: ; 0x0207fdd0 + .global _ZN7MapBase18AnyTrigger_func_0cEi + arm_func_start _ZN7MapBase18AnyTrigger_func_0cEi +_ZN7MapBase18AnyTrigger_func_0cEi: ; 0x0207fdd0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 ldr r5, [r7, #0x10c] @@ -2826,18 +2826,18 @@ _0207fe14: _0207fe2c: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end func_ov00_0207fdd0 + arm_func_end _ZN7MapBase18AnyTrigger_func_0cEi - .global func_ov00_0207fe34 - arm_func_start func_ov00_0207fe34 -func_ov00_0207fe34: ; 0x0207fe34 + .global _ZN11TriggerBase8vfunc_0cEv + arm_func_start _ZN11TriggerBase8vfunc_0cEv +_ZN11TriggerBase8vfunc_0cEv: ; 0x0207fe34 mov r0, #0 bx lr - arm_func_end func_ov00_0207fe34 + arm_func_end _ZN11TriggerBase8vfunc_0cEv - .global func_ov00_0207fe3c - arm_func_start func_ov00_0207fe3c -func_ov00_0207fe3c: ; 0x0207fe3c + .global _ZN7MapBase16Trigger_vfunc_08Ev + arm_func_start _ZN7MapBase16Trigger_vfunc_08Ev +_ZN7MapBase16Trigger_vfunc_08Ev: ; 0x0207fe3c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, [r5, #0x10c] @@ -2856,11 +2856,11 @@ _0207fe58: cmp r4, r0 bne _0207fe58 ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_0207fe3c + arm_func_end _ZN7MapBase16Trigger_vfunc_08Ev - .global func_ov00_0207fe80 - arm_func_start func_ov00_0207fe80 -func_ov00_0207fe80: ; 0x0207fe80 + .global _ZN7MapBase10AddTriggerEi + arm_func_start _ZN7MapBase10AddTriggerEi +_ZN7MapBase10AddTriggerEi: ; 0x0207fe80 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {lr} sub sp, sp, #0x14 @@ -2931,11 +2931,11 @@ _0207ff74: ldmia sp!, {lr} add sp, sp, #0x10 bx lr - arm_func_end func_ov00_0207fe80 + arm_func_end _ZN7MapBase10AddTriggerEi - .global func_ov00_0207ff88 - arm_func_start func_ov00_0207ff88 -func_ov00_0207ff88: ; 0x0207ff88 + .global _ZN7MapBase18func_ov00_0207ff88Ei + arm_func_start _ZN7MapBase18func_ov00_0207ff88Ei +_ZN7MapBase18func_ov00_0207ff88Ei: ; 0x0207ff88 stmdb sp!, {r3, lr} sub sp, sp, #0x28 ldrb r2, [r1, #4] @@ -2993,51 +2993,51 @@ _02080014: mov r0, #1 add sp, sp, #0x28 ldmia sp!, {r3, pc} - arm_func_end func_ov00_0207ff88 + arm_func_end _ZN7MapBase18func_ov00_0207ff88Ei - .global func_ov00_0208005c - arm_func_start func_ov00_0208005c -func_ov00_0208005c: ; 0x0208005c + .global _ZN7MapBase18func_ov00_0208005cEiii + arm_func_start _ZN7MapBase18func_ov00_0208005cEiii +_ZN7MapBase18func_ov00_0208005cEiii: ; 0x0208005c ldr ip, _02080068 ; =func_ov00_0209c1e4 ldr r0, [r0, #0x144] bx ip .align 2, 0 - arm_func_end func_ov00_0208005c + arm_func_end _ZN7MapBase18func_ov00_0208005cEiii _02080068: .word func_ov00_0209c1e4 - .global func_ov00_0208006c - arm_func_start func_ov00_0208006c -func_ov00_0208006c: ; 0x0208006c + .global _ZN7MapBase18func_ov00_0208006cEii + arm_func_start _ZN7MapBase18func_ov00_0208006cEii +_ZN7MapBase18func_ov00_0208006cEii: ; 0x0208006c ldr ip, _02080078 ; =func_ov00_0209c2b4 ldr r0, [r0, #0x144] bx ip .align 2, 0 - arm_func_end func_ov00_0208006c + arm_func_end _ZN7MapBase18func_ov00_0208006cEii _02080078: .word func_ov00_0209c2b4 - .global func_ov00_0208007c - arm_func_start func_ov00_0208007c -func_ov00_0208007c: ; 0x0208007c + .global _ZN7MapBase18func_ov00_0208007cEii + arm_func_start _ZN7MapBase18func_ov00_0208007cEii +_ZN7MapBase18func_ov00_0208007cEii: ; 0x0208007c ldr ip, _02080088 ; =func_ov00_0209c2d0 ldr r0, [r0, #0x144] bx ip .align 2, 0 - arm_func_end func_ov00_0208007c + arm_func_end _ZN7MapBase18func_ov00_0208007cEii _02080088: .word func_ov00_0209c2d0 - .global func_ov00_0208008c - arm_func_start func_ov00_0208008c -func_ov00_0208008c: ; 0x0208008c + .global _ZN7MapBase18func_ov00_0208008cEj + arm_func_start _ZN7MapBase18func_ov00_0208008cEj +_ZN7MapBase18func_ov00_0208008cEj: ; 0x0208008c ldr ip, _02080098 ; =func_ov00_0209c8e4 ldr r0, [r0, #0x144] bx ip .align 2, 0 - arm_func_end func_ov00_0208008c + arm_func_end _ZN7MapBase18func_ov00_0208008cEj _02080098: .word func_ov00_0209c8e4 - .global func_ov00_0208009c - arm_func_start func_ov00_0208009c -func_ov00_0208009c: ; 0x0208009c + .global _ZN7MapBase7AddExitEP4Exit + arm_func_start _ZN7MapBase7AddExitEP4Exit +_ZN7MapBase7AddExitEP4Exit: ; 0x0208009c stmdb sp!, {r3, lr} mov ip, #0 strb ip, [sp, #1] @@ -3080,11 +3080,11 @@ _02080120: add r0, r0, #0x118 bl func_ov00_020810b8 ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208009c + arm_func_end _ZN7MapBase7AddExitEP4Exit - .global func_ov00_02080140 - arm_func_start func_ov00_02080140 -func_ov00_02080140: ; 0x02080140 + .global _ZN7MapBase18func_ov00_02080140EP4Exit + arm_func_start _ZN7MapBase18func_ov00_02080140EP4Exit +_ZN7MapBase18func_ov00_02080140EP4Exit: ; 0x02080140 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x50 ldr r9, [r1] @@ -3123,7 +3123,7 @@ func_ov00_02080140: ; 0x02080140 str r1, [sp, #0x18] mla r2, r5, r10, r1 str r2, [sp, #0x14] - bl func_ov00_02080324 + bl _ZN12MapBase_Unk118func_ov00_02080324Eiii ldr r0, [r4, #0x118] ldr r2, [r4, #0x11c] mov r1, r10 @@ -3211,11 +3211,11 @@ _02080318: ldrb r0, [sp, #0x4c] add sp, sp, #0x50 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - arm_func_end func_ov00_02080140 + arm_func_end _ZN7MapBase18func_ov00_02080140EP4Exit - .global func_ov00_02080324 - arm_func_start func_ov00_02080324 -func_ov00_02080324: ; 0x02080324 + .global _ZN12MapBase_Unk118func_ov00_02080324Eiii + arm_func_start _ZN12MapBase_Unk118func_ov00_02080324Eiii +_ZN12MapBase_Unk118func_ov00_02080324Eiii: ; 0x02080324 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r7, r0 @@ -3249,11 +3249,11 @@ _0208038c: ldmia sp!, {r4, r5, r6, r7, r8, lr} add sp, sp, #0x10 bx lr - arm_func_end func_ov00_02080324 + arm_func_end _ZN12MapBase_Unk118func_ov00_02080324Eiii - .global func_ov00_0208039c - arm_func_start func_ov00_0208039c -func_ov00_0208039c: ; 0x0208039c + .global _ZN7MapBase8FindExitEiP4Exit + arm_func_start _ZN7MapBase8FindExitEiP4Exit +_ZN7MapBase8FindExitEiP4Exit: ; 0x0208039c stmdb sp!, {lr} sub sp, sp, #0x14 cmp r1, #0 @@ -3308,11 +3308,11 @@ _020803f0: strb r1, [r2, #0x15] add sp, sp, #0x14 ldmia sp!, {pc} - arm_func_end func_ov00_0208039c + arm_func_end _ZN7MapBase8FindExitEiP4Exit - .global func_ov00_0208046c - arm_func_start func_ov00_0208046c -func_ov00_0208046c: ; 0x0208046c + .global _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint + arm_func_start _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint +_ZN7MapBase18AddCameraViewpointEP15CameraViewpoint: ; 0x0208046c stmdb sp!, {r3, lr} mov ip, #0 strb ip, [sp, #1] @@ -3355,11 +3355,11 @@ _020804f0: add r0, r0, #0x124 bl func_ov00_02081130 ldmia sp!, {r3, pc} - arm_func_end func_ov00_0208046c + arm_func_end _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint - .global func_ov00_02080510 - arm_func_start func_ov00_02080510 -func_ov00_02080510: ; 0x02080510 + .global _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint + arm_func_start _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint +_ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint: ; 0x02080510 stmdb sp!, {lr} sub sp, sp, #0x14 ldr ip, [r0, #0x124] @@ -3410,11 +3410,11 @@ _02080554: strh r1, [r2, #0x1a] add sp, sp, #0x14 ldmia sp!, {pc} - arm_func_end func_ov00_02080510 + arm_func_end _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint - .global func_ov00_020805d0 - arm_func_start func_ov00_020805d0 -func_ov00_020805d0: ; 0x020805d0 + .global _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint + arm_func_start _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint +_ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint: ; 0x020805d0 stmdb sp!, {r3, lr} sub sp, sp, #0x18 ldr ip, [r0, #0x124] @@ -3463,11 +3463,11 @@ _0208060c: strh r1, [r2, #0x1a] add sp, sp, #0x18 ldmia sp!, {r3, pc} - arm_func_end func_ov00_020805d0 + arm_func_end _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint - .global func_ov00_02080688 - arm_func_start func_ov00_02080688 -func_ov00_02080688: ; 0x02080688 + .global _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi + arm_func_start _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi +_ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi: ; 0x02080688 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x1c mov r6, r0 @@ -3501,7 +3501,7 @@ _020806e8: blo _020806e8 add r2, sp, #0 mov r0, r6 - bl func_ov00_02080510 + bl _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint cmp r0, #0 bne _02080730 mov r0, r6 @@ -3533,11 +3533,11 @@ _02080730: strh r0, [r5, #0x1a] add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end func_ov00_02080688 + arm_func_end _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi - .global func_ov00_02080780 - arm_func_start func_ov00_02080780 -func_ov00_02080780: ; 0x02080780 + .global _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei + arm_func_start _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei +_ZN7MapBase26GetCurrentViewpoint_Unk_00Ei: ; 0x02080780 stmdb sp!, {lr} sub sp, sp, #0x1c mov lr, #0 @@ -3556,15 +3556,15 @@ _020807ac: cmp lr, #2 blo _020807ac add r1, sp, #0 - bl func_ov00_02080688 + bl _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi ldr r0, [sp] add sp, sp, #0x1c ldmia sp!, {pc} - arm_func_end func_ov00_02080780 + arm_func_end _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei - .global func_ov00_020807d4 - arm_func_start func_ov00_020807d4 -func_ov00_020807d4: ; 0x020807d4 + .global _ZN7MapBase8vfunc_b8Ev + arm_func_start _ZN7MapBase8vfunc_b8Ev +_ZN7MapBase8vfunc_b8Ev: ; 0x020807d4 stmdb sp!, {r3, lr} ldr r0, _02080820 ; =data_027e0618 ldr r0, [r0] @@ -3589,12 +3589,12 @@ _02080818: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 - arm_func_end func_ov00_020807d4 + arm_func_end _ZN7MapBase8vfunc_b8Ev _02080820: .word data_027e0618 - .global func_ov00_02080824 - arm_func_start func_ov00_02080824 -func_ov00_02080824: ; 0x02080824 + .global _ZN7MapBase18func_ov00_02080824Eii + arm_func_start _ZN7MapBase18func_ov00_02080824Eii +_ZN7MapBase18func_ov00_02080824Eii: ; 0x02080824 stmdb sp!, {r4, lr} ldr r4, [r0, #0x14c] cmp r4, #0 @@ -3641,13 +3641,13 @@ _020808b8: _020808c8: mov r0, #0 ldmia sp!, {r4, pc} - arm_func_end func_ov00_02080824 + arm_func_end _ZN7MapBase18func_ov00_02080824Eii - .global func_ov00_020808d0 - arm_func_start func_ov00_020808d0 -func_ov00_020808d0: ; 0x020808d0 + .global _ZN7MapBase10AddUnk_130Ei + arm_func_start _ZN7MapBase10AddUnk_130Ei +_ZN7MapBase10AddUnk_130Ei: ; 0x020808d0 stmdb sp!, {r0, r1, r2, r3} - arm_func_end func_ov00_020808d0 + arm_func_end _ZN7MapBase10AddUnk_130Ei .global func_ov00_020808d4 arm_func_start func_ov00_020808d4 @@ -3715,9 +3715,9 @@ _020809a4: bx lr arm_func_end func_ov00_020808d4 - .global func_ov00_020809b8 - arm_func_start func_ov00_020809b8 -func_ov00_020809b8: ; 0x020809b8 + .global _ZN7MapBase18func_ov00_020809b8Ei + arm_func_start _ZN7MapBase18func_ov00_020809b8Ei +_ZN7MapBase18func_ov00_020809b8Ei: ; 0x020809b8 stmdb sp!, {r3, lr} sub sp, sp, #0x28 ldr ip, [r0, #0x130] @@ -3770,11 +3770,11 @@ _02080a30: mov r0, #1 add sp, sp, #0x28 ldmia sp!, {r3, pc} - arm_func_end func_ov00_020809b8 + arm_func_end _ZN7MapBase18func_ov00_020809b8Ei - .global func_ov00_02080a78 - arm_func_start func_ov00_02080a78 -func_ov00_02080a78: ; 0x02080a78 + .global _ZN7MapBase18func_ov00_02080a78EP5Vec3p + arm_func_start _ZN7MapBase18func_ov00_02080a78EP5Vec3p +_ZN7MapBase18func_ov00_02080a78EP5Vec3p: ; 0x02080a78 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 @@ -3787,7 +3787,7 @@ func_ov00_02080a78: ; 0x02080a78 add r2, r1, r2, lsl #2 str r2, [sp] str r1, [sp, #4] - bl func_ov00_02080ad0 + bl _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_ ldr r1, [r4, #0x130] ldr r0, [r4, #0x134] ldr r2, [sp, #8] @@ -3797,11 +3797,11 @@ func_ov00_02080a78: ; 0x02080a78 ldrne r0, [r2] add sp, sp, #0x18 ldmia sp!, {r4, pc} - arm_func_end func_ov00_02080a78 + arm_func_end _ZN7MapBase18func_ov00_02080a78EP5Vec3p - .global func_ov00_02080ad0 - arm_func_start func_ov00_02080ad0 -func_ov00_02080ad0: ; 0x02080ad0 + .global _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_ + arm_func_start _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_ +_ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_: ; 0x02080ad0 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 @@ -3826,11 +3826,11 @@ _02080b14: ldmia sp!, {r3, r4, r5, r6, r7, lr} add sp, sp, #0x10 bx lr - arm_func_end func_ov00_02080ad0 + arm_func_end _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_ - .global func_ov00_02080b24 - arm_func_start func_ov00_02080b24 -func_ov00_02080b24: ; 0x02080b24 + .global _ZN7MapBase18func_ov00_02080b24EP5Vec2b + arm_func_start _ZN7MapBase18func_ov00_02080b24EP5Vec2b +_ZN7MapBase18func_ov00_02080b24EP5Vec2b: ; 0x02080b24 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x14 ldr r3, [r0] @@ -3959,11 +3959,11 @@ _02080cd0: strh r1, [r0, #0x30] add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end func_ov00_02080b24 + arm_func_end _ZN7MapBase18func_ov00_02080b24EP5Vec2b - .global func_ov00_02080d08 - arm_func_start func_ov00_02080d08 -func_ov00_02080d08: ; 0x02080d08 + .global _ZN7MapBase18func_ov00_02080d08Ei + arm_func_start _ZN7MapBase18func_ov00_02080d08Ei +_ZN7MapBase18func_ov00_02080d08Ei: ; 0x02080d08 stmdb sp!, {r3, r4, r5, lr} ldr r3, [r0] mov r2, #4 @@ -3991,29 +3991,29 @@ func_ov00_02080d08: ; 0x02080d08 sub r0, r0, #1 strh r0, [r5, #0x30] ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_02080d08 + arm_func_end _ZN7MapBase18func_ov00_02080d08Ei - .global func_ov00_02080d74 - arm_func_start func_ov00_02080d74 -func_ov00_02080d74: ; 0x02080d74 + .global _ZN7MapBase8vfunc_bcEv + arm_func_start _ZN7MapBase8vfunc_bcEv +_ZN7MapBase8vfunc_bcEv: ; 0x02080d74 bx lr - arm_func_end func_ov00_02080d74 + arm_func_end _ZN7MapBase8vfunc_bcEv - .global func_ov00_02080d78 - arm_func_start func_ov00_02080d78 -func_ov00_02080d78: ; 0x02080d78 + .global _ZN7MapBase8vfunc_98Ev + arm_func_start _ZN7MapBase8vfunc_98Ev +_ZN7MapBase8vfunc_98Ev: ; 0x02080d78 bx lr - arm_func_end func_ov00_02080d78 + arm_func_end _ZN7MapBase8vfunc_98Ev - .global func_ov00_02080d7c - arm_func_start func_ov00_02080d7c -func_ov00_02080d7c: ; 0x02080d7c + .global _ZN7MapBase8vfunc_c0Ev + arm_func_start _ZN7MapBase8vfunc_c0Ev +_ZN7MapBase8vfunc_c0Ev: ; 0x02080d7c bx lr - arm_func_end func_ov00_02080d7c + arm_func_end _ZN7MapBase8vfunc_c0Ev - .global func_ov00_02080d80 - arm_func_start func_ov00_02080d80 -func_ov00_02080d80: ; 0x02080d80 + .global _ZN7MapBase22TriggerOfType_vfunc_10Ei + arm_func_start _ZN7MapBase22TriggerOfType_vfunc_10Ei +_ZN7MapBase22TriggerOfType_vfunc_10Ei: ; 0x02080d80 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r4, [r6, #0x10c] @@ -4040,24 +4040,24 @@ _02080dbc: _02080dd4: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} - arm_func_end func_ov00_02080d80 + arm_func_end _ZN7MapBase22TriggerOfType_vfunc_10Ei - .global func_ov00_02080ddc - arm_func_start func_ov00_02080ddc -func_ov00_02080ddc: ; 0x02080ddc + .global _ZN11TriggerBase8vfunc_10Ev + arm_func_start _ZN11TriggerBase8vfunc_10Ev +_ZN11TriggerBase8vfunc_10Ev: ; 0x02080ddc mov r0, #1 bx lr - arm_func_end func_ov00_02080ddc + arm_func_end _ZN11TriggerBase8vfunc_10Ev - .global func_ov00_02080de4 - arm_func_start func_ov00_02080de4 -func_ov00_02080de4: ; 0x02080de4 + .global _ZN7MapBase18func_ov00_02080de4Ev + arm_func_start _ZN7MapBase18func_ov00_02080de4Ev +_ZN7MapBase18func_ov00_02080de4Ev: ; 0x02080de4 bx lr - arm_func_end func_ov00_02080de4 + arm_func_end _ZN7MapBase18func_ov00_02080de4Ev - .global func_ov00_02080de8 - arm_func_start func_ov00_02080de8 -func_ov00_02080de8: ; 0x02080de8 + .global _ZN7MapBase18func_ov00_02080de8Ei + arm_func_start _ZN7MapBase18func_ov00_02080de8Ei +_ZN7MapBase18func_ov00_02080de8Ei: ; 0x02080de8 stmdb sp!, {r4, r5, r6, lr} ldr r2, _02080ed4 ; =data_027e0f64 mov r5, r0 @@ -4128,13 +4128,13 @@ _02080ec8: strb r4, [r0, #0x5c] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 - arm_func_end func_ov00_02080de8 + arm_func_end _ZN7MapBase18func_ov00_02080de8Ei _02080ed4: .word data_027e0f64 _02080ed8: .word 0x00001c72 - .global func_ov00_02080edc - arm_func_start func_ov00_02080edc -func_ov00_02080edc: ; 0x02080edc + .global _ZN7MapBase18func_ov00_02080edcEv + arm_func_start _ZN7MapBase18func_ov00_02080edcEv +_ZN7MapBase18func_ov00_02080edcEv: ; 0x02080edc stmdb sp!, {r4, lr} ldr r1, _02080f1c ; =data_027e0d38 mov r4, r0 @@ -4153,7 +4153,7 @@ _02080f10: strb r0, [r4, #5] ldmia sp!, {r4, pc} .align 2, 0 - arm_func_end func_ov00_02080edc + arm_func_end _ZN7MapBase18func_ov00_02080edcEv _02080f1c: .word data_027e0d38 .global func_ov00_02080f20 @@ -5752,10 +5752,10 @@ data_ov00_020e2344: ; 0x020e2344 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e2348 data_ov00_020e2348: ; 0x020e2348 - .word func_ov00_0207dc04 + .word _ZN7MapBaseD2Ev .global data_ov00_020e234c data_ov00_020e234c: ; 0x020e234c - .word func_ov00_0207db1c + .word _ZN7MapBaseD0Ev .global data_ov00_020e2350 data_ov00_020e2350: ; 0x020e2350 .word func_ov04_0210c1f8 ; data_ov07_0210c1f8 @@ -5770,7 +5770,7 @@ data_ov00_020e235c: ; 0x020e235c .word func_ov04_0210bfa8 ; data_ov07_0210bfa8 .global data_ov00_020e2360 data_ov00_020e2360: ; 0x020e2360 - .word func_ov00_0207ddf4 + .word _ZN7MapBase8vfunc_18Ev .global data_ov00_020e2364 data_ov00_020e2364: ; 0x020e2364 .word func_ov05_02111bc0 @@ -5806,97 +5806,97 @@ data_ov00_020e238c: ; 0x020e238c .word func_ov04_0210cb00 ; data_ov07_0210cb00 .global data_ov00_020e2390 data_ov00_020e2390: ; 0x020e2390 - .word func_ov00_0207e46c + .word _ZN7MapBase8vfunc_48Ev .global data_ov00_020e2394 data_ov00_020e2394: ; 0x020e2394 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e2398 data_ov00_020e2398: ; 0x020e2398 - .word func_ov00_0207e488 + .word _ZN7MapBase8vfunc_50Ev .global data_ov00_020e239c data_ov00_020e239c: ; 0x020e239c - .word func_ov00_0207e490 + .word _ZN7MapBase8vfunc_54Ev .global data_ov00_020e23a0 data_ov00_020e23a0: ; 0x020e23a0 - .word func_ov00_0207e498 + .word _ZN7MapBase8vfunc_58Ev .global data_ov00_020e23a4 data_ov00_020e23a4: ; 0x020e23a4 - .word func_ov00_0207e4a0 + .word _ZN7MapBase8vfunc_5cEv .global data_ov00_020e23a8 data_ov00_020e23a8: ; 0x020e23a8 - .word func_ov00_0207e4a8 + .word _ZN7MapBase8vfunc_60Ev .global data_ov00_020e23ac data_ov00_020e23ac: ; 0x020e23ac - .word func_ov00_0207e4b0 + .word _ZN7MapBase8vfunc_64Ev .global data_ov00_020e23b0 data_ov00_020e23b0: ; 0x020e23b0 - .word func_ov00_0207e4b8 + .word _ZN7MapBase8vfunc_68Eii .global data_ov00_020e23b4 data_ov00_020e23b4: ; 0x020e23b4 - .word func_ov00_0207e970 + .word _ZN7MapBase8vfunc_6cEiii .global data_ov00_020e23b8 data_ov00_020e23b8: ; 0x020e23b8 - .word func_ov00_0207ee14 + .word _ZN7MapBase8vfunc_70EP5Vec3p .global data_ov00_020e23bc data_ov00_020e23bc: ; 0x020e23bc - .word func_ov00_0207eff4 + .word _ZN7MapBase8vfunc_74EP5Vec3p .global data_ov00_020e23c0 data_ov00_020e23c0: ; 0x020e23c0 - .word func_ov00_0207f34c + .word _ZN7MapBase8vfunc_78Ev .global data_ov00_020e23c4 data_ov00_020e23c4: ; 0x020e23c4 - .word func_ov00_0207f354 + .word _ZN7MapBase8vfunc_7cEv .global data_ov00_020e23c8 data_ov00_020e23c8: ; 0x020e23c8 - .word func_ov00_0207f35c + .word _ZN7MapBase8vfunc_80Ev .global data_ov00_020e23cc data_ov00_020e23cc: ; 0x020e23cc - .word func_ov00_0207f364 + .word _ZN7MapBase8vfunc_84Ei .global data_ov00_020e23d0 data_ov00_020e23d0: ; 0x020e23d0 - .word func_ov00_0207f324 + .word _ZN7MapBase8vfunc_88Ev .global data_ov00_020e23d4 data_ov00_020e23d4: ; 0x020e23d4 - .word func_ov00_0207f32c + .word _ZN7MapBase8vfunc_8cEv .global data_ov00_020e23d8 data_ov00_020e23d8: ; 0x020e23d8 - .word func_ov00_0207f3c4 + .word _ZN7MapBase8vfunc_90Eiii .global data_ov00_020e23dc data_ov00_020e23dc: ; 0x020e23dc - .word func_ov00_0207f4a0 + .word _ZN7MapBase8vfunc_94Ev .global data_ov00_020e23e0 data_ov00_020e23e0: ; 0x020e23e0 - .word func_ov00_02080d78 + .word _ZN7MapBase8vfunc_98Ev .global data_ov00_020e23e4 data_ov00_020e23e4: ; 0x020e23e4 - .word func_ov00_0207f334 + .word _ZN7MapBase8vfunc_9cEv .global data_ov00_020e23e8 data_ov00_020e23e8: ; 0x020e23e8 - .word func_ov00_0207f338 + .word _ZN7MapBase8vfunc_a0Ev .global data_ov00_020e23ec data_ov00_020e23ec: ; 0x020e23ec - .word func_ov00_0207f33c + .word _ZN7MapBase8vfunc_a4Ev .global data_ov00_020e23f0 data_ov00_020e23f0: ; 0x020e23f0 - .word func_ov00_0207f344 + .word _ZN7MapBase8vfunc_a8Ev .global data_ov00_020e23f4 data_ov00_020e23f4: ; 0x020e23f4 - .word func_ov00_0207f348 + .word _ZN7MapBase8vfunc_acEv .global data_ov00_020e23f8 data_ov00_020e23f8: ; 0x020e23f8 - .word func_ov00_0207e060 + .word _ZN7MapBase8vfunc_b0Eii .global data_ov00_020e23fc data_ov00_020e23fc: ; 0x020e23fc - .word func_ov00_0207e444 + .word _ZN7MapBase8vfunc_b4Ev .global data_ov00_020e2400 data_ov00_020e2400: ; 0x020e2400 - .word func_ov00_020807d4 + .word _ZN7MapBase8vfunc_b8Ev .global data_ov00_020e2404 data_ov00_020e2404: ; 0x020e2404 - .word func_ov00_02080d74 + .word _ZN7MapBase8vfunc_bcEv .global data_ov00_020e2408 data_ov00_020e2408: ; 0x020e2408 - .word func_ov00_02080d7c + .word _ZN7MapBase8vfunc_c0Ev .global data_ov00_020e240c data_ov00_020e240c: ; 0x020e240c .ascii "M00" diff --git a/asm/ov00/ov00_02086cd0.inc b/asm/ov00/ov00_02086cd0.inc index f2b90dd1..c40fd6ef 100644 --- a/asm/ov00/ov00_02086cd0.inc +++ b/asm/ov00/ov00_02086cd0.inc @@ -223,15 +223,15 @@ .extern func_ov00_02079008 .extern func_ov00_02079470 .extern func_ov00_02079680 -.extern func_ov00_0207e940 -.extern func_ov00_0207e968 -.extern func_ov00_0207e96c -.extern func_ov00_0207f100 -.extern func_ov00_0207faa8 -.extern func_ov00_0207fb5c -.extern func_ov00_0207fc90 -.extern func_ov00_0207fe34 -.extern func_ov00_02080ddc +.extern _ZN7MapBase18func_ov00_0207e940EPc +.extern _ZN7MapBase18func_ov00_0207e968Ev +.extern _ZN7MapBase18func_ov00_0207e96cEv +.extern _ZN7MapBase18func_ov00_0207f100Ev +.extern _ZN11TriggerBase8vfunc_08Ev +.extern _ZN11TriggerBase14GetBoundingBoxEv +.extern _ZN11TriggerBase8OverlapsEv +.extern _ZN11TriggerBase8vfunc_0cEv +.extern _ZN11TriggerBase8vfunc_10Ev .extern func_ov00_02081f4c .extern func_ov00_02081f6c .extern func_ov00_0209afc4 diff --git a/asm/ov00/ov00_02086cd0.s b/asm/ov00/ov00_02086cd0.s index f44dffff..52220a92 100644 --- a/asm/ov00/ov00_02086cd0.s +++ b/asm/ov00/ov00_02086cd0.s @@ -7387,7 +7387,7 @@ func_ov00_0208cd48: ; 0x0208cd48 add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _0208cd78: - ldr r4, _0208ce78 ; =func_ov00_0207f100 + ldr r4, _0208ce78 ; =_ZN7MapBase18func_ov00_0207f100Ev ldr r3, _0208ce7c ; =func_ov00_0208d018 add r0, sp, #0x24 mov r1, #0x40 @@ -7431,7 +7431,7 @@ _0208cdf4: bl func_ov00_0208cf28 movs r4, r0 beq _0208ce44 - ldr r3, _0208ce78 ; =func_ov00_0207f100 + ldr r3, _0208ce78 ; =_ZN7MapBase18func_ov00_0207f100Ev add r0, sp, #0x24 mov r1, #0x40 mov r2, #0x18 @@ -7446,7 +7446,7 @@ _0208ce44: add r8, r8, #0x18 blt _0208cdf4 _0208ce54: - ldr r3, _0208ce78 ; =func_ov00_0207f100 + ldr r3, _0208ce78 ; =_ZN7MapBase18func_ov00_0207f100Ev add r0, sp, #0x24 mov r1, #0x40 mov r2, #0x18 @@ -7457,7 +7457,7 @@ _0208ce54: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_0208cd48 -_0208ce78: .word func_ov00_0207f100 +_0208ce78: .word _ZN7MapBase18func_ov00_0207f100Ev _0208ce7c: .word func_ov00_0208d018 _0208ce80: .word gMapManager @@ -7612,7 +7612,7 @@ func_ov00_0208d01c: ; 0x0208d01c add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _0208d064: - ldr r4, _0208d1ec ; =func_ov00_0207f100 + ldr r4, _0208d1ec ; =_ZN7MapBase18func_ov00_0207f100Ev ldr r3, _0208d1f0 ; =func_ov00_0208d018 add r0, sp, #0x44 mov r1, #0x40 @@ -7628,7 +7628,7 @@ _0208d064: mov r4, r0 cmp r4, #0 bgt _0208d0c8 - ldr r3, _0208d1ec ; =func_ov00_0207f100 + ldr r3, _0208d1ec ; =_ZN7MapBase18func_ov00_0207f100Ev add r0, sp, #0x44 mov r1, #0x40 mov r2, #0x18 @@ -7657,7 +7657,7 @@ _0208d0c8: str r4, [sp] bl func_ov00_0208d310 mov r4, r0 - ldr r3, _0208d1ec ; =func_ov00_0207f100 + ldr r3, _0208d1ec ; =_ZN7MapBase18func_ov00_0207f100Ev add r0, sp, #0x44 mov r1, #0x40 mov r2, #0x18 @@ -7691,7 +7691,7 @@ _0208d154: add r5, r5, r0 cmp r5, r8 blo _0208d1b8 - ldr r3, _0208d1ec ; =func_ov00_0207f100 + ldr r3, _0208d1ec ; =_ZN7MapBase18func_ov00_0207f100Ev add r0, sp, #0x44 mov r1, #0x40 mov r2, #0x18 @@ -7706,7 +7706,7 @@ _0208d1b8: add r7, r7, #0x18 blt _0208d154 _0208d1c8: - ldr r3, _0208d1ec ; =func_ov00_0207f100 + ldr r3, _0208d1ec ; =_ZN7MapBase18func_ov00_0207f100Ev add r0, sp, #0x44 mov r1, #0x40 mov r2, #0x18 @@ -7717,7 +7717,7 @@ _0208d1c8: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov00_0208d01c -_0208d1ec: .word func_ov00_0207f100 +_0208d1ec: .word _ZN7MapBase18func_ov00_0207f100Ev _0208d1f0: .word func_ov00_0208d018 _0208d1f4: .word gMapManager @@ -8658,9 +8658,9 @@ func_ov00_0208de04: ; 0x0208de04 str r0, [r4, #0x10] ldr r0, [sp, #0x18] str r1, [r4, #0x14] - ldr ip, _0208de68 ; =func_ov00_0207e968 + ldr ip, _0208de68 ; =_ZN7MapBase18func_ov00_0207e968Ev str r0, [r4, #0x18] - ldr r3, _0208de6c ; =func_ov00_0207e96c + ldr r3, _0208de6c ; =_ZN7MapBase18func_ov00_0207e96cEv add r0, r4, #0x10c mov r1, #4 mov r2, #0x10 @@ -8672,15 +8672,15 @@ func_ov00_0208de04: ; 0x0208de04 .align 2, 0 arm_func_end func_ov00_0208de04 _0208de64: .word data_ov00_020e2870 -_0208de68: .word func_ov00_0207e968 -_0208de6c: .word func_ov00_0207e96c +_0208de68: .word _ZN7MapBase18func_ov00_0207e968Ev +_0208de6c: .word _ZN7MapBase18func_ov00_0207e96cEv .global func_ov00_0208de70 arm_func_start func_ov00_0208de70 func_ov00_0208de70: ; 0x0208de70 stmdb sp!, {r4, lr} mov r4, r0 - ldr r3, _0208de94 ; =func_ov00_0207e968 + ldr r3, _0208de94 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, r4, #0x10c mov r1, #4 mov r2, #0x10 @@ -8689,14 +8689,14 @@ func_ov00_0208de70: ; 0x0208de70 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_0208de70 -_0208de94: .word func_ov00_0207e968 +_0208de94: .word _ZN7MapBase18func_ov00_0207e968Ev .global func_ov00_0208de98 arm_func_start func_ov00_0208de98 func_ov00_0208de98: ; 0x0208de98 stmdb sp!, {r4, lr} mov r4, r0 - ldr r3, _0208dec4 ; =func_ov00_0207e968 + ldr r3, _0208dec4 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, r4, #0x10c mov r1, #4 mov r2, #0x10 @@ -8707,14 +8707,14 @@ func_ov00_0208de98: ; 0x0208de98 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_0208de98 -_0208dec4: .word func_ov00_0207e968 +_0208dec4: .word _ZN7MapBase18func_ov00_0207e968Ev .global func_ov00_0208dec8 arm_func_start func_ov00_0208dec8 func_ov00_0208dec8: ; 0x0208dec8 stmdb sp!, {r4, lr} mov r4, r0 - ldr r3, _0208deec ; =func_ov00_0207e968 + ldr r3, _0208deec ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, r4, #0x10c mov r1, #4 mov r2, #0x10 @@ -8723,7 +8723,7 @@ func_ov00_0208dec8: ; 0x0208dec8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov00_0208dec8 -_0208deec: .word func_ov00_0207e968 +_0208deec: .word _ZN7MapBase18func_ov00_0207e968Ev .global func_ov00_0208def0 arm_func_start func_ov00_0208def0 @@ -15792,7 +15792,7 @@ func_ov00_02093968: ; 0x02093968 cmp r0, #0 beq _020939bc ldr r1, _020939d8 ; =func_ov00_020939e0 - ldr ip, _020939dc ; =func_ov00_0207e940 + ldr ip, _020939dc ; =_ZN7MapBase18func_ov00_0207e940EPc str r1, [sp] mov r1, r4 mov r2, #0x4c @@ -15810,7 +15810,7 @@ _020939bc: arm_func_end func_ov00_02093968 _020939d4: .word data_027e0ce0 _020939d8: .word func_ov00_020939e0 -_020939dc: .word func_ov00_0207e940 +_020939dc: .word _ZN7MapBase18func_ov00_0207e940EPc .global func_ov00_020939e0 arm_func_start func_ov00_020939e0 @@ -15818,8 +15818,8 @@ func_ov00_020939e0: ; 0x020939e0 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 - ldr ip, _02093a14 ; =func_ov00_0207e968 - ldr r3, _02093a18 ; =func_ov00_0207e96c + ldr ip, _02093a14 ; =_ZN7MapBase18func_ov00_0207e968Ev + ldr r3, _02093a18 ; =_ZN7MapBase18func_ov00_0207e96cEv add r0, r4, #0x18 mov r1, #3 mov r2, #0x10 @@ -15830,8 +15830,8 @@ func_ov00_020939e0: ; 0x020939e0 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov00_020939e0 -_02093a14: .word func_ov00_0207e968 -_02093a18: .word func_ov00_0207e96c +_02093a14: .word _ZN7MapBase18func_ov00_0207e968Ev +_02093a18: .word _ZN7MapBase18func_ov00_0207e96cEv .global func_ov00_02093a1c arm_func_start func_ov00_02093a1c @@ -15950,11 +15950,11 @@ func_ov00_02093b58: ; 0x02093b58 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x50 mov r6, r3 - ldr ip, _02093c94 ; =func_ov00_0207e968 + ldr ip, _02093c94 ; =_ZN7MapBase18func_ov00_0207e968Ev mov r4, r0 mov r8, r1 mov r7, r2 - ldr r3, _02093c98 ; =func_ov00_0207e96c + ldr r3, _02093c98 ; =_ZN7MapBase18func_ov00_0207e96cEv add r0, sp, #0x1c mov r1, #3 mov r2, #0x10 @@ -15975,7 +15975,7 @@ func_ov00_02093b58: ; 0x02093b58 ldrh r1, [sp, #6] mul r0, r3, r0 ldr ip, [r4, #0x20] - ldr r3, _02093c94 ; =func_ov00_0207e968 + ldr r3, _02093c94 ; =_ZN7MapBase18func_ov00_0207e968Ev strh r2, [ip, r0] add ip, ip, r0 strh r1, [ip, #2] @@ -16028,8 +16028,8 @@ func_ov00_02093b58: ; 0x02093b58 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov00_02093b58 -_02093c94: .word func_ov00_0207e968 -_02093c98: .word func_ov00_0207e96c +_02093c94: .word _ZN7MapBase18func_ov00_0207e968Ev +_02093c98: .word _ZN7MapBase18func_ov00_0207e96cEv .global func_ov00_02093c9c arm_func_start func_ov00_02093c9c @@ -25556,10 +25556,10 @@ data_ov00_020e2fdc: ; 0x020e2fdc .word func_ov00_02095e40 .global data_ov00_020e2fe0 data_ov00_020e2fe0: ; 0x020e2fe0 - .word func_ov00_0207fe34 + .word _ZN11TriggerBase8vfunc_0cEv .global data_ov00_020e2fe4 data_ov00_020e2fe4: ; 0x020e2fe4 - .word func_ov00_02080ddc + .word _ZN11TriggerBase8vfunc_10Ev .global data_ov00_020e2fe8 data_ov00_020e2fe8: ; 0x020e2fe8 .word func_ov00_02095ec4 @@ -25607,13 +25607,13 @@ data_ov00_020e3020: ; 0x020e3020 .word func_ov00_02095778 .global data_ov00_020e3024 data_ov00_020e3024: ; 0x020e3024 - .word func_ov00_0207faa8 + .word _ZN11TriggerBase8vfunc_08Ev .global data_ov00_020e3028 data_ov00_020e3028: ; 0x020e3028 - .word func_ov00_0207fe34 + .word _ZN11TriggerBase8vfunc_0cEv .global data_ov00_020e302c data_ov00_020e302c: ; 0x020e302c - .word func_ov00_02080ddc + .word _ZN11TriggerBase8vfunc_10Ev .global data_ov00_020e3030 data_ov00_020e3030: ; 0x020e3030 .word func_ov00_02095eb4 @@ -25634,13 +25634,13 @@ data_ov00_020e3044: ; 0x020e3044 .word func_ov00_0209561c .global data_ov00_020e3048 data_ov00_020e3048: ; 0x020e3048 - .word func_ov00_0207faa8 + .word _ZN11TriggerBase8vfunc_08Ev .global data_ov00_020e304c data_ov00_020e304c: ; 0x020e304c - .word func_ov00_0207fe34 + .word _ZN11TriggerBase8vfunc_0cEv .global data_ov00_020e3050 data_ov00_020e3050: ; 0x020e3050 - .word func_ov00_02080ddc + .word _ZN11TriggerBase8vfunc_10Ev .global data_ov00_020e3054 data_ov00_020e3054: ; 0x020e3054 .word func_ov00_02095ec4 @@ -25661,19 +25661,19 @@ data_ov00_020e3068: ; 0x020e3068 .word func_ov00_02095488 .global data_ov00_020e306c data_ov00_020e306c: ; 0x020e306c - .word func_ov00_0207faa8 + .word _ZN11TriggerBase8vfunc_08Ev .global data_ov00_020e3070 data_ov00_020e3070: ; 0x020e3070 - .word func_ov00_0207fe34 + .word _ZN11TriggerBase8vfunc_0cEv .global data_ov00_020e3074 data_ov00_020e3074: ; 0x020e3074 - .word func_ov00_02080ddc + .word _ZN11TriggerBase8vfunc_10Ev .global data_ov00_020e3078 data_ov00_020e3078: ; 0x020e3078 - .word func_ov00_0207fc90 + .word _ZN11TriggerBase8OverlapsEv .global data_ov00_020e307c data_ov00_020e307c: ; 0x020e307c - .word func_ov00_0207fb5c + .word _ZN11TriggerBase14GetBoundingBoxEv .global data_ov00_020e3080 data_ov00_020e3080: ; 0x020e3080 .ascii "brg" diff --git a/asm/ov00/ov00_020b1498.inc b/asm/ov00/ov00_020b1498.inc index a0a41016..e01dd528 100644 --- a/asm/ov00/ov00_020b1498.inc +++ b/asm/ov00/ov00_020b1498.inc @@ -146,6 +146,8 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN7MapBase18func_ov00_0207e968Ev +.extern _ZN7MapBase18func_ov00_0207e96cEv .extern _ZN9ActorTypeC1EjPFP5ActorvEPv .extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv @@ -183,7 +185,6 @@ .extern data_027e0d84 .extern data_027e0e58 .extern data_027e0e5c -.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f78 @@ -322,8 +323,6 @@ .extern func_ov00_0207c1f8 .extern func_ov00_0207c444 .extern func_ov00_0207c474 -.extern func_ov00_0207e968 -.extern func_ov00_0207e96c .extern func_ov00_02081f4c .extern func_ov00_02081f50 .extern func_ov00_020872e8 @@ -460,5 +459,6 @@ .extern func_ov59_0219b020 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern strcat diff --git a/asm/ov00/ov00_020b1498.s b/asm/ov00/ov00_020b1498.s index 3abb7153..fb3f9c8b 100644 --- a/asm/ov00/ov00_020b1498.s +++ b/asm/ov00/ov00_020b1498.s @@ -7002,8 +7002,8 @@ func_ov00_020b6ea0: ; 0x020b6ea0 cmp r5, #1 moveq r0, #1 streqb r0, [r4, #0xce] - ldr r1, _020b7328 ; =func_ov00_0207e968 - ldr r3, _020b732c ; =func_ov00_0207e96c + ldr r1, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev + ldr r3, _020b732c ; =_ZN7MapBase18func_ov00_0207e96cEv str r1, [sp] add r0, sp, #0x90 mov r1, #3 @@ -7125,7 +7125,7 @@ _020b7000: movlt r0, #0 cmp r0, #0 beq _020b70fc - ldr r3, _020b7328 ; =func_ov00_0207e968 + ldr r3, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x90 mov r1, #3 mov r2, #0x10 @@ -7152,7 +7152,7 @@ _020b70fc: _020b7138: cmp r2, #0 bge _020b7160 - ldr r3, _020b7328 ; =func_ov00_0207e968 + ldr r3, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x90 mov r1, #3 mov r2, #0x10 @@ -7164,7 +7164,7 @@ _020b7160: cmp r5, #2 mov r1, #3 bne _020b7188 - ldr r3, _020b7328 ; =func_ov00_0207e968 + ldr r3, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x90 mov r2, #0x10 bl func_0204f754 @@ -7177,13 +7177,13 @@ _020b7188: add r0, sp, #0x90 mov r2, #0x10 blt _020b71d8 - ldr r3, _020b7328 ; =func_ov00_0207e968 + ldr r3, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev bl func_0204f754 add sp, sp, #0xc4 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _020b71b0: - ldr r3, _020b7328 ; =func_ov00_0207e968 + ldr r3, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev mov r5, #1 add r0, sp, #0x90 mov r1, #3 @@ -7194,7 +7194,7 @@ _020b71b0: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _020b71d8: - ldr r3, _020b7328 ; =func_ov00_0207e968 + ldr r3, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev bl func_0204f754 b _020b7318 _020b71e4: @@ -7207,8 +7207,8 @@ _020b71f0: ldrsh r0, [r4, #0x5a] cmp r0, #4 bne _020b7318 - ldr r1, _020b7328 ; =func_ov00_0207e968 - ldr r3, _020b732c ; =func_ov00_0207e96c + ldr r1, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev + ldr r3, _020b732c ; =_ZN7MapBase18func_ov00_0207e96cEv str r1, [sp] add r0, sp, #0x44 mov r1, #3 @@ -7270,7 +7270,7 @@ _020b71f0: rsb r6, r0, #0 cmp r6, r5 movle r6, r5 - ldr r3, _020b7328 ; =func_ov00_0207e968 + ldr r3, _020b7328 ; =_ZN7MapBase18func_ov00_0207e968Ev add r0, sp, #0x44 mov r1, #3 mov r2, #0x10 @@ -7283,8 +7283,8 @@ _020b7318: .align 2, 0 arm_func_end func_ov00_020b6ea0 _020b7324: .word data_027e0f6c -_020b7328: .word func_ov00_0207e968 -_020b732c: .word func_ov00_0207e96c +_020b7328: .word _ZN7MapBase18func_ov00_0207e968Ev +_020b732c: .word _ZN7MapBase18func_ov00_0207e96cEv _020b7330: .word data_02050f54 _020b7334: .word gMapManager _020b7338: .word 0x00000e66 diff --git a/asm/ov04.inc b/asm/ov04.inc index c9b31fdb..383e967b 100644 --- a/asm/ov04.inc +++ b/asm/ov04.inc @@ -60,13 +60,23 @@ .extern _ZN6Course11FindMapDataEj .extern _ZN6Course13SetCourseNameEPc .extern _ZN6Course14FindMapGridPosEP5Vec2bPS_j -.extern _ZN6Course18FindMapData_Unk_0cEi .extern _ZN6Course14GetMCSFilePathEiii .extern _ZN6Course14GetMRCFilePathEiii .extern _ZN6Course15IsMapInMainGridEj +.extern _ZN6Course18FindMapData_Unk_0cEi .extern _ZN6Course18func_ov00_0207ca78Eici .extern _ZN6Course18func_ov00_0207ce20EiiPci .extern _ZN6Course18func_ov00_0207d7bcEv +.extern _ZN7MapBase10AddTriggerEP13TriggerParams +.extern _ZN7MapBase11AddEntranceEP8Entrance +.extern _ZN7MapBase14GetMapFilePathEPcii +.extern _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint +.extern _ZN7MapBase18func_ov00_0207ddf8Eb +.extern _ZN7MapBase18func_ov00_0207dea0Eb +.extern _ZN7MapBase18func_ov00_02080de4Ev +.extern _ZN7MapBase18func_ov00_02080edcEv +.extern _ZN7MapBase7AddExitEP4Exit +.extern _ZN7MapBase9SetBoundsEii .extern _ZN9ActorType13func_0203e7c8Ev .extern _ZN9ActorType4FindEj .extern _ZN9SysObjectdlEPv @@ -437,16 +447,6 @@ .extern func_ov00_0207c000 .extern func_ov00_0207c030 .extern func_ov00_0207c074 -.extern func_ov00_0207dce4 -.extern func_ov00_0207dda0 -.extern func_ov00_0207ddf8 -.extern func_ov00_0207dea0 -.extern func_ov00_0207f844 -.extern func_ov00_0207f958 -.extern func_ov00_0208009c -.extern func_ov00_0208046c -.extern func_ov00_02080de4 -.extern func_ov00_02080edc .extern func_ov00_02086ea0 .extern func_ov00_020872e8 .extern func_ov00_02087d84 diff --git a/asm/ov04.s b/asm/ov04.s index 6645d10b..490ad725 100644 --- a/asm/ov04.s +++ b/asm/ov04.s @@ -16511,7 +16511,7 @@ _02108bae: bne _02108bae add r0, r6, #0 add r1, sp, #0 - blx func_ov00_0207f958 + blx _ZN7MapBase10AddTriggerEP13TriggerParams add r0, r4, #1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -16768,7 +16768,7 @@ _02108d7c: strb r2, [r0, #0x15] add r0, r7, #0 add r1, sp, #0 - blx func_ov00_0208009c + blx _ZN7MapBase7AddExitEP4Exit add r0, r4, #1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -17834,7 +17834,7 @@ _021094b2: add r1, sp, #0x14 str r0, [sp, #0x24] ldr r0, [sp, #4] - blx func_ov00_0207f844 + blx _ZN7MapBase11AddEntranceEP8Entrance add r0, r4, #1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -18037,7 +18037,7 @@ _021095ec: strh r1, [r0, #0x1a] ldr r0, [sp, #4] add r1, sp, #0x3c - blx func_ov00_0208046c + blx _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint add r0, r5, #1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 @@ -23356,7 +23356,7 @@ func_ov04_0210bfa8: ; 0x0210bfa8 mov r1, #1 strb r1, [r4, #4] strb r2, [r4, #8] - blx func_ov00_02080de4 + blx _ZN7MapBase18func_ov00_02080de4Ev ldr r0, _0210c0f0 ; =data_027e0d38 ldr r2, [r0] ldr r0, [r2, #0x14] @@ -23510,7 +23510,7 @@ _0210c0dc: mov r0, #0 strh r0, [r4, #0x30] add r0, r4, #0 - blx func_ov00_02080edc + blx _ZN7MapBase18func_ov00_02080edcEv add sp, #0x60 pop {r3, r4, r5, pc} .align 2, 0 @@ -23673,7 +23673,7 @@ _0210c218: add r1, #0xc add r2, r6, #0 add r3, sp - blx func_ov00_0207dda0 + blx _ZN7MapBase14GetMapFilePathEPcii mov r0, #0x10 str r0, [sp] mov r0, #1 @@ -23692,10 +23692,10 @@ _0210c218: add r0, r5, #0 add r1, r6, #0 add r2, r4, #0 - blx func_ov00_0207dce4 + blx _ZN7MapBase9SetBoundsEii add r0, r5, #0 mov r1, #0 - blx func_ov00_0207ddf8 + blx _ZN7MapBase18func_ov00_0207ddf8Eb add r0, sp, #8 add r1, r4, #0 add r2, r6, #0 @@ -23859,7 +23859,7 @@ _0210c370: _0210c3c4: add r0, r5, #0 mov r1, #1 - blx func_ov00_0207dea0 + blx _ZN7MapBase18func_ov00_0207dea0Eb add sp, #0x1fc add sp, #0x1fc add sp, #0x1c8 diff --git a/asm/ov05.inc b/asm/ov05.inc index 85538007..1748e50e 100644 --- a/asm/ov05.inc +++ b/asm/ov05.inc @@ -360,8 +360,8 @@ .extern func_ov00_0207c1f8 .extern func_ov00_0207c358 .extern func_ov00_0207c444 -.extern func_ov00_0207dea0 -.extern func_ov00_02080de8 +.extern _ZN7MapBase18func_ov00_0207dea0Eb +.extern _ZN7MapBase18func_ov00_02080de8Ei .extern func_ov00_02081f4c .extern func_ov00_0208726c .extern func_ov00_020872e8 diff --git a/asm/ov05.s b/asm/ov05.s index 1e6810e9..a5b8179c 100644 --- a/asm/ov05.s +++ b/asm/ov05.s @@ -20205,7 +20205,7 @@ func_ov05_02111c00: ; 0x02111c00 ldmeqia sp!, {r4, r5, pc} mov r0, r5 mov r1, r4 - bl func_ov00_02080de8 + bl _ZN7MapBase18func_ov00_02080de8Ei ldr r0, _02111c68 ; =gMapManager add r1, sp, #0 ldr r0, [r0] @@ -20607,7 +20607,7 @@ _02112190: blt _021120c8 ldr r0, [r4] mov r1, #0 - bl func_ov00_0207dea0 + bl _ZN7MapBase18func_ov00_0207dea0Eb ldrh r0, [r4, #0x16] cmp r0, #0 moveq r0, #0 diff --git a/asm/ov12.inc b/asm/ov12.inc index 601b38ee..deae5042 100644 --- a/asm/ov12.inc +++ b/asm/ov12.inc @@ -93,6 +93,26 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si +.extern _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi +.extern _ZN7MapBase8vfunc_18Ev +.extern _ZN7MapBase8vfunc_48Ev +.extern _ZN7MapBase8vfunc_50Ev +.extern _ZN7MapBase8vfunc_64Ev +.extern _ZN7MapBase8vfunc_68Eii +.extern _ZN7MapBase8vfunc_6cEiii +.extern _ZN7MapBase8vfunc_70EP5Vec3p +.extern _ZN7MapBase8vfunc_74EP5Vec3p +.extern _ZN7MapBase8vfunc_84Ei +.extern _ZN7MapBase8vfunc_88Ev +.extern _ZN7MapBase8vfunc_8cEv +.extern _ZN7MapBase8vfunc_90Eiii +.extern _ZN7MapBase8vfunc_9cEv +.extern _ZN7MapBase8vfunc_a0Ev +.extern _ZN7MapBase8vfunc_b0Eii +.extern _ZN7MapBase8vfunc_b4Ev +.extern _ZN7MapBase8vfunc_b8Ev +.extern _ZN7MapBaseD1Ev .extern _ZN9ActorTypeC1EjPFP5ActorvEPv .extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv @@ -128,7 +148,6 @@ .extern data_027e0dcc .extern data_027e0e2c .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f84 @@ -354,26 +373,6 @@ .extern func_ov00_0207c1f8 .extern func_ov00_0207c444 .extern func_ov00_0207c474 -.extern func_ov00_0207da38 -.extern func_ov00_0207ddf4 -.extern func_ov00_0207e060 -.extern func_ov00_0207e444 -.extern func_ov00_0207e46c -.extern func_ov00_0207e488 -.extern func_ov00_0207e4b0 -.extern func_ov00_0207e4b8 -.extern func_ov00_0207e970 -.extern func_ov00_0207ee14 -.extern func_ov00_0207eff4 -.extern func_ov00_0207f324 -.extern func_ov00_0207f32c -.extern func_ov00_0207f334 -.extern func_ov00_0207f338 -.extern func_ov00_0207f364 -.extern func_ov00_0207f3c4 -.extern func_ov00_0207f4a4 -.extern func_ov00_0207f588 -.extern func_ov00_020807d4 .extern func_ov00_02081f4c .extern func_ov00_020872e8 .extern func_ov00_02087d84 @@ -759,6 +758,7 @@ .extern func_ov61_02179f88 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern gPlayerAnimHandler .extern strncpy diff --git a/asm/ov12.s b/asm/ov12.s index f3e1e475..ab0603fa 100644 --- a/asm/ov12.s +++ b/asm/ov12.s @@ -30039,7 +30039,7 @@ _0212b4bc: mov r1, #0 mov r0, r4 str r1, [r4, #0x188] - bl func_ov00_0207da38 + bl _ZN7MapBaseD1Ev mov r0, r4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 @@ -30083,7 +30083,7 @@ _0212b544: mov r1, #0 mov r0, r4 str r1, [r4, #0x188] - bl func_ov00_0207da38 + bl _ZN7MapBaseD1Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 @@ -30234,7 +30234,7 @@ _0212b700: mov r3, #0 strb r7, [sp, #8] strb r8, [sp, #9] - bl func_ov00_0207f588 + bl _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi mov r0, r10 ldr r3, [r0] mov r1, r5 @@ -30251,7 +30251,7 @@ _0212b700: mov r1, r10 mov r2, r5 mov r3, #1 - bl func_ov00_0207f588 + bl _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi mov r0, r10 ldr r3, [r0] mov r1, r5 @@ -30268,7 +30268,7 @@ _0212b700: mov r1, r10 mov r2, r5 mov r3, #2 - bl func_ov00_0207f588 + bl _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi mov r0, r10 ldr r3, [r0] mov r1, r5 @@ -30285,7 +30285,7 @@ _0212b700: mov r1, r10 mov r2, r5 mov r3, #3 - bl func_ov00_0207f588 + bl _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi mov r0, r10 ldr r3, [r0] mov r1, r5 @@ -30364,7 +30364,7 @@ func_ov12_0212b8cc: ; 0x0212b8cc mov r4, r2 mov r6, r0 mov r5, r1 - bl func_ov00_0207f4a4 + bl _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si cmp r4, #0 cmpne r0, #0 mov r0, r6 @@ -48715,7 +48715,7 @@ data_ov12_02136c08: ; 0x02136c08 .word func_ov12_0212b568 .global data_ov12_02136c0c data_ov12_02136c0c: ; 0x02136c0c - .word func_ov00_0207ddf4 + .word _ZN7MapBase8vfunc_18Ev .global data_ov12_02136c10 data_ov12_02136c10: ; 0x02136c10 .word func_ov12_0212b5fc @@ -48751,13 +48751,13 @@ data_ov12_02136c38: ; 0x02136c38 .word func_ov04_0210cb00 ; data_ov07_0210cb00 .global data_ov12_02136c3c data_ov12_02136c3c: ; 0x02136c3c - .word func_ov00_0207e46c + .word _ZN7MapBase8vfunc_48Ev .global data_ov12_02136c40 data_ov12_02136c40: ; 0x02136c40 .word func_ov12_0212bbe8 .global data_ov12_02136c44 data_ov12_02136c44: ; 0x02136c44 - .word func_ov00_0207e488 + .word _ZN7MapBase8vfunc_50Ev .global data_ov12_02136c48 data_ov12_02136c48: ; 0x02136c48 .word func_ov12_0212b908 @@ -48772,19 +48772,19 @@ data_ov12_02136c54: ; 0x02136c54 .word func_ov12_0212b978 .global data_ov12_02136c58 data_ov12_02136c58: ; 0x02136c58 - .word func_ov00_0207e4b0 + .word _ZN7MapBase8vfunc_64Ev .global data_ov12_02136c5c data_ov12_02136c5c: ; 0x02136c5c - .word func_ov00_0207e4b8 + .word _ZN7MapBase8vfunc_68Eii .global data_ov12_02136c60 data_ov12_02136c60: ; 0x02136c60 - .word func_ov00_0207e970 + .word _ZN7MapBase8vfunc_6cEiii .global data_ov12_02136c64 data_ov12_02136c64: ; 0x02136c64 - .word func_ov00_0207ee14 + .word _ZN7MapBase8vfunc_70EP5Vec3p .global data_ov12_02136c68 data_ov12_02136c68: ; 0x02136c68 - .word func_ov00_0207eff4 + .word _ZN7MapBase8vfunc_74EP5Vec3p .global data_ov12_02136c6c data_ov12_02136c6c: ; 0x02136c6c .word func_ov12_0212ba6c @@ -48796,16 +48796,16 @@ data_ov12_02136c74: ; 0x02136c74 .word func_ov12_0212bba4 .global data_ov12_02136c78 data_ov12_02136c78: ; 0x02136c78 - .word func_ov00_0207f364 + .word _ZN7MapBase8vfunc_84Ei .global data_ov12_02136c7c data_ov12_02136c7c: ; 0x02136c7c - .word func_ov00_0207f324 + .word _ZN7MapBase8vfunc_88Ev .global data_ov12_02136c80 data_ov12_02136c80: ; 0x02136c80 - .word func_ov00_0207f32c + .word _ZN7MapBase8vfunc_8cEv .global data_ov12_02136c84 data_ov12_02136c84: ; 0x02136c84 - .word func_ov00_0207f3c4 + .word _ZN7MapBase8vfunc_90Eiii .global data_ov12_02136c88 data_ov12_02136c88: ; 0x02136c88 .word func_ov12_0212b674 @@ -48814,10 +48814,10 @@ data_ov12_02136c8c: ; 0x02136c8c .word func_ov12_0212b9e4 .global data_ov12_02136c90 data_ov12_02136c90: ; 0x02136c90 - .word func_ov00_0207f334 + .word _ZN7MapBase8vfunc_9cEv .global data_ov12_02136c94 data_ov12_02136c94: ; 0x02136c94 - .word func_ov00_0207f338 + .word _ZN7MapBase8vfunc_a0Ev .global data_ov12_02136c98 data_ov12_02136c98: ; 0x02136c98 .word func_ov12_0212b844 @@ -48829,13 +48829,13 @@ data_ov12_02136ca0: ; 0x02136ca0 .word func_ov12_0212b8cc .global data_ov12_02136ca4 data_ov12_02136ca4: ; 0x02136ca4 - .word func_ov00_0207e060 + .word _ZN7MapBase8vfunc_b0Eii .global data_ov12_02136ca8 data_ov12_02136ca8: ; 0x02136ca8 - .word func_ov00_0207e444 + .word _ZN7MapBase8vfunc_b4Ev .global data_ov12_02136cac data_ov12_02136cac: ; 0x02136cac - .word func_ov00_020807d4 + .word _ZN7MapBase8vfunc_b8Ev .global data_ov12_02136cb0 data_ov12_02136cb0: ; 0x02136cb0 .word func_ov12_0212b9c4 diff --git a/asm/ov15.inc b/asm/ov15.inc index 9dc863fd..78962be4 100644 --- a/asm/ov15.inc +++ b/asm/ov15.inc @@ -425,23 +425,23 @@ .extern _ZN6Course23IsAdjacentMapOnMainGridEi .extern _ZN6Course14GetAdjacentMapEi .extern _ZN6Course18func_ov00_0207d7bcEv -.extern func_ov00_0207da38 -.extern func_ov00_0207dce4 -.extern func_ov00_0207dda0 -.extern func_ov00_0207ddf8 -.extern func_ov00_0207dea0 -.extern func_ov00_0207e46c -.extern func_ov00_0207e498 -.extern func_ov00_0207e4b0 -.extern func_ov00_0207f33c -.extern func_ov00_0207f344 -.extern func_ov00_0207f348 -.extern func_ov00_0207f4a0 -.extern func_ov00_0207fce0 -.extern func_ov00_02080140 -.extern func_ov00_02080d74 -.extern func_ov00_02080d78 -.extern func_ov00_02080d7c +.extern _ZN7MapBaseD1Ev +.extern _ZN7MapBase9SetBoundsEii +.extern _ZN7MapBase14GetMapFilePathEPcii +.extern _ZN7MapBase18func_ov00_0207ddf8Eb +.extern _ZN7MapBase18func_ov00_0207dea0Eb +.extern _ZN7MapBase8vfunc_48Ev +.extern _ZN7MapBase8vfunc_58Ev +.extern _ZN7MapBase8vfunc_64Ev +.extern _ZN7MapBase8vfunc_a4Ev +.extern _ZN7MapBase8vfunc_a8Ev +.extern _ZN7MapBase8vfunc_acEv +.extern _ZN7MapBase8vfunc_94Ev +.extern _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei +.extern _ZN7MapBase18func_ov00_02080140EP4Exit +.extern _ZN7MapBase8vfunc_bcEv +.extern _ZN7MapBase8vfunc_98Ev +.extern _ZN7MapBase8vfunc_c0Ev .extern func_ov00_02081f4c .extern func_ov00_02081f50 .extern func_ov00_02081f58 diff --git a/asm/ov15.s b/asm/ov15.s index e0c51a1e..ef60bb30 100644 --- a/asm/ov15.s +++ b/asm/ov15.s @@ -11583,7 +11583,7 @@ _02128f30: str r0, [r5, #0x198] _02128f38: mov r0, r5 - bl func_ov00_0207da38 + bl _ZN7MapBaseD1Ev mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 @@ -11647,7 +11647,7 @@ _02128ffc: str r0, [r5, #0x198] _02129004: mov r0, r5 - bl func_ov00_0207da38 + bl _ZN7MapBaseD1Ev mov r0, r5 bl _ZN9SysObjectdlEPv mov r0, r5 @@ -11681,7 +11681,7 @@ _02129058: mov r0, r7 mov r2, r6 add r1, r4, #0xc - bl func_ov00_0207dda0 + bl _ZN7MapBase14GetMapFilePathEPcii mov r0, #0x10 str r0, [sp] mov r0, #1 @@ -11698,10 +11698,10 @@ _02129058: mov r0, r7 mov r1, r6 mov r2, r4 - bl func_ov00_0207dce4 + bl _ZN7MapBase9SetBoundsEii mov r0, r7 mov r1, #0 - bl func_ov00_0207ddf8 + bl _ZN7MapBase18func_ov00_0207ddf8Eb add r0, sp, #8 mov r1, r4 mov r2, r6 @@ -11790,7 +11790,7 @@ _02129210: bl func_ov15_0212925c mov r0, r7 mov r1, #0 - bl func_ov00_0207dea0 + bl _ZN7MapBase18func_ov00_0207dea0Eb add sp, sp, #0x128 add sp, sp, #0x400 ldmia sp!, {r3, r4, r5, r6, r7, pc} @@ -12055,7 +12055,7 @@ _02129598: mov r0, r9 add r1, sp, #0x14 mov r5, #4 - bl func_ov00_02080140 + bl _ZN7MapBase18func_ov00_02080140EP4Exit ldr r1, [sp, #0x10] strb r0, [sp, #0x28] and r0, r0, #0xff @@ -12807,7 +12807,7 @@ _02129df8: mov r3, #0x10 movne r4, #0 str ip, [sp, #0x48] - bl func_ov00_0207fce0 + bl _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei cmp r0, #0 bne _02129e90 ldr r0, [r5, #0x144] @@ -12828,7 +12828,7 @@ _02129df8: bl func_ov15_0212c718 mov r0, r5 mov r1, #0 - bl func_ov00_0207dea0 + bl _ZN7MapBase18func_ov00_0207dea0Eb add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _02129e90: @@ -12890,7 +12890,7 @@ _02129eec: bl func_ov15_0212c718 mov r0, r5 mov r1, #0 - bl func_ov00_0207dea0 + bl _ZN7MapBase18func_ov00_0207dea0Eb add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _02129f74: @@ -12906,7 +12906,7 @@ _02129f74: bl func_ov15_0212c718 mov r0, r5 mov r1, #0 - bl func_ov00_0207dea0 + bl _ZN7MapBase18func_ov00_0207dea0Eb add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _02129fb0: @@ -12922,7 +12922,7 @@ _02129fb0: bl func_ov15_0212c718 mov r0, r5 mov r1, #0 - bl func_ov00_0207dea0 + bl _ZN7MapBase18func_ov00_0207dea0Eb add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} .align 2, 0 @@ -130484,7 +130484,7 @@ data_ov15_0218a294: ; 0x0218a294 .word func_ov15_021299a8 .global data_ov15_0218a298 data_ov15_0218a298: ; 0x0218a298 - .word func_ov00_0207e46c + .word _ZN7MapBase8vfunc_48Ev .global data_ov15_0218a29c data_ov15_0218a29c: ; 0x0218a29c .word func_ov15_02129ff4 @@ -130496,7 +130496,7 @@ data_ov15_0218a2a4: ; 0x0218a2a4 .word func_ov15_021299e4 .global data_ov15_0218a2a8 data_ov15_0218a2a8: ; 0x0218a2a8 - .word func_ov00_0207e498 + .word _ZN7MapBase8vfunc_58Ev .global data_ov15_0218a2ac data_ov15_0218a2ac: ; 0x0218a2ac .word func_ov15_021299ec @@ -130505,7 +130505,7 @@ data_ov15_0218a2b0: ; 0x0218a2b0 .word func_ov15_021299f4 .global data_ov15_0218a2b4 data_ov15_0218a2b4: ; 0x0218a2b4 - .word func_ov00_0207e4b0 + .word _ZN7MapBase8vfunc_64Ev .global data_ov15_0218a2b8 data_ov15_0218a2b8: ; 0x0218a2b8 .word func_ov15_021299fc @@ -130541,10 +130541,10 @@ data_ov15_0218a2e0: ; 0x0218a2e0 .word func_ov15_02129b2c .global data_ov15_0218a2e4 data_ov15_0218a2e4: ; 0x0218a2e4 - .word func_ov00_0207f4a0 + .word _ZN7MapBase8vfunc_94Ev .global data_ov15_0218a2e8 data_ov15_0218a2e8: ; 0x0218a2e8 - .word func_ov00_02080d78 + .word _ZN7MapBase8vfunc_98Ev .global data_ov15_0218a2ec data_ov15_0218a2ec: ; 0x0218a2ec .word func_ov15_02129b50 @@ -130553,13 +130553,13 @@ data_ov15_0218a2f0: ; 0x0218a2f0 .word func_ov15_02129c04 .global data_ov15_0218a2f4 data_ov15_0218a2f4: ; 0x0218a2f4 - .word func_ov00_0207f33c + .word _ZN7MapBase8vfunc_a4Ev .global data_ov15_0218a2f8 data_ov15_0218a2f8: ; 0x0218a2f8 - .word func_ov00_0207f344 + .word _ZN7MapBase8vfunc_a8Ev .global data_ov15_0218a2fc data_ov15_0218a2fc: ; 0x0218a2fc - .word func_ov00_0207f348 + .word _ZN7MapBase8vfunc_acEv .global data_ov15_0218a300 data_ov15_0218a300: ; 0x0218a300 .word func_ov15_02129b38 @@ -130571,10 +130571,10 @@ data_ov15_0218a308: ; 0x0218a308 .word func_ov15_02129b30 .global data_ov15_0218a30c data_ov15_0218a30c: ; 0x0218a30c - .word func_ov00_02080d74 + .word _ZN7MapBase8vfunc_bcEv .global data_ov15_0218a310 data_ov15_0218a310: ; 0x0218a310 - .word func_ov00_02080d7c + .word _ZN7MapBase8vfunc_c0Ev .global data_ov15_0218a314 data_ov15_0218a314: ; 0x0218a314 .ascii "M01" diff --git a/asm/ov17.inc b/asm/ov17.inc index d717b493..c8e656d3 100644 --- a/asm/ov17.inc +++ b/asm/ov17.inc @@ -207,26 +207,26 @@ .extern func_ov00_0207c358 .extern func_ov00_0207c444 .extern func_ov00_0207c474 -.extern func_ov00_0207da38 -.extern func_ov00_0207ddf4 -.extern func_ov00_0207e060 -.extern func_ov00_0207e444 -.extern func_ov00_0207e46c -.extern func_ov00_0207e488 -.extern func_ov00_0207e4b0 -.extern func_ov00_0207e4b8 -.extern func_ov00_0207e970 -.extern func_ov00_0207ee14 -.extern func_ov00_0207eff4 -.extern func_ov00_0207f324 -.extern func_ov00_0207f32c -.extern func_ov00_0207f334 -.extern func_ov00_0207f338 -.extern func_ov00_0207f364 -.extern func_ov00_0207f3c4 -.extern func_ov00_0207f4a4 -.extern func_ov00_0207f588 -.extern func_ov00_020807d4 +.extern _ZN7MapBaseD1Ev +.extern _ZN7MapBase8vfunc_18Ev +.extern _ZN7MapBase8vfunc_b0Eii +.extern _ZN7MapBase8vfunc_b4Ev +.extern _ZN7MapBase8vfunc_48Ev +.extern _ZN7MapBase8vfunc_50Ev +.extern _ZN7MapBase8vfunc_64Ev +.extern _ZN7MapBase8vfunc_68Eii +.extern _ZN7MapBase8vfunc_6cEiii +.extern _ZN7MapBase8vfunc_70EP5Vec3p +.extern _ZN7MapBase8vfunc_74EP5Vec3p +.extern _ZN7MapBase8vfunc_88Ev +.extern _ZN7MapBase8vfunc_8cEv +.extern _ZN7MapBase8vfunc_9cEv +.extern _ZN7MapBase8vfunc_a0Ev +.extern _ZN7MapBase8vfunc_84Ei +.extern _ZN7MapBase8vfunc_90Eiii +.extern _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si +.extern _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi +.extern _ZN7MapBase8vfunc_b8Ev .extern func_ov00_02081f58 .extern func_ov00_02081f6c .extern _ZN10MapManager18func_ov00_020823c4EPii diff --git a/asm/ov17.s b/asm/ov17.s index 25a4180f..cb50764d 100644 --- a/asm/ov17.s +++ b/asm/ov17.s @@ -221,7 +221,7 @@ _0215b64a: lsl r0, r0, #2 str r1, [r5, r0] add r0, r5, #0 - blx func_ov00_0207da38 + blx _ZN7MapBaseD1Ev add r0, r5, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 @@ -298,7 +298,7 @@ _0215b6de: lsl r0, r0, #2 str r1, [r5, r0] add r0, r5, #0 - blx func_ov00_0207da38 + blx _ZN7MapBaseD1Ev add r0, r5, #0 blx _ZN9SysObjectdlEPv add r0, r5, #0 @@ -476,7 +476,7 @@ _0215b850: mov r3, #0 strb r7, [sp, #8] strb r8, [sp, #9] - bl func_ov00_0207f588 + bl _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi mov r0, r10 ldr r3, [r0] mov r1, r5 @@ -493,7 +493,7 @@ _0215b850: mov r1, r10 mov r2, r5 mov r3, #1 - bl func_ov00_0207f588 + bl _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi mov r0, r10 ldr r3, [r0] mov r1, r5 @@ -510,7 +510,7 @@ _0215b850: mov r1, r10 mov r2, r5 mov r3, #2 - bl func_ov00_0207f588 + bl _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi mov r0, r10 ldr r3, [r0] mov r1, r5 @@ -527,7 +527,7 @@ _0215b850: mov r1, r10 mov r2, r5 mov r3, #3 - bl func_ov00_0207f588 + bl _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi mov r0, r10 ldr r3, [r0] mov r1, r5 @@ -606,7 +606,7 @@ func_ov17_0215ba1c: ; 0x0215ba1c mov r4, r2 mov r6, r0 mov r5, r1 - bl func_ov00_0207f4a4 + bl _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si cmp r4, #0 cmpne r0, #0 mov r0, r6 @@ -20901,7 +20901,7 @@ data_ov17_0216ba14: ; 0x0216ba14 .word func_ov17_0215b708 + 1 .global data_ov17_0216ba18 data_ov17_0216ba18: ; 0x0216ba18 - .word func_ov00_0207ddf4 + .word _ZN7MapBase8vfunc_18Ev .global data_ov17_0216ba1c data_ov17_0216ba1c: ; 0x0216ba1c .word func_ov17_0215b764 @@ -20937,13 +20937,13 @@ data_ov17_0216ba44: ; 0x0216ba44 .word func_ov04_0210cb00 ; data_ov07_0210cb00 .global data_ov17_0216ba48 data_ov17_0216ba48: ; 0x0216ba48 - .word func_ov00_0207e46c + .word _ZN7MapBase8vfunc_48Ev .global data_ov17_0216ba4c data_ov17_0216ba4c: ; 0x0216ba4c .word func_ov17_0215bd74 .global data_ov17_0216ba50 data_ov17_0216ba50: ; 0x0216ba50 - .word func_ov00_0207e488 + .word _ZN7MapBase8vfunc_50Ev .global data_ov17_0216ba54 data_ov17_0216ba54: ; 0x0216ba54 .word func_ov17_0215ba58 @@ -20958,19 +20958,19 @@ data_ov17_0216ba60: ; 0x0216ba60 .word func_ov17_0215bac8 .global data_ov17_0216ba64 data_ov17_0216ba64: ; 0x0216ba64 - .word func_ov00_0207e4b0 + .word _ZN7MapBase8vfunc_64Ev .global data_ov17_0216ba68 data_ov17_0216ba68: ; 0x0216ba68 - .word func_ov00_0207e4b8 + .word _ZN7MapBase8vfunc_68Eii .global data_ov17_0216ba6c data_ov17_0216ba6c: ; 0x0216ba6c - .word func_ov00_0207e970 + .word _ZN7MapBase8vfunc_6cEiii .global data_ov17_0216ba70 data_ov17_0216ba70: ; 0x0216ba70 - .word func_ov00_0207ee14 + .word _ZN7MapBase8vfunc_70EP5Vec3p .global data_ov17_0216ba74 data_ov17_0216ba74: ; 0x0216ba74 - .word func_ov00_0207eff4 + .word _ZN7MapBase8vfunc_74EP5Vec3p .global data_ov17_0216ba78 data_ov17_0216ba78: ; 0x0216ba78 .word func_ov17_0215bbbc @@ -20982,16 +20982,16 @@ data_ov17_0216ba80: ; 0x0216ba80 .word func_ov17_0215bd30 .global data_ov17_0216ba84 data_ov17_0216ba84: ; 0x0216ba84 - .word func_ov00_0207f364 + .word _ZN7MapBase8vfunc_84Ei .global data_ov17_0216ba88 data_ov17_0216ba88: ; 0x0216ba88 - .word func_ov00_0207f324 + .word _ZN7MapBase8vfunc_88Ev .global data_ov17_0216ba8c data_ov17_0216ba8c: ; 0x0216ba8c - .word func_ov00_0207f32c + .word _ZN7MapBase8vfunc_8cEv .global data_ov17_0216ba90 data_ov17_0216ba90: ; 0x0216ba90 - .word func_ov00_0207f3c4 + .word _ZN7MapBase8vfunc_90Eiii .global data_ov17_0216ba94 data_ov17_0216ba94: ; 0x0216ba94 .word func_ov17_0215b7c4 @@ -21000,10 +21000,10 @@ data_ov17_0216ba98: ; 0x0216ba98 .word func_ov17_0215bb34 .global data_ov17_0216ba9c data_ov17_0216ba9c: ; 0x0216ba9c - .word func_ov00_0207f334 + .word _ZN7MapBase8vfunc_9cEv .global data_ov17_0216baa0 data_ov17_0216baa0: ; 0x0216baa0 - .word func_ov00_0207f338 + .word _ZN7MapBase8vfunc_a0Ev .global data_ov17_0216baa4 data_ov17_0216baa4: ; 0x0216baa4 .word func_ov17_0215b994 @@ -21015,13 +21015,13 @@ data_ov17_0216baac: ; 0x0216baac .word func_ov17_0215ba1c .global data_ov17_0216bab0 data_ov17_0216bab0: ; 0x0216bab0 - .word func_ov00_0207e060 + .word _ZN7MapBase8vfunc_b0Eii .global data_ov17_0216bab4 data_ov17_0216bab4: ; 0x0216bab4 - .word func_ov00_0207e444 + .word _ZN7MapBase8vfunc_b4Ev .global data_ov17_0216bab8 data_ov17_0216bab8: ; 0x0216bab8 - .word func_ov00_020807d4 + .word _ZN7MapBase8vfunc_b8Ev .global data_ov17_0216babc data_ov17_0216babc: ; 0x0216babc .word func_ov17_0215bb14 diff --git a/asm/ov18.inc b/asm/ov18.inc index 816f19af..dbc0595e 100644 --- a/asm/ov18.inc +++ b/asm/ov18.inc @@ -233,27 +233,27 @@ .extern func_ov00_0207c474 .extern _ZN6Course23IsAdjacentMapOnMainGridEi .extern _ZN6Course14GetAdjacentMapEi -.extern func_ov00_0207da38 -.extern func_ov00_0207ddf4 -.extern func_ov00_0207e060 -.extern func_ov00_0207e444 -.extern func_ov00_0207e46c -.extern func_ov00_0207e488 -.extern func_ov00_0207e4b8 -.extern func_ov00_0207e970 -.extern func_ov00_0207ee14 -.extern func_ov00_0207eff4 -.extern func_ov00_0207f324 -.extern func_ov00_0207f32c -.extern func_ov00_0207f334 -.extern func_ov00_0207f338 -.extern func_ov00_0207f344 -.extern func_ov00_0207f348 -.extern func_ov00_0207f364 -.extern func_ov00_0207f3c4 -.extern func_ov00_0207f4a4 -.extern func_ov00_02080140 -.extern func_ov00_020807d4 +.extern _ZN7MapBaseD1Ev +.extern _ZN7MapBase8vfunc_18Ev +.extern _ZN7MapBase8vfunc_b0Eii +.extern _ZN7MapBase8vfunc_b4Ev +.extern _ZN7MapBase8vfunc_48Ev +.extern _ZN7MapBase8vfunc_50Ev +.extern _ZN7MapBase8vfunc_68Eii +.extern _ZN7MapBase8vfunc_6cEiii +.extern _ZN7MapBase8vfunc_70EP5Vec3p +.extern _ZN7MapBase8vfunc_74EP5Vec3p +.extern _ZN7MapBase8vfunc_88Ev +.extern _ZN7MapBase8vfunc_8cEv +.extern _ZN7MapBase8vfunc_9cEv +.extern _ZN7MapBase8vfunc_a0Ev +.extern _ZN7MapBase8vfunc_a8Ev +.extern _ZN7MapBase8vfunc_acEv +.extern _ZN7MapBase8vfunc_84Ei +.extern _ZN7MapBase8vfunc_90Eiii +.extern _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si +.extern _ZN7MapBase18func_ov00_02080140EP4Exit +.extern _ZN7MapBase8vfunc_b8Ev .extern _ZN10MapManager18func_ov00_02082680Eii .extern _ZN10MapManager16MapData_vfunc_7cEv .extern _ZN10MapManager18func_ov00_02082d08Ev diff --git a/asm/ov18.s b/asm/ov18.s index 6bbccabc..b6f5cf06 100644 --- a/asm/ov18.s +++ b/asm/ov18.s @@ -197,7 +197,7 @@ _0215b734: mov r1, #0 mov r0, r5 str r1, [r5, #0x188] - bl func_ov00_0207da38 + bl _ZN7MapBaseD1Ev mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 @@ -278,7 +278,7 @@ _0215b840: mov r1, #0 mov r0, r5 str r1, [r5, #0x188] - bl func_ov00_0207da38 + bl _ZN7MapBaseD1Ev mov r0, r5 bl _ZN9SysObjectdlEPv mov r0, r5 @@ -596,7 +596,7 @@ _0215bcb4: _0215bce4: mov r0, r9 add r1, sp, #0x10 - bl func_ov00_02080140 + bl _ZN7MapBase18func_ov00_02080140EP4Exit strb r0, [sp, #0x24] mov r1, #0 str r1, [sp] @@ -1023,11 +1023,11 @@ func_ov18_0215c27c: ; 0x0215c27c .global func_ov18_0215c284 arm_func_start func_ov18_0215c284 func_ov18_0215c284: ; 0x0215c284 - ldr ip, _0215c28c ; =func_ov00_0207f4a4 + ldr ip, _0215c28c ; =_ZN7MapBase18func_ov00_0207f4a4EP5Vec2si bx ip .align 2, 0 arm_func_end func_ov18_0215c284 -_0215c28c: .word func_ov00_0207f4a4 +_0215c28c: .word _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si .global func_ov18_0215c290 arm_func_start func_ov18_0215c290 @@ -1338,7 +1338,7 @@ func_ov18_0215c608: ; 0x0215c608 mov r4, r0 mov r6, r1 mov r5, r2 - bl func_ov00_0207e060 + bl _ZN7MapBase8vfunc_b0Eii ldr r0, [r4, #0x1c0] cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} @@ -20980,7 +20980,7 @@ data_ov18_0216c0f4: ; 0x0216c0f4 .word func_ov18_0215bd84 .global data_ov18_0216c0f8 data_ov18_0216c0f8: ; 0x0216c0f8 - .word func_ov00_0207ddf4 + .word _ZN7MapBase8vfunc_18Ev .global data_ov18_0216c0fc data_ov18_0216c0fc: ; 0x0216c0fc .word func_ov18_0215beb8 @@ -21016,13 +21016,13 @@ data_ov18_0216c124: ; 0x0216c124 .word func_ov04_0210cb00 ; data_ov07_0210cb00 .global data_ov18_0216c128 data_ov18_0216c128: ; 0x0216c128 - .word func_ov00_0207e46c + .word _ZN7MapBase8vfunc_48Ev .global data_ov18_0216c12c data_ov18_0216c12c: ; 0x0216c12c .word func_ov18_0215caa4 .global data_ov18_0216c130 data_ov18_0216c130: ; 0x0216c130 - .word func_ov00_0207e488 + .word _ZN7MapBase8vfunc_50Ev .global data_ov18_0216c134 data_ov18_0216c134: ; 0x0216c134 .word func_ov18_0215c290 @@ -21040,16 +21040,16 @@ data_ov18_0216c144: ; 0x0216c144 .word func_ov18_0215c32c .global data_ov18_0216c148 data_ov18_0216c148: ; 0x0216c148 - .word func_ov00_0207e4b8 + .word _ZN7MapBase8vfunc_68Eii .global data_ov18_0216c14c data_ov18_0216c14c: ; 0x0216c14c - .word func_ov00_0207e970 + .word _ZN7MapBase8vfunc_6cEiii .global data_ov18_0216c150 data_ov18_0216c150: ; 0x0216c150 - .word func_ov00_0207ee14 + .word _ZN7MapBase8vfunc_70EP5Vec3p .global data_ov18_0216c154 data_ov18_0216c154: ; 0x0216c154 - .word func_ov00_0207eff4 + .word _ZN7MapBase8vfunc_74EP5Vec3p .global data_ov18_0216c158 data_ov18_0216c158: ; 0x0216c158 .word func_ov18_0215c448 @@ -21061,16 +21061,16 @@ data_ov18_0216c160: ; 0x0216c160 .word func_ov18_0215c5c4 .global data_ov18_0216c164 data_ov18_0216c164: ; 0x0216c164 - .word func_ov00_0207f364 + .word _ZN7MapBase8vfunc_84Ei .global data_ov18_0216c168 data_ov18_0216c168: ; 0x0216c168 - .word func_ov00_0207f324 + .word _ZN7MapBase8vfunc_88Ev .global data_ov18_0216c16c data_ov18_0216c16c: ; 0x0216c16c - .word func_ov00_0207f32c + .word _ZN7MapBase8vfunc_8cEv .global data_ov18_0216c170 data_ov18_0216c170: ; 0x0216c170 - .word func_ov00_0207f3c4 + .word _ZN7MapBase8vfunc_90Eiii .global data_ov18_0216c174 data_ov18_0216c174: ; 0x0216c174 .word func_ov18_0215c27c @@ -21079,28 +21079,28 @@ data_ov18_0216c178: ; 0x0216c178 .word func_ov18_0215c3c0 .global data_ov18_0216c17c data_ov18_0216c17c: ; 0x0216c17c - .word func_ov00_0207f334 + .word _ZN7MapBase8vfunc_9cEv .global data_ov18_0216c180 data_ov18_0216c180: ; 0x0216c180 - .word func_ov00_0207f338 + .word _ZN7MapBase8vfunc_a0Ev .global data_ov18_0216c184 data_ov18_0216c184: ; 0x0216c184 .word func_ov18_0215c284 .global data_ov18_0216c188 data_ov18_0216c188: ; 0x0216c188 - .word func_ov00_0207f344 + .word _ZN7MapBase8vfunc_a8Ev .global data_ov18_0216c18c data_ov18_0216c18c: ; 0x0216c18c - .word func_ov00_0207f348 + .word _ZN7MapBase8vfunc_acEv .global data_ov18_0216c190 data_ov18_0216c190: ; 0x0216c190 .word func_ov18_0215c608 .global data_ov18_0216c194 data_ov18_0216c194: ; 0x0216c194 - .word func_ov00_0207e444 + .word _ZN7MapBase8vfunc_b4Ev .global data_ov18_0216c198 data_ov18_0216c198: ; 0x0216c198 - .word func_ov00_020807d4 + .word _ZN7MapBase8vfunc_b8Ev .global data_ov18_0216c19c data_ov18_0216c19c: ; 0x0216c19c .word func_ov18_0215c3a0 diff --git a/include/Map/MapBase.hpp b/include/Map/MapBase.hpp index 0608b6aa..c9497a0a 100644 --- a/include/Map/MapBase.hpp +++ b/include/Map/MapBase.hpp @@ -7,6 +7,7 @@ #include "lib/math.h" +#include "Map/Course.hpp" #include "Map/Entrance.hpp" #include "Map/TriggerBase.hpp" #include "Map/Exit.hpp" @@ -22,6 +23,25 @@ struct MapBase_Unk_180 { /* 0 */ unk32 mUnk_0; /* 4 */ + + ~MapBase_Unk_180(); +}; + +struct MapBase_Unk1 { + /* 00 */ s32 mUnk_00; + /* 04 */ Exit mExit_04; + /* 1c */ Exit mExit_1c; + /* 34 */ + + void func_ov00_02080324(s32 param_2, s32 param_3, s32 param_4); +}; + +struct MapBase_Unk2 { + /* 00 */ TriggerBase **mTrigger; + /* 04 */ Vec3p mVec; + /* 10 */ + + void func_ov00_02080ad0(TriggerBase **param_2, TriggerBase **param_3); }; class MapBase : public SysObject { @@ -96,5 +116,122 @@ public: /* 1ae */ unk8 mUnk_1ae[2]; /* 1b0 */ + /* 00 */ virtual ~MapBase(); + /* 08 */ virtual void vfunc_08(u32 param_2, u32 param_3, Course *param_4); + /* 0c */ virtual void vfunc_0c(Course *param_2); + /* 10 */ virtual void vfunc_10(); + /* 14 */ virtual void vfunc_14(); + /* 18 */ virtual void vfunc_18(); + /* 1c */ virtual void vfunc_1c(bool param_2); + /* 20 */ virtual void vfunc_20(s32 param_2); + /* 24 */ virtual void vfunc_24(); + /* 28 */ virtual void vfunc_28(s32 param_2); + /* 2c */ virtual void vfunc_2c(); + /* 30 */ virtual void vfunc_30(s32 param_2); + /* 34 */ virtual bool vfunc_34(char *param_2); + /* 38 */ virtual void vfunc_38(); + /* 3c */ virtual void vfunc_3c(); + /* 40 */ virtual void vfunc_40(); + /* 44 */ virtual void vfunc_44(); + /* 48 */ virtual void vfunc_48(); + /* 4c */ virtual void vfunc_4c() = 0; + /* 50 */ virtual unk32 vfunc_50(); + /* 54 */ virtual unk32 vfunc_54(); + /* 58 */ virtual unk32 vfunc_58(); + /* 5c */ virtual unk32 vfunc_5c(); + /* 60 */ virtual unk32 vfunc_60(); + /* 64 */ virtual unk32 vfunc_64(); + /* 68 */ virtual unk8 vfunc_68(unk32 param_2, unk32 param_3); + /* 6c */ virtual unk8 vfunc_6c(unk32 param_2, unk32 param_3, unk32 param_4); + /* 70 */ virtual unk32 vfunc_70(Vec3p *param_2); + /* 74 */ virtual s32* vfunc_74(Vec3p *param_2); + /* 78 */ virtual unk32 vfunc_78(); + /* 7c */ virtual unk32 vfunc_7c(); + /* 80 */ virtual unk32 vfunc_80(); + /* 84 */ virtual void vfunc_84(unk32 param_2); + /* 88 */ virtual unk32 vfunc_88(); + /* 8c */ virtual unk32 vfunc_8c(); + /* 90 */ virtual unk8 vfunc_90(unk32 param_2, unk32 param_3, unk32 param_4); + /* 94 */ virtual void vfunc_94(); + /* 98 */ virtual void vfunc_98(); + /* 9c */ virtual void vfunc_9c(); + /* a0 */ virtual void vfunc_a0(); + /* a4 */ virtual unk32 vfunc_a4(); + /* a8 */ virtual void vfunc_a8(); + /* ac */ virtual void vfunc_ac(); + /* b0 */ virtual unk8 vfunc_b0(unk32 param_2, unk32 param_3); + /* b4 */ virtual void vfunc_b4(); + /* b8 */ virtual unk32 vfunc_b8(); + /* bc */ virtual void vfunc_bc(); + /* c0 */ virtual void vfunc_c0(); + /* c4 */ + void SetBounds(unk32 map, unk32 course); + void GetMapFilePath(char *courseName, unk32 num1, unk32 buf); + void func_ov00_0207ddf8(bool param_2); + void func_ov00_0207de68(unk32 param_2); + void func_ov00_0207de88(); + void func_ov00_0207dea0(bool param_2); + bool func_ov00_0207e08c(unk32 param_2, unk32 param_3); + s32 func_ov00_0207e0f0(unk32 param_2); + s32 func_ov00_0207e28c(unk32 param_2); + static unk8 func_ov00_0207e940(unk8 *param_1); + static unk8 func_ov00_0207e968(); + static unk8 func_ov00_0207e96c(); + static unk8 func_ov00_0207f100(); + bool func_ov00_0207f104(unk32 param_2, unk32 param_3); + unk32 func_ov00_0207f1f4(Vec3p *param_2, unk32 *param_3); + unk8 func_ov00_0207f38c(unk32 param_2); + void func_ov00_0207f4a4(Vec2s *param_2, unk32 param_3); + static void func_ov00_0207f53c(Vec2s *param_1, MapBase *param_2, Vec3p *param_3); + static void func_ov00_0207f588(Vec2s *param_1, MapBase *param_2, Vec2b *param_3, unk32 param_4); + void func_ov00_0207f630(Vec2s *param_2, Vec3p *param_3); + unk8 GetTileStartX(unk32 x); + unk8 GetTileStartZ(unk32 z); + s32 GetTileEndX(unk32 x); + s32 GetTileEndZ(unk32 z); + void GetTileBounds(Vec2b *tilePos, AABB *bounds); + unk8 GetClampedTileX(unk32 worldX); + unk8 GetClampedTileY(unk32 worldZ); + unk8 GetTileX(unk32 worldX); + unk8 GetTileY(unk32 worldZ); + bool IsInBounds(Vec3p *tileWorldPos); + s32 AddEntrance(Entrance *param_2); + unk8 FindEntrance(unk32 id); + unk8 func_ov00_0207f924(unk32 param_2); + unk8 func_ov00_0207f934(); + unk8 func_ov00_0207f948(unk32 param_2); + void AddTrigger(TriggerParams *param_2); + s32 GetTriggerBoundingBox(unk32 param_2, AABB *param_3); + unk8 GetTriggerBoundingBoxes(unk32 param_2, AABB *param_3, unk32 param_4); + unk32 GetOverlappingTrigger(Vec3p *param_2); + unk8 FindTrigger(unk32 type); + unk8 GetOverlappingTriggers(Vec3p *param_2, TriggerBase * *triggers, unk32 capacity); + bool IsTriggerTypeOverlapped(unk32 type, Vec3p *param_3); + bool AnyTrigger_func_0c(unk32 type); + unk8 Trigger_vfunc_08(); + bool AddTrigger(unk32 param_2); + bool func_ov00_0207ff88(unk32 param_2); + void func_ov00_0208005c(s32 param_2, s32 param_3, unk32 param_4); + void func_ov00_0208006c(unk32 param_2, s32 param_3); + void func_ov00_0208007c(s32 param_2, s32 param_3); + void func_ov00_0208008c(u32 param_2); + unk8 AddExit(Exit *param_2); + unk8 func_ov00_02080140(Exit *param_2); + bool FindExit(unk32 param_2, Exit *param_3); + unk8 AddCameraViewpoint(CameraViewpoint *param_2); + bool FindViewpoint_Unk_4(unk8 id, CameraViewpoint *param_3); + bool FindViewpoint_Unk_0(unk32 param_2, CameraViewpoint *param_3); + void GetCurrentViewpoint(CameraViewpoint *param_2, unk32 param_3); + unk8 GetCurrentViewpoint_Unk_00(s32 param_2); + bool func_ov00_02080824(unk32 param_2, unk32 param_3); + bool AddUnk_130(unk32 param_2); + bool func_ov00_020809b8(unk32 param_2); + unk8 func_ov00_02080a78(Vec3p *param_2); + unk8 func_ov00_02080b24(Vec2b *param_2); + void func_ov00_02080d08(unk32 param_2); + bool TriggerOfType_vfunc_10(unk32 type); + void func_ov00_02080de4(); + unk8 func_ov00_02080de8(unk32 param_2); + void func_ov00_02080edc(); }; diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp index 2f3311e4..e773ef19 100644 --- a/include/Map/MapManager.hpp +++ b/include/Map/MapManager.hpp @@ -6,6 +6,7 @@ #include "lib/math.h" #include "Map/Course.hpp" +#include "Map/MapBase.hpp" #include "Physics/AABB.hpp" #include "System/SysNew.hpp" @@ -25,14 +26,6 @@ struct MapManager_Unk2 { ~MapManager_Unk2(); }; -class MapBase : public SysObject { -public: - /* 00 */ virtual ~MapBase(); - - MapBase(); - MapBase(u32 param1, u32 param2); -}; - class MapManager : public SysObject { public: /* 00 */ Course *mCourse; diff --git a/include/Map/TriggerBase.hpp b/include/Map/TriggerBase.hpp index 2a1eb090..03046e71 100644 --- a/include/Map/TriggerBase.hpp +++ b/include/Map/TriggerBase.hpp @@ -5,13 +5,36 @@ #include "System/SysNew.hpp" +struct TriggerParams { + /* 0 */ s8 id; + /* 1 */ unk8 zMin; + /* 2 */ unk8 zMax; + /* 3 */ unk8 xMin; + /* 4 */ unk8 xMax; + /* 5 */ bool isAABB_Unk1; + /* 6 */ s8 mUnk_6; + /* 7 */ s8 mUnk_7; + /* 8 */ s8 mUnk_8; + /* 9 */ bool isAABB_Unk2; + /* a */ bool isSphere; + /* b */ +}; + class TriggerBase : public SysObject { /* 00 (vtable) */ /* 04 */ unk8 mUnk_04; - /* 05 */ u8 mType; + /* 05 */ u8 mId; /* 06 */ unk8 mUnk_06[2]; /* 08 */ u32 mUnk_08; /* 0c */ u32 mUnk_0c; /* 10 */ u32 mUnk_10; /* 14 */ + + /* 00 */ virtual ~TriggerBase(); + /* 08 */ void vfunc_08(); + /* 0c */ unk32 vfunc_0c(); + /* 10 */ unk32 vfunc_10(); + /* 14 */ bool Overlaps(); + /* 18 */ bool GetBoundingBox(); + /* 1c */ }; diff --git a/include/lib/math.h b/include/lib/math.h index b601dc71..a8951eb4 100644 --- a/include/lib/math.h +++ b/include/lib/math.h @@ -19,6 +19,12 @@ typedef struct { /* 2 */ } Vec2b; +typedef struct { + /* 0 */ s16 x; + /* 1 */ s16 y; + /* 2 */ +} Vec2s; + typedef struct { /* 0 */ q20 x; /* 4 */ q20 y; diff --git a/src/00_Core/Map/MapBase.cpp b/src/00_Core/Map/MapBase.cpp new file mode 100644 index 00000000..5a5ed636 --- /dev/null +++ b/src/00_Core/Map/MapBase.cpp @@ -0,0 +1,116 @@ +#include "Map/MapBase.hpp" +#include "Map/MapManager.hpp" + +#ifdef STUBS + +MapBase::~MapBase() {} +MapBase_Unk_180::~MapBase_Unk_180() {} +void MapBase::SetBounds(unk32 map, unk32 course) {} +MapManager_Unk2::~MapManager_Unk2() {} +void MapBase::GetMapFilePath(char *courseName, unk32 num1, unk32 buf) {} +void MapBase::vfunc_18() {} +void MapBase::func_ov00_0207ddf8(bool param_2) {} +void MapBase::func_ov00_0207de68(unk32 param_2) {} +void MapBase::func_ov00_0207de88() {} +void MapBase::func_ov00_0207dea0(bool param_2) {} +unk8 MapBase::vfunc_b0(unk32 param_2, unk32 param_3) {} +bool MapBase::func_ov00_0207e08c(unk32 param_2, unk32 param_3) {} +s32 MapBase::func_ov00_0207e0f0(unk32 param_2) {} +s32 MapBase::func_ov00_0207e28c(unk32 param_2) {} +void MapBase::vfunc_b4() {} +void MapBase::vfunc_48() {} +unk32 MapBase::vfunc_50() {} +unk32 MapBase::vfunc_54() {} +unk32 MapBase::vfunc_58() {} +unk32 MapBase::vfunc_5c() {} +unk32 MapBase::vfunc_60() {} +unk32 MapBase::vfunc_64() {} +unk8 MapBase::vfunc_68(unk32 param_2, unk32 param_3) {} +unk8 MapBase::func_ov00_0207e940(unk8 *param_1) {} +unk8 MapBase::func_ov00_0207e968() {} +unk8 MapBase::func_ov00_0207e96c() {} +unk8 MapBase::vfunc_6c(unk32 param_2, unk32 param_3, unk32 param_4) {} +unk32 MapBase::vfunc_70(Vec3p *param_2) {} +s32* MapBase::vfunc_74(Vec3p *param_2) {} +unk8 MapBase::func_ov00_0207f100() {} +bool MapBase::func_ov00_0207f104(unk32 param_2, unk32 param_3) {} +unk32 MapBase::func_ov00_0207f1f4(Vec3p *param_2, unk32 *param_3) {} +unk32 MapBase::vfunc_88() {} +unk32 MapBase::vfunc_8c() {} +void MapBase::vfunc_9c() {} +void MapBase::vfunc_a0() {} +unk32 MapBase::vfunc_a4() {} +void MapBase::vfunc_a8() {} +void MapBase::vfunc_ac() {} +unk32 MapBase::vfunc_78() {} +unk32 MapBase::vfunc_7c() {} +unk32 MapBase::vfunc_80() {} +void MapBase::vfunc_84(unk32 param_2) {} +unk8 MapBase::func_ov00_0207f38c(unk32 param_2) {} +unk8 MapBase::vfunc_90(unk32 param_2, unk32 param_3, unk32 param_4) {} +void MapBase::vfunc_94() {} +void MapBase::func_ov00_0207f4a4(Vec2s *param_2, unk32 param_3) {} +void MapBase::func_ov00_0207f53c(Vec2s *param_1, MapBase *param_2, Vec3p *param_3) {} +void MapBase::func_ov00_0207f588(Vec2s *param_1, MapBase *param_2, Vec2b *param_3, unk32 param_4) {} +void MapBase::func_ov00_0207f630(Vec2s *param_2, Vec3p *param_3) {} +unk8 MapBase::GetTileStartX(unk32 x) {} +unk8 MapBase::GetTileStartZ(unk32 z) {} +s32 MapBase::GetTileEndX(unk32 x) {} +s32 MapBase::GetTileEndZ(unk32 z) {} +void MapBase::GetTileBounds(Vec2b *tilePos, AABB *bounds) {} +unk8 MapBase::GetClampedTileX(unk32 worldX) {} +unk8 MapBase::GetClampedTileY(unk32 worldZ) {} +unk8 MapBase::GetTileX(unk32 worldX) {} +unk8 MapBase::GetTileY(unk32 worldZ) {} +bool MapBase::IsInBounds(Vec3p *tileWorldPos) {} +s32 MapBase::AddEntrance(Entrance *param_2) {} +unk8 MapBase::FindEntrance(unk32 id) {} +unk8 MapBase::func_ov00_0207f924(unk32 param_2) {} +unk8 MapBase::func_ov00_0207f934() {} +unk8 MapBase::func_ov00_0207f948(unk32 param_2) {} +void MapBase::AddTrigger(TriggerParams *param_2) {} +void TriggerBase::vfunc_08() {} +s32 MapBase::GetTriggerBoundingBox(unk32 param_2, AABB *param_3) {} +bool TriggerBase::GetBoundingBox() {} +unk8 MapBase::GetTriggerBoundingBoxes(unk32 param_2, AABB *param_3, unk32 param_4) {} +unk32 MapBase::GetOverlappingTrigger(Vec3p *param_2) {} +bool TriggerBase::Overlaps() {} +unk8 MapBase::FindTrigger(unk32 type) {} +unk8 MapBase::GetOverlappingTriggers(Vec3p *param_2, TriggerBase * *triggers, unk32 capacity) {} +bool MapBase::IsTriggerTypeOverlapped(unk32 type, Vec3p *param_3) {} +bool MapBase::AnyTrigger_func_0c(unk32 type) {} +unk32 TriggerBase::vfunc_0c() {} +unk8 MapBase::Trigger_vfunc_08() {} +bool MapBase::AddTrigger(unk32 param_2) {} +bool MapBase::func_ov00_0207ff88(unk32 param_2) {} +void MapBase::func_ov00_0208005c(s32 param_2, s32 param_3, unk32 param_4) {} +void MapBase::func_ov00_0208006c(unk32 param_2, s32 param_3) {} +void MapBase::func_ov00_0208007c(s32 param_2, s32 param_3) {} +void MapBase::func_ov00_0208008c(u32 param_2) {} +unk8 MapBase::AddExit(Exit *param_2) {} +unk8 MapBase::func_ov00_02080140(Exit *param_2) {} +void MapBase_Unk1::func_ov00_02080324(s32 param_2, s32 param_3, s32 param_4) {} +bool MapBase::FindExit(unk32 param_2, Exit *param_3) {} +unk8 MapBase::AddCameraViewpoint(CameraViewpoint *param_2) {} +bool MapBase::FindViewpoint_Unk_4(unk8 id, CameraViewpoint *param_3) {} +bool MapBase::FindViewpoint_Unk_0(unk32 param_2, CameraViewpoint *param_3) {} +void MapBase::GetCurrentViewpoint(CameraViewpoint *param_2, unk32 param_3) {} +unk8 MapBase::GetCurrentViewpoint_Unk_00(s32 param_2) {} +unk32 MapBase::vfunc_b8() {} +bool MapBase::func_ov00_02080824(unk32 param_2, unk32 param_3) {} +bool MapBase::AddUnk_130(unk32 param_2) {} +bool MapBase::func_ov00_020809b8(unk32 param_2) {} +unk8 MapBase::func_ov00_02080a78(Vec3p *param_2) {} +void MapBase_Unk2::func_ov00_02080ad0(TriggerBase * *param_2, TriggerBase * *param_3) {} +unk8 MapBase::func_ov00_02080b24(Vec2b *param_2) {} +void MapBase::func_ov00_02080d08(unk32 param_2) {} +void MapBase::vfunc_bc() {} +void MapBase::vfunc_98() {} +void MapBase::vfunc_c0() {} +bool MapBase::TriggerOfType_vfunc_10(unk32 type) {} +unk32 TriggerBase::vfunc_10() {} +void MapBase::func_ov00_02080de4() {} +unk8 MapBase::func_ov00_02080de8(unk32 param_2) {} +void MapBase::func_ov00_02080edc() {} + +#endif From 780b65b7a60007783fb20ee3fb27153877e00550 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 15:09:04 +0200 Subject: [PATCH 39/76] Update compiler flags in `mangle.py` --- tools/mangle.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/tools/mangle.py b/tools/mangle.py index 50bf9538..a9bfcadf 100644 --- a/tools/mangle.py +++ b/tools/mangle.py @@ -12,6 +12,9 @@ tools_dir = Path(os.path.dirname(os.path.realpath(__file__))) cc_path = tools_dir / 'mwccarm' / '2.0' / 'sp1p5' / 'mwccarm.exe' root_dir = tools_dir.parent include_dir = root_dir / 'include' +libs_dir = root_dir / 'libs' +libc_include_dir = libs_dir / 'c' / 'include' +libcpp_include_dir = libs_dir / 'cpp' / 'include' if platform.system() == 'Windows': cc = [str(cc_path)] else: cc = ['wine', str(cc_path)] @@ -19,13 +22,22 @@ else: cc = ['wine', str(cc_path)] args = parser.parse_args() cc.extend([ - '-nolink', - '-proc', 'arm946e', - '-interworking', + '-enum', 'int', '-char', 'signed', + '-proc', 'arm946e', + '-gccext,on', + '-fp', 'soft', + '-inline', 'on,noauto', + '-Cpp_exceptions', 'off', + '-RTTI', 'off', + '-interworking', + '-nolink', '-msgstyle', 'gcc', '-dis', - f'-I{include_dir}', + '-gccinc', + '-i', include_dir, + '-i', libc_include_dir, + '-i', libcpp_include_dir, '-DSTUBS', args.file ]) From eacc6617efc80c655f5617c9d39e65ddde2235e5 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 15:22:29 +0200 Subject: [PATCH 40/76] Delink `MapBase` --- asm/ov00/Map/MapBase.inc | 85 + asm/ov00/Map/MapBase.s | 4626 ++++++++++++++++++++++++++++++++++++ asm/ov00/ov00_0207afa0.s | 246 -- asm/ov00/ov00_0207da38.inc | 78 - asm/ov00/ov00_0207da38.s | 4373 ---------------------------------- asm/ov00/ov00_02086cd0.inc | 18 +- tools/lcf.py | 2 + 7 files changed, 4722 insertions(+), 4706 deletions(-) create mode 100644 asm/ov00/Map/MapBase.inc create mode 100644 asm/ov00/Map/MapBase.s diff --git a/asm/ov00/Map/MapBase.inc b/asm/ov00/Map/MapBase.inc new file mode 100644 index 00000000..0ad7fa37 --- /dev/null +++ b/asm/ov00/Map/MapBase.inc @@ -0,0 +1,85 @@ +#pragma once +.extern Divide +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN6Course13FindMapCenterEi +.extern _ZN9SysObjectdlEPv +.extern _ZN9SysObjectnwEmPjj +.extern data_027e0618 +.extern data_027e0ce0 +.extern data_027e0d38 +.extern data_027e0e58 +.extern data_027e0f64 +.extern data_027e0f68 +.extern data_027e0f6c +.extern data_027e0f78 +.extern data_027e0f88 +.extern data_027e0f8c +.extern data_ov00_020ecde4 +.extern data_ov00_020ee0a0 +.extern func_01ffe904 +.extern func_01fff084 +.extern func_01fff264 +.extern func_020078f4 +.extern func_0200c8d0 +.extern func_020196bc +.extern func_020196fc +.extern func_0201e24c +.extern func_0201e4cc +.extern func_02042f68 +.extern func_0204f614 +.extern func_0204f754 +.extern func_ov00_02078b40 +.extern func_ov00_02079e3c +.extern func_ov00_02080f20 +.extern func_ov00_02080f64 +.extern func_ov00_02080f94 +.extern func_ov00_02080ff8 +.extern func_ov00_02081040 +.extern func_ov00_02081070 +.extern func_ov00_020810b8 +.extern func_ov00_020810e8 +.extern func_ov00_02081130 +.extern func_ov00_02087dd8 +.extern func_ov00_0208b79c +.extern func_ov00_0208d820 +.extern func_ov00_0208ee00 +.extern func_ov00_02095554 +.extern func_ov00_0209564c +.extern func_ov00_0209581c +.extern func_ov00_02095d58 +.extern func_ov00_0209c08c +.extern func_ov00_0209c1e4 +.extern func_ov00_0209c2b4 +.extern func_ov00_0209c2d0 +.extern func_ov00_0209c530 +.extern func_ov00_0209c61c +.extern func_ov00_0209c788 +.extern func_ov00_0209c8e4 +.extern func_ov00_0209cc3c +.extern func_ov00_0209cc48 +.extern func_ov00_0209cd80 +.extern func_ov00_0209cd9c +.extern func_ov00_0209cddc +.extern func_ov00_0209cdf8 +.extern func_ov00_020a1a0c +.extern func_ov00_020a3de0 +.extern func_ov00_020a5e9c +.extern func_ov04_0210bfa8 +.extern func_ov04_0210c1f8 +.extern func_ov04_0210c3fc +.extern func_ov04_0210c52c +.extern func_ov04_0210c5cc +.extern func_ov04_0210c764 +.extern func_ov04_0210c800 +.extern func_ov04_0210c88c +.extern func_ov04_0210c8d4 +.extern func_ov04_0210ca84 +.extern func_ov04_0210cb00 +.extern func_ov04_0210cb1c +.extern func_ov04_0210dd90 +.extern func_ov05_02111bc0 +.extern func_ov05_02111c00 +.extern func_ov05_02111c6c +.extern func_ov05_02111c70 +.extern gMapManager +.extern strcmp diff --git a/asm/ov00/Map/MapBase.s b/asm/ov00/Map/MapBase.s new file mode 100644 index 00000000..9a1366c7 --- /dev/null +++ b/asm/ov00/Map/MapBase.s @@ -0,0 +1,4626 @@ + .include "ov00/Map/MapBase.inc" + .include "macros/function.inc" + + .text + .global _ZN7MapBaseD1Ev + arm_func_start _ZN7MapBaseD1Ev +_ZN7MapBaseD1Ev: ; 0x0207da38 + stmdb sp!, {r3, r4, r5, lr} + ldr r1, _0207db0c ; =data_ov00_020e2348 + mov r4, r0 + str r1, [r4] + ldr r1, [r0] + ldr r1, [r1, #0x2c] + blx r1 + ldr r5, [r4, #0x144] + cmp r5, #0 + beq _0207da7c + beq _0207da74 + mov r0, r5 + blx func_ov04_0210dd90 + mov r0, r5 + bl _ZN9SysObjectdlEPv +_0207da74: + mov r0, #0 + str r0, [r4, #0x144] +_0207da7c: + ldr r0, _0207db10 ; =data_ov00_020ec81c + ldr r0, [r0, #4] + cmp r0, #0 + beq _0207dac0 + ldr r1, [r0] + ldr r1, [r1, #0xc] + blx r1 + ldr r0, _0207db10 ; =data_ov00_020ec81c + ldr r0, [r0, #4] + cmp r0, #0 + beq _0207dab4 + ldr r1, [r0] + ldr r1, [r1, #4] + blx r1 +_0207dab4: + ldr r0, _0207db10 ; =data_ov00_020ec81c + mov r1, #0 + str r1, [r0, #4] +_0207dac0: + mov r0, r4 + blx func_ov04_0210cb1c + ldr r3, _0207db14 ; =_ZN15MapBase_Unk_180D1Ev + add r0, r4, #0x180 + mov r1, #2 + mov r2, #4 + bl func_0204f754 + add r0, r4, #0x130 + bl func_ov00_02080f20 + add r0, r4, #0x124 + bl func_ov00_020810e8 + add r0, r4, #0x118 + bl func_ov00_02081070 + add r0, r4, #0x10c + bl func_ov00_02080f20 + add r0, r4, #0x100 + bl func_ov00_02080ff8 + mov r0, r4 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end _ZN7MapBaseD1Ev +_0207db0c: .word data_ov00_020e2348 +_0207db10: .word data_ov00_020ec81c +_0207db14: .word _ZN15MapBase_Unk_180D1Ev + + .global _ZN15MapBase_Unk_180D1Ev + arm_func_start _ZN15MapBase_Unk_180D1Ev +_ZN15MapBase_Unk_180D1Ev: ; 0x0207db18 + bx lr + arm_func_end _ZN15MapBase_Unk_180D1Ev + + .global _ZN7MapBaseD0Ev + arm_func_start _ZN7MapBaseD0Ev +_ZN7MapBaseD0Ev: ; 0x0207db1c + stmdb sp!, {r3, r4, r5, lr} + ldr r1, _0207dbf8 ; =data_ov00_020e2348 + mov r4, r0 + str r1, [r4] + ldr r1, [r0] + ldr r1, [r1, #0x2c] + blx r1 + ldr r5, [r4, #0x144] + cmp r5, #0 + beq _0207db60 + beq _0207db58 + mov r0, r5 + blx func_ov04_0210dd90 + mov r0, r5 + bl _ZN9SysObjectdlEPv +_0207db58: + mov r0, #0 + str r0, [r4, #0x144] +_0207db60: + ldr r0, _0207dbfc ; =data_ov00_020ec81c + ldr r0, [r0, #4] + cmp r0, #0 + beq _0207dba4 + ldr r1, [r0] + ldr r1, [r1, #0xc] + blx r1 + ldr r0, _0207dbfc ; =data_ov00_020ec81c + ldr r0, [r0, #4] + cmp r0, #0 + beq _0207db98 + ldr r1, [r0] + ldr r1, [r1, #4] + blx r1 +_0207db98: + ldr r0, _0207dbfc ; =data_ov00_020ec81c + mov r1, #0 + str r1, [r0, #4] +_0207dba4: + mov r0, r4 + blx func_ov04_0210cb1c + ldr r3, _0207dc00 ; =_ZN15MapBase_Unk_180D1Ev + add r0, r4, #0x180 + mov r1, #2 + mov r2, #4 + bl func_0204f754 + add r0, r4, #0x130 + bl func_ov00_02080f20 + add r0, r4, #0x124 + bl func_ov00_020810e8 + add r0, r4, #0x118 + bl func_ov00_02081070 + add r0, r4, #0x10c + bl func_ov00_02080f20 + add r0, r4, #0x100 + bl func_ov00_02080ff8 + mov r0, r4 + bl _ZN9SysObjectdlEPv + mov r0, r4 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end _ZN7MapBaseD0Ev +_0207dbf8: .word data_ov00_020e2348 +_0207dbfc: .word data_ov00_020ec81c +_0207dc00: .word _ZN15MapBase_Unk_180D1Ev + + .global _ZN7MapBaseD2Ev + arm_func_start _ZN7MapBaseD2Ev +_ZN7MapBaseD2Ev: ; 0x0207dc04 + stmdb sp!, {r3, r4, r5, lr} + ldr r1, _0207dcd8 ; =data_ov00_020e2348 + mov r4, r0 + str r1, [r4] + ldr r1, [r0] + ldr r1, [r1, #0x2c] + blx r1 + ldr r5, [r4, #0x144] + cmp r5, #0 + beq _0207dc48 + beq _0207dc40 + mov r0, r5 + blx func_ov04_0210dd90 + mov r0, r5 + bl _ZN9SysObjectdlEPv +_0207dc40: + mov r0, #0 + str r0, [r4, #0x144] +_0207dc48: + ldr r0, _0207dcdc ; =data_ov00_020ec81c + ldr r0, [r0, #4] + cmp r0, #0 + beq _0207dc8c + ldr r1, [r0] + ldr r1, [r1, #0xc] + blx r1 + ldr r0, _0207dcdc ; =data_ov00_020ec81c + ldr r0, [r0, #4] + cmp r0, #0 + beq _0207dc80 + ldr r1, [r0] + ldr r1, [r1, #4] + blx r1 +_0207dc80: + ldr r0, _0207dcdc ; =data_ov00_020ec81c + mov r1, #0 + str r1, [r0, #4] +_0207dc8c: + mov r0, r4 + blx func_ov04_0210cb1c + ldr r3, _0207dce0 ; =_ZN15MapBase_Unk_180D1Ev + add r0, r4, #0x180 + mov r1, #2 + mov r2, #4 + bl func_0204f754 + add r0, r4, #0x130 + bl func_ov00_02080f20 + add r0, r4, #0x124 + bl func_ov00_020810e8 + add r0, r4, #0x118 + bl func_ov00_02081070 + add r0, r4, #0x10c + bl func_ov00_02080f20 + add r0, r4, #0x100 + bl func_ov00_02080ff8 + mov r0, r4 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end _ZN7MapBaseD2Ev +_0207dcd8: .word data_ov00_020e2348 +_0207dcdc: .word data_ov00_020ec81c +_0207dce0: .word _ZN15MapBase_Unk_180D1Ev + + .global _ZN7MapBase9SetBoundsEii + arm_func_start _ZN7MapBase9SetBoundsEii +_ZN7MapBase9SetBoundsEii: ; 0x0207dce4 + stmdb sp!, {r4, r5, lr} + sub sp, sp, #0x2c + mov r4, r0 + ldrh r5, [r4, #0x28] + ldrh r3, [r4, #0x2a] + mov r0, r2 + mov r5, r5, lsl #0xc + mov r2, r3, lsl #0xc + str r5, [sp] + str r2, [sp, #4] + bl _ZN6Course13FindMapCenterEi + mov ip, r5 + add r5, sp, #0x20 + ldmia r0, {r0, r1, r2} + stmia r5, {r0, r1, r2} + ldr r1, [sp, #0x20] + ldr r3, [sp, #4] + ldr r2, [sp, #0x28] + ldr r0, [sp, #0x24] + sub r1, r1, ip, asr #1 + str r1, [r4, #0xdc] + str r0, [r4, #0xe0] + sub r1, r2, r3, asr #1 + str r1, [r4, #0xe4] + ldr r1, [sp, #0x20] + mov r5, r3, asr #0x1 + str r1, [r4, #0xd0] + ldr r1, [sp, #0x24] + add r3, r2, r3, asr #1 + str r1, [r4, #0xd4] + ldr r1, [sp, #0x28] + mov lr, ip, asr #0x1 + str r1, [r4, #0xd8] + ldr r2, [sp, #0x20] + rsb r1, lr, #0 + add r2, r2, ip, asr #1 + str r2, [r4, #0xe8] + str r0, [r4, #0xec] + str r3, [r4, #0xf0] + str r1, [r4, #0xf4] + mov r0, #0 + str r0, [r4, #0xf8] + rsb r0, r5, #0 + str r0, [r4, #0xfc] + add sp, sp, #0x2c + ldmia sp!, {r4, r5, pc} + arm_func_end _ZN7MapBase9SetBoundsEii + + .global _ZN15MapManager_Unk2D1Ev + arm_func_start _ZN15MapManager_Unk2D1Ev +_ZN15MapManager_Unk2D1Ev: ; 0x0207dd9c + bx lr + arm_func_end _ZN15MapManager_Unk2D1Ev + + .global _ZN7MapBase14GetMapFilePathEPcii + arm_func_start _ZN7MapBase14GetMapFilePathEPcii +_ZN7MapBase14GetMapFilePathEPcii: ; 0x0207dda0 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #4 + ldr ip, _0207ddec ; =0x66666667 + mov r6, r1 + smull r0, r5, ip, r2 + mov r0, r3 + smull r1, r3, ip, r2 + mov r4, r2, lsr #0x1f + add r5, r4, r5, asr #2 + mov lr, #0xa + smull r1, ip, lr, r5 + sub r5, r2, r1 + ldr r1, _0207ddf0 ; =data_ov00_020e2410 + mov r2, r6 + add r3, r4, r3, asr #2 + str r5, [sp] + bl func_0200c8d0 + add sp, sp, #4 + ldmia sp!, {r3, r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN7MapBase14GetMapFilePathEPcii +_0207ddec: .word 0x66666667 +_0207ddf0: .word data_ov00_020e2410 + + .global _ZN7MapBase8vfunc_18Ev + arm_func_start _ZN7MapBase8vfunc_18Ev +_ZN7MapBase8vfunc_18Ev: ; 0x0207ddf4 + bx lr + arm_func_end _ZN7MapBase8vfunc_18Ev + + .global _ZN7MapBase18func_ov00_0207ddf8Eb + arm_func_start _ZN7MapBase18func_ov00_0207ddf8Eb +_ZN7MapBase18func_ov00_0207ddf8Eb: ; 0x0207ddf8 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} + mov r7, #0 + mov r10, r0 + mov r9, r1 + add r8, r10, #0x180 + mvn r5, #0 + mov r6, r7 + mov r4, r7 + mov r11, #4 +_0207de1c: + cmp r9, #0 + beq _0207de44 + mov r2, r6 + add r1, r10, r7, lsl #2 +_0207de2c: + add r0, r1, r2, lsl #2 + add r2, r2, #1 + str r5, [r0, #0x180] + cmp r2, #1 + blo _0207de2c + b _0207de54 +_0207de44: + mov r0, r4 + mov r1, r8 + mov r2, r11 + bl func_020078f4 +_0207de54: + add r7, r7, #1 + cmp r7, #2 + add r8, r8, #4 + blt _0207de1c + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} + arm_func_end _ZN7MapBase18func_ov00_0207ddf8Eb + + .global _ZN7MapBase18func_ov00_0207de68Ei + arm_func_start _ZN7MapBase18func_ov00_0207de68Ei +_ZN7MapBase18func_ov00_0207de68Ei: ; 0x0207de68 + stmdb sp!, {r3, lr} + ldr r0, [r0, #0x144] + mov r2, r1 + cmp r0, #0 + ldmeqia sp!, {r3, pc} + mov r1, #0 + bl func_ov00_0209c08c + ldmia sp!, {r3, pc} + arm_func_end _ZN7MapBase18func_ov00_0207de68Ei + + .global _ZN7MapBase18func_ov00_0207de88Ev + arm_func_start _ZN7MapBase18func_ov00_0207de88Ev +_ZN7MapBase18func_ov00_0207de88Ev: ; 0x0207de88 + stmdb sp!, {r3, lr} + ldr r0, [r0, #0x144] + cmp r0, #0 + ldmeqia sp!, {r3, pc} + bl func_ov00_0209c61c + ldmia sp!, {r3, pc} + arm_func_end _ZN7MapBase18func_ov00_0207de88Ev + + .global _ZN7MapBase18func_ov00_0207dea0Eb + arm_func_start _ZN7MapBase18func_ov00_0207dea0Eb +_ZN7MapBase18func_ov00_0207dea0Eb: ; 0x0207dea0 + stmdb sp!, {r4, r5, r6, lr} + sub sp, sp, #0x10 + mov r5, r0 + ldr r2, _0207e044 ; =data_027e0f78 + ldr r0, [r5, #0x144] + mov r4, r1 + ldr r6, [r2] + bl func_ov00_0209c530 + ldrh r2, [r0, #4] + mov r0, r6 + mov r1, #0 + bl func_ov00_0209cc3c + ldr r1, _0207e044 ; =data_027e0f78 + ldr r0, [r5, #0x144] + ldr r6, [r1] + bl func_ov00_0209c530 + mov r1, r0 + ldrh r2, [r1, #6] + mov r0, r6 + mov r1, #1 + bl func_ov00_0209cc3c + ldr r1, _0207e044 ; =data_027e0f78 + ldr r0, [r5, #0x144] + ldr r6, [r1] + bl func_ov00_0209c530 + mov r1, r0 + ldrh r2, [r1, #8] + mov r0, r6 + mov r1, #2 + bl func_ov00_0209cc3c + ldr r1, _0207e044 ; =data_027e0f78 + ldr r0, [r5, #0x144] + ldr r6, [r1] + bl func_ov00_0209c530 + mov r1, r0 + ldrh r2, [r1, #0xa] + mov r0, r6 + mov r1, #3 + bl func_ov00_0209cc3c + ldr r0, _0207e044 ; =data_027e0f78 + ldr r0, [r0] + bl func_ov00_0209cc48 + ldr r1, _0207e048 ; =data_027e0f88 + ldr r0, [r5, #0x144] + ldr r6, [r1] + bl func_ov00_0209c530 + mov r1, r0 + ldrh r2, [r1, #0xc] + mov r0, r6 + mov r1, #0 + bl func_ov00_020a1a0c + cmp r4, #0 + beq _0207dff0 + ldr r0, [r5, #0x144] + ldr r1, _0207e04c ; =data_ov00_020ecde4 + ldr r2, [r0, #0xc] + mov r0, #0x68 + mla r0, r2, r0, r1 + add r0, r0, #0x54 + add r4, sp, #0 + ldmia r0, {r0, r1, r2, r3} + stmia r4, {r0, r1, r2, r3} + ldr r0, [sp] + cmp r0, #1 + blt _0207dfb4 + ldr r0, _0207e050 ; =data_ov00_020ee0a0 + mov r1, #1 + bl func_ov00_0209cd80 + b _0207dfc0 +_0207dfb4: + ldr r0, _0207e050 ; =data_ov00_020ee0a0 + mov r1, #0 + bl func_ov00_0209cd80 +_0207dfc0: + ldr r0, [r5, #0x144] + bl func_ov00_0209c530 + ldrh r1, [r0, #0xe] + ldr r2, [sp, #0xc] + ldr r0, _0207e050 ; =data_ov00_020ee0a0 + bl func_ov00_0209cd9c + ldr r1, [sp, #4] + ldr r0, _0207e050 ; =data_ov00_020ee0a0 + bl func_ov00_0209cddc + ldr r1, [sp, #8] + ldr r0, _0207e050 ; =data_ov00_020ee0a0 + bl func_ov00_0209cdf8 +_0207dff0: + ldr r0, _0207e054 ; =data_027e0d38 + ldr r0, [r0] + bl func_ov00_02078b40 + cmp r0, #2 + bne _0207e01c + ldr r0, [r5, #0x144] + bl func_ov00_0209c530 + ldr r1, _0207e058 ; =data_027e0e58 + ldrh r2, [r0, #0x10] + ldr r0, [r1] + strh r2, [r0, #0x22] +_0207e01c: + ldr r0, [r5, #0x144] + bl func_ov00_0209c530 + mov r1, r0 + ldr r0, _0207e05c ; =data_027e0f8c + add r1, r1, #0x12 + bl func_ov00_020a3de0 + ldr r0, [r5, #0x144] + bl func_ov00_0209c788 + add sp, sp, #0x10 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN7MapBase18func_ov00_0207dea0Eb +_0207e044: .word data_027e0f78 +_0207e048: .word data_027e0f88 +_0207e04c: .word data_ov00_020ecde4 +_0207e050: .word data_ov00_020ee0a0 +_0207e054: .word data_027e0d38 +_0207e058: .word data_027e0e58 +_0207e05c: .word data_027e0f8c + + .global _ZN7MapBase8vfunc_b0Eii + arm_func_start _ZN7MapBase8vfunc_b0Eii +_ZN7MapBase8vfunc_b0Eii: ; 0x0207e060 + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r0, [r5, #0x13c] + mov r4, r2 + cmp r0, #0 + ldmeqia sp!, {r3, r4, r5, pc} + bl func_020196fc + ldr r0, [r5, #0x13c] + mov r1, r4 + bl func_020196bc + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN7MapBase8vfunc_b0Eii + + .global _ZN7MapBase18func_ov00_0207e08cEii + arm_func_start _ZN7MapBase18func_ov00_0207e08cEii +_ZN7MapBase18func_ov00_0207e08cEii: ; 0x0207e08c + stmdb sp!, {r3, lr} + ldr r3, [r0, #0x13c] + cmp r3, #0 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + ldr r0, [r3, #8] + adds lr, r3, r0 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + ldrh r0, [lr, #0xa] + add ip, lr, #4 + cmp lr, #0 + ldrh r3, [ip, r0] + add r0, ip, r0 + mla r0, r3, r2, r0 + ldr r0, [r0, #4] + add r3, lr, r0 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + ldr r2, [r3, #0x14] + mov r0, #1 + str r2, [r1] + ldrh r2, [r3, #0x1c] + strh r2, [r1, #4] + ldmia sp!, {r3, pc} + arm_func_end _ZN7MapBase18func_ov00_0207e08cEii + + .global _ZN7MapBase18func_ov00_0207e0f0Ei + arm_func_start _ZN7MapBase18func_ov00_0207e0f0Ei +_ZN7MapBase18func_ov00_0207e0f0Ei: ; 0x0207e0f0 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x14 + mov r10, r0 + ldr r2, [r10, #0x13c] + str r1, [sp] + cmp r2, #0 + addeq sp, sp, #0x14 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldr r0, [r2, #8] + adds r0, r2, r0 + str r0, [sp, #4] + addeq sp, sp, #0x14 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldrh r1, [r0] + adds r0, r0, r1 + str r0, [sp, #0xc] + addeq sp, sp, #0x14 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldrb r1, [r0, #1] + mov r0, #0 + str r0, [sp, #8] + cmp r1, #0 + bls _0207e280 + mov r7, r0 +_0207e15c: + ldr r0, [sp, #0xc] + ldr r1, [sp, #0xc] + ldrh r3, [r0, #6] + mov r0, r10 + ldr r2, [r0] + add r3, r1, r3 + ldrh r1, [r3, #2] + ldr r2, [r2, #0xb4] + add r4, r3, r1 + blx r2 + add r0, r0, #0x3c + add r1, r4, r7 + bl func_0201e24c + cmp r0, #0 + beq _0207e260 + ldr r0, [sp, #0xc] + mov r5, #0 + ldrh r2, [r0, #6] + ldrh r1, [r0, r2] + add r0, r0, r2 + add r2, r0, #4 + ldr r0, [sp, #8] + mul r0, r1, r0 + add r11, r2, r0 + ldrb r1, [r11, #2] + ldrh r0, [r2, r0] + cmp r1, #0 + str r0, [sp, #0x10] + ble _0207e260 +_0207e1d0: + ldr r1, [sp, #4] + ldr r0, [sp, #0x10] + ldrb r0, [r1, r0] + add r1, r0, r5 + ldr r0, [sp] + cmp r0, r1 + bne _0207e250 + mov r0, r10 + ldr r1, [r0] + ldr r1, [r1, #0xb4] + blx r1 + add r1, r0, #0x3c + ldrb r9, [r1, #1] + mov r6, #0 + cmp r9, #0 + ble _0207e250 + ldrh r0, [r1, #6] + add r8, r1, r0 +_0207e218: + ldrh r0, [r8, #2] + add r1, r4, r7 + add r0, r8, r0 + add r0, r0, r6, lsl #4 + bl strcmp + cmp r0, #0 + addeq sp, sp, #0x14 + moveq r0, r6 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + add r0, r6, #1 + mov r0, r0, lsl #0x10 + cmp r9, r0, lsr #16 + mov r6, r0, lsr #0x10 + bgt _0207e218 +_0207e250: + ldrb r0, [r11, #2] + add r5, r5, #1 + cmp r5, r0 + blt _0207e1d0 +_0207e260: + ldr r0, [sp, #0xc] + add r7, r7, #0x10 + ldrb r1, [r0, #1] + ldr r0, [sp, #8] + add r0, r0, #1 + str r0, [sp, #8] + cmp r0, r1 + blo _0207e15c +_0207e280: + mvn r0, #0 + add sp, sp, #0x14 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + arm_func_end _ZN7MapBase18func_ov00_0207e0f0Ei + + .global _ZN7MapBase18func_ov00_0207e28cEi + arm_func_start _ZN7MapBase18func_ov00_0207e28cEi +_ZN7MapBase18func_ov00_0207e28cEi: ; 0x0207e28c + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x14 + mov r10, r0 + ldr r2, [r10, #0x13c] + str r1, [sp] + cmp r2, #0 + addeq sp, sp, #0x14 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldr r0, [r2, #8] + adds r0, r2, r0 + str r0, [sp, #4] + addeq sp, sp, #0x14 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldrh r1, [r0, #2] + adds r0, r0, r1 + str r0, [sp, #0xc] + addeq sp, sp, #0x14 + mvneq r0, #0 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldrb r1, [r0, #1] + mov r0, #0 + str r0, [sp, #8] + cmp r1, #0 + bls _0207e438 + mov r7, r0 +_0207e2f8: + ldr r0, [sp, #0xc] + ldr r1, [sp, #0xc] + ldrh r3, [r0, #6] + mov r0, r10 + ldr r2, [r0] + add r3, r1, r3 + ldrh r1, [r3, #2] + ldr r2, [r2, #0xb4] + add r4, r3, r1 + blx r2 + ldrh r2, [r0, #0x34] + add r1, r4, r7 + add r0, r0, r2 + bl func_0201e24c + cmp r0, #0 + beq _0207e418 + ldr r0, [sp, #0xc] + mov r5, #0 + ldrh r2, [r0, #6] + ldrh r1, [r0, r2] + add r0, r0, r2 + add r2, r0, #4 + ldr r0, [sp, #8] + mul r0, r1, r0 + add r11, r2, r0 + ldrb r1, [r11, #2] + ldrh r0, [r2, r0] + cmp r1, #0 + str r0, [sp, #0x10] + ble _0207e418 +_0207e370: + ldr r1, [sp, #4] + ldr r0, [sp, #0x10] + ldrb r0, [r1, r0] + add r1, r0, r5 + ldr r0, [sp] + cmp r0, r1 + bne _0207e408 + mov r0, r10 + ldr r1, [r0] + ldr r1, [r1, #0xb4] + blx r1 + mov r8, r0 + mov r0, r10 + ldr r1, [r0] + ldr r1, [r1, #0xb4] + blx r1 + ldrh r0, [r0, #0x34] + mov r6, #0 + add r1, r8, r0 + ldrb r9, [r1, #1] + cmp r9, #0 + ble _0207e408 + ldrh r0, [r1, #6] + add r8, r1, r0 +_0207e3d0: + ldrh r0, [r8, #2] + add r1, r4, r7 + add r0, r8, r0 + add r0, r0, r6, lsl #4 + bl strcmp + cmp r0, #0 + addeq sp, sp, #0x14 + moveq r0, r6 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + add r0, r6, #1 + mov r0, r0, lsl #0x10 + cmp r9, r0, lsr #16 + mov r6, r0, lsr #0x10 + bgt _0207e3d0 +_0207e408: + ldrb r0, [r11, #2] + add r5, r5, #1 + cmp r5, r0 + blt _0207e370 +_0207e418: + ldr r0, [sp, #0xc] + add r7, r7, #0x10 + ldrb r1, [r0, #1] + ldr r0, [sp, #8] + add r0, r0, #1 + str r0, [sp, #8] + cmp r0, r1 + blo _0207e2f8 +_0207e438: + mvn r0, #0 + add sp, sp, #0x14 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + arm_func_end _ZN7MapBase18func_ov00_0207e28cEi + + .global _ZN7MapBase8vfunc_b4Ev + arm_func_start _ZN7MapBase8vfunc_b4Ev +_ZN7MapBase8vfunc_b4Ev: ; 0x0207e444 + stmdb sp!, {r3, lr} + ldr r0, _0207e468 ; =data_ov00_020ec81c + ldr r0, [r0, #4] + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + ldr r0, [r0, #8] + bl func_0201e4cc + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end _ZN7MapBase8vfunc_b4Ev +_0207e468: .word data_ov00_020ec81c + + .global _ZN7MapBase8vfunc_48Ev + arm_func_start _ZN7MapBase8vfunc_48Ev +_ZN7MapBase8vfunc_48Ev: ; 0x0207e46c + stmdb sp!, {r4, lr} + mov r4, r0 + bl _ZN7MapBase16Trigger_vfunc_08Ev + ldr r0, [r4, #0x144] + mov r1, #0 + bl func_ov00_0209c8e4 + ldmia sp!, {r4, pc} + arm_func_end _ZN7MapBase8vfunc_48Ev + + .global _ZN7MapBase8vfunc_50Ev + arm_func_start _ZN7MapBase8vfunc_50Ev +_ZN7MapBase8vfunc_50Ev: ; 0x0207e488 + mov r0, #0 + bx lr + arm_func_end _ZN7MapBase8vfunc_50Ev + + .global _ZN7MapBase8vfunc_54Ev + arm_func_start _ZN7MapBase8vfunc_54Ev +_ZN7MapBase8vfunc_54Ev: ; 0x0207e490 + mov r0, #0 + bx lr + arm_func_end _ZN7MapBase8vfunc_54Ev + + .global _ZN7MapBase8vfunc_58Ev + arm_func_start _ZN7MapBase8vfunc_58Ev +_ZN7MapBase8vfunc_58Ev: ; 0x0207e498 + mov r0, #0 + bx lr + arm_func_end _ZN7MapBase8vfunc_58Ev + + .global _ZN7MapBase8vfunc_5cEv + arm_func_start _ZN7MapBase8vfunc_5cEv +_ZN7MapBase8vfunc_5cEv: ; 0x0207e4a0 + mov r0, #0 + bx lr + arm_func_end _ZN7MapBase8vfunc_5cEv + + .global _ZN7MapBase8vfunc_60Ev + arm_func_start _ZN7MapBase8vfunc_60Ev +_ZN7MapBase8vfunc_60Ev: ; 0x0207e4a8 + mov r0, #0 + bx lr + arm_func_end _ZN7MapBase8vfunc_60Ev + + .global _ZN7MapBase8vfunc_64Ev + arm_func_start _ZN7MapBase8vfunc_64Ev +_ZN7MapBase8vfunc_64Ev: ; 0x0207e4b0 + mov r0, #0 + bx lr + arm_func_end _ZN7MapBase8vfunc_64Ev + + .global _ZN7MapBase8vfunc_68Eii + arm_func_start _ZN7MapBase8vfunc_68Eii +_ZN7MapBase8vfunc_68Eii: ; 0x0207e4b8 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x7c + ldr r3, _0207e92c ; =gMapManager + mov r9, r1 + ldr r1, [r3] + mov r8, r0 + mov r4, r2 + add r0, sp, #8 + mov r2, r9 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + mov r0, r8 + ldr r2, [r0] + add r1, sp, #8 + ldr r2, [r2, #0x54] + blx r2 + cmp r0, #0x1e + bgt _0207e570 + bge _0207e724 + cmp r0, #0x17 + bgt _0207e554 + bge _0207e724 + cmp r0, #9 + bgt _0207e548 + cmp r0, #0 + addge pc, pc, r0, lsl #2 + b _0207e63c +_0207e520: ; jump table + b _0207e63c ; case 0 + b _0207e724 ; case 1 + b _0207e724 ; case 2 + b _0207e724 ; case 3 + b _0207e724 ; case 4 + b _0207e63c ; case 5 + b _0207e63c ; case 6 + b _0207e63c ; case 7 + b _0207e724 ; case 8 + b _0207e724 ; case 9 +_0207e548: + cmp r0, #0x16 + beq _0207e724 + b _0207e63c +_0207e554: + cmp r0, #0x19 + bgt _0207e564 + beq _0207e724 + b _0207e63c +_0207e564: + cmp r0, #0x1d + beq _0207e724 + b _0207e63c +_0207e570: + cmp r0, #0x35 + bgt _0207e5c8 + bge _0207e5e4 + cmp r0, #0x29 + bgt _0207e5bc + subs r1, r0, #0x1f + addpl pc, pc, r1, lsl #2 + b _0207e63c +_0207e590: ; jump table + b _0207e724 ; case 0 + b _0207e63c ; case 1 + b _0207e63c ; case 2 + b _0207e63c ; case 3 + b _0207e63c ; case 4 + b _0207e63c ; case 5 + b _0207e63c ; case 6 + b _0207e63c ; case 7 + b _0207e724 ; case 8 + b _0207e724 ; case 9 + b _0207e724 ; case 10 +_0207e5bc: + cmp r0, #0x30 + beq _0207e724 + b _0207e63c +_0207e5c8: + cmp r0, #0x40 + bgt _0207e5d8 + beq _0207e724 + b _0207e63c +_0207e5d8: + cmp r0, #0x50 + beq _0207e724 + b _0207e63c +_0207e5e4: + cmp r4, #0 + beq _0207e724 + add r2, sp, #0x14 + mov r0, r8 + mov r1, r9 + bl _ZN7MapBase18func_ov00_0207f104Eii + cmp r0, #0 + ldrne r0, [sp, #0x14] + addne sp, sp, #0x7c + ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + add r2, sp, #0x14 + mov r0, r8 + mov r1, r9 + bl _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi + cmp r0, #0 + beq _0207e724 + ldr r0, [sp, #0x14] + ldr r1, [r9, #4] + cmp r1, r0 + blt _0207e724 + add sp, sp, #0x7c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0207e63c: + ldrb r0, [r8, #0xe] + cmp r0, #0 + bne _0207e724 + cmp r4, #0 + bne _0207e694 + mov r0, r8 + ldr r3, [r0] + add r1, sp, #8 + ldr r3, [r3, #0x58] + mov r2, #5 + blx r3 + cmp r0, #0 + ldreqb r0, [r8, #8] + cmpeq r0, #0 + bne _0207e724 + mov r0, r8 + ldr r2, [r0] + add r1, sp, #8 + ldr r2, [r2, #0x60] + blx r2 + add sp, sp, #0x7c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0207e694: + add r2, sp, #0x10 + mov r0, r8 + mov r1, r9 + bl _ZN7MapBase18func_ov00_0207f104Eii + cmp r0, #0 + ldrne r0, [sp, #0x10] + addne sp, sp, #0x7c + ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + add r2, sp, #0x10 + mov r0, r8 + mov r1, r9 + bl _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi + cmp r0, #0 + beq _0207e6e0 + ldr r0, [sp, #0x10] + ldr r1, [r9, #4] + cmp r1, r0 + addge sp, sp, #0x7c + ldmgeia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0207e6e0: + mov r0, r8 + ldr r3, [r0] + add r1, sp, #8 + ldr r3, [r3, #0x58] + mov r2, #5 + blx r3 + cmp r0, #0 + ldreqb r0, [r8, #8] + cmpeq r0, #0 + bne _0207e724 + mov r0, r8 + ldr r2, [r0] + add r1, sp, #8 + ldr r2, [r2, #0x60] + blx r2 + add sp, sp, #0x7c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0207e724: + mov r0, #0x20 + str r0, [sp] + mov r1, #0 + str r1, [sp, #4] + ldr r0, _0207e930 ; =data_027e0f6c + ldr r3, _0207e934 ; =data_ov00_020ec824 + ldr r0, [r0] + mov r1, r9 + mov r2, #2 + bl func_01fff084 + ldr r4, _0207e938 ; =_ZN7MapBase18func_ov00_0207e968Ev + mov r5, r0 + ldr r3, _0207e93c ; =_ZN7MapBase18func_ov00_0207e96cEv + add r0, sp, #0x48 + mov r1, #3 + mov r2, #0x10 + str r4, [sp] + mov r6, #0x2000 + bl func_0204f614 + mov r7, #0 + sub r0, r7, #0x10000 + add r4, sp, #0x18 + str r7, [sp, #0x24] + str r7, [sp, #0x2c] + str r0, [sp, #0x28] + ldmia r9, {r0, r1, r2} + stmia r4, {r0, r1, r2} + cmp r5, #0 + ble _0207e8a0 + ldr r10, _0207e934 ; =data_ov00_020ec824 + ldr r9, _0207e930 ; =data_027e0f6c + mov r11, #0x4c +_0207e7a4: + mov r0, r7, lsl #0x1 + ldrh r1, [r10, r0] + ldr r2, [r9] + add r0, sp, #0x30 + ldr r3, [r2, #0x20] + mul r2, r1, r11 + add ip, r3, r2 + ldrh lr, [r3, r2] + ldrh r3, [ip, #2] + mov r1, r4 + add r2, sp, #0x24 + strh r3, [sp, #0x32] + strh lr, [sp, #0x30] + ldrh lr, [ip, #4] + add r3, sp, #0xc + strh lr, [sp, #0x34] + ldrh lr, [ip, #6] + strh lr, [sp, #0x36] + ldr lr, [ip, #8] + str lr, [sp, #0x38] + ldr lr, [ip, #0xc] + str lr, [sp, #0x3c] + ldr lr, [ip, #0x10] + str lr, [sp, #0x40] + ldr lr, [ip, #0x14] + str lr, [sp, #0x44] + ldr lr, [ip, #0x18] + str lr, [sp, #0x48] + ldr lr, [ip, #0x1c] + str lr, [sp, #0x4c] + ldr lr, [ip, #0x20] + str lr, [sp, #0x50] + ldr lr, [ip, #0x24] + str lr, [sp, #0x54] + ldr lr, [ip, #0x28] + str lr, [sp, #0x58] + ldr lr, [ip, #0x2c] + str lr, [sp, #0x5c] + ldr lr, [ip, #0x30] + str lr, [sp, #0x60] + ldr lr, [ip, #0x34] + str lr, [sp, #0x64] + ldr lr, [ip, #0x38] + str lr, [sp, #0x68] + ldr lr, [ip, #0x3c] + str lr, [sp, #0x6c] + ldr lr, [ip, #0x40] + str lr, [sp, #0x70] + ldr lr, [ip, #0x44] + str lr, [sp, #0x74] + ldr ip, [ip, #0x48] + str ip, [sp, #0x78] + bl func_01ffe904 + cmp r0, #0 + beq _0207e88c + ldr r0, [sp, #0xc] + cmp r0, r6 + movlt r6, r0 +_0207e88c: + add r0, r7, #1 + mov r0, r0, lsl #0x10 + cmp r5, r0, lsr #16 + mov r7, r0, lsr #0x10 + bgt _0207e7a4 +_0207e8a0: + cmp r6, #0x1000 + bgt _0207e8f4 + mvn r1, #0 + mov r0, r1, lsl #0x10 + umull r3, r2, r6, r0 + mla r2, r6, r1, r2 + mov r1, r6, asr #0x1f + mla r2, r1, r0, r2 + adds r3, r3, #0x800 + adc r1, r2, #0 + mov r4, r3, lsr #0xc + orr r4, r4, r1, lsl #20 + ldr r3, _0207e938 ; =_ZN7MapBase18func_ov00_0207e968Ev + ldr r5, [sp, #0x1c] + add r0, sp, #0x48 + mov r1, #3 + mov r2, #0x10 + bl func_0204f754 + add sp, sp, #0x7c + add r0, r5, r4 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0207e8f4: + mov r0, r8 + ldr r2, [r0] + add r1, sp, #8 + ldr r2, [r2, #0x60] + blx r2 + mov r4, r0 + ldr r3, _0207e938 ; =_ZN7MapBase18func_ov00_0207e968Ev + add r0, sp, #0x48 + mov r1, #3 + mov r2, #0x10 + bl func_0204f754 + mov r0, r4 + add sp, sp, #0x7c + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end _ZN7MapBase8vfunc_68Eii +_0207e92c: .word gMapManager +_0207e930: .word data_027e0f6c +_0207e934: .word data_ov00_020ec824 +_0207e938: .word _ZN7MapBase18func_ov00_0207e968Ev +_0207e93c: .word _ZN7MapBase18func_ov00_0207e96cEv + + .global _ZN7MapBase18func_ov00_0207e940EPc + arm_func_start _ZN7MapBase18func_ov00_0207e940EPc +_ZN7MapBase18func_ov00_0207e940EPc: ; 0x0207e940 + stmdb sp!, {r4, lr} + mov r4, r0 + ldr r3, _0207e964 ; =_ZN7MapBase18func_ov00_0207e968Ev + add r0, r4, #0x18 + mov r1, #3 + mov r2, #0x10 + bl func_0204f754 + mov r0, r4 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end _ZN7MapBase18func_ov00_0207e940EPc +_0207e964: .word _ZN7MapBase18func_ov00_0207e968Ev + + .global _ZN7MapBase18func_ov00_0207e968Ev + arm_func_start _ZN7MapBase18func_ov00_0207e968Ev +_ZN7MapBase18func_ov00_0207e968Ev: ; 0x0207e968 + bx lr + arm_func_end _ZN7MapBase18func_ov00_0207e968Ev + + .global _ZN7MapBase18func_ov00_0207e96cEv + arm_func_start _ZN7MapBase18func_ov00_0207e96cEv +_ZN7MapBase18func_ov00_0207e96cEv: ; 0x0207e96c + bx lr + arm_func_end _ZN7MapBase18func_ov00_0207e96cEv + + .global _ZN7MapBase8vfunc_6cEiii + arm_func_start _ZN7MapBase8vfunc_6cEiii +_ZN7MapBase8vfunc_6cEiii: ; 0x0207e970 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0xc4 + ldr r4, _0207ee00 ; =gMapManager + mov r9, r1 + ldr r1, [r4] + mov r8, r0 + str r2, [sp, #8] + add r0, sp, #0xc + mov r2, r9 + mov r7, r3 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + mov r0, r8 + ldr r2, [r0] + add r1, sp, #0xc + ldr r2, [r2, #0x54] + blx r2 + cmp r0, #0x1e + bgt _0207ea2c + bge _0207eb04 + cmp r0, #0x17 + bgt _0207ea10 + bge _0207eb04 + cmp r0, #9 + bgt _0207ea04 + cmp r0, #0 + addge pc, pc, r0, lsl #2 + b _0207ea9c +_0207e9dc: ; jump table + b _0207ea9c ; case 0 + b _0207eb04 ; case 1 + b _0207eb04 ; case 2 + b _0207eb04 ; case 3 + b _0207eb04 ; case 4 + b _0207ea9c ; case 5 + b _0207ea9c ; case 6 + b _0207ea9c ; case 7 + b _0207eb04 ; case 8 + b _0207eb04 ; case 9 +_0207ea04: + cmp r0, #0x16 + beq _0207eb04 + b _0207ea9c +_0207ea10: + cmp r0, #0x19 + bgt _0207ea20 + beq _0207eb04 + b _0207ea9c +_0207ea20: + cmp r0, #0x1d + beq _0207eb04 + b _0207ea9c +_0207ea2c: + cmp r0, #0x35 + bgt _0207ea84 + bge _0207eb04 + cmp r0, #0x29 + bgt _0207ea78 + subs r1, r0, #0x1f + addpl pc, pc, r1, lsl #2 + b _0207ea9c +_0207ea4c: ; jump table + b _0207eb04 ; case 0 + b _0207ea9c ; case 1 + b _0207ea9c ; case 2 + b _0207ea9c ; case 3 + b _0207ea9c ; case 4 + b _0207ea9c ; case 5 + b _0207ea9c ; case 6 + b _0207ea9c ; case 7 + b _0207eb04 ; case 8 + b _0207eb04 ; case 9 + b _0207eb04 ; case 10 +_0207ea78: + cmp r0, #0x30 + beq _0207eb04 + b _0207ea9c +_0207ea84: + cmp r0, #0x40 + bgt _0207ea94 + beq _0207eb04 + b _0207ea9c +_0207ea94: + cmp r0, #0x50 + beq _0207eb04 +_0207ea9c: + ldrb r0, [r8, #0xe] + cmp r0, #0 + bne _0207eb04 + mov r0, r8 + ldr r3, [r0] + add r1, sp, #0xc + ldr r3, [r3, #0x58] + mov r2, #5 + blx r3 + cmp r0, #0 + ldreqb r0, [r8, #8] + cmpeq r0, #0 + bne _0207eb04 + mov r0, r8 + ldr r2, [r0] + add r1, sp, #0xc + ldr r2, [r2, #0x60] + blx r2 + ldr r1, [sp, #8] + add sp, sp, #0xc4 + str r0, [r1] + mov r1, #0 + str r1, [r7] + mov r0, #0x1000 + stmib r7, {r0, r1} + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} +_0207eb04: + mov r0, #0x20 + str r0, [sp] + mov r1, #0 + str r1, [sp, #4] + ldr r0, _0207ee04 ; =data_027e0f6c + ldr r3, _0207ee08 ; =data_ov00_020ec864 + ldr r0, [r0] + mov r1, r9 + mov r2, #2 + bl func_01fff084 + ldr r5, _0207ee0c ; =_ZN7MapBase18func_ov00_0207e968Ev + mov r4, r0 + str r5, [sp] + ldr r3, _0207ee10 ; =_ZN7MapBase18func_ov00_0207e96cEv + add r0, sp, #0x90 + mov r1, #3 + mov r2, #0x10 + mov r5, #0x2000 + bl func_0204f614 + ldr r1, _0207ee0c ; =_ZN7MapBase18func_ov00_0207e968Ev + ldr r3, _0207ee10 ; =_ZN7MapBase18func_ov00_0207e96cEv + str r1, [sp] + add r0, sp, #0x44 + mov r1, #3 + mov r2, #0x10 + bl func_0204f614 + mov r6, #0 + sub r0, r6, #0x10000 + str r6, [sp, #0x20] + str r6, [sp, #0x28] + str r0, [sp, #0x24] + add r3, sp, #0x14 + ldmia r9, {r0, r1, r2} + cmp r4, #0 + stmia r3, {r0, r1, r2} + ble _0207ed48 + ldr r10, _0207ee08 ; =data_ov00_020ec864 + ldr r9, _0207ee04 ; =data_027e0f6c + mov r11, #0x4c +_0207eba0: + mov r0, r6, lsl #0x1 + ldrh r1, [r10, r0] + ldr r2, [r9] + add r0, sp, #0x78 + ldr r3, [r2, #0x20] + mul r2, r1, r11 + add ip, r3, r2 + ldrh lr, [r3, r2] + ldrh r3, [ip, #2] + add r1, sp, #0x14 + add r2, sp, #0x20 + strh r3, [sp, #0x7a] + strh lr, [sp, #0x78] + ldrh lr, [ip, #4] + add r3, sp, #0x10 + strh lr, [sp, #0x7c] + ldrh lr, [ip, #6] + strh lr, [sp, #0x7e] + ldr lr, [ip, #8] + str lr, [sp, #0x80] + ldr lr, [ip, #0xc] + str lr, [sp, #0x84] + ldr lr, [ip, #0x10] + str lr, [sp, #0x88] + ldr lr, [ip, #0x14] + str lr, [sp, #0x8c] + ldr lr, [ip, #0x18] + str lr, [sp, #0x90] + ldr lr, [ip, #0x1c] + str lr, [sp, #0x94] + ldr lr, [ip, #0x20] + str lr, [sp, #0x98] + ldr lr, [ip, #0x24] + str lr, [sp, #0x9c] + ldr lr, [ip, #0x28] + str lr, [sp, #0xa0] + ldr lr, [ip, #0x2c] + str lr, [sp, #0xa4] + ldr lr, [ip, #0x30] + str lr, [sp, #0xa8] + ldr lr, [ip, #0x34] + str lr, [sp, #0xac] + ldr lr, [ip, #0x38] + str lr, [sp, #0xb0] + ldr lr, [ip, #0x3c] + str lr, [sp, #0xb4] + ldr lr, [ip, #0x40] + str lr, [sp, #0xb8] + ldr lr, [ip, #0x44] + str lr, [sp, #0xbc] + ldr ip, [ip, #0x48] + str ip, [sp, #0xc0] + bl func_01ffe904 + cmp r0, #0 + beq _0207ed34 + ldr r1, [sp, #0x10] + cmp r1, r5 + bge _0207ed34 + ldrh r0, [sp, #0x78] + mov r5, r1 + ldrh r1, [sp, #0x7a] + strh r0, [sp, #0x2c] + ldrh r0, [sp, #0x7c] + strh r1, [sp, #0x2e] + ldrh r1, [sp, #0x7e] + strh r0, [sp, #0x30] + ldr r0, [sp, #0x80] + strh r1, [sp, #0x32] + str r0, [sp, #0x34] + ldr r1, [sp, #0x84] + ldr r0, [sp, #0x88] + str r1, [sp, #0x38] + str r0, [sp, #0x3c] + ldr r1, [sp, #0x8c] + ldr r0, [sp, #0x90] + str r1, [sp, #0x40] + str r0, [sp, #0x44] + ldr r1, [sp, #0x94] + ldr r0, [sp, #0x98] + str r1, [sp, #0x48] + str r0, [sp, #0x4c] + ldr r1, [sp, #0x9c] + ldr r0, [sp, #0xa0] + str r1, [sp, #0x50] + str r0, [sp, #0x54] + ldr r1, [sp, #0xa4] + ldr r0, [sp, #0xa8] + str r1, [sp, #0x58] + str r0, [sp, #0x5c] + ldr r1, [sp, #0xac] + ldr r0, [sp, #0xb0] + str r1, [sp, #0x60] + str r0, [sp, #0x64] + ldr r1, [sp, #0xb4] + ldr r0, [sp, #0xb8] + str r1, [sp, #0x68] + str r0, [sp, #0x6c] + ldr r1, [sp, #0xbc] + ldr r0, [sp, #0xc0] + str r1, [sp, #0x70] + str r0, [sp, #0x74] +_0207ed34: + add r0, r6, #1 + mov r0, r0, lsl #0x10 + cmp r4, r0, lsr #16 + mov r6, r0, lsr #0x10 + bgt _0207eba0 +_0207ed48: + cmp r5, #0x1000 + bgt _0207eda4 + mvn r1, #0 + mov r0, r1, lsl #0x10 + umull r3, r2, r5, r0 + mla r2, r5, r1, r2 + ldr r4, [sp, #0x34] + mov r1, r5, asr #0x1f + str r4, [r7] + ldr r4, [sp, #0x38] + mla r2, r1, r0, r2 + str r4, [r7, #4] + ldr r1, [sp, #0x3c] + adds r3, r3, #0x800 + str r1, [r7, #8] + adc r0, r2, #0 + mov r1, r3, lsr #0xc + orr r1, r1, r0, lsl #20 + ldr r2, [sp, #0x18] + ldr r0, [sp, #8] + add r1, r2, r1 + str r1, [r0] + b _0207edd0 +_0207eda4: + mov r0, r8 + ldr r2, [r0] + add r1, sp, #0xc + ldr r2, [r2, #0x60] + blx r2 + ldr r1, [sp, #8] + str r0, [r1] + mov r1, #0 + str r1, [r7] + mov r0, #0x1000 + stmib r7, {r0, r1} +_0207edd0: + ldr r3, _0207ee0c ; =_ZN7MapBase18func_ov00_0207e968Ev + add r0, sp, #0x44 + mov r1, #3 + mov r2, #0x10 + bl func_0204f754 + ldr r3, _0207ee0c ; =_ZN7MapBase18func_ov00_0207e968Ev + add r0, sp, #0x90 + mov r1, #3 + mov r2, #0x10 + bl func_0204f754 + add sp, sp, #0xc4 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end _ZN7MapBase8vfunc_6cEiii +_0207ee00: .word gMapManager +_0207ee04: .word data_027e0f6c +_0207ee08: .word data_ov00_020ec864 +_0207ee0c: .word _ZN7MapBase18func_ov00_0207e968Ev +_0207ee10: .word _ZN7MapBase18func_ov00_0207e96cEv + + .global _ZN7MapBase8vfunc_70EP5Vec3p + arm_func_start _ZN7MapBase8vfunc_70EP5Vec3p +_ZN7MapBase8vfunc_70EP5Vec3p: ; 0x0207ee14 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x74 + ldr r0, _0207efdc ; =gMapManager + mov r9, r1 + ldr r1, [r0] + add r0, sp, #8 + mov r2, r9 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + mov r0, #0x20 + str r0, [sp] + mov r1, #0 + str r1, [sp, #4] + ldr r0, _0207efe0 ; =data_027e0f6c + ldr r3, _0207efe4 ; =data_ov00_020ec8a4 + ldr r0, [r0] + mov r1, r9 + mov r2, #2 + bl func_01fff084 + ldr r1, _0207efe8 ; =_ZN7MapBase18func_ov00_0207e968Ev + mov r5, r0 + str r1, [sp] + ldr r3, _0207efec ; =_ZN7MapBase18func_ov00_0207e96cEv + add r0, sp, #0x40 + mov r1, #3 + mov r2, #0x10 + mov r6, #0x2000 + ldr r7, _0207eff0 ; =0x0000ffff + bl func_0204f614 + mov r8, #0 + sub r0, r8, #0x10000 + str r8, [sp, #0x1c] + str r8, [sp, #0x24] + str r0, [sp, #0x20] + add r4, sp, #0x10 + ldmia r9, {r0, r1, r2} + cmp r5, #0 + stmia r4, {r0, r1, r2} + ble _0207efbc + ldr r10, _0207efe4 ; =data_ov00_020ec8a4 + ldr r9, _0207efe0 ; =data_027e0f6c + mov r11, #0x4c +_0207eeb8: + mov r0, r8, lsl #0x1 + ldrh r1, [r10, r0] + ldr r2, [r9] + add r0, sp, #0x28 + ldr r3, [r2, #0x20] + mul r2, r1, r11 + add ip, r3, r2 + ldrh lr, [r3, r2] + ldrh r3, [ip, #2] + mov r1, r4 + add r2, sp, #0x1c + strh r3, [sp, #0x2a] + strh lr, [sp, #0x28] + ldrh lr, [ip, #4] + add r3, sp, #0xc + strh lr, [sp, #0x2c] + ldrh lr, [ip, #6] + strh lr, [sp, #0x2e] + ldr lr, [ip, #8] + str lr, [sp, #0x30] + ldr lr, [ip, #0xc] + str lr, [sp, #0x34] + ldr lr, [ip, #0x10] + str lr, [sp, #0x38] + ldr lr, [ip, #0x14] + str lr, [sp, #0x3c] + ldr lr, [ip, #0x18] + str lr, [sp, #0x40] + ldr lr, [ip, #0x1c] + str lr, [sp, #0x44] + ldr lr, [ip, #0x20] + str lr, [sp, #0x48] + ldr lr, [ip, #0x24] + str lr, [sp, #0x4c] + ldr lr, [ip, #0x28] + str lr, [sp, #0x50] + ldr lr, [ip, #0x2c] + str lr, [sp, #0x54] + ldr lr, [ip, #0x30] + str lr, [sp, #0x58] + ldr lr, [ip, #0x34] + str lr, [sp, #0x5c] + ldr lr, [ip, #0x38] + str lr, [sp, #0x60] + ldr lr, [ip, #0x3c] + str lr, [sp, #0x64] + ldr lr, [ip, #0x40] + str lr, [sp, #0x68] + ldr lr, [ip, #0x44] + str lr, [sp, #0x6c] + ldr ip, [ip, #0x48] + str ip, [sp, #0x70] + bl func_01ffe904 + cmp r0, #0 + beq _0207efa8 + ldr r1, [sp, #0xc] + cmp r1, r6 + movlt r0, r8, lsl #0x1 + ldrlth r7, [r10, r0] + movlt r6, r1 +_0207efa8: + add r0, r8, #1 + mov r0, r0, lsl #0x10 + cmp r5, r0, lsr #16 + mov r8, r0, lsr #0x10 + bgt _0207eeb8 +_0207efbc: + ldr r3, _0207efe8 ; =_ZN7MapBase18func_ov00_0207e968Ev + add r0, sp, #0x40 + mov r1, #3 + mov r2, #0x10 + bl func_0204f754 + mov r0, r7 + add sp, sp, #0x74 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + .align 2, 0 + arm_func_end _ZN7MapBase8vfunc_70EP5Vec3p +_0207efdc: .word gMapManager +_0207efe0: .word data_027e0f6c +_0207efe4: .word data_ov00_020ec8a4 +_0207efe8: .word _ZN7MapBase18func_ov00_0207e968Ev +_0207efec: .word _ZN7MapBase18func_ov00_0207e96cEv +_0207eff0: .word 0x0000ffff + + .global _ZN7MapBase8vfunc_74EP5Vec3p + arm_func_start _ZN7MapBase8vfunc_74EP5Vec3p +_ZN7MapBase8vfunc_74EP5Vec3p: ; 0x0207eff4 + stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x24 + ldr r0, _0207f0f4 ; =gMapManager + mov r8, r1 + ldr r1, [r0] + add r0, sp, #8 + mov r2, r8 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + add r4, sp, #0xc + ldmia r8, {r0, r1, r2} + stmia r4, {r0, r1, r2} + add r3, sp, #0x18 + ldmia r8, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r4 + mov r1, #0x800 + bl func_ov00_0208ee00 + mov r0, #0x20 + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + ldr r0, _0207f0f8 ; =data_027e0f6c + ldr r3, _0207f0fc ; =data_ov00_020ec8e4 + ldr r0, [r0] + mov r1, r4 + mov r2, #8 + bl func_01fff264 + mov r5, r0 + cmp r5, #0 + mov r6, #0 + ble _0207f0e8 + ldr r4, _0207f0fc ; =data_ov00_020ec8e4 + ldr r9, _0207f0f8 ; =data_027e0f6c +_0207f078: + mov r0, r6, lsl #0x1 + ldr r1, [r9] + ldrh r0, [r4, r0] + ldr r1, [r1, #0x40] + ldr r7, [r1, r0, lsl #2] + cmp r7, #0 + ldrneb r0, [r7, #4] + cmpne r0, #0 + ldrneb r0, [r7, #5] + cmpne r0, #0 + beq _0207f0dc + ldr r0, [r7, #0xc] + ands r0, r0, #0x1f + cmpne r0, #1 + cmpne r0, #2 + beq _0207f0dc + mov r0, r7 + ldr r2, [r0] + mov r1, r8 + ldr r2, [r2, #0x48] + blx r2 + cmp r0, #0 + addne sp, sp, #0x24 + movne r0, r7 + ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} +_0207f0dc: + add r6, r6, #1 + cmp r6, r5 + blt _0207f078 +_0207f0e8: + mov r0, #0 + add sp, sp, #0x24 + ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} + .align 2, 0 + arm_func_end _ZN7MapBase8vfunc_74EP5Vec3p +_0207f0f4: .word gMapManager +_0207f0f8: .word data_027e0f6c +_0207f0fc: .word data_ov00_020ec8e4 + + .global _ZN7MapBase18func_ov00_0207f100Ev + arm_func_start _ZN7MapBase18func_ov00_0207f100Ev +_ZN7MapBase18func_ov00_0207f100Ev: ; 0x0207f100 + bx lr + arm_func_end _ZN7MapBase18func_ov00_0207f100Ev + + .global _ZN7MapBase18func_ov00_0207f104Eii + arm_func_start _ZN7MapBase18func_ov00_0207f104Eii +_ZN7MapBase18func_ov00_0207f104Eii: ; 0x0207f104 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + ldr r3, _0207f1f0 ; =gMapManager + mov r5, r1 + ldr r1, [r3] + mov r6, r0 + mov r4, r2 + add r0, sp, #0 + mov r2, r5 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + mov r0, r6 + ldr r2, [r0] + add r1, sp, #0 + ldr r2, [r2, #0x78] + blx r2 + movs r7, r0 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + ldr r1, [r0] + ldr r1, [r1, #0x58] + blx r1 + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + mov r0, r7 + ldr r1, [r0] + ldr r1, [r1, #0x54] + blx r1 + cmp r0, #0 + moveq r0, #0 + ldrneb r0, [r0, #5] + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + mov r0, r7 + mov r1, r5 + bl func_ov00_0208b79c + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + mov r0, r7 + ldr r1, [r0] + ldr r1, [r1, #0x54] + blx r1 + cmp r0, #0 + moveq r5, #0 + beq _0207f1cc + ldr r1, [r0] + ldr r1, [r1, #0x44] + blx r1 + mov r5, r0 +_0207f1cc: + mov r0, r6 + ldr r2, [r0] + add r1, sp, #0 + ldr r2, [r2, #0x60] + blx r2 + add r0, r0, r5 + str r0, [r4] + mov r0, #1 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end _ZN7MapBase18func_ov00_0207f104Eii +_0207f1f0: .word gMapManager + + .global _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi + arm_func_start _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi +_ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi: ; 0x0207f1f4 + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} + sub sp, sp, #0x3c + ldr r0, _0207f318 ; =gMapManager + mov r9, r1 + ldr r1, [r0] + mov r8, r2 + add r0, sp, #8 + mov r2, r9 + bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p + add r4, sp, #0x24 + ldmia r9, {r0, r1, r2} + stmia r4, {r0, r1, r2} + add r3, sp, #0x30 + ldmia r9, {r0, r1, r2} + stmia r3, {r0, r1, r2} + mov r0, r4 + mov r1, #0x800 + bl func_ov00_0208ee00 + mov r0, #0x20 + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + ldr r0, _0207f31c ; =data_027e0f6c + ldr r3, _0207f320 ; =data_ov00_020ec924 + ldr r0, [r0] + mov r1, r4 + mov r2, #8 + bl func_01fff264 + mov r5, r0 + cmp r5, #0 + mov r6, #0 + ble _0207f30c + ldr r4, _0207f320 ; =data_ov00_020ec924 + ldr r10, _0207f31c ; =data_027e0f6c +_0207f27c: + mov r0, r6, lsl #0x1 + ldr r1, [r10] + ldrh r0, [r4, r0] + ldr r1, [r1, #0x40] + ldr r7, [r1, r0, lsl #2] + cmp r7, #0 + ldrneb r0, [r7, #4] + cmpne r0, #0 + ldrneb r0, [r7, #5] + cmpne r0, #0 + beq _0207f300 + ldr r0, [r7, #0xc] + ands r0, r0, #0x1f + cmpne r0, #1 + cmpne r0, #2 + beq _0207f300 + mov r0, r7 + ldr r2, [r0] + mov r1, r9 + ldr r2, [r2, #0x48] + blx r2 + cmp r0, #0 + beq _0207f300 + mov r0, r7 + ldr r2, [r0] + add r1, sp, #0xc + ldr r2, [r2, #0x2c] + blx r2 + ldr r1, [sp, #0x1c] + add sp, sp, #0x3c + mov r0, #1 + str r1, [r8] + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} +_0207f300: + add r6, r6, #1 + cmp r6, r5 + blt _0207f27c +_0207f30c: + mov r0, #0 + add sp, sp, #0x3c + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} + .align 2, 0 + arm_func_end _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi +_0207f318: .word gMapManager +_0207f31c: .word data_027e0f6c +_0207f320: .word data_ov00_020ec924 + + .global _ZN7MapBase8vfunc_88Ev + arm_func_start _ZN7MapBase8vfunc_88Ev +_ZN7MapBase8vfunc_88Ev: ; 0x0207f324 + mov r0, #0 + bx lr + arm_func_end _ZN7MapBase8vfunc_88Ev + + .global _ZN7MapBase8vfunc_8cEv + arm_func_start _ZN7MapBase8vfunc_8cEv +_ZN7MapBase8vfunc_8cEv: ; 0x0207f32c + mov r0, #0 + bx lr + arm_func_end _ZN7MapBase8vfunc_8cEv + + .global _ZN7MapBase8vfunc_9cEv + arm_func_start _ZN7MapBase8vfunc_9cEv +_ZN7MapBase8vfunc_9cEv: ; 0x0207f334 + bx lr + arm_func_end _ZN7MapBase8vfunc_9cEv + + .global _ZN7MapBase8vfunc_a0Ev + arm_func_start _ZN7MapBase8vfunc_a0Ev +_ZN7MapBase8vfunc_a0Ev: ; 0x0207f338 + bx lr + arm_func_end _ZN7MapBase8vfunc_a0Ev + + .global _ZN7MapBase8vfunc_a4Ev + arm_func_start _ZN7MapBase8vfunc_a4Ev +_ZN7MapBase8vfunc_a4Ev: ; 0x0207f33c + mov r0, #0 + bx lr + arm_func_end _ZN7MapBase8vfunc_a4Ev + + .global _ZN7MapBase8vfunc_a8Ev + arm_func_start _ZN7MapBase8vfunc_a8Ev +_ZN7MapBase8vfunc_a8Ev: ; 0x0207f344 + bx lr + arm_func_end _ZN7MapBase8vfunc_a8Ev + + .global _ZN7MapBase8vfunc_acEv + arm_func_start _ZN7MapBase8vfunc_acEv +_ZN7MapBase8vfunc_acEv: ; 0x0207f348 + bx lr + arm_func_end _ZN7MapBase8vfunc_acEv + + .global _ZN7MapBase8vfunc_78Ev + arm_func_start _ZN7MapBase8vfunc_78Ev +_ZN7MapBase8vfunc_78Ev: ; 0x0207f34c + mov r0, #0 + bx lr + arm_func_end _ZN7MapBase8vfunc_78Ev + + .global _ZN7MapBase8vfunc_7cEv + arm_func_start _ZN7MapBase8vfunc_7cEv +_ZN7MapBase8vfunc_7cEv: ; 0x0207f354 + mov r0, #1 + bx lr + arm_func_end _ZN7MapBase8vfunc_7cEv + + .global _ZN7MapBase8vfunc_80Ev + arm_func_start _ZN7MapBase8vfunc_80Ev +_ZN7MapBase8vfunc_80Ev: ; 0x0207f35c + mov r0, #1 + bx lr + arm_func_end _ZN7MapBase8vfunc_80Ev + + .global _ZN7MapBase8vfunc_84Ei + arm_func_start _ZN7MapBase8vfunc_84Ei +_ZN7MapBase8vfunc_84Ei: ; 0x0207f364 + stmdb sp!, {r3, lr} + ldrb r3, [r1, #0x15] + ldrb r2, [r1, #0x14] + add r1, sp, #0 + strb r3, [sp, #1] + strb r2, [sp] + ldr r2, [r0] + ldr r2, [r2, #0x80] + blx r2 + ldmia sp!, {r3, pc} + arm_func_end _ZN7MapBase8vfunc_84Ei + + .global _ZN7MapBase18func_ov00_0207f38cEi + arm_func_start _ZN7MapBase18func_ov00_0207f38cEi +_ZN7MapBase18func_ov00_0207f38cEi: ; 0x0207f38c + stmdb sp!, {r4, lr} + ldr r2, [r0] + mov r4, r1 + ldr r2, [r2, #0x84] + blx r2 + cmp r0, #0 + moveq r0, #0 + ldmeqia sp!, {r4, pc} + ldr r0, _0207f3c0 ; =data_027e0f68 + mov r1, r4 + ldr r0, [r0] + bl func_ov00_0208d820 + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end _ZN7MapBase18func_ov00_0207f38cEi +_0207f3c0: .word data_027e0f68 + + .global _ZN7MapBase8vfunc_90Eiii + arm_func_start _ZN7MapBase8vfunc_90Eiii +_ZN7MapBase8vfunc_90Eiii: ; 0x0207f3c4 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + ldr r3, [r0] + mov r6, r0 + ldr r3, [r3, #0x54] + mov r5, r1 + mov r4, r2 + blx r3 + mov r7, r0 + cmp r7, r4 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + mov r0, r6 + ldr r3, [r0] + mov r1, r5 + ldr r3, [r3, #0xbc] + mov r2, r4 + blx r3 + mov r0, r6 + ldr r2, [r0] + mov r1, r5 + ldr r2, [r2, #0x5c] + blx r2 + mov r1, r0 + cmp r4, #0x14 + bne _0207f448 + mov r0, r6 + ldr r3, [r0] + sub r1, r1, #3 + mov r2, r1, lsl #0x18 + ldr r3, [r3, #0xc0] + mov r1, r5 + mov r2, r2, asr #0x18 + blx r3 + b _0207f470 +_0207f448: + cmp r7, #0x14 + bne _0207f470 + mov r0, r6 + ldr r3, [r0] + add r1, r1, #3 + mov r2, r1, lsl #0x18 + ldr r3, [r3, #0xc0] + mov r1, r5 + mov r2, r2, asr #0x18 + blx r3 +_0207f470: + mov r0, r6 + ldr r2, [r0] + mov r1, r5 + ldr r2, [r2, #0x78] + blx r2 + cmp r0, #0 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0x44] + blx r2 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end _ZN7MapBase8vfunc_90Eiii + + .global _ZN7MapBase8vfunc_94Ev + arm_func_start _ZN7MapBase8vfunc_94Ev +_ZN7MapBase8vfunc_94Ev: ; 0x0207f4a0 + bx lr + arm_func_end _ZN7MapBase8vfunc_94Ev + + .global _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si + arm_func_start _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si +_ZN7MapBase18func_ov00_0207f4a4EP5Vec2si: ; 0x0207f4a4 + stmdb sp!, {r3, r4, lr} + sub sp, sp, #4 + ldrsh r3, [r1, #2] + ldrsh r4, [r1] + add r3, r3, r3, lsr #31 + add ip, r4, r4, lsr #31 + mov r4, r3, asr #0x1 + mov r3, ip, asr #0x1 + strb r3, [sp] + strb r4, [sp, #1] + ldrsh r4, [r1] + ldrsh ip, [r1, #2] + mov r3, r4, lsr #0x1f + mov lr, ip, lsr #0x1f + rsb r1, r3, r4, lsl #31 + rsb ip, lr, ip, lsl #31 + adds r1, r3, r1, ror #31 + add r3, lr, ip, ror #31 + cmpeq r3, #0 + moveq r2, #0 + beq _0207f524 + cmp r1, #1 + cmpeq r3, #0 + moveq r2, #1 + beq _0207f524 + cmp r1, #1 + cmpeq r3, #1 + moveq r2, #3 + beq _0207f524 + cmp r1, #0 + cmpeq r3, #1 + moveq r2, #2 +_0207f524: + ldr r3, [r0] + add r1, sp, #0 + ldr r3, [r3, #0x58] + blx r3 + add sp, sp, #4 + ldmia sp!, {r3, r4, pc} + arm_func_end _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si + + .global _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p + arm_func_start _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p +_ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p: ; 0x0207f53c + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + mov r0, #0 + strh r0, [r5] + mov r4, r2 + strh r0, [r5, #2] + ldr r0, [r4] + mov r1, #0x800 + bl Divide + add r0, r0, #0x800 + mov r0, r0, asr #0xc + strh r0, [r5] + ldr r0, [r4, #8] + mov r1, #0x800 + bl Divide + add r0, r0, #0x800 + mov r0, r0, asr #0xc + strh r0, [r5, #2] + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p + + .global _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi + arm_func_start _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi +_ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi: ; 0x0207f588 + mov r1, #0 + strh r1, [r0] + strh r1, [r0, #2] + cmp r3, #3 + addls pc, pc, r3, lsl #2 + bx lr +_0207f5a0: ; jump table + b _0207f5b0 ; case 0 + b _0207f5cc ; case 1 + b _0207f5ec ; case 2 + b _0207f60c ; case 3 +_0207f5b0: + ldrb r1, [r2] + mov r1, r1, lsl #0x1 + strh r1, [r0] + ldrb r1, [r2, #1] + mov r1, r1, lsl #0x1 + strh r1, [r0, #2] + bx lr +_0207f5cc: + ldrb r1, [r2] + mov r1, r1, lsl #0x1 + add r1, r1, #1 + strh r1, [r0] + ldrb r1, [r2, #1] + mov r1, r1, lsl #0x1 + strh r1, [r0, #2] + bx lr +_0207f5ec: + ldrb r1, [r2] + mov r1, r1, lsl #0x1 + strh r1, [r0] + ldrb r1, [r2, #1] + mov r1, r1, lsl #0x1 + add r1, r1, #1 + strh r1, [r0, #2] + bx lr +_0207f60c: + ldrb r1, [r2] + mov r1, r1, lsl #0x1 + add r1, r1, #1 + strh r1, [r0] + ldrb r1, [r2, #1] + mov r1, r1, lsl #0x1 + add r1, r1, #1 + strh r1, [r0, #2] + bx lr + arm_func_end _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi + + .global _ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p + arm_func_start _ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p +_ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p: ; 0x0207f630 + stmdb sp!, {r4, lr} + ldrsh r3, [r1, #2] + ldrsh r1, [r1] + mov r0, #0x800 + mov lr, r3, lsl #0xc + mov ip, lr, asr #0x1f + mov r3, r1, lsl #0xc + mov ip, ip, lsl #0xb + mov r1, r3, asr #0x1f + mov r1, r1, lsl #0xb + adds r4, r0, lr, lsl #11 + orr ip, ip, lr, lsr #21 + adc lr, ip, #0 + adds ip, r0, r3, lsl #11 + orr r1, r1, r3, lsr #21 + mov r3, r4, lsr #0xc + adc r0, r1, #0 + mov r1, ip, lsr #0xc + orr r1, r1, r0, lsl #20 + str r1, [r2] + mov r0, #0 + str r0, [r2, #4] + orr r3, r3, lr, lsl #20 + str r3, [r2, #8] + ldmia sp!, {r4, pc} + arm_func_end _ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p + + .global _ZN7MapBase13GetTileStartXEi + arm_func_start _ZN7MapBase13GetTileStartXEi +_ZN7MapBase13GetTileStartXEi: ; 0x0207f694 + ldr r0, [r0, #0xf4] + add r0, r0, r1, lsl #12 + bx lr + arm_func_end _ZN7MapBase13GetTileStartXEi + + .global _ZN7MapBase13GetTileStartZEi + arm_func_start _ZN7MapBase13GetTileStartZEi +_ZN7MapBase13GetTileStartZEi: ; 0x0207f6a0 + ldr r0, [r0, #0xfc] + add r0, r0, r1, lsl #12 + bx lr + arm_func_end _ZN7MapBase13GetTileStartZEi + + .global _ZN7MapBase11GetTileEndXEi + arm_func_start _ZN7MapBase11GetTileEndXEi +_ZN7MapBase11GetTileEndXEi: ; 0x0207f6ac + stmdb sp!, {r3, lr} + bl _ZN7MapBase13GetTileStartXEi + add r0, r0, #0x1000 + ldmia sp!, {r3, pc} + arm_func_end _ZN7MapBase11GetTileEndXEi + + .global _ZN7MapBase11GetTileEndZEi + arm_func_start _ZN7MapBase11GetTileEndZEi +_ZN7MapBase11GetTileEndZEi: ; 0x0207f6bc + stmdb sp!, {r3, lr} + bl _ZN7MapBase13GetTileStartZEi + add r0, r0, #0x1000 + ldmia sp!, {r3, pc} + arm_func_end _ZN7MapBase11GetTileEndZEi + + .global _ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB + arm_func_start _ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB +_ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB: ; 0x0207f6cc + stmdb sp!, {r3, r4, r5, r6, r7, lr} + sub sp, sp, #0x18 + mov r7, r1 + ldrb r1, [r7] + mov r6, r0 + mov r5, r2 + bl _ZN7MapBase13GetTileStartXEi + ldrb r1, [r7, #1] + mov r0, r6 + bl _ZN7MapBase13GetTileStartZEi + mov r4, r0 + ldrb r1, [r7] + mov r0, r6 + bl _ZN7MapBase13GetTileStartXEi + ldr r2, _0207f774 ; =0xffffeccd + str r0, [sp, #0xc] + ldrb r1, [r7, #1] + mov r0, r6 + str r2, [sp, #0x10] + str r4, [sp, #0x14] + bl _ZN7MapBase11GetTileEndZEi + mov r4, r0 + mov r0, r6 + mov r1, r7 + ldr r2, [r0] + ldr r2, [r2, #0x60] + blx r2 + ldrb r1, [r7] + mov r7, r0 + mov r0, r6 + bl _ZN7MapBase11GetTileEndXEi + ldr r2, [sp, #0xc] + ldr r1, [sp, #0x10] + str r2, [r5] + str r1, [r5, #4] + ldr r1, [sp, #0x14] + str r1, [r5, #8] + str r0, [r5, #0xc] + str r7, [r5, #0x10] + str r4, [r5, #0x14] + add sp, sp, #0x18 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + .align 2, 0 + arm_func_end _ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB +_0207f774: .word 0xffffeccd + + .global _ZN7MapBase15GetClampedTileXEi + arm_func_start _ZN7MapBase15GetClampedTileXEi +_ZN7MapBase15GetClampedTileXEi: ; 0x0207f778 + ldr r2, [r0, #0xf4] + ldrh r0, [r0, #0x28] + sub r1, r1, r2 + movs r1, r1, asr #0xc + movmi r1, #0 + sub r0, r0, #1 + cmp r1, r0 + movge r1, r0 + mov r0, r1 + bx lr + arm_func_end _ZN7MapBase15GetClampedTileXEi + + .global _ZN7MapBase15GetClampedTileYEi + arm_func_start _ZN7MapBase15GetClampedTileYEi +_ZN7MapBase15GetClampedTileYEi: ; 0x0207f7a0 + ldr r2, [r0, #0xfc] + ldrh r0, [r0, #0x2a] + sub r1, r1, r2 + movs r1, r1, asr #0xc + movmi r1, #0 + sub r0, r0, #1 + cmp r1, r0 + movge r1, r0 + mov r0, r1 + bx lr + arm_func_end _ZN7MapBase15GetClampedTileYEi + + .global _ZN7MapBase8GetTileXEi + arm_func_start _ZN7MapBase8GetTileXEi +_ZN7MapBase8GetTileXEi: ; 0x0207f7c8 + ldr r0, [r0, #0xf4] + sub r0, r1, r0 + mov r0, r0, asr #0xc + bx lr + arm_func_end _ZN7MapBase8GetTileXEi + + .global _ZN7MapBase8GetTileYEi + arm_func_start _ZN7MapBase8GetTileYEi +_ZN7MapBase8GetTileYEi: ; 0x0207f7d8 + ldr r0, [r0, #0xfc] + sub r0, r1, r0 + mov r0, r0, asr #0xc + bx lr + arm_func_end _ZN7MapBase8GetTileYEi + + .global _ZN7MapBase10IsInBoundsEP5Vec3p + arm_func_start _ZN7MapBase10IsInBoundsEP5Vec3p +_ZN7MapBase10IsInBoundsEP5Vec3p: ; 0x0207f7e8 + stmdb sp!, {r4, r5, r6, lr} + mov r5, r1 + ldr r1, [r5] + mov r6, r0 + bl _ZN7MapBase8GetTileXEi + mov r4, r0 + ldr r1, [r5, #8] + mov r0, r6 + bl _ZN7MapBase8GetTileYEi + cmp r4, #0 + blt _0207f834 + ldrh r1, [r6, #0x28] + cmp r4, r1 + bge _0207f834 + cmp r0, #0 + blt _0207f834 + ldrh r1, [r6, #0x2a] + cmp r0, r1 + blt _0207f83c +_0207f834: + mov r0, #0 + ldmia sp!, {r4, r5, r6, pc} +_0207f83c: + mov r0, #1 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN7MapBase10IsInBoundsEP5Vec3p + + .global _ZN7MapBase11AddEntranceEP8Entrance + arm_func_start _ZN7MapBase11AddEntranceEP8Entrance +_ZN7MapBase11AddEntranceEP8Entrance: ; 0x0207f844 + stmdb sp!, {r3, lr} + mov lr, #0 + strb lr, [sp, #1] + ldr ip, [r0, #0x104] + ldr r2, [r0, #0x108] + mov r3, r1 + cmp ip, r2 + bhs _0207f8a0 + add r1, ip, #1 + str r1, [r0, #0x104] + ldr r2, [r0, #0x100] + sub r1, r1, #1 + mov r0, #0x14 + mla ip, r1, r0, r2 + ldmia r3, {r0, r1, r2} + stmia ip, {r0, r1, r2} + ldrsh r0, [r3, #0xc] + strh r0, [ip, #0xc] + ldrb r0, [r3, #0xe] + strb r0, [ip, #0xe] + ldr r0, [r3, #0x10] + str r0, [ip, #0x10] + ldmia sp!, {r3, pc} +_0207f8a0: + strb lr, [sp] + sub r3, sp, #4 + and r2, lr, #0xff + strb r2, [r3] + ldr r2, [r3] + add r0, r0, #0x100 + bl func_ov00_02081040 + ldmia sp!, {r3, pc} + arm_func_end _ZN7MapBase11AddEntranceEP8Entrance + + .global _ZN7MapBase12FindEntranceEi + arm_func_start _ZN7MapBase12FindEntranceEi +_ZN7MapBase12FindEntranceEi: ; 0x0207f8c0 + sub sp, sp, #0x18 + ldr r3, [r0, #0x100] + ldr r2, [r0, #0x104] + mov r0, #0x14 + mla ip, r2, r0, r3 + str r1, [sp, #0xc] + str r1, [sp] + str ip, [sp, #0x10] + str ip, [sp, #4] + str r3, [sp, #0x14] + str r3, [sp, #8] + mov r2, r3 + b _0207f8fc +_0207f8f4: + add r2, r2, #0x14 + str r2, [sp, #8] +_0207f8fc: + cmp r2, ip + ldrneb r0, [r2, #0xe] + cmpne r1, r0 + bne _0207f8f4 + ldr r0, [sp, #8] + cmp r0, ip + moveq r0, r3 + ldrne r0, [sp, #8] + add sp, sp, #0x18 + bx lr + arm_func_end _ZN7MapBase12FindEntranceEi + + .global _ZN7MapBase18func_ov00_0207f924Ei + arm_func_start _ZN7MapBase18func_ov00_0207f924Ei +_ZN7MapBase18func_ov00_0207f924Ei: ; 0x0207f924 + add r1, r0, r1 + ldrb r0, [r1, #0x18] + strb r0, [r1, #0x16] + bx lr + arm_func_end _ZN7MapBase18func_ov00_0207f924Ei + + .global _ZN7MapBase18func_ov00_0207f934Ev + arm_func_start _ZN7MapBase18func_ov00_0207f934Ev +_ZN7MapBase18func_ov00_0207f934Ev: ; 0x0207f934 + ldr r0, [r0, #0x140] + cmp r0, #0 + moveq r0, #0 + ldrne r0, [r0, #0x60] + bx lr + arm_func_end _ZN7MapBase18func_ov00_0207f934Ev + + .global _ZN7MapBase18func_ov00_0207f948Ei + arm_func_start _ZN7MapBase18func_ov00_0207f948Ei +_ZN7MapBase18func_ov00_0207f948Ei: ; 0x0207f948 + ldr r0, [r0, #0x140] + cmp r0, #0 + strne r1, [r0, #0x60] + bx lr + arm_func_end _ZN7MapBase18func_ov00_0207f948Ei + + .global _ZN7MapBase10AddTriggerEP13TriggerParams + arm_func_start _ZN7MapBase10AddTriggerEP13TriggerParams +_ZN7MapBase10AddTriggerEP13TriggerParams: ; 0x0207f958 + stmdb sp!, {r3, r4, r5, lr} + sub sp, sp, #8 + mov r2, #0 + str r2, [sp, #4] + mov r4, r1 + ldrb r1, [r4, #5] + mov r5, r0 + mov r2, #4 + cmp r1, #0 + beq _0207f9a8 + ldr r1, _0207faa4 ; =data_027e0ce0 + mov r0, #0x5c + ldr r1, [r1, #4] + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _0207f9a0 + mov r1, r4 + bl func_ov00_02095d58 +_0207f9a0: + str r0, [sp, #4] + b _0207fa34 +_0207f9a8: + ldrb r0, [r4, #9] + cmp r0, #1 + bne _0207f9dc + ldr r1, _0207faa4 ; =data_027e0ce0 + mov r0, #0xe0 + ldr r1, [r1, #4] + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _0207f9d4 + mov r1, r4 + bl func_ov00_0209581c +_0207f9d4: + str r0, [sp, #4] + b _0207fa34 +_0207f9dc: + ldrb r0, [r4, #0xa] + cmp r0, #1 + bne _0207fa10 + ldr r1, _0207faa4 ; =data_027e0ce0 + mov r0, #0x28 + ldr r1, [r1, #4] + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _0207fa08 + mov r1, r4 + bl func_ov00_0209564c +_0207fa08: + str r0, [sp, #4] + b _0207fa34 +_0207fa10: + ldr r1, _0207faa4 ; =data_027e0ce0 + mov r0, #0x2c + ldr r1, [r1, #4] + bl _ZN9SysObjectnwEmPjj + cmp r0, #0 + beq _0207fa30 + mov r1, r4 + bl func_ov00_02095554 +_0207fa30: + str r0, [sp, #4] +_0207fa34: + ldr r0, [sp, #4] + ldr r1, [r0] + ldr r1, [r1, #8] + blx r1 + mov r2, #0 + strb r2, [sp, #1] + ldr r1, [r5, #0x110] + ldr r0, [r5, #0x114] + cmp r1, r0 + bhs _0207fa7c + add r0, r1, #1 + str r0, [r5, #0x110] + ldr r2, [sp, #4] + ldr r1, [r5, #0x10c] + sub r0, r0, #1 + str r2, [r1, r0, lsl #2] + add sp, sp, #8 + ldmia sp!, {r3, r4, r5, pc} +_0207fa7c: + strb r2, [sp] + sub r1, sp, #4 + and r0, r2, #0xff + strb r0, [r1] + ldr r2, [r1] + add r1, sp, #4 + add r0, r5, #0x10c + bl func_ov00_02080f64 + add sp, sp, #8 + ldmia sp!, {r3, r4, r5, pc} + .align 2, 0 + arm_func_end _ZN7MapBase10AddTriggerEP13TriggerParams +_0207faa4: .word data_027e0ce0 + + .global _ZN11TriggerBase8vfunc_08Ev + arm_func_start _ZN11TriggerBase8vfunc_08Ev +_ZN11TriggerBase8vfunc_08Ev: ; 0x0207faa8 + bx lr + arm_func_end _ZN11TriggerBase8vfunc_08Ev + + .global _ZN7MapBase21GetTriggerBoundingBoxEiP4AABB + arm_func_start _ZN7MapBase21GetTriggerBoundingBoxEiP4AABB +_ZN7MapBase21GetTriggerBoundingBoxEiP4AABB: ; 0x0207faac + stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + sub sp, sp, #0x18 + mov r9, r0 + ldr r6, [r9, #0x10c] + ldr r0, [r9, #0x110] + mov r8, r1 + add r0, r6, r0, lsl #2 + mov r7, r2 + cmp r6, r0 + mov r5, #0 + beq _0207fb50 + add r4, sp, #0 +_0207fadc: + ldr r0, [r6] + ldrb r1, [r0, #5] + cmp r8, r1 + bne _0207fb38 + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0x18] + blx r2 + cmp r0, #0 + beq _0207fb38 + ldr r0, [sp] + add r5, r5, #1 + str r0, [r7] + ldr r0, [sp, #4] + str r0, [r7, #4] + ldr r0, [sp, #8] + str r0, [r7, #8] + ldr r0, [sp, #0xc] + str r0, [r7, #0xc] + ldr r0, [sp, #0x10] + str r0, [r7, #0x10] + ldr r0, [sp, #0x14] + str r0, [r7, #0x14] +_0207fb38: + ldr r1, [r9, #0x10c] + ldr r0, [r9, #0x110] + add r6, r6, #4 + add r0, r1, r0, lsl #2 + cmp r6, r0 + bne _0207fadc +_0207fb50: + mov r0, r5 + add sp, sp, #0x18 + ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + arm_func_end _ZN7MapBase21GetTriggerBoundingBoxEiP4AABB + + .global _ZN11TriggerBase14GetBoundingBoxEv + arm_func_start _ZN11TriggerBase14GetBoundingBoxEv +_ZN11TriggerBase14GetBoundingBoxEv: ; 0x0207fb5c + mov r0, #0 + bx lr + arm_func_end _ZN11TriggerBase14GetBoundingBoxEv + + .global _ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi + arm_func_start _ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi +_ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi: ; 0x0207fb64 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} + sub sp, sp, #0x18 + mov r10, r0 + ldr r6, [r10, #0x10c] + ldr r0, [r10, #0x110] + mov r9, r1 + add r0, r6, r0, lsl #2 + mov r8, r2 + mov r7, r3 + cmp r6, r0 + mov r5, #0 + beq _0207fc20 + add r4, sp, #0 +_0207fb98: + ldr r0, [r6] + ldrb r1, [r0, #5] + cmp r9, r1 + bne _0207fbf8 + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0x18] + blx r2 + cmp r0, #0 + beq _0207fbf8 + ldr r0, [sp] + add r5, r5, #1 + str r0, [r8] + ldr r0, [sp, #4] + str r0, [r8, #4] + ldr r0, [sp, #8] + str r0, [r8, #8] + ldr r0, [sp, #0xc] + str r0, [r8, #0xc] + ldr r0, [sp, #0x10] + str r0, [r8, #0x10] + ldr r0, [sp, #0x14] + str r0, [r8, #0x14] + add r8, r8, #0x18 +_0207fbf8: + cmp r5, r7 + addhs sp, sp, #0x18 + movhs r0, r5 + ldmhsia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} + ldr r1, [r10, #0x10c] + ldr r0, [r10, #0x110] + add r6, r6, #4 + add r0, r1, r0, lsl #2 + cmp r6, r0 + bne _0207fb98 +_0207fc20: + mov r0, r5 + add sp, sp, #0x18 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} + arm_func_end _ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi + + .global _ZN7MapBase21GetOverlappingTriggerEP5Vec3p + arm_func_start _ZN7MapBase21GetOverlappingTriggerEP5Vec3p +_ZN7MapBase21GetOverlappingTriggerEP5Vec3p: ; 0x0207fc2c + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r6, r0 + ldr r4, [r6, #0x10c] + ldr r0, [r6, #0x110] + mov r5, r1 + add r0, r4, r0, lsl #2 + cmp r4, r0 + beq _0207fc88 +_0207fc4c: + ldr r7, [r4] + mov r1, r5 + mov r0, r7 + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + cmp r0, #0 + ldrneb r0, [r7, #5] + ldmneia sp!, {r3, r4, r5, r6, r7, pc} + ldr r1, [r6, #0x10c] + ldr r0, [r6, #0x110] + add r4, r4, #4 + add r0, r1, r0, lsl #2 + cmp r4, r0 + bne _0207fc4c +_0207fc88: + mov r0, #0 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end _ZN7MapBase21GetOverlappingTriggerEP5Vec3p + + .global _ZN11TriggerBase8OverlapsEv + arm_func_start _ZN11TriggerBase8OverlapsEv +_ZN11TriggerBase8OverlapsEv: ; 0x0207fc90 + mov r0, #0 + bx lr + arm_func_end _ZN11TriggerBase8OverlapsEv + + .global _ZN7MapBase11FindTriggerEi + arm_func_start _ZN7MapBase11FindTriggerEi +_ZN7MapBase11FindTriggerEi: ; 0x0207fc98 + ldr ip, [r0, #0x10c] + ldr r2, [r0, #0x110] + add r2, ip, r2, lsl #2 + cmp ip, r2 + beq _0207fcd8 +_0207fcac: + ldr r3, [ip] + ldrb r2, [r3, #5] + cmp r1, r2 + moveq r0, r3 + bxeq lr + ldr r3, [r0, #0x10c] + ldr r2, [r0, #0x110] + add ip, ip, #4 + add r2, r3, r2, lsl #2 + cmp ip, r2 + bne _0207fcac +_0207fcd8: + mov r0, #0 + bx lr + arm_func_end _ZN7MapBase11FindTriggerEi + + .global _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei + arm_func_start _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei +_ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei: ; 0x0207fce0 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} + mov r10, r0 + ldr r6, [r10, #0x10c] + ldr r0, [r10, #0x110] + mov r9, r1 + add r0, r6, r0, lsl #2 + mov r8, r2 + mov r7, r3 + cmp r6, r0 + mov r4, #0 + beq _0207fd50 +_0207fd0c: + cmp r4, r7 + bhs _0207fd50 + ldr r5, [r6] + mov r1, r9 + mov r0, r5 + ldr r2, [r0] + ldr r2, [r2, #0x14] + blx r2 + cmp r0, #0 + strne r5, [r8, r4, lsl #2] + ldr r1, [r10, #0x10c] + ldr r0, [r10, #0x110] + add r6, r6, #4 + add r0, r1, r0, lsl #2 + addne r4, r4, #1 + cmp r6, r0 + bne _0207fd0c +_0207fd50: + mov r0, r4 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} + arm_func_end _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei + + .global _ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p + arm_func_start _ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p +_ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p: ; 0x0207fd58 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + movs r6, r1 + mov r7, r0 + mov r5, r2 + moveq r0, #1 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + ldr r4, [r7, #0x10c] + ldr r0, [r7, #0x110] + add r0, r4, r0, lsl #2 + cmp r4, r0 + beq _0207fdc8 +_0207fd84: + ldr r0, [r4] + ldrb r1, [r0, #5] + cmp r6, r1 + bne _0207fdb0 + ldr r2, [r0] + mov r1, r5 + ldr r2, [r2, #0x14] + blx r2 + cmp r0, #0 + movne r0, #1 + ldmneia sp!, {r3, r4, r5, r6, r7, pc} +_0207fdb0: + ldr r1, [r7, #0x10c] + ldr r0, [r7, #0x110] + add r4, r4, #4 + add r0, r1, r0, lsl #2 + cmp r4, r0 + bne _0207fd84 +_0207fdc8: + mov r0, #0 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end _ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p + + .global _ZN7MapBase18AnyTrigger_func_0cEi + arm_func_start _ZN7MapBase18AnyTrigger_func_0cEi +_ZN7MapBase18AnyTrigger_func_0cEi: ; 0x0207fdd0 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r7, r0 + ldr r5, [r7, #0x10c] + ldr r0, [r7, #0x110] + mov r6, r1 + add r0, r5, r0, lsl #2 + cmp r5, r0 + beq _0207fe2c + mov r4, #1 +_0207fdf4: + ldr r0, [r5] + ldrb r1, [r0, #5] + cmp r6, r1 + bne _0207fe14 + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0xc] + blx r2 +_0207fe14: + ldr r1, [r7, #0x10c] + ldr r0, [r7, #0x110] + add r5, r5, #4 + add r0, r1, r0, lsl #2 + cmp r5, r0 + bne _0207fdf4 +_0207fe2c: + mov r0, #1 + ldmia sp!, {r3, r4, r5, r6, r7, pc} + arm_func_end _ZN7MapBase18AnyTrigger_func_0cEi + + .global _ZN11TriggerBase8vfunc_0cEv + arm_func_start _ZN11TriggerBase8vfunc_0cEv +_ZN11TriggerBase8vfunc_0cEv: ; 0x0207fe34 + mov r0, #0 + bx lr + arm_func_end _ZN11TriggerBase8vfunc_0cEv + + .global _ZN7MapBase16Trigger_vfunc_08Ev + arm_func_start _ZN7MapBase16Trigger_vfunc_08Ev +_ZN7MapBase16Trigger_vfunc_08Ev: ; 0x0207fe3c + stmdb sp!, {r3, r4, r5, lr} + mov r5, r0 + ldr r4, [r5, #0x10c] + ldr r0, [r5, #0x110] + add r0, r4, r0, lsl #2 + cmp r4, r0 + ldmeqia sp!, {r3, r4, r5, pc} +_0207fe58: + ldr r0, [r4], #4 + ldr r1, [r0] + ldr r1, [r1, #8] + blx r1 + ldr r1, [r5, #0x10c] + ldr r0, [r5, #0x110] + add r0, r1, r0, lsl #2 + cmp r4, r0 + bne _0207fe58 + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN7MapBase16Trigger_vfunc_08Ev + + .global _ZN7MapBase10AddTriggerEi + arm_func_start _ZN7MapBase10AddTriggerEi +_ZN7MapBase10AddTriggerEi: ; 0x0207fe80 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {lr} + sub sp, sp, #0x14 + ldr r1, [r0, #0x110] + cmp r1, #0x40 + addhs sp, sp, #0x14 + movhs r0, #0 + ldmhsia sp!, {lr} + addhs sp, sp, #0x10 + bxhs lr + ldr r2, [r0, #0x10c] + ldr r1, [r0, #0x110] + str r2, [sp, #0x10] + add ip, r2, r1, lsl #2 + str ip, [sp, #0xc] + str ip, [sp, #4] + str r2, [sp, #8] + ldr r3, [sp, #0x1c] + b _0207fed4 +_0207fecc: + add r2, r2, #4 + str r2, [sp, #8] +_0207fed4: + cmp r2, ip + ldrne r1, [r2] + cmpne r1, r3 + bne _0207fecc + ldr r1, [sp, #8] + cmp r1, ip + addne sp, sp, #0x14 + movne r0, #0 + ldmneia sp!, {lr} + addne sp, sp, #0x10 + bxne lr + ldr r1, [sp, #0x1c] + ldrb r1, [r1, #4] + cmp r1, #0 + addne sp, sp, #0x14 + movne r0, #0 + ldmneia sp!, {lr} + addne sp, sp, #0x10 + bxne lr + mov r3, #0 + strb r3, [sp, #1] + ldr r2, [r0, #0x110] + ldr r1, [r0, #0x114] + cmp r2, r1 + bhs _0207ff54 + add r3, r2, #1 + str r3, [r0, #0x110] + ldr r1, [r0, #0x10c] + ldr r2, [sp, #0x1c] + sub r0, r3, #1 + str r2, [r1, r0, lsl #2] + b _0207ff74 +_0207ff54: + strb r3, [sp] + sub r2, sp, #4 + and r1, r3, #0xff + strb r1, [r2] + ldr r2, [r2] + add r1, sp, #0x1c + add r0, r0, #0x10c + bl func_ov00_02080f64 +_0207ff74: + mov r0, #1 + add sp, sp, #0x14 + ldmia sp!, {lr} + add sp, sp, #0x10 + bx lr + arm_func_end _ZN7MapBase10AddTriggerEi + + .global _ZN7MapBase18func_ov00_0207ff88Ei + arm_func_start _ZN7MapBase18func_ov00_0207ff88Ei +_ZN7MapBase18func_ov00_0207ff88Ei: ; 0x0207ff88 + stmdb sp!, {r3, lr} + sub sp, sp, #0x28 + ldrb r2, [r1, #4] + cmp r2, #0 + addne sp, sp, #0x28 + movne r0, #0 + ldmneia sp!, {r3, pc} + ldr ip, [r0, #0x10c] + ldr r2, [r0, #0x110] + str ip, [sp, #0x20] + add r3, ip, r2, lsl #2 + str r3, [sp, #0x1c] + str r3, [sp, #0xc] + str r3, [sp, #4] + str ip, [sp, #8] + b _0207ffd0 +_0207ffc8: + add ip, ip, #4 + str ip, [sp, #8] +_0207ffd0: + cmp ip, r3 + ldrne r2, [ip] + cmpne r2, r1 + bne _0207ffc8 + ldr r2, [sp, #8] + ldr r3, [sp, #0xc] + mov lr, r2 + cmp r2, r3 + addne ip, lr, #4 + cmpne ip, r3 + beq _02080014 +_0207fffc: + ldr r2, [ip] + add ip, ip, #4 + cmp r2, r1 + strne r2, [lr], #4 + cmp ip, r3 + bne _0207fffc +_02080014: + ldr r2, [r0, #0x10c] + ldr r1, [r0, #0x110] + mov r3, #0 + add r2, r2, r1, lsl #2 + strb r3, [sp] + sub r1, sp, #4 + strb r3, [r1] + ldr r3, [r1] + mov r1, lr + add r0, r0, #0x10c + str lr, [sp, #0x24] + str r2, [sp, #0x18] + str r2, [sp, #0x10] + str lr, [sp, #0x14] + bl func_ov00_02080f94 + mov r0, #1 + add sp, sp, #0x28 + ldmia sp!, {r3, pc} + arm_func_end _ZN7MapBase18func_ov00_0207ff88Ei + + .global _ZN7MapBase18func_ov00_0208005cEiii + arm_func_start _ZN7MapBase18func_ov00_0208005cEiii +_ZN7MapBase18func_ov00_0208005cEiii: ; 0x0208005c + ldr ip, _02080068 ; =func_ov00_0209c1e4 + ldr r0, [r0, #0x144] + bx ip + .align 2, 0 + arm_func_end _ZN7MapBase18func_ov00_0208005cEiii +_02080068: .word func_ov00_0209c1e4 + + .global _ZN7MapBase18func_ov00_0208006cEii + arm_func_start _ZN7MapBase18func_ov00_0208006cEii +_ZN7MapBase18func_ov00_0208006cEii: ; 0x0208006c + ldr ip, _02080078 ; =func_ov00_0209c2b4 + ldr r0, [r0, #0x144] + bx ip + .align 2, 0 + arm_func_end _ZN7MapBase18func_ov00_0208006cEii +_02080078: .word func_ov00_0209c2b4 + + .global _ZN7MapBase18func_ov00_0208007cEii + arm_func_start _ZN7MapBase18func_ov00_0208007cEii +_ZN7MapBase18func_ov00_0208007cEii: ; 0x0208007c + ldr ip, _02080088 ; =func_ov00_0209c2d0 + ldr r0, [r0, #0x144] + bx ip + .align 2, 0 + arm_func_end _ZN7MapBase18func_ov00_0208007cEii +_02080088: .word func_ov00_0209c2d0 + + .global _ZN7MapBase18func_ov00_0208008cEj + arm_func_start _ZN7MapBase18func_ov00_0208008cEj +_ZN7MapBase18func_ov00_0208008cEj: ; 0x0208008c + ldr ip, _02080098 ; =func_ov00_0209c8e4 + ldr r0, [r0, #0x144] + bx ip + .align 2, 0 + arm_func_end _ZN7MapBase18func_ov00_0208008cEj +_02080098: .word func_ov00_0209c8e4 + + .global _ZN7MapBase7AddExitEP4Exit + arm_func_start _ZN7MapBase7AddExitEP4Exit +_ZN7MapBase7AddExitEP4Exit: ; 0x0208009c + stmdb sp!, {r3, lr} + mov ip, #0 + strb ip, [sp, #1] + ldr r3, [r0, #0x11c] + ldr r2, [r0, #0x120] + cmp r3, r2 + bhs _02080120 + add ip, r3, #1 + sub r3, ip, #1 + mov r2, #0x18 + mul r2, r3, r2 + str ip, [r0, #0x11c] + ldr r3, [r0, #0x118] + ldr r0, [r1] + add ip, r3, r2 + str r0, [r3, r2] + ldr r0, [r1, #4] + str r0, [ip, #4] + ldr r0, [r1, #8] + str r0, [ip, #8] + ldr r0, [r1, #0xc] + str r0, [ip, #0xc] + ldrsh r0, [r1, #0x10] + strh r0, [ip, #0x10] + ldrb r0, [r1, #0x12] + strb r0, [ip, #0x12] + ldrb r0, [r1, #0x13] + strb r0, [ip, #0x13] + ldrb r0, [r1, #0x14] + strb r0, [ip, #0x14] + ldrb r0, [r1, #0x15] + strb r0, [ip, #0x15] + ldmia sp!, {r3, pc} +_02080120: + strb ip, [sp] + sub r3, sp, #4 + and r2, ip, #0xff + strb r2, [r3] + ldr r2, [r3] + add r0, r0, #0x118 + bl func_ov00_020810b8 + ldmia sp!, {r3, pc} + arm_func_end _ZN7MapBase7AddExitEP4Exit + + .global _ZN7MapBase18func_ov00_02080140EP4Exit + arm_func_start _ZN7MapBase18func_ov00_02080140EP4Exit +_ZN7MapBase18func_ov00_02080140EP4Exit: ; 0x02080140 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} + sub sp, sp, #0x50 + ldr r9, [r1] + mov r4, r0 + str r9, [sp, #0x38] + ldr r8, [r1, #4] + mov r10, #0x18 + str r8, [sp, #0x3c] + ldr r7, [r1, #8] + add r0, sp, #0x1c + str r7, [sp, #0x40] + ldr r6, [r1, #0xc] + add r3, sp, #0x20 + str r6, [sp, #0x44] + ldrsh r5, [r1, #0x10] + strh r5, [sp, #0x48] + ldrb lr, [r1, #0x12] + strb lr, [sp, #0x4a] + ldrb ip, [r1, #0x13] + strb ip, [sp, #0x4b] + ldrb r2, [r1, #0x14] + strb r2, [sp, #0x4c] + ldrb r1, [r1, #0x15] + str r9, [sp, #0x20] + str r8, [sp, #0x24] + strb r1, [sp, #0x4d] + str r7, [sp, #0x28] + str r6, [sp, #0x2c] + strh r5, [sp, #0x30] + strb lr, [sp, #0x32] + strb ip, [sp, #0x33] + strb r2, [sp, #0x34] + strb r1, [sp, #0x35] + ldr r1, [r4, #0x118] + ldr r5, [r4, #0x11c] + str r1, [sp, #0x18] + mla r2, r5, r10, r1 + str r2, [sp, #0x14] + bl _ZN12MapBase_Unk118func_ov00_02080324Eiii + ldr r0, [r4, #0x118] + ldr r2, [r4, #0x11c] + mov r1, r10 + mla r5, r2, r1, r0 + ldr r1, [sp, #0x1c] + cmp r1, r5 + bne _02080310 + mov r1, #0 + cmp r0, r5 + str r0, [sp, #8] + addne r3, r0, #0x18 + strne r3, [sp, #8] + str r5, [sp, #0xc] + str r0, [sp, #0x10] + strb r1, [sp, #2] + str r5, [sp, #4] + cmpne r3, r5 + beq _02080244 +_02080224: + ldrb r2, [r0, #0x14] + ldrb r1, [r3, #0x14] + cmp r2, r1 + movlo r0, r3 + add r3, r3, #0x18 + cmp r3, r5 + bne _02080224 + str r3, [sp, #8] +_02080244: + ldr r3, [r4, #0x118] + ldr r2, [r4, #0x11c] + mov r1, #0x18 + mla r1, r2, r1, r3 + cmp r0, r1 + moveq r0, #1 + streqb r0, [sp, #0x4c] + ldrneb r0, [r0, #0x14] + mov r2, #0 + addne r0, r0, #1 + strneb r0, [sp, #0x4c] + strb r2, [sp, #1] + ldr r1, [r4, #0x11c] + ldr r0, [r4, #0x120] + cmp r1, r0 + bhs _020802ec + add r3, r1, #1 + sub r1, r3, #1 + mov r0, #0x18 + mul r2, r1, r0 + str r3, [r4, #0x11c] + ldr r1, [r4, #0x118] + ldr r0, [sp, #0x38] + add r3, r1, r2 + str r0, [r1, r2] + ldr r0, [sp, #0x3c] + str r0, [r3, #4] + ldr r0, [sp, #0x40] + str r0, [r3, #8] + ldr r0, [sp, #0x44] + str r0, [r3, #0xc] + ldrsh r0, [sp, #0x48] + strh r0, [r3, #0x10] + ldrb r0, [sp, #0x4a] + strb r0, [r3, #0x12] + ldrb r0, [sp, #0x4b] + strb r0, [r3, #0x13] + ldrb r0, [sp, #0x4c] + strb r0, [r3, #0x14] + ldrb r0, [sp, #0x4d] + strb r0, [r3, #0x15] + b _02080318 +_020802ec: + strb r2, [sp] + sub r1, sp, #4 + and r0, r2, #0xff + strb r0, [r1] + ldr r2, [r1] + add r1, sp, #0x38 + add r0, r4, #0x118 + bl func_ov00_020810b8 + b _02080318 +_02080310: + ldrb r0, [r1, #0x14] + strb r0, [sp, #0x4c] +_02080318: + ldrb r0, [sp, #0x4c] + add sp, sp, #0x50 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} + arm_func_end _ZN7MapBase18func_ov00_02080140EP4Exit + + .global _ZN12MapBase_Unk118func_ov00_02080324Eiii + arm_func_start _ZN12MapBase_Unk118func_ov00_02080324Eiii +_ZN12MapBase_Unk118func_ov00_02080324Eiii: ; 0x02080324 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r4, r5, r6, r7, r8, lr} + mov r7, r0 + mov r6, r3 + ldr r5, [sp, #0x20] + ldr r4, [sp, #0x1c] + b _02080344 +_02080340: + add r4, r4, #0x18 +_02080344: + cmp r4, r5 + beq _0208038c + mov r0, r4 + bl func_ov00_020a5e9c + mov r8, r0 + mov r0, r6 + bl func_ov00_020a5e9c + cmp r8, r0 + ldreqb r1, [r4, #0x12] + ldreqb r0, [r6, #0x12] + cmpeq r1, r0 + ldreqb r1, [r4, #0x13] + ldreqb r0, [r6, #0x13] + cmpeq r1, r0 + ldreq r1, [r4, #8] + ldreq r0, [r6, #8] + cmpeq r1, r0 + bne _02080340 +_0208038c: + str r4, [r7] + ldmia sp!, {r4, r5, r6, r7, r8, lr} + add sp, sp, #0x10 + bx lr + arm_func_end _ZN12MapBase_Unk118func_ov00_02080324Eiii + + .global _ZN7MapBase8FindExitEiP4Exit + arm_func_start _ZN7MapBase8FindExitEiP4Exit +_ZN7MapBase8FindExitEiP4Exit: ; 0x0208039c + stmdb sp!, {lr} + sub sp, sp, #0x14 + cmp r1, #0 + addle sp, sp, #0x14 + movle r0, #0 + ldmleia sp!, {pc} + ldr ip, [r0, #0x118] + ldr r3, [r0, #0x11c] + mov r0, #0x18 + mla lr, r3, r0, ip + and r0, r1, #0xff + strb r1, [sp, #1] + strb r0, [sp] + str lr, [sp, #0xc] + str lr, [sp, #4] + str ip, [sp, #0x10] + str ip, [sp, #8] + and r1, r0, #0xff + b _020803f0 +_020803e8: + add ip, ip, #0x18 + str ip, [sp, #8] +_020803f0: + cmp ip, lr + ldrneb r0, [ip, #0x14] + cmpne r1, r0 + bne _020803e8 + ldr r0, [sp, #8] + cmp r0, lr + addeq sp, sp, #0x14 + moveq r0, #0 + ldmeqia sp!, {pc} + ldr r3, [sp, #8] + mov r0, #1 + ldr r1, [r3] + str r1, [r2] + ldr r1, [r3, #4] + str r1, [r2, #4] + ldr r1, [r3, #8] + str r1, [r2, #8] + ldr r1, [r3, #0xc] + str r1, [r2, #0xc] + ldrsh r1, [r3, #0x10] + strh r1, [r2, #0x10] + ldrb r1, [r3, #0x12] + strb r1, [r2, #0x12] + ldrb r1, [r3, #0x13] + strb r1, [r2, #0x13] + ldrb r1, [r3, #0x14] + strb r1, [r2, #0x14] + ldrb r1, [r3, #0x15] + strb r1, [r2, #0x15] + add sp, sp, #0x14 + ldmia sp!, {pc} + arm_func_end _ZN7MapBase8FindExitEiP4Exit + + .global _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint + arm_func_start _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint +_ZN7MapBase18AddCameraViewpointEP15CameraViewpoint: ; 0x0208046c + stmdb sp!, {r3, lr} + mov ip, #0 + strb ip, [sp, #1] + ldr r3, [r0, #0x128] + ldr r2, [r0, #0x12c] + cmp r3, r2 + bhs _020804f0 + add ip, r3, #1 + sub r3, ip, #1 + mov r2, #0x1c + mul r2, r3, r2 + str ip, [r0, #0x128] + ldr r3, [r0, #0x124] + ldr r0, [r1] + add ip, r3, r2 + str r0, [r3, r2] + ldrb r0, [r1, #4] + strb r0, [ip, #4] + ldr r0, [r1, #8] + str r0, [ip, #8] + ldr r0, [r1, #0xc] + str r0, [ip, #0xc] + ldr r0, [r1, #0x10] + str r0, [ip, #0x10] + ldrsh r0, [r1, #0x14] + strh r0, [ip, #0x14] + ldrsh r0, [r1, #0x16] + strh r0, [ip, #0x16] + ldrh r2, [r1, #0x18] + ldrh r0, [r1, #0x1a] + strh r2, [ip, #0x18] + strh r0, [ip, #0x1a] + ldmia sp!, {r3, pc} +_020804f0: + strb ip, [sp] + sub r3, sp, #4 + and r2, ip, #0xff + strb r2, [r3] + ldr r2, [r3] + add r0, r0, #0x124 + bl func_ov00_02081130 + ldmia sp!, {r3, pc} + arm_func_end _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint + + .global _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint + arm_func_start _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint +_ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint: ; 0x02080510 + stmdb sp!, {lr} + sub sp, sp, #0x14 + ldr ip, [r0, #0x124] + ldr r3, [r0, #0x128] + mov r0, #0x1c + mla lr, r3, r0, ip + and r0, r1, #0xff + strb r1, [sp, #1] + strb r0, [sp] + str lr, [sp, #0xc] + str lr, [sp, #4] + str ip, [sp, #0x10] + str ip, [sp, #8] + and r1, r0, #0xff + b _02080554 +_0208054c: + add ip, ip, #0x1c + str ip, [sp, #8] +_02080554: + cmp ip, lr + ldrneb r0, [ip, #4] + cmpne r1, r0 + bne _0208054c + ldr r0, [sp, #8] + cmp r0, lr + addeq sp, sp, #0x14 + moveq r0, #0 + ldmeqia sp!, {pc} + ldr ip, [sp, #8] + mov r0, #1 + ldr r1, [ip] + str r1, [r2] + ldrb r1, [ip, #4] + strb r1, [r2, #4] + ldr r1, [ip, #8] + str r1, [r2, #8] + ldr r1, [ip, #0xc] + str r1, [r2, #0xc] + ldr r1, [ip, #0x10] + str r1, [r2, #0x10] + ldrsh r1, [ip, #0x14] + strh r1, [r2, #0x14] + ldrsh r1, [ip, #0x16] + strh r1, [r2, #0x16] + ldrh r3, [ip, #0x18] + ldrh r1, [ip, #0x1a] + strh r3, [r2, #0x18] + strh r1, [r2, #0x1a] + add sp, sp, #0x14 + ldmia sp!, {pc} + arm_func_end _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint + + .global _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint + arm_func_start _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint +_ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint: ; 0x020805d0 + stmdb sp!, {r3, lr} + sub sp, sp, #0x18 + ldr ip, [r0, #0x124] + ldr r3, [r0, #0x128] + mov r0, #0x1c + mla lr, r3, r0, ip + str r1, [sp, #0xc] + str r1, [sp] + str lr, [sp, #0x10] + str lr, [sp, #4] + str ip, [sp, #0x14] + str ip, [sp, #8] + b _0208060c +_02080604: + add ip, ip, #0x1c + str ip, [sp, #8] +_0208060c: + cmp ip, lr + ldrne r0, [ip] + cmpne r1, r0 + bne _02080604 + ldr r0, [sp, #8] + cmp r0, lr + addeq sp, sp, #0x18 + moveq r0, #0 + ldmeqia sp!, {r3, pc} + ldr ip, [sp, #8] + mov r0, #1 + ldr r1, [ip] + str r1, [r2] + ldrb r1, [ip, #4] + strb r1, [r2, #4] + ldr r1, [ip, #8] + str r1, [r2, #8] + ldr r1, [ip, #0xc] + str r1, [r2, #0xc] + ldr r1, [ip, #0x10] + str r1, [r2, #0x10] + ldrsh r1, [ip, #0x14] + strh r1, [r2, #0x14] + ldrsh r1, [ip, #0x16] + strh r1, [r2, #0x16] + ldrh r3, [ip, #0x18] + ldrh r1, [ip, #0x1a] + strh r3, [r2, #0x18] + strh r1, [r2, #0x1a] + add sp, sp, #0x18 + ldmia sp!, {r3, pc} + arm_func_end _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint + + .global _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi + arm_func_start _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi +_ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi: ; 0x02080688 + stmdb sp!, {r3, r4, r5, r6, lr} + sub sp, sp, #0x1c + mov r6, r0 + mov r4, r2 + add r2, r6, r4 + mov r5, r1 + ldrb r1, [r2, #0x16] + cmp r1, #0 + bne _020806c8 + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0xb8] + blx r2 + add sp, sp, #0x1c + str r0, [r5] + ldmia sp!, {r3, r4, r5, r6, pc} +_020806c8: + mov ip, #0 + mov r0, #0xff + add r3, sp, #0 + str ip, [sp] + strb r0, [sp, #4] + strh ip, [sp, #0x14] + strh ip, [sp, #0x16] + mov r2, ip +_020806e8: + add r0, r3, ip, lsl #1 + add ip, ip, #1 + strh r2, [r0, #0x18] + cmp ip, #2 + blo _020806e8 + add r2, sp, #0 + mov r0, r6 + bl _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint + cmp r0, #0 + bne _02080730 + mov r0, r6 + ldr r2, [r0] + mov r1, r4 + ldr r2, [r2, #0xb8] + blx r2 + add sp, sp, #0x1c + str r0, [r5] + ldmia sp!, {r3, r4, r5, r6, pc} +_02080730: + ldr r0, [sp] + str r0, [r5] + ldrb r0, [sp, #4] + strb r0, [r5, #4] + ldr r0, [sp, #8] + str r0, [r5, #8] + ldr r0, [sp, #0xc] + str r0, [r5, #0xc] + ldr r0, [sp, #0x10] + str r0, [r5, #0x10] + ldrsh r0, [sp, #0x14] + strh r0, [r5, #0x14] + ldrsh r0, [sp, #0x16] + strh r0, [r5, #0x16] + ldrh r1, [sp, #0x18] + ldrh r0, [sp, #0x1a] + strh r1, [r5, #0x18] + strh r0, [r5, #0x1a] + add sp, sp, #0x1c + ldmia sp!, {r3, r4, r5, r6, pc} + arm_func_end _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi + + .global _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei + arm_func_start _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei +_ZN7MapBase26GetCurrentViewpoint_Unk_00Ei: ; 0x02080780 + stmdb sp!, {lr} + sub sp, sp, #0x1c + mov lr, #0 + mov r3, #0xff + strb r3, [sp, #4] + add ip, sp, #0 + mov r2, r1 + str lr, [sp] + strh lr, [sp, #0x14] + strh lr, [sp, #0x16] + mov r3, lr +_020807ac: + add r1, ip, lr, lsl #1 + add lr, lr, #1 + strh r3, [r1, #0x18] + cmp lr, #2 + blo _020807ac + add r1, sp, #0 + bl _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi + ldr r0, [sp] + add sp, sp, #0x1c + ldmia sp!, {pc} + arm_func_end _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei + + .global _ZN7MapBase8vfunc_b8Ev + arm_func_start _ZN7MapBase8vfunc_b8Ev +_ZN7MapBase8vfunc_b8Ev: ; 0x020807d4 + stmdb sp!, {r3, lr} + ldr r0, _02080820 ; =data_027e0618 + ldr r0, [r0] + cmp r0, #6 + bne _02080818 + bl func_ov00_02079e3c + cmp r0, #0 + beq _02080800 + cmp r0, #1 + beq _02080808 + b _02080810 +_02080800: + mov r0, #0 + ldmia sp!, {r3, pc} +_02080808: + mov r0, #0x1c + ldmia sp!, {r3, pc} +_02080810: + mov r0, #0x1c + ldmia sp!, {r3, pc} +_02080818: + mov r0, #0 + ldmia sp!, {r3, pc} + .align 2, 0 + arm_func_end _ZN7MapBase8vfunc_b8Ev +_02080820: .word data_027e0618 + + .global _ZN7MapBase18func_ov00_02080824Eii + arm_func_start _ZN7MapBase18func_ov00_02080824Eii +_ZN7MapBase18func_ov00_02080824Eii: ; 0x02080824 + stmdb sp!, {r4, lr} + ldr r4, [r0, #0x14c] + cmp r4, #0 + moveq r0, #0 + ldmeqia sp!, {r4, pc} + ldrh r3, [r4, #4] + mov ip, #0 + cmp r3, #0 + ble _020808c8 + mov lr, r4 +_0208084c: + ldrb r0, [lr, #8] + cmp r1, r0 + bne _020808b8 + mov r0, #0x1c + mul r0, ip, r0 + add r3, r4, #8 + ldrb r1, [r3, r0] + add r3, r3, r0 + mov r0, #1 + strb r1, [r2] + ldrb r1, [r3, #1] + strb r1, [r2, #1] + ldrsh r1, [r3, #2] + strh r1, [r2, #2] + ldr r1, [r3, #4] + str r1, [r2, #4] + ldr r1, [r3, #8] + str r1, [r2, #8] + ldr r1, [r3, #0xc] + str r1, [r2, #0xc] + ldr r1, [r3, #0x10] + str r1, [r2, #0x10] + ldr r1, [r3, #0x14] + str r1, [r2, #0x14] + ldr r1, [r3, #0x18] + str r1, [r2, #0x18] + ldmia sp!, {r4, pc} +_020808b8: + add ip, ip, #1 + cmp ip, r3 + add lr, lr, #0x1c + blt _0208084c +_020808c8: + mov r0, #0 + ldmia sp!, {r4, pc} + arm_func_end _ZN7MapBase18func_ov00_02080824Eii + + .global _ZN7MapBase10AddUnk_130Ei + arm_func_start _ZN7MapBase10AddUnk_130Ei +_ZN7MapBase10AddUnk_130Ei: ; 0x020808d0 + stmdb sp!, {r0, r1, r2, r3} + arm_func_end _ZN7MapBase10AddUnk_130Ei + + .global func_ov00_020808d4 + arm_func_start func_ov00_020808d4 +func_ov00_020808d4: ; 0x020808d4 + stmdb sp!, {lr} + sub sp, sp, #0x14 + ldr r1, [r0, #0x134] + cmp r1, #0x20 + addhs sp, sp, #0x14 + movhs r0, #0 + ldmhsia sp!, {lr} + addhs sp, sp, #0x10 + bxhs lr + ldr r2, [r0, #0x130] + ldr r1, [r0, #0x134] + str r2, [sp, #0x10] + add ip, r2, r1, lsl #2 + str ip, [sp, #0xc] + str ip, [sp, #4] + str r2, [sp, #8] + ldr r3, [sp, #0x1c] + b _02080924 +_0208091c: + add r2, r2, #4 + str r2, [sp, #8] +_02080924: + cmp r2, ip + ldrne r1, [r2] + cmpne r1, r3 + bne _0208091c + ldr r1, [sp, #8] + cmp r1, ip + addne sp, sp, #0x14 + movne r0, #0 + ldmneia sp!, {lr} + addne sp, sp, #0x10 + bxne lr + mov r3, #0 + strb r3, [sp, #1] + ldr r2, [r0, #0x134] + ldr r1, [r0, #0x138] + cmp r2, r1 + bhs _02080984 + add r3, r2, #1 + str r3, [r0, #0x134] + ldr r1, [r0, #0x130] + ldr r2, [sp, #0x1c] + sub r0, r3, #1 + str r2, [r1, r0, lsl #2] + b _020809a4 +_02080984: + strb r3, [sp] + sub r2, sp, #4 + and r1, r3, #0xff + strb r1, [r2] + ldr r2, [r2] + add r1, sp, #0x1c + add r0, r0, #0x130 + bl func_ov00_02080f64 +_020809a4: + mov r0, #1 + add sp, sp, #0x14 + ldmia sp!, {lr} + add sp, sp, #0x10 + bx lr + arm_func_end func_ov00_020808d4 + + .global _ZN7MapBase18func_ov00_020809b8Ei + arm_func_start _ZN7MapBase18func_ov00_020809b8Ei +_ZN7MapBase18func_ov00_020809b8Ei: ; 0x020809b8 + stmdb sp!, {r3, lr} + sub sp, sp, #0x28 + ldr ip, [r0, #0x130] + ldr r2, [r0, #0x134] + str ip, [sp, #0x20] + add r3, ip, r2, lsl #2 + str r3, [sp, #0x1c] + str r3, [sp, #0xc] + str r3, [sp, #4] + str ip, [sp, #8] + b _020809ec +_020809e4: + add ip, ip, #4 + str ip, [sp, #8] +_020809ec: + cmp ip, r3 + ldrne r2, [ip] + cmpne r2, r1 + bne _020809e4 + ldr r2, [sp, #8] + ldr r3, [sp, #0xc] + mov lr, r2 + cmp r2, r3 + addne ip, lr, #4 + cmpne ip, r3 + beq _02080a30 +_02080a18: + ldr r2, [ip] + add ip, ip, #4 + cmp r2, r1 + strne r2, [lr], #4 + cmp ip, r3 + bne _02080a18 +_02080a30: + ldr r2, [r0, #0x130] + ldr r1, [r0, #0x134] + mov r3, #0 + add r2, r2, r1, lsl #2 + strb r3, [sp] + sub r1, sp, #4 + strb r3, [r1] + ldr r3, [r1] + mov r1, lr + add r0, r0, #0x130 + str lr, [sp, #0x24] + str r2, [sp, #0x18] + str r2, [sp, #0x10] + str lr, [sp, #0x14] + bl func_ov00_02080f94 + mov r0, #1 + add sp, sp, #0x28 + ldmia sp!, {r3, pc} + arm_func_end _ZN7MapBase18func_ov00_020809b8Ei + + .global _ZN7MapBase18func_ov00_02080a78EP5Vec3p + arm_func_start _ZN7MapBase18func_ov00_02080a78EP5Vec3p +_ZN7MapBase18func_ov00_02080a78EP5Vec3p: ; 0x02080a78 + stmdb sp!, {r4, lr} + sub sp, sp, #0x18 + mov r4, r0 + add r3, sp, #0xc + ldmia r1, {r0, r1, r2} + stmia r3, {r0, r1, r2} + ldr r1, [r4, #0x130] + ldr r2, [r4, #0x134] + add r0, sp, #8 + add r2, r1, r2, lsl #2 + str r2, [sp] + str r1, [sp, #4] + bl _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_ + ldr r1, [r4, #0x130] + ldr r0, [r4, #0x134] + ldr r2, [sp, #8] + add r0, r1, r0, lsl #2 + cmp r2, r0 + moveq r0, #0 + ldrne r0, [r2] + add sp, sp, #0x18 + ldmia sp!, {r4, pc} + arm_func_end _ZN7MapBase18func_ov00_02080a78EP5Vec3p + + .global _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_ + arm_func_start _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_ +_ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_: ; 0x02080ad0 + stmdb sp!, {r0, r1, r2, r3} + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r7, r0 + mov r6, r3 + ldr r5, [sp, #0x20] + ldr r4, [sp, #0x1c] + b _02080af0 +_02080aec: + add r4, r4, #4 +_02080af0: + cmp r4, r5 + beq _02080b14 + ldr r0, [r4] + mov r1, r6 + ldr r2, [r0] + ldr r2, [r2] + blx r2 + cmp r0, #0 + beq _02080aec +_02080b14: + str r4, [r7] + ldmia sp!, {r3, r4, r5, r6, r7, lr} + add sp, sp, #0x10 + bx lr + arm_func_end _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_ + + .global _ZN7MapBase18func_ov00_02080b24EP5Vec2b + arm_func_start _ZN7MapBase18func_ov00_02080b24EP5Vec2b +_ZN7MapBase18func_ov00_02080b24EP5Vec2b: ; 0x02080b24 + stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} + sub sp, sp, #0x14 + ldr r3, [r0] + mov r2, #4 + ldr r3, [r3, #0x58] + str r0, [sp] + mov r10, r1 + blx r3 + cmp r0, #0 + addne sp, sp, #0x14 + ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldr r0, [sp] + ldrh r0, [r0, #0x30] + cmp r0, #0x60 + blo _02080cd0 + ldr r0, [sp] + mov r6, #0 + ldrh r0, [r0, #0x28] + mov r7, r6 + mov r8, r6 + str r0, [sp, #4] + cmp r0, #0 + ldr r0, [sp] + ldrh r11, [r0, #0x2a] + ble _02080c4c +_02080b88: + cmp r11, #0 + mov r9, #0 + ble _02080c3c + and r0, r8, #0xff + str r0, [sp, #8] +_02080b9c: + ldr r1, [sp, #8] + ldr r0, [sp] + strb r1, [sp, #0x10] + strb r9, [sp, #0x11] + ldr r2, [r0] + add r1, sp, #0x10 + ldr r2, [r2, #0x78] + blx r2 + movs r5, r0 + beq _02080c30 + ldr r1, [r0] + ldr r1, [r1, #0x1c] + blx r1 + cmp r0, #0x42 + bne _02080c30 + cmp r6, #0 + ldrb r0, [r10] + bne _02080c08 + sub r0, r8, r0 + mov r6, r5 + bl func_02042f68 + ldrb r1, [r10, #1] + mov r4, r0 + sub r0, r9, r1 + bl func_02042f68 + add r7, r4, r0 + b _02080c30 +_02080c08: + sub r0, r8, r0 + bl func_02042f68 + ldrb r1, [r10, #1] + mov r4, r0 + sub r0, r9, r1 + bl func_02042f68 + add r0, r4, r0 + cmp r0, r7 + movgt r6, r5 + movgt r7, r0 +_02080c30: + add r9, r9, #1 + cmp r9, r11 + blt _02080b9c +_02080c3c: + ldr r0, [sp, #4] + add r8, r8, #1 + cmp r8, r0 + blt _02080b88 +_02080c4c: + cmp r6, #0 + addeq sp, sp, #0x14 + ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + ldr r1, [r6, #4] + ldr r0, [sp] + bic r1, r1, #1 + str r1, [r6, #4] + ldrb r4, [r6, #0x15] + ldrb r3, [r6, #0x14] + add r1, sp, #0xe + mov r2, #4 + strb r3, [sp, #0xe] + strb r4, [sp, #0xf] + ldr r4, [r0] + mov r3, #0 + ldr r4, [r4, #0x98] + blx r4 + ldrb r3, [r6, #0x15] + ldrb r2, [r6, #0x14] + ldr r0, [sp] + add r1, sp, #0xc + strb r2, [sp, #0xc] + strb r3, [sp, #0xd] + ldr r4, [r0] + mov r2, #6 + ldr r4, [r4, #0x98] + mov r3, #1 + blx r4 + ldr r0, [sp] + ldrh r0, [r0, #0x30] + sub r1, r0, #1 + ldr r0, [sp] + strh r1, [r0, #0x30] +_02080cd0: + ldr r0, [sp] + mov r1, r10 + ldr r4, [r0] + mov r2, #4 + ldr r4, [r4, #0x98] + mov r3, #1 + blx r4 + ldr r0, [sp] + ldrh r0, [r0, #0x30] + add r1, r0, #1 + ldr r0, [sp] + strh r1, [r0, #0x30] + add sp, sp, #0x14 + ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} + arm_func_end _ZN7MapBase18func_ov00_02080b24EP5Vec2b + + .global _ZN7MapBase18func_ov00_02080d08Ei + arm_func_start _ZN7MapBase18func_ov00_02080d08Ei +_ZN7MapBase18func_ov00_02080d08Ei: ; 0x02080d08 + stmdb sp!, {r3, r4, r5, lr} + ldr r3, [r0] + mov r2, #4 + ldr r3, [r3, #0x58] + mov r5, r0 + mov r4, r1 + blx r3 + cmp r0, #0 + ldmeqia sp!, {r3, r4, r5, pc} + mov r0, r5 + ldr ip, [r0] + mov r1, r4 + ldr ip, [ip, #0x98] + mov r2, #4 + mov r3, #0 + blx ip + mov r0, r5 + ldr ip, [r0] + mov r1, r4 + ldr ip, [ip, #0x98] + mov r2, #6 + mov r3, #1 + blx ip + ldrh r0, [r5, #0x30] + sub r0, r0, #1 + strh r0, [r5, #0x30] + ldmia sp!, {r3, r4, r5, pc} + arm_func_end _ZN7MapBase18func_ov00_02080d08Ei + + .global _ZN7MapBase8vfunc_bcEv + arm_func_start _ZN7MapBase8vfunc_bcEv +_ZN7MapBase8vfunc_bcEv: ; 0x02080d74 + bx lr + arm_func_end _ZN7MapBase8vfunc_bcEv + + .global _ZN7MapBase8vfunc_98Ev + arm_func_start _ZN7MapBase8vfunc_98Ev +_ZN7MapBase8vfunc_98Ev: ; 0x02080d78 + bx lr + arm_func_end _ZN7MapBase8vfunc_98Ev + + .global _ZN7MapBase8vfunc_c0Ev + arm_func_start _ZN7MapBase8vfunc_c0Ev +_ZN7MapBase8vfunc_c0Ev: ; 0x02080d7c + bx lr + arm_func_end _ZN7MapBase8vfunc_c0Ev + + .global _ZN7MapBase22TriggerOfType_vfunc_10Ei + arm_func_start _ZN7MapBase22TriggerOfType_vfunc_10Ei +_ZN7MapBase22TriggerOfType_vfunc_10Ei: ; 0x02080d80 + stmdb sp!, {r4, r5, r6, lr} + mov r6, r0 + ldr r4, [r6, #0x10c] + ldr r0, [r6, #0x110] + mov r5, r1 + add r0, r4, r0, lsl #2 + cmp r4, r0 + beq _02080dd4 +_02080da0: + ldr r0, [r4] + ldrb r1, [r0, #5] + cmp r5, r1 + bne _02080dbc + ldr r1, [r0] + ldr r1, [r1, #0x10] + blx r1 +_02080dbc: + ldr r1, [r6, #0x10c] + ldr r0, [r6, #0x110] + add r4, r4, #4 + add r0, r1, r0, lsl #2 + cmp r4, r0 + bne _02080da0 +_02080dd4: + mov r0, #1 + ldmia sp!, {r4, r5, r6, pc} + arm_func_end _ZN7MapBase22TriggerOfType_vfunc_10Ei + + .global _ZN11TriggerBase8vfunc_10Ev + arm_func_start _ZN11TriggerBase8vfunc_10Ev +_ZN11TriggerBase8vfunc_10Ev: ; 0x02080ddc + mov r0, #1 + bx lr + arm_func_end _ZN11TriggerBase8vfunc_10Ev + + .global _ZN7MapBase18func_ov00_02080de4Ev + arm_func_start _ZN7MapBase18func_ov00_02080de4Ev +_ZN7MapBase18func_ov00_02080de4Ev: ; 0x02080de4 + bx lr + arm_func_end _ZN7MapBase18func_ov00_02080de4Ev + + .global _ZN7MapBase18func_ov00_02080de8Ei + arm_func_start _ZN7MapBase18func_ov00_02080de8Ei +_ZN7MapBase18func_ov00_02080de8Ei: ; 0x02080de8 + stmdb sp!, {r4, r5, r6, lr} + ldr r2, _02080ed4 ; =data_027e0f64 + mov r5, r0 + ldr r0, [r2] + mov r4, #0 + add r0, r0, r1, lsl #2 + ldr r6, [r0, #4] + ldr r0, [r6, #0x15c] + cmp r0, #0x16 + bgt _02080e64 + bge _02080e84 + cmp r0, #0xb + bgt _02080e58 + cmp r0, #0 + addge pc, pc, r0, lsl #2 + b _02080e94 +_02080e28: ; jump table + b _02080e84 ; case 0 + b _02080e84 ; case 1 + b _02080e84 ; case 2 + b _02080e8c ; case 3 + b _02080e94 ; case 4 + b _02080e94 ; case 5 + b _02080e94 ; case 6 + b _02080e94 ; case 7 + b _02080e94 ; case 8 + b _02080e94 ; case 9 + b _02080e94 ; case 10 + b _02080e88 ; case 11 +_02080e58: + cmp r0, #0x15 + beq _02080e84 + b _02080e94 +_02080e64: + cmp r0, #0x5a + bgt _02080e7c + bge _02080e84 + cmp r0, #0x33 + beq _02080e84 + b _02080e94 +_02080e7c: + cmp r0, #0x5b + bne _02080e94 +_02080e84: + mov r4, #0 +_02080e88: + b _02080ec8 +_02080e8c: + mov r4, #0x1f + b _02080ec8 +_02080e94: + mov r0, r6 + bl func_ov00_02087dd8 + cmp r0, #0 + beq _02080ec8 + add r0, r6, #0x200 + ldrsh r1, [r0, #0x24] + ldr r0, _02080ed8 ; =0x00001c72 + cmp r1, r0 + ble _02080ec4 + rsb r0, r0, #0x4000 + cmp r1, r0 + blt _02080ec8 +_02080ec4: + mov r4, #0x1f +_02080ec8: + ldr r0, [r5, #0x140] + strb r4, [r0, #0x5c] + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 + arm_func_end _ZN7MapBase18func_ov00_02080de8Ei +_02080ed4: .word data_027e0f64 +_02080ed8: .word 0x00001c72 + + .global _ZN7MapBase18func_ov00_02080edcEv + arm_func_start _ZN7MapBase18func_ov00_02080edcEv +_ZN7MapBase18func_ov00_02080edcEv: ; 0x02080edc + stmdb sp!, {r4, lr} + ldr r1, _02080f1c ; =data_027e0d38 + mov r4, r0 + ldr r0, [r1] + add r0, r0, #0xc + bl func_ov00_020a5e9c + cmp r0, #0x2a + cmpne r0, #0x2f + cmpne r0, #0x30 + bne _02080f10 + mov r0, #0 + strb r0, [r4, #5] + ldmia sp!, {r4, pc} +_02080f10: + mov r0, #1 + strb r0, [r4, #5] + ldmia sp!, {r4, pc} + .align 2, 0 + arm_func_end _ZN7MapBase18func_ov00_02080edcEv +_02080f1c: .word data_027e0d38 + + .data + .global data_ov00_020e22fc +data_ov00_020e22fc: ; 0x020e22fc + .ascii "fnl" + .byte 0x00 + .global data_ov00_020e2300 +data_ov00_020e2300: ; 0x020e2300 + .ascii "bow" + .byte 0x00 + .global data_ov00_020e2304 +data_ov00_020e2304: ; 0x020e2304 + .ascii "dco" + .byte 0x00 + .global data_ov00_020e2308 +data_ov00_020e2308: ; 0x020e2308 + .ascii "can" + .byte 0x00 + .global data_ov00_020e230c +data_ov00_020e230c: ; 0x020e230c + .ascii "hul" + .byte 0x00 + .global data_ov00_020e2310 +data_ov00_020e2310: ; 0x020e2310 + .ascii "pdl" + .byte 0x00 + .global data_ov00_020e2314 +data_ov00_020e2314: ; 0x020e2314 + .ascii "anc" + .byte 0x00 + .global data_ov00_020e2318 +data_ov00_020e2318: ; 0x020e2318 + .ascii "brg" + .byte 0x00 + .global data_ov00_020e231c +data_ov00_020e231c: ; 0x020e231c + .word data_ov00_020e2314 + .global data_ov00_020e2320 +data_ov00_020e2320: ; 0x020e2320 + .word data_ov00_020e2300 + .global data_ov00_020e2324 +data_ov00_020e2324: ; 0x020e2324 + .word data_ov00_020e230c + .global data_ov00_020e2328 +data_ov00_020e2328: ; 0x020e2328 + .word data_ov00_020e2308 + .global data_ov00_020e232c +data_ov00_020e232c: ; 0x020e232c + .word data_ov00_020e2304 + .global data_ov00_020e2330 +data_ov00_020e2330: ; 0x020e2330 + .word data_ov00_020e2310 + .global data_ov00_020e2334 +data_ov00_020e2334: ; 0x020e2334 + .word data_ov00_020e22fc + .global data_ov00_020e2338 +data_ov00_020e2338: ; 0x020e2338 + .word data_ov00_020e2318 + .global data_ov00_020e233c +data_ov00_020e233c: ; 0x020e233c + .word data_ov00_020e240c + .global data_ov00_020e2340 +data_ov00_020e2340: ; 0x020e2340 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2344 +data_ov00_020e2344: ; 0x020e2344 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2348 +data_ov00_020e2348: ; 0x020e2348 + .word _ZN7MapBaseD2Ev + .global data_ov00_020e234c +data_ov00_020e234c: ; 0x020e234c + .word _ZN7MapBaseD0Ev + .global data_ov00_020e2350 +data_ov00_020e2350: ; 0x020e2350 + .word func_ov04_0210c1f8 ; data_ov07_0210c1f8 + .global data_ov00_020e2354 +data_ov00_020e2354: ; 0x020e2354 + .word func_ov04_0210c3fc ; data_ov07_0210c3fc + .global data_ov00_020e2358 +data_ov00_020e2358: ; 0x020e2358 + .word func_ov04_0210c52c ; data_ov07_0210c52c + .global data_ov00_020e235c +data_ov00_020e235c: ; 0x020e235c + .word func_ov04_0210bfa8 ; data_ov07_0210bfa8 + .global data_ov00_020e2360 +data_ov00_020e2360: ; 0x020e2360 + .word _ZN7MapBase8vfunc_18Ev + .global data_ov00_020e2364 +data_ov00_020e2364: ; 0x020e2364 + .word func_ov05_02111bc0 + .global data_ov00_020e2368 +data_ov00_020e2368: ; 0x020e2368 + .word func_ov05_02111c00 + .global data_ov00_020e236c +data_ov00_020e236c: ; 0x020e236c + .word func_ov05_02111c6c + .global data_ov00_020e2370 +data_ov00_020e2370: ; 0x020e2370 + .word func_ov05_02111c70 + .global data_ov00_020e2374 +data_ov00_020e2374: ; 0x020e2374 + .word func_ov04_0210c5cc ; data_ov07_0210c5cc + .global data_ov00_020e2378 +data_ov00_020e2378: ; 0x020e2378 + .word func_ov04_0210c764 ; data_ov07_0210c764 + .global data_ov00_020e237c +data_ov00_020e237c: ; 0x020e237c + .word func_ov04_0210c800 ; data_ov07_0210c800 + .global data_ov00_020e2380 +data_ov00_020e2380: ; 0x020e2380 + .word func_ov04_0210c88c ; data_ov07_0210c88c + .global data_ov00_020e2384 +data_ov00_020e2384: ; 0x020e2384 + .word func_ov04_0210c8d4 ; data_ov07_0210c8d4 + .global data_ov00_020e2388 +data_ov00_020e2388: ; 0x020e2388 + .word func_ov04_0210ca84 ; data_ov07_0210ca84 + .global data_ov00_020e238c +data_ov00_020e238c: ; 0x020e238c + .word func_ov04_0210cb00 ; data_ov07_0210cb00 + .global data_ov00_020e2390 +data_ov00_020e2390: ; 0x020e2390 + .word _ZN7MapBase8vfunc_48Ev + .global data_ov00_020e2394 +data_ov00_020e2394: ; 0x020e2394 + .byte 0x00, 0x00, 0x00, 0x00 + .global data_ov00_020e2398 +data_ov00_020e2398: ; 0x020e2398 + .word _ZN7MapBase8vfunc_50Ev + .global data_ov00_020e239c +data_ov00_020e239c: ; 0x020e239c + .word _ZN7MapBase8vfunc_54Ev + .global data_ov00_020e23a0 +data_ov00_020e23a0: ; 0x020e23a0 + .word _ZN7MapBase8vfunc_58Ev + .global data_ov00_020e23a4 +data_ov00_020e23a4: ; 0x020e23a4 + .word _ZN7MapBase8vfunc_5cEv + .global data_ov00_020e23a8 +data_ov00_020e23a8: ; 0x020e23a8 + .word _ZN7MapBase8vfunc_60Ev + .global data_ov00_020e23ac +data_ov00_020e23ac: ; 0x020e23ac + .word _ZN7MapBase8vfunc_64Ev + .global data_ov00_020e23b0 +data_ov00_020e23b0: ; 0x020e23b0 + .word _ZN7MapBase8vfunc_68Eii + .global data_ov00_020e23b4 +data_ov00_020e23b4: ; 0x020e23b4 + .word _ZN7MapBase8vfunc_6cEiii + .global data_ov00_020e23b8 +data_ov00_020e23b8: ; 0x020e23b8 + .word _ZN7MapBase8vfunc_70EP5Vec3p + .global data_ov00_020e23bc +data_ov00_020e23bc: ; 0x020e23bc + .word _ZN7MapBase8vfunc_74EP5Vec3p + .global data_ov00_020e23c0 +data_ov00_020e23c0: ; 0x020e23c0 + .word _ZN7MapBase8vfunc_78Ev + .global data_ov00_020e23c4 +data_ov00_020e23c4: ; 0x020e23c4 + .word _ZN7MapBase8vfunc_7cEv + .global data_ov00_020e23c8 +data_ov00_020e23c8: ; 0x020e23c8 + .word _ZN7MapBase8vfunc_80Ev + .global data_ov00_020e23cc +data_ov00_020e23cc: ; 0x020e23cc + .word _ZN7MapBase8vfunc_84Ei + .global data_ov00_020e23d0 +data_ov00_020e23d0: ; 0x020e23d0 + .word _ZN7MapBase8vfunc_88Ev + .global data_ov00_020e23d4 +data_ov00_020e23d4: ; 0x020e23d4 + .word _ZN7MapBase8vfunc_8cEv + .global data_ov00_020e23d8 +data_ov00_020e23d8: ; 0x020e23d8 + .word _ZN7MapBase8vfunc_90Eiii + .global data_ov00_020e23dc +data_ov00_020e23dc: ; 0x020e23dc + .word _ZN7MapBase8vfunc_94Ev + .global data_ov00_020e23e0 +data_ov00_020e23e0: ; 0x020e23e0 + .word _ZN7MapBase8vfunc_98Ev + .global data_ov00_020e23e4 +data_ov00_020e23e4: ; 0x020e23e4 + .word _ZN7MapBase8vfunc_9cEv + .global data_ov00_020e23e8 +data_ov00_020e23e8: ; 0x020e23e8 + .word _ZN7MapBase8vfunc_a0Ev + .global data_ov00_020e23ec +data_ov00_020e23ec: ; 0x020e23ec + .word _ZN7MapBase8vfunc_a4Ev + .global data_ov00_020e23f0 +data_ov00_020e23f0: ; 0x020e23f0 + .word _ZN7MapBase8vfunc_a8Ev + .global data_ov00_020e23f4 +data_ov00_020e23f4: ; 0x020e23f4 + .word _ZN7MapBase8vfunc_acEv + .global data_ov00_020e23f8 +data_ov00_020e23f8: ; 0x020e23f8 + .word _ZN7MapBase8vfunc_b0Eii + .global data_ov00_020e23fc +data_ov00_020e23fc: ; 0x020e23fc + .word _ZN7MapBase8vfunc_b4Ev + .global data_ov00_020e2400 +data_ov00_020e2400: ; 0x020e2400 + .word _ZN7MapBase8vfunc_b8Ev + .global data_ov00_020e2404 +data_ov00_020e2404: ; 0x020e2404 + .word _ZN7MapBase8vfunc_bcEv + .global data_ov00_020e2408 +data_ov00_020e2408: ; 0x020e2408 + .word _ZN7MapBase8vfunc_c0Ev + .global data_ov00_020e240c +data_ov00_020e240c: ; 0x020e240c + .ascii "M00" + .byte 0x00 + .global data_ov00_020e2410 +data_ov00_020e2410: ; 0x020e2410 + .ascii "Map/%s/map%d%d.bin" + .byte 0x00, 0x00 + + .sbss + .global data_ov00_020ec81c +data_ov00_020ec81c: + .space 0x4 + .global data_ov00_020ec820 +data_ov00_020ec820: + .space 0x4 + .global data_ov00_020ec824 +data_ov00_020ec824: + .space 0x4 + .global data_ov00_020ec828 +data_ov00_020ec828: + .space 0x4 + .global data_ov00_020ec82c +data_ov00_020ec82c: + .space 0x4 + .global data_ov00_020ec830 +data_ov00_020ec830: + .space 0x4 + .global data_ov00_020ec834 +data_ov00_020ec834: + .space 0x4 + .global data_ov00_020ec838 +data_ov00_020ec838: + .space 0x4 + .global data_ov00_020ec83c +data_ov00_020ec83c: + .space 0x4 + .global data_ov00_020ec840 +data_ov00_020ec840: + .space 0x4 + .global data_ov00_020ec844 +data_ov00_020ec844: + .space 0x4 + .global data_ov00_020ec848 +data_ov00_020ec848: + .space 0x4 + .global data_ov00_020ec84c +data_ov00_020ec84c: + .space 0x4 + .global data_ov00_020ec850 +data_ov00_020ec850: + .space 0x4 + .global data_ov00_020ec854 +data_ov00_020ec854: + .space 0x4 + .global data_ov00_020ec858 +data_ov00_020ec858: + .space 0x4 + .global data_ov00_020ec85c +data_ov00_020ec85c: + .space 0x4 + .global data_ov00_020ec860 +data_ov00_020ec860: + .space 0x4 + .global data_ov00_020ec864 +data_ov00_020ec864: + .space 0x4 + .global data_ov00_020ec868 +data_ov00_020ec868: + .space 0x4 + .global data_ov00_020ec86c +data_ov00_020ec86c: + .space 0x4 + .global data_ov00_020ec870 +data_ov00_020ec870: + .space 0x4 + .global data_ov00_020ec874 +data_ov00_020ec874: + .space 0x4 + .global data_ov00_020ec878 +data_ov00_020ec878: + .space 0x4 + .global data_ov00_020ec87c +data_ov00_020ec87c: + .space 0x4 + .global data_ov00_020ec880 +data_ov00_020ec880: + .space 0x4 + .global data_ov00_020ec884 +data_ov00_020ec884: + .space 0x4 + .global data_ov00_020ec888 +data_ov00_020ec888: + .space 0x4 + .global data_ov00_020ec88c +data_ov00_020ec88c: + .space 0x4 + .global data_ov00_020ec890 +data_ov00_020ec890: + .space 0x4 + .global data_ov00_020ec894 +data_ov00_020ec894: + .space 0x4 + .global data_ov00_020ec898 +data_ov00_020ec898: + .space 0x4 + .global data_ov00_020ec89c +data_ov00_020ec89c: + .space 0x4 + .global data_ov00_020ec8a0 +data_ov00_020ec8a0: + .space 0x4 + .global data_ov00_020ec8a4 +data_ov00_020ec8a4: + .space 0x4 + .global data_ov00_020ec8a8 +data_ov00_020ec8a8: + .space 0x4 + .global data_ov00_020ec8ac +data_ov00_020ec8ac: + .space 0x4 + .global data_ov00_020ec8b0 +data_ov00_020ec8b0: + .space 0x4 + .global data_ov00_020ec8b4 +data_ov00_020ec8b4: + .space 0x4 + .global data_ov00_020ec8b8 +data_ov00_020ec8b8: + .space 0x4 + .global data_ov00_020ec8bc +data_ov00_020ec8bc: + .space 0x4 + .global data_ov00_020ec8c0 +data_ov00_020ec8c0: + .space 0x4 + .global data_ov00_020ec8c4 +data_ov00_020ec8c4: + .space 0x4 + .global data_ov00_020ec8c8 +data_ov00_020ec8c8: + .space 0x4 + .global data_ov00_020ec8cc +data_ov00_020ec8cc: + .space 0x4 + .global data_ov00_020ec8d0 +data_ov00_020ec8d0: + .space 0x4 + .global data_ov00_020ec8d4 +data_ov00_020ec8d4: + .space 0x4 + .global data_ov00_020ec8d8 +data_ov00_020ec8d8: + .space 0x4 + .global data_ov00_020ec8dc +data_ov00_020ec8dc: + .space 0x4 + .global data_ov00_020ec8e0 +data_ov00_020ec8e0: + .space 0x4 + .global data_ov00_020ec8e4 +data_ov00_020ec8e4: + .space 0x4 + .global data_ov00_020ec8e8 +data_ov00_020ec8e8: + .space 0x4 + .global data_ov00_020ec8ec +data_ov00_020ec8ec: + .space 0x4 + .global data_ov00_020ec8f0 +data_ov00_020ec8f0: + .space 0x4 + .global data_ov00_020ec8f4 +data_ov00_020ec8f4: + .space 0x4 + .global data_ov00_020ec8f8 +data_ov00_020ec8f8: + .space 0x4 + .global data_ov00_020ec8fc +data_ov00_020ec8fc: + .space 0x4 + .global data_ov00_020ec900 +data_ov00_020ec900: + .space 0x4 + .global data_ov00_020ec904 +data_ov00_020ec904: + .space 0x4 + .global data_ov00_020ec908 +data_ov00_020ec908: + .space 0x4 + .global data_ov00_020ec90c +data_ov00_020ec90c: + .space 0x4 + .global data_ov00_020ec910 +data_ov00_020ec910: + .space 0x4 + .global data_ov00_020ec914 +data_ov00_020ec914: + .space 0x4 + .global data_ov00_020ec918 +data_ov00_020ec918: + .space 0x4 + .global data_ov00_020ec91c +data_ov00_020ec91c: + .space 0x4 + .global data_ov00_020ec920 +data_ov00_020ec920: + .space 0x4 + .global data_ov00_020ec924 +data_ov00_020ec924: + .space 0x4 + .global data_ov00_020ec928 +data_ov00_020ec928: + .space 0x4 + .global data_ov00_020ec92c +data_ov00_020ec92c: + .space 0x4 + .global data_ov00_020ec930 +data_ov00_020ec930: + .space 0x4 + .global data_ov00_020ec934 +data_ov00_020ec934: + .space 0x4 + .global data_ov00_020ec938 +data_ov00_020ec938: + .space 0x4 + .global data_ov00_020ec93c +data_ov00_020ec93c: + .space 0x4 + .global data_ov00_020ec940 +data_ov00_020ec940: + .space 0x4 + .global data_ov00_020ec944 +data_ov00_020ec944: + .space 0x4 + .global data_ov00_020ec948 +data_ov00_020ec948: + .space 0x4 + .global data_ov00_020ec94c +data_ov00_020ec94c: + .space 0x4 + .global data_ov00_020ec950 +data_ov00_020ec950: + .space 0x4 + .global data_ov00_020ec954 +data_ov00_020ec954: + .space 0x4 + .global data_ov00_020ec958 +data_ov00_020ec958: + .space 0x4 + .global data_ov00_020ec95c +data_ov00_020ec95c: + .space 0x4 + .global data_ov00_020ec960 +data_ov00_020ec960: + .space 0x4 diff --git a/asm/ov00/ov00_0207afa0.s b/asm/ov00/ov00_0207afa0.s index 12806524..8a8c3b32 100644 --- a/asm/ov00/ov00_0207afa0.s +++ b/asm/ov00/ov00_0207afa0.s @@ -6128,249 +6128,3 @@ data_ov00_020ec7ef: .global data_ov00_020ec7f0 data_ov00_020ec7f0: .space 0x2c - .global data_ov00_020ec81c -data_ov00_020ec81c: - .space 0x4 - .global data_ov00_020ec820 -data_ov00_020ec820: - .space 0x4 - .global data_ov00_020ec824 -data_ov00_020ec824: - .space 0x4 - .global data_ov00_020ec828 -data_ov00_020ec828: - .space 0x4 - .global data_ov00_020ec82c -data_ov00_020ec82c: - .space 0x4 - .global data_ov00_020ec830 -data_ov00_020ec830: - .space 0x4 - .global data_ov00_020ec834 -data_ov00_020ec834: - .space 0x4 - .global data_ov00_020ec838 -data_ov00_020ec838: - .space 0x4 - .global data_ov00_020ec83c -data_ov00_020ec83c: - .space 0x4 - .global data_ov00_020ec840 -data_ov00_020ec840: - .space 0x4 - .global data_ov00_020ec844 -data_ov00_020ec844: - .space 0x4 - .global data_ov00_020ec848 -data_ov00_020ec848: - .space 0x4 - .global data_ov00_020ec84c -data_ov00_020ec84c: - .space 0x4 - .global data_ov00_020ec850 -data_ov00_020ec850: - .space 0x4 - .global data_ov00_020ec854 -data_ov00_020ec854: - .space 0x4 - .global data_ov00_020ec858 -data_ov00_020ec858: - .space 0x4 - .global data_ov00_020ec85c -data_ov00_020ec85c: - .space 0x4 - .global data_ov00_020ec860 -data_ov00_020ec860: - .space 0x4 - .global data_ov00_020ec864 -data_ov00_020ec864: - .space 0x4 - .global data_ov00_020ec868 -data_ov00_020ec868: - .space 0x4 - .global data_ov00_020ec86c -data_ov00_020ec86c: - .space 0x4 - .global data_ov00_020ec870 -data_ov00_020ec870: - .space 0x4 - .global data_ov00_020ec874 -data_ov00_020ec874: - .space 0x4 - .global data_ov00_020ec878 -data_ov00_020ec878: - .space 0x4 - .global data_ov00_020ec87c -data_ov00_020ec87c: - .space 0x4 - .global data_ov00_020ec880 -data_ov00_020ec880: - .space 0x4 - .global data_ov00_020ec884 -data_ov00_020ec884: - .space 0x4 - .global data_ov00_020ec888 -data_ov00_020ec888: - .space 0x4 - .global data_ov00_020ec88c -data_ov00_020ec88c: - .space 0x4 - .global data_ov00_020ec890 -data_ov00_020ec890: - .space 0x4 - .global data_ov00_020ec894 -data_ov00_020ec894: - .space 0x4 - .global data_ov00_020ec898 -data_ov00_020ec898: - .space 0x4 - .global data_ov00_020ec89c -data_ov00_020ec89c: - .space 0x4 - .global data_ov00_020ec8a0 -data_ov00_020ec8a0: - .space 0x4 - .global data_ov00_020ec8a4 -data_ov00_020ec8a4: - .space 0x4 - .global data_ov00_020ec8a8 -data_ov00_020ec8a8: - .space 0x4 - .global data_ov00_020ec8ac -data_ov00_020ec8ac: - .space 0x4 - .global data_ov00_020ec8b0 -data_ov00_020ec8b0: - .space 0x4 - .global data_ov00_020ec8b4 -data_ov00_020ec8b4: - .space 0x4 - .global data_ov00_020ec8b8 -data_ov00_020ec8b8: - .space 0x4 - .global data_ov00_020ec8bc -data_ov00_020ec8bc: - .space 0x4 - .global data_ov00_020ec8c0 -data_ov00_020ec8c0: - .space 0x4 - .global data_ov00_020ec8c4 -data_ov00_020ec8c4: - .space 0x4 - .global data_ov00_020ec8c8 -data_ov00_020ec8c8: - .space 0x4 - .global data_ov00_020ec8cc -data_ov00_020ec8cc: - .space 0x4 - .global data_ov00_020ec8d0 -data_ov00_020ec8d0: - .space 0x4 - .global data_ov00_020ec8d4 -data_ov00_020ec8d4: - .space 0x4 - .global data_ov00_020ec8d8 -data_ov00_020ec8d8: - .space 0x4 - .global data_ov00_020ec8dc -data_ov00_020ec8dc: - .space 0x4 - .global data_ov00_020ec8e0 -data_ov00_020ec8e0: - .space 0x4 - .global data_ov00_020ec8e4 -data_ov00_020ec8e4: - .space 0x4 - .global data_ov00_020ec8e8 -data_ov00_020ec8e8: - .space 0x4 - .global data_ov00_020ec8ec -data_ov00_020ec8ec: - .space 0x4 - .global data_ov00_020ec8f0 -data_ov00_020ec8f0: - .space 0x4 - .global data_ov00_020ec8f4 -data_ov00_020ec8f4: - .space 0x4 - .global data_ov00_020ec8f8 -data_ov00_020ec8f8: - .space 0x4 - .global data_ov00_020ec8fc -data_ov00_020ec8fc: - .space 0x4 - .global data_ov00_020ec900 -data_ov00_020ec900: - .space 0x4 - .global data_ov00_020ec904 -data_ov00_020ec904: - .space 0x4 - .global data_ov00_020ec908 -data_ov00_020ec908: - .space 0x4 - .global data_ov00_020ec90c -data_ov00_020ec90c: - .space 0x4 - .global data_ov00_020ec910 -data_ov00_020ec910: - .space 0x4 - .global data_ov00_020ec914 -data_ov00_020ec914: - .space 0x4 - .global data_ov00_020ec918 -data_ov00_020ec918: - .space 0x4 - .global data_ov00_020ec91c -data_ov00_020ec91c: - .space 0x4 - .global data_ov00_020ec920 -data_ov00_020ec920: - .space 0x4 - .global data_ov00_020ec924 -data_ov00_020ec924: - .space 0x4 - .global data_ov00_020ec928 -data_ov00_020ec928: - .space 0x4 - .global data_ov00_020ec92c -data_ov00_020ec92c: - .space 0x4 - .global data_ov00_020ec930 -data_ov00_020ec930: - .space 0x4 - .global data_ov00_020ec934 -data_ov00_020ec934: - .space 0x4 - .global data_ov00_020ec938 -data_ov00_020ec938: - .space 0x4 - .global data_ov00_020ec93c -data_ov00_020ec93c: - .space 0x4 - .global data_ov00_020ec940 -data_ov00_020ec940: - .space 0x4 - .global data_ov00_020ec944 -data_ov00_020ec944: - .space 0x4 - .global data_ov00_020ec948 -data_ov00_020ec948: - .space 0x4 - .global data_ov00_020ec94c -data_ov00_020ec94c: - .space 0x4 - .global data_ov00_020ec950 -data_ov00_020ec950: - .space 0x4 - .global data_ov00_020ec954 -data_ov00_020ec954: - .space 0x4 - .global data_ov00_020ec958 -data_ov00_020ec958: - .space 0x4 - .global data_ov00_020ec95c -data_ov00_020ec95c: - .space 0x4 - .global data_ov00_020ec960 -data_ov00_020ec960: - .space 0x4 diff --git a/asm/ov00/ov00_0207da38.inc b/asm/ov00/ov00_0207da38.inc index 5632b1cb..3e40e77d 100644 --- a/asm/ov00/ov00_0207da38.inc +++ b/asm/ov00/ov00_0207da38.inc @@ -1,86 +1,8 @@ #pragma once -.extern Divide -.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p -.extern _ZN6Course13FindMapCenterEi .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj -.extern data_027e0618 .extern data_027e0ce0 -.extern data_027e0d38 -.extern data_027e0e58 -.extern data_027e0f64 -.extern data_027e0f68 -.extern data_027e0f6c -.extern data_027e0f78 -.extern data_027e0f88 -.extern data_027e0f8c -.extern data_ov00_020ec81c -.extern data_ov00_020ec824 -.extern data_ov00_020ec864 -.extern data_ov00_020ec8a4 -.extern data_ov00_020ec8e4 -.extern data_ov00_020ec924 -.extern data_ov00_020ecde4 -.extern data_ov00_020ee0a0 -.extern func_01ffe904 -.extern func_01fff084 -.extern func_01fff264 -.extern func_020078f4 -.extern func_0200c8d0 -.extern func_020196bc -.extern func_020196fc -.extern func_0201e24c -.extern func_0201e4cc -.extern func_02042f68 .extern func_02043594 .extern func_020435b4 .extern func_02043600 .extern func_0204dd9c -.extern func_0204f614 -.extern func_0204f754 -.extern func_ov00_02078b40 -.extern func_ov00_02079e3c -.extern func_ov00_02087dd8 -.extern func_ov00_0208b79c -.extern func_ov00_0208d820 -.extern func_ov00_0208ee00 -.extern func_ov00_02095554 -.extern func_ov00_0209564c -.extern func_ov00_0209581c -.extern func_ov00_02095d58 -.extern func_ov00_0209c08c -.extern func_ov00_0209c1e4 -.extern func_ov00_0209c2b4 -.extern func_ov00_0209c2d0 -.extern func_ov00_0209c530 -.extern func_ov00_0209c61c -.extern func_ov00_0209c788 -.extern func_ov00_0209c8e4 -.extern func_ov00_0209cc3c -.extern func_ov00_0209cc48 -.extern func_ov00_0209cd80 -.extern func_ov00_0209cd9c -.extern func_ov00_0209cddc -.extern func_ov00_0209cdf8 -.extern func_ov00_020a1a0c -.extern func_ov00_020a3de0 -.extern func_ov00_020a5e9c -.extern func_ov04_0210bfa8 -.extern func_ov04_0210c1f8 -.extern func_ov04_0210c3fc -.extern func_ov04_0210c52c -.extern func_ov04_0210c5cc -.extern func_ov04_0210c764 -.extern func_ov04_0210c800 -.extern func_ov04_0210c88c -.extern func_ov04_0210c8d4 -.extern func_ov04_0210ca84 -.extern func_ov04_0210cb00 -.extern func_ov04_0210cb1c -.extern func_ov04_0210dd90 -.extern func_ov05_02111bc0 -.extern func_ov05_02111c00 -.extern func_ov05_02111c6c -.extern func_ov05_02111c70 -.extern gMapManager -.extern strcmp diff --git a/asm/ov00/ov00_0207da38.s b/asm/ov00/ov00_0207da38.s index a575616f..4de0c9ba 100644 --- a/asm/ov00/ov00_0207da38.s +++ b/asm/ov00/ov00_0207da38.s @@ -3,4159 +3,6 @@ .text - .global _ZN7MapBaseD1Ev - arm_func_start _ZN7MapBaseD1Ev -_ZN7MapBaseD1Ev: ; 0x0207da38 - stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0207db0c ; =data_ov00_020e2348 - mov r4, r0 - str r1, [r4] - ldr r1, [r0] - ldr r1, [r1, #0x2c] - blx r1 - ldr r5, [r4, #0x144] - cmp r5, #0 - beq _0207da7c - beq _0207da74 - mov r0, r5 - blx func_ov04_0210dd90 - mov r0, r5 - bl _ZN9SysObjectdlEPv -_0207da74: - mov r0, #0 - str r0, [r4, #0x144] -_0207da7c: - ldr r0, _0207db10 ; =data_ov00_020ec81c - ldr r0, [r0, #4] - cmp r0, #0 - beq _0207dac0 - ldr r1, [r0] - ldr r1, [r1, #0xc] - blx r1 - ldr r0, _0207db10 ; =data_ov00_020ec81c - ldr r0, [r0, #4] - cmp r0, #0 - beq _0207dab4 - ldr r1, [r0] - ldr r1, [r1, #4] - blx r1 -_0207dab4: - ldr r0, _0207db10 ; =data_ov00_020ec81c - mov r1, #0 - str r1, [r0, #4] -_0207dac0: - mov r0, r4 - blx func_ov04_0210cb1c - ldr r3, _0207db14 ; =_ZN15MapBase_Unk_180D1Ev - add r0, r4, #0x180 - mov r1, #2 - mov r2, #4 - bl func_0204f754 - add r0, r4, #0x130 - bl func_ov00_02080f20 - add r0, r4, #0x124 - bl func_ov00_020810e8 - add r0, r4, #0x118 - bl func_ov00_02081070 - add r0, r4, #0x10c - bl func_ov00_02080f20 - add r0, r4, #0x100 - bl func_ov00_02080ff8 - mov r0, r4 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end _ZN7MapBaseD1Ev -_0207db0c: .word data_ov00_020e2348 -_0207db10: .word data_ov00_020ec81c -_0207db14: .word _ZN15MapBase_Unk_180D1Ev - - .global _ZN15MapBase_Unk_180D1Ev - arm_func_start _ZN15MapBase_Unk_180D1Ev -_ZN15MapBase_Unk_180D1Ev: ; 0x0207db18 - bx lr - arm_func_end _ZN15MapBase_Unk_180D1Ev - - .global _ZN7MapBaseD0Ev - arm_func_start _ZN7MapBaseD0Ev -_ZN7MapBaseD0Ev: ; 0x0207db1c - stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0207dbf8 ; =data_ov00_020e2348 - mov r4, r0 - str r1, [r4] - ldr r1, [r0] - ldr r1, [r1, #0x2c] - blx r1 - ldr r5, [r4, #0x144] - cmp r5, #0 - beq _0207db60 - beq _0207db58 - mov r0, r5 - blx func_ov04_0210dd90 - mov r0, r5 - bl _ZN9SysObjectdlEPv -_0207db58: - mov r0, #0 - str r0, [r4, #0x144] -_0207db60: - ldr r0, _0207dbfc ; =data_ov00_020ec81c - ldr r0, [r0, #4] - cmp r0, #0 - beq _0207dba4 - ldr r1, [r0] - ldr r1, [r1, #0xc] - blx r1 - ldr r0, _0207dbfc ; =data_ov00_020ec81c - ldr r0, [r0, #4] - cmp r0, #0 - beq _0207db98 - ldr r1, [r0] - ldr r1, [r1, #4] - blx r1 -_0207db98: - ldr r0, _0207dbfc ; =data_ov00_020ec81c - mov r1, #0 - str r1, [r0, #4] -_0207dba4: - mov r0, r4 - blx func_ov04_0210cb1c - ldr r3, _0207dc00 ; =_ZN15MapBase_Unk_180D1Ev - add r0, r4, #0x180 - mov r1, #2 - mov r2, #4 - bl func_0204f754 - add r0, r4, #0x130 - bl func_ov00_02080f20 - add r0, r4, #0x124 - bl func_ov00_020810e8 - add r0, r4, #0x118 - bl func_ov00_02081070 - add r0, r4, #0x10c - bl func_ov00_02080f20 - add r0, r4, #0x100 - bl func_ov00_02080ff8 - mov r0, r4 - bl _ZN9SysObjectdlEPv - mov r0, r4 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end _ZN7MapBaseD0Ev -_0207dbf8: .word data_ov00_020e2348 -_0207dbfc: .word data_ov00_020ec81c -_0207dc00: .word _ZN15MapBase_Unk_180D1Ev - - .global _ZN7MapBaseD2Ev - arm_func_start _ZN7MapBaseD2Ev -_ZN7MapBaseD2Ev: ; 0x0207dc04 - stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0207dcd8 ; =data_ov00_020e2348 - mov r4, r0 - str r1, [r4] - ldr r1, [r0] - ldr r1, [r1, #0x2c] - blx r1 - ldr r5, [r4, #0x144] - cmp r5, #0 - beq _0207dc48 - beq _0207dc40 - mov r0, r5 - blx func_ov04_0210dd90 - mov r0, r5 - bl _ZN9SysObjectdlEPv -_0207dc40: - mov r0, #0 - str r0, [r4, #0x144] -_0207dc48: - ldr r0, _0207dcdc ; =data_ov00_020ec81c - ldr r0, [r0, #4] - cmp r0, #0 - beq _0207dc8c - ldr r1, [r0] - ldr r1, [r1, #0xc] - blx r1 - ldr r0, _0207dcdc ; =data_ov00_020ec81c - ldr r0, [r0, #4] - cmp r0, #0 - beq _0207dc80 - ldr r1, [r0] - ldr r1, [r1, #4] - blx r1 -_0207dc80: - ldr r0, _0207dcdc ; =data_ov00_020ec81c - mov r1, #0 - str r1, [r0, #4] -_0207dc8c: - mov r0, r4 - blx func_ov04_0210cb1c - ldr r3, _0207dce0 ; =_ZN15MapBase_Unk_180D1Ev - add r0, r4, #0x180 - mov r1, #2 - mov r2, #4 - bl func_0204f754 - add r0, r4, #0x130 - bl func_ov00_02080f20 - add r0, r4, #0x124 - bl func_ov00_020810e8 - add r0, r4, #0x118 - bl func_ov00_02081070 - add r0, r4, #0x10c - bl func_ov00_02080f20 - add r0, r4, #0x100 - bl func_ov00_02080ff8 - mov r0, r4 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end _ZN7MapBaseD2Ev -_0207dcd8: .word data_ov00_020e2348 -_0207dcdc: .word data_ov00_020ec81c -_0207dce0: .word _ZN15MapBase_Unk_180D1Ev - - .global _ZN7MapBase9SetBoundsEii - arm_func_start _ZN7MapBase9SetBoundsEii -_ZN7MapBase9SetBoundsEii: ; 0x0207dce4 - stmdb sp!, {r4, r5, lr} - sub sp, sp, #0x2c - mov r4, r0 - ldrh r5, [r4, #0x28] - ldrh r3, [r4, #0x2a] - mov r0, r2 - mov r5, r5, lsl #0xc - mov r2, r3, lsl #0xc - str r5, [sp] - str r2, [sp, #4] - bl _ZN6Course13FindMapCenterEi - mov ip, r5 - add r5, sp, #0x20 - ldmia r0, {r0, r1, r2} - stmia r5, {r0, r1, r2} - ldr r1, [sp, #0x20] - ldr r3, [sp, #4] - ldr r2, [sp, #0x28] - ldr r0, [sp, #0x24] - sub r1, r1, ip, asr #1 - str r1, [r4, #0xdc] - str r0, [r4, #0xe0] - sub r1, r2, r3, asr #1 - str r1, [r4, #0xe4] - ldr r1, [sp, #0x20] - mov r5, r3, asr #0x1 - str r1, [r4, #0xd0] - ldr r1, [sp, #0x24] - add r3, r2, r3, asr #1 - str r1, [r4, #0xd4] - ldr r1, [sp, #0x28] - mov lr, ip, asr #0x1 - str r1, [r4, #0xd8] - ldr r2, [sp, #0x20] - rsb r1, lr, #0 - add r2, r2, ip, asr #1 - str r2, [r4, #0xe8] - str r0, [r4, #0xec] - str r3, [r4, #0xf0] - str r1, [r4, #0xf4] - mov r0, #0 - str r0, [r4, #0xf8] - rsb r0, r5, #0 - str r0, [r4, #0xfc] - add sp, sp, #0x2c - ldmia sp!, {r4, r5, pc} - arm_func_end _ZN7MapBase9SetBoundsEii - - .global _ZN15MapManager_Unk2D1Ev - arm_func_start _ZN15MapManager_Unk2D1Ev -_ZN15MapManager_Unk2D1Ev: ; 0x0207dd9c - bx lr - arm_func_end _ZN15MapManager_Unk2D1Ev - - .global _ZN7MapBase14GetMapFilePathEPcii - arm_func_start _ZN7MapBase14GetMapFilePathEPcii -_ZN7MapBase14GetMapFilePathEPcii: ; 0x0207dda0 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #4 - ldr ip, _0207ddec ; =0x66666667 - mov r6, r1 - smull r0, r5, ip, r2 - mov r0, r3 - smull r1, r3, ip, r2 - mov r4, r2, lsr #0x1f - add r5, r4, r5, asr #2 - mov lr, #0xa - smull r1, ip, lr, r5 - sub r5, r2, r1 - ldr r1, _0207ddf0 ; =data_ov00_020e2410 - mov r2, r6 - add r3, r4, r3, asr #2 - str r5, [sp] - bl func_0200c8d0 - add sp, sp, #4 - ldmia sp!, {r3, r4, r5, r6, pc} - .align 2, 0 - arm_func_end _ZN7MapBase14GetMapFilePathEPcii -_0207ddec: .word 0x66666667 -_0207ddf0: .word data_ov00_020e2410 - - .global _ZN7MapBase8vfunc_18Ev - arm_func_start _ZN7MapBase8vfunc_18Ev -_ZN7MapBase8vfunc_18Ev: ; 0x0207ddf4 - bx lr - arm_func_end _ZN7MapBase8vfunc_18Ev - - .global _ZN7MapBase18func_ov00_0207ddf8Eb - arm_func_start _ZN7MapBase18func_ov00_0207ddf8Eb -_ZN7MapBase18func_ov00_0207ddf8Eb: ; 0x0207ddf8 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - mov r7, #0 - mov r10, r0 - mov r9, r1 - add r8, r10, #0x180 - mvn r5, #0 - mov r6, r7 - mov r4, r7 - mov r11, #4 -_0207de1c: - cmp r9, #0 - beq _0207de44 - mov r2, r6 - add r1, r10, r7, lsl #2 -_0207de2c: - add r0, r1, r2, lsl #2 - add r2, r2, #1 - str r5, [r0, #0x180] - cmp r2, #1 - blo _0207de2c - b _0207de54 -_0207de44: - mov r0, r4 - mov r1, r8 - mov r2, r11 - bl func_020078f4 -_0207de54: - add r7, r7, #1 - cmp r7, #2 - add r8, r8, #4 - blt _0207de1c - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end _ZN7MapBase18func_ov00_0207ddf8Eb - - .global _ZN7MapBase18func_ov00_0207de68Ei - arm_func_start _ZN7MapBase18func_ov00_0207de68Ei -_ZN7MapBase18func_ov00_0207de68Ei: ; 0x0207de68 - stmdb sp!, {r3, lr} - ldr r0, [r0, #0x144] - mov r2, r1 - cmp r0, #0 - ldmeqia sp!, {r3, pc} - mov r1, #0 - bl func_ov00_0209c08c - ldmia sp!, {r3, pc} - arm_func_end _ZN7MapBase18func_ov00_0207de68Ei - - .global _ZN7MapBase18func_ov00_0207de88Ev - arm_func_start _ZN7MapBase18func_ov00_0207de88Ev -_ZN7MapBase18func_ov00_0207de88Ev: ; 0x0207de88 - stmdb sp!, {r3, lr} - ldr r0, [r0, #0x144] - cmp r0, #0 - ldmeqia sp!, {r3, pc} - bl func_ov00_0209c61c - ldmia sp!, {r3, pc} - arm_func_end _ZN7MapBase18func_ov00_0207de88Ev - - .global _ZN7MapBase18func_ov00_0207dea0Eb - arm_func_start _ZN7MapBase18func_ov00_0207dea0Eb -_ZN7MapBase18func_ov00_0207dea0Eb: ; 0x0207dea0 - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x10 - mov r5, r0 - ldr r2, _0207e044 ; =data_027e0f78 - ldr r0, [r5, #0x144] - mov r4, r1 - ldr r6, [r2] - bl func_ov00_0209c530 - ldrh r2, [r0, #4] - mov r0, r6 - mov r1, #0 - bl func_ov00_0209cc3c - ldr r1, _0207e044 ; =data_027e0f78 - ldr r0, [r5, #0x144] - ldr r6, [r1] - bl func_ov00_0209c530 - mov r1, r0 - ldrh r2, [r1, #6] - mov r0, r6 - mov r1, #1 - bl func_ov00_0209cc3c - ldr r1, _0207e044 ; =data_027e0f78 - ldr r0, [r5, #0x144] - ldr r6, [r1] - bl func_ov00_0209c530 - mov r1, r0 - ldrh r2, [r1, #8] - mov r0, r6 - mov r1, #2 - bl func_ov00_0209cc3c - ldr r1, _0207e044 ; =data_027e0f78 - ldr r0, [r5, #0x144] - ldr r6, [r1] - bl func_ov00_0209c530 - mov r1, r0 - ldrh r2, [r1, #0xa] - mov r0, r6 - mov r1, #3 - bl func_ov00_0209cc3c - ldr r0, _0207e044 ; =data_027e0f78 - ldr r0, [r0] - bl func_ov00_0209cc48 - ldr r1, _0207e048 ; =data_027e0f88 - ldr r0, [r5, #0x144] - ldr r6, [r1] - bl func_ov00_0209c530 - mov r1, r0 - ldrh r2, [r1, #0xc] - mov r0, r6 - mov r1, #0 - bl func_ov00_020a1a0c - cmp r4, #0 - beq _0207dff0 - ldr r0, [r5, #0x144] - ldr r1, _0207e04c ; =data_ov00_020ecde4 - ldr r2, [r0, #0xc] - mov r0, #0x68 - mla r0, r2, r0, r1 - add r0, r0, #0x54 - add r4, sp, #0 - ldmia r0, {r0, r1, r2, r3} - stmia r4, {r0, r1, r2, r3} - ldr r0, [sp] - cmp r0, #1 - blt _0207dfb4 - ldr r0, _0207e050 ; =data_ov00_020ee0a0 - mov r1, #1 - bl func_ov00_0209cd80 - b _0207dfc0 -_0207dfb4: - ldr r0, _0207e050 ; =data_ov00_020ee0a0 - mov r1, #0 - bl func_ov00_0209cd80 -_0207dfc0: - ldr r0, [r5, #0x144] - bl func_ov00_0209c530 - ldrh r1, [r0, #0xe] - ldr r2, [sp, #0xc] - ldr r0, _0207e050 ; =data_ov00_020ee0a0 - bl func_ov00_0209cd9c - ldr r1, [sp, #4] - ldr r0, _0207e050 ; =data_ov00_020ee0a0 - bl func_ov00_0209cddc - ldr r1, [sp, #8] - ldr r0, _0207e050 ; =data_ov00_020ee0a0 - bl func_ov00_0209cdf8 -_0207dff0: - ldr r0, _0207e054 ; =data_027e0d38 - ldr r0, [r0] - bl func_ov00_02078b40 - cmp r0, #2 - bne _0207e01c - ldr r0, [r5, #0x144] - bl func_ov00_0209c530 - ldr r1, _0207e058 ; =data_027e0e58 - ldrh r2, [r0, #0x10] - ldr r0, [r1] - strh r2, [r0, #0x22] -_0207e01c: - ldr r0, [r5, #0x144] - bl func_ov00_0209c530 - mov r1, r0 - ldr r0, _0207e05c ; =data_027e0f8c - add r1, r1, #0x12 - bl func_ov00_020a3de0 - ldr r0, [r5, #0x144] - bl func_ov00_0209c788 - add sp, sp, #0x10 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end _ZN7MapBase18func_ov00_0207dea0Eb -_0207e044: .word data_027e0f78 -_0207e048: .word data_027e0f88 -_0207e04c: .word data_ov00_020ecde4 -_0207e050: .word data_ov00_020ee0a0 -_0207e054: .word data_027e0d38 -_0207e058: .word data_027e0e58 -_0207e05c: .word data_027e0f8c - - .global _ZN7MapBase8vfunc_b0Eii - arm_func_start _ZN7MapBase8vfunc_b0Eii -_ZN7MapBase8vfunc_b0Eii: ; 0x0207e060 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r0, [r5, #0x13c] - mov r4, r2 - cmp r0, #0 - ldmeqia sp!, {r3, r4, r5, pc} - bl func_020196fc - ldr r0, [r5, #0x13c] - mov r1, r4 - bl func_020196bc - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN7MapBase8vfunc_b0Eii - - .global _ZN7MapBase18func_ov00_0207e08cEii - arm_func_start _ZN7MapBase18func_ov00_0207e08cEii -_ZN7MapBase18func_ov00_0207e08cEii: ; 0x0207e08c - stmdb sp!, {r3, lr} - ldr r3, [r0, #0x13c] - cmp r3, #0 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - ldr r0, [r3, #8] - adds lr, r3, r0 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - ldrh r0, [lr, #0xa] - add ip, lr, #4 - cmp lr, #0 - ldrh r3, [ip, r0] - add r0, ip, r0 - mla r0, r3, r2, r0 - ldr r0, [r0, #4] - add r3, lr, r0 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - ldr r2, [r3, #0x14] - mov r0, #1 - str r2, [r1] - ldrh r2, [r3, #0x1c] - strh r2, [r1, #4] - ldmia sp!, {r3, pc} - arm_func_end _ZN7MapBase18func_ov00_0207e08cEii - - .global _ZN7MapBase18func_ov00_0207e0f0Ei - arm_func_start _ZN7MapBase18func_ov00_0207e0f0Ei -_ZN7MapBase18func_ov00_0207e0f0Ei: ; 0x0207e0f0 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x14 - mov r10, r0 - ldr r2, [r10, #0x13c] - str r1, [sp] - cmp r2, #0 - addeq sp, sp, #0x14 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, [r2, #8] - adds r0, r2, r0 - str r0, [sp, #4] - addeq sp, sp, #0x14 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldrh r1, [r0] - adds r0, r0, r1 - str r0, [sp, #0xc] - addeq sp, sp, #0x14 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldrb r1, [r0, #1] - mov r0, #0 - str r0, [sp, #8] - cmp r1, #0 - bls _0207e280 - mov r7, r0 -_0207e15c: - ldr r0, [sp, #0xc] - ldr r1, [sp, #0xc] - ldrh r3, [r0, #6] - mov r0, r10 - ldr r2, [r0] - add r3, r1, r3 - ldrh r1, [r3, #2] - ldr r2, [r2, #0xb4] - add r4, r3, r1 - blx r2 - add r0, r0, #0x3c - add r1, r4, r7 - bl func_0201e24c - cmp r0, #0 - beq _0207e260 - ldr r0, [sp, #0xc] - mov r5, #0 - ldrh r2, [r0, #6] - ldrh r1, [r0, r2] - add r0, r0, r2 - add r2, r0, #4 - ldr r0, [sp, #8] - mul r0, r1, r0 - add r11, r2, r0 - ldrb r1, [r11, #2] - ldrh r0, [r2, r0] - cmp r1, #0 - str r0, [sp, #0x10] - ble _0207e260 -_0207e1d0: - ldr r1, [sp, #4] - ldr r0, [sp, #0x10] - ldrb r0, [r1, r0] - add r1, r0, r5 - ldr r0, [sp] - cmp r0, r1 - bne _0207e250 - mov r0, r10 - ldr r1, [r0] - ldr r1, [r1, #0xb4] - blx r1 - add r1, r0, #0x3c - ldrb r9, [r1, #1] - mov r6, #0 - cmp r9, #0 - ble _0207e250 - ldrh r0, [r1, #6] - add r8, r1, r0 -_0207e218: - ldrh r0, [r8, #2] - add r1, r4, r7 - add r0, r8, r0 - add r0, r0, r6, lsl #4 - bl strcmp - cmp r0, #0 - addeq sp, sp, #0x14 - moveq r0, r6 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - add r0, r6, #1 - mov r0, r0, lsl #0x10 - cmp r9, r0, lsr #16 - mov r6, r0, lsr #0x10 - bgt _0207e218 -_0207e250: - ldrb r0, [r11, #2] - add r5, r5, #1 - cmp r5, r0 - blt _0207e1d0 -_0207e260: - ldr r0, [sp, #0xc] - add r7, r7, #0x10 - ldrb r1, [r0, #1] - ldr r0, [sp, #8] - add r0, r0, #1 - str r0, [sp, #8] - cmp r0, r1 - blo _0207e15c -_0207e280: - mvn r0, #0 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end _ZN7MapBase18func_ov00_0207e0f0Ei - - .global _ZN7MapBase18func_ov00_0207e28cEi - arm_func_start _ZN7MapBase18func_ov00_0207e28cEi -_ZN7MapBase18func_ov00_0207e28cEi: ; 0x0207e28c - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x14 - mov r10, r0 - ldr r2, [r10, #0x13c] - str r1, [sp] - cmp r2, #0 - addeq sp, sp, #0x14 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, [r2, #8] - adds r0, r2, r0 - str r0, [sp, #4] - addeq sp, sp, #0x14 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldrh r1, [r0, #2] - adds r0, r0, r1 - str r0, [sp, #0xc] - addeq sp, sp, #0x14 - mvneq r0, #0 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldrb r1, [r0, #1] - mov r0, #0 - str r0, [sp, #8] - cmp r1, #0 - bls _0207e438 - mov r7, r0 -_0207e2f8: - ldr r0, [sp, #0xc] - ldr r1, [sp, #0xc] - ldrh r3, [r0, #6] - mov r0, r10 - ldr r2, [r0] - add r3, r1, r3 - ldrh r1, [r3, #2] - ldr r2, [r2, #0xb4] - add r4, r3, r1 - blx r2 - ldrh r2, [r0, #0x34] - add r1, r4, r7 - add r0, r0, r2 - bl func_0201e24c - cmp r0, #0 - beq _0207e418 - ldr r0, [sp, #0xc] - mov r5, #0 - ldrh r2, [r0, #6] - ldrh r1, [r0, r2] - add r0, r0, r2 - add r2, r0, #4 - ldr r0, [sp, #8] - mul r0, r1, r0 - add r11, r2, r0 - ldrb r1, [r11, #2] - ldrh r0, [r2, r0] - cmp r1, #0 - str r0, [sp, #0x10] - ble _0207e418 -_0207e370: - ldr r1, [sp, #4] - ldr r0, [sp, #0x10] - ldrb r0, [r1, r0] - add r1, r0, r5 - ldr r0, [sp] - cmp r0, r1 - bne _0207e408 - mov r0, r10 - ldr r1, [r0] - ldr r1, [r1, #0xb4] - blx r1 - mov r8, r0 - mov r0, r10 - ldr r1, [r0] - ldr r1, [r1, #0xb4] - blx r1 - ldrh r0, [r0, #0x34] - mov r6, #0 - add r1, r8, r0 - ldrb r9, [r1, #1] - cmp r9, #0 - ble _0207e408 - ldrh r0, [r1, #6] - add r8, r1, r0 -_0207e3d0: - ldrh r0, [r8, #2] - add r1, r4, r7 - add r0, r8, r0 - add r0, r0, r6, lsl #4 - bl strcmp - cmp r0, #0 - addeq sp, sp, #0x14 - moveq r0, r6 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - add r0, r6, #1 - mov r0, r0, lsl #0x10 - cmp r9, r0, lsr #16 - mov r6, r0, lsr #0x10 - bgt _0207e3d0 -_0207e408: - ldrb r0, [r11, #2] - add r5, r5, #1 - cmp r5, r0 - blt _0207e370 -_0207e418: - ldr r0, [sp, #0xc] - add r7, r7, #0x10 - ldrb r1, [r0, #1] - ldr r0, [sp, #8] - add r0, r0, #1 - str r0, [sp, #8] - cmp r0, r1 - blo _0207e2f8 -_0207e438: - mvn r0, #0 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end _ZN7MapBase18func_ov00_0207e28cEi - - .global _ZN7MapBase8vfunc_b4Ev - arm_func_start _ZN7MapBase8vfunc_b4Ev -_ZN7MapBase8vfunc_b4Ev: ; 0x0207e444 - stmdb sp!, {r3, lr} - ldr r0, _0207e468 ; =data_ov00_020ec81c - ldr r0, [r0, #4] - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - ldr r0, [r0, #8] - bl func_0201e4cc - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end _ZN7MapBase8vfunc_b4Ev -_0207e468: .word data_ov00_020ec81c - - .global _ZN7MapBase8vfunc_48Ev - arm_func_start _ZN7MapBase8vfunc_48Ev -_ZN7MapBase8vfunc_48Ev: ; 0x0207e46c - stmdb sp!, {r4, lr} - mov r4, r0 - bl _ZN7MapBase16Trigger_vfunc_08Ev - ldr r0, [r4, #0x144] - mov r1, #0 - bl func_ov00_0209c8e4 - ldmia sp!, {r4, pc} - arm_func_end _ZN7MapBase8vfunc_48Ev - - .global _ZN7MapBase8vfunc_50Ev - arm_func_start _ZN7MapBase8vfunc_50Ev -_ZN7MapBase8vfunc_50Ev: ; 0x0207e488 - mov r0, #0 - bx lr - arm_func_end _ZN7MapBase8vfunc_50Ev - - .global _ZN7MapBase8vfunc_54Ev - arm_func_start _ZN7MapBase8vfunc_54Ev -_ZN7MapBase8vfunc_54Ev: ; 0x0207e490 - mov r0, #0 - bx lr - arm_func_end _ZN7MapBase8vfunc_54Ev - - .global _ZN7MapBase8vfunc_58Ev - arm_func_start _ZN7MapBase8vfunc_58Ev -_ZN7MapBase8vfunc_58Ev: ; 0x0207e498 - mov r0, #0 - bx lr - arm_func_end _ZN7MapBase8vfunc_58Ev - - .global _ZN7MapBase8vfunc_5cEv - arm_func_start _ZN7MapBase8vfunc_5cEv -_ZN7MapBase8vfunc_5cEv: ; 0x0207e4a0 - mov r0, #0 - bx lr - arm_func_end _ZN7MapBase8vfunc_5cEv - - .global _ZN7MapBase8vfunc_60Ev - arm_func_start _ZN7MapBase8vfunc_60Ev -_ZN7MapBase8vfunc_60Ev: ; 0x0207e4a8 - mov r0, #0 - bx lr - arm_func_end _ZN7MapBase8vfunc_60Ev - - .global _ZN7MapBase8vfunc_64Ev - arm_func_start _ZN7MapBase8vfunc_64Ev -_ZN7MapBase8vfunc_64Ev: ; 0x0207e4b0 - mov r0, #0 - bx lr - arm_func_end _ZN7MapBase8vfunc_64Ev - - .global _ZN7MapBase8vfunc_68Eii - arm_func_start _ZN7MapBase8vfunc_68Eii -_ZN7MapBase8vfunc_68Eii: ; 0x0207e4b8 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x7c - ldr r3, _0207e92c ; =gMapManager - mov r9, r1 - ldr r1, [r3] - mov r8, r0 - mov r4, r2 - add r0, sp, #8 - mov r2, r9 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - mov r0, r8 - ldr r2, [r0] - add r1, sp, #8 - ldr r2, [r2, #0x54] - blx r2 - cmp r0, #0x1e - bgt _0207e570 - bge _0207e724 - cmp r0, #0x17 - bgt _0207e554 - bge _0207e724 - cmp r0, #9 - bgt _0207e548 - cmp r0, #0 - addge pc, pc, r0, lsl #2 - b _0207e63c -_0207e520: ; jump table - b _0207e63c ; case 0 - b _0207e724 ; case 1 - b _0207e724 ; case 2 - b _0207e724 ; case 3 - b _0207e724 ; case 4 - b _0207e63c ; case 5 - b _0207e63c ; case 6 - b _0207e63c ; case 7 - b _0207e724 ; case 8 - b _0207e724 ; case 9 -_0207e548: - cmp r0, #0x16 - beq _0207e724 - b _0207e63c -_0207e554: - cmp r0, #0x19 - bgt _0207e564 - beq _0207e724 - b _0207e63c -_0207e564: - cmp r0, #0x1d - beq _0207e724 - b _0207e63c -_0207e570: - cmp r0, #0x35 - bgt _0207e5c8 - bge _0207e5e4 - cmp r0, #0x29 - bgt _0207e5bc - subs r1, r0, #0x1f - addpl pc, pc, r1, lsl #2 - b _0207e63c -_0207e590: ; jump table - b _0207e724 ; case 0 - b _0207e63c ; case 1 - b _0207e63c ; case 2 - b _0207e63c ; case 3 - b _0207e63c ; case 4 - b _0207e63c ; case 5 - b _0207e63c ; case 6 - b _0207e63c ; case 7 - b _0207e724 ; case 8 - b _0207e724 ; case 9 - b _0207e724 ; case 10 -_0207e5bc: - cmp r0, #0x30 - beq _0207e724 - b _0207e63c -_0207e5c8: - cmp r0, #0x40 - bgt _0207e5d8 - beq _0207e724 - b _0207e63c -_0207e5d8: - cmp r0, #0x50 - beq _0207e724 - b _0207e63c -_0207e5e4: - cmp r4, #0 - beq _0207e724 - add r2, sp, #0x14 - mov r0, r8 - mov r1, r9 - bl _ZN7MapBase18func_ov00_0207f104Eii - cmp r0, #0 - ldrne r0, [sp, #0x14] - addne sp, sp, #0x7c - ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - add r2, sp, #0x14 - mov r0, r8 - mov r1, r9 - bl _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi - cmp r0, #0 - beq _0207e724 - ldr r0, [sp, #0x14] - ldr r1, [r9, #4] - cmp r1, r0 - blt _0207e724 - add sp, sp, #0x7c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0207e63c: - ldrb r0, [r8, #0xe] - cmp r0, #0 - bne _0207e724 - cmp r4, #0 - bne _0207e694 - mov r0, r8 - ldr r3, [r0] - add r1, sp, #8 - ldr r3, [r3, #0x58] - mov r2, #5 - blx r3 - cmp r0, #0 - ldreqb r0, [r8, #8] - cmpeq r0, #0 - bne _0207e724 - mov r0, r8 - ldr r2, [r0] - add r1, sp, #8 - ldr r2, [r2, #0x60] - blx r2 - add sp, sp, #0x7c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0207e694: - add r2, sp, #0x10 - mov r0, r8 - mov r1, r9 - bl _ZN7MapBase18func_ov00_0207f104Eii - cmp r0, #0 - ldrne r0, [sp, #0x10] - addne sp, sp, #0x7c - ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - add r2, sp, #0x10 - mov r0, r8 - mov r1, r9 - bl _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi - cmp r0, #0 - beq _0207e6e0 - ldr r0, [sp, #0x10] - ldr r1, [r9, #4] - cmp r1, r0 - addge sp, sp, #0x7c - ldmgeia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0207e6e0: - mov r0, r8 - ldr r3, [r0] - add r1, sp, #8 - ldr r3, [r3, #0x58] - mov r2, #5 - blx r3 - cmp r0, #0 - ldreqb r0, [r8, #8] - cmpeq r0, #0 - bne _0207e724 - mov r0, r8 - ldr r2, [r0] - add r1, sp, #8 - ldr r2, [r2, #0x60] - blx r2 - add sp, sp, #0x7c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0207e724: - mov r0, #0x20 - str r0, [sp] - mov r1, #0 - str r1, [sp, #4] - ldr r0, _0207e930 ; =data_027e0f6c - ldr r3, _0207e934 ; =data_ov00_020ec824 - ldr r0, [r0] - mov r1, r9 - mov r2, #2 - bl func_01fff084 - ldr r4, _0207e938 ; =_ZN7MapBase18func_ov00_0207e968Ev - mov r5, r0 - ldr r3, _0207e93c ; =_ZN7MapBase18func_ov00_0207e96cEv - add r0, sp, #0x48 - mov r1, #3 - mov r2, #0x10 - str r4, [sp] - mov r6, #0x2000 - bl func_0204f614 - mov r7, #0 - sub r0, r7, #0x10000 - add r4, sp, #0x18 - str r7, [sp, #0x24] - str r7, [sp, #0x2c] - str r0, [sp, #0x28] - ldmia r9, {r0, r1, r2} - stmia r4, {r0, r1, r2} - cmp r5, #0 - ble _0207e8a0 - ldr r10, _0207e934 ; =data_ov00_020ec824 - ldr r9, _0207e930 ; =data_027e0f6c - mov r11, #0x4c -_0207e7a4: - mov r0, r7, lsl #0x1 - ldrh r1, [r10, r0] - ldr r2, [r9] - add r0, sp, #0x30 - ldr r3, [r2, #0x20] - mul r2, r1, r11 - add ip, r3, r2 - ldrh lr, [r3, r2] - ldrh r3, [ip, #2] - mov r1, r4 - add r2, sp, #0x24 - strh r3, [sp, #0x32] - strh lr, [sp, #0x30] - ldrh lr, [ip, #4] - add r3, sp, #0xc - strh lr, [sp, #0x34] - ldrh lr, [ip, #6] - strh lr, [sp, #0x36] - ldr lr, [ip, #8] - str lr, [sp, #0x38] - ldr lr, [ip, #0xc] - str lr, [sp, #0x3c] - ldr lr, [ip, #0x10] - str lr, [sp, #0x40] - ldr lr, [ip, #0x14] - str lr, [sp, #0x44] - ldr lr, [ip, #0x18] - str lr, [sp, #0x48] - ldr lr, [ip, #0x1c] - str lr, [sp, #0x4c] - ldr lr, [ip, #0x20] - str lr, [sp, #0x50] - ldr lr, [ip, #0x24] - str lr, [sp, #0x54] - ldr lr, [ip, #0x28] - str lr, [sp, #0x58] - ldr lr, [ip, #0x2c] - str lr, [sp, #0x5c] - ldr lr, [ip, #0x30] - str lr, [sp, #0x60] - ldr lr, [ip, #0x34] - str lr, [sp, #0x64] - ldr lr, [ip, #0x38] - str lr, [sp, #0x68] - ldr lr, [ip, #0x3c] - str lr, [sp, #0x6c] - ldr lr, [ip, #0x40] - str lr, [sp, #0x70] - ldr lr, [ip, #0x44] - str lr, [sp, #0x74] - ldr ip, [ip, #0x48] - str ip, [sp, #0x78] - bl func_01ffe904 - cmp r0, #0 - beq _0207e88c - ldr r0, [sp, #0xc] - cmp r0, r6 - movlt r6, r0 -_0207e88c: - add r0, r7, #1 - mov r0, r0, lsl #0x10 - cmp r5, r0, lsr #16 - mov r7, r0, lsr #0x10 - bgt _0207e7a4 -_0207e8a0: - cmp r6, #0x1000 - bgt _0207e8f4 - mvn r1, #0 - mov r0, r1, lsl #0x10 - umull r3, r2, r6, r0 - mla r2, r6, r1, r2 - mov r1, r6, asr #0x1f - mla r2, r1, r0, r2 - adds r3, r3, #0x800 - adc r1, r2, #0 - mov r4, r3, lsr #0xc - orr r4, r4, r1, lsl #20 - ldr r3, _0207e938 ; =_ZN7MapBase18func_ov00_0207e968Ev - ldr r5, [sp, #0x1c] - add r0, sp, #0x48 - mov r1, #3 - mov r2, #0x10 - bl func_0204f754 - add sp, sp, #0x7c - add r0, r5, r4 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0207e8f4: - mov r0, r8 - ldr r2, [r0] - add r1, sp, #8 - ldr r2, [r2, #0x60] - blx r2 - mov r4, r0 - ldr r3, _0207e938 ; =_ZN7MapBase18func_ov00_0207e968Ev - add r0, sp, #0x48 - mov r1, #3 - mov r2, #0x10 - bl func_0204f754 - mov r0, r4 - add sp, sp, #0x7c - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end _ZN7MapBase8vfunc_68Eii -_0207e92c: .word gMapManager -_0207e930: .word data_027e0f6c -_0207e934: .word data_ov00_020ec824 -_0207e938: .word _ZN7MapBase18func_ov00_0207e968Ev -_0207e93c: .word _ZN7MapBase18func_ov00_0207e96cEv - - .global _ZN7MapBase18func_ov00_0207e940EPc - arm_func_start _ZN7MapBase18func_ov00_0207e940EPc -_ZN7MapBase18func_ov00_0207e940EPc: ; 0x0207e940 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r3, _0207e964 ; =_ZN7MapBase18func_ov00_0207e968Ev - add r0, r4, #0x18 - mov r1, #3 - mov r2, #0x10 - bl func_0204f754 - mov r0, r4 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end _ZN7MapBase18func_ov00_0207e940EPc -_0207e964: .word _ZN7MapBase18func_ov00_0207e968Ev - - .global _ZN7MapBase18func_ov00_0207e968Ev - arm_func_start _ZN7MapBase18func_ov00_0207e968Ev -_ZN7MapBase18func_ov00_0207e968Ev: ; 0x0207e968 - bx lr - arm_func_end _ZN7MapBase18func_ov00_0207e968Ev - - .global _ZN7MapBase18func_ov00_0207e96cEv - arm_func_start _ZN7MapBase18func_ov00_0207e96cEv -_ZN7MapBase18func_ov00_0207e96cEv: ; 0x0207e96c - bx lr - arm_func_end _ZN7MapBase18func_ov00_0207e96cEv - - .global _ZN7MapBase8vfunc_6cEiii - arm_func_start _ZN7MapBase8vfunc_6cEiii -_ZN7MapBase8vfunc_6cEiii: ; 0x0207e970 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0xc4 - ldr r4, _0207ee00 ; =gMapManager - mov r9, r1 - ldr r1, [r4] - mov r8, r0 - str r2, [sp, #8] - add r0, sp, #0xc - mov r2, r9 - mov r7, r3 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - mov r0, r8 - ldr r2, [r0] - add r1, sp, #0xc - ldr r2, [r2, #0x54] - blx r2 - cmp r0, #0x1e - bgt _0207ea2c - bge _0207eb04 - cmp r0, #0x17 - bgt _0207ea10 - bge _0207eb04 - cmp r0, #9 - bgt _0207ea04 - cmp r0, #0 - addge pc, pc, r0, lsl #2 - b _0207ea9c -_0207e9dc: ; jump table - b _0207ea9c ; case 0 - b _0207eb04 ; case 1 - b _0207eb04 ; case 2 - b _0207eb04 ; case 3 - b _0207eb04 ; case 4 - b _0207ea9c ; case 5 - b _0207ea9c ; case 6 - b _0207ea9c ; case 7 - b _0207eb04 ; case 8 - b _0207eb04 ; case 9 -_0207ea04: - cmp r0, #0x16 - beq _0207eb04 - b _0207ea9c -_0207ea10: - cmp r0, #0x19 - bgt _0207ea20 - beq _0207eb04 - b _0207ea9c -_0207ea20: - cmp r0, #0x1d - beq _0207eb04 - b _0207ea9c -_0207ea2c: - cmp r0, #0x35 - bgt _0207ea84 - bge _0207eb04 - cmp r0, #0x29 - bgt _0207ea78 - subs r1, r0, #0x1f - addpl pc, pc, r1, lsl #2 - b _0207ea9c -_0207ea4c: ; jump table - b _0207eb04 ; case 0 - b _0207ea9c ; case 1 - b _0207ea9c ; case 2 - b _0207ea9c ; case 3 - b _0207ea9c ; case 4 - b _0207ea9c ; case 5 - b _0207ea9c ; case 6 - b _0207ea9c ; case 7 - b _0207eb04 ; case 8 - b _0207eb04 ; case 9 - b _0207eb04 ; case 10 -_0207ea78: - cmp r0, #0x30 - beq _0207eb04 - b _0207ea9c -_0207ea84: - cmp r0, #0x40 - bgt _0207ea94 - beq _0207eb04 - b _0207ea9c -_0207ea94: - cmp r0, #0x50 - beq _0207eb04 -_0207ea9c: - ldrb r0, [r8, #0xe] - cmp r0, #0 - bne _0207eb04 - mov r0, r8 - ldr r3, [r0] - add r1, sp, #0xc - ldr r3, [r3, #0x58] - mov r2, #5 - blx r3 - cmp r0, #0 - ldreqb r0, [r8, #8] - cmpeq r0, #0 - bne _0207eb04 - mov r0, r8 - ldr r2, [r0] - add r1, sp, #0xc - ldr r2, [r2, #0x60] - blx r2 - ldr r1, [sp, #8] - add sp, sp, #0xc4 - str r0, [r1] - mov r1, #0 - str r1, [r7] - mov r0, #0x1000 - stmib r7, {r0, r1} - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} -_0207eb04: - mov r0, #0x20 - str r0, [sp] - mov r1, #0 - str r1, [sp, #4] - ldr r0, _0207ee04 ; =data_027e0f6c - ldr r3, _0207ee08 ; =data_ov00_020ec864 - ldr r0, [r0] - mov r1, r9 - mov r2, #2 - bl func_01fff084 - ldr r5, _0207ee0c ; =_ZN7MapBase18func_ov00_0207e968Ev - mov r4, r0 - str r5, [sp] - ldr r3, _0207ee10 ; =_ZN7MapBase18func_ov00_0207e96cEv - add r0, sp, #0x90 - mov r1, #3 - mov r2, #0x10 - mov r5, #0x2000 - bl func_0204f614 - ldr r1, _0207ee0c ; =_ZN7MapBase18func_ov00_0207e968Ev - ldr r3, _0207ee10 ; =_ZN7MapBase18func_ov00_0207e96cEv - str r1, [sp] - add r0, sp, #0x44 - mov r1, #3 - mov r2, #0x10 - bl func_0204f614 - mov r6, #0 - sub r0, r6, #0x10000 - str r6, [sp, #0x20] - str r6, [sp, #0x28] - str r0, [sp, #0x24] - add r3, sp, #0x14 - ldmia r9, {r0, r1, r2} - cmp r4, #0 - stmia r3, {r0, r1, r2} - ble _0207ed48 - ldr r10, _0207ee08 ; =data_ov00_020ec864 - ldr r9, _0207ee04 ; =data_027e0f6c - mov r11, #0x4c -_0207eba0: - mov r0, r6, lsl #0x1 - ldrh r1, [r10, r0] - ldr r2, [r9] - add r0, sp, #0x78 - ldr r3, [r2, #0x20] - mul r2, r1, r11 - add ip, r3, r2 - ldrh lr, [r3, r2] - ldrh r3, [ip, #2] - add r1, sp, #0x14 - add r2, sp, #0x20 - strh r3, [sp, #0x7a] - strh lr, [sp, #0x78] - ldrh lr, [ip, #4] - add r3, sp, #0x10 - strh lr, [sp, #0x7c] - ldrh lr, [ip, #6] - strh lr, [sp, #0x7e] - ldr lr, [ip, #8] - str lr, [sp, #0x80] - ldr lr, [ip, #0xc] - str lr, [sp, #0x84] - ldr lr, [ip, #0x10] - str lr, [sp, #0x88] - ldr lr, [ip, #0x14] - str lr, [sp, #0x8c] - ldr lr, [ip, #0x18] - str lr, [sp, #0x90] - ldr lr, [ip, #0x1c] - str lr, [sp, #0x94] - ldr lr, [ip, #0x20] - str lr, [sp, #0x98] - ldr lr, [ip, #0x24] - str lr, [sp, #0x9c] - ldr lr, [ip, #0x28] - str lr, [sp, #0xa0] - ldr lr, [ip, #0x2c] - str lr, [sp, #0xa4] - ldr lr, [ip, #0x30] - str lr, [sp, #0xa8] - ldr lr, [ip, #0x34] - str lr, [sp, #0xac] - ldr lr, [ip, #0x38] - str lr, [sp, #0xb0] - ldr lr, [ip, #0x3c] - str lr, [sp, #0xb4] - ldr lr, [ip, #0x40] - str lr, [sp, #0xb8] - ldr lr, [ip, #0x44] - str lr, [sp, #0xbc] - ldr ip, [ip, #0x48] - str ip, [sp, #0xc0] - bl func_01ffe904 - cmp r0, #0 - beq _0207ed34 - ldr r1, [sp, #0x10] - cmp r1, r5 - bge _0207ed34 - ldrh r0, [sp, #0x78] - mov r5, r1 - ldrh r1, [sp, #0x7a] - strh r0, [sp, #0x2c] - ldrh r0, [sp, #0x7c] - strh r1, [sp, #0x2e] - ldrh r1, [sp, #0x7e] - strh r0, [sp, #0x30] - ldr r0, [sp, #0x80] - strh r1, [sp, #0x32] - str r0, [sp, #0x34] - ldr r1, [sp, #0x84] - ldr r0, [sp, #0x88] - str r1, [sp, #0x38] - str r0, [sp, #0x3c] - ldr r1, [sp, #0x8c] - ldr r0, [sp, #0x90] - str r1, [sp, #0x40] - str r0, [sp, #0x44] - ldr r1, [sp, #0x94] - ldr r0, [sp, #0x98] - str r1, [sp, #0x48] - str r0, [sp, #0x4c] - ldr r1, [sp, #0x9c] - ldr r0, [sp, #0xa0] - str r1, [sp, #0x50] - str r0, [sp, #0x54] - ldr r1, [sp, #0xa4] - ldr r0, [sp, #0xa8] - str r1, [sp, #0x58] - str r0, [sp, #0x5c] - ldr r1, [sp, #0xac] - ldr r0, [sp, #0xb0] - str r1, [sp, #0x60] - str r0, [sp, #0x64] - ldr r1, [sp, #0xb4] - ldr r0, [sp, #0xb8] - str r1, [sp, #0x68] - str r0, [sp, #0x6c] - ldr r1, [sp, #0xbc] - ldr r0, [sp, #0xc0] - str r1, [sp, #0x70] - str r0, [sp, #0x74] -_0207ed34: - add r0, r6, #1 - mov r0, r0, lsl #0x10 - cmp r4, r0, lsr #16 - mov r6, r0, lsr #0x10 - bgt _0207eba0 -_0207ed48: - cmp r5, #0x1000 - bgt _0207eda4 - mvn r1, #0 - mov r0, r1, lsl #0x10 - umull r3, r2, r5, r0 - mla r2, r5, r1, r2 - ldr r4, [sp, #0x34] - mov r1, r5, asr #0x1f - str r4, [r7] - ldr r4, [sp, #0x38] - mla r2, r1, r0, r2 - str r4, [r7, #4] - ldr r1, [sp, #0x3c] - adds r3, r3, #0x800 - str r1, [r7, #8] - adc r0, r2, #0 - mov r1, r3, lsr #0xc - orr r1, r1, r0, lsl #20 - ldr r2, [sp, #0x18] - ldr r0, [sp, #8] - add r1, r2, r1 - str r1, [r0] - b _0207edd0 -_0207eda4: - mov r0, r8 - ldr r2, [r0] - add r1, sp, #0xc - ldr r2, [r2, #0x60] - blx r2 - ldr r1, [sp, #8] - str r0, [r1] - mov r1, #0 - str r1, [r7] - mov r0, #0x1000 - stmib r7, {r0, r1} -_0207edd0: - ldr r3, _0207ee0c ; =_ZN7MapBase18func_ov00_0207e968Ev - add r0, sp, #0x44 - mov r1, #3 - mov r2, #0x10 - bl func_0204f754 - ldr r3, _0207ee0c ; =_ZN7MapBase18func_ov00_0207e968Ev - add r0, sp, #0x90 - mov r1, #3 - mov r2, #0x10 - bl func_0204f754 - add sp, sp, #0xc4 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end _ZN7MapBase8vfunc_6cEiii -_0207ee00: .word gMapManager -_0207ee04: .word data_027e0f6c -_0207ee08: .word data_ov00_020ec864 -_0207ee0c: .word _ZN7MapBase18func_ov00_0207e968Ev -_0207ee10: .word _ZN7MapBase18func_ov00_0207e96cEv - - .global _ZN7MapBase8vfunc_70EP5Vec3p - arm_func_start _ZN7MapBase8vfunc_70EP5Vec3p -_ZN7MapBase8vfunc_70EP5Vec3p: ; 0x0207ee14 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x74 - ldr r0, _0207efdc ; =gMapManager - mov r9, r1 - ldr r1, [r0] - add r0, sp, #8 - mov r2, r9 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - mov r0, #0x20 - str r0, [sp] - mov r1, #0 - str r1, [sp, #4] - ldr r0, _0207efe0 ; =data_027e0f6c - ldr r3, _0207efe4 ; =data_ov00_020ec8a4 - ldr r0, [r0] - mov r1, r9 - mov r2, #2 - bl func_01fff084 - ldr r1, _0207efe8 ; =_ZN7MapBase18func_ov00_0207e968Ev - mov r5, r0 - str r1, [sp] - ldr r3, _0207efec ; =_ZN7MapBase18func_ov00_0207e96cEv - add r0, sp, #0x40 - mov r1, #3 - mov r2, #0x10 - mov r6, #0x2000 - ldr r7, _0207eff0 ; =0x0000ffff - bl func_0204f614 - mov r8, #0 - sub r0, r8, #0x10000 - str r8, [sp, #0x1c] - str r8, [sp, #0x24] - str r0, [sp, #0x20] - add r4, sp, #0x10 - ldmia r9, {r0, r1, r2} - cmp r5, #0 - stmia r4, {r0, r1, r2} - ble _0207efbc - ldr r10, _0207efe4 ; =data_ov00_020ec8a4 - ldr r9, _0207efe0 ; =data_027e0f6c - mov r11, #0x4c -_0207eeb8: - mov r0, r8, lsl #0x1 - ldrh r1, [r10, r0] - ldr r2, [r9] - add r0, sp, #0x28 - ldr r3, [r2, #0x20] - mul r2, r1, r11 - add ip, r3, r2 - ldrh lr, [r3, r2] - ldrh r3, [ip, #2] - mov r1, r4 - add r2, sp, #0x1c - strh r3, [sp, #0x2a] - strh lr, [sp, #0x28] - ldrh lr, [ip, #4] - add r3, sp, #0xc - strh lr, [sp, #0x2c] - ldrh lr, [ip, #6] - strh lr, [sp, #0x2e] - ldr lr, [ip, #8] - str lr, [sp, #0x30] - ldr lr, [ip, #0xc] - str lr, [sp, #0x34] - ldr lr, [ip, #0x10] - str lr, [sp, #0x38] - ldr lr, [ip, #0x14] - str lr, [sp, #0x3c] - ldr lr, [ip, #0x18] - str lr, [sp, #0x40] - ldr lr, [ip, #0x1c] - str lr, [sp, #0x44] - ldr lr, [ip, #0x20] - str lr, [sp, #0x48] - ldr lr, [ip, #0x24] - str lr, [sp, #0x4c] - ldr lr, [ip, #0x28] - str lr, [sp, #0x50] - ldr lr, [ip, #0x2c] - str lr, [sp, #0x54] - ldr lr, [ip, #0x30] - str lr, [sp, #0x58] - ldr lr, [ip, #0x34] - str lr, [sp, #0x5c] - ldr lr, [ip, #0x38] - str lr, [sp, #0x60] - ldr lr, [ip, #0x3c] - str lr, [sp, #0x64] - ldr lr, [ip, #0x40] - str lr, [sp, #0x68] - ldr lr, [ip, #0x44] - str lr, [sp, #0x6c] - ldr ip, [ip, #0x48] - str ip, [sp, #0x70] - bl func_01ffe904 - cmp r0, #0 - beq _0207efa8 - ldr r1, [sp, #0xc] - cmp r1, r6 - movlt r0, r8, lsl #0x1 - ldrlth r7, [r10, r0] - movlt r6, r1 -_0207efa8: - add r0, r8, #1 - mov r0, r0, lsl #0x10 - cmp r5, r0, lsr #16 - mov r8, r0, lsr #0x10 - bgt _0207eeb8 -_0207efbc: - ldr r3, _0207efe8 ; =_ZN7MapBase18func_ov00_0207e968Ev - add r0, sp, #0x40 - mov r1, #3 - mov r2, #0x10 - bl func_0204f754 - mov r0, r7 - add sp, sp, #0x74 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - .align 2, 0 - arm_func_end _ZN7MapBase8vfunc_70EP5Vec3p -_0207efdc: .word gMapManager -_0207efe0: .word data_027e0f6c -_0207efe4: .word data_ov00_020ec8a4 -_0207efe8: .word _ZN7MapBase18func_ov00_0207e968Ev -_0207efec: .word _ZN7MapBase18func_ov00_0207e96cEv -_0207eff0: .word 0x0000ffff - - .global _ZN7MapBase8vfunc_74EP5Vec3p - arm_func_start _ZN7MapBase8vfunc_74EP5Vec3p -_ZN7MapBase8vfunc_74EP5Vec3p: ; 0x0207eff4 - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x24 - ldr r0, _0207f0f4 ; =gMapManager - mov r8, r1 - ldr r1, [r0] - add r0, sp, #8 - mov r2, r8 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - add r4, sp, #0xc - ldmia r8, {r0, r1, r2} - stmia r4, {r0, r1, r2} - add r3, sp, #0x18 - ldmia r8, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r4 - mov r1, #0x800 - bl func_ov00_0208ee00 - mov r0, #0x20 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - ldr r0, _0207f0f8 ; =data_027e0f6c - ldr r3, _0207f0fc ; =data_ov00_020ec8e4 - ldr r0, [r0] - mov r1, r4 - mov r2, #8 - bl func_01fff264 - mov r5, r0 - cmp r5, #0 - mov r6, #0 - ble _0207f0e8 - ldr r4, _0207f0fc ; =data_ov00_020ec8e4 - ldr r9, _0207f0f8 ; =data_027e0f6c -_0207f078: - mov r0, r6, lsl #0x1 - ldr r1, [r9] - ldrh r0, [r4, r0] - ldr r1, [r1, #0x40] - ldr r7, [r1, r0, lsl #2] - cmp r7, #0 - ldrneb r0, [r7, #4] - cmpne r0, #0 - ldrneb r0, [r7, #5] - cmpne r0, #0 - beq _0207f0dc - ldr r0, [r7, #0xc] - ands r0, r0, #0x1f - cmpne r0, #1 - cmpne r0, #2 - beq _0207f0dc - mov r0, r7 - ldr r2, [r0] - mov r1, r8 - ldr r2, [r2, #0x48] - blx r2 - cmp r0, #0 - addne sp, sp, #0x24 - movne r0, r7 - ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} -_0207f0dc: - add r6, r6, #1 - cmp r6, r5 - blt _0207f078 -_0207f0e8: - mov r0, #0 - add sp, sp, #0x24 - ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} - .align 2, 0 - arm_func_end _ZN7MapBase8vfunc_74EP5Vec3p -_0207f0f4: .word gMapManager -_0207f0f8: .word data_027e0f6c -_0207f0fc: .word data_ov00_020ec8e4 - - .global _ZN7MapBase18func_ov00_0207f100Ev - arm_func_start _ZN7MapBase18func_ov00_0207f100Ev -_ZN7MapBase18func_ov00_0207f100Ev: ; 0x0207f100 - bx lr - arm_func_end _ZN7MapBase18func_ov00_0207f100Ev - - .global _ZN7MapBase18func_ov00_0207f104Eii - arm_func_start _ZN7MapBase18func_ov00_0207f104Eii -_ZN7MapBase18func_ov00_0207f104Eii: ; 0x0207f104 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r3, _0207f1f0 ; =gMapManager - mov r5, r1 - ldr r1, [r3] - mov r6, r0 - mov r4, r2 - add r0, sp, #0 - mov r2, r5 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - mov r0, r6 - ldr r2, [r0] - add r1, sp, #0 - ldr r2, [r2, #0x78] - blx r2 - movs r7, r0 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - ldr r1, [r0] - ldr r1, [r1, #0x58] - blx r1 - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - mov r0, r7 - ldr r1, [r0] - ldr r1, [r1, #0x54] - blx r1 - cmp r0, #0 - moveq r0, #0 - ldrneb r0, [r0, #5] - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - mov r0, r7 - mov r1, r5 - bl func_ov00_0208b79c - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - mov r0, r7 - ldr r1, [r0] - ldr r1, [r1, #0x54] - blx r1 - cmp r0, #0 - moveq r5, #0 - beq _0207f1cc - ldr r1, [r0] - ldr r1, [r1, #0x44] - blx r1 - mov r5, r0 -_0207f1cc: - mov r0, r6 - ldr r2, [r0] - add r1, sp, #0 - ldr r2, [r2, #0x60] - blx r2 - add r0, r0, r5 - str r0, [r4] - mov r0, #1 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end _ZN7MapBase18func_ov00_0207f104Eii -_0207f1f0: .word gMapManager - - .global _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi - arm_func_start _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi -_ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi: ; 0x0207f1f4 - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} - sub sp, sp, #0x3c - ldr r0, _0207f318 ; =gMapManager - mov r9, r1 - ldr r1, [r0] - mov r8, r2 - add r0, sp, #8 - mov r2, r9 - bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p - add r4, sp, #0x24 - ldmia r9, {r0, r1, r2} - stmia r4, {r0, r1, r2} - add r3, sp, #0x30 - ldmia r9, {r0, r1, r2} - stmia r3, {r0, r1, r2} - mov r0, r4 - mov r1, #0x800 - bl func_ov00_0208ee00 - mov r0, #0x20 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - ldr r0, _0207f31c ; =data_027e0f6c - ldr r3, _0207f320 ; =data_ov00_020ec924 - ldr r0, [r0] - mov r1, r4 - mov r2, #8 - bl func_01fff264 - mov r5, r0 - cmp r5, #0 - mov r6, #0 - ble _0207f30c - ldr r4, _0207f320 ; =data_ov00_020ec924 - ldr r10, _0207f31c ; =data_027e0f6c -_0207f27c: - mov r0, r6, lsl #0x1 - ldr r1, [r10] - ldrh r0, [r4, r0] - ldr r1, [r1, #0x40] - ldr r7, [r1, r0, lsl #2] - cmp r7, #0 - ldrneb r0, [r7, #4] - cmpne r0, #0 - ldrneb r0, [r7, #5] - cmpne r0, #0 - beq _0207f300 - ldr r0, [r7, #0xc] - ands r0, r0, #0x1f - cmpne r0, #1 - cmpne r0, #2 - beq _0207f300 - mov r0, r7 - ldr r2, [r0] - mov r1, r9 - ldr r2, [r2, #0x48] - blx r2 - cmp r0, #0 - beq _0207f300 - mov r0, r7 - ldr r2, [r0] - add r1, sp, #0xc - ldr r2, [r2, #0x2c] - blx r2 - ldr r1, [sp, #0x1c] - add sp, sp, #0x3c - mov r0, #1 - str r1, [r8] - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} -_0207f300: - add r6, r6, #1 - cmp r6, r5 - blt _0207f27c -_0207f30c: - mov r0, #0 - add sp, sp, #0x3c - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} - .align 2, 0 - arm_func_end _ZN7MapBase18func_ov00_0207f1f4EP5Vec3pPi -_0207f318: .word gMapManager -_0207f31c: .word data_027e0f6c -_0207f320: .word data_ov00_020ec924 - - .global _ZN7MapBase8vfunc_88Ev - arm_func_start _ZN7MapBase8vfunc_88Ev -_ZN7MapBase8vfunc_88Ev: ; 0x0207f324 - mov r0, #0 - bx lr - arm_func_end _ZN7MapBase8vfunc_88Ev - - .global _ZN7MapBase8vfunc_8cEv - arm_func_start _ZN7MapBase8vfunc_8cEv -_ZN7MapBase8vfunc_8cEv: ; 0x0207f32c - mov r0, #0 - bx lr - arm_func_end _ZN7MapBase8vfunc_8cEv - - .global _ZN7MapBase8vfunc_9cEv - arm_func_start _ZN7MapBase8vfunc_9cEv -_ZN7MapBase8vfunc_9cEv: ; 0x0207f334 - bx lr - arm_func_end _ZN7MapBase8vfunc_9cEv - - .global _ZN7MapBase8vfunc_a0Ev - arm_func_start _ZN7MapBase8vfunc_a0Ev -_ZN7MapBase8vfunc_a0Ev: ; 0x0207f338 - bx lr - arm_func_end _ZN7MapBase8vfunc_a0Ev - - .global _ZN7MapBase8vfunc_a4Ev - arm_func_start _ZN7MapBase8vfunc_a4Ev -_ZN7MapBase8vfunc_a4Ev: ; 0x0207f33c - mov r0, #0 - bx lr - arm_func_end _ZN7MapBase8vfunc_a4Ev - - .global _ZN7MapBase8vfunc_a8Ev - arm_func_start _ZN7MapBase8vfunc_a8Ev -_ZN7MapBase8vfunc_a8Ev: ; 0x0207f344 - bx lr - arm_func_end _ZN7MapBase8vfunc_a8Ev - - .global _ZN7MapBase8vfunc_acEv - arm_func_start _ZN7MapBase8vfunc_acEv -_ZN7MapBase8vfunc_acEv: ; 0x0207f348 - bx lr - arm_func_end _ZN7MapBase8vfunc_acEv - - .global _ZN7MapBase8vfunc_78Ev - arm_func_start _ZN7MapBase8vfunc_78Ev -_ZN7MapBase8vfunc_78Ev: ; 0x0207f34c - mov r0, #0 - bx lr - arm_func_end _ZN7MapBase8vfunc_78Ev - - .global _ZN7MapBase8vfunc_7cEv - arm_func_start _ZN7MapBase8vfunc_7cEv -_ZN7MapBase8vfunc_7cEv: ; 0x0207f354 - mov r0, #1 - bx lr - arm_func_end _ZN7MapBase8vfunc_7cEv - - .global _ZN7MapBase8vfunc_80Ev - arm_func_start _ZN7MapBase8vfunc_80Ev -_ZN7MapBase8vfunc_80Ev: ; 0x0207f35c - mov r0, #1 - bx lr - arm_func_end _ZN7MapBase8vfunc_80Ev - - .global _ZN7MapBase8vfunc_84Ei - arm_func_start _ZN7MapBase8vfunc_84Ei -_ZN7MapBase8vfunc_84Ei: ; 0x0207f364 - stmdb sp!, {r3, lr} - ldrb r3, [r1, #0x15] - ldrb r2, [r1, #0x14] - add r1, sp, #0 - strb r3, [sp, #1] - strb r2, [sp] - ldr r2, [r0] - ldr r2, [r2, #0x80] - blx r2 - ldmia sp!, {r3, pc} - arm_func_end _ZN7MapBase8vfunc_84Ei - - .global _ZN7MapBase18func_ov00_0207f38cEi - arm_func_start _ZN7MapBase18func_ov00_0207f38cEi -_ZN7MapBase18func_ov00_0207f38cEi: ; 0x0207f38c - stmdb sp!, {r4, lr} - ldr r2, [r0] - mov r4, r1 - ldr r2, [r2, #0x84] - blx r2 - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r4, pc} - ldr r0, _0207f3c0 ; =data_027e0f68 - mov r1, r4 - ldr r0, [r0] - bl func_ov00_0208d820 - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end _ZN7MapBase18func_ov00_0207f38cEi -_0207f3c0: .word data_027e0f68 - - .global _ZN7MapBase8vfunc_90Eiii - arm_func_start _ZN7MapBase8vfunc_90Eiii -_ZN7MapBase8vfunc_90Eiii: ; 0x0207f3c4 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r3, [r0] - mov r6, r0 - ldr r3, [r3, #0x54] - mov r5, r1 - mov r4, r2 - blx r3 - mov r7, r0 - cmp r7, r4 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - mov r0, r6 - ldr r3, [r0] - mov r1, r5 - ldr r3, [r3, #0xbc] - mov r2, r4 - blx r3 - mov r0, r6 - ldr r2, [r0] - mov r1, r5 - ldr r2, [r2, #0x5c] - blx r2 - mov r1, r0 - cmp r4, #0x14 - bne _0207f448 - mov r0, r6 - ldr r3, [r0] - sub r1, r1, #3 - mov r2, r1, lsl #0x18 - ldr r3, [r3, #0xc0] - mov r1, r5 - mov r2, r2, asr #0x18 - blx r3 - b _0207f470 -_0207f448: - cmp r7, #0x14 - bne _0207f470 - mov r0, r6 - ldr r3, [r0] - add r1, r1, #3 - mov r2, r1, lsl #0x18 - ldr r3, [r3, #0xc0] - mov r1, r5 - mov r2, r2, asr #0x18 - blx r3 -_0207f470: - mov r0, r6 - ldr r2, [r0] - mov r1, r5 - ldr r2, [r2, #0x78] - blx r2 - cmp r0, #0 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0x44] - blx r2 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end _ZN7MapBase8vfunc_90Eiii - - .global _ZN7MapBase8vfunc_94Ev - arm_func_start _ZN7MapBase8vfunc_94Ev -_ZN7MapBase8vfunc_94Ev: ; 0x0207f4a0 - bx lr - arm_func_end _ZN7MapBase8vfunc_94Ev - - .global _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si - arm_func_start _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si -_ZN7MapBase18func_ov00_0207f4a4EP5Vec2si: ; 0x0207f4a4 - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - ldrsh r3, [r1, #2] - ldrsh r4, [r1] - add r3, r3, r3, lsr #31 - add ip, r4, r4, lsr #31 - mov r4, r3, asr #0x1 - mov r3, ip, asr #0x1 - strb r3, [sp] - strb r4, [sp, #1] - ldrsh r4, [r1] - ldrsh ip, [r1, #2] - mov r3, r4, lsr #0x1f - mov lr, ip, lsr #0x1f - rsb r1, r3, r4, lsl #31 - rsb ip, lr, ip, lsl #31 - adds r1, r3, r1, ror #31 - add r3, lr, ip, ror #31 - cmpeq r3, #0 - moveq r2, #0 - beq _0207f524 - cmp r1, #1 - cmpeq r3, #0 - moveq r2, #1 - beq _0207f524 - cmp r1, #1 - cmpeq r3, #1 - moveq r2, #3 - beq _0207f524 - cmp r1, #0 - cmpeq r3, #1 - moveq r2, #2 -_0207f524: - ldr r3, [r0] - add r1, sp, #0 - ldr r3, [r3, #0x58] - blx r3 - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - arm_func_end _ZN7MapBase18func_ov00_0207f4a4EP5Vec2si - - .global _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p - arm_func_start _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p -_ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p: ; 0x0207f53c - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r0, #0 - strh r0, [r5] - mov r4, r2 - strh r0, [r5, #2] - ldr r0, [r4] - mov r1, #0x800 - bl Divide - add r0, r0, #0x800 - mov r0, r0, asr #0xc - strh r0, [r5] - ldr r0, [r4, #8] - mov r1, #0x800 - bl Divide - add r0, r0, #0x800 - mov r0, r0, asr #0xc - strh r0, [r5, #2] - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p - - .global _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi - arm_func_start _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi -_ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi: ; 0x0207f588 - mov r1, #0 - strh r1, [r0] - strh r1, [r0, #2] - cmp r3, #3 - addls pc, pc, r3, lsl #2 - bx lr -_0207f5a0: ; jump table - b _0207f5b0 ; case 0 - b _0207f5cc ; case 1 - b _0207f5ec ; case 2 - b _0207f60c ; case 3 -_0207f5b0: - ldrb r1, [r2] - mov r1, r1, lsl #0x1 - strh r1, [r0] - ldrb r1, [r2, #1] - mov r1, r1, lsl #0x1 - strh r1, [r0, #2] - bx lr -_0207f5cc: - ldrb r1, [r2] - mov r1, r1, lsl #0x1 - add r1, r1, #1 - strh r1, [r0] - ldrb r1, [r2, #1] - mov r1, r1, lsl #0x1 - strh r1, [r0, #2] - bx lr -_0207f5ec: - ldrb r1, [r2] - mov r1, r1, lsl #0x1 - strh r1, [r0] - ldrb r1, [r2, #1] - mov r1, r1, lsl #0x1 - add r1, r1, #1 - strh r1, [r0, #2] - bx lr -_0207f60c: - ldrb r1, [r2] - mov r1, r1, lsl #0x1 - add r1, r1, #1 - strh r1, [r0] - ldrb r1, [r2, #1] - mov r1, r1, lsl #0x1 - add r1, r1, #1 - strh r1, [r0, #2] - bx lr - arm_func_end _ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi - - .global _ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p - arm_func_start _ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p -_ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p: ; 0x0207f630 - stmdb sp!, {r4, lr} - ldrsh r3, [r1, #2] - ldrsh r1, [r1] - mov r0, #0x800 - mov lr, r3, lsl #0xc - mov ip, lr, asr #0x1f - mov r3, r1, lsl #0xc - mov ip, ip, lsl #0xb - mov r1, r3, asr #0x1f - mov r1, r1, lsl #0xb - adds r4, r0, lr, lsl #11 - orr ip, ip, lr, lsr #21 - adc lr, ip, #0 - adds ip, r0, r3, lsl #11 - orr r1, r1, r3, lsr #21 - mov r3, r4, lsr #0xc - adc r0, r1, #0 - mov r1, ip, lsr #0xc - orr r1, r1, r0, lsl #20 - str r1, [r2] - mov r0, #0 - str r0, [r2, #4] - orr r3, r3, lr, lsl #20 - str r3, [r2, #8] - ldmia sp!, {r4, pc} - arm_func_end _ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p - - .global _ZN7MapBase13GetTileStartXEi - arm_func_start _ZN7MapBase13GetTileStartXEi -_ZN7MapBase13GetTileStartXEi: ; 0x0207f694 - ldr r0, [r0, #0xf4] - add r0, r0, r1, lsl #12 - bx lr - arm_func_end _ZN7MapBase13GetTileStartXEi - - .global _ZN7MapBase13GetTileStartZEi - arm_func_start _ZN7MapBase13GetTileStartZEi -_ZN7MapBase13GetTileStartZEi: ; 0x0207f6a0 - ldr r0, [r0, #0xfc] - add r0, r0, r1, lsl #12 - bx lr - arm_func_end _ZN7MapBase13GetTileStartZEi - - .global _ZN7MapBase11GetTileEndXEi - arm_func_start _ZN7MapBase11GetTileEndXEi -_ZN7MapBase11GetTileEndXEi: ; 0x0207f6ac - stmdb sp!, {r3, lr} - bl _ZN7MapBase13GetTileStartXEi - add r0, r0, #0x1000 - ldmia sp!, {r3, pc} - arm_func_end _ZN7MapBase11GetTileEndXEi - - .global _ZN7MapBase11GetTileEndZEi - arm_func_start _ZN7MapBase11GetTileEndZEi -_ZN7MapBase11GetTileEndZEi: ; 0x0207f6bc - stmdb sp!, {r3, lr} - bl _ZN7MapBase13GetTileStartZEi - add r0, r0, #0x1000 - ldmia sp!, {r3, pc} - arm_func_end _ZN7MapBase11GetTileEndZEi - - .global _ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB - arm_func_start _ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB -_ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB: ; 0x0207f6cc - stmdb sp!, {r3, r4, r5, r6, r7, lr} - sub sp, sp, #0x18 - mov r7, r1 - ldrb r1, [r7] - mov r6, r0 - mov r5, r2 - bl _ZN7MapBase13GetTileStartXEi - ldrb r1, [r7, #1] - mov r0, r6 - bl _ZN7MapBase13GetTileStartZEi - mov r4, r0 - ldrb r1, [r7] - mov r0, r6 - bl _ZN7MapBase13GetTileStartXEi - ldr r2, _0207f774 ; =0xffffeccd - str r0, [sp, #0xc] - ldrb r1, [r7, #1] - mov r0, r6 - str r2, [sp, #0x10] - str r4, [sp, #0x14] - bl _ZN7MapBase11GetTileEndZEi - mov r4, r0 - mov r0, r6 - mov r1, r7 - ldr r2, [r0] - ldr r2, [r2, #0x60] - blx r2 - ldrb r1, [r7] - mov r7, r0 - mov r0, r6 - bl _ZN7MapBase11GetTileEndXEi - ldr r2, [sp, #0xc] - ldr r1, [sp, #0x10] - str r2, [r5] - str r1, [r5, #4] - ldr r1, [sp, #0x14] - str r1, [r5, #8] - str r0, [r5, #0xc] - str r7, [r5, #0x10] - str r4, [r5, #0x14] - add sp, sp, #0x18 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - .align 2, 0 - arm_func_end _ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB -_0207f774: .word 0xffffeccd - - .global _ZN7MapBase15GetClampedTileXEi - arm_func_start _ZN7MapBase15GetClampedTileXEi -_ZN7MapBase15GetClampedTileXEi: ; 0x0207f778 - ldr r2, [r0, #0xf4] - ldrh r0, [r0, #0x28] - sub r1, r1, r2 - movs r1, r1, asr #0xc - movmi r1, #0 - sub r0, r0, #1 - cmp r1, r0 - movge r1, r0 - mov r0, r1 - bx lr - arm_func_end _ZN7MapBase15GetClampedTileXEi - - .global _ZN7MapBase15GetClampedTileYEi - arm_func_start _ZN7MapBase15GetClampedTileYEi -_ZN7MapBase15GetClampedTileYEi: ; 0x0207f7a0 - ldr r2, [r0, #0xfc] - ldrh r0, [r0, #0x2a] - sub r1, r1, r2 - movs r1, r1, asr #0xc - movmi r1, #0 - sub r0, r0, #1 - cmp r1, r0 - movge r1, r0 - mov r0, r1 - bx lr - arm_func_end _ZN7MapBase15GetClampedTileYEi - - .global _ZN7MapBase8GetTileXEi - arm_func_start _ZN7MapBase8GetTileXEi -_ZN7MapBase8GetTileXEi: ; 0x0207f7c8 - ldr r0, [r0, #0xf4] - sub r0, r1, r0 - mov r0, r0, asr #0xc - bx lr - arm_func_end _ZN7MapBase8GetTileXEi - - .global _ZN7MapBase8GetTileYEi - arm_func_start _ZN7MapBase8GetTileYEi -_ZN7MapBase8GetTileYEi: ; 0x0207f7d8 - ldr r0, [r0, #0xfc] - sub r0, r1, r0 - mov r0, r0, asr #0xc - bx lr - arm_func_end _ZN7MapBase8GetTileYEi - - .global _ZN7MapBase10IsInBoundsEP5Vec3p - arm_func_start _ZN7MapBase10IsInBoundsEP5Vec3p -_ZN7MapBase10IsInBoundsEP5Vec3p: ; 0x0207f7e8 - stmdb sp!, {r4, r5, r6, lr} - mov r5, r1 - ldr r1, [r5] - mov r6, r0 - bl _ZN7MapBase8GetTileXEi - mov r4, r0 - ldr r1, [r5, #8] - mov r0, r6 - bl _ZN7MapBase8GetTileYEi - cmp r4, #0 - blt _0207f834 - ldrh r1, [r6, #0x28] - cmp r4, r1 - bge _0207f834 - cmp r0, #0 - blt _0207f834 - ldrh r1, [r6, #0x2a] - cmp r0, r1 - blt _0207f83c -_0207f834: - mov r0, #0 - ldmia sp!, {r4, r5, r6, pc} -_0207f83c: - mov r0, #1 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end _ZN7MapBase10IsInBoundsEP5Vec3p - - .global _ZN7MapBase11AddEntranceEP8Entrance - arm_func_start _ZN7MapBase11AddEntranceEP8Entrance -_ZN7MapBase11AddEntranceEP8Entrance: ; 0x0207f844 - stmdb sp!, {r3, lr} - mov lr, #0 - strb lr, [sp, #1] - ldr ip, [r0, #0x104] - ldr r2, [r0, #0x108] - mov r3, r1 - cmp ip, r2 - bhs _0207f8a0 - add r1, ip, #1 - str r1, [r0, #0x104] - ldr r2, [r0, #0x100] - sub r1, r1, #1 - mov r0, #0x14 - mla ip, r1, r0, r2 - ldmia r3, {r0, r1, r2} - stmia ip, {r0, r1, r2} - ldrsh r0, [r3, #0xc] - strh r0, [ip, #0xc] - ldrb r0, [r3, #0xe] - strb r0, [ip, #0xe] - ldr r0, [r3, #0x10] - str r0, [ip, #0x10] - ldmia sp!, {r3, pc} -_0207f8a0: - strb lr, [sp] - sub r3, sp, #4 - and r2, lr, #0xff - strb r2, [r3] - ldr r2, [r3] - add r0, r0, #0x100 - bl func_ov00_02081040 - ldmia sp!, {r3, pc} - arm_func_end _ZN7MapBase11AddEntranceEP8Entrance - - .global _ZN7MapBase12FindEntranceEi - arm_func_start _ZN7MapBase12FindEntranceEi -_ZN7MapBase12FindEntranceEi: ; 0x0207f8c0 - sub sp, sp, #0x18 - ldr r3, [r0, #0x100] - ldr r2, [r0, #0x104] - mov r0, #0x14 - mla ip, r2, r0, r3 - str r1, [sp, #0xc] - str r1, [sp] - str ip, [sp, #0x10] - str ip, [sp, #4] - str r3, [sp, #0x14] - str r3, [sp, #8] - mov r2, r3 - b _0207f8fc -_0207f8f4: - add r2, r2, #0x14 - str r2, [sp, #8] -_0207f8fc: - cmp r2, ip - ldrneb r0, [r2, #0xe] - cmpne r1, r0 - bne _0207f8f4 - ldr r0, [sp, #8] - cmp r0, ip - moveq r0, r3 - ldrne r0, [sp, #8] - add sp, sp, #0x18 - bx lr - arm_func_end _ZN7MapBase12FindEntranceEi - - .global _ZN7MapBase18func_ov00_0207f924Ei - arm_func_start _ZN7MapBase18func_ov00_0207f924Ei -_ZN7MapBase18func_ov00_0207f924Ei: ; 0x0207f924 - add r1, r0, r1 - ldrb r0, [r1, #0x18] - strb r0, [r1, #0x16] - bx lr - arm_func_end _ZN7MapBase18func_ov00_0207f924Ei - - .global _ZN7MapBase18func_ov00_0207f934Ev - arm_func_start _ZN7MapBase18func_ov00_0207f934Ev -_ZN7MapBase18func_ov00_0207f934Ev: ; 0x0207f934 - ldr r0, [r0, #0x140] - cmp r0, #0 - moveq r0, #0 - ldrne r0, [r0, #0x60] - bx lr - arm_func_end _ZN7MapBase18func_ov00_0207f934Ev - - .global _ZN7MapBase18func_ov00_0207f948Ei - arm_func_start _ZN7MapBase18func_ov00_0207f948Ei -_ZN7MapBase18func_ov00_0207f948Ei: ; 0x0207f948 - ldr r0, [r0, #0x140] - cmp r0, #0 - strne r1, [r0, #0x60] - bx lr - arm_func_end _ZN7MapBase18func_ov00_0207f948Ei - - .global _ZN7MapBase10AddTriggerEP13TriggerParams - arm_func_start _ZN7MapBase10AddTriggerEP13TriggerParams -_ZN7MapBase10AddTriggerEP13TriggerParams: ; 0x0207f958 - stmdb sp!, {r3, r4, r5, lr} - sub sp, sp, #8 - mov r2, #0 - str r2, [sp, #4] - mov r4, r1 - ldrb r1, [r4, #5] - mov r5, r0 - mov r2, #4 - cmp r1, #0 - beq _0207f9a8 - ldr r1, _0207faa4 ; =data_027e0ce0 - mov r0, #0x5c - ldr r1, [r1, #4] - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _0207f9a0 - mov r1, r4 - bl func_ov00_02095d58 -_0207f9a0: - str r0, [sp, #4] - b _0207fa34 -_0207f9a8: - ldrb r0, [r4, #9] - cmp r0, #1 - bne _0207f9dc - ldr r1, _0207faa4 ; =data_027e0ce0 - mov r0, #0xe0 - ldr r1, [r1, #4] - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _0207f9d4 - mov r1, r4 - bl func_ov00_0209581c -_0207f9d4: - str r0, [sp, #4] - b _0207fa34 -_0207f9dc: - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _0207fa10 - ldr r1, _0207faa4 ; =data_027e0ce0 - mov r0, #0x28 - ldr r1, [r1, #4] - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _0207fa08 - mov r1, r4 - bl func_ov00_0209564c -_0207fa08: - str r0, [sp, #4] - b _0207fa34 -_0207fa10: - ldr r1, _0207faa4 ; =data_027e0ce0 - mov r0, #0x2c - ldr r1, [r1, #4] - bl _ZN9SysObjectnwEmPjj - cmp r0, #0 - beq _0207fa30 - mov r1, r4 - bl func_ov00_02095554 -_0207fa30: - str r0, [sp, #4] -_0207fa34: - ldr r0, [sp, #4] - ldr r1, [r0] - ldr r1, [r1, #8] - blx r1 - mov r2, #0 - strb r2, [sp, #1] - ldr r1, [r5, #0x110] - ldr r0, [r5, #0x114] - cmp r1, r0 - bhs _0207fa7c - add r0, r1, #1 - str r0, [r5, #0x110] - ldr r2, [sp, #4] - ldr r1, [r5, #0x10c] - sub r0, r0, #1 - str r2, [r1, r0, lsl #2] - add sp, sp, #8 - ldmia sp!, {r3, r4, r5, pc} -_0207fa7c: - strb r2, [sp] - sub r1, sp, #4 - and r0, r2, #0xff - strb r0, [r1] - ldr r2, [r1] - add r1, sp, #4 - add r0, r5, #0x10c - bl func_ov00_02080f64 - add sp, sp, #8 - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 - arm_func_end _ZN7MapBase10AddTriggerEP13TriggerParams -_0207faa4: .word data_027e0ce0 - - .global _ZN11TriggerBase8vfunc_08Ev - arm_func_start _ZN11TriggerBase8vfunc_08Ev -_ZN11TriggerBase8vfunc_08Ev: ; 0x0207faa8 - bx lr - arm_func_end _ZN11TriggerBase8vfunc_08Ev - - .global _ZN7MapBase21GetTriggerBoundingBoxEiP4AABB - arm_func_start _ZN7MapBase21GetTriggerBoundingBoxEiP4AABB -_ZN7MapBase21GetTriggerBoundingBoxEiP4AABB: ; 0x0207faac - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - sub sp, sp, #0x18 - mov r9, r0 - ldr r6, [r9, #0x10c] - ldr r0, [r9, #0x110] - mov r8, r1 - add r0, r6, r0, lsl #2 - mov r7, r2 - cmp r6, r0 - mov r5, #0 - beq _0207fb50 - add r4, sp, #0 -_0207fadc: - ldr r0, [r6] - ldrb r1, [r0, #5] - cmp r8, r1 - bne _0207fb38 - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0x18] - blx r2 - cmp r0, #0 - beq _0207fb38 - ldr r0, [sp] - add r5, r5, #1 - str r0, [r7] - ldr r0, [sp, #4] - str r0, [r7, #4] - ldr r0, [sp, #8] - str r0, [r7, #8] - ldr r0, [sp, #0xc] - str r0, [r7, #0xc] - ldr r0, [sp, #0x10] - str r0, [r7, #0x10] - ldr r0, [sp, #0x14] - str r0, [r7, #0x14] -_0207fb38: - ldr r1, [r9, #0x10c] - ldr r0, [r9, #0x110] - add r6, r6, #4 - add r0, r1, r0, lsl #2 - cmp r6, r0 - bne _0207fadc -_0207fb50: - mov r0, r5 - add sp, sp, #0x18 - ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - arm_func_end _ZN7MapBase21GetTriggerBoundingBoxEiP4AABB - - .global _ZN11TriggerBase14GetBoundingBoxEv - arm_func_start _ZN11TriggerBase14GetBoundingBoxEv -_ZN11TriggerBase14GetBoundingBoxEv: ; 0x0207fb5c - mov r0, #0 - bx lr - arm_func_end _ZN11TriggerBase14GetBoundingBoxEv - - .global _ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi - arm_func_start _ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi -_ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi: ; 0x0207fb64 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} - sub sp, sp, #0x18 - mov r10, r0 - ldr r6, [r10, #0x10c] - ldr r0, [r10, #0x110] - mov r9, r1 - add r0, r6, r0, lsl #2 - mov r8, r2 - mov r7, r3 - cmp r6, r0 - mov r5, #0 - beq _0207fc20 - add r4, sp, #0 -_0207fb98: - ldr r0, [r6] - ldrb r1, [r0, #5] - cmp r9, r1 - bne _0207fbf8 - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0x18] - blx r2 - cmp r0, #0 - beq _0207fbf8 - ldr r0, [sp] - add r5, r5, #1 - str r0, [r8] - ldr r0, [sp, #4] - str r0, [r8, #4] - ldr r0, [sp, #8] - str r0, [r8, #8] - ldr r0, [sp, #0xc] - str r0, [r8, #0xc] - ldr r0, [sp, #0x10] - str r0, [r8, #0x10] - ldr r0, [sp, #0x14] - str r0, [r8, #0x14] - add r8, r8, #0x18 -_0207fbf8: - cmp r5, r7 - addhs sp, sp, #0x18 - movhs r0, r5 - ldmhsia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - ldr r1, [r10, #0x10c] - ldr r0, [r10, #0x110] - add r6, r6, #4 - add r0, r1, r0, lsl #2 - cmp r6, r0 - bne _0207fb98 -_0207fc20: - mov r0, r5 - add sp, sp, #0x18 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - arm_func_end _ZN7MapBase23GetTriggerBoundingBoxesEiP4AABBi - - .global _ZN7MapBase21GetOverlappingTriggerEP5Vec3p - arm_func_start _ZN7MapBase21GetOverlappingTriggerEP5Vec3p -_ZN7MapBase21GetOverlappingTriggerEP5Vec3p: ; 0x0207fc2c - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r6, r0 - ldr r4, [r6, #0x10c] - ldr r0, [r6, #0x110] - mov r5, r1 - add r0, r4, r0, lsl #2 - cmp r4, r0 - beq _0207fc88 -_0207fc4c: - ldr r7, [r4] - mov r1, r5 - mov r0, r7 - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - cmp r0, #0 - ldrneb r0, [r7, #5] - ldmneia sp!, {r3, r4, r5, r6, r7, pc} - ldr r1, [r6, #0x10c] - ldr r0, [r6, #0x110] - add r4, r4, #4 - add r0, r1, r0, lsl #2 - cmp r4, r0 - bne _0207fc4c -_0207fc88: - mov r0, #0 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end _ZN7MapBase21GetOverlappingTriggerEP5Vec3p - - .global _ZN11TriggerBase8OverlapsEv - arm_func_start _ZN11TriggerBase8OverlapsEv -_ZN11TriggerBase8OverlapsEv: ; 0x0207fc90 - mov r0, #0 - bx lr - arm_func_end _ZN11TriggerBase8OverlapsEv - - .global _ZN7MapBase11FindTriggerEi - arm_func_start _ZN7MapBase11FindTriggerEi -_ZN7MapBase11FindTriggerEi: ; 0x0207fc98 - ldr ip, [r0, #0x10c] - ldr r2, [r0, #0x110] - add r2, ip, r2, lsl #2 - cmp ip, r2 - beq _0207fcd8 -_0207fcac: - ldr r3, [ip] - ldrb r2, [r3, #5] - cmp r1, r2 - moveq r0, r3 - bxeq lr - ldr r3, [r0, #0x10c] - ldr r2, [r0, #0x110] - add ip, ip, #4 - add r2, r3, r2, lsl #2 - cmp ip, r2 - bne _0207fcac -_0207fcd8: - mov r0, #0 - bx lr - arm_func_end _ZN7MapBase11FindTriggerEi - - .global _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei - arm_func_start _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei -_ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei: ; 0x0207fce0 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} - mov r10, r0 - ldr r6, [r10, #0x10c] - ldr r0, [r10, #0x110] - mov r9, r1 - add r0, r6, r0, lsl #2 - mov r8, r2 - mov r7, r3 - cmp r6, r0 - mov r4, #0 - beq _0207fd50 -_0207fd0c: - cmp r4, r7 - bhs _0207fd50 - ldr r5, [r6] - mov r1, r9 - mov r0, r5 - ldr r2, [r0] - ldr r2, [r2, #0x14] - blx r2 - cmp r0, #0 - strne r5, [r8, r4, lsl #2] - ldr r1, [r10, #0x10c] - ldr r0, [r10, #0x110] - add r6, r6, #4 - add r0, r1, r0, lsl #2 - addne r4, r4, #1 - cmp r6, r0 - bne _0207fd0c -_0207fd50: - mov r0, r4 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - arm_func_end _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei - - .global _ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p - arm_func_start _ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p -_ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p: ; 0x0207fd58 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - movs r6, r1 - mov r7, r0 - mov r5, r2 - moveq r0, #1 - ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - ldr r4, [r7, #0x10c] - ldr r0, [r7, #0x110] - add r0, r4, r0, lsl #2 - cmp r4, r0 - beq _0207fdc8 -_0207fd84: - ldr r0, [r4] - ldrb r1, [r0, #5] - cmp r6, r1 - bne _0207fdb0 - ldr r2, [r0] - mov r1, r5 - ldr r2, [r2, #0x14] - blx r2 - cmp r0, #0 - movne r0, #1 - ldmneia sp!, {r3, r4, r5, r6, r7, pc} -_0207fdb0: - ldr r1, [r7, #0x10c] - ldr r0, [r7, #0x110] - add r4, r4, #4 - add r0, r1, r0, lsl #2 - cmp r4, r0 - bne _0207fd84 -_0207fdc8: - mov r0, #0 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end _ZN7MapBase23IsTriggerTypeOverlappedEiP5Vec3p - - .global _ZN7MapBase18AnyTrigger_func_0cEi - arm_func_start _ZN7MapBase18AnyTrigger_func_0cEi -_ZN7MapBase18AnyTrigger_func_0cEi: ; 0x0207fdd0 - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r7, r0 - ldr r5, [r7, #0x10c] - ldr r0, [r7, #0x110] - mov r6, r1 - add r0, r5, r0, lsl #2 - cmp r5, r0 - beq _0207fe2c - mov r4, #1 -_0207fdf4: - ldr r0, [r5] - ldrb r1, [r0, #5] - cmp r6, r1 - bne _0207fe14 - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0xc] - blx r2 -_0207fe14: - ldr r1, [r7, #0x10c] - ldr r0, [r7, #0x110] - add r5, r5, #4 - add r0, r1, r0, lsl #2 - cmp r5, r0 - bne _0207fdf4 -_0207fe2c: - mov r0, #1 - ldmia sp!, {r3, r4, r5, r6, r7, pc} - arm_func_end _ZN7MapBase18AnyTrigger_func_0cEi - - .global _ZN11TriggerBase8vfunc_0cEv - arm_func_start _ZN11TriggerBase8vfunc_0cEv -_ZN11TriggerBase8vfunc_0cEv: ; 0x0207fe34 - mov r0, #0 - bx lr - arm_func_end _ZN11TriggerBase8vfunc_0cEv - - .global _ZN7MapBase16Trigger_vfunc_08Ev - arm_func_start _ZN7MapBase16Trigger_vfunc_08Ev -_ZN7MapBase16Trigger_vfunc_08Ev: ; 0x0207fe3c - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r4, [r5, #0x10c] - ldr r0, [r5, #0x110] - add r0, r4, r0, lsl #2 - cmp r4, r0 - ldmeqia sp!, {r3, r4, r5, pc} -_0207fe58: - ldr r0, [r4], #4 - ldr r1, [r0] - ldr r1, [r1, #8] - blx r1 - ldr r1, [r5, #0x10c] - ldr r0, [r5, #0x110] - add r0, r1, r0, lsl #2 - cmp r4, r0 - bne _0207fe58 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN7MapBase16Trigger_vfunc_08Ev - - .global _ZN7MapBase10AddTriggerEi - arm_func_start _ZN7MapBase10AddTriggerEi -_ZN7MapBase10AddTriggerEi: ; 0x0207fe80 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {lr} - sub sp, sp, #0x14 - ldr r1, [r0, #0x110] - cmp r1, #0x40 - addhs sp, sp, #0x14 - movhs r0, #0 - ldmhsia sp!, {lr} - addhs sp, sp, #0x10 - bxhs lr - ldr r2, [r0, #0x10c] - ldr r1, [r0, #0x110] - str r2, [sp, #0x10] - add ip, r2, r1, lsl #2 - str ip, [sp, #0xc] - str ip, [sp, #4] - str r2, [sp, #8] - ldr r3, [sp, #0x1c] - b _0207fed4 -_0207fecc: - add r2, r2, #4 - str r2, [sp, #8] -_0207fed4: - cmp r2, ip - ldrne r1, [r2] - cmpne r1, r3 - bne _0207fecc - ldr r1, [sp, #8] - cmp r1, ip - addne sp, sp, #0x14 - movne r0, #0 - ldmneia sp!, {lr} - addne sp, sp, #0x10 - bxne lr - ldr r1, [sp, #0x1c] - ldrb r1, [r1, #4] - cmp r1, #0 - addne sp, sp, #0x14 - movne r0, #0 - ldmneia sp!, {lr} - addne sp, sp, #0x10 - bxne lr - mov r3, #0 - strb r3, [sp, #1] - ldr r2, [r0, #0x110] - ldr r1, [r0, #0x114] - cmp r2, r1 - bhs _0207ff54 - add r3, r2, #1 - str r3, [r0, #0x110] - ldr r1, [r0, #0x10c] - ldr r2, [sp, #0x1c] - sub r0, r3, #1 - str r2, [r1, r0, lsl #2] - b _0207ff74 -_0207ff54: - strb r3, [sp] - sub r2, sp, #4 - and r1, r3, #0xff - strb r1, [r2] - ldr r2, [r2] - add r1, sp, #0x1c - add r0, r0, #0x10c - bl func_ov00_02080f64 -_0207ff74: - mov r0, #1 - add sp, sp, #0x14 - ldmia sp!, {lr} - add sp, sp, #0x10 - bx lr - arm_func_end _ZN7MapBase10AddTriggerEi - - .global _ZN7MapBase18func_ov00_0207ff88Ei - arm_func_start _ZN7MapBase18func_ov00_0207ff88Ei -_ZN7MapBase18func_ov00_0207ff88Ei: ; 0x0207ff88 - stmdb sp!, {r3, lr} - sub sp, sp, #0x28 - ldrb r2, [r1, #4] - cmp r2, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r3, pc} - ldr ip, [r0, #0x10c] - ldr r2, [r0, #0x110] - str ip, [sp, #0x20] - add r3, ip, r2, lsl #2 - str r3, [sp, #0x1c] - str r3, [sp, #0xc] - str r3, [sp, #4] - str ip, [sp, #8] - b _0207ffd0 -_0207ffc8: - add ip, ip, #4 - str ip, [sp, #8] -_0207ffd0: - cmp ip, r3 - ldrne r2, [ip] - cmpne r2, r1 - bne _0207ffc8 - ldr r2, [sp, #8] - ldr r3, [sp, #0xc] - mov lr, r2 - cmp r2, r3 - addne ip, lr, #4 - cmpne ip, r3 - beq _02080014 -_0207fffc: - ldr r2, [ip] - add ip, ip, #4 - cmp r2, r1 - strne r2, [lr], #4 - cmp ip, r3 - bne _0207fffc -_02080014: - ldr r2, [r0, #0x10c] - ldr r1, [r0, #0x110] - mov r3, #0 - add r2, r2, r1, lsl #2 - strb r3, [sp] - sub r1, sp, #4 - strb r3, [r1] - ldr r3, [r1] - mov r1, lr - add r0, r0, #0x10c - str lr, [sp, #0x24] - str r2, [sp, #0x18] - str r2, [sp, #0x10] - str lr, [sp, #0x14] - bl func_ov00_02080f94 - mov r0, #1 - add sp, sp, #0x28 - ldmia sp!, {r3, pc} - arm_func_end _ZN7MapBase18func_ov00_0207ff88Ei - - .global _ZN7MapBase18func_ov00_0208005cEiii - arm_func_start _ZN7MapBase18func_ov00_0208005cEiii -_ZN7MapBase18func_ov00_0208005cEiii: ; 0x0208005c - ldr ip, _02080068 ; =func_ov00_0209c1e4 - ldr r0, [r0, #0x144] - bx ip - .align 2, 0 - arm_func_end _ZN7MapBase18func_ov00_0208005cEiii -_02080068: .word func_ov00_0209c1e4 - - .global _ZN7MapBase18func_ov00_0208006cEii - arm_func_start _ZN7MapBase18func_ov00_0208006cEii -_ZN7MapBase18func_ov00_0208006cEii: ; 0x0208006c - ldr ip, _02080078 ; =func_ov00_0209c2b4 - ldr r0, [r0, #0x144] - bx ip - .align 2, 0 - arm_func_end _ZN7MapBase18func_ov00_0208006cEii -_02080078: .word func_ov00_0209c2b4 - - .global _ZN7MapBase18func_ov00_0208007cEii - arm_func_start _ZN7MapBase18func_ov00_0208007cEii -_ZN7MapBase18func_ov00_0208007cEii: ; 0x0208007c - ldr ip, _02080088 ; =func_ov00_0209c2d0 - ldr r0, [r0, #0x144] - bx ip - .align 2, 0 - arm_func_end _ZN7MapBase18func_ov00_0208007cEii -_02080088: .word func_ov00_0209c2d0 - - .global _ZN7MapBase18func_ov00_0208008cEj - arm_func_start _ZN7MapBase18func_ov00_0208008cEj -_ZN7MapBase18func_ov00_0208008cEj: ; 0x0208008c - ldr ip, _02080098 ; =func_ov00_0209c8e4 - ldr r0, [r0, #0x144] - bx ip - .align 2, 0 - arm_func_end _ZN7MapBase18func_ov00_0208008cEj -_02080098: .word func_ov00_0209c8e4 - - .global _ZN7MapBase7AddExitEP4Exit - arm_func_start _ZN7MapBase7AddExitEP4Exit -_ZN7MapBase7AddExitEP4Exit: ; 0x0208009c - stmdb sp!, {r3, lr} - mov ip, #0 - strb ip, [sp, #1] - ldr r3, [r0, #0x11c] - ldr r2, [r0, #0x120] - cmp r3, r2 - bhs _02080120 - add ip, r3, #1 - sub r3, ip, #1 - mov r2, #0x18 - mul r2, r3, r2 - str ip, [r0, #0x11c] - ldr r3, [r0, #0x118] - ldr r0, [r1] - add ip, r3, r2 - str r0, [r3, r2] - ldr r0, [r1, #4] - str r0, [ip, #4] - ldr r0, [r1, #8] - str r0, [ip, #8] - ldr r0, [r1, #0xc] - str r0, [ip, #0xc] - ldrsh r0, [r1, #0x10] - strh r0, [ip, #0x10] - ldrb r0, [r1, #0x12] - strb r0, [ip, #0x12] - ldrb r0, [r1, #0x13] - strb r0, [ip, #0x13] - ldrb r0, [r1, #0x14] - strb r0, [ip, #0x14] - ldrb r0, [r1, #0x15] - strb r0, [ip, #0x15] - ldmia sp!, {r3, pc} -_02080120: - strb ip, [sp] - sub r3, sp, #4 - and r2, ip, #0xff - strb r2, [r3] - ldr r2, [r3] - add r0, r0, #0x118 - bl func_ov00_020810b8 - ldmia sp!, {r3, pc} - arm_func_end _ZN7MapBase7AddExitEP4Exit - - .global _ZN7MapBase18func_ov00_02080140EP4Exit - arm_func_start _ZN7MapBase18func_ov00_02080140EP4Exit -_ZN7MapBase18func_ov00_02080140EP4Exit: ; 0x02080140 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} - sub sp, sp, #0x50 - ldr r9, [r1] - mov r4, r0 - str r9, [sp, #0x38] - ldr r8, [r1, #4] - mov r10, #0x18 - str r8, [sp, #0x3c] - ldr r7, [r1, #8] - add r0, sp, #0x1c - str r7, [sp, #0x40] - ldr r6, [r1, #0xc] - add r3, sp, #0x20 - str r6, [sp, #0x44] - ldrsh r5, [r1, #0x10] - strh r5, [sp, #0x48] - ldrb lr, [r1, #0x12] - strb lr, [sp, #0x4a] - ldrb ip, [r1, #0x13] - strb ip, [sp, #0x4b] - ldrb r2, [r1, #0x14] - strb r2, [sp, #0x4c] - ldrb r1, [r1, #0x15] - str r9, [sp, #0x20] - str r8, [sp, #0x24] - strb r1, [sp, #0x4d] - str r7, [sp, #0x28] - str r6, [sp, #0x2c] - strh r5, [sp, #0x30] - strb lr, [sp, #0x32] - strb ip, [sp, #0x33] - strb r2, [sp, #0x34] - strb r1, [sp, #0x35] - ldr r1, [r4, #0x118] - ldr r5, [r4, #0x11c] - str r1, [sp, #0x18] - mla r2, r5, r10, r1 - str r2, [sp, #0x14] - bl _ZN12MapBase_Unk118func_ov00_02080324Eiii - ldr r0, [r4, #0x118] - ldr r2, [r4, #0x11c] - mov r1, r10 - mla r5, r2, r1, r0 - ldr r1, [sp, #0x1c] - cmp r1, r5 - bne _02080310 - mov r1, #0 - cmp r0, r5 - str r0, [sp, #8] - addne r3, r0, #0x18 - strne r3, [sp, #8] - str r5, [sp, #0xc] - str r0, [sp, #0x10] - strb r1, [sp, #2] - str r5, [sp, #4] - cmpne r3, r5 - beq _02080244 -_02080224: - ldrb r2, [r0, #0x14] - ldrb r1, [r3, #0x14] - cmp r2, r1 - movlo r0, r3 - add r3, r3, #0x18 - cmp r3, r5 - bne _02080224 - str r3, [sp, #8] -_02080244: - ldr r3, [r4, #0x118] - ldr r2, [r4, #0x11c] - mov r1, #0x18 - mla r1, r2, r1, r3 - cmp r0, r1 - moveq r0, #1 - streqb r0, [sp, #0x4c] - ldrneb r0, [r0, #0x14] - mov r2, #0 - addne r0, r0, #1 - strneb r0, [sp, #0x4c] - strb r2, [sp, #1] - ldr r1, [r4, #0x11c] - ldr r0, [r4, #0x120] - cmp r1, r0 - bhs _020802ec - add r3, r1, #1 - sub r1, r3, #1 - mov r0, #0x18 - mul r2, r1, r0 - str r3, [r4, #0x11c] - ldr r1, [r4, #0x118] - ldr r0, [sp, #0x38] - add r3, r1, r2 - str r0, [r1, r2] - ldr r0, [sp, #0x3c] - str r0, [r3, #4] - ldr r0, [sp, #0x40] - str r0, [r3, #8] - ldr r0, [sp, #0x44] - str r0, [r3, #0xc] - ldrsh r0, [sp, #0x48] - strh r0, [r3, #0x10] - ldrb r0, [sp, #0x4a] - strb r0, [r3, #0x12] - ldrb r0, [sp, #0x4b] - strb r0, [r3, #0x13] - ldrb r0, [sp, #0x4c] - strb r0, [r3, #0x14] - ldrb r0, [sp, #0x4d] - strb r0, [r3, #0x15] - b _02080318 -_020802ec: - strb r2, [sp] - sub r1, sp, #4 - and r0, r2, #0xff - strb r0, [r1] - ldr r2, [r1] - add r1, sp, #0x38 - add r0, r4, #0x118 - bl func_ov00_020810b8 - b _02080318 -_02080310: - ldrb r0, [r1, #0x14] - strb r0, [sp, #0x4c] -_02080318: - ldrb r0, [sp, #0x4c] - add sp, sp, #0x50 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - arm_func_end _ZN7MapBase18func_ov00_02080140EP4Exit - - .global _ZN12MapBase_Unk118func_ov00_02080324Eiii - arm_func_start _ZN12MapBase_Unk118func_ov00_02080324Eiii -_ZN12MapBase_Unk118func_ov00_02080324Eiii: ; 0x02080324 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r4, r5, r6, r7, r8, lr} - mov r7, r0 - mov r6, r3 - ldr r5, [sp, #0x20] - ldr r4, [sp, #0x1c] - b _02080344 -_02080340: - add r4, r4, #0x18 -_02080344: - cmp r4, r5 - beq _0208038c - mov r0, r4 - bl func_ov00_020a5e9c - mov r8, r0 - mov r0, r6 - bl func_ov00_020a5e9c - cmp r8, r0 - ldreqb r1, [r4, #0x12] - ldreqb r0, [r6, #0x12] - cmpeq r1, r0 - ldreqb r1, [r4, #0x13] - ldreqb r0, [r6, #0x13] - cmpeq r1, r0 - ldreq r1, [r4, #8] - ldreq r0, [r6, #8] - cmpeq r1, r0 - bne _02080340 -_0208038c: - str r4, [r7] - ldmia sp!, {r4, r5, r6, r7, r8, lr} - add sp, sp, #0x10 - bx lr - arm_func_end _ZN12MapBase_Unk118func_ov00_02080324Eiii - - .global _ZN7MapBase8FindExitEiP4Exit - arm_func_start _ZN7MapBase8FindExitEiP4Exit -_ZN7MapBase8FindExitEiP4Exit: ; 0x0208039c - stmdb sp!, {lr} - sub sp, sp, #0x14 - cmp r1, #0 - addle sp, sp, #0x14 - movle r0, #0 - ldmleia sp!, {pc} - ldr ip, [r0, #0x118] - ldr r3, [r0, #0x11c] - mov r0, #0x18 - mla lr, r3, r0, ip - and r0, r1, #0xff - strb r1, [sp, #1] - strb r0, [sp] - str lr, [sp, #0xc] - str lr, [sp, #4] - str ip, [sp, #0x10] - str ip, [sp, #8] - and r1, r0, #0xff - b _020803f0 -_020803e8: - add ip, ip, #0x18 - str ip, [sp, #8] -_020803f0: - cmp ip, lr - ldrneb r0, [ip, #0x14] - cmpne r1, r0 - bne _020803e8 - ldr r0, [sp, #8] - cmp r0, lr - addeq sp, sp, #0x14 - moveq r0, #0 - ldmeqia sp!, {pc} - ldr r3, [sp, #8] - mov r0, #1 - ldr r1, [r3] - str r1, [r2] - ldr r1, [r3, #4] - str r1, [r2, #4] - ldr r1, [r3, #8] - str r1, [r2, #8] - ldr r1, [r3, #0xc] - str r1, [r2, #0xc] - ldrsh r1, [r3, #0x10] - strh r1, [r2, #0x10] - ldrb r1, [r3, #0x12] - strb r1, [r2, #0x12] - ldrb r1, [r3, #0x13] - strb r1, [r2, #0x13] - ldrb r1, [r3, #0x14] - strb r1, [r2, #0x14] - ldrb r1, [r3, #0x15] - strb r1, [r2, #0x15] - add sp, sp, #0x14 - ldmia sp!, {pc} - arm_func_end _ZN7MapBase8FindExitEiP4Exit - - .global _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint - arm_func_start _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint -_ZN7MapBase18AddCameraViewpointEP15CameraViewpoint: ; 0x0208046c - stmdb sp!, {r3, lr} - mov ip, #0 - strb ip, [sp, #1] - ldr r3, [r0, #0x128] - ldr r2, [r0, #0x12c] - cmp r3, r2 - bhs _020804f0 - add ip, r3, #1 - sub r3, ip, #1 - mov r2, #0x1c - mul r2, r3, r2 - str ip, [r0, #0x128] - ldr r3, [r0, #0x124] - ldr r0, [r1] - add ip, r3, r2 - str r0, [r3, r2] - ldrb r0, [r1, #4] - strb r0, [ip, #4] - ldr r0, [r1, #8] - str r0, [ip, #8] - ldr r0, [r1, #0xc] - str r0, [ip, #0xc] - ldr r0, [r1, #0x10] - str r0, [ip, #0x10] - ldrsh r0, [r1, #0x14] - strh r0, [ip, #0x14] - ldrsh r0, [r1, #0x16] - strh r0, [ip, #0x16] - ldrh r2, [r1, #0x18] - ldrh r0, [r1, #0x1a] - strh r2, [ip, #0x18] - strh r0, [ip, #0x1a] - ldmia sp!, {r3, pc} -_020804f0: - strb ip, [sp] - sub r3, sp, #4 - and r2, ip, #0xff - strb r2, [r3] - ldr r2, [r3] - add r0, r0, #0x124 - bl func_ov00_02081130 - ldmia sp!, {r3, pc} - arm_func_end _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint - - .global _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint - arm_func_start _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint -_ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint: ; 0x02080510 - stmdb sp!, {lr} - sub sp, sp, #0x14 - ldr ip, [r0, #0x124] - ldr r3, [r0, #0x128] - mov r0, #0x1c - mla lr, r3, r0, ip - and r0, r1, #0xff - strb r1, [sp, #1] - strb r0, [sp] - str lr, [sp, #0xc] - str lr, [sp, #4] - str ip, [sp, #0x10] - str ip, [sp, #8] - and r1, r0, #0xff - b _02080554 -_0208054c: - add ip, ip, #0x1c - str ip, [sp, #8] -_02080554: - cmp ip, lr - ldrneb r0, [ip, #4] - cmpne r1, r0 - bne _0208054c - ldr r0, [sp, #8] - cmp r0, lr - addeq sp, sp, #0x14 - moveq r0, #0 - ldmeqia sp!, {pc} - ldr ip, [sp, #8] - mov r0, #1 - ldr r1, [ip] - str r1, [r2] - ldrb r1, [ip, #4] - strb r1, [r2, #4] - ldr r1, [ip, #8] - str r1, [r2, #8] - ldr r1, [ip, #0xc] - str r1, [r2, #0xc] - ldr r1, [ip, #0x10] - str r1, [r2, #0x10] - ldrsh r1, [ip, #0x14] - strh r1, [r2, #0x14] - ldrsh r1, [ip, #0x16] - strh r1, [r2, #0x16] - ldrh r3, [ip, #0x18] - ldrh r1, [ip, #0x1a] - strh r3, [r2, #0x18] - strh r1, [r2, #0x1a] - add sp, sp, #0x14 - ldmia sp!, {pc} - arm_func_end _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint - - .global _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint - arm_func_start _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint -_ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint: ; 0x020805d0 - stmdb sp!, {r3, lr} - sub sp, sp, #0x18 - ldr ip, [r0, #0x124] - ldr r3, [r0, #0x128] - mov r0, #0x1c - mla lr, r3, r0, ip - str r1, [sp, #0xc] - str r1, [sp] - str lr, [sp, #0x10] - str lr, [sp, #4] - str ip, [sp, #0x14] - str ip, [sp, #8] - b _0208060c -_02080604: - add ip, ip, #0x1c - str ip, [sp, #8] -_0208060c: - cmp ip, lr - ldrne r0, [ip] - cmpne r1, r0 - bne _02080604 - ldr r0, [sp, #8] - cmp r0, lr - addeq sp, sp, #0x18 - moveq r0, #0 - ldmeqia sp!, {r3, pc} - ldr ip, [sp, #8] - mov r0, #1 - ldr r1, [ip] - str r1, [r2] - ldrb r1, [ip, #4] - strb r1, [r2, #4] - ldr r1, [ip, #8] - str r1, [r2, #8] - ldr r1, [ip, #0xc] - str r1, [r2, #0xc] - ldr r1, [ip, #0x10] - str r1, [r2, #0x10] - ldrsh r1, [ip, #0x14] - strh r1, [r2, #0x14] - ldrsh r1, [ip, #0x16] - strh r1, [r2, #0x16] - ldrh r3, [ip, #0x18] - ldrh r1, [ip, #0x1a] - strh r3, [r2, #0x18] - strh r1, [r2, #0x1a] - add sp, sp, #0x18 - ldmia sp!, {r3, pc} - arm_func_end _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint - - .global _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi - arm_func_start _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi -_ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi: ; 0x02080688 - stmdb sp!, {r3, r4, r5, r6, lr} - sub sp, sp, #0x1c - mov r6, r0 - mov r4, r2 - add r2, r6, r4 - mov r5, r1 - ldrb r1, [r2, #0x16] - cmp r1, #0 - bne _020806c8 - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0xb8] - blx r2 - add sp, sp, #0x1c - str r0, [r5] - ldmia sp!, {r3, r4, r5, r6, pc} -_020806c8: - mov ip, #0 - mov r0, #0xff - add r3, sp, #0 - str ip, [sp] - strb r0, [sp, #4] - strh ip, [sp, #0x14] - strh ip, [sp, #0x16] - mov r2, ip -_020806e8: - add r0, r3, ip, lsl #1 - add ip, ip, #1 - strh r2, [r0, #0x18] - cmp ip, #2 - blo _020806e8 - add r2, sp, #0 - mov r0, r6 - bl _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint - cmp r0, #0 - bne _02080730 - mov r0, r6 - ldr r2, [r0] - mov r1, r4 - ldr r2, [r2, #0xb8] - blx r2 - add sp, sp, #0x1c - str r0, [r5] - ldmia sp!, {r3, r4, r5, r6, pc} -_02080730: - ldr r0, [sp] - str r0, [r5] - ldrb r0, [sp, #4] - strb r0, [r5, #4] - ldr r0, [sp, #8] - str r0, [r5, #8] - ldr r0, [sp, #0xc] - str r0, [r5, #0xc] - ldr r0, [sp, #0x10] - str r0, [r5, #0x10] - ldrsh r0, [sp, #0x14] - strh r0, [r5, #0x14] - ldrsh r0, [sp, #0x16] - strh r0, [r5, #0x16] - ldrh r1, [sp, #0x18] - ldrh r0, [sp, #0x1a] - strh r1, [r5, #0x18] - strh r0, [r5, #0x1a] - add sp, sp, #0x1c - ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi - - .global _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei - arm_func_start _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei -_ZN7MapBase26GetCurrentViewpoint_Unk_00Ei: ; 0x02080780 - stmdb sp!, {lr} - sub sp, sp, #0x1c - mov lr, #0 - mov r3, #0xff - strb r3, [sp, #4] - add ip, sp, #0 - mov r2, r1 - str lr, [sp] - strh lr, [sp, #0x14] - strh lr, [sp, #0x16] - mov r3, lr -_020807ac: - add r1, ip, lr, lsl #1 - add lr, lr, #1 - strh r3, [r1, #0x18] - cmp lr, #2 - blo _020807ac - add r1, sp, #0 - bl _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi - ldr r0, [sp] - add sp, sp, #0x1c - ldmia sp!, {pc} - arm_func_end _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei - - .global _ZN7MapBase8vfunc_b8Ev - arm_func_start _ZN7MapBase8vfunc_b8Ev -_ZN7MapBase8vfunc_b8Ev: ; 0x020807d4 - stmdb sp!, {r3, lr} - ldr r0, _02080820 ; =data_027e0618 - ldr r0, [r0] - cmp r0, #6 - bne _02080818 - bl func_ov00_02079e3c - cmp r0, #0 - beq _02080800 - cmp r0, #1 - beq _02080808 - b _02080810 -_02080800: - mov r0, #0 - ldmia sp!, {r3, pc} -_02080808: - mov r0, #0x1c - ldmia sp!, {r3, pc} -_02080810: - mov r0, #0x1c - ldmia sp!, {r3, pc} -_02080818: - mov r0, #0 - ldmia sp!, {r3, pc} - .align 2, 0 - arm_func_end _ZN7MapBase8vfunc_b8Ev -_02080820: .word data_027e0618 - - .global _ZN7MapBase18func_ov00_02080824Eii - arm_func_start _ZN7MapBase18func_ov00_02080824Eii -_ZN7MapBase18func_ov00_02080824Eii: ; 0x02080824 - stmdb sp!, {r4, lr} - ldr r4, [r0, #0x14c] - cmp r4, #0 - moveq r0, #0 - ldmeqia sp!, {r4, pc} - ldrh r3, [r4, #4] - mov ip, #0 - cmp r3, #0 - ble _020808c8 - mov lr, r4 -_0208084c: - ldrb r0, [lr, #8] - cmp r1, r0 - bne _020808b8 - mov r0, #0x1c - mul r0, ip, r0 - add r3, r4, #8 - ldrb r1, [r3, r0] - add r3, r3, r0 - mov r0, #1 - strb r1, [r2] - ldrb r1, [r3, #1] - strb r1, [r2, #1] - ldrsh r1, [r3, #2] - strh r1, [r2, #2] - ldr r1, [r3, #4] - str r1, [r2, #4] - ldr r1, [r3, #8] - str r1, [r2, #8] - ldr r1, [r3, #0xc] - str r1, [r2, #0xc] - ldr r1, [r3, #0x10] - str r1, [r2, #0x10] - ldr r1, [r3, #0x14] - str r1, [r2, #0x14] - ldr r1, [r3, #0x18] - str r1, [r2, #0x18] - ldmia sp!, {r4, pc} -_020808b8: - add ip, ip, #1 - cmp ip, r3 - add lr, lr, #0x1c - blt _0208084c -_020808c8: - mov r0, #0 - ldmia sp!, {r4, pc} - arm_func_end _ZN7MapBase18func_ov00_02080824Eii - - .global _ZN7MapBase10AddUnk_130Ei - arm_func_start _ZN7MapBase10AddUnk_130Ei -_ZN7MapBase10AddUnk_130Ei: ; 0x020808d0 - stmdb sp!, {r0, r1, r2, r3} - arm_func_end _ZN7MapBase10AddUnk_130Ei - - .global func_ov00_020808d4 - arm_func_start func_ov00_020808d4 -func_ov00_020808d4: ; 0x020808d4 - stmdb sp!, {lr} - sub sp, sp, #0x14 - ldr r1, [r0, #0x134] - cmp r1, #0x20 - addhs sp, sp, #0x14 - movhs r0, #0 - ldmhsia sp!, {lr} - addhs sp, sp, #0x10 - bxhs lr - ldr r2, [r0, #0x130] - ldr r1, [r0, #0x134] - str r2, [sp, #0x10] - add ip, r2, r1, lsl #2 - str ip, [sp, #0xc] - str ip, [sp, #4] - str r2, [sp, #8] - ldr r3, [sp, #0x1c] - b _02080924 -_0208091c: - add r2, r2, #4 - str r2, [sp, #8] -_02080924: - cmp r2, ip - ldrne r1, [r2] - cmpne r1, r3 - bne _0208091c - ldr r1, [sp, #8] - cmp r1, ip - addne sp, sp, #0x14 - movne r0, #0 - ldmneia sp!, {lr} - addne sp, sp, #0x10 - bxne lr - mov r3, #0 - strb r3, [sp, #1] - ldr r2, [r0, #0x134] - ldr r1, [r0, #0x138] - cmp r2, r1 - bhs _02080984 - add r3, r2, #1 - str r3, [r0, #0x134] - ldr r1, [r0, #0x130] - ldr r2, [sp, #0x1c] - sub r0, r3, #1 - str r2, [r1, r0, lsl #2] - b _020809a4 -_02080984: - strb r3, [sp] - sub r2, sp, #4 - and r1, r3, #0xff - strb r1, [r2] - ldr r2, [r2] - add r1, sp, #0x1c - add r0, r0, #0x130 - bl func_ov00_02080f64 -_020809a4: - mov r0, #1 - add sp, sp, #0x14 - ldmia sp!, {lr} - add sp, sp, #0x10 - bx lr - arm_func_end func_ov00_020808d4 - - .global _ZN7MapBase18func_ov00_020809b8Ei - arm_func_start _ZN7MapBase18func_ov00_020809b8Ei -_ZN7MapBase18func_ov00_020809b8Ei: ; 0x020809b8 - stmdb sp!, {r3, lr} - sub sp, sp, #0x28 - ldr ip, [r0, #0x130] - ldr r2, [r0, #0x134] - str ip, [sp, #0x20] - add r3, ip, r2, lsl #2 - str r3, [sp, #0x1c] - str r3, [sp, #0xc] - str r3, [sp, #4] - str ip, [sp, #8] - b _020809ec -_020809e4: - add ip, ip, #4 - str ip, [sp, #8] -_020809ec: - cmp ip, r3 - ldrne r2, [ip] - cmpne r2, r1 - bne _020809e4 - ldr r2, [sp, #8] - ldr r3, [sp, #0xc] - mov lr, r2 - cmp r2, r3 - addne ip, lr, #4 - cmpne ip, r3 - beq _02080a30 -_02080a18: - ldr r2, [ip] - add ip, ip, #4 - cmp r2, r1 - strne r2, [lr], #4 - cmp ip, r3 - bne _02080a18 -_02080a30: - ldr r2, [r0, #0x130] - ldr r1, [r0, #0x134] - mov r3, #0 - add r2, r2, r1, lsl #2 - strb r3, [sp] - sub r1, sp, #4 - strb r3, [r1] - ldr r3, [r1] - mov r1, lr - add r0, r0, #0x130 - str lr, [sp, #0x24] - str r2, [sp, #0x18] - str r2, [sp, #0x10] - str lr, [sp, #0x14] - bl func_ov00_02080f94 - mov r0, #1 - add sp, sp, #0x28 - ldmia sp!, {r3, pc} - arm_func_end _ZN7MapBase18func_ov00_020809b8Ei - - .global _ZN7MapBase18func_ov00_02080a78EP5Vec3p - arm_func_start _ZN7MapBase18func_ov00_02080a78EP5Vec3p -_ZN7MapBase18func_ov00_02080a78EP5Vec3p: ; 0x02080a78 - stmdb sp!, {r4, lr} - sub sp, sp, #0x18 - mov r4, r0 - add r3, sp, #0xc - ldmia r1, {r0, r1, r2} - stmia r3, {r0, r1, r2} - ldr r1, [r4, #0x130] - ldr r2, [r4, #0x134] - add r0, sp, #8 - add r2, r1, r2, lsl #2 - str r2, [sp] - str r1, [sp, #4] - bl _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_ - ldr r1, [r4, #0x130] - ldr r0, [r4, #0x134] - ldr r2, [sp, #8] - add r0, r1, r0, lsl #2 - cmp r2, r0 - moveq r0, #0 - ldrne r0, [r2] - add sp, sp, #0x18 - ldmia sp!, {r4, pc} - arm_func_end _ZN7MapBase18func_ov00_02080a78EP5Vec3p - - .global _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_ - arm_func_start _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_ -_ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_: ; 0x02080ad0 - stmdb sp!, {r0, r1, r2, r3} - stmdb sp!, {r3, r4, r5, r6, r7, lr} - mov r7, r0 - mov r6, r3 - ldr r5, [sp, #0x20] - ldr r4, [sp, #0x1c] - b _02080af0 -_02080aec: - add r4, r4, #4 -_02080af0: - cmp r4, r5 - beq _02080b14 - ldr r0, [r4] - mov r1, r6 - ldr r2, [r0] - ldr r2, [r2] - blx r2 - cmp r0, #0 - beq _02080aec -_02080b14: - str r4, [r7] - ldmia sp!, {r3, r4, r5, r6, r7, lr} - add sp, sp, #0x10 - bx lr - arm_func_end _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_ - - .global _ZN7MapBase18func_ov00_02080b24EP5Vec2b - arm_func_start _ZN7MapBase18func_ov00_02080b24EP5Vec2b -_ZN7MapBase18func_ov00_02080b24EP5Vec2b: ; 0x02080b24 - stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} - sub sp, sp, #0x14 - ldr r3, [r0] - mov r2, #4 - ldr r3, [r3, #0x58] - str r0, [sp] - mov r10, r1 - blx r3 - cmp r0, #0 - addne sp, sp, #0x14 - ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, [sp] - ldrh r0, [r0, #0x30] - cmp r0, #0x60 - blo _02080cd0 - ldr r0, [sp] - mov r6, #0 - ldrh r0, [r0, #0x28] - mov r7, r6 - mov r8, r6 - str r0, [sp, #4] - cmp r0, #0 - ldr r0, [sp] - ldrh r11, [r0, #0x2a] - ble _02080c4c -_02080b88: - cmp r11, #0 - mov r9, #0 - ble _02080c3c - and r0, r8, #0xff - str r0, [sp, #8] -_02080b9c: - ldr r1, [sp, #8] - ldr r0, [sp] - strb r1, [sp, #0x10] - strb r9, [sp, #0x11] - ldr r2, [r0] - add r1, sp, #0x10 - ldr r2, [r2, #0x78] - blx r2 - movs r5, r0 - beq _02080c30 - ldr r1, [r0] - ldr r1, [r1, #0x1c] - blx r1 - cmp r0, #0x42 - bne _02080c30 - cmp r6, #0 - ldrb r0, [r10] - bne _02080c08 - sub r0, r8, r0 - mov r6, r5 - bl func_02042f68 - ldrb r1, [r10, #1] - mov r4, r0 - sub r0, r9, r1 - bl func_02042f68 - add r7, r4, r0 - b _02080c30 -_02080c08: - sub r0, r8, r0 - bl func_02042f68 - ldrb r1, [r10, #1] - mov r4, r0 - sub r0, r9, r1 - bl func_02042f68 - add r0, r4, r0 - cmp r0, r7 - movgt r6, r5 - movgt r7, r0 -_02080c30: - add r9, r9, #1 - cmp r9, r11 - blt _02080b9c -_02080c3c: - ldr r0, [sp, #4] - add r8, r8, #1 - cmp r8, r0 - blt _02080b88 -_02080c4c: - cmp r6, #0 - addeq sp, sp, #0x14 - ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r1, [r6, #4] - ldr r0, [sp] - bic r1, r1, #1 - str r1, [r6, #4] - ldrb r4, [r6, #0x15] - ldrb r3, [r6, #0x14] - add r1, sp, #0xe - mov r2, #4 - strb r3, [sp, #0xe] - strb r4, [sp, #0xf] - ldr r4, [r0] - mov r3, #0 - ldr r4, [r4, #0x98] - blx r4 - ldrb r3, [r6, #0x15] - ldrb r2, [r6, #0x14] - ldr r0, [sp] - add r1, sp, #0xc - strb r2, [sp, #0xc] - strb r3, [sp, #0xd] - ldr r4, [r0] - mov r2, #6 - ldr r4, [r4, #0x98] - mov r3, #1 - blx r4 - ldr r0, [sp] - ldrh r0, [r0, #0x30] - sub r1, r0, #1 - ldr r0, [sp] - strh r1, [r0, #0x30] -_02080cd0: - ldr r0, [sp] - mov r1, r10 - ldr r4, [r0] - mov r2, #4 - ldr r4, [r4, #0x98] - mov r3, #1 - blx r4 - ldr r0, [sp] - ldrh r0, [r0, #0x30] - add r1, r0, #1 - ldr r0, [sp] - strh r1, [r0, #0x30] - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end _ZN7MapBase18func_ov00_02080b24EP5Vec2b - - .global _ZN7MapBase18func_ov00_02080d08Ei - arm_func_start _ZN7MapBase18func_ov00_02080d08Ei -_ZN7MapBase18func_ov00_02080d08Ei: ; 0x02080d08 - stmdb sp!, {r3, r4, r5, lr} - ldr r3, [r0] - mov r2, #4 - ldr r3, [r3, #0x58] - mov r5, r0 - mov r4, r1 - blx r3 - cmp r0, #0 - ldmeqia sp!, {r3, r4, r5, pc} - mov r0, r5 - ldr ip, [r0] - mov r1, r4 - ldr ip, [ip, #0x98] - mov r2, #4 - mov r3, #0 - blx ip - mov r0, r5 - ldr ip, [r0] - mov r1, r4 - ldr ip, [ip, #0x98] - mov r2, #6 - mov r3, #1 - blx ip - ldrh r0, [r5, #0x30] - sub r0, r0, #1 - strh r0, [r5, #0x30] - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN7MapBase18func_ov00_02080d08Ei - - .global _ZN7MapBase8vfunc_bcEv - arm_func_start _ZN7MapBase8vfunc_bcEv -_ZN7MapBase8vfunc_bcEv: ; 0x02080d74 - bx lr - arm_func_end _ZN7MapBase8vfunc_bcEv - - .global _ZN7MapBase8vfunc_98Ev - arm_func_start _ZN7MapBase8vfunc_98Ev -_ZN7MapBase8vfunc_98Ev: ; 0x02080d78 - bx lr - arm_func_end _ZN7MapBase8vfunc_98Ev - - .global _ZN7MapBase8vfunc_c0Ev - arm_func_start _ZN7MapBase8vfunc_c0Ev -_ZN7MapBase8vfunc_c0Ev: ; 0x02080d7c - bx lr - arm_func_end _ZN7MapBase8vfunc_c0Ev - - .global _ZN7MapBase22TriggerOfType_vfunc_10Ei - arm_func_start _ZN7MapBase22TriggerOfType_vfunc_10Ei -_ZN7MapBase22TriggerOfType_vfunc_10Ei: ; 0x02080d80 - stmdb sp!, {r4, r5, r6, lr} - mov r6, r0 - ldr r4, [r6, #0x10c] - ldr r0, [r6, #0x110] - mov r5, r1 - add r0, r4, r0, lsl #2 - cmp r4, r0 - beq _02080dd4 -_02080da0: - ldr r0, [r4] - ldrb r1, [r0, #5] - cmp r5, r1 - bne _02080dbc - ldr r1, [r0] - ldr r1, [r1, #0x10] - blx r1 -_02080dbc: - ldr r1, [r6, #0x10c] - ldr r0, [r6, #0x110] - add r4, r4, #4 - add r0, r1, r0, lsl #2 - cmp r4, r0 - bne _02080da0 -_02080dd4: - mov r0, #1 - ldmia sp!, {r4, r5, r6, pc} - arm_func_end _ZN7MapBase22TriggerOfType_vfunc_10Ei - - .global _ZN11TriggerBase8vfunc_10Ev - arm_func_start _ZN11TriggerBase8vfunc_10Ev -_ZN11TriggerBase8vfunc_10Ev: ; 0x02080ddc - mov r0, #1 - bx lr - arm_func_end _ZN11TriggerBase8vfunc_10Ev - - .global _ZN7MapBase18func_ov00_02080de4Ev - arm_func_start _ZN7MapBase18func_ov00_02080de4Ev -_ZN7MapBase18func_ov00_02080de4Ev: ; 0x02080de4 - bx lr - arm_func_end _ZN7MapBase18func_ov00_02080de4Ev - - .global _ZN7MapBase18func_ov00_02080de8Ei - arm_func_start _ZN7MapBase18func_ov00_02080de8Ei -_ZN7MapBase18func_ov00_02080de8Ei: ; 0x02080de8 - stmdb sp!, {r4, r5, r6, lr} - ldr r2, _02080ed4 ; =data_027e0f64 - mov r5, r0 - ldr r0, [r2] - mov r4, #0 - add r0, r0, r1, lsl #2 - ldr r6, [r0, #4] - ldr r0, [r6, #0x15c] - cmp r0, #0x16 - bgt _02080e64 - bge _02080e84 - cmp r0, #0xb - bgt _02080e58 - cmp r0, #0 - addge pc, pc, r0, lsl #2 - b _02080e94 -_02080e28: ; jump table - b _02080e84 ; case 0 - b _02080e84 ; case 1 - b _02080e84 ; case 2 - b _02080e8c ; case 3 - b _02080e94 ; case 4 - b _02080e94 ; case 5 - b _02080e94 ; case 6 - b _02080e94 ; case 7 - b _02080e94 ; case 8 - b _02080e94 ; case 9 - b _02080e94 ; case 10 - b _02080e88 ; case 11 -_02080e58: - cmp r0, #0x15 - beq _02080e84 - b _02080e94 -_02080e64: - cmp r0, #0x5a - bgt _02080e7c - bge _02080e84 - cmp r0, #0x33 - beq _02080e84 - b _02080e94 -_02080e7c: - cmp r0, #0x5b - bne _02080e94 -_02080e84: - mov r4, #0 -_02080e88: - b _02080ec8 -_02080e8c: - mov r4, #0x1f - b _02080ec8 -_02080e94: - mov r0, r6 - bl func_ov00_02087dd8 - cmp r0, #0 - beq _02080ec8 - add r0, r6, #0x200 - ldrsh r1, [r0, #0x24] - ldr r0, _02080ed8 ; =0x00001c72 - cmp r1, r0 - ble _02080ec4 - rsb r0, r0, #0x4000 - cmp r1, r0 - blt _02080ec8 -_02080ec4: - mov r4, #0x1f -_02080ec8: - ldr r0, [r5, #0x140] - strb r4, [r0, #0x5c] - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 - arm_func_end _ZN7MapBase18func_ov00_02080de8Ei -_02080ed4: .word data_027e0f64 -_02080ed8: .word 0x00001c72 - - .global _ZN7MapBase18func_ov00_02080edcEv - arm_func_start _ZN7MapBase18func_ov00_02080edcEv -_ZN7MapBase18func_ov00_02080edcEv: ; 0x02080edc - stmdb sp!, {r4, lr} - ldr r1, _02080f1c ; =data_027e0d38 - mov r4, r0 - ldr r0, [r1] - add r0, r0, #0xc - bl func_ov00_020a5e9c - cmp r0, #0x2a - cmpne r0, #0x2f - cmpne r0, #0x30 - bne _02080f10 - mov r0, #0 - strb r0, [r4, #5] - ldmia sp!, {r4, pc} -_02080f10: - mov r0, #1 - strb r0, [r4, #5] - ldmia sp!, {r4, pc} - .align 2, 0 - arm_func_end _ZN7MapBase18func_ov00_02080edcEv -_02080f1c: .word data_027e0d38 - .global func_ov00_02080f20 arm_func_start func_ov00_02080f20 func_ov00_02080f20: ; 0x02080f20 @@ -5685,226 +1532,6 @@ data_ov00_020d88ec: ; 0x020d88ec .byte 0x00, 0x00, 0x00, 0x00 .data - .global data_ov00_020e22fc -data_ov00_020e22fc: ; 0x020e22fc - .ascii "fnl" - .byte 0x00 - .global data_ov00_020e2300 -data_ov00_020e2300: ; 0x020e2300 - .ascii "bow" - .byte 0x00 - .global data_ov00_020e2304 -data_ov00_020e2304: ; 0x020e2304 - .ascii "dco" - .byte 0x00 - .global data_ov00_020e2308 -data_ov00_020e2308: ; 0x020e2308 - .ascii "can" - .byte 0x00 - .global data_ov00_020e230c -data_ov00_020e230c: ; 0x020e230c - .ascii "hul" - .byte 0x00 - .global data_ov00_020e2310 -data_ov00_020e2310: ; 0x020e2310 - .ascii "pdl" - .byte 0x00 - .global data_ov00_020e2314 -data_ov00_020e2314: ; 0x020e2314 - .ascii "anc" - .byte 0x00 - .global data_ov00_020e2318 -data_ov00_020e2318: ; 0x020e2318 - .ascii "brg" - .byte 0x00 - .global data_ov00_020e231c -data_ov00_020e231c: ; 0x020e231c - .word data_ov00_020e2314 - .global data_ov00_020e2320 -data_ov00_020e2320: ; 0x020e2320 - .word data_ov00_020e2300 - .global data_ov00_020e2324 -data_ov00_020e2324: ; 0x020e2324 - .word data_ov00_020e230c - .global data_ov00_020e2328 -data_ov00_020e2328: ; 0x020e2328 - .word data_ov00_020e2308 - .global data_ov00_020e232c -data_ov00_020e232c: ; 0x020e232c - .word data_ov00_020e2304 - .global data_ov00_020e2330 -data_ov00_020e2330: ; 0x020e2330 - .word data_ov00_020e2310 - .global data_ov00_020e2334 -data_ov00_020e2334: ; 0x020e2334 - .word data_ov00_020e22fc - .global data_ov00_020e2338 -data_ov00_020e2338: ; 0x020e2338 - .word data_ov00_020e2318 - .global data_ov00_020e233c -data_ov00_020e233c: ; 0x020e233c - .word data_ov00_020e240c - .global data_ov00_020e2340 -data_ov00_020e2340: ; 0x020e2340 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2344 -data_ov00_020e2344: ; 0x020e2344 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2348 -data_ov00_020e2348: ; 0x020e2348 - .word _ZN7MapBaseD2Ev - .global data_ov00_020e234c -data_ov00_020e234c: ; 0x020e234c - .word _ZN7MapBaseD0Ev - .global data_ov00_020e2350 -data_ov00_020e2350: ; 0x020e2350 - .word func_ov04_0210c1f8 ; data_ov07_0210c1f8 - .global data_ov00_020e2354 -data_ov00_020e2354: ; 0x020e2354 - .word func_ov04_0210c3fc ; data_ov07_0210c3fc - .global data_ov00_020e2358 -data_ov00_020e2358: ; 0x020e2358 - .word func_ov04_0210c52c ; data_ov07_0210c52c - .global data_ov00_020e235c -data_ov00_020e235c: ; 0x020e235c - .word func_ov04_0210bfa8 ; data_ov07_0210bfa8 - .global data_ov00_020e2360 -data_ov00_020e2360: ; 0x020e2360 - .word _ZN7MapBase8vfunc_18Ev - .global data_ov00_020e2364 -data_ov00_020e2364: ; 0x020e2364 - .word func_ov05_02111bc0 - .global data_ov00_020e2368 -data_ov00_020e2368: ; 0x020e2368 - .word func_ov05_02111c00 - .global data_ov00_020e236c -data_ov00_020e236c: ; 0x020e236c - .word func_ov05_02111c6c - .global data_ov00_020e2370 -data_ov00_020e2370: ; 0x020e2370 - .word func_ov05_02111c70 - .global data_ov00_020e2374 -data_ov00_020e2374: ; 0x020e2374 - .word func_ov04_0210c5cc ; data_ov07_0210c5cc - .global data_ov00_020e2378 -data_ov00_020e2378: ; 0x020e2378 - .word func_ov04_0210c764 ; data_ov07_0210c764 - .global data_ov00_020e237c -data_ov00_020e237c: ; 0x020e237c - .word func_ov04_0210c800 ; data_ov07_0210c800 - .global data_ov00_020e2380 -data_ov00_020e2380: ; 0x020e2380 - .word func_ov04_0210c88c ; data_ov07_0210c88c - .global data_ov00_020e2384 -data_ov00_020e2384: ; 0x020e2384 - .word func_ov04_0210c8d4 ; data_ov07_0210c8d4 - .global data_ov00_020e2388 -data_ov00_020e2388: ; 0x020e2388 - .word func_ov04_0210ca84 ; data_ov07_0210ca84 - .global data_ov00_020e238c -data_ov00_020e238c: ; 0x020e238c - .word func_ov04_0210cb00 ; data_ov07_0210cb00 - .global data_ov00_020e2390 -data_ov00_020e2390: ; 0x020e2390 - .word _ZN7MapBase8vfunc_48Ev - .global data_ov00_020e2394 -data_ov00_020e2394: ; 0x020e2394 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2398 -data_ov00_020e2398: ; 0x020e2398 - .word _ZN7MapBase8vfunc_50Ev - .global data_ov00_020e239c -data_ov00_020e239c: ; 0x020e239c - .word _ZN7MapBase8vfunc_54Ev - .global data_ov00_020e23a0 -data_ov00_020e23a0: ; 0x020e23a0 - .word _ZN7MapBase8vfunc_58Ev - .global data_ov00_020e23a4 -data_ov00_020e23a4: ; 0x020e23a4 - .word _ZN7MapBase8vfunc_5cEv - .global data_ov00_020e23a8 -data_ov00_020e23a8: ; 0x020e23a8 - .word _ZN7MapBase8vfunc_60Ev - .global data_ov00_020e23ac -data_ov00_020e23ac: ; 0x020e23ac - .word _ZN7MapBase8vfunc_64Ev - .global data_ov00_020e23b0 -data_ov00_020e23b0: ; 0x020e23b0 - .word _ZN7MapBase8vfunc_68Eii - .global data_ov00_020e23b4 -data_ov00_020e23b4: ; 0x020e23b4 - .word _ZN7MapBase8vfunc_6cEiii - .global data_ov00_020e23b8 -data_ov00_020e23b8: ; 0x020e23b8 - .word _ZN7MapBase8vfunc_70EP5Vec3p - .global data_ov00_020e23bc -data_ov00_020e23bc: ; 0x020e23bc - .word _ZN7MapBase8vfunc_74EP5Vec3p - .global data_ov00_020e23c0 -data_ov00_020e23c0: ; 0x020e23c0 - .word _ZN7MapBase8vfunc_78Ev - .global data_ov00_020e23c4 -data_ov00_020e23c4: ; 0x020e23c4 - .word _ZN7MapBase8vfunc_7cEv - .global data_ov00_020e23c8 -data_ov00_020e23c8: ; 0x020e23c8 - .word _ZN7MapBase8vfunc_80Ev - .global data_ov00_020e23cc -data_ov00_020e23cc: ; 0x020e23cc - .word _ZN7MapBase8vfunc_84Ei - .global data_ov00_020e23d0 -data_ov00_020e23d0: ; 0x020e23d0 - .word _ZN7MapBase8vfunc_88Ev - .global data_ov00_020e23d4 -data_ov00_020e23d4: ; 0x020e23d4 - .word _ZN7MapBase8vfunc_8cEv - .global data_ov00_020e23d8 -data_ov00_020e23d8: ; 0x020e23d8 - .word _ZN7MapBase8vfunc_90Eiii - .global data_ov00_020e23dc -data_ov00_020e23dc: ; 0x020e23dc - .word _ZN7MapBase8vfunc_94Ev - .global data_ov00_020e23e0 -data_ov00_020e23e0: ; 0x020e23e0 - .word _ZN7MapBase8vfunc_98Ev - .global data_ov00_020e23e4 -data_ov00_020e23e4: ; 0x020e23e4 - .word _ZN7MapBase8vfunc_9cEv - .global data_ov00_020e23e8 -data_ov00_020e23e8: ; 0x020e23e8 - .word _ZN7MapBase8vfunc_a0Ev - .global data_ov00_020e23ec -data_ov00_020e23ec: ; 0x020e23ec - .word _ZN7MapBase8vfunc_a4Ev - .global data_ov00_020e23f0 -data_ov00_020e23f0: ; 0x020e23f0 - .word _ZN7MapBase8vfunc_a8Ev - .global data_ov00_020e23f4 -data_ov00_020e23f4: ; 0x020e23f4 - .word _ZN7MapBase8vfunc_acEv - .global data_ov00_020e23f8 -data_ov00_020e23f8: ; 0x020e23f8 - .word _ZN7MapBase8vfunc_b0Eii - .global data_ov00_020e23fc -data_ov00_020e23fc: ; 0x020e23fc - .word _ZN7MapBase8vfunc_b4Ev - .global data_ov00_020e2400 -data_ov00_020e2400: ; 0x020e2400 - .word _ZN7MapBase8vfunc_b8Ev - .global data_ov00_020e2404 -data_ov00_020e2404: ; 0x020e2404 - .word _ZN7MapBase8vfunc_bcEv - .global data_ov00_020e2408 -data_ov00_020e2408: ; 0x020e2408 - .word _ZN7MapBase8vfunc_c0Ev - .global data_ov00_020e240c -data_ov00_020e240c: ; 0x020e240c - .ascii "M00" - .byte 0x00 - .global data_ov00_020e2410 -data_ov00_020e2410: ; 0x020e2410 - .ascii "Map/%s/map%d%d.bin" - .byte 0x00, 0x00 .global data_ov00_020e2424 data_ov00_020e2424: ; 0x020e2424 .byte 0x00, 0x00, 0x00, 0x00 diff --git a/asm/ov00/ov00_02086cd0.inc b/asm/ov00/ov00_02086cd0.inc index c40fd6ef..42b8f47b 100644 --- a/asm/ov00/ov00_02086cd0.inc +++ b/asm/ov00/ov00_02086cd0.inc @@ -34,6 +34,11 @@ .extern _ZN10MapManager18func_ov00_02084b38Eiii .extern _ZN10MapManager18func_ov00_02084be0Eii .extern _ZN10MapManager18func_ov00_02084d24Ecci +.extern _ZN11TriggerBase14GetBoundingBoxEv +.extern _ZN11TriggerBase8OverlapsEv +.extern _ZN11TriggerBase8vfunc_08Ev +.extern _ZN11TriggerBase8vfunc_0cEv +.extern _ZN11TriggerBase8vfunc_10Ev .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager18func_ov00_020c3b2cEPi @@ -91,6 +96,10 @@ .extern _ZN5Actor8vfunc_b0Ev .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN7MapBase18func_ov00_0207e940EPc +.extern _ZN7MapBase18func_ov00_0207e968Ev +.extern _ZN7MapBase18func_ov00_0207e96cEv +.extern _ZN7MapBase18func_ov00_0207f100Ev .extern _ZN9ActorTypeC1EjPFP5ActorvEPv .extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv @@ -223,15 +232,6 @@ .extern func_ov00_02079008 .extern func_ov00_02079470 .extern func_ov00_02079680 -.extern _ZN7MapBase18func_ov00_0207e940EPc -.extern _ZN7MapBase18func_ov00_0207e968Ev -.extern _ZN7MapBase18func_ov00_0207e96cEv -.extern _ZN7MapBase18func_ov00_0207f100Ev -.extern _ZN11TriggerBase8vfunc_08Ev -.extern _ZN11TriggerBase14GetBoundingBoxEv -.extern _ZN11TriggerBase8OverlapsEv -.extern _ZN11TriggerBase8vfunc_0cEv -.extern _ZN11TriggerBase8vfunc_10Ev .extern func_ov00_02081f4c .extern func_ov00_02081f6c .extern func_ov00_0209afc4 diff --git a/tools/lcf.py b/tools/lcf.py index cc574903..7122d656 100644 --- a/tools/lcf.py +++ b/tools/lcf.py @@ -41,6 +41,8 @@ ov00 = Overlay(name='ov00', after='ARM9', objects=[ 'asm/ov00/Map/Course.s', 'src/00_Core/Map/Course.cpp', + 'asm/ov00/Map/MapBase.s', + 'src/00_Core/Map/MapBase.cpp', 'asm/ov00/ov00_0207da38.s', From a2bd2faaf0bb4aa6c652b460d0bdb1f528c7605d Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 15:56:52 +0200 Subject: [PATCH 41/76] Update `Exit` fields --- include/Map/Exit.hpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/include/Map/Exit.hpp b/include/Map/Exit.hpp index be00da58..d9fda9bd 100644 --- a/include/Map/Exit.hpp +++ b/include/Map/Exit.hpp @@ -5,19 +5,14 @@ #include "System/SysNew.hpp" -struct ExitDest { - /* 0 */ unk8 mEntrance; - /* 1 */ unk8 mMap; -}; - class Exit : public SysObject { /* 00 */ unk32 mDestCourse; /* 04 */ unk32 mUnk_04; /* 08 */ unk32 mUnk_08; /* 0c */ unk32 mUnk_0c; - /* 10 */ ExitDest mDest; - /* 12 */ unk8 mUnk_12; - /* 13 */ unk8 mUnk_13; + /* 10 */ unk16 mUnk_10; + /* 12 */ unk8 mDestMap; + /* 13 */ unk8 mDestEntrance; /* 14 */ unk8 mUnk_14; /* 15 */ unk8 mUnk_15; /* 16 */ unk8 mUnk_16; From 6f931c389ed9ec9b05ee7b8e4bdcce94c92b97ee Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 15:57:01 +0200 Subject: [PATCH 42/76] Add course names to `courses.md` --- docs/courses.md | 86 ++++++++++++++++++++++++------------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/docs/courses.md b/docs/courses.md index c1fae2b0..2a73d15b 100644 --- a/docs/courses.md +++ b/docs/courses.md @@ -9,57 +9,57 @@ contribute to this list! Index | Name | Type | Internal Name | Description ------|----------------|------|---------------|------ 0 | `sea` | 2 | `*ƒEƒ~` | Sea -1 | `sea_minigame` | 2 | `*ƒ~ƒjƒQ[ƒ€ƒEƒ~` | Sea Minigame +1 | `sea_minigame` | 2 | `*ƒ~ƒjƒQ[ƒ€ƒEƒ~` | Cannon Game 2 | `sea_fishing` | 2 | `*ƒcƒŠ` | Fishing 3 | `sea_salvage` | 2 | `*ƒTƒ‹ƒx[ƒW` | Salvage -4 | `ship` | 0 | `*ƒtƒl` -5 | `ship_terry` | 0 | `*ƒeƒŠ[ƒZƒ“` -6 | `ship_wonder` | 0 | `*ƒtƒVƒMƒtƒl` -7 | `ship_flink` | 0 | `*ƒjƒZƒŠƒ“ƒNƒtƒl` -8 | `ship_fisher` | 0 | `*ƒŠƒ‡ƒEƒVƒtƒl` -9 | `ship_hoho` | 0 | `*ƒz[ƒz[ƒtƒl` -10 | `ship_guard` | 0 | `*ƒPƒCƒrƒCƒ“ƒtƒl` +4 | `ship` | 0 | `*ƒtƒl` | S.S. Linebeck +5 | `ship_terry` | 0 | `*ƒeƒŠ[ƒZƒ“` | Beedle's Shop Ship +6 | `ship_wonder` | 0 | `*ƒtƒVƒMƒtƒl` | Man of Smiles's Boat +7 | `ship_flink` | 0 | `*ƒjƒZƒŠƒ“ƒNƒtƒl` | Prince of Red Lions Ship +8 | `ship_fisher` | 0 | `*ƒŠƒ‡ƒEƒVƒtƒl` | S.S. Wayfarer +9 | `ship_hoho` | 0 | `*ƒz[ƒz[ƒtƒl` | Ho Ho Tribe +10 | `ship_guard` | 0 | `*ƒPƒCƒrƒCƒ“ƒtƒl` | Nyave's Boat 11 | `isle_main` | 0 | `*ƒƒCƒ“ƒWƒ}` | Mercay Island -12 | `isle_pluck` | 0 | `*ƒ†ƒEƒLƒWƒ}` -13 | `isle_flame` | 0 | `*ƒqƒVƒ}` -14 | `isle_wind` | 0 | `*ƒJƒ[ƒWƒ}` +12 | `isle_pluck` | 0 | `*ƒ†ƒEƒLƒWƒ}` | Molida Island +13 | `isle_flame` | 0 | `*ƒqƒVƒ}` | Isle of Ember +14 | `isle_wind` | 0 | `*ƒJƒ[ƒWƒ}` | Isle of Gust 15 | `isle_water` | 0 | `*ƒRƒIƒŠƒVƒ}` | Isle of Frost -16 | `isle_power` | 0 | `*ƒ`ƒJƒ‰ƒVƒ}` -17 | `isle_wisdom` | 0 | `*ƒ`ƒGƒWƒ}` -18 | `isle_wisdom2` | 0 | `*ƒ`ƒGƒWƒ}2` -19 | `isle_torii` | 0 | `*ƒgƒŠƒCƒVƒ}` -20 | `isle_hidari` | 0 | `*ƒqƒ_ƒŠƒ_ƒCƒVƒ}` -21 | `isle_myou` | 0 | `*ƒ~ƒ‡ƒEƒWƒ}` -22 | `isle_wizard` | 0 | `*ƒZƒ“ƒjƒ“ƒWƒ}` -23 | `isle_shrine` | 0 | `*ƒzƒRƒ‰ƒWƒ}` -24 | `isle_small1` | 0 | `*ƒRƒWƒ}1` -25 | `isle_small2` | 0 | `*ƒRƒWƒ}2` -26 | `isle_small3` | 0 | `*ƒRƒWƒ}3` -27 | `isle_small5` | 0 | `*ƒRƒWƒ}5` -28 | `dngn_flame` | 1 | `*ƒqƒVƒ“ƒfƒ“` -29 | `dngn_wind` | 1 | `*ƒJƒ[ƒVƒ“ƒfƒ“` -30 | `dngn_pluck` | 1 | `*ƒ†ƒEƒLƒVƒ“ƒfƒ“` +16 | `isle_power` | 0 | `*ƒ`ƒJƒ‰ƒVƒ}` | Goron Island +17 | `isle_wisdom` | 0 | `*ƒ`ƒGƒWƒ}` | Isle of Ruins (High Water) +18 | `isle_wisdom2` | 0 | `*ƒ`ƒGƒWƒ}2` | Isle of Ruins (Low Water) +19 | `isle_torii` | 0 | `*ƒgƒŠƒCƒVƒ}` | Cannon Island +20 | `isle_hidari` | 0 | `*ƒqƒ_ƒŠƒ_ƒCƒVƒ}` | Bannan Island +21 | `isle_myou` | 0 | `*ƒ~ƒ‡ƒEƒWƒ}` | Isle of the Dead +22 | `isle_wizard` | 0 | `*ƒZƒ“ƒjƒ“ƒWƒ}` | Zauz's Island +23 | `isle_shrine` | 0 | `*ƒzƒRƒ‰ƒWƒ}` | Spirit Island +24 | `isle_small1` | 0 | `*ƒRƒWƒ}1` | Harrow Island +25 | `isle_small2` | 0 | `*ƒRƒWƒ}2` | Maze Island +26 | `isle_small3` | 0 | `*ƒRƒWƒ}3` | Uncharted Island +27 | `isle_small5` | 0 | `*ƒRƒWƒ}5` | Dee Ess Island +28 | `dngn_flame` | 1 | `*ƒqƒVƒ“ƒfƒ“` | Temple of Fire +29 | `dngn_wind` | 1 | `*ƒJƒ[ƒVƒ“ƒfƒ“` | Temple of Wind +30 | `dngn_pluck` | 1 | `*ƒ†ƒEƒLƒVƒ“ƒfƒ“` | Temple of Courage 31 | `dngn_water` | 1 | `*ƒRƒIƒŠƒVƒ“ƒfƒ“` | Temple of Ice -32 | `dngn_power` | 1 | `*ƒ`ƒJƒ‰ƒVƒ“ƒfƒ“` -33 | `dngn_wisdom` | 1 | `*ƒ`ƒGƒVƒ“ƒfƒ“` -34 | `dngn_wisdom2` | 1 | `*ƒ`ƒGƒVƒ“ƒfƒ“2` -35 | `dngn_wisdom3` | 1 | `*ƒ`ƒGƒVƒ“ƒfƒ“3` -36 | `dngn_wisdom4` | 1 | `*ƒ`ƒGƒVƒ“ƒfƒ“4` +32 | `dngn_power` | 1 | `*ƒ`ƒJƒ‰ƒVƒ“ƒfƒ“` | Goron Temple +33 | `dngn_wisdom` | 1 | `*ƒ`ƒGƒVƒ“ƒfƒ“` | Mutoh's Temple +34 | `dngn_wisdom2` | 1 | `*ƒ`ƒGƒVƒ“ƒfƒ“2` | Doylan's Temple +35 | `dngn_wisdom3` | 1 | `*ƒ`ƒGƒVƒ“ƒfƒ“3` | Max's Temple +36 | `dngn_wisdom4` | 1 | `*ƒ`ƒGƒVƒ“ƒfƒ“4` | Bremeur's Temple 37 | `dngn_main` | 3 | `*ƒƒCƒ“ƒ_ƒ“` | Temple of the Ocean King 38 | `dngn_main_f` | 1 | `*ƒƒCƒ“ƒ[ƒ“ƒVƒc` | Temple of the Ocean King Lobby 39 | `dngn_first` | 1 | `*ƒ`ƒ…[ƒgƒŠƒAƒ‹` | Mountain Passage -40 | `dngn_torii` | 1 | `*ƒgƒŠƒCƒ_ƒ“` -41 | `dngn_ghost` | 1 | `*ƒ†ƒEƒŒƒCƒZƒ“` -42 | `boss_wind` | 1 | `*ƒJƒ[ƒ{ƒX` -43 | `boss_flame` | 1 | `*ƒqƒ{ƒX` -44 | `boss_pluck` | 1 | `*ƒ†ƒEƒLƒ{ƒX` -45 | `boss_water` | 1 | `*ƒRƒIƒŠƒ{ƒX` | Gleeok Boss -46 | `boss_power` | 1 | `*ƒ`ƒJƒ‰ƒ{ƒX` -47 | `boss_wisdom` | 1 | `*ƒ`ƒGƒ{ƒX` -48 | `boss_ghost` | 1 | `*ƒ†ƒEƒŒƒCƒ{ƒX` -49 | `boss_last1` | 1 | `*ƒ‰ƒXƒ{ƒX1` -50 | `boss_last2` | 2 | `*ƒ‰ƒXƒ{ƒX2` -51 | `boss_last3` | 1 | `*ƒ‰ƒXƒ{ƒX3` +40 | `dngn_torii` | 1 | `*ƒgƒŠƒCƒ_ƒ“` | Cannon Island Cave +41 | `dngn_ghost` | 1 | `*ƒ†ƒEƒŒƒCƒZƒ“` | Ghost Ship +42 | `boss_wind` | 1 | `*ƒJƒ[ƒ{ƒX` | Cyclok +43 | `boss_flame` | 1 | `*ƒqƒ{ƒX` | Blaaz +44 | `boss_pluck` | 1 | `*ƒ†ƒEƒLƒ{ƒX` | Crayk +45 | `boss_water` | 1 | `*ƒRƒIƒŠƒ{ƒX` | Gleeok +46 | `boss_power` | 1 | `*ƒ`ƒJƒ‰ƒ{ƒX` | Dongorongo +47 | `boss_wisdom` | 1 | `*ƒ`ƒGƒ{ƒX` | Eox +48 | `boss_ghost` | 1 | `*ƒ†ƒEƒŒƒCƒ{ƒX` | Diabolical Cubus Sisters +49 | `boss_last1` | 1 | `*ƒ‰ƒXƒ{ƒX1` | Bellum +50 | `boss_last2` | 2 | `*ƒ‰ƒXƒ{ƒX2` | Bellum's Ghost Ship +51 | `boss_last3` | 1 | `*ƒ‰ƒXƒ{ƒX3` | Bellumbeck 52 | `demo_op` | 0 | `*ƒI[ƒvƒjƒ“ƒO` 53 | `demo_title` | 0 | `*ƒLƒƒƒNƒ}ƒ`` 54 | `demo_end` | 0 | `*ƒGƒ“ƒfƒBƒ“ƒO` From 9978b675bec7b6e9806fa32b54934f51faa0ca0d Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 16:03:41 +0200 Subject: [PATCH 43/76] Mangle `MapBase` vtable and update .bss --- asm/ov00/Map/MapBase.s | 251 +++-------------------------------------- asm/ov04.inc | 2 +- asm/ov04.s | 4 +- 3 files changed, 16 insertions(+), 241 deletions(-) diff --git a/asm/ov00/Map/MapBase.s b/asm/ov00/Map/MapBase.s index 9a1366c7..15a6cca6 100644 --- a/asm/ov00/Map/MapBase.s +++ b/asm/ov00/Map/MapBase.s @@ -6,7 +6,7 @@ arm_func_start _ZN7MapBaseD1Ev _ZN7MapBaseD1Ev: ; 0x0207da38 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0207db0c ; =data_ov00_020e2348 + ldr r1, _0207db0c ; =_ZTV7MapBase mov r4, r0 str r1, [r4] ldr r1, [r0] @@ -64,7 +64,7 @@ _0207dac0: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end _ZN7MapBaseD1Ev -_0207db0c: .word data_ov00_020e2348 +_0207db0c: .word _ZTV7MapBase _0207db10: .word data_ov00_020ec81c _0207db14: .word _ZN15MapBase_Unk_180D1Ev @@ -78,7 +78,7 @@ _ZN15MapBase_Unk_180D1Ev: ; 0x0207db18 arm_func_start _ZN7MapBaseD0Ev _ZN7MapBaseD0Ev: ; 0x0207db1c stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0207dbf8 ; =data_ov00_020e2348 + ldr r1, _0207dbf8 ; =_ZTV7MapBase mov r4, r0 str r1, [r4] ldr r1, [r0] @@ -138,7 +138,7 @@ _0207dba4: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end _ZN7MapBaseD0Ev -_0207dbf8: .word data_ov00_020e2348 +_0207dbf8: .word _ZTV7MapBase _0207dbfc: .word data_ov00_020ec81c _0207dc00: .word _ZN15MapBase_Unk_180D1Ev @@ -146,7 +146,7 @@ _0207dc00: .word _ZN15MapBase_Unk_180D1Ev arm_func_start _ZN7MapBaseD2Ev _ZN7MapBaseD2Ev: ; 0x0207dc04 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0207dcd8 ; =data_ov00_020e2348 + ldr r1, _0207dcd8 ; =_ZTV7MapBase mov r4, r0 str r1, [r4] ldr r1, [r0] @@ -204,7 +204,7 @@ _0207dc8c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end _ZN7MapBaseD2Ev -_0207dcd8: .word data_ov00_020e2348 +_0207dcd8: .word _ZTV7MapBase _0207dcdc: .word data_ov00_020ec81c _0207dce0: .word _ZN15MapBase_Unk_180D1Ev @@ -4221,8 +4221,8 @@ data_ov00_020e2340: ; 0x020e2340 .global data_ov00_020e2344 data_ov00_020e2344: ; 0x020e2344 .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e2348 -data_ov00_020e2348: ; 0x020e2348 + .global _ZTV7MapBase +_ZTV7MapBase: ; 0x020e2348 .word _ZN7MapBaseD2Ev .global data_ov00_020e234c data_ov00_020e234c: ; 0x020e234c @@ -4386,241 +4386,16 @@ data_ov00_020ec820: .space 0x4 .global data_ov00_020ec824 data_ov00_020ec824: - .space 0x4 - .global data_ov00_020ec828 -data_ov00_020ec828: - .space 0x4 - .global data_ov00_020ec82c -data_ov00_020ec82c: - .space 0x4 - .global data_ov00_020ec830 -data_ov00_020ec830: - .space 0x4 - .global data_ov00_020ec834 -data_ov00_020ec834: - .space 0x4 - .global data_ov00_020ec838 -data_ov00_020ec838: - .space 0x4 - .global data_ov00_020ec83c -data_ov00_020ec83c: - .space 0x4 - .global data_ov00_020ec840 -data_ov00_020ec840: - .space 0x4 - .global data_ov00_020ec844 -data_ov00_020ec844: - .space 0x4 - .global data_ov00_020ec848 -data_ov00_020ec848: - .space 0x4 - .global data_ov00_020ec84c -data_ov00_020ec84c: - .space 0x4 - .global data_ov00_020ec850 -data_ov00_020ec850: - .space 0x4 - .global data_ov00_020ec854 -data_ov00_020ec854: - .space 0x4 - .global data_ov00_020ec858 -data_ov00_020ec858: - .space 0x4 - .global data_ov00_020ec85c -data_ov00_020ec85c: - .space 0x4 - .global data_ov00_020ec860 -data_ov00_020ec860: - .space 0x4 + .space 0x40 .global data_ov00_020ec864 data_ov00_020ec864: - .space 0x4 - .global data_ov00_020ec868 -data_ov00_020ec868: - .space 0x4 - .global data_ov00_020ec86c -data_ov00_020ec86c: - .space 0x4 - .global data_ov00_020ec870 -data_ov00_020ec870: - .space 0x4 - .global data_ov00_020ec874 -data_ov00_020ec874: - .space 0x4 - .global data_ov00_020ec878 -data_ov00_020ec878: - .space 0x4 - .global data_ov00_020ec87c -data_ov00_020ec87c: - .space 0x4 - .global data_ov00_020ec880 -data_ov00_020ec880: - .space 0x4 - .global data_ov00_020ec884 -data_ov00_020ec884: - .space 0x4 - .global data_ov00_020ec888 -data_ov00_020ec888: - .space 0x4 - .global data_ov00_020ec88c -data_ov00_020ec88c: - .space 0x4 - .global data_ov00_020ec890 -data_ov00_020ec890: - .space 0x4 - .global data_ov00_020ec894 -data_ov00_020ec894: - .space 0x4 - .global data_ov00_020ec898 -data_ov00_020ec898: - .space 0x4 - .global data_ov00_020ec89c -data_ov00_020ec89c: - .space 0x4 - .global data_ov00_020ec8a0 -data_ov00_020ec8a0: - .space 0x4 + .space 0x40 .global data_ov00_020ec8a4 data_ov00_020ec8a4: - .space 0x4 - .global data_ov00_020ec8a8 -data_ov00_020ec8a8: - .space 0x4 - .global data_ov00_020ec8ac -data_ov00_020ec8ac: - .space 0x4 - .global data_ov00_020ec8b0 -data_ov00_020ec8b0: - .space 0x4 - .global data_ov00_020ec8b4 -data_ov00_020ec8b4: - .space 0x4 - .global data_ov00_020ec8b8 -data_ov00_020ec8b8: - .space 0x4 - .global data_ov00_020ec8bc -data_ov00_020ec8bc: - .space 0x4 - .global data_ov00_020ec8c0 -data_ov00_020ec8c0: - .space 0x4 - .global data_ov00_020ec8c4 -data_ov00_020ec8c4: - .space 0x4 - .global data_ov00_020ec8c8 -data_ov00_020ec8c8: - .space 0x4 - .global data_ov00_020ec8cc -data_ov00_020ec8cc: - .space 0x4 - .global data_ov00_020ec8d0 -data_ov00_020ec8d0: - .space 0x4 - .global data_ov00_020ec8d4 -data_ov00_020ec8d4: - .space 0x4 - .global data_ov00_020ec8d8 -data_ov00_020ec8d8: - .space 0x4 - .global data_ov00_020ec8dc -data_ov00_020ec8dc: - .space 0x4 - .global data_ov00_020ec8e0 -data_ov00_020ec8e0: - .space 0x4 + .space 0x40 .global data_ov00_020ec8e4 data_ov00_020ec8e4: - .space 0x4 - .global data_ov00_020ec8e8 -data_ov00_020ec8e8: - .space 0x4 - .global data_ov00_020ec8ec -data_ov00_020ec8ec: - .space 0x4 - .global data_ov00_020ec8f0 -data_ov00_020ec8f0: - .space 0x4 - .global data_ov00_020ec8f4 -data_ov00_020ec8f4: - .space 0x4 - .global data_ov00_020ec8f8 -data_ov00_020ec8f8: - .space 0x4 - .global data_ov00_020ec8fc -data_ov00_020ec8fc: - .space 0x4 - .global data_ov00_020ec900 -data_ov00_020ec900: - .space 0x4 - .global data_ov00_020ec904 -data_ov00_020ec904: - .space 0x4 - .global data_ov00_020ec908 -data_ov00_020ec908: - .space 0x4 - .global data_ov00_020ec90c -data_ov00_020ec90c: - .space 0x4 - .global data_ov00_020ec910 -data_ov00_020ec910: - .space 0x4 - .global data_ov00_020ec914 -data_ov00_020ec914: - .space 0x4 - .global data_ov00_020ec918 -data_ov00_020ec918: - .space 0x4 - .global data_ov00_020ec91c -data_ov00_020ec91c: - .space 0x4 - .global data_ov00_020ec920 -data_ov00_020ec920: - .space 0x4 + .space 0x40 .global data_ov00_020ec924 data_ov00_020ec924: - .space 0x4 - .global data_ov00_020ec928 -data_ov00_020ec928: - .space 0x4 - .global data_ov00_020ec92c -data_ov00_020ec92c: - .space 0x4 - .global data_ov00_020ec930 -data_ov00_020ec930: - .space 0x4 - .global data_ov00_020ec934 -data_ov00_020ec934: - .space 0x4 - .global data_ov00_020ec938 -data_ov00_020ec938: - .space 0x4 - .global data_ov00_020ec93c -data_ov00_020ec93c: - .space 0x4 - .global data_ov00_020ec940 -data_ov00_020ec940: - .space 0x4 - .global data_ov00_020ec944 -data_ov00_020ec944: - .space 0x4 - .global data_ov00_020ec948 -data_ov00_020ec948: - .space 0x4 - .global data_ov00_020ec94c -data_ov00_020ec94c: - .space 0x4 - .global data_ov00_020ec950 -data_ov00_020ec950: - .space 0x4 - .global data_ov00_020ec954 -data_ov00_020ec954: - .space 0x4 - .global data_ov00_020ec958 -data_ov00_020ec958: - .space 0x4 - .global data_ov00_020ec95c -data_ov00_020ec95c: - .space 0x4 - .global data_ov00_020ec960 -data_ov00_020ec960: - .space 0x4 + .space 0x40 diff --git a/asm/ov04.inc b/asm/ov04.inc index 383e967b..709a24b4 100644 --- a/asm/ov04.inc +++ b/asm/ov04.inc @@ -177,7 +177,7 @@ .extern data_ov00_020dc7cc .extern data_ov00_020dc7d0 .extern data_ov00_020e233c -.extern data_ov00_020e2348 +.extern _ZTV7MapBase .extern data_ov00_020e2508 .extern data_ov00_020e250c .extern data_ov00_020e2544 diff --git a/asm/ov04.s b/asm/ov04.s index 490ad725..ffab3fa9 100644 --- a/asm/ov04.s +++ b/asm/ov04.s @@ -23144,7 +23144,7 @@ func_ov04_0210bde4: ; 0x0210bde4 func_ov04_0210be04: ; 0x0210be04 push {r3, r4, r5, lr} add r4, r0, #0 - ldr r0, _0210bf94 ; =data_ov00_020e2348 + ldr r0, _0210bf94 ; =_ZTV7MapBase mov r3, #0 str r0, [r4] mov r0, #1 @@ -23338,7 +23338,7 @@ _0210bf8e: pop {r3, r4, r5, pc} nop thumb_func_end func_ov04_0210be04 -_0210bf94: .word data_ov00_020e2348 +_0210bf94: .word _ZTV7MapBase _0210bf98: .word 0x00001333 _0210bf9c: .word func_ov04_02101684 - 1 _0210bfa0: .word func_ov04_0210bde4 - 1 From a6896a0bc57ae2efa50f71ecd6fdc598969b7acb Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 17:36:52 +0200 Subject: [PATCH 44/76] Rename `ItemManager::GetNumKeys` --- asm/ov03.inc | 2 +- asm/ov03.s | 4 ++-- asm/ov14/ov14_0211f640.inc | 2 +- asm/ov14/ov14_0211f640.s | 4 ++-- include/Item/ItemManager.hpp | 6 ++++-- src/00_Core/Item/ItemManager.cpp | 6 +++--- 6 files changed, 13 insertions(+), 11 deletions(-) diff --git a/asm/ov03.inc b/asm/ov03.inc index 5f7fe179..826e9d78 100644 --- a/asm/ov03.inc +++ b/asm/ov03.inc @@ -56,7 +56,7 @@ .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager15GetEquippedItemEv .extern _ZNK11ItemManager16GetEquippedFairyEv -.extern _ZNK11ItemManager18func_ov00_020ae350Ev +.extern _ZNK11ItemManager10GetNumKeysEv .extern _ZNK11ItemManager7HasItemEi .extern __register_global_object .extern data_02050f54 diff --git a/asm/ov03.s b/asm/ov03.s index 8f95b4b5..da8ee629 100644 --- a/asm/ov03.s +++ b/asm/ov03.s @@ -12689,7 +12689,7 @@ func_ov03_020f63d4: ; 0x020f63d4 bl func_ov03_020f5d48 ldr r0, _020f6414 ; =gItemManager ldr r0, [r0] - blx _ZNK11ItemManager18func_ov00_020ae350Ev + blx _ZNK11ItemManager10GetNumKeysEv mov r1, #0x79 lsl r1, r1, #2 str r0, [r4, r1] @@ -13183,7 +13183,7 @@ func_ov03_020f6a88: ; 0x020f6a88 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _020f6b10 ; =gItemManager ldr r0, [r0] - bl _ZNK11ItemManager18func_ov00_020ae350Ev + bl _ZNK11ItemManager10GetNumKeysEv ldr r1, [r5, #0x1e4] mov r4, r0 subs r0, r4, r1 diff --git a/asm/ov14/ov14_0211f640.inc b/asm/ov14/ov14_0211f640.inc index 8f229369..40e9ab32 100644 --- a/asm/ov14/ov14_0211f640.inc +++ b/asm/ov14/ov14_0211f640.inc @@ -139,7 +139,7 @@ .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager15GetEquippedItemEv .extern _ZNK11ItemManager18func_ov00_020ad560Ei -.extern _ZNK11ItemManager18func_ov00_020ae350Ev +.extern _ZNK11ItemManager10GetNumKeysEv .extern _ZNK11ItemManager7HasItemEi .extern __register_global_object .extern data_02050f54 diff --git a/asm/ov14/ov14_0211f640.s b/asm/ov14/ov14_0211f640.s index 56e7282a..21002b8b 100644 --- a/asm/ov14/ov14_0211f640.s +++ b/asm/ov14/ov14_0211f640.s @@ -10454,7 +10454,7 @@ func_ov14_02127df4: ; 0x02127df4 ldmneia sp!, {r3, pc} ldr r0, _02127e24 ; =gItemManager ldr r0, [r0] - bl _ZNK11ItemManager18func_ov00_020ae350Ev + bl _ZNK11ItemManager10GetNumKeysEv cmp r0, #0 movgt r0, #1 movle r0, #0 @@ -10474,7 +10474,7 @@ func_ov14_02127e28: ; 0x02127e28 ldmneia sp!, {r4, pc} ldr r0, _02127eb4 ; =gItemManager ldr r0, [r0] - bl _ZNK11ItemManager18func_ov00_020ae350Ev + bl _ZNK11ItemManager10GetNumKeysEv cmp r0, #0 mvnle r0, #0 ldmleia sp!, {r4, pc} diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 8e4aa129..61d477f1 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -317,9 +317,11 @@ public: bool HasPurplePotion() const; void UnequipPotion(); - // Unknown - unk32 func_ov00_020ae350() const; + // Keys + unk32 GetNumKeys() const; void GiveKeys(u32 amount); + + // Unknown void func_ov00_020ae4dc(unk32 param1); // sets mUnk_0ba void func_ov00_020ae648(unk32 param1, unk32 param2, unk32 param3); }; diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index d483cf32..baf6e76b 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -1,4 +1,5 @@ #include "Item/ItemManager.hpp" +#include "Map/MapManager.hpp" extern u32 *data_027e0ce0[]; @@ -781,7 +782,6 @@ ARM void ItemManager::GiveRupees(s16 amount, bool param2) { mNumRupees = newRupees; } -extern "C" unk32 func_ov00_02084b14(void *param1); -ARM unk32 ItemManager::func_ov00_020ae350() const { - return func_ov00_02084b14(data_027e0e60); +ARM unk32 ItemManager::GetNumKeys() const { + return gMapManager->GetNumKeys(); } From 86889daa658ee09a7a76008627aeeeb9f25cb365 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 17:49:06 +0200 Subject: [PATCH 45/76] Decomp `ItemManager::GiveKeys` --- asm/ov00/Item/ItemManager.s | 27 +-------------------------- include/Map/Course.hpp | 2 ++ src/00_Core/Item/ItemManager.cpp | 8 +++++++- 3 files changed, 10 insertions(+), 27 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index b17db746..07ae53b7 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -2,31 +2,6 @@ .include "ov00/Item/ItemManager.inc" .text - .global _ZN11ItemManager8GiveKeysEj - thumb_func_start _ZN11ItemManager8GiveKeysEj -_ZN11ItemManager8GiveKeysEj: ; 0x020ae368 - push {r4, lr} - ldr r0, _020ae38c ; =gMapManager - add r4, r1, #0 - ldr r0, [r0] - blx _ZN10MapManager10GetNumKeysEv - add r1, r4, r0 - cmp r1, #8 - blt _020ae37c - mov r1, #8 -_020ae37c: - cmp r1, #0 - bgt _020ae382 - mov r1, #0 -_020ae382: - ldr r0, _020ae38c ; =gMapManager - ldr r0, [r0] - blx _ZN10MapManager10SetNumKeysEi - pop {r4, pc} - .align 2, 0 - thumb_func_end _ZN11ItemManager8GiveKeysEj -_020ae38c: .word gMapManager - .global _ZNK11ItemManager15GetEquippedItemEv arm_func_start _ZNK11ItemManager15GetEquippedItemEv _ZNK11ItemManager15GetEquippedItemEv: ; 0x020ae390 @@ -57,7 +32,7 @@ _ZN11ItemManager17EquipPreviousItemEv: ; 0x020ae3c0 bx ip .align 2, 0 arm_func_end _ZN11ItemManager17EquipPreviousItemEv -_020ae3cc: .word _ZN11ItemManager15SetEquippedItemEi - 1 +_020ae3cc: .word _ZN11ItemManager15SetEquippedItemEi .global _ZN11ItemManager13ForceEquipItemEi thumb_func_start _ZN11ItemManager13ForceEquipItemEi diff --git a/include/Map/Course.hpp b/include/Map/Course.hpp index 1768ae85..352cae1b 100644 --- a/include/Map/Course.hpp +++ b/include/Map/Course.hpp @@ -8,6 +8,8 @@ #include "Physics/AABB.hpp" #include "System/SysNew.hpp" +#define MAX_KEYS 8 + typedef unk32 CourseType; enum CourseType_ { CourseType_Normal = 0, diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index baf6e76b..ac550e81 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -1,5 +1,4 @@ #include "Item/ItemManager.hpp" -#include "Map/MapManager.hpp" extern u32 *data_027e0ce0[]; @@ -785,3 +784,10 @@ ARM void ItemManager::GiveRupees(s16 amount, bool param2) { ARM unk32 ItemManager::GetNumKeys() const { return gMapManager->GetNumKeys(); } + +THUMB void ItemManager::GiveKeys(u32 amount) { + s32 keys = amount + gMapManager->GetNumKeys(); + if (keys >= MAX_KEYS) keys = MAX_KEYS; + if (keys <= 0) keys = 0; + gMapManager->SetNumKeys(keys); +} From 840c6f8538dd2d7906db220a4d60f3597d86e091 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 17:49:24 +0200 Subject: [PATCH 46/76] Add C++ includes to `m2ctx` --- tools/m2ctx.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/m2ctx.py b/tools/m2ctx.py index 71562c0a..b48e2e54 100755 --- a/tools/m2ctx.py +++ b/tools/m2ctx.py @@ -9,7 +9,8 @@ from pathlib import Path CXX_FLAGS = [ '-nostdinc', '-Iinclude', - '-Ilibs/c/include' + '-Ilibs/c/include', + '-Ilibs/cpp/include' ] script_dir = Path(os.path.dirname(os.path.realpath(__file__))) From 5d78a5c00e8cf6f4f793086b06d0b75a95df3acf Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 17:50:59 +0200 Subject: [PATCH 47/76] Decomp `ItemManager::GetEquippedItem` --- asm/ov00/Item/ItemManager.s | 10 ---------- src/00_Core/Item/ItemManager.cpp | 5 +++++ 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index 07ae53b7..eef1c36f 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -2,16 +2,6 @@ .include "ov00/Item/ItemManager.inc" .text - .global _ZNK11ItemManager15GetEquippedItemEv - arm_func_start _ZNK11ItemManager15GetEquippedItemEv -_ZNK11ItemManager15GetEquippedItemEv: ; 0x020ae390 - ldr r2, [r0, #8] - mvn r1, #0 - cmp r2, r1 - ldreq r2, [r0] - mov r0, r2 - bx lr - arm_func_end _ZNK11ItemManager15GetEquippedItemEv .global _ZN11ItemManager15SetEquippedItemEi arm_func_start _ZN11ItemManager15SetEquippedItemEi diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index ac550e81..892478c3 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -791,3 +791,8 @@ THUMB void ItemManager::GiveKeys(u32 amount) { if (keys <= 0) keys = 0; gMapManager->SetNumKeys(keys); } + +ARM ItemFlag ItemManager::GetEquippedItem() const { + if (this->mForcedItem != ItemFlag_None) return this->mForcedItem; + return this->mEquippedItem; +} From 82e7265776ac599d309ff4918de80a59a7f9ee7e Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 17:53:39 +0200 Subject: [PATCH 48/76] `make gen_externs` --- asm/ov14/ov14_0211f640.inc | 2 +- asm/ov50.inc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/asm/ov14/ov14_0211f640.inc b/asm/ov14/ov14_0211f640.inc index 40e9ab32..f23b93a8 100644 --- a/asm/ov14/ov14_0211f640.inc +++ b/asm/ov14/ov14_0211f640.inc @@ -137,9 +137,9 @@ .extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj +.extern _ZNK11ItemManager10GetNumKeysEv .extern _ZNK11ItemManager15GetEquippedItemEv .extern _ZNK11ItemManager18func_ov00_020ad560Ei -.extern _ZNK11ItemManager10GetNumKeysEv .extern _ZNK11ItemManager7HasItemEi .extern __register_global_object .extern data_02050f54 diff --git a/asm/ov50.inc b/asm/ov50.inc index 39f3d162..cde44167 100644 --- a/asm/ov50.inc +++ b/asm/ov50.inc @@ -77,7 +77,6 @@ .extern data_027e0194 .extern data_027e0764 .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f90 @@ -191,3 +190,4 @@ .extern func_ov14_02148334 .extern func_ov14_02148364 .extern gAdventureFlags +.extern gMapManager From a173f0596d2b7bb94bce3cb86ab9c376cb9fc23b Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 17:54:09 +0200 Subject: [PATCH 49/76] Decomp `ItemManager::SetEquippedItem` --- asm/ov00/Item/ItemManager.inc | 16 +--------------- asm/ov00/Item/ItemManager.s | 11 ----------- src/00_Core/Item/ItemManager.cpp | 11 +++++++++-- 3 files changed, 10 insertions(+), 28 deletions(-) diff --git a/asm/ov00/Item/ItemManager.inc b/asm/ov00/Item/ItemManager.inc index a7050c86..96d69948 100644 --- a/asm/ov00/Item/ItemManager.inc +++ b/asm/ov00/Item/ItemManager.inc @@ -1,24 +1,10 @@ #pragma once -.extern LoadTreasureItemFanfare -.extern _ZN10MapManager10GetNumKeysEv -.extern _ZN10MapManager10SetNumKeysEi .extern _ZN11ItemManager12GetEquipItemEi -.extern _ZN14AdventureFlags3GetEj -.extern _ZN14AdventureFlags3SetEjb +.extern _ZN11ItemManager15SetEquippedItemEi .extern _ZNK11ItemManager10GetMaxAmmoEi -.extern _ZNK11ItemManager12GetMaxRupeesEv -.extern gMapManager .extern data_027e0f78 -.extern data_027e103c .extern data_ov00_020eec68 .extern func_020196bc .extern func_020196fc -.extern func_ov00_020cf374 .extern func_ov00_020d73bc -.extern func_ov05_02104004 -.extern func_ov00_02079ffc -.extern func_ov09_0211c700 -.extern func_ov09_0211ca20 -.extern gAdventureFlags .extern gItemManager -.extern strcat diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index eef1c36f..302226a6 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,17 +3,6 @@ .text - .global _ZN11ItemManager15SetEquippedItemEi - arm_func_start _ZN11ItemManager15SetEquippedItemEi -_ZN11ItemManager15SetEquippedItemEi: ; 0x020ae3a8 - ldr r3, [r0] - mov r2, #2 - stmia r0, {r1, r3} - strh r2, [r0, #0x20] - mov r0, #1 - bx lr - arm_func_end _ZN11ItemManager15SetEquippedItemEi - .global _ZN11ItemManager17EquipPreviousItemEv arm_func_start _ZN11ItemManager17EquipPreviousItemEv _ZN11ItemManager17EquipPreviousItemEv: ; 0x020ae3c0 diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 892478c3..7c5c64b2 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -793,6 +793,13 @@ THUMB void ItemManager::GiveKeys(u32 amount) { } ARM ItemFlag ItemManager::GetEquippedItem() const { - if (this->mForcedItem != ItemFlag_None) return this->mForcedItem; - return this->mEquippedItem; + if (mForcedItem != ItemFlag_None) return mForcedItem; + return mEquippedItem; +} + +ARM bool ItemManager::SetEquippedItem(ItemFlag equipId) { + mPrevEquippedItem = mEquippedItem; + mEquippedItem = equipId; + mEquipLoadTimer = 2; + return true; } From 983495b906968fc9560f3e46f9d3d768a9a08c95 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 17:55:02 +0200 Subject: [PATCH 50/76] Decomp `ItemManager::EquipPreviousItem` --- asm/ov00/Item/ItemManager.s | 10 ---------- src/00_Core/Item/ItemManager.cpp | 4 ++++ 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index 302226a6..9ddbf7e2 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,16 +3,6 @@ .text - .global _ZN11ItemManager17EquipPreviousItemEv - arm_func_start _ZN11ItemManager17EquipPreviousItemEv -_ZN11ItemManager17EquipPreviousItemEv: ; 0x020ae3c0 - ldr ip, _020ae3cc ; =_ZN11ItemManager15SetEquippedItemEi - ldr r1, [r0, #4] - bx ip - .align 2, 0 - arm_func_end _ZN11ItemManager17EquipPreviousItemEv -_020ae3cc: .word _ZN11ItemManager15SetEquippedItemEi - .global _ZN11ItemManager13ForceEquipItemEi thumb_func_start _ZN11ItemManager13ForceEquipItemEi _ZN11ItemManager13ForceEquipItemEi: ; 0x020ae3d0 diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 7c5c64b2..b283c01a 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -803,3 +803,7 @@ ARM bool ItemManager::SetEquippedItem(ItemFlag equipId) { mEquipLoadTimer = 2; return true; } + +ARM void ItemManager::EquipPreviousItem() { + this->SetEquippedItem(mPrevEquippedItem); +} From 3174f1c334f79a7667d39813eac297da3ee09d04 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 17:59:41 +0200 Subject: [PATCH 51/76] Decomp `ItemManager::ForceEquipItem` --- asm/ov00/Item/ItemManager.s | 31 ------------------------------- asm/ov42.inc | 2 +- asm/ov42.s | 2 +- src/00_Core/Item/ItemManager.cpp | 9 +++++++++ 4 files changed, 11 insertions(+), 33 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index 9ddbf7e2..d93b94e6 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,37 +3,6 @@ .text - .global _ZN11ItemManager13ForceEquipItemEi - thumb_func_start _ZN11ItemManager13ForceEquipItemEi -_ZN11ItemManager13ForceEquipItemEi: ; 0x020ae3d0 - push {r3, r4, r5, r6, r7, lr} - mov r4, #0 - add r6, r0, #0 - add r7, r1, #0 - add r5, r4, #0 -_020ae3da: - cmp r4, r7 - beq _020ae3ee - add r0, r6, #0 - add r0, #0xac - ldr r0, [r0] - mov r1, #0 - ldr r0, [r0, r5] - ldr r2, [r0] - ldr r2, [r2, #0x28] - blx r2 -_020ae3ee: - add r4, r4, #1 - add r5, r5, #4 - cmp r4, #0xb - blt _020ae3da - str r7, [r6, #8] - mov r0, #1 - strh r0, [r6, #0x20] - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 - thumb_func_end _ZN11ItemManager13ForceEquipItemEi - .global _ZN11ItemManager20ClearForcedEquipItemEv thumb_func_start _ZN11ItemManager20ClearForcedEquipItemEv _ZN11ItemManager20ClearForcedEquipItemEv: ; 0x020ae400 diff --git a/asm/ov42.inc b/asm/ov42.inc index 63708d77..c91bb449 100644 --- a/asm/ov42.inc +++ b/asm/ov42.inc @@ -1,6 +1,6 @@ #pragma once .extern _ZN10MapManager18func_ov00_02083918EiPi -.extern _ZN11ItemManager13ForceEquipItemEi +.extern _ZN11ItemManager14ForceEquipItemEi .extern _ZN11ItemManager20ClearForcedEquipItemEv .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN14AdventureFlags3GetEj diff --git a/asm/ov42.s b/asm/ov42.s index ff2f3570..4b73f54e 100644 --- a/asm/ov42.s +++ b/asm/ov42.s @@ -326,7 +326,7 @@ _02189918: ldr r0, _02189afc ; =gItemManager mov r1, #5 ldr r0, [r0] - blx _ZN11ItemManager13ForceEquipItemEi + blx _ZN11ItemManager14ForceEquipItemEi ldr r1, _02189b00 ; =data_027e0fc8 mov r0, r7 ldr r4, [r1] diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index b283c01a..82c30210 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -807,3 +807,12 @@ ARM bool ItemManager::SetEquippedItem(ItemFlag equipId) { ARM void ItemManager::EquipPreviousItem() { this->SetEquippedItem(mPrevEquippedItem); } + +THUMB void ItemManager::ForceEquipItem(ItemFlag equipId) { + for (ItemFlag i = ItemFlag_EQUIP_START; i < ItemFlag_EQUIP_END; ++i) { + if (i == equipId) continue; + (*mEquipItems)[i - ItemFlag_EQUIP_START]->UpdateInUse(0); + } + mForcedItem = equipId; + mEquipLoadTimer = 1; +} From b8ffab37abca9f44c731d1e0fdf1dfb9322f71fa Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 18:02:03 +0200 Subject: [PATCH 52/76] Decomp `ItemManager::ClearForcedEquipItem` --- asm/ov00/Item/ItemManager.s | 17 ----------------- src/00_Core/Item/ItemManager.cpp | 6 ++++++ 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index d93b94e6..b997146d 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,23 +3,6 @@ .text - .global _ZN11ItemManager20ClearForcedEquipItemEv - thumb_func_start _ZN11ItemManager20ClearForcedEquipItemEv -_ZN11ItemManager20ClearForcedEquipItemEv: ; 0x020ae400 - push {r3, lr} - mov r2, #0 - mvn r2, r2 - str r2, [r0, #8] - ldr r1, [r0] - cmp r1, r2 - beq _020ae414 - blx _ZN11ItemManager15SetEquippedItemEi - pop {r3, pc} -_020ae414: - mov r0, #0 - pop {r3, pc} - thumb_func_end _ZN11ItemManager20ClearForcedEquipItemEv - .global _ZN11ItemManager22UpdateSwordShieldInUseEv arm_func_start _ZN11ItemManager22UpdateSwordShieldInUseEv _ZN11ItemManager22UpdateSwordShieldInUseEv: ; 0x020ae418 diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 82c30210..31a40585 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -816,3 +816,9 @@ THUMB void ItemManager::ForceEquipItem(ItemFlag equipId) { mForcedItem = equipId; mEquipLoadTimer = 1; } + +THUMB bool ItemManager::ClearForcedEquipItem() { + mForcedItem = ItemFlag_None; + if (mEquippedItem != ItemFlag_None) return this->SetEquippedItem(mEquippedItem); + return false; +} From 458ede60df2dcb919372888e94e4b1fc5d691afb Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 18:03:06 +0200 Subject: [PATCH 53/76] Decomp `ItemManager::UpdateSwordShieldInUse` --- asm/ov00/Item/ItemManager.s | 21 --------------------- src/00_Core/Item/ItemManager.cpp | 5 +++++ 2 files changed, 5 insertions(+), 21 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index b997146d..84a6b996 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,27 +3,6 @@ .text - .global _ZN11ItemManager22UpdateSwordShieldInUseEv - arm_func_start _ZN11ItemManager22UpdateSwordShieldInUseEv -_ZN11ItemManager22UpdateSwordShieldInUseEv: ; 0x020ae418 - stmdb sp!, {r4, lr} - mov r1, #0 - mov r4, r0 - bl _ZN11ItemManager12GetEquipItemEi - ldr r2, [r0] - mov r1, #1 - ldr r2, [r2, #0x28] - blx r2 - mov r0, r4 - mov r1, #1 - bl _ZN11ItemManager12GetEquipItemEi - ldr r2, [r0] - mov r1, #1 - ldr r2, [r2, #0x28] - blx r2 - ldmia sp!, {r4, pc} - arm_func_end _ZN11ItemManager22UpdateSwordShieldInUseEv - .global _ZN11ItemManager13UpgradeQuiverEv thumb_func_start _ZN11ItemManager13UpgradeQuiverEv _ZN11ItemManager13UpgradeQuiverEv: ; 0x020ae458 diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 31a40585..d5c88bb3 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -822,3 +822,8 @@ THUMB bool ItemManager::ClearForcedEquipItem() { if (mEquippedItem != ItemFlag_None) return this->SetEquippedItem(mEquippedItem); return false; } + +ARM void ItemManager::UpdateSwordShieldInUse() { + this->GetEquipItem(ItemFlag_OshusSword)->UpdateInUse(1); + this->GetEquipItem(ItemFlag_WoodenShield)->UpdateInUse(1); +} From 4f44cc2f9362f72155f4a8c5dafe4de3dafabe9e Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 18:05:13 +0200 Subject: [PATCH 54/76] Decomp `ItemManager::UpgradeQuiver` --- asm/ov00/Item/ItemManager.s | 27 --------------------------- include/Item/ItemManager.hpp | 1 + src/00_Core/Item/ItemManager.cpp | 5 +++++ 3 files changed, 6 insertions(+), 27 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index 84a6b996..a06b1777 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,33 +3,6 @@ .text - .global _ZN11ItemManager13UpgradeQuiverEv - thumb_func_start _ZN11ItemManager13UpgradeQuiverEv -_ZN11ItemManager13UpgradeQuiverEv: ; 0x020ae458 - push {r4, lr} - add r4, r0, #0 - add r0, #0xb4 - ldrh r0, [r0] - cmp r0, #2 - bhs _020ae472 - add r0, r4, #0 - add r0, #0xb4 - ldrh r0, [r0] - add r1, r0, #1 - add r0, r4, #0 - add r0, #0xb4 - strh r1, [r0] -_020ae472: - add r0, r4, #0 - mov r1, #5 - bl _ZNK11ItemManager10GetMaxAmmoEi - add r4, #0xb0 - ldr r1, [r4] - strh r0, [r1, #0xa] - pop {r4, pc} - .align 2, 0 - thumb_func_end _ZN11ItemManager13UpgradeQuiverEv - .global _ZN11ItemManager14UpgradeBombBagEv thumb_func_start _ZN11ItemManager14UpgradeBombBagEv _ZN11ItemManager14UpgradeBombBagEv: ; 0x020ae484 diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 61d477f1..bdb75c62 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -19,6 +19,7 @@ extern "C" { #include "Render/ModelRender.hpp" #define MAX_HOURGLASS_SECONDS 1500 // 25 minutes +#define MAX_AMMO_UPGRADE 2 typedef s32 FairyId; enum FairyId_ { diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index d5c88bb3..d98baa4a 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -827,3 +827,8 @@ ARM void ItemManager::UpdateSwordShieldInUse() { this->GetEquipItem(ItemFlag_OshusSword)->UpdateInUse(1); this->GetEquipItem(ItemFlag_WoodenShield)->UpdateInUse(1); } + +THUMB void ItemManager::UpgradeQuiver() { + if (mQuiverSize < MAX_AMMO_UPGRADE) mQuiverSize += 1; + (*mAmmo)[ItemFlag_Bow] = this->GetMaxAmmo(ItemFlag_Bow); +} From 9aefce8b0c48e728ba4f13b355636c1d7b132855 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 18:06:10 +0200 Subject: [PATCH 55/76] Decomp `ItemManager::UpgradeBombBag` --- asm/ov00/Item/ItemManager.s | 27 --------------------------- src/00_Core/Item/ItemManager.cpp | 5 +++++ 2 files changed, 5 insertions(+), 27 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index a06b1777..f9f76f00 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,33 +3,6 @@ .text - .global _ZN11ItemManager14UpgradeBombBagEv - thumb_func_start _ZN11ItemManager14UpgradeBombBagEv -_ZN11ItemManager14UpgradeBombBagEv: ; 0x020ae484 - push {r4, lr} - add r4, r0, #0 - add r0, #0xb6 - ldrh r0, [r0] - cmp r0, #2 - bhs _020ae49e - add r0, r4, #0 - add r0, #0xb6 - ldrh r0, [r0] - add r1, r0, #1 - add r0, r4, #0 - add r0, #0xb6 - strh r1, [r0] -_020ae49e: - add r0, r4, #0 - mov r1, #4 - bl _ZNK11ItemManager10GetMaxAmmoEi - add r4, #0xb0 - ldr r1, [r4] - strh r0, [r1, #8] - pop {r4, pc} - .align 2, 0 - thumb_func_end _ZN11ItemManager14UpgradeBombBagEv - .global _ZN11ItemManager17UpgradeBombchuBagEv thumb_func_start _ZN11ItemManager17UpgradeBombchuBagEv _ZN11ItemManager17UpgradeBombchuBagEv: ; 0x020ae4b0 diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index d98baa4a..b39663f2 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -832,3 +832,8 @@ THUMB void ItemManager::UpgradeQuiver() { if (mQuiverSize < MAX_AMMO_UPGRADE) mQuiverSize += 1; (*mAmmo)[ItemFlag_Bow] = this->GetMaxAmmo(ItemFlag_Bow); } + +THUMB void ItemManager::UpgradeBombBag() { + if (mBombBagSize < MAX_AMMO_UPGRADE) mBombBagSize += 1; + (*mAmmo)[ItemFlag_BombBag] = this->GetMaxAmmo(ItemFlag_BombBag); +} From 7ab07cf116502d2c722a24cde6e42420abbcac37 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 18:06:48 +0200 Subject: [PATCH 56/76] Decomp `ItemManager::UpgradeBombchuBag` --- asm/ov00/Item/ItemManager.s | 27 --------------------------- src/00_Core/Item/ItemManager.cpp | 5 +++++ 2 files changed, 5 insertions(+), 27 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index f9f76f00..e63e6ce9 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,33 +3,6 @@ .text - .global _ZN11ItemManager17UpgradeBombchuBagEv - thumb_func_start _ZN11ItemManager17UpgradeBombchuBagEv -_ZN11ItemManager17UpgradeBombchuBagEv: ; 0x020ae4b0 - push {r4, lr} - add r4, r0, #0 - add r0, #0xb8 - ldrh r0, [r0] - cmp r0, #2 - bhs _020ae4ca - add r0, r4, #0 - add r0, #0xb8 - ldrh r0, [r0] - add r1, r0, #1 - add r0, r4, #0 - add r0, #0xb8 - strh r1, [r0] -_020ae4ca: - add r0, r4, #0 - mov r1, #7 - bl _ZNK11ItemManager10GetMaxAmmoEi - add r4, #0xb0 - ldr r1, [r4] - strh r0, [r1, #0xe] - pop {r4, pc} - .align 2, 0 - thumb_func_end _ZN11ItemManager17UpgradeBombchuBagEv - .global _ZN11ItemManager18func_ov00_020ae4dcEj arm_func_start _ZN11ItemManager18func_ov00_020ae4dcEj _ZN11ItemManager18func_ov00_020ae4dcEj: ; 0x020ae4dc diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index b39663f2..7b7db21f 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -837,3 +837,8 @@ THUMB void ItemManager::UpgradeBombBag() { if (mBombBagSize < MAX_AMMO_UPGRADE) mBombBagSize += 1; (*mAmmo)[ItemFlag_BombBag] = this->GetMaxAmmo(ItemFlag_BombBag); } + +THUMB void ItemManager::UpgradeBombchuBag() { + if (mBombchuBagSize < MAX_AMMO_UPGRADE) mBombchuBagSize += 1; + (*mAmmo)[ItemFlag_BombchuBag] = this->GetMaxAmmo(ItemFlag_BombchuBag); +} From 81c5e92ebc5d43c30ac81b52a2c81c1b4b8f5d69 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 18:15:26 +0200 Subject: [PATCH 57/76] Decomp `ItemManager::func_ov00_020ae4dc` --- asm/ov00/Item/ItemManager.s | 17 ----------------- asm/ov29.inc | 2 +- asm/ov29.s | 2 +- include/Item/ItemManager.hpp | 5 +++-- src/00_Core/Item/ItemManager.cpp | 11 +++++++++++ 5 files changed, 16 insertions(+), 21 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index e63e6ce9..e8e5132b 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,23 +3,6 @@ .text - .global _ZN11ItemManager18func_ov00_020ae4dcEj - arm_func_start _ZN11ItemManager18func_ov00_020ae4dcEj -_ZN11ItemManager18func_ov00_020ae4dcEj: ; 0x020ae4dc - ldrh r3, [r0, #0xba] - add r2, r3, r1 - cmp r2, #9 - movgt r1, #9 - strgth r1, [r0, #0xba] - bxgt lr - rsb r1, r1, #0 - cmp r3, r1 - movlt r1, #0 - strlth r1, [r0, #0xba] - strgeh r2, [r0, #0xba] - bx lr - arm_func_end _ZN11ItemManager18func_ov00_020ae4dcEj - .global _ZN11ItemManager9SetPotionEjh arm_func_start _ZN11ItemManager9SetPotionEjh _ZN11ItemManager9SetPotionEjh: ; 0x020ae50c diff --git a/asm/ov29.inc b/asm/ov29.inc index c2e7da92..36a8a66f 100644 --- a/asm/ov29.inc +++ b/asm/ov29.inc @@ -10,7 +10,7 @@ .extern _ZN10MapManager18func_ov00_02083938Ei .extern _ZN10MapManager18func_ov00_020846a4Ev .extern _ZN10MapManager18func_ov00_02084d24Ecci -.extern _ZN11ItemManager18func_ov00_020ae4dcEj +.extern _ZN11ItemManager18func_ov00_020ae4dcEi .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager18func_ov00_020c3b2cEPi diff --git a/asm/ov29.s b/asm/ov29.s index cea23880..81c19ba6 100644 --- a/asm/ov29.s +++ b/asm/ov29.s @@ -755,7 +755,7 @@ _0216df70: ldr r0, _0216e008 ; =gItemManager mvn r1, #0 ldr r0, [r0] - bl _ZN11ItemManager18func_ov00_020ae4dcEj + bl _ZN11ItemManager18func_ov00_020ae4dcEi add r0, r6, r4 add r1, r7, r5 ldr r3, _0216e000 ; =data_027e0fc8 diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index bdb75c62..caaab162 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -20,6 +20,7 @@ extern "C" { #define MAX_HOURGLASS_SECONDS 1500 // 25 minutes #define MAX_AMMO_UPGRADE 2 +#define MAX_UNK_0BA 9 typedef s32 FairyId; enum FairyId_ { @@ -205,7 +206,7 @@ private: /* 0b4 */ u16 mQuiverSize; /* 0b6 */ u16 mBombBagSize; /* 0b8 */ u16 mBombchuBagSize; - /* 0ba */ unk16 mUnk_0ba; // only between 0 and 9 + /* 0ba */ u16 mUnk_0ba; // only between 0 and 9 /* 0bc */ Potion mPotions[2]; /* 0be */ unk8 mUnk_0be[2]; // padding? /* 0c0 */ ItemModel *mItemModels[ItemModelId_COUNT]; @@ -323,7 +324,7 @@ public: void GiveKeys(u32 amount); // Unknown - void func_ov00_020ae4dc(unk32 param1); // sets mUnk_0ba + void func_ov00_020ae4dc(s32 param1); void func_ov00_020ae648(unk32 param1, unk32 param2, unk32 param3); }; diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 7b7db21f..617ec311 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -842,3 +842,14 @@ THUMB void ItemManager::UpgradeBombchuBag() { if (mBombchuBagSize < MAX_AMMO_UPGRADE) mBombchuBagSize += 1; (*mAmmo)[ItemFlag_BombchuBag] = this->GetMaxAmmo(ItemFlag_BombchuBag); } + +ARM void ItemManager::func_ov00_020ae4dc(s32 param1) { + s32 newValue = mUnk_0ba + param1; + if (newValue > MAX_UNK_0BA) { + mUnk_0ba = MAX_UNK_0BA; + } else if (mUnk_0ba < -param1) { + mUnk_0ba = 0; + } else { + mUnk_0ba = newValue; + } +} From a41ce23938423313ed0d5859dea6730a4e2915f1 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 18:17:31 +0200 Subject: [PATCH 58/76] Decomp `ItemManager::SetPotion` --- asm/ov00/Item/ItemManager.s | 28 ---------------------------- src/00_Core/Item/ItemManager.cpp | 9 +++++++++ 2 files changed, 9 insertions(+), 28 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index e8e5132b..b603e4e7 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,34 +3,6 @@ .text - .global _ZN11ItemManager9SetPotionEjh - arm_func_start _ZN11ItemManager9SetPotionEjh -_ZN11ItemManager9SetPotionEjh: ; 0x020ae50c - add r3, r0, r1 - strb r2, [r3, #0xbc] - cmp r2, #0 - add r1, r1, #9 - bne _020ae544 - add r3, r0, #0x128 - mov r2, r1, lsr #0x5 - and r0, r1, #0x1f - mov r1, #1 - mvn r0, r1, lsl r0 - ldr r1, [r3, r2, lsl #2] - and r0, r1, r0 - str r0, [r3, r2, lsl #2] - bx lr -_020ae544: - add ip, r0, #0x128 - mov r3, r1, lsr #0x5 - and r0, r1, #0x1f - ldr r2, [ip, r3, lsl #2] - mov r1, #1 - orr r0, r2, r1, lsl r0 - str r0, [ip, r3, lsl #2] - bx lr - arm_func_end _ZN11ItemManager9SetPotionEjh - .global _ZNK11ItemManager9HasPotionEj arm_func_start _ZNK11ItemManager9HasPotionEj _ZNK11ItemManager9HasPotionEj: ; 0x020ae564 diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 617ec311..877d43de 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -853,3 +853,12 @@ ARM void ItemManager::func_ov00_020ae4dc(s32 param1) { mUnk_0ba = newValue; } } + +ARM void ItemManager::SetPotion(u32 index, Potion potion) { + mPotions[index] = potion; + if (potion == Potion_None) { + RESET_FLAG(mItemFlags.flags, index + ItemFlag_PotionA); + } else { + SET_FLAG(mItemFlags.flags, index + ItemFlag_PotionA); + } +} From 74a07a6992129cdaad37c649e03a32fe33450a7b Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 18:21:11 +0200 Subject: [PATCH 59/76] Decomp `ItemManager::HasPotion` --- asm/ov00/Item/ItemManager.inc | 4 +--- asm/ov00/Item/ItemManager.s | 21 --------------------- src/00_Core/Item/ItemManager.cpp | 13 +++++++++++++ 3 files changed, 14 insertions(+), 24 deletions(-) diff --git a/asm/ov00/Item/ItemManager.inc b/asm/ov00/Item/ItemManager.inc index 96d69948..1adb8661 100644 --- a/asm/ov00/Item/ItemManager.inc +++ b/asm/ov00/Item/ItemManager.inc @@ -1,7 +1,5 @@ #pragma once -.extern _ZN11ItemManager12GetEquipItemEi -.extern _ZN11ItemManager15SetEquippedItemEi -.extern _ZNK11ItemManager10GetMaxAmmoEi +.extern _ZNK11ItemManager9HasPotionEj .extern data_027e0f78 .extern data_ov00_020eec68 .extern func_020196bc diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index b603e4e7..9b30ee26 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,27 +3,6 @@ .text - .global _ZNK11ItemManager9HasPotionEj - arm_func_start _ZNK11ItemManager9HasPotionEj -_ZNK11ItemManager9HasPotionEj: ; 0x020ae564 - add r0, r0, r1 - ldrb r0, [r0, #0xbc] - cmp r0, #3 - addls pc, pc, r0, lsl #2 - b _020ae590 -_020ae578: ; jump table - b _020ae590 ; case 0 - b _020ae588 ; case 1 - b _020ae588 ; case 2 - b _020ae588 ; case 3 -_020ae588: - mov r0, #1 - bx lr -_020ae590: - mov r0, #0 - bx lr - arm_func_end _ZNK11ItemManager9HasPotionEj - .global _ZNK11ItemManager13HasAllPotionsEv arm_func_start _ZNK11ItemManager13HasAllPotionsEv _ZNK11ItemManager13HasAllPotionsEv: ; 0x020ae598 diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 877d43de..3aedc0b3 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -862,3 +862,16 @@ ARM void ItemManager::SetPotion(u32 index, Potion potion) { SET_FLAG(mItemFlags.flags, index + ItemFlag_PotionA); } } + +ARM bool ItemManager::HasPotion(u32 index) const { + switch (mPotions[index]) { + case Potion_Red: + case Potion_Purple: + case Potion_Yellow: + return true; + + case Potion_None: + default: + return false; + } +} From 028207d6a8cc7bd88afb51cefd8bdd749993b00d Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 18:23:19 +0200 Subject: [PATCH 60/76] Decomp `ItemManager::HasAllPotions` --- asm/ov00/Item/ItemManager.s | 21 --------------------- include/Item/ItemManager.hpp | 3 ++- src/00_Core/Item/ItemManager.cpp | 13 ++++++++++--- 3 files changed, 12 insertions(+), 25 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index 9b30ee26..7135f5cb 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -2,27 +2,6 @@ .include "ov00/Item/ItemManager.inc" .text - - .global _ZNK11ItemManager13HasAllPotionsEv - arm_func_start _ZNK11ItemManager13HasAllPotionsEv -_ZNK11ItemManager13HasAllPotionsEv: ; 0x020ae598 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r4, #0 -_020ae5a4: - mov r0, r5 - mov r1, r4 - bl _ZNK11ItemManager9HasPotionEj - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, pc} - add r4, r4, #1 - cmp r4, #2 - blt _020ae5a4 - mov r0, #1 - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZNK11ItemManager13HasAllPotionsEv - .global _ZNK11ItemManager15HasPurplePotionEv arm_func_start _ZNK11ItemManager15HasPurplePotionEv _ZNK11ItemManager15HasPurplePotionEv: ; 0x020ae5d0 diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index caaab162..666ae6de 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -21,6 +21,7 @@ extern "C" { #define MAX_HOURGLASS_SECONDS 1500 // 25 minutes #define MAX_AMMO_UPGRADE 2 #define MAX_UNK_0BA 9 +#define MAX_POTIONS 2 typedef s32 FairyId; enum FairyId_ { @@ -207,7 +208,7 @@ private: /* 0b6 */ u16 mBombBagSize; /* 0b8 */ u16 mBombchuBagSize; /* 0ba */ u16 mUnk_0ba; // only between 0 and 9 - /* 0bc */ Potion mPotions[2]; + /* 0bc */ Potion mPotions[MAX_POTIONS]; /* 0be */ unk8 mUnk_0be[2]; // padding? /* 0c0 */ ItemModel *mItemModels[ItemModelId_COUNT]; /* 100 */ ItemModel *mDungeonItemModels[DungeonItemModelId_COUNT]; // non-null in dungeons/caves diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 3aedc0b3..ea9d1f34 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -653,7 +653,7 @@ THUMB void ItemManager::GiveItem(ItemId id) { } break; case ItemId_RedPotion: { - for (s32 i = 0; i < 2; ++i) { + for (s32 i = 0; i < MAX_POTIONS; ++i) { if (mPotions[i] != Potion_None) continue; this->SetPotion(i, Potion_Red); break; @@ -661,7 +661,7 @@ THUMB void ItemManager::GiveItem(ItemId id) { } break; case ItemId_PurplePotion: { - for (s32 i = 0; i < 2; ++i) { + for (s32 i = 0; i < MAX_POTIONS; ++i) { if (mPotions[i] != Potion_None) continue; this->SetPotion(i, Potion_Purple); break; @@ -669,7 +669,7 @@ THUMB void ItemManager::GiveItem(ItemId id) { } break; case ItemId_YellowPotion: { - for (s32 i = 0; i < 2; ++i) { + for (s32 i = 0; i < MAX_POTIONS; ++i) { if (mPotions[i] != Potion_None) continue; this->SetPotion(i, Potion_Yellow); break; @@ -875,3 +875,10 @@ ARM bool ItemManager::HasPotion(u32 index) const { return false; } } + +ARM bool ItemManager::HasAllPotions() const { + for (s32 i = 0; i < MAX_POTIONS; ++i) { + if (!this->HasPotion(i)) return false; + } + return true; +} From 102fc098fa59af662c5b21bac49157cfaa23a0dc Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 18:24:27 +0200 Subject: [PATCH 61/76] Decomp `ItemManager::HasPurplePotion` --- asm/ov00/Item/ItemManager.s | 16 ---------------- src/00_Core/Item/ItemManager.cpp | 7 +++++++ 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index 7135f5cb..74b706e5 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -2,22 +2,6 @@ .include "ov00/Item/ItemManager.inc" .text - .global _ZNK11ItemManager15HasPurplePotionEv - arm_func_start _ZNK11ItemManager15HasPurplePotionEv -_ZNK11ItemManager15HasPurplePotionEv: ; 0x020ae5d0 - mov r2, #0 -_020ae5d4: - add r1, r0, r2 - ldrb r1, [r1, #0xbc] - cmp r1, #2 - moveq r0, #1 - bxeq lr - add r2, r2, #1 - cmp r2, #2 - blt _020ae5d4 - mov r0, #0 - bx lr - arm_func_end _ZNK11ItemManager15HasPurplePotionEv .global _ZN11ItemManager21LoadDungeonItemModelsEv thumb_func_start _ZN11ItemManager21LoadDungeonItemModelsEv diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index ea9d1f34..03cc2f19 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -882,3 +882,10 @@ ARM bool ItemManager::HasAllPotions() const { } return true; } + +ARM bool ItemManager::HasPurplePotion() const { + for (s32 i = 0; i < MAX_POTIONS; ++i) { + if (mPotions[i] == Potion_Purple) return true; + } + return false; +} From b046f33b3c30da618b494ac5be61a4e7ffc6e956 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 18:38:48 +0200 Subject: [PATCH 62/76] Decomp `ItemManager::LoadDungeonItemModels` --- asm/ov00/Item/ItemManager.s | 45 ----------------------------- include/DTCM/UnkStruct_027e0f78.hpp | 15 ++++++++++ include/Item/ItemManager.hpp | 1 + src/00_Core/Item/ItemManager.cpp | 25 ++++++++++++++++ 4 files changed, 41 insertions(+), 45 deletions(-) create mode 100644 include/DTCM/UnkStruct_027e0f78.hpp diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index 74b706e5..cfbe2a4c 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,51 +3,6 @@ .text - .global _ZN11ItemManager21LoadDungeonItemModelsEv - thumb_func_start _ZN11ItemManager21LoadDungeonItemModelsEv -_ZN11ItemManager21LoadDungeonItemModelsEv: ; 0x020ae5fc - push {r3, r4, r5, r6, r7, lr} - ldr r7, _020ae644 ; =data_027e0f78 - add r5, r0, #0 - mov r4, #0 -_020ae604: - mov r0, #1 - lsl r0, r0, #8 - ldr r0, [r5, r0] - cmp r0, #0 - beq _020ae638 - cmp r4, #2 - beq _020ae61a - cmp r4, #3 - beq _020ae61a - cmp r4, #4 - bne _020ae622 -_020ae61a: - ldr r2, [r7] - ldrh r1, [r2, #0x1e] - ldrh r6, [r2, #0x1c] - b _020ae628 -_020ae622: - ldr r2, [r7] - ldrh r1, [r2, #0x1a] - ldrh r6, [r2, #0x18] -_020ae628: - blx func_020196bc - mov r0, #1 - lsl r0, r0, #8 - ldr r0, [r5, r0] - add r1, r6, #0 - blx func_020196fc -_020ae638: - add r4, r4, #1 - add r5, r5, #4 - cmp r4, #5 - blt _020ae604 - pop {r3, r4, r5, r6, r7, pc} - nop - thumb_func_end _ZN11ItemManager21LoadDungeonItemModelsEv -_020ae644: .word data_027e0f78 - .global _ZN11ItemManager18func_ov00_020ae648Ejjj thumb_func_start _ZN11ItemManager18func_ov00_020ae648Ejjj _ZN11ItemManager18func_ov00_020ae648Ejjj: ; 0x020ae648 diff --git a/include/DTCM/UnkStruct_027e0f78.hpp b/include/DTCM/UnkStruct_027e0f78.hpp new file mode 100644 index 00000000..04353f37 --- /dev/null +++ b/include/DTCM/UnkStruct_027e0f78.hpp @@ -0,0 +1,15 @@ +#pragma once + +#include "global.h" +#include "types.h" + +struct UnkStruct_027e0f78 { + /* 00 */ unk8 mUnk_00[0x18]; + /* 18 */ u16 mUnk_18; + /* 1a */ u16 mUnk_1a; + /* 1c */ u16 mUnk_1c; + /* 1e */ u16 mUnk_1e; + /* 20 */ +}; + +extern UnkStruct_027e0f78 *data_027e0f78; diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 666ae6de..46c2d70b 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -9,6 +9,7 @@ extern "C" { #include "lib/math.h" #include "Actor/ActorNavi.hpp" +#include "DTCM/UnkStruct_027e0f78.hpp" #include "Save/AdventureFlags.hpp" #include "Item/Item.hpp" #include "Map/MapManager.hpp" diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 03cc2f19..b77717eb 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -889,3 +889,28 @@ ARM bool ItemManager::HasPurplePotion() const { } return false; } + +extern "C" void func_020196bc(ItemModel *param1, unk32 param2); +extern "C" void func_020196fc(ItemModel *param1, unk32 param2); +THUMB void ItemManager::LoadDungeonItemModels() { + for (s32 i = 0; i < DungeonItemModelId_COUNT; ++i) { + if (mDungeonItemModels[i] == NULL) continue; + + u16 unk1, unk2; + switch (i) { + case DungeonItemModelId_RoundCrystal: + case DungeonItemModelId_SquareCrystal: + case DungeonItemModelId_TriangleCrystal: { + unk1 = data_027e0f78->mUnk_1e; + unk2 = data_027e0f78->mUnk_1c; + } break; + + default: { + unk1 = data_027e0f78->mUnk_1a; + unk2 = data_027e0f78->mUnk_18; + } break; + } + func_020196bc(mDungeonItemModels[i], unk1); + func_020196fc(mDungeonItemModels[i], unk2); + } +} From 5fed1c8b0998680d7addd97282a8033c346e5613 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 19:10:44 +0200 Subject: [PATCH 63/76] Decomp `ItemManager::PlayItemFanfareSfx` --- asm/ov00/Item/ItemManager.inc | 2 +- asm/ov00/Item/ItemManager.s | 103 ------------------------------- asm/ov00/ov00_020c3e54.s | 8 +-- asm/ov05.inc | 2 +- asm/ov05.s | 2 +- asm/ov12.inc | 2 +- asm/ov12.s | 4 +- asm/ov14/ov14_0213b778.inc | 2 +- asm/ov14/ov14_0213b778.s | 2 +- asm/ov15.inc | 4 +- asm/ov15.s | 16 ++--- asm/ov23.inc | 2 +- asm/ov23.s | 4 +- asm/ov26.inc | 2 +- asm/ov26.s | 2 +- asm/ov38.inc | 2 +- asm/ov38.s | 2 +- asm/ov39.inc | 2 +- asm/ov39.s | 2 +- include/Item/Item.hpp | 2 +- include/Item/ItemManager.hpp | 5 +- include/Sound/Sfx.hpp | 15 +++++ src/00_Core/Item/ItemManager.cpp | 53 +++++++++++++++- 23 files changed, 102 insertions(+), 138 deletions(-) create mode 100644 include/Sound/Sfx.hpp diff --git a/asm/ov00/Item/ItemManager.inc b/asm/ov00/Item/ItemManager.inc index 1adb8661..9f1713db 100644 --- a/asm/ov00/Item/ItemManager.inc +++ b/asm/ov00/Item/ItemManager.inc @@ -4,5 +4,5 @@ .extern data_ov00_020eec68 .extern func_020196bc .extern func_020196fc -.extern func_ov00_020d73bc +.extern PlaySoundEffect .extern gItemManager diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index cfbe2a4c..281b8dab 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,109 +3,6 @@ .text - .global _ZN11ItemManager18func_ov00_020ae648Ejjj - thumb_func_start _ZN11ItemManager18func_ov00_020ae648Ejjj -_ZN11ItemManager18func_ov00_020ae648Ejjj: ; 0x020ae648 - push {r3, lr} - ldr r1, _020ae6e8 ; =gItemManager - ldr r2, [r1] - mov r1, #0x53 - lsl r1, r1, #2 - ldrb r3, [r2, r1] - cmp r3, #1 - bne _020ae65e - mov r0, #0 - strb r0, [r2, r1] - pop {r3, pc} -_020ae65e: - cmp r0, #0x2d - bgt _020ae692 - bge _020ae6b4 - cmp r0, #0x18 - bgt _020ae684 - bge _020ae6bc - cmp r0, #2 - bgt _020ae67e - cmp r0, #0 - blt _020ae6cc - beq _020ae6c4 - cmp r0, #1 - beq _020ae6bc - cmp r0, #2 - beq _020ae6bc - b _020ae6cc -_020ae67e: - cmp r0, #0xa - beq _020ae6c8 - b _020ae6cc -_020ae684: - cmp r0, #0x19 - bgt _020ae68c - beq _020ae6bc - b _020ae6cc -_020ae68c: - cmp r0, #0x1b - beq _020ae6b8 - b _020ae6cc -_020ae692: - cmp r0, #0x3e - bgt _020ae6a6 - bge _020ae6c4 - cmp r0, #0x2e - bgt _020ae6a0 - beq _020ae6b4 - b _020ae6cc -_020ae6a0: - cmp r0, #0x2f - beq _020ae6b4 - b _020ae6cc -_020ae6a6: - cmp r0, #0x81 - bgt _020ae6ae - beq _020ae6c0 - b _020ae6cc -_020ae6ae: - cmp r0, #0x82 - beq _020ae6c0 - b _020ae6cc -_020ae6b4: - mov r1, #0x2e - b _020ae6ce -_020ae6b8: - mov r1, #0x2a - b _020ae6ce -_020ae6bc: - mov r1, #0x29 - b _020ae6ce -_020ae6c0: - mov r1, #0x2b - b _020ae6ce -_020ae6c4: - mov r1, #0x2c - b _020ae6ce -_020ae6c8: - mov r1, #0x2d - b _020ae6ce -_020ae6cc: - mov r1, #0x28 -_020ae6ce: - mov r0, #0x47 - lsl r0, r0, #2 - ldr r3, [r2, r0] - cmp r3, #0 - beq _020ae6de - add r1, r3, #0 - mov r3, #0 - str r3, [r2, r0] -_020ae6de: - ldr r0, _020ae6ec ; =data_ov00_020eec68 - blx func_ov00_020d73bc - pop {r3, pc} - nop - thumb_func_end _ZN11ItemManager18func_ov00_020ae648Ejjj -_020ae6e8: .word gItemManager -_020ae6ec: .word data_ov00_020eec68 - .global _ZNK11ItemManager18IsTreasureSalvagedEjj thumb_func_start _ZNK11ItemManager18IsTreasureSalvagedEjj _ZNK11ItemManager18IsTreasureSalvagedEjj: ; 0x020ae6f0 diff --git a/asm/ov00/ov00_020c3e54.s b/asm/ov00/ov00_020c3e54.s index c4c39b8b..7236a01d 100644 --- a/asm/ov00/ov00_020c3e54.s +++ b/asm/ov00/ov00_020c3e54.s @@ -24429,9 +24429,9 @@ _020d73b0: ldmia sp!, {r4, pc} arm_func_end func_ov00_020d7394 - .global func_ov00_020d73bc - arm_func_start func_ov00_020d73bc -func_ov00_020d73bc: ; 0x020d73bc + .global PlaySoundEffect + arm_func_start PlaySoundEffect +PlaySoundEffect: ; 0x020d73bc stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 @@ -24445,7 +24445,7 @@ func_ov00_020d73bc: ; 0x020d73bc str ip, [sp] bl func_ov00_020d6d30 ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov00_020d73bc + arm_func_end PlaySoundEffect .global func_ov00_020d73f0 arm_func_start func_ov00_020d73f0 diff --git a/asm/ov05.inc b/asm/ov05.inc index c7c925c8..843a02d2 100644 --- a/asm/ov05.inc +++ b/asm/ov05.inc @@ -26,7 +26,7 @@ .extern _ZN10PlayerBase18func_ov00_020a7c00Ei .extern _ZN11ItemManager12GetItemModelEj .extern _ZN11ItemManager15LoadFanfareItemEi -.extern _ZN11ItemManager18func_ov00_020ae648Ejjj +.extern _ZN11ItemManager18PlayItemFanfareSfxEi .extern _ZN11ItemManager8GiveItemEi .extern _ZN12ActorManager11DeleteActorEjb .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList diff --git a/asm/ov05.s b/asm/ov05.s index a14b206c..cd59e77b 100644 --- a/asm/ov05.s +++ b/asm/ov05.s @@ -10245,7 +10245,7 @@ _02109354: cmp r0, #0 beq _02109380 ldr r0, [r5, #0x74] - blx _ZN11ItemManager18func_ov00_020ae648Ejjj + blx _ZN11ItemManager18PlayItemFanfareSfxEi _02109380: mov r0, r5 bl _ZN13LinkStateBase18func_ov00_020a8d50Ev diff --git a/asm/ov12.inc b/asm/ov12.inc index deae5042..dc1fa955 100644 --- a/asm/ov12.inc +++ b/asm/ov12.inc @@ -632,7 +632,7 @@ .extern func_ov00_020d70a4 .extern func_ov00_020d716c .extern func_ov00_020d7180 -.extern func_ov00_020d73bc +.extern PlaySoundEffect .extern func_ov00_020d7404 .extern func_ov00_020d77e4 .extern func_ov00_020d7a84 diff --git a/asm/ov12.s b/asm/ov12.s index ab0603fa..70704064 100644 --- a/asm/ov12.s +++ b/asm/ov12.s @@ -20651,7 +20651,7 @@ _021239cc: bl func_ov12_02124dfc mov r1, r0 ldr r0, _02123a20 ; =data_ov00_020eec68 - bl func_ov00_020d73bc + bl PlaySoundEffect b _02123a04 _021239ec: ldrb r0, [r6, #0x370] @@ -20659,7 +20659,7 @@ _021239ec: beq _02123a04 ldr r0, _02123a20 ; =data_ov00_020eec68 mov r1, #0x2b - bl func_ov00_020d73bc + bl PlaySoundEffect _02123a04: mov r0, #7 str r0, [r6, #0xc] diff --git a/asm/ov14/ov14_0213b778.inc b/asm/ov14/ov14_0213b778.inc index eca286d9..7cbae315 100644 --- a/asm/ov14/ov14_0213b778.inc +++ b/asm/ov14/ov14_0213b778.inc @@ -11,7 +11,7 @@ .extern _ZN11ItemManager15SetEquippedItemEi .extern _ZN11ItemManager17EquipPreviousItemEv .extern _ZN11ItemManager18EquipItem_vfunc_38Ei -.extern _ZN11ItemManager18func_ov00_020ae648Ejjj +.extern _ZN11ItemManager18PlayItemFanfareSfxEi .extern _ZN11ItemManager8GiveItemEi .extern _ZN11ItemManager9SetPotionEjh .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList diff --git a/asm/ov14/ov14_0213b778.s b/asm/ov14/ov14_0213b778.s index 7e597829..6466c829 100644 --- a/asm/ov14/ov14_0213b778.s +++ b/asm/ov14/ov14_0213b778.s @@ -27197,7 +27197,7 @@ _021508ce: ldr r0, [r4, #8] blx func_ov03_020fc10c ldr r0, [r4, #8] - bl _ZN11ItemManager18func_ov00_020ae648Ejjj + bl _ZN11ItemManager18PlayItemFanfareSfxEi pop {r4, pc} .align 2, 0 thumb_func_end func_ov14_021508b8 diff --git a/asm/ov15.inc b/asm/ov15.inc index 095396d5..80e6e728 100644 --- a/asm/ov15.inc +++ b/asm/ov15.inc @@ -14,7 +14,7 @@ .extern _ZN11ItemManager10SetUnk_09eEjt .extern _ZN11ItemManager15LoadFanfareItemEi .extern _ZN11ItemManager18func_ov00_020ad528Ev -.extern _ZN11ItemManager18func_ov00_020ae648Ejjj +.extern _ZN11ItemManager18PlayItemFanfareSfxEi .extern _ZN11ItemManager19SetTreasureSalvagedEj .extern _ZN11ItemManager8GiveItemEi .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList @@ -723,7 +723,7 @@ .extern func_ov00_020d70a4 .extern func_ov00_020d716c .extern func_ov00_020d71a0 -.extern func_ov00_020d73bc +.extern PlaySoundEffect .extern func_ov00_020d7424 .extern func_ov00_020d74bc .extern func_ov00_020d77e4 diff --git a/asm/ov15.s b/asm/ov15.s index 671a1e83..305cfb66 100644 --- a/asm/ov15.s +++ b/asm/ov15.s @@ -42710,7 +42710,7 @@ _0214389c: ldr r0, _02143a38 ; =data_ov00_020eec68 mov r1, #0xda str r2, [r7, #0x378] - bl func_ov00_020d73bc + bl PlaySoundEffect _021438f4: ldr r0, [r7, #0x20] bl func_ov15_02149acc @@ -43237,7 +43237,7 @@ _02144020: bl func_ov00_020d716c ldr r0, _0214415c ; =data_ov00_020eec68 mov r1, #0xdb - bl func_ov00_020d73bc + bl PlaySoundEffect add r0, sp, #0 bl func_ov00_0209a4f4 mov r2, #0 @@ -43346,7 +43346,7 @@ _021441a8: bl func_ov00_020d716c ldr r0, _021442d8 ; =data_ov00_020eec68 mov r1, #0xdb - bl func_ov00_020d73bc + bl PlaySoundEffect add r0, sp, #0 bl func_ov00_0209a4f4 mov r2, #0 @@ -44561,7 +44561,7 @@ _02145370: mov r4, r0 bl func_ov03_020fc10c mov r0, r4 - blx _ZN11ItemManager18func_ov00_020ae648Ejjj + blx _ZN11ItemManager18PlayItemFanfareSfxEi mov r0, #0x10 strb r0, [r9, #0x34d] b _02145420 @@ -61729,7 +61729,7 @@ _02153b28: bl func_ov15_02153938 ldr r0, [r4, #0x41c] add r0, r0, #0x46 - blx _ZN11ItemManager18func_ov00_020ae648Ejjj + blx _ZN11ItemManager18PlayItemFanfareSfxEi mov r0, #5 strb r0, [r5, #0x436] b _02153d74 @@ -62211,7 +62211,7 @@ _02154254: bl func_ov15_02153938 ldr r0, [r5, #0x41c] add r0, r0, #0x46 - blx _ZN11ItemManager18func_ov00_020ae648Ejjj + blx _ZN11ItemManager18PlayItemFanfareSfxEi mov r0, #5 strb r0, [r4, #0x436] b _02154304 @@ -62311,7 +62311,7 @@ _02154374: bl func_ov00_020d716c ldr r0, _02154620 ; =data_ov00_020eec68 mov r1, #0xde - bl func_ov00_020d73bc + bl PlaySoundEffect mov r0, #1 strb r0, [r5, #0x436] mov r0, #0 @@ -88292,7 +88292,7 @@ _0216a994: bl func_ov03_020fc10c ldr r0, _0216aa24 ; =data_ov00_020eec68 mov r1, #0x28 - bl func_ov00_020d73bc + bl PlaySoundEffect mov r1, #0 sub r0, r1, #0x1000 str r0, [sp, #0x18] diff --git a/asm/ov23.inc b/asm/ov23.inc index 114655f7..694a2f3f 100644 --- a/asm/ov23.inc +++ b/asm/ov23.inc @@ -457,7 +457,7 @@ .extern func_ov00_020d1980 .extern func_ov00_020d70a4 .extern func_ov00_020d716c -.extern func_ov00_020d73bc +.extern PlaySoundEffect .extern func_ov00_020d77e4 .extern func_ov00_020d7a84 .extern func_ov00_020d7b20 diff --git a/asm/ov23.s b/asm/ov23.s index 1d821bf2..4e6986ee 100644 --- a/asm/ov23.s +++ b/asm/ov23.s @@ -1892,14 +1892,14 @@ _0216ee88: _0216eea4: ldr r0, _0216eeec ; =data_ov00_020eec68 mov r1, #0xc2 - bl func_ov00_020d73bc + bl PlaySoundEffect add sp, sp, #8 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0216eebc: ldr r0, _0216eeec ; =data_ov00_020eec68 mov r1, #0xc4 - bl func_ov00_020d73bc + bl PlaySoundEffect add sp, sp, #8 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} diff --git a/asm/ov26.inc b/asm/ov26.inc index 650cf411..d963359b 100644 --- a/asm/ov26.inc +++ b/asm/ov26.inc @@ -406,7 +406,7 @@ .extern func_ov00_020d70a4 .extern func_ov00_020d716c .extern func_ov00_020d7180 -.extern func_ov00_020d73bc +.extern PlaySoundEffect .extern func_ov00_020d73f0 .extern func_ov00_020d77e4 .extern func_ov00_020d7c8c diff --git a/asm/ov26.s b/asm/ov26.s index f57e934c..49805e0d 100644 --- a/asm/ov26.s +++ b/asm/ov26.s @@ -8276,7 +8276,7 @@ _02173dac: str r0, [r4, #0x78] ldr r0, _02173de8 ; =data_ov00_020eec68 mov r1, #0x4c - blx func_ov00_020d73bc + blx PlaySoundEffect pop {r3, r4, r5, pc} nop thumb_func_end func_ov26_02173cec diff --git a/asm/ov38.inc b/asm/ov38.inc index 8ef6b033..916faf43 100644 --- a/asm/ov38.inc +++ b/asm/ov38.inc @@ -217,7 +217,7 @@ .extern func_ov00_020d5f98 .extern func_ov00_020d70a4 .extern func_ov00_020d716c -.extern func_ov00_020d73bc +.extern PlaySoundEffect .extern func_ov00_020d73f0 .extern func_ov00_020d7c8c .extern func_ov00_020d7d18 diff --git a/asm/ov38.s b/asm/ov38.s index 3c3f2290..966dfbbc 100644 --- a/asm/ov38.s +++ b/asm/ov38.s @@ -208,7 +208,7 @@ func_ov38_0217bf48: ; 0x0217bf48 bl func_ov00_020d8388 ldr r0, _0217c048 ; =data_ov00_020eec68 mov r1, #0xcf - bl func_ov00_020d73bc + bl PlaySoundEffect ldr r0, _0217c04c ; =data_ov38_021891e0 ldr r0, [r0, #0x58] bl func_ov38_02184a18 diff --git a/asm/ov39.inc b/asm/ov39.inc index 67243319..88466feb 100644 --- a/asm/ov39.inc +++ b/asm/ov39.inc @@ -230,7 +230,7 @@ .extern func_ov00_020d18f4 .extern func_ov00_020d1980 .extern func_ov00_020d716c -.extern func_ov00_020d73bc +.extern PlaySoundEffect .extern func_ov00_020d73f0 .extern func_ov00_020d77e4 .extern func_ov00_020d7ad4 diff --git a/asm/ov39.s b/asm/ov39.s index f76adc68..362cbf5b 100644 --- a/asm/ov39.s +++ b/asm/ov39.s @@ -112,7 +112,7 @@ _0217bed4: bl func_ov00_0207c5d4 ldr r0, _0217bf2c ; =data_ov00_020eec68 mov r1, #0xd2 - bl func_ov00_020d73bc + bl PlaySoundEffect ldr r1, [r4, #8] ldr r0, [r1, #0x158] bic r0, r0, #0x4000000 diff --git a/include/Item/Item.hpp b/include/Item/Item.hpp index 7a6a0416..9535d9d2 100644 --- a/include/Item/Item.hpp +++ b/include/Item/Item.hpp @@ -89,7 +89,7 @@ enum ItemFlag_ { typedef s32 ItemId; enum ItemId_ { - /* 0x00 */ ItemId_Unk_0 = 0, + /* 0x00 */ ItemId_None = 0, /* 0x01 */ ItemId_SmallKey = 1, /* 0x02 */ ItemId_GreenRupee = 2, /* 0x03 */ ItemId_OshusSword = 3, diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 46c2d70b..1edd9a48 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -15,6 +15,7 @@ extern "C" { #include "Map/MapManager.hpp" #include "Player/EquipItem.hpp" #include "Player/HealthManager.hpp" +#include "Sound/Sfx.hpp" #include "System/SysNew.hpp" #include "System/OverlayManager.hpp" #include "Render/ModelRender.hpp" @@ -222,7 +223,7 @@ private: /* 138 */ u32 mSalvagedTreasureFlags; /* 13c */ ShipPartPricesShown mShipPartPricesShown; /* 148 */ u32 mTreasurePriceShownFlags[CEIL_DIV(Treasure_COUNT, 32)]; - /* 14c */ unk8 mUnk_14c; + /* 14c */ bool mUnk_14c; /* 14d */ u8 mUnk_14d; /* 14e */ unk8 mUnk_14e[0x2]; /* 150 */ @@ -278,6 +279,7 @@ public: void LoadFanfareItem(ItemId id); bool GetFanfareItemScale(Vec3p *pScale) const; void LoadDungeonItemModels(); + static void PlayItemFanfareSfx(ItemId item); // Ship ShipType GetEquippedShipPart(ShipPart part) const; @@ -327,7 +329,6 @@ public: // Unknown void func_ov00_020ae4dc(s32 param1); - void func_ov00_020ae648(unk32 param1, unk32 param2, unk32 param3); }; extern ItemManager *gItemManager; diff --git a/include/Sound/Sfx.hpp b/include/Sound/Sfx.hpp new file mode 100644 index 00000000..b87eb8c6 --- /dev/null +++ b/include/Sound/Sfx.hpp @@ -0,0 +1,15 @@ +#pragma once + +#include "global.h" +#include "types.h" + +typedef u32 SfxId; +enum SfxId_ { + SfxId_FanfareDefault = 0x28, + SfxId_FanfareRupee = 0x29, + SfxId_FanfareGoldRupee = 0x2a, + SfxId_FanfareRupoor = 0x2b, + SfxId_FanfareNothing = 0x2c, + SfxId_FanfareHeartContainer = 0x2d, + SfxId_FanfareGem = 0x2e, +}; diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index b77717eb..f46fa040 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -716,7 +716,7 @@ THUMB void ItemManager::GiveItem(ItemId id) { this->GiveRupees(-50, true); } break; - case ItemId_Unk_0: break; + case ItemId_None: break; case ItemId_Unk_5: break; case ItemId_Unk_16: break; case ItemId_Unk_131: break; @@ -914,3 +914,54 @@ THUMB void ItemManager::LoadDungeonItemModels() { func_020196fc(mDungeonItemModels[i], unk2); } } + +extern unk32 data_ov00_020eec68; +extern "C" void PlaySoundEffect(void *param1, SfxId sfx); +THUMB void ItemManager::PlayItemFanfareSfx(ItemId item) { + if (gItemManager->mUnk_14c == true) { + gItemManager->mUnk_14c = false; + return; + } + SfxId sfx; + switch (item) { + case ItemId_PowerGem: + case ItemId_WisdomGem: + case ItemId_CourageGem: { + sfx = SfxId_FanfareGem; + } break; + + case ItemId_GoldRupee: { + sfx = SfxId_FanfareGoldRupee; + } break; + + case ItemId_SmallKey: + case ItemId_GreenRupee: + case ItemId_BlueRupee: + case ItemId_RedRupee: { + sfx = SfxId_FanfareRupee; + } break; + + case ItemId_Rupoor10: + case ItemId_Rupoor50: { + sfx = SfxId_FanfareRupoor; + } break; + + case ItemId_None: + case ItemId_HerosNewClothes: { + sfx = SfxId_FanfareNothing; + } break; + + case ItemId_HeartContainer: { + sfx = SfxId_FanfareHeartContainer; + } break; + + default: { + sfx = SfxId_FanfareDefault; + } break; + } + if (gItemManager->mUnk_11c != 0) { + sfx = gItemManager->mUnk_11c; + gItemManager->mUnk_11c = 0; + } + PlaySoundEffect(&data_ov00_020eec68, sfx); +} From 64e4cae74837f6e1a035ada889fb06351859fbac Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 19:16:05 +0200 Subject: [PATCH 64/76] Decomp `ItemManager::HasShipPartPriceShown` --- asm/ov00/Item/ItemManager.s | 28 ---------------------------- asm/ov02.inc | 2 +- asm/ov02.s | 2 +- asm/ov45.inc | 2 +- asm/ov45.s | 2 +- src/00_Core/Item/ItemManager.cpp | 4 ++++ 6 files changed, 8 insertions(+), 32 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index 281b8dab..eb5c998e 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,34 +3,6 @@ .text - .global _ZNK11ItemManager18IsTreasureSalvagedEjj - thumb_func_start _ZNK11ItemManager18IsTreasureSalvagedEjj -_ZNK11ItemManager18IsTreasureSalvagedEjj: ; 0x020ae6f0 - push {r3, r4} - lsl r3, r1, #3 - add r1, r1, r3 - add r4, r2, r1 - mov r2, #1 - mov r1, #0x1f - add r3, r4, #0 - and r3, r1 - add r1, r2, #0 - lsl r1, r3 - lsr r3, r4, #5 - lsl r3, r3, #2 - add r3, r0, r3 - mov r0, #0x4f - lsl r0, r0, #2 - ldr r0, [r3, r0] - tst r0, r1 - bne _020ae716 - mov r2, #0 -_020ae716: - add r0, r2, #0 - pop {r3, r4} - bx lr - thumb_func_end _ZNK11ItemManager18IsTreasureSalvagedEjj - .global _ZN11ItemManager19SetTreasureSalvagedEjj thumb_func_start _ZN11ItemManager19SetTreasureSalvagedEjj _ZN11ItemManager19SetTreasureSalvagedEjj: ; 0x020ae71c diff --git a/asm/ov02.inc b/asm/ov02.inc index d4c01ead..c341bb21 100644 --- a/asm/ov02.inc +++ b/asm/ov02.inc @@ -12,7 +12,7 @@ .extern _ZNK11ItemManager13GetFairyLevelEi .extern _ZNK11ItemManager16GetShipPartCountEjj .extern _ZNK11ItemManager18GetUnk_09e_DividedEj -.extern _ZNK11ItemManager18IsTreasureSalvagedEjj +.extern _ZNK11ItemManager21HasShipPartPriceShownEjj .extern _ZNK11ItemManager19GetEquippedShipPartEj .extern _ZNK11ItemManager21HasTreasurePriceShownEj .extern _ZNK11ItemManager7HasItemEi diff --git a/asm/ov02.s b/asm/ov02.s index e379b0b8..ff23da1d 100644 --- a/asm/ov02.s +++ b/asm/ov02.s @@ -2883,7 +2883,7 @@ _020f1424: mov r1, r0 ldr r2, [r5, #0x1c] mov r0, r6 - blx _ZNK11ItemManager18IsTreasureSalvagedEjj + blx _ZNK11ItemManager21HasShipPartPriceShownEjj cmp r0, #0 beq _020f14f4 add ip, sp, #0x28 diff --git a/asm/ov45.inc b/asm/ov45.inc index 26ab850f..7a5b1509 100644 --- a/asm/ov45.inc +++ b/asm/ov45.inc @@ -46,7 +46,7 @@ .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager16GetShipPartCountEjj .extern _ZNK11ItemManager16GetTreasureCountEj -.extern _ZNK11ItemManager18IsTreasureSalvagedEjj +.extern _ZNK11ItemManager21HasShipPartPriceShownEjj .extern _ZNK11ItemManager21HasTreasurePriceShownEj .extern __register_global_object .extern data_020691a0 diff --git a/asm/ov45.s b/asm/ov45.s index 16f4ab76..11d4e3c4 100644 --- a/asm/ov45.s +++ b/asm/ov45.s @@ -6012,7 +6012,7 @@ _0218de84: mov r1, r0 ldr r2, [r5, #0x1c] mov r0, r6 - blx _ZNK11ItemManager18IsTreasureSalvagedEjj + blx _ZNK11ItemManager21HasShipPartPriceShownEjj cmp r0, #0 beq _0218df54 add ip, sp, #0x28 diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index f46fa040..e89587f9 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -965,3 +965,7 @@ THUMB void ItemManager::PlayItemFanfareSfx(ItemId item) { } PlaySoundEffect(&data_ov00_020eec68, sfx); } + +THUMB bool ItemManager::HasShipPartPriceShown(ShipPart part, ShipType type) const { + return GET_FLAG(mShipPartPricesShown.flags, part * ShipType_COUNT + type); +} From 5d7c46a975366a8b871ed77b1f5d677cca03a590 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 19:17:11 +0200 Subject: [PATCH 65/76] Decomp `ItemManager::AddShipPartPriceShown` --- asm/ov00/Item/ItemManager.s | 26 -------------------------- asm/ov45.inc | 2 +- asm/ov45.s | 2 +- src/00_Core/Item/ItemManager.cpp | 4 ++++ 4 files changed, 6 insertions(+), 28 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index eb5c998e..b6552725 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -2,32 +2,6 @@ .include "ov00/Item/ItemManager.inc" .text - - .global _ZN11ItemManager19SetTreasureSalvagedEjj - thumb_func_start _ZN11ItemManager19SetTreasureSalvagedEjj -_ZN11ItemManager19SetTreasureSalvagedEjj: ; 0x020ae71c - push {r4, r5} - lsl r3, r1, #3 - add r1, r1, r3 - add r2, r2, r1 - mov r1, #0x4f - lsl r1, r1, #2 - add r1, r0, r1 - lsr r0, r2, #5 - lsl r0, r0, #2 - mov r3, #0x1f - mov r4, #1 - and r2, r3 - add r3, r4, #0 - ldr r5, [r1, r0] - lsl r3, r2 - add r2, r5, #0 - orr r2, r3 - str r2, [r1, r0] - pop {r4, r5} - bx lr - thumb_func_end _ZN11ItemManager19SetTreasureSalvagedEjj - .global _ZNK11ItemManager21HasTreasurePriceShownEj thumb_func_start _ZNK11ItemManager21HasTreasurePriceShownEj _ZNK11ItemManager21HasTreasurePriceShownEj: ; 0x020ae744 diff --git a/asm/ov45.inc b/asm/ov45.inc index 7a5b1509..c49e3b9e 100644 --- a/asm/ov45.inc +++ b/asm/ov45.inc @@ -1,7 +1,7 @@ #pragma once .extern _ZN11ItemManager16SetShipPartCountEjjc .extern _ZN11ItemManager16SetTreasureCountEjc -.extern _ZN11ItemManager19SetTreasureSalvagedEjj +.extern _ZN11ItemManager21AddShipPartPriceShownEjj .extern _ZN11ItemManager21AddTreasurePriceShownEj .extern _ZN14AdventureFlags3GetEj .extern _ZN5Actor10SetUnk_11bEv diff --git a/asm/ov45.s b/asm/ov45.s index 11d4e3c4..a1c29d5c 100644 --- a/asm/ov45.s +++ b/asm/ov45.s @@ -5128,7 +5128,7 @@ func_ov45_0218d4d4: ; 0x0218d4d4 mov r1, r0 ldr r2, [r5, #0x1c] mov r0, r4 - blx _ZN11ItemManager19SetTreasureSalvagedEjj + blx _ZN11ItemManager21AddShipPartPriceShownEjj ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov45_0218d4d4 diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index e89587f9..c0350104 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -969,3 +969,7 @@ THUMB void ItemManager::PlayItemFanfareSfx(ItemId item) { THUMB bool ItemManager::HasShipPartPriceShown(ShipPart part, ShipType type) const { return GET_FLAG(mShipPartPricesShown.flags, part * ShipType_COUNT + type); } + +THUMB void ItemManager::AddShipPartPriceShown(ShipPart part, ShipType type) { + SET_FLAG(mShipPartPricesShown.flags, part * ShipType_COUNT + type); +} From 75f492f8c645385f27da12cc7f06708a8031f4d1 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 19:18:07 +0200 Subject: [PATCH 66/76] Decomp `ItemManager::HasTreasurePriceShown` --- asm/ov00/Item/ItemManager.s | 25 ------------------------- src/00_Core/Item/ItemManager.cpp | 4 ++++ 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index b6552725..044bbf47 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -2,31 +2,6 @@ .include "ov00/Item/ItemManager.inc" .text - .global _ZNK11ItemManager21HasTreasurePriceShownEj - thumb_func_start _ZNK11ItemManager21HasTreasurePriceShownEj -_ZNK11ItemManager21HasTreasurePriceShownEj: ; 0x020ae744 - push {r3, r4} - add r4, r1, #0 - lsr r1, r1, #5 - lsl r1, r1, #2 - mov r2, #0x1f - add r1, r0, r1 - mov r0, #0x52 - lsl r0, r0, #2 - mov r3, #1 - and r4, r2 - add r2, r3, #0 - lsl r2, r4 - ldr r0, [r1, r0] - tst r0, r2 - bne _020ae764 - mov r3, #0 -_020ae764: - add r0, r3, #0 - pop {r3, r4} - bx lr - .align 2, 0 - thumb_func_end _ZNK11ItemManager21HasTreasurePriceShownEj .global _ZN11ItemManager21AddTreasurePriceShownEj thumb_func_start _ZN11ItemManager21AddTreasurePriceShownEj diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index c0350104..23c5b080 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -973,3 +973,7 @@ THUMB bool ItemManager::HasShipPartPriceShown(ShipPart part, ShipType type) cons THUMB void ItemManager::AddShipPartPriceShown(ShipPart part, ShipType type) { SET_FLAG(mShipPartPricesShown.flags, part * ShipType_COUNT + type); } + +THUMB bool ItemManager::HasTreasurePriceShown(Treasure treasure) const { + return GET_FLAG(mTreasurePriceShownFlags, treasure); +} From 5819677622c005367e23e8e456b27d584fd916db Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 19:19:04 +0200 Subject: [PATCH 67/76] Decomp `ItemManager::AddTreasurePriceShown` --- asm/ov00/Item/ItemManager.s | 25 ------------------------- src/00_Core/Item/ItemManager.cpp | 4 ++++ 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index 044bbf47..a89633d1 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -1,31 +1,6 @@ .include "macros/function.inc" .include "ov00/Item/ItemManager.inc" - .text - - .global _ZN11ItemManager21AddTreasurePriceShownEj - thumb_func_start _ZN11ItemManager21AddTreasurePriceShownEj -_ZN11ItemManager21AddTreasurePriceShownEj: ; 0x020ae76c - push {r4, r5} - mov r2, #0x52 - lsl r2, r2, #2 - add r2, r0, r2 - lsr r0, r1, #5 - lsl r0, r0, #2 - mov r3, #0x1f - mov r4, #1 - and r1, r3 - add r3, r4, #0 - ldr r5, [r2, r0] - lsl r3, r1 - add r1, r5, #0 - orr r1, r3 - str r1, [r2, r0] - pop {r4, r5} - bx lr - .align 2, 0 - thumb_func_end _ZN11ItemManager21AddTreasurePriceShownEj - .rodata .data diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 23c5b080..418555ac 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -977,3 +977,7 @@ THUMB void ItemManager::AddShipPartPriceShown(ShipPart part, ShipType type) { THUMB bool ItemManager::HasTreasurePriceShown(Treasure treasure) const { return GET_FLAG(mTreasurePriceShownFlags, treasure); } + +THUMB void ItemManager::AddTreasurePriceShown(Treasure treasure) { + SET_FLAG(mTreasurePriceShownFlags, treasure); +} From 2a833b5923665d740e5bc1b5b541a1e71e5c4341 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 19:19:15 +0200 Subject: [PATCH 68/76] `make gen_externs` --- asm/ov00/Item/ItemManager.inc | 7 -- asm/ov02.inc | 4 +- asm/ov05.inc | 8 +-- asm/ov12.inc | 2 +- asm/ov14/ov14_0213b778.inc | 78 ++++++++++----------- asm/ov15.inc | 126 +++++++++++++++++----------------- asm/ov26.inc | 42 ++++++------ asm/ov38.inc | 2 +- 8 files changed, 131 insertions(+), 138 deletions(-) diff --git a/asm/ov00/Item/ItemManager.inc b/asm/ov00/Item/ItemManager.inc index 9f1713db..6f70f09b 100644 --- a/asm/ov00/Item/ItemManager.inc +++ b/asm/ov00/Item/ItemManager.inc @@ -1,8 +1 @@ #pragma once -.extern _ZNK11ItemManager9HasPotionEj -.extern data_027e0f78 -.extern data_ov00_020eec68 -.extern func_020196bc -.extern func_020196fc -.extern PlaySoundEffect -.extern gItemManager diff --git a/asm/ov02.inc b/asm/ov02.inc index c341bb21..afd888d4 100644 --- a/asm/ov02.inc +++ b/asm/ov02.inc @@ -12,8 +12,8 @@ .extern _ZNK11ItemManager13GetFairyLevelEi .extern _ZNK11ItemManager16GetShipPartCountEjj .extern _ZNK11ItemManager18GetUnk_09e_DividedEj -.extern _ZNK11ItemManager21HasShipPartPriceShownEjj .extern _ZNK11ItemManager19GetEquippedShipPartEj +.extern _ZNK11ItemManager21HasShipPartPriceShownEjj .extern _ZNK11ItemManager21HasTreasurePriceShownEj .extern _ZNK11ItemManager7HasItemEi .extern __register_global_object @@ -34,7 +34,6 @@ .extern data_027e0d78 .extern data_027e0f88 .extern data_027e0f8c -.extern gHealthManager .extern data_027e1044 .extern data_027e1050 .extern data_027e1058 @@ -258,5 +257,6 @@ .extern func_ov45_0218a284 .extern func_ov45_0218db94 .extern gAdventureFlags +.extern gHealthManager .extern gItemManager .extern gMapManager diff --git a/asm/ov05.inc b/asm/ov05.inc index 843a02d2..901ca129 100644 --- a/asm/ov05.inc +++ b/asm/ov05.inc @@ -1,5 +1,6 @@ #pragma once .extern Divide +.extern GiveShipPart .extern _ZN10MapManager16MapData_vfunc_68Ev .extern _ZN10MapManager16MapData_vfunc_78Ev .extern _ZN10MapManager16MapData_vfunc_84Ev @@ -148,6 +149,8 @@ .extern _ZN17LinkStateInteract24SetNormalizedThrowOffsetEP5Vec3p .extern _ZN4Item18func_ov00_020ad020Ei .extern _ZN5Actor9GetHitboxEP8Cylinder +.extern _ZN7MapBase18func_ov00_0207dea0Eb +.extern _ZN7MapBase18func_ov00_02080de8Ei .extern _ZN9SysObjectdlEPv .extern _ZNK11ItemManager13HasAllPotionsEv .extern _ZNK11ItemManager15HasPurplePotionEv @@ -201,7 +204,6 @@ .extern data_027e0fac .extern data_027e0fb0 .extern data_027e0fb8 -.extern gHealthManager .extern data_027e0fc0 .extern data_027e0fc8 .extern data_027e0fcc @@ -360,8 +362,6 @@ .extern func_ov00_0207c1f8 .extern func_ov00_0207c358 .extern func_ov00_0207c444 -.extern _ZN7MapBase18func_ov00_0207dea0Eb -.extern _ZN7MapBase18func_ov00_02080de8Ei .extern func_ov00_02081f4c .extern func_ov00_0208726c .extern func_ov00_020872e8 @@ -509,7 +509,6 @@ .extern func_ov09_02118cd4 .extern func_ov09_0211c724 .extern func_ov09_0211c808 -.extern GiveShipPart .extern func_ov09_0211cac0 .extern func_ov12_02134208 .extern func_ov14_02127df4 @@ -575,6 +574,7 @@ .extern func_ov59_0219907c .extern func_ov59_021990a4 .extern gAdventureFlags +.extern gHealthManager .extern gItemManager .extern gMapManager .extern gOverlayManager diff --git a/asm/ov12.inc b/asm/ov12.inc index dc1fa955..0303dc97 100644 --- a/asm/ov12.inc +++ b/asm/ov12.inc @@ -1,6 +1,7 @@ #pragma once .extern Approach_thunk .extern Divide +.extern PlaySoundEffect .extern _ZN10MapManager16MapData_vfunc_68Ev .extern _ZN10MapManager17GetMapData_Unk_48Ev .extern _ZN10MapManager17Get_MapData_Unk28Ev @@ -632,7 +633,6 @@ .extern func_ov00_020d70a4 .extern func_ov00_020d716c .extern func_ov00_020d7180 -.extern PlaySoundEffect .extern func_ov00_020d7404 .extern func_ov00_020d77e4 .extern func_ov00_020d7a84 diff --git a/asm/ov14/ov14_0213b778.inc b/asm/ov14/ov14_0213b778.inc index 7cbae315..eaf3fe77 100644 --- a/asm/ov14/ov14_0213b778.inc +++ b/asm/ov14/ov14_0213b778.inc @@ -1,6 +1,42 @@ #pragma once .extern Approach_thunk .extern Divide +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_78Ev +.extern _ZN10MapManager16MapData_vfunc_b4Ev +.extern _ZN10MapManager17GetMapData_Unk_06Ev +.extern _ZN10MapManager17GetMapData_Unk_07Ev +.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p +.extern _ZN10MapManager17Get_MapData_Unk28Ev +.extern _ZN10MapManager17Get_MapData_Unk2aEv +.extern _ZN10MapManager18func_ov00_020823c4EPii +.extern _ZN10MapManager18func_ov00_020823d4Ei +.extern _ZN10MapManager18func_ov00_020823e4Ei +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_02083790Ei +.extern _ZN10MapManager18func_ov00_02083840Ei +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_020839b4Ei +.extern _ZN10MapManager18func_ov00_020839c4Ei +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager18func_ov00_020840dcEv +.extern _ZN10MapManager18func_ov00_020843ecEPi +.extern _ZN10MapManager18func_ov00_020849c0Ev +.extern _ZN10MapManager18func_ov00_020849dcEv +.extern _ZN10MapManager18func_ov00_02084ac4Ej +.extern _ZN10MapManager18func_ov00_02084c7cEi +.extern _ZN10MapManager18func_ov00_02084c94Ei +.extern _ZN10MapManager18func_ov00_02084cb0Ei +.extern _ZN10MapManager18func_ov00_02084cc8Ei +.extern _ZN10MapManager20GetCourseData_Unk_86Ev +.extern _ZN10MapManager20GetCourseData_Unk_87Ev +.extern _ZN10MapManager8SpawnNPCEP5Vec3pii .extern _ZN10PlayerBase18func_ov00_020a7c00Ei .extern _ZN10PlayerBase9AddHealthEs .extern _ZN10PlayerBase9SetHealthEs @@ -91,6 +127,8 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN9ActorTypeC1EjPFP5ActorvEPv +.extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager10GetMaxAmmoEi @@ -124,7 +162,6 @@ .extern data_027e0d44 .extern data_027e0d78 .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -288,8 +325,6 @@ .extern func_020386c4 .extern func_020386cc .extern func_0203d7e0 -.extern _ZN9ActorTypeC1EjPFP5ActorvEPv -.extern _ZN9ActorTypeD1Ev .extern func_0203eb0c .extern func_0203eba8 .extern func_0203ebc8 @@ -314,42 +349,6 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_02081f4c -.extern _ZN10MapManager18func_ov00_020823c4EPii -.extern _ZN10MapManager18func_ov00_020823d4Ei -.extern _ZN10MapManager18func_ov00_020823e4Ei -.extern _ZN10MapManager16MapData_vfunc_b4Ev -.extern _ZN10MapManager18func_ov00_02082680Eii -.extern _ZN10MapManager18func_ov00_020826a0Eiii -.extern _ZN10MapManager18func_ov00_02082d08Ev -.extern _ZN10MapManager20GetCourseData_Unk_86Ev -.extern _ZN10MapManager20GetCourseData_Unk_87Ev -.extern _ZN10MapManager17Get_MapData_Unk28Ev -.extern _ZN10MapManager17Get_MapData_Unk2aEv -.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p -.extern _ZN10MapManager18func_ov00_020836dcEii -.extern _ZN10MapManager18func_ov00_02083770Eji -.extern _ZN10MapManager18func_ov00_02083790Ei -.extern _ZN10MapManager18func_ov00_02083840Ei -.extern _ZN10MapManager18func_ov00_020838e8EjPi -.extern _ZN10MapManager18func_ov00_020839b4Ei -.extern _ZN10MapManager18func_ov00_020839c4Ei -.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p -.extern _ZN10MapManager18func_ov00_02083e34Ecci -.extern _ZN10MapManager16MapData_vfunc_68Ev -.extern _ZN10MapManager16MapData_vfunc_54Ev -.extern _ZN10MapManager16MapData_vfunc_78Ev -.extern _ZN10MapManager18func_ov00_020840dcEv -.extern _ZN10MapManager18func_ov00_020843ecEPi -.extern _ZN10MapManager17GetMapData_Unk_06Ev -.extern _ZN10MapManager17GetMapData_Unk_07Ev -.extern _ZN10MapManager18func_ov00_020849c0Ev -.extern _ZN10MapManager18func_ov00_020849dcEv -.extern _ZN10MapManager8SpawnNPCEP5Vec3pii -.extern _ZN10MapManager18func_ov00_02084ac4Ej -.extern _ZN10MapManager18func_ov00_02084c7cEi -.extern _ZN10MapManager18func_ov00_02084c94Ei -.extern _ZN10MapManager18func_ov00_02084cb0Ei -.extern _ZN10MapManager18func_ov00_02084cc8Ei .extern func_ov00_0208726c .extern func_ov00_020876bc .extern func_ov00_0208819c @@ -852,6 +851,7 @@ .extern gAdventureFlags .extern gHealthManager .extern gItemManager +.extern gMapManager .extern gOverlayManager .extern gPlayerAnimHandler .extern strcat diff --git a/asm/ov15.inc b/asm/ov15.inc index 80e6e728..769579e3 100644 --- a/asm/ov15.inc +++ b/asm/ov15.inc @@ -2,6 +2,42 @@ .extern Approach_thunk .extern Divide .extern GiveShipPart +.extern PlaySoundEffect +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p +.extern _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p +.extern _ZN10MapManager18func_ov00_020823a4Ei +.extern _ZN10MapManager18func_ov00_020823b4Ev +.extern _ZN10MapManager18func_ov00_02082424Ev +.extern _ZN10MapManager18func_ov00_02082454Eii +.extern _ZN10MapManager18func_ov00_02082494Ei +.extern _ZN10MapManager18func_ov00_020824ccEi +.extern _ZN10MapManager18func_ov00_02082504Ev +.extern _ZN10MapManager18func_ov00_02082594Ev +.extern _ZN10MapManager18func_ov00_020825acEv +.extern _ZN10MapManager18func_ov00_02082650Eiii +.extern _ZN10MapManager18func_ov00_02082660Eii +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02082d40Ev +.extern _ZN10MapManager18func_ov00_02083374Ev +.extern _ZN10MapManager18func_ov00_02083384Ev +.extern _ZN10MapManager18func_ov00_0208346cEP4AABB +.extern _ZN10MapManager18func_ov00_020836bcEjPi +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083770Eji +.extern _ZN10MapManager18func_ov00_020838c8Ei +.extern _ZN10MapManager18func_ov00_020838d8Ei +.extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN10MapManager18func_ov00_02083c24Ei +.extern _ZN10MapManager18func_ov00_02083c50Ei +.extern _ZN10MapManager18func_ov00_020846a4Ev +.extern _ZN10MapManager18func_ov00_020848b8Ev +.extern _ZN10MapManager18func_ov00_02084b38Eiii +.extern _ZN10MapManager18func_ov00_02084cb0Ei +.extern _ZN10MapManager18func_ov00_02084cc8Ei +.extern _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p +.extern _ZN10MapManager18func_ov00_02085c60Eiiii +.extern _ZN10MapManager8SpawnNPCEP5Vec3pii .extern _ZN10PlayerBase10GetEquipIdEv .extern _ZN10PlayerBase18TeleportToEntranceEib .extern _ZN10PlayerBase18func_ov00_020a7c00Ei @@ -13,8 +49,8 @@ .extern _ZN11ItemManager10GiveRupeesEsb .extern _ZN11ItemManager10SetUnk_09eEjt .extern _ZN11ItemManager15LoadFanfareItemEi -.extern _ZN11ItemManager18func_ov00_020ad528Ev .extern _ZN11ItemManager18PlayItemFanfareSfxEi +.extern _ZN11ItemManager18func_ov00_020ad528Ev .extern _ZN11ItemManager19SetTreasureSalvagedEj .extern _ZN11ItemManager8GiveItemEi .extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList @@ -107,6 +143,31 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN6Course14FindMapGridPosEP5Vec2bPS_j +.extern _ZN6Course14GetAdjacentMapEi +.extern _ZN6Course18func_ov00_0207ca78Eici +.extern _ZN6Course18func_ov00_0207ce20EiiPci +.extern _ZN6Course18func_ov00_0207d7bcEv +.extern _ZN6Course23IsAdjacentMapOnMainGridEi +.extern _ZN7MapBase14GetMapFilePathEPcii +.extern _ZN7MapBase18func_ov00_0207ddf8Eb +.extern _ZN7MapBase18func_ov00_0207dea0Eb +.extern _ZN7MapBase18func_ov00_02080140EP4Exit +.extern _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei +.extern _ZN7MapBase8vfunc_48Ev +.extern _ZN7MapBase8vfunc_58Ev +.extern _ZN7MapBase8vfunc_64Ev +.extern _ZN7MapBase8vfunc_94Ev +.extern _ZN7MapBase8vfunc_98Ev +.extern _ZN7MapBase8vfunc_a4Ev +.extern _ZN7MapBase8vfunc_a8Ev +.extern _ZN7MapBase8vfunc_acEv +.extern _ZN7MapBase8vfunc_bcEv +.extern _ZN7MapBase8vfunc_c0Ev +.extern _ZN7MapBase9SetBoundsEii +.extern _ZN7MapBaseD1Ev +.extern _ZN9ActorTypeC1EjPFP5ActorvEPv +.extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager10GetUnk_098Ej @@ -150,7 +211,6 @@ .extern data_027e0e2c .extern data_027e0e58 .extern data_027e0e5c -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -377,8 +437,6 @@ .extern func_02036da8 .extern func_020370d0 .extern func_0203d7e0 -.extern _ZN9ActorTypeC1EjPFP5ActorvEPv -.extern _ZN9ActorTypeD1Ev .extern func_0203eba8 .extern func_0203ebc8 .extern func_02042f68 @@ -419,68 +477,10 @@ .extern func_ov00_0207c444 .extern func_ov00_0207c474 .extern func_ov00_0207c518 -.extern _ZN6Course18func_ov00_0207ca78Eici -.extern _ZN6Course14FindMapGridPosEP5Vec2bPS_j -.extern _ZN6Course18func_ov00_0207ce20EiiPci -.extern _ZN6Course23IsAdjacentMapOnMainGridEi -.extern _ZN6Course14GetAdjacentMapEi -.extern _ZN6Course18func_ov00_0207d7bcEv -.extern _ZN7MapBaseD1Ev -.extern _ZN7MapBase9SetBoundsEii -.extern _ZN7MapBase14GetMapFilePathEPcii -.extern _ZN7MapBase18func_ov00_0207ddf8Eb -.extern _ZN7MapBase18func_ov00_0207dea0Eb -.extern _ZN7MapBase8vfunc_48Ev -.extern _ZN7MapBase8vfunc_58Ev -.extern _ZN7MapBase8vfunc_64Ev -.extern _ZN7MapBase8vfunc_a4Ev -.extern _ZN7MapBase8vfunc_a8Ev -.extern _ZN7MapBase8vfunc_acEv -.extern _ZN7MapBase8vfunc_94Ev -.extern _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei -.extern _ZN7MapBase18func_ov00_02080140EP4Exit -.extern _ZN7MapBase8vfunc_bcEv -.extern _ZN7MapBase8vfunc_98Ev -.extern _ZN7MapBase8vfunc_c0Ev .extern func_ov00_02081f4c .extern func_ov00_02081f50 .extern func_ov00_02081f58 .extern func_ov00_02081f6c -.extern _ZN10MapManager18func_ov00_020823a4Ei -.extern _ZN10MapManager18func_ov00_020823b4Ev -.extern _ZN10MapManager18func_ov00_02082424Ev -.extern _ZN10MapManager18func_ov00_02082454Eii -.extern _ZN10MapManager18func_ov00_02082494Ei -.extern _ZN10MapManager18func_ov00_020824ccEi -.extern _ZN10MapManager18func_ov00_02082504Ev -.extern _ZN10MapManager18func_ov00_02082594Ev -.extern _ZN10MapManager18func_ov00_020825acEv -.extern _ZN10MapManager18func_ov00_02082650Eiii -.extern _ZN10MapManager18func_ov00_02082660Eii -.extern _ZN10MapManager18func_ov00_02082d08Ev -.extern _ZN10MapManager18func_ov00_02082d40Ev -.extern _ZN10MapManager18func_ov00_02083374Ev -.extern _ZN10MapManager18func_ov00_02083384Ev -.extern _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p -.extern _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p -.extern _ZN10MapManager18func_ov00_0208346cEP4AABB -.extern _ZN10MapManager18func_ov00_020836bcEjPi -.extern _ZN10MapManager18func_ov00_020836dcEii -.extern _ZN10MapManager18func_ov00_02083770Eji -.extern _ZN10MapManager18func_ov00_020838c8Ei -.extern _ZN10MapManager18func_ov00_020838d8Ei -.extern _ZN10MapManager18func_ov00_020838e8EjPi -.extern _ZN10MapManager18func_ov00_02083c24Ei -.extern _ZN10MapManager18func_ov00_02083c50Ei -.extern _ZN10MapManager16MapData_vfunc_68Ev -.extern _ZN10MapManager18func_ov00_020846a4Ev -.extern _ZN10MapManager18func_ov00_020848b8Ev -.extern _ZN10MapManager8SpawnNPCEP5Vec3pii -.extern _ZN10MapManager18func_ov00_02084b38Eiii -.extern _ZN10MapManager18func_ov00_02084cb0Ei -.extern _ZN10MapManager18func_ov00_02084cc8Ei -.extern _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p -.extern _ZN10MapManager18func_ov00_02085c60Eiiii .extern func_ov00_020872e8 .extern func_ov00_02087584 .extern func_ov00_020875f8 @@ -723,7 +723,6 @@ .extern func_ov00_020d70a4 .extern func_ov00_020d716c .extern func_ov00_020d71a0 -.extern PlaySoundEffect .extern func_ov00_020d7424 .extern func_ov00_020d74bc .extern func_ov00_020d77e4 @@ -909,5 +908,6 @@ .extern gAdventureFlags .extern gHealthManager .extern gItemManager +.extern gMapManager .extern strcat .extern strncpy diff --git a/asm/ov26.inc b/asm/ov26.inc index d963359b..4d0b53c4 100644 --- a/asm/ov26.inc +++ b/asm/ov26.inc @@ -2,6 +2,23 @@ .extern Approach_thunk .extern Divide .extern FastDivide +.extern PlaySoundEffect +.extern _ZN10MapManager16MapData_vfunc_54Ev +.extern _ZN10MapManager16MapData_vfunc_68Ev +.extern _ZN10MapManager16MapData_vfunc_b4Ev +.extern _ZN10MapManager18func_ov00_020823d4Ei +.extern _ZN10MapManager18func_ov00_020823e4Ei +.extern _ZN10MapManager18func_ov00_02082614Eii +.extern _ZN10MapManager18func_ov00_02082680Eii +.extern _ZN10MapManager18func_ov00_020826a0Eiii +.extern _ZN10MapManager18func_ov00_020836dcEii +.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p +.extern _ZN10MapManager18func_ov00_02083e34Ecci +.extern _ZN10MapManager18func_ov00_02084164Ev +.extern _ZN10MapManager18func_ov00_02084740Ev +.extern _ZN10MapManager18func_ov00_02084a50Ev +.extern _ZN10MapManager18func_ov00_02084cb0Ei +.extern _ZN10MapManager18func_ov00_02084cc8Ei .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN11ItemManager7AddItemEi .extern _ZN12ActorManager13FindActorByIdEj @@ -69,6 +86,8 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN9ActorTypeC1EjPFP5ActorvEPv +.extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager18IsTreasureSalvagedEj @@ -94,7 +113,6 @@ .extern data_027e0d3c .extern data_027e0d78 .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c @@ -104,7 +122,6 @@ .extern data_027e0f94 .extern data_027e0fa0 .extern data_027e0fac -.extern gHealthManager .extern data_027e0fc8 .extern data_027e0fd4 .extern data_027e0fe0 @@ -196,8 +213,6 @@ .extern func_020352d8 .extern func_02035370 .extern func_020370d0 -.extern _ZN9ActorTypeC1EjPFP5ActorvEPv -.extern _ZN9ActorTypeD1Ev .extern func_0203eba8 .extern func_0203ebc8 .extern func_0203fe60 @@ -218,22 +233,6 @@ .extern func_ov00_0207c1f8 .extern func_ov00_0207c444 .extern func_ov00_02081f4c -.extern _ZN10MapManager18func_ov00_020823d4Ei -.extern _ZN10MapManager18func_ov00_020823e4Ei -.extern _ZN10MapManager16MapData_vfunc_b4Ev -.extern _ZN10MapManager18func_ov00_02082614Eii -.extern _ZN10MapManager18func_ov00_02082680Eii -.extern _ZN10MapManager18func_ov00_020826a0Eiii -.extern _ZN10MapManager18func_ov00_020836dcEii -.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p -.extern _ZN10MapManager18func_ov00_02083e34Ecci -.extern _ZN10MapManager16MapData_vfunc_68Ev -.extern _ZN10MapManager16MapData_vfunc_54Ev -.extern _ZN10MapManager18func_ov00_02084164Ev -.extern _ZN10MapManager18func_ov00_02084740Ev -.extern _ZN10MapManager18func_ov00_02084a50Ev -.extern _ZN10MapManager18func_ov00_02084cb0Ei -.extern _ZN10MapManager18func_ov00_02084cc8Ei .extern func_ov00_020875f8 .extern func_ov00_02087d34 .extern func_ov00_02087e8c @@ -406,7 +405,6 @@ .extern func_ov00_020d70a4 .extern func_ov00_020d716c .extern func_ov00_020d7180 -.extern PlaySoundEffect .extern func_ov00_020d73f0 .extern func_ov00_020d77e4 .extern func_ov00_020d7c8c @@ -536,6 +534,8 @@ .extern func_ov30_02183f84 .extern func_ov30_02183fd4 .extern gAdventureFlags +.extern gHealthManager .extern gItemManager +.extern gMapManager .extern strcmp .extern strncpy diff --git a/asm/ov38.inc b/asm/ov38.inc index 916faf43..6b3fc53a 100644 --- a/asm/ov38.inc +++ b/asm/ov38.inc @@ -1,6 +1,7 @@ #pragma once .extern Approach_thunk .extern Divide +.extern PlaySoundEffect .extern _ZN10MapManager18func_ov00_02084b38Eiii .extern _ZN10MapManager18func_ov00_02084be0Eii .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j @@ -217,7 +218,6 @@ .extern func_ov00_020d5f98 .extern func_ov00_020d70a4 .extern func_ov00_020d716c -.extern PlaySoundEffect .extern func_ov00_020d73f0 .extern func_ov00_020d7c8c .extern func_ov00_020d7d18 From bad0d9743475bb6b534defd9e1a135e34a1be1e6 Mon Sep 17 00:00:00 2001 From: Aetias Date: Wed, 1 May 2024 10:07:03 +0200 Subject: [PATCH 69/76] Update `ItemManager` fields --- include/Item/ItemManager.hpp | 6 +++--- src/00_Core/Item/ItemManager.cpp | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 1edd9a48..e50fb673 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -216,16 +216,16 @@ private: /* 100 */ ItemModel *mDungeonItemModels[DungeonItemModelId_COUNT]; // non-null in dungeons/caves /* 114 */ ModelRender *mUnk_114; /* 118 */ ItemId mFanfareItem; - /* 11c */ unk32 mUnk_11c; + /* 11c */ SfxId mFanfareSfx; /* 120 */ void *mFanfareItemModel; /* 124 */ void *mUnk_124; /* 128 */ ItemFlags mItemFlags; /* 138 */ u32 mSalvagedTreasureFlags; /* 13c */ ShipPartPricesShown mShipPartPricesShown; /* 148 */ u32 mTreasurePriceShownFlags[CEIL_DIV(Treasure_COUNT, 32)]; - /* 14c */ bool mUnk_14c; + /* 14c */ bool mMuteNextFanfare; /* 14d */ u8 mUnk_14d; - /* 14e */ unk8 mUnk_14e[0x2]; + /* 14e */ unk8 mUnk_14e[0x2]; // padding? /* 150 */ public: diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 418555ac..041bc48f 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -918,8 +918,8 @@ THUMB void ItemManager::LoadDungeonItemModels() { extern unk32 data_ov00_020eec68; extern "C" void PlaySoundEffect(void *param1, SfxId sfx); THUMB void ItemManager::PlayItemFanfareSfx(ItemId item) { - if (gItemManager->mUnk_14c == true) { - gItemManager->mUnk_14c = false; + if (gItemManager->mMuteNextFanfare == true) { + gItemManager->mMuteNextFanfare = false; return; } SfxId sfx; @@ -959,9 +959,9 @@ THUMB void ItemManager::PlayItemFanfareSfx(ItemId item) { sfx = SfxId_FanfareDefault; } break; } - if (gItemManager->mUnk_11c != 0) { - sfx = gItemManager->mUnk_11c; - gItemManager->mUnk_11c = 0; + if (gItemManager->mFanfareSfx != SfxId_None) { + sfx = gItemManager->mFanfareSfx; + gItemManager->mFanfareSfx = SfxId_None; } PlaySoundEffect(&data_ov00_020eec68, sfx); } From 72d17bcc339e0a98b5128a15abc2af66280e1098 Mon Sep 17 00:00:00 2001 From: Aetias Date: Wed, 1 May 2024 10:09:31 +0200 Subject: [PATCH 70/76] Add more sound effect IDs --- include/Sound/Sfx.hpp | 220 ++++++++++++++++++++++++++++++- src/00_Core/Item/ItemManager.cpp | 14 +- 2 files changed, 220 insertions(+), 14 deletions(-) diff --git a/include/Sound/Sfx.hpp b/include/Sound/Sfx.hpp index b87eb8c6..38b66d51 100644 --- a/include/Sound/Sfx.hpp +++ b/include/Sound/Sfx.hpp @@ -5,11 +5,217 @@ typedef u32 SfxId; enum SfxId_ { - SfxId_FanfareDefault = 0x28, - SfxId_FanfareRupee = 0x29, - SfxId_FanfareGoldRupee = 0x2a, - SfxId_FanfareRupoor = 0x2b, - SfxId_FanfareNothing = 0x2c, - SfxId_FanfareHeartContainer = 0x2d, - SfxId_FanfareGem = 0x2e, + SfxId_None = 0x0, + + SfxId_Music_StoryIntro = 0x2, + SfxId_Music_StoryOutsetIsland = 0x3, + SfxId_Music_StoryZeldasLullaby = 0x4, + SfxId_Music_DarkKingGanon = 0x5, + SfxId_Music_TheHeroOfTheWinds = 0x6, + SfxId_Music_OffToTheSeas = 0x7, + SfxId_Music_ThePirateShip_1 = 0x8, + SfxId_Music_TheKingOfTheOceans = 0x9, + SfxId_Music_InTheDarkDungeon_1 = 0xa, + SfxId_Music_LinebecksTheme = 0xb, + SfxId_Fanfare_KeyDizzy = 0xc, + SfxId_Music_MagicInTheAir_1 = 0xd, + SfxId_Music_TheSandsOfTime_1 = 0xe, + SfxId_Fanfare_Discovery_1 = 0xf, + SfxId_Music_MagicInTheAir_2 = 0x10, + SfxId_Music_TheSandsOfTime_2 = 0x11, + SfxId_Fanfare_Discovery_2 = 0x12, + SfxId_Music_MagicInTheAir_3 = 0x13, + + SfxId_Music_MagicInTheAir_4 = 0x15, + SfxId_Music_Credits = 0x16, + + SfxId_Music_DarkMemories = 0x18, + SfxId_Music_TheSandsOfTime_3 = 0x19, + SfxId_Fanfare_Discovery_3 = 0x1a, + + SfxId_Fanfare_Nothing_1 = 0x1c, + SfxId_Music_TheSandsOfTime_4 = 0x1d, + SfxId_Music_ZeldasLullaby = 0x1e, + + SfxId_Music_BellumLoop = 0x21, + + SfxId_Music_ThePirateShip_2 = 0x25, + + SfxId_Music_FairyFountain = 0x27, + SfxId_Fanfare_Treasure = 0x28, + SfxId_Fanfare_Rupee = 0x29, + SfxId_Fanfare_GoldRupee = 0x2a, + SfxId_Fanfare_Rupoor = 0x2b, + SfxId_Fanfare_Nothing_2 = 0x2c, + SfxId_Fanfare_HeartContainer = 0x2d, + SfxId_Fanfare_Gem = 0x2e, + SfxId_Fanfare_Discovery_4 = 0x2f, + SfxId_Music_Indoors_1 = 0x30, + SfxId_Music_Indoors_2 = 0x31, + SfxId_Music_Lithoroves = 0x32, + SfxId_Music_Indoors_3 = 0x33, + SfxId_Music_AstridsTheme = 0x34, + + SfxId_Music_Indoors_4 = 0x38, + SfxId_Music_Indoors_5 = 0x39, + SfxId_Music_Indoors_6 = 0x3a, + SfxId_Music_Indoors_7 = 0x3b, + SfxId_Music_Indoors_8 = 0x3c, + + SfxId_Music_ThePirateShip_3 = 0x3e, + SfxId_Music_BeedlesShopShip_1 = 0x3f, + SfxId_Music_BeedlesShopShip_2 = 0x40, + + SfxId_Music_Indoors_9 = 0x42, + SfxId_Music_Indoors_10 = 0x43, + SfxId_Music_Indoors_11 = 0x44, + SfxId_Music_Indoors_12 = 0x45, + SfxId_Music_Indoors_13 = 0x46, + SfxId_Music_DangerInTheGreatBlueSea_1 = 0x47, + SfxId_Music_DangerInTheGreatBlueSea_2 = 0x48, + SfxId_Music_TheDarkCaves_1 = 0x49, + SfxId_Fanfare_OhNo = 0x4a, + SfxId_Music_GameOver = 0x4b, + SfxId_Fanfare_TempleOfTheOceanKing = 0x4c, + SfxId_Music_EnemyBattle_1 = 0x4d, + SfxId_Music_MercayIsland_1 = 0x4e, + SfxId_Music_UnchartedTerritory_1 = 0x4f, + SfxId_Music_MercayIsland_2 = 0x50, + SfxId_Music_UnchartedTerritory_2 = 0x51, + SfxId_Music_MercayIsland_3 = 0x52, + SfxId_Music_UnchartedTerritory_3 = 0x53, + SfxId_Music_UnchartedTerritory_4 = 0x54, + SfxId_Music_UnchartedTerritory_5 = 0x55, + SfxId_Music_MercayIsland_4 = 0x56, + SfxId_Music_UnchartedTerritory_6 = 0x57, + SfxId_Music_TheGorons = 0x58, + SfxId_Music_UnchartedTerritory_7 = 0x59, + SfxId_Music_UnchartedTerritory_8 = 0x5a, + SfxId_Music_UnchartedTerritory_9 = 0x5b, + SfxId_Music_UnchartedTerritory_10 = 0x5c, + SfxId_Music_MercayIsland_5 = 0x5d, + SfxId_Music_UnchartedTerritory_11 = 0x5e, + SfxId_Music_UnchartedTerritory_12 = 0x5f, + + SfxId_Music_MercayIsland_6 = 0x61, + SfxId_Music_MercayIsland_7 = 0x62, + SfxId_Music_MercayIsland_8 = 0x63, + SfxId_Music_UnchartedTerritory_13 = 0x64, + + SfxId_Music_GhostShip = 0x66, + SfxId_Music_ChasingTheGhostShip = 0x67, + SfxId_Music_EnemyBattle_2 = 0x68, + SfxId_Music_JoleneAppears = 0x69, + SfxId_Music_JoleneAppearsLoop = 0x6a, + SfxId_Music_JoleneVsLink_1 = 0x6b, + SfxId_Music_JoleneVsLink_2 = 0x6c, + SfxId_Music_JoleneVsLinkEnd = 0x6d, + SfxId_Music_InTheDarkDungeon_2 = 0x6e, + SfxId_Music_InTheDarkDungeon_3 = 0x6f, + + SfxId_Music_InTheDarkDungeon_4 = 0x72, + + SfxId_Music_InTheDarkDungeon_5 = 0x75, + + SfxId_Music_InTheDarkDungeon_6 = 0x78, + SfxId_Music_InTheDarkDungeon_7 = 0x79, + SfxId_Music_InTheDarkDungeon_8 = 0x7a, + SfxId_Music_InTheDarkDungeon_9 = 0x7b, + SfxId_Music_TheDarkCaves_2 = 0x7c, + + SfxId_Music_InTheDarkDungeon_10 = 0x7f, + SfxId_Music_TheDarkCaves_3 = 0x80, + + SfxId_Music_InTheDarkDungeon_11 = 0x83, + SfxId_Music_TheDarkCaves_4 = 0x84, + + SfxId_Music_InTheDarkDungeon_12 = 0x87, + SfxId_Music_TheDarkCaves_5 = 0x88, + SfxId_Music_InTheDarkDungeon_13 = 0x89, + SfxId_Music_InTheDarkDungeon_14 = 0x8b, + SfxId_Music_InTheDarkDungeon_15 = 0x8c, + SfxId_Music_InTheDarkDungeon_16 = 0x8d, + SfxId_Music_InTheDarkDungeon_17 = 0x8e, + SfxId_Music_InTheDarkDungeon_18 = 0x8f, + SfxId_Music_InTheDarkDungeon_19 = 0x90, + SfxId_Music_InTheDarkDungeon_20 = 0x91, + SfxId_Music_InTheDarkDungeon_21 = 0x92, + SfxId_Music_InTheDarkDungeon_22 = 0x93, + SfxId_Music_InTheDarkDungeon_23 = 0x94, + SfxId_Music_InTheDarkDungeon_24 = 0x95, + SfxId_Music_InTheDarkDungeon_25 = 0x96, + SfxId_Music_TheDarkCaves_6 = 0x97, + SfxId_Music_TheDarkCaves_7 = 0x98, + SfxId_Music_TheDarkCaves_8 = 0x99, + SfxId_Music_TheDarkCaves_9 = 0x9a, + SfxId_Music_TheDarkCaves_10 = 0x9b, + + SfxId_Music_InTheDarkDungeon_26 = 0x9e, + SfxId_Music_InTheDarkDungeon_27 = 0x9f, + SfxId_Music_InTheDarkDungeon_28 = 0xa0, + SfxId_Music_TheDarkCaves_11 = 0xa1, + SfxId_Music_TheDarkCaves_12 = 0xa2, + SfxId_Music_InTheDarkDungeon_29 = 0xa3, + SfxId_Music_TheDarkCaves_13 = 0xa4, + SfxId_Music_TheDarkCaves_14 = 0xa5, + + SfxId_Music_PhantomChase_1 = 0xa7, + SfxId_Music_FencingPractice_1 = 0xa8, + SfxId_Music_FencingPractice_2 = 0xa9, + SfxId_Music_FencingPractice_3 = 0xaa, + SfxId_Music_FencingPractice_4 = 0xab, + SfxId_Music_FencingPractice_5 = 0xac, + SfxId_Music_FencingPractice_6 = 0xad, + SfxId_Music_FencingPractice_7 = 0xae, + SfxId_Music_FencingPractice_8 = 0xaf, + SfxId_Music_FencingPractice_9 = 0xb0, + SfxId_Music_FencingPractice_10 = 0xb1, + SfxId_Music_FencingPractice_11 = 0xb2, + SfxId_Music_FencingPractice_12 = 0xb3, + SfxId_Mandolin_Chord_1 = 0xb4, + SfxId_Mandolin_Chord_2 = 0xb5, + SfxId_Mandolin_Chord_3 = 0xb6, + SfxId_Mandolin_Chord_4 = 0xb7, + SfxId_Mandolin_Chord_5 = 0xb8, + SfxId_Mandolin_Chord_6 = 0xb9, + SfxId_Mandolin_Chord_7 = 0xba, + SfxId_Mandolin_Chord_8 = 0xbb, + SfxId_Music_BeginContactMode = 0xbc, + SfxId_Fanfare_Checkpoint_1 = 0xbd, + SfxId_Fanfare_Checkpoint_2 = 0xbe, + SfxId_Fanfare_Checkpoint_3 = 0xbf, + SfxId_Fanfare_Checkpoint_4 = 0xc0, + SfxId_Fanfare_Checkpoint_5 = 0xc1, + SfxId_Fanfare_Victory = 0xc2, + SfxId_Drumroll = 0xc3, + SfxId_Fanfare_Stumble = 0xc4, + SfxId_Music_BossBattle_1 = 0xc5, + SfxId_Music_BossBattle_2 = 0xc6, + SfxId_Music_BossBattle_3 = 0xc7, + SfxId_Music_BossBattle_4 = 0xc8, + SfxId_Music_BossBattle_5 = 0xc9, + SfxId_Music_BossBattle_6 = 0xca, + SfxId_Music_BossBattle_7 = 0xcb, + + SfxId_Music_SpinSpinSpin_1 = 0xcf, + + SfxId_Music_SpinSpinSpin_2 = 0xd2, + SfxId_Music_FencingPractice_13 = 0xd3, + SfxId_Music_FencingPracticeStart = 0xd4, + SfxId_Music_BattleStageSelection_1 = 0xd5, + SfxId_Music_FencingPractice_14 = 0xd6, + SfxId_Music_FencingPractice_15 = 0xd7, + SfxId_Music_FencingPractice_16 = 0xd8, + SfxId_Music_FencingPractice_17 = 0xd9, + SfxId_Music_IntoTheCrystalBall = 0xe0, + + SfxId_Music_PhantomChase_2 = 0xe2, + SfxId_Fanfare_GreatLoss = 0xe3, + SfxId_Fanfare_Incoming = 0xe4, + SfxId_Fanfare_GoalReached = 0xe5, + SfxId_Fanfare_LostGame_1 = 0xe6, + SfxId_Fanfare_LostGame_2 = 0xe7, + SfxId_Fanfare_BattleStart = 0xe8, + SfxId_Music_BattleEnd = 0xe9, + SfxId_Music_BattleStageSelection_2 = 0xea, }; diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 041bc48f..9d282285 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -927,36 +927,36 @@ THUMB void ItemManager::PlayItemFanfareSfx(ItemId item) { case ItemId_PowerGem: case ItemId_WisdomGem: case ItemId_CourageGem: { - sfx = SfxId_FanfareGem; + sfx = SfxId_Fanfare_Gem; } break; case ItemId_GoldRupee: { - sfx = SfxId_FanfareGoldRupee; + sfx = SfxId_Fanfare_GoldRupee; } break; case ItemId_SmallKey: case ItemId_GreenRupee: case ItemId_BlueRupee: case ItemId_RedRupee: { - sfx = SfxId_FanfareRupee; + sfx = SfxId_Fanfare_Rupee; } break; case ItemId_Rupoor10: case ItemId_Rupoor50: { - sfx = SfxId_FanfareRupoor; + sfx = SfxId_Fanfare_Rupoor; } break; case ItemId_None: case ItemId_HerosNewClothes: { - sfx = SfxId_FanfareNothing; + sfx = SfxId_Fanfare_Nothing_2; } break; case ItemId_HeartContainer: { - sfx = SfxId_FanfareHeartContainer; + sfx = SfxId_Fanfare_HeartContainer; } break; default: { - sfx = SfxId_FanfareDefault; + sfx = SfxId_Fanfare_Treasure; } break; } if (gItemManager->mFanfareSfx != SfxId_None) { From f4d873c4b3f33918c220b75f53fb48353b7228a6 Mon Sep 17 00:00:00 2001 From: Aetias Date: Wed, 1 May 2024 12:47:48 +0200 Subject: [PATCH 71/76] Match `ItemManager` data --- Makefile | 2 +- asm/ov00/Item/ItemManager.inc | 1 - asm/ov00/Item/ItemManager.s | 635 ------------------------------- src/00_Core/Item/ItemManager.cpp | 119 +++++- tools/lcf.py | 1 - 5 files changed, 110 insertions(+), 648 deletions(-) delete mode 100644 asm/ov00/Item/ItemManager.inc delete mode 100644 asm/ov00/Item/ItemManager.s diff --git a/Makefile b/Makefile index 004e8b16..980f886e 100644 --- a/Makefile +++ b/Makefile @@ -49,7 +49,7 @@ LCF_FILE := $(ROOT)/$(BUILD_DIR)/arm9_linker_script.lcf OBJS_FILE := $(ROOT)/$(BUILD_DIR)/arm9_objects.txt ASM_FLAGS := -proc arm5te -d $(REGION) -i asm -msgstyle gcc -CC_FLAGS := -proc arm946e -interworking -O4,p -enum int -i include -i- -i libs/c/include -i libs/cpp/include -nolink -d $(REGION) -char signed -sym on -msgstyle gcc +CC_FLAGS := -proc arm946e -interworking -O4,p -enum int -i include -i- -i libs/c/include -i libs/cpp/include -nolink -d $(REGION) -char signed -sym on -msgstyle gcc -gccext,on -str noreuse C_FLAGS := -lang=c CXX_FLAGS := -lang=c++ LD_FLAGS := -proc arm946e -nostdlib -interworking -nodead -m Entry -map closure,unused -o main.bin -msgstyle gcc diff --git a/asm/ov00/Item/ItemManager.inc b/asm/ov00/Item/ItemManager.inc deleted file mode 100644 index 6f70f09b..00000000 --- a/asm/ov00/Item/ItemManager.inc +++ /dev/null @@ -1 +0,0 @@ -#pragma once diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s deleted file mode 100644 index a89633d1..00000000 --- a/asm/ov00/Item/ItemManager.s +++ /dev/null @@ -1,635 +0,0 @@ - .include "macros/function.inc" - .include "ov00/Item/ItemManager.inc" - - .rodata - - .data - .global data_ov00_020e5c58 -data_ov00_020e5c58: ; 0x020e5c58 - .ascii "brg" - .byte 0x00 - .global data_ov00_020e5c5c -data_ov00_020e5c5c: ; 0x020e5c5c - .ascii "fnl" - .byte 0x00 - .global data_ov00_020e5c60 -data_ov00_020e5c60: ; 0x020e5c60 - .ascii "pdl" - .byte 0x00 - .global data_ov00_020e5c64 -data_ov00_020e5c64: ; 0x020e5c64 - .ascii "dco" - .byte 0x00 - .global data_ov00_020e5c68 -data_ov00_020e5c68: ; 0x020e5c68 - .ascii "can" - .byte 0x00 - .global data_ov00_020e5c6c -data_ov00_020e5c6c: ; 0x020e5c6c - .ascii "hul" - .byte 0x00 - .global data_ov00_020e5c70 -data_ov00_020e5c70: ; 0x020e5c70 - .ascii "bow" - .byte 0x00 - .global data_ov00_020e5c74 -data_ov00_020e5c74: ; 0x020e5c74 - .ascii "anc" - .byte 0x00 - .global sUnknownItemModelNames -sUnknownItemModelNames: ; 0x020e5c78 - .word data_ov00_020e5c74 - .global data_ov00_020e5c7c -data_ov00_020e5c7c: ; 0x020e5c7c - .word data_ov00_020e5c70 - .global data_ov00_020e5c80 -data_ov00_020e5c80: ; 0x020e5c80 - .word data_ov00_020e5c6c - .global data_ov00_020e5c84 -data_ov00_020e5c84: ; 0x020e5c84 - .word data_ov00_020e5c68 - .global data_ov00_020e5c88 -data_ov00_020e5c88: ; 0x020e5c88 - .word data_ov00_020e5c64 - .global data_ov00_020e5c8c -data_ov00_020e5c8c: ; 0x020e5c8c - .word data_ov00_020e5c60 - .global data_ov00_020e5c90 -data_ov00_020e5c90: ; 0x020e5c90 - .word data_ov00_020e5c5c - .global data_ov00_020e5c94 -data_ov00_020e5c94: ; 0x020e5c94 - .word data_ov00_020e5c58 - .global data_ov00_020e5c98 -data_ov00_020e5c98: ; 0x020e5c98 - .word data_ov00_020e5e14 - .global sItemModelNames -sItemModelNames: ; 0x020e5c9c - .word data_ov00_020e5e18 - .global data_ov00_020e5ca0 -data_ov00_020e5ca0: ; 0x020e5ca0 - .word data_ov00_020e5e1c - .global data_ov00_020e5ca4 -data_ov00_020e5ca4: ; 0x020e5ca4 - .word data_ov00_020e5e20 - .global data_ov00_020e5ca8 -data_ov00_020e5ca8: ; 0x020e5ca8 - .word data_ov00_020e5e28 - .global data_ov00_020e5cac -data_ov00_020e5cac: ; 0x020e5cac - .word data_ov00_020e5e2c - .global data_ov00_020e5cb0 -data_ov00_020e5cb0: ; 0x020e5cb0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5cb4 -data_ov00_020e5cb4: ; 0x020e5cb4 - .word data_ov00_020e5e30 - .global data_ov00_020e5cb8 -data_ov00_020e5cb8: ; 0x020e5cb8 - .word data_ov00_020e5e38 - .global data_ov00_020e5cbc -data_ov00_020e5cbc: ; 0x020e5cbc - .word data_ov00_020e5e40 - .global data_ov00_020e5cc0 -data_ov00_020e5cc0: ; 0x020e5cc0 - .word data_ov00_020e5e44 - .global data_ov00_020e5cc4 -data_ov00_020e5cc4: ; 0x020e5cc4 - .word data_ov00_020e5e4c - .global data_ov00_020e5cc8 -data_ov00_020e5cc8: ; 0x020e5cc8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5ccc -data_ov00_020e5ccc: ; 0x020e5ccc - .word data_ov00_020e5e58 - .global data_ov00_020e5cd0 -data_ov00_020e5cd0: ; 0x020e5cd0 - .word data_ov00_020e5e64 - .global data_ov00_020e5cd4 -data_ov00_020e5cd4: ; 0x020e5cd4 - .word data_ov00_020e5e68 - .global data_ov00_020e5cd8 -data_ov00_020e5cd8: ; 0x020e5cd8 - .word data_ov00_020e5e70 - .global data_ov00_020e5cdc -data_ov00_020e5cdc: ; 0x020e5cdc - .word data_ov00_020e5e78 - .global data_ov00_020e5ce0 -data_ov00_020e5ce0: ; 0x020e5ce0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5ce4 -data_ov00_020e5ce4: ; 0x020e5ce4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5ce8 -data_ov00_020e5ce8: ; 0x020e5ce8 - .word data_ov00_020e5e80 - .global data_ov00_020e5cec -data_ov00_020e5cec: ; 0x020e5cec - .word data_ov00_020e5e88 - .global data_ov00_020e5cf0 -data_ov00_020e5cf0: ; 0x020e5cf0 - .word data_ov00_020e5e90 - .global data_ov00_020e5cf4 -data_ov00_020e5cf4: ; 0x020e5cf4 - .word data_ov00_020e5e98 - .global data_ov00_020e5cf8 -data_ov00_020e5cf8: ; 0x020e5cf8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5cfc -data_ov00_020e5cfc: ; 0x020e5cfc - .word data_ov00_020e5ea0 - .global data_ov00_020e5d00 -data_ov00_020e5d00: ; 0x020e5d00 - .word data_ov00_020e5ea8 - .global data_ov00_020e5d04 -data_ov00_020e5d04: ; 0x020e5d04 - .word data_ov00_020e5eb0 - .global data_ov00_020e5d08 -data_ov00_020e5d08: ; 0x020e5d08 - .word data_ov00_020e5eb8 - .global data_ov00_020e5d0c -data_ov00_020e5d0c: ; 0x020e5d0c - .word data_ov00_020e5ec4 - .global data_ov00_020e5d10 -data_ov00_020e5d10: ; 0x020e5d10 - .word data_ov00_020e5ecc - .global data_ov00_020e5d14 -data_ov00_020e5d14: ; 0x020e5d14 - .word data_ov00_020e5ed4 - .global data_ov00_020e5d18 -data_ov00_020e5d18: ; 0x020e5d18 - .word data_ov00_020e5edc - .global data_ov00_020e5d1c -data_ov00_020e5d1c: ; 0x020e5d1c - .word data_ov00_020e5ee0 - .global data_ov00_020e5d20 -data_ov00_020e5d20: ; 0x020e5d20 - .word data_ov00_020e5ee8 - .global data_ov00_020e5d24 -data_ov00_020e5d24: ; 0x020e5d24 - .word data_ov00_020e5ef0 - .global data_ov00_020e5d28 -data_ov00_020e5d28: ; 0x020e5d28 - .word data_ov00_020e5ef8 - .global data_ov00_020e5d2c -data_ov00_020e5d2c: ; 0x020e5d2c - .word data_ov00_020e5f00 - .global data_ov00_020e5d30 -data_ov00_020e5d30: ; 0x020e5d30 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5d34 -data_ov00_020e5d34: ; 0x020e5d34 - .word data_ov00_020e5f04 - .global data_ov00_020e5d38 -data_ov00_020e5d38: ; 0x020e5d38 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5d3c -data_ov00_020e5d3c: ; 0x020e5d3c - .word data_ov00_020e5f0c - .global data_ov00_020e5d40 -data_ov00_020e5d40: ; 0x020e5d40 - .word data_ov00_020e5f18 - .global data_ov00_020e5d44 -data_ov00_020e5d44: ; 0x020e5d44 - .word data_ov00_020e5f20 - .global data_ov00_020e5d48 -data_ov00_020e5d48: ; 0x020e5d48 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5d4c -data_ov00_020e5d4c: ; 0x020e5d4c - .word data_ov00_020e5f28 - .global data_ov00_020e5d50 -data_ov00_020e5d50: ; 0x020e5d50 - .word data_ov00_020e5f30 - .global data_ov00_020e5d54 -data_ov00_020e5d54: ; 0x020e5d54 - .word data_ov00_020e5f38 - .global data_ov00_020e5d58 -data_ov00_020e5d58: ; 0x020e5d58 - .word data_ov00_020e5f40 - .global data_ov00_020e5d5c -data_ov00_020e5d5c: ; 0x020e5d5c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5d60 -data_ov00_020e5d60: ; 0x020e5d60 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5d64 -data_ov00_020e5d64: ; 0x020e5d64 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5d68 -data_ov00_020e5d68: ; 0x020e5d68 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5d6c -data_ov00_020e5d6c: ; 0x020e5d6c - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5d70 -data_ov00_020e5d70: ; 0x020e5d70 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5d74 -data_ov00_020e5d74: ; 0x020e5d74 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5d78 -data_ov00_020e5d78: ; 0x020e5d78 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5d7c -data_ov00_020e5d7c: ; 0x020e5d7c - .word data_ov00_020e5f48 - .global data_ov00_020e5d80 -data_ov00_020e5d80: ; 0x020e5d80 - .word data_ov00_020e5f50 - .global data_ov00_020e5d84 -data_ov00_020e5d84: ; 0x020e5d84 - .word data_ov00_020e5f5c - .global data_ov00_020e5d88 -data_ov00_020e5d88: ; 0x020e5d88 - .word data_ov00_020e5f68 - .global data_ov00_020e5d8c -data_ov00_020e5d8c: ; 0x020e5d8c - .word data_ov00_020e5f74 - .global data_ov00_020e5d90 -data_ov00_020e5d90: ; 0x020e5d90 - .word data_ov00_020e5f7c - .global data_ov00_020e5d94 -data_ov00_020e5d94: ; 0x020e5d94 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5d98 -data_ov00_020e5d98: ; 0x020e5d98 - .word data_ov00_020e5f84 - .global data_ov00_020e5d9c -data_ov00_020e5d9c: ; 0x020e5d9c - .word data_ov00_020e5f90 - .global data_ov00_020e5da0 -data_ov00_020e5da0: ; 0x020e5da0 - .word data_ov00_020e5f9c - .global data_ov00_020e5da4 -data_ov00_020e5da4: ; 0x020e5da4 - .word data_ov00_020e5fa4 - .global data_ov00_020e5da8 -data_ov00_020e5da8: ; 0x020e5da8 - .word data_ov00_020e5fac - .global data_ov00_020e5dac -data_ov00_020e5dac: ; 0x020e5dac - .word data_ov00_020e5fb4 - .global data_ov00_020e5db0 -data_ov00_020e5db0: ; 0x020e5db0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5db4 -data_ov00_020e5db4: ; 0x020e5db4 - .word data_ov00_020e5fbc - .global data_ov00_020e5db8 -data_ov00_020e5db8: ; 0x020e5db8 - .word data_ov00_020e5fc8 - .global data_ov00_020e5dbc -data_ov00_020e5dbc: ; 0x020e5dbc - .word data_ov00_020e5fd0 - .global data_ov00_020e5dc0 -data_ov00_020e5dc0: ; 0x020e5dc0 - .word data_ov00_020e5fd8 - .global data_ov00_020e5dc4 -data_ov00_020e5dc4: ; 0x020e5dc4 - .word data_ov00_020e5fe0 - .global data_ov00_020e5dc8 -data_ov00_020e5dc8: ; 0x020e5dc8 - .word data_ov00_020e5fe8 - .global data_ov00_020e5dcc -data_ov00_020e5dcc: ; 0x020e5dcc - .word data_ov00_020e5ff4 - .global data_ov00_020e5dd0 -data_ov00_020e5dd0: ; 0x020e5dd0 - .word data_ov00_020e6000 - .global data_ov00_020e5dd4 -data_ov00_020e5dd4: ; 0x020e5dd4 - .word data_ov00_020e6008 - .global data_ov00_020e5dd8 -data_ov00_020e5dd8: ; 0x020e5dd8 - .word data_ov00_020e6010 - .global data_ov00_020e5ddc -data_ov00_020e5ddc: ; 0x020e5ddc - .word data_ov00_020e6018 - .global data_ov00_020e5de0 -data_ov00_020e5de0: ; 0x020e5de0 - .word data_ov00_020e6024 - .global data_ov00_020e5de4 -data_ov00_020e5de4: ; 0x020e5de4 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5de8 -data_ov00_020e5de8: ; 0x020e5de8 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5dec -data_ov00_020e5dec: ; 0x020e5dec - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5df0 -data_ov00_020e5df0: ; 0x020e5df0 - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5df4 -data_ov00_020e5df4: ; 0x020e5df4 - .byte 0x00, 0x00, 0x00, 0x00 - .global sSpecialItemModelNames -sSpecialItemModelNames: ; 0x020e5df8 - .word data_ov00_020e6030 - .global data_ov00_020e5dfc -data_ov00_020e5dfc: ; 0x020e5dfc - .word data_ov00_020e603c - .global data_ov00_020e5e00 -data_ov00_020e5e00: ; 0x020e5e00 - .word data_ov00_020e6048 - .global data_ov00_020e5e04 -data_ov00_020e5e04: ; 0x020e5e04 - .word data_ov00_020e6050 - .global data_ov00_020e5e08 -data_ov00_020e5e08: ; 0x020e5e08 - .word data_ov00_020e6058 - .global data_ov00_020e5e0c -data_ov00_020e5e0c: ; 0x020e5e0c - .word data_ov00_020e6068 - .global data_ov00_020e5e10 -data_ov00_020e5e10: ; 0x020e5e10 - .word data_ov00_020e6070 - .global data_ov00_020e5e14 -data_ov00_020e5e14: ; 0x020e5e14 - .ascii "key" - .byte 0x00 - .global data_ov00_020e5e18 -data_ov00_020e5e18: ; 0x020e5e18 - .ascii "key" - .byte 0x00 - .global data_ov00_020e5e1c -data_ov00_020e5e1c: ; 0x020e5e1c - .ascii "key" - .byte 0x00 - .global data_ov00_020e5e20 -data_ov00_020e5e20: ; 0x020e5e20 - .ascii "rupee_g" - .byte 0x00 - .global data_ov00_020e5e28 -data_ov00_020e5e28: ; 0x020e5e28 - .ascii "swA" - .byte 0x00 - .global data_ov00_020e5e2c -data_ov00_020e5e2c: ; 0x020e5e2c - .ascii "shA" - .byte 0x00 - .global data_ov00_020e5e30 -data_ov00_020e5e30: ; 0x020e5e30 - .ascii "force_y" - .byte 0x00 - .global data_ov00_020e5e38 -data_ov00_020e5e38: ; 0x020e5e38 - .ascii "bomb" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5e40 -data_ov00_020e5e40: ; 0x020e5e40 - .ascii "bow" - .byte 0x00 - .global data_ov00_020e5e44 -data_ov00_020e5e44: ; 0x020e5e44 - .ascii "rupee_g" - .byte 0x00 - .global data_ov00_020e5e4c -data_ov00_020e5e4c: ; 0x020e5e4c - .ascii "heart_utu" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e5e58 -data_ov00_020e5e58: ; 0x020e5e58 - .ascii "boomerang" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e5e64 -data_ov00_020e5e64: ; 0x020e5e64 - .ascii "scp" - .byte 0x00 - .global data_ov00_020e5e68 -data_ov00_020e5e68: ; 0x020e5e68 - .ascii "bomchu" - .byte 0x00, 0x00 - .global data_ov00_020e5e70 -data_ov00_020e5e70: ; 0x020e5e70 - .ascii "bosskey" - .byte 0x00 - .global data_ov00_020e5e78 -data_ov00_020e5e78: ; 0x020e5e78 - .ascii "rev_bin" - .byte 0x00 - .global data_ov00_020e5e80 -data_ov00_020e5e80: ; 0x020e5e80 - .ascii "mapSea" - .byte 0x00, 0x00 - .global data_ov00_020e5e88 -data_ov00_020e5e88: ; 0x020e5e88 - .ascii "mapSea" - .byte 0x00, 0x00 - .global data_ov00_020e5e90 -data_ov00_020e5e90: ; 0x020e5e90 - .ascii "mapSea" - .byte 0x00, 0x00 - .global data_ov00_020e5e98 -data_ov00_020e5e98: ; 0x020e5e98 - .ascii "mapSea" - .byte 0x00, 0x00 - .global data_ov00_020e5ea0 -data_ov00_020e5ea0: ; 0x020e5ea0 - .ascii "rupee_b" - .byte 0x00 - .global data_ov00_020e5ea8 -data_ov00_020e5ea8: ; 0x020e5ea8 - .ascii "rupee_r" - .byte 0x00 - .global data_ov00_020e5eb0 -data_ov00_020e5eb0: ; 0x020e5eb0 - .ascii "rupee_r" - .byte 0x00 - .global data_ov00_020e5eb8 -data_ov00_020e5eb8: ; 0x020e5eb8 - .ascii "rupee_go" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5ec4 -data_ov00_020e5ec4: ; 0x020e5ec4 - .ascii "force_y" - .byte 0x00 - .global data_ov00_020e5ecc -data_ov00_020e5ecc: ; 0x020e5ecc - .ascii "force_r" - .byte 0x00 - .global data_ov00_020e5ed4 -data_ov00_020e5ed4: ; 0x020e5ed4 - .ascii "force_b" - .byte 0x00 - .global data_ov00_020e5edc -data_ov00_020e5edc: ; 0x020e5edc - .ascii "ham" - .byte 0x00 - .global data_ov00_020e5ee0 -data_ov00_020e5ee0: ; 0x020e5ee0 - .ascii "rope" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5ee8 -data_ov00_020e5ee8: ; 0x020e5ee8 - .ascii "cstl_c" - .byte 0x00, 0x00 - .global data_ov00_020e5ef0 -data_ov00_020e5ef0: ; 0x020e5ef0 - .ascii "cstl_s" - .byte 0x00, 0x00 - .global data_ov00_020e5ef8 -data_ov00_020e5ef8: ; 0x020e5ef8 - .ascii "cstl_t" - .byte 0x00, 0x00 - .global data_ov00_020e5f00 -data_ov00_020e5f00: ; 0x020e5f00 - .ascii "fp" - .byte 0x00, 0x00 - .global data_ov00_020e5f04 -data_ov00_020e5f04: ; 0x020e5f04 - .ascii "key_su" - .byte 0x00, 0x00 - .global data_ov00_020e5f0c -data_ov00_020e5f0c: ; 0x020e5f0c - .ascii "arrowpod" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5f18 -data_ov00_020e5f18: ; 0x020e5f18 - .ascii "bmbagM" - .byte 0x00, 0x00 - .global data_ov00_020e5f20 -data_ov00_020e5f20: ; 0x020e5f20 - .ascii "bcbagM" - .byte 0x00, 0x00 - .global data_ov00_020e5f28 -data_ov00_020e5f28: ; 0x020e5f28 - .ascii "key_ki" - .byte 0x00, 0x00 - .global data_ov00_020e5f30 -data_ov00_020e5f30: ; 0x020e5f30 - .ascii "minaP" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e5f38 -data_ov00_020e5f38: ; 0x020e5f38 - .ascii "minaC" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e5f40 -data_ov00_020e5f40: ; 0x020e5f40 - .ascii "minaY" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e5f48 -data_ov00_020e5f48: ; 0x020e5f48 - .ascii "key_gh" - .byte 0x00, 0x00 - .global data_ov00_020e5f50 -data_ov00_020e5f50: ; 0x020e5f50 - .ascii "tic_tada" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5f5c -data_ov00_020e5f5c: ; 0x020e5f5c - .ascii "tic_ohome" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e5f68 -data_ov00_020e5f68: ; 0x020e5f68 - .ascii "tic_rare" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5f74 -data_ov00_020e5f74: ; 0x020e5f74 - .ascii "neckl" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e5f7c -data_ov00_020e5f7c: ; 0x020e5f7c - .ascii "slvarm" - .byte 0x00, 0x00 - .global data_ov00_020e5f84 -data_ov00_020e5f84: ; 0x020e5f84 - .ascii "telescope" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e5f90 -data_ov00_020e5f90: ; 0x020e5f90 - .ascii "notebook" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5f9c -data_ov00_020e5f9c: ; 0x020e5f9c - .ascii "letter" - .byte 0x00, 0x00 - .global data_ov00_020e5fa4 -data_ov00_020e5fa4: ; 0x020e5fa4 - .ascii "card" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5fac -data_ov00_020e5fac: ; 0x020e5fac - .ascii "marron" - .byte 0x00, 0x00 - .global data_ov00_020e5fb4 -data_ov00_020e5fb4: ; 0x020e5fb4 - .ascii "swBedge" - .byte 0x00 - .global data_ov00_020e5fbc -data_ov00_020e5fbc: ; 0x020e5fbc - .ascii "makimono" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5fc8 -data_ov00_020e5fc8: ; 0x020e5fc8 - .ascii "hagaH" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e5fd0 -data_ov00_020e5fd0: ; 0x020e5fd0 - .ascii "hagaK" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e5fd8 -data_ov00_020e5fd8: ; 0x020e5fd8 - .ascii "hagaS" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e5fe0 -data_ov00_020e5fe0: ; 0x020e5fe0 - .ascii "rev_bin" - .byte 0x00 - .global data_ov00_020e5fe8 -data_ov00_020e5fe8: ; 0x020e5fe8 - .ascii "rev_binP" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e5ff4 -data_ov00_020e5ff4: ; 0x020e5ff4 - .ascii "rev_binY" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e6000 -data_ov00_020e6000: ; 0x020e6000 - .ascii "sand_m" - .byte 0x00, 0x00 - .global data_ov00_020e6008 -data_ov00_020e6008: ; 0x020e6008 - .ascii "compass" - .byte 0x00 - .global data_ov00_020e6010 -data_ov00_020e6010: ; 0x020e6010 - .ascii "lure" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e6018 -data_ov00_020e6018: ; 0x020e6018 - .ascii "rupee_bb" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e6024 -data_ov00_020e6024: ; 0x020e6024 - .ascii "rupee_bb" - .byte 0x00, 0x00, 0x00, 0x00 - .global data_ov00_020e6030 -data_ov00_020e6030: ; 0x020e6030 - .ascii "mapTakara" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e603c -data_ov00_020e603c: ; 0x020e603c - .ascii "arrowpodL" - .byte 0x00, 0x00, 0x00 - .global data_ov00_020e6048 -data_ov00_020e6048: ; 0x020e6048 - .ascii "bmbagL" - .byte 0x00, 0x00 - .global data_ov00_020e6050 -data_ov00_020e6050: ; 0x020e6050 - .ascii "bcbagL" - .byte 0x00, 0x00 - .global data_ov00_020e6058 -data_ov00_020e6058: ; 0x020e6058 - .ascii "Player/get/gd_" - .byte 0x00, 0x00 - .global data_ov00_020e6068 -data_ov00_020e6068: ; 0x020e6068 - .ascii ".nsbmd" - .byte 0x00, 0x00 - .global data_ov00_020e6070 -data_ov00_020e6070: ; 0x020e6070 - .ascii ".nsbtx" - .byte 0x00, 0x00 diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 9d282285..d34e9a40 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -1,7 +1,8 @@ #include "Item/ItemManager.hpp" -extern u32 *data_027e0ce0[]; +static const char *sShipPartTypes[] = { "anc", "bow", "hul", "can", "dco", "pdl", "fnl", "brg" }; +extern u32 *data_027e0ce0[]; THUMB ItemManager* ItemManager::Create() { gItemManager = new(data_027e0ce0[1], 4) ItemManager(); return gItemManager; @@ -384,11 +385,109 @@ 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* LoadTreasureItemFanfare(ItemModel**, s32 treasureType, bool, bool); -extern const char *sUnknownItemModelNames[]; -extern const char *data_ov00_020e5dd4[]; -extern const char *data_ov00_020e5db4[]; -extern const char *sItemModelNames[]; -extern const char *sSpecialItemModelNames[]; +static char *sDefaultItemModel = "key"; +static char *sItemModelNames[70] = { + [ItemId_None] = "key", + [ItemId_SmallKey] = "key", + [ItemId_GreenRupee] = "rupee_g", + [ItemId_OshusSword] = "swA", + [ItemId_WoodenShield] = "shA", + [ItemId_Unk_5] = NULL, + [ItemId_Unk_6] = "force_y", + [ItemId_BombBag] = "bomb\0\0\0", + [ItemId_Bow] = "bow", + [ItemId_BigGreenRupee] = "rupee_g", + [ItemId_HeartContainer] = "heart_utu\0\0", + [ItemId_Unk_11] = NULL, + [ItemId_Boomerang] = "boomerang\0\0", + [ItemId_Scoop] = "scp", + [ItemId_BombchuBag] = "bomchu\0", + [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_Unk_23] = NULL, + [ItemId_BlueRupee] = "rupee_b", + [ItemId_RedRupee] = "rupee_r", + [ItemId_BigRedRupee] = "rupee_r", + [ItemId_GoldRupee] = "rupee_go\0\0\0", + [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_Cannon] = NULL, + [ItemId_SunKey] = "key_su\0", + [ItemId_Unk_39] = NULL, + [ItemId_Quiver] = "arrowpod\0\0\0", + [ItemId_BigBombBag] = "bmbagM\0", + [ItemId_BigBombchuBag] = "bcbagM\0", + [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_PinkCoral] = NULL, + [ItemId_WhitePearlLoop] = NULL, + [ItemId_DarkPearlLoop] = NULL, + [ItemId_ZoraScale] = NULL, + [ItemId_GoronAmber] = NULL, + [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_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_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_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", +}; +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, +}; +char *sSpecialItemModelNames[7] = { + "mapTakara\0\0", + "arrowpodL\0\0", + "bmbagL\0", + "bcbagL\0", + "Player/get/gd_\0", + ".nsbmd\0", + ".nsbtx\0", +}; THUMB void ItemManager::LoadFanfareItem(ItemId id) { mFanfareItem = id; @@ -419,18 +518,18 @@ THUMB void ItemManager::LoadFanfareItem(ItemId id) { } else if (id == ItemId_BigBombchuBag && (s32) mBombchuBagSize >= 1) { itemName = sSpecialItemModelNames[3]; } else if (id == ItemId_HerosNewClothes) { - itemName = sUnknownItemModelNames[11]; + itemName = sShipPartTypes[11]; } else if (id < ItemId_Unk_70) { itemName = sItemModelNames[id]; } else if (id >= ItemId_SwordsmanScroll && id < ItemId_GoldenChimney) { - itemName = data_ov00_020e5db4[id - ItemId_SwordsmanScroll]; + itemName = sItemModelNames2[id - ItemId_SwordsmanScroll]; } else if (id >= ItemId_CycloneSlate && id < ItemId_Unk_136) { - itemName = data_ov00_020e5dd4[id - ItemId_CycloneSlate]; + itemName = sItemModelNames3[id - ItemId_CycloneSlate]; } else if (id >= ItemId_TREASURE_CHART_START && id <= ItemId_TREASURE_CHART_END) { itemName = sSpecialItemModelNames[0]; } if (!itemName) { - itemName = sUnknownItemModelNames[8]; + itemName = sDefaultItemModel; } strcat(modelName, sSpecialItemModelNames[4]); strcat(modelName, itemName); diff --git a/tools/lcf.py b/tools/lcf.py index 7122d656..a06238f0 100644 --- a/tools/lcf.py +++ b/tools/lcf.py @@ -78,7 +78,6 @@ ov00 = Overlay(name='ov00', after='ARM9', objects=[ 'src/00_Core/Item/Item.cpp', 'asm/ov00/Item/Item.s', 'src/00_Core/Item/ItemManager.cpp', - 'asm/ov00/Item/ItemManager.s', 'src/00_Core/Player/LinkStateRoll.cpp', 'asm/ov00/Player/LinkStateRoll.s', 'src/00_Core/Player/PlayerControl.cpp', From 79ac250901c572eafb64102dbc6860c8d3c3212e Mon Sep 17 00:00:00 2001 From: Aetias Date: Fri, 3 May 2024 15:16:25 +0200 Subject: [PATCH 72/76] Add `-str noreuse` compiler flag --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 5c69c0ff..0dc3c52a 100644 --- a/Makefile +++ b/Makefile @@ -49,7 +49,7 @@ LCF_FILE := $(ROOT)/$(BUILD_DIR)/arm9_linker_script.lcf OBJS_FILE := $(ROOT)/$(BUILD_DIR)/arm9_objects.txt ASM_FLAGS := -proc arm5te -d $(REGION) -i asm -msgstyle gcc -CC_FLAGS := -O4,p -enum int -char signed -proc arm946e -gccext,on -fp soft -inline on,noauto -Cpp_exceptions off -RTTI off -interworking -sym on -gccinc -i include -i libs/c/include -i libs/cpp/include -nolink -d $(REGION) -msgstyle gcc +CC_FLAGS := -O4,p -enum int -char signed -str noreuse -proc arm946e -gccext,on -fp soft -inline on,noauto -Cpp_exceptions off -RTTI off -interworking -sym on -gccinc -i include -i libs/c/include -i libs/cpp/include -nolink -d $(REGION) -msgstyle gcc C_FLAGS := -lang=c CXX_FLAGS := -lang=c++ LD_FLAGS := -proc arm946e -nostdlib -interworking -nodead -m Entry -map closure,unused -o main.bin -msgstyle gcc From 6bce0e739d89da2f75149e4cab11393866b7427e Mon Sep 17 00:00:00 2001 From: Aetias Date: Fri, 3 May 2024 15:35:15 +0200 Subject: [PATCH 73/76] Add advice on decompiling source files --- docs/decompiling.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/docs/decompiling.md b/docs/decompiling.md index e0ea60f5..3ff23f2b 100644 --- a/docs/decompiling.md +++ b/docs/decompiling.md @@ -2,6 +2,7 @@ This document describes how you can start decompiling code and contribute to the project. Feel free to ask for help if you get stuck or need assistance. - [Pick a source file](#pick-a-source-file) +- [Decompiling a source file](#decompiling-a-source-file) - [Decompiling a function](#decompiling-a-function) - [Decompiling `.init` functions](#decompiling-init-functions) - [The Ghidra project](#the-ghidra-project) @@ -18,13 +19,24 @@ If you want to unclaim the file, leave another comment so we can be certain that again. Remember to make a pull request of any notable progress you made on the source file, which can include [non-matching functions](/CONTRIBUTING.md#non-matching-functions). +## Decompiling a source file +It can be tricky to fully decompile an assembly file into a C/C++ source file, so here's some advice to make it easier: +- C/C++ code is built before assembly code + - This means you can take one function from the top of your assembly file, decompile it, and append it to the bottom of + your C/C++ file. +- Build the ROM often + - We recommend building every time you decompile a function. + - This is because functions can sometimes match in decomp.me, but not when building. + - If your ROM doesn't match, it's easier to know which function is wrong if it's the only function added since the last + successful build. + ## Decompiling a function Say you've found a function you want to decompile. Here are the steps we recommend for decompiling it: 1. Visit [decomp.me](https://decomp.me/) and start decomping. 1. Under the platforms, select "Nintendo DS". 1. Select compiler preset "Phantom Hourglass". -1. Copy and paste the target assembly for your function, including the `func_start` and `func_end` macros, and the pool constants. -For example: +1. Copy and paste the target assembly for your function, including the `func_start` and `func_end` macros, and the pool +constants. For example: ```arm .global func_ov09_0211bf48 thumb_func_start func_ov09_0211bf48 From 0538f141fda58bf09f2da841f2dadadb8696cdf4 Mon Sep 17 00:00:00 2001 From: Aetias Date: Fri, 3 May 2024 15:41:45 +0200 Subject: [PATCH 74/76] .gitignore `*.xMAP` --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b63315e9..a0a106e8 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ ph_*/ *bios.bin /m2ctx *.sav +*.xMAP From beaf1e919c281d4faf08b2681e0fc86313d5a954 Mon Sep 17 00:00:00 2001 From: Aetias Date: Fri, 3 May 2024 18:33:36 +0200 Subject: [PATCH 75/76] Convert assembly to UTF-8 --- asm/main/main_02000000.s | 27 +- asm/ov00/Player/LinkStateDamage.s | 24 +- asm/ov00/Player/LinkStateInteract.s | 21 +- asm/ov00/Player/LinkStateMove.s | 3 +- asm/ov03.s | 225 +++++++++----- asm/ov04.s | 441 ++++++++++++++++++---------- asm/ov11.s | 3 +- asm/ov13.s | 6 +- asm/ov14/ov14_0213b778.s | 3 +- 9 files changed, 502 insertions(+), 251 deletions(-) diff --git a/asm/main/main_02000000.s b/asm/main/main_02000000.s index 74757c8c..13217fb4 100644 --- a/asm/main/main_02000000.s +++ b/asm/main/main_02000000.s @@ -113908,19 +113908,23 @@ data_02057664: ; 0x02057664 .byte 0x00 .global data_02057670 data_02057670: ; 0x02057670 - .ascii "ƒƒ‚ƒŠƒKƒiƒC.file" + ; string "ãƒĄãƒĸãƒĒã‚Ŧナイ.file" + .byte 0x83, 0x81, 0x83, 0x82, 0x83, 0x8a, 0x83, 0x4b, 0x83, 0x69, 0x83, 0x43, 0x2e, 0x66, 0x69, 0x6c, 0x65 .byte 0x00, 0x00, 0x00 .global data_02057684 data_02057684: ; 0x02057684 - .ascii "ƒVƒj" + ; string "ã‚ˇãƒ‹" + .byte 0x83, 0x56, 0x83, 0x6a .byte 0x00, 0x00, 0x00, 0x00 .global data_0205768c data_0205768c: ; 0x0205768c - .ascii "ƒIƒL" + ; string "ã‚Ēキ" + .byte 0x83, 0x49, 0x83, 0x4c .byte 0x00, 0x00, 0x00, 0x00 .global data_02057694 data_02057694: ; 0x02057694 - .ascii "ƒlƒ‹" + ; string "ネãƒĢ" + .byte 0x83, 0x6c, 0x83, 0x8b .byte 0x00, 0x00, 0x00, 0x00 .global data_0205769c data_0205769c: ; 0x0205769c @@ -113940,7 +113944,8 @@ data_020576e4: ; 0x020576e4 .byte 0x00, 0x00 .global data_020576f0 data_020576f0: ; 0x020576f0 - .ascii "ƒƒ‚ƒŠƒKƒiƒC.%s" + ; string "ãƒĄãƒĸãƒĒã‚Ŧナイ.%s" + .byte 0x83, 0x81, 0x83, 0x82, 0x83, 0x8a, 0x83, 0x4b, 0x83, 0x69, 0x83, 0x43, 0x2e, 0x25, 0x73 .byte 0x00 .global data_02057700 data_02057700: ; 0x02057700 @@ -113959,11 +113964,13 @@ data_02057710: ; 0x02057710 .byte 0x00, 0x00, 0x00 .global data_02057718 data_02057718: ; 0x02057718 - .ascii "ƒR[ƒX:" + ; string "ã‚ŗãƒŧ゚:" + .byte 0x83, 0x52, 0x81, 0x5b, 0x83, 0x58, 0x3a .byte 0x00 .global data_02057720 data_02057720: ; 0x02057720 - .ascii "ƒR[ƒXƒiƒV" + ; string "ã‚ŗãƒŧã‚šãƒŠã‚ˇ" + .byte 0x83, 0x52, 0x81, 0x5b, 0x83, 0x58, 0x83, 0x69, 0x83, 0x56 .byte 0x00, 0x00 .global data_0205772c data_0205772c: ; 0x0205772c @@ -113983,11 +113990,13 @@ data_02057744: ; 0x02057744 .byte 0x00, 0x00 .global data_02057750 data_02057750: ; 0x02057750 - .ascii "ƒŒƒCƒKƒCƒ`ƒ…ƒE(%d,%d)" + ; string "ãƒŦイã‚ŦイチãƒĨã‚Ļ(%d,%d)" + .byte 0x83, 0x8c, 0x83, 0x43, 0x83, 0x4b, 0x83, 0x43, 0x83, 0x60, 0x83, 0x85, 0x83, 0x45, 0x28, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x29 .byte 0x00, 0x00, 0x00 .global data_02057768 data_02057768: ; 0x02057768 - .ascii "ƒŒƒCƒKƒC ƒnƒbƒZƒC" + ; string "ãƒŦイã‚Ŧイ ハッã‚ģイ" + .byte 0x83, 0x8c, 0x83, 0x43, 0x83, 0x4b, 0x83, 0x43, 0x20, 0x83, 0x6e, 0x83, 0x62, 0x83, 0x5a, 0x83, 0x43 .byte 0x00, 0x00, 0x00 .global data_0205777c data_0205777c: ; 0x0205777c diff --git a/asm/ov00/Player/LinkStateDamage.s b/asm/ov00/Player/LinkStateDamage.s index 717c8f2a..89e6fc59 100644 --- a/asm/ov00/Player/LinkStateDamage.s +++ b/asm/ov00/Player/LinkStateDamage.s @@ -1496,33 +1496,41 @@ _ZTV15LinkStateDamage: ; 0x020e5b68 .word func_ov05_0210f6dc .global data_ov00_020e5bac data_ov00_020e5bac: ; 0x020e5bac - .ascii "‘OŦƒ_ƒÄļ‘Ŧ“x" + ; string "å‰å°ãƒ€ãƒĄå†į”Ÿé€ŸåēĻ" + .byte 0x91, 0x4f, 0x8f, 0xac, 0x83, 0x5f, 0x83, 0x81, 0x8d, 0xc4, 0x90, 0xb6, 0x91, 0xac, 0x93, 0x78 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e5bc0 data_ov00_020e5bc0: ; 0x020e5bc0 - .ascii "‘OŦƒ_ƒŠJŽnƒtƒŒ[ƒ€" + ; string "å‰å°ãƒ€ãƒĄé–‹å§‹ãƒ•ãƒŦãƒŧム" + .byte 0x91, 0x4f, 0x8f, 0xac, 0x83, 0x5f, 0x83, 0x81, 0x8a, 0x4a, 0x8e, 0x6e, 0x83, 0x74, 0x83, 0x8c, 0x81, 0x5b, 0x83, 0x80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e5bd8 data_ov00_020e5bd8: ; 0x020e5bd8 - .ascii "‘OŦƒ_ƒI—šƒtƒŒ[ƒ€" + ; string "å‰å°ãƒ€ãƒĄįĩ‚äē†ãƒ•ãƒŦãƒŧム" + .byte 0x91, 0x4f, 0x8f, 0xac, 0x83, 0x5f, 0x83, 0x81, 0x8f, 0x49, 0x97, 0xb9, 0x83, 0x74, 0x83, 0x8c, 0x81, 0x5b, 0x83, 0x80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e5bf0 data_ov00_020e5bf0: ; 0x020e5bf0 - .ascii "ŒãŦƒ_ƒÄļ‘Ŧ“x" + ; string "åžŒå°ãƒ€ãƒĄå†į”Ÿé€ŸåēĻ" + .byte 0x8c, 0xe3, 0x8f, 0xac, 0x83, 0x5f, 0x83, 0x81, 0x8d, 0xc4, 0x90, 0xb6, 0x91, 0xac, 0x93, 0x78 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e5c04 data_ov00_020e5c04: ; 0x020e5c04 - .ascii "ŒãŦƒ_ƒŠJŽnƒtƒŒ[ƒ€" + ; string "åžŒå°ãƒ€ãƒĄé–‹å§‹ãƒ•ãƒŦãƒŧム" + .byte 0x8c, 0xe3, 0x8f, 0xac, 0x83, 0x5f, 0x83, 0x81, 0x8a, 0x4a, 0x8e, 0x6e, 0x83, 0x74, 0x83, 0x8c, 0x81, 0x5b, 0x83, 0x80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e5c1c data_ov00_020e5c1c: ; 0x020e5c1c - .ascii "ŒãŦƒ_ƒI—šƒtƒŒ[ƒ€" + ; string "åžŒå°ãƒ€ãƒĄįĩ‚äē†ãƒ•ãƒŦãƒŧム" + .byte 0x8c, 0xe3, 0x8f, 0xac, 0x83, 0x5f, 0x83, 0x81, 0x8f, 0x49, 0x97, 0xb9, 0x83, 0x74, 0x83, 0x8c, 0x81, 0x5b, 0x83, 0x80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e5c34 data_ov00_020e5c34: ; 0x020e5c34 - .ascii "ƒrƒŠƒrƒŠ‰ņ”" + ; string "ビãƒĒビãƒĒ回数" + .byte 0x83, 0x72, 0x83, 0x8a, 0x83, 0x72, 0x83, 0x8a, 0x89, 0xf1, 0x90, 0x94 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e5c44 data_ov00_020e5c44: ; 0x020e5c44 - .ascii "ƒrƒŠƒrƒŠÄļ‘Ŧ“x" + ; string "ビãƒĒビãƒĒå†į”Ÿé€ŸåēĻ" + .byte 0x83, 0x72, 0x83, 0x8a, 0x83, 0x72, 0x83, 0x8a, 0x8d, 0xc4, 0x90, 0xb6, 0x91, 0xac, 0x93, 0x78 .byte 0x00, 0x00, 0x00, 0x00 diff --git a/asm/ov00/Player/LinkStateInteract.s b/asm/ov00/Player/LinkStateInteract.s index 1d94409f..691ece6b 100644 --- a/asm/ov00/Player/LinkStateInteract.s +++ b/asm/ov00/Player/LinkStateInteract.s @@ -2200,29 +2200,36 @@ _ZTV17LinkStateInteract: ; 0x020e5974 .word func_ov05_0210f71c .global data_ov00_020e59b8 data_ov00_020e59b8: ; 0x020e59b8 - .ascii "Ž‚ŋã‚°Äļ‘Ŧ“x" + ; string "æŒãĄä¸Šã’å†į”Ÿé€ŸåēĻ" + .byte 0x8e, 0x9d, 0x82, 0xbf, 0x8f, 0xe3, 0x82, 0xb0, 0x8d, 0xc4, 0x90, 0xb6, 0x91, 0xac, 0x93, 0x78 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e59cc data_ov00_020e59cc: ; 0x020e59cc - .ascii "Ž‚ŋã‚°ŠJŽnƒtƒŒ[ƒ€" + ; string "æŒãĄä¸Šã’é–‹å§‹ãƒ•ãƒŦãƒŧム" + .byte 0x8e, 0x9d, 0x82, 0xbf, 0x8f, 0xe3, 0x82, 0xb0, 0x8a, 0x4a, 0x8e, 0x6e, 0x83, 0x74, 0x83, 0x8c, 0x81, 0x5b, 0x83, 0x80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e59e4 data_ov00_020e59e4: ; 0x020e59e4 - .ascii "Ž‚ŋã‚°I—šƒtƒŒ[ƒ€" + ; string "æŒãĄä¸Šã’įĩ‚äē†ãƒ•ãƒŦãƒŧム" + .byte 0x8e, 0x9d, 0x82, 0xbf, 0x8f, 0xe3, 0x82, 0xb0, 0x8f, 0x49, 0x97, 0xb9, 0x83, 0x74, 0x83, 0x8c, 0x81, 0x5b, 0x83, 0x80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e59fc data_ov00_020e59fc: ; 0x020e59fc - .ascii "“Š‚°Äļ‘Ŧ“x" + ; string "æŠ•ã’å†į”Ÿé€ŸåēĻ" + .byte 0x93, 0x8a, 0x82, 0xb0, 0x8d, 0xc4, 0x90, 0xb6, 0x91, 0xac, 0x93, 0x78 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e5a0c data_ov00_020e5a0c: ; 0x020e5a0c - .ascii "“Š‚°ŠJŽnƒtƒŒ[ƒ€" + ; string "投げ開始フãƒŦãƒŧム" + .byte 0x93, 0x8a, 0x82, 0xb0, 0x8a, 0x4a, 0x8e, 0x6e, 0x83, 0x74, 0x83, 0x8c, 0x81, 0x5b, 0x83, 0x80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e5a20 data_ov00_020e5a20: ; 0x020e5a20 - .ascii "“Š‚°I—šƒtƒŒ[ƒ€" + ; string "投げįĩ‚äē†ãƒ•ãƒŦãƒŧム" + .byte 0x93, 0x8a, 0x82, 0xb0, 0x8f, 0x49, 0x97, 0xb9, 0x83, 0x74, 0x83, 0x8c, 0x81, 0x5b, 0x83, 0x80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e5a34 data_ov00_020e5a34: ; 0x020e5a34 - .ascii "’âŽ~ŽžŠÔ" + ; string "停æ­ĸ時間" + .byte 0x92, 0xe2, 0x8e, 0x7e, 0x8e, 0x9e, 0x8a, 0xd4 .byte 0x00, 0x00, 0x00, 0x00 diff --git a/asm/ov00/Player/LinkStateMove.s b/asm/ov00/Player/LinkStateMove.s index 0ca3780b..f5084504 100644 --- a/asm/ov00/Player/LinkStateMove.s +++ b/asm/ov00/Player/LinkStateMove.s @@ -220,5 +220,6 @@ data_ov00_020e5740: ; 0x020e5740 .word func_ov05_0210f71c .global data_ov00_020e5744 data_ov00_020e5744: ; 0x020e5744 - .ascii "‘§‚Ģƒ{ƒŠƒ…[ƒ€’á‰ē—Ļ" + ; string "息吚きボãƒĒãƒĨãƒŧムäŊŽä¸‹įއ" + .byte 0x91, 0xa7, 0x90, 0x81, 0x82, 0xab, 0x83, 0x7b, 0x83, 0x8a, 0x83, 0x85, 0x81, 0x5b, 0x83, 0x80, 0x92, 0xe1, 0x89, 0xba, 0x97, 0xa6 .byte 0x00, 0x00 diff --git a/asm/ov03.s b/asm/ov03.s index 8f95b4b5..89882c2a 100644 --- a/asm/ov03.s +++ b/asm/ov03.s @@ -43632,279 +43632,348 @@ data_ov03_02100260: ; 0x02100260 .byte 0x00, 0x00, 0x00 .global data_ov03_02100264 data_ov03_02100264: ; 0x02100264 - .ascii "‚ž" + ; string "だ" + .byte 0x82, 0xbe .byte 0x00, 0x00 .global data_ov03_02100268 data_ov03_02100268: ; 0x02100268 - .ascii "‚Ũ" + ; string "ãŋ" + .byte 0x82, 0xdd .byte 0x00, 0x00 .global data_ov03_0210026c data_ov03_0210026c: ; 0x0210026c - .ascii "‚Ā" + ; string "ãĸ" + .byte 0x82, 0xc0 .byte 0x00, 0x00 .global data_ov03_02100270 data_ov03_02100270: ; 0x02100270 - .ascii "‚Ã" + ; string "ãĨ" + .byte 0x82, 0xc3 .byte 0x00, 0x00 .global data_ov03_02100274 data_ov03_02100274: ; 0x02100274 - .ascii "‚ā" + ; string "も" + .byte 0x82, 0xe0 .byte 0x00, 0x00 .global data_ov03_02100278 data_ov03_02100278: ; 0x02100278 - .ascii "‚â" + ; string "や" + .byte 0x82, 0xe2 .byte 0x00, 0x00 .global data_ov03_0210027c data_ov03_0210027c: ; 0x0210027c - .ascii "‚Å" + ; string "で" + .byte 0x82, 0xc5 .byte 0x00, 0x00 .global data_ov03_02100280 data_ov03_02100280: ; 0x02100280 - .ascii "‚ä" + ; string "ゆ" + .byte 0x82, 0xe4 .byte 0x00, 0x00 .global data_ov03_02100284 data_ov03_02100284: ; 0x02100284 - .ascii "‚Į" + ; string "お" + .byte 0x82, 0xc7 .byte 0x00, 0x00 .global data_ov03_02100288 data_ov03_02100288: ; 0x02100288 - .ascii "‚ī" + ; string "ゑ" + .byte 0x82, 0xef .byte 0x00, 0x00 .global data_ov03_0210028c data_ov03_0210028c: ; 0x0210028c - .ascii "‚æ" + ; string "よ" + .byte 0x82, 0xe6 .byte 0x00, 0x00 .global data_ov03_02100290 data_ov03_02100290: ; 0x02100290 - .ascii "‚î" + ; string "ゐ" + .byte 0x82, 0xee .byte 0x00, 0x00 .global data_ov03_02100294 data_ov03_02100294: ; 0x02100294 - .ascii "‚Î" + ; string "ば" + .byte 0x82, 0xce .byte 0x00, 0x00 .global data_ov03_02100298 data_ov03_02100298: ; 0x02100298 - .ascii "‚į" + ; string "ら" + .byte 0x82, 0xe7 .byte 0x00, 0x00 .global data_ov03_0210029c data_ov03_0210029c: ; 0x0210029c - .ascii "‚ß" + ; string "め" + .byte 0x82, 0xdf .byte 0x00, 0x00 .global data_ov03_021002a0 data_ov03_021002a0: ; 0x021002a0 - .ascii "‚Ū" + ; string "む" + .byte 0x82, 0xde .byte 0x00, 0x00 .global data_ov03_021002a4 data_ov03_021002a4: ; 0x021002a4 - .ascii "‚č" + ; string "り" + .byte 0x82, 0xe8 .byte 0x00, 0x00 .global data_ov03_021002a8 data_ov03_021002a8: ; 0x021002a8 - .ascii "‚Ü" + ; string "ぞ" + .byte 0x82, 0xdc .byte 0x00, 0x00 .global data_ov03_021002ac data_ov03_021002ac: ; 0x021002ac - .ascii "‚Ų" + ; string "ãģ" + .byte 0x82, 0xd9 .byte 0x00, 0x00 .global data_ov03_021002b0 data_ov03_021002b0: ; 0x021002b0 - .ascii "‚Ö" + ; string "へ" + .byte 0x82, 0xd6 .byte 0x00, 0x00 .global data_ov03_021002b4 data_ov03_021002b4: ; 0x021002b4 - .ascii "‚Ņ" + ; string "ãŗ" + .byte 0x82, 0xd1 .byte 0x00, 0x00 .global data_ov03_021002b8 data_ov03_021002b8: ; 0x021002b8 - .ascii "‚é" + ; string "る" + .byte 0x82, 0xe9 .byte 0x00, 0x00 .global data_ov03_021002bc data_ov03_021002bc: ; 0x021002bc - .ascii "‚ę" + ; string "れ" + .byte 0x82, 0xea .byte 0x00, 0x00 .global data_ov03_021002c0 data_ov03_021002c0: ; 0x021002c0 - .ascii "‚Ô" + ; string "ãļ" + .byte 0x82, 0xd4 .byte 0x00, 0x00 .global data_ov03_021002c4 data_ov03_021002c4: ; 0x021002c4 - .ascii "‚ë" + ; string "ろ" + .byte 0x82, 0xeb .byte 0x00, 0x00 .global data_ov03_021002c8 data_ov03_021002c8: ; 0x021002c8 - .ascii "‚í" + ; string "わ" + .byte 0x82, 0xed .byte 0x00, 0x00 .global data_ov03_021002cc data_ov03_021002cc: ; 0x021002cc - .ascii "‚×" + ; string "ず" + .byte 0x82, 0xd7 .byte 0x00, 0x00 .global data_ov03_021002d0 data_ov03_021002d0: ; 0x021002d0 - .ascii "‚đ" + ; string "を" + .byte 0x82, 0xf0 .byte 0x00, 0x00 .global data_ov03_021002d4 data_ov03_021002d4: ; 0x021002d4 - .ascii "‚Ļ" + ; string "え" + .byte 0x82, 0xa6 .byte 0x00, 0x00 .global data_ov03_021002d8 data_ov03_021002d8: ; 0x021002d8 - .ascii "‚ņ" + ; string "ん" + .byte 0x82, 0xf1 .byte 0x00, 0x00 .global data_ov03_021002dc data_ov03_021002dc: ; 0x021002dc - .ascii "‚Ú" + ; string "ãŧ" + .byte 0x82, 0xda .byte 0x00, 0x00 .global data_ov03_021002e0 data_ov03_021002e0: ; 0x021002e0 - .ascii "™" + ; string "☆" + .byte 0x81, 0x99 .byte 0x00, 0x00 .global data_ov03_021002e4 data_ov03_021002e4: ; 0x021002e4 - .ascii "‡" + ; string "∞" + .byte 0x81, 0x87 .byte 0x00, 0x00 .global data_ov03_021002e8 data_ov03_021002e8: ; 0x021002e8 - .ascii "‚Ī" + ; string "ãą" + .byte 0x82, 0xcf .byte 0x00, 0x00 .global data_ov03_021002ec data_ov03_021002ec: ; 0x021002ec - .ascii "‚ą" + ; string "こ" + .byte 0x82, 0xb1 .byte 0x00, 0x00 .global data_ov03_021002f0 data_ov03_021002f0: ; 0x021002f0 - .ascii "‚Ē" + ; string "が" + .byte 0x82, 0xaa .byte 0x00, 0x00 .global data_ov03_021002f4 data_ov03_021002f4: ; 0x021002f4 - .ascii "‚ŗ" + ; string "さ" + .byte 0x82, 0xb3 .byte 0x00, 0x00 .global data_ov03_021002f8 data_ov03_021002f8: ; 0x021002f8 - .ascii "‚ĩ" + ; string "し" + .byte 0x82, 0xb5 .byte 0x00, 0x00 .global data_ov03_021002fc data_ov03_021002fc: ; 0x021002fc - .ascii "‚Ŧ" + ; string "ぎ" + .byte 0x82, 0xac .byte 0x00, 0x00 .global data_ov03_02100300 data_ov03_02100300: ; 0x02100300 - .ascii "‚¯" + ; string "け" + .byte 0x82, 0xaf .byte 0x00, 0x00 .global data_ov03_02100304 data_ov03_02100304: ; 0x02100304 - .ascii "‚­" + ; string "く" + .byte 0x82, 0xad .byte 0x00, 0x00 .global data_ov03_02100308 data_ov03_02100308: ; 0x02100308 - .ascii "‚Ģ" + ; string "き" + .byte 0x82, 0xab .byte 0x00, 0x00 .global data_ov03_0210030c data_ov03_0210030c: ; 0x0210030c - .ascii "‚Š" + ; string "か" + .byte 0x82, 0xa9 .byte 0x00, 0x00 .global data_ov03_02100310 data_ov03_02100310: ; 0x02100310 - .ascii "‚¨" + ; string "お" + .byte 0x82, 0xa8 .byte 0x00, 0x00 .global data_ov03_02100314 data_ov03_02100314: ; 0x02100314 - .ascii "‚Ō" + ; string "ぴ" + .byte 0x82, 0xd2 .byte 0x00, 0x00 .global data_ov03_02100318 data_ov03_02100318: ; 0x02100318 - .ascii "‚¤" + ; string "う" + .byte 0x82, 0xa4 .byte 0x00, 0x00 .global data_ov03_0210031c data_ov03_0210031c: ; 0x0210031c - .ascii "‚ĸ" + ; string "い" + .byte 0x82, 0xa2 .byte 0x00, 0x00 .global data_ov03_02100320 data_ov03_02100320: ; 0x02100320 - .ascii "‚ " + ; string "あ" + .byte 0x82, 0xa0 .byte 0x00, 0x00 .global data_ov03_02100324 data_ov03_02100324: ; 0x02100324 - .ascii "‚ˇ" + ; string "す" + .byte 0x82, 0xb7 .byte 0x00, 0x00 .global data_ov03_02100328 data_ov03_02100328: ; 0x02100328 - .ascii "‚š" + ; string "せ" + .byte 0x82, 0xb9 .byte 0x00, 0x00 .global data_ov03_0210032c data_ov03_0210032c: ; 0x0210032c - .ascii "‚Ž" + ; string "ぐ" + .byte 0x82, 0xae .byte 0x00, 0x00 .global data_ov03_02100330 data_ov03_02100330: ; 0x02100330 - .ascii "‚ģ" + ; string "そ" + .byte 0x82, 0xbb .byte 0x00, 0x00 .global data_ov03_02100334 data_ov03_02100334: ; 0x02100334 - .ascii "‚Ŋ" + ; string "た" + .byte 0x82, 0xbd .byte 0x00, 0x00 .global data_ov03_02100338 data_ov03_02100338: ; 0x02100338 - .ascii "‚°" + ; string "げ" + .byte 0x82, 0xb0 .byte 0x00, 0x00 .global data_ov03_0210033c data_ov03_0210033c: ; 0x0210033c - .ascii "‚Õ" + ; string "ãˇ" + .byte 0x82, 0xd5 .byte 0x00, 0x00 .global data_ov03_02100340 data_ov03_02100340: ; 0x02100340 - .ascii "‚ŋ" + ; string "ãĄ" + .byte 0x82, 0xbf .byte 0x00, 0x00 .global data_ov03_02100344 data_ov03_02100344: ; 0x02100344 - .ascii "‚Â" + ; string "つ" + .byte 0x82, 0xc2 .byte 0x00, 0x00 .global data_ov03_02100348 data_ov03_02100348: ; 0x02100348 - .ascii "‚˛" + ; string "ご" + .byte 0x82, 0xb2 .byte 0x00, 0x00 .global data_ov03_0210034c data_ov03_0210034c: ; 0x0210034c - .ascii "‚Ä" + ; string "ãĻ" + .byte 0x82, 0xc4 .byte 0x00, 0x00 .global data_ov03_02100350 data_ov03_02100350: ; 0x02100350 - .ascii "‚Æ" + ; string "と" + .byte 0x82, 0xc6 .byte 0x00, 0x00 .global data_ov03_02100354 data_ov03_02100354: ; 0x02100354 - .ascii "‚´" + ; string "ざ" + .byte 0x82, 0xb4 .byte 0x00, 0x00 .global data_ov03_02100358 data_ov03_02100358: ; 0x02100358 - .ascii "‚Ø" + ; string "ãē" + .byte 0x82, 0xd8 .byte 0x00, 0x00 .global data_ov03_0210035c data_ov03_0210035c: ; 0x0210035c - .ascii "‚Č" + ; string "ãĒ" + .byte 0x82, 0xc8 .byte 0x00, 0x00 .global data_ov03_02100360 data_ov03_02100360: ; 0x02100360 - .ascii "‚É" + ; string "ãĢ" + .byte 0x82, 0xc9 .byte 0x00, 0x00 .global data_ov03_02100364 data_ov03_02100364: ; 0x02100364 - .ascii "‚ļ" + ; string "じ" + .byte 0x82, 0xb6 .byte 0x00, 0x00 .global data_ov03_02100368 data_ov03_02100368: ; 0x02100368 - .ascii "‚Ę" + ; string "ãŦ" + .byte 0x82, 0xca .byte 0x00, 0x00 .global data_ov03_0210036c data_ov03_0210036c: ; 0x0210036c - .ascii "‚¸" + ; string "ず" + .byte 0x82, 0xb8 .byte 0x00, 0x00 .global data_ov03_02100370 data_ov03_02100370: ; 0x02100370 - .ascii "‚Û" + ; string "ãŊ" + .byte 0x82, 0xdb .byte 0x00, 0x00 .global data_ov03_02100374 data_ov03_02100374: ; 0x02100374 - .ascii "‚ē" + ; string "ぜ" + .byte 0x82, 0xba .byte 0x00, 0x00 .global data_ov03_02100378 data_ov03_02100378: ; 0x02100378 @@ -43912,27 +43981,33 @@ data_ov03_02100378: ; 0x02100378 .byte 0x00, 0x00 .global data_ov03_0210037c data_ov03_0210037c: ; 0x0210037c - .ascii "‚Í" + ; string "は" + .byte 0x82, 0xcd .byte 0x00, 0x00 .global data_ov03_02100380 data_ov03_02100380: ; 0x02100380 - .ascii "‚Ë" + ; string "ね" + .byte 0x82, 0xcb .byte 0x00, 0x00 .global data_ov03_02100384 data_ov03_02100384: ; 0x02100384 - .ascii "‚Đ" + ; string "ã˛" + .byte 0x82, 0xd0 .byte 0x00, 0x00 .global data_ov03_02100388 data_ov03_02100388: ; 0x02100388 - .ascii "‚Ķ" + ; string "ãĩ" + .byte 0x82, 0xd3 .byte 0x00, 0x00 .global data_ov03_0210038c data_ov03_0210038c: ; 0x0210038c - .ascii "‚ŧ" + ; string "ぞ" + .byte 0x82, 0xbc .byte 0x00, 0x00 .global data_ov03_02100390 data_ov03_02100390: ; 0x02100390 - .ascii "‚Ė" + ; string "ぎ" + .byte 0x82, 0xcc .byte 0x00, 0x00 .global data_ov03_02100394 data_ov03_02100394: ; 0x02100394 diff --git a/asm/ov04.s b/asm/ov04.s index ffab3fa9..e124b66a 100644 --- a/asm/ov04.s +++ b/asm/ov04.s @@ -30708,379 +30708,473 @@ data_ov04_0210fee0: ; 0x0210fee0 .byte 0x00 .global data_ov04_0210fef0 data_ov04_0210fef0: ; 0x0210fef0 - .ascii "ƒJƒƒ‰’˛Ž" + ; string "ã‚ĢãƒĄãƒŠčĒŋ整" + .byte 0x83, 0x4a, 0x83, 0x81, 0x83, 0x89, 0x92, 0xb2, 0x90, 0xae .byte 0x00, 0x00 .global data_ov04_0210fefc data_ov04_0210fefc: ; 0x0210fefc - .ascii "ƒtƒB[ƒ‹ƒh" + ; string "ãƒ•ã‚ŖãƒŧãƒĢド" + .byte 0x83, 0x74, 0x83, 0x42, 0x81, 0x5b, 0x83, 0x8b, 0x83, 0x68 .byte 0x00, 0x00 .global data_ov04_0210ff08 data_ov04_0210ff08: ; 0x0210ff08 - .ascii "—H—ė‘DƒtƒB[ƒ‹ƒh" + ; string "åšŊéœŠčˆšãƒ•ã‚ŖãƒŧãƒĢド" + .byte 0x97, 0x48, 0x97, 0xec, 0x91, 0x44, 0x83, 0x74, 0x83, 0x42, 0x81, 0x5b, 0x83, 0x8b, 0x83, 0x68 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0210ff1c data_ov04_0210ff1c: ; 0x0210ff1c - .ascii "‚Ų‚ą‚įƒtƒB[ƒ‹ƒh" + ; string "ãģã“ã‚‰ãƒ•ã‚ŖãƒŧãƒĢド" + .byte 0x82, 0xd9, 0x82, 0xb1, 0x82, 0xe7, 0x83, 0x74, 0x83, 0x42, 0x81, 0x5b, 0x83, 0x8b, 0x83, 0x68 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0210ff30 data_ov04_0210ff30: ; 0x0210ff30 - .ascii "ƒfƒ‚" + ; string "デãƒĸ" + .byte 0x83, 0x66, 0x83, 0x82 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0210ff38 data_ov04_0210ff38: ; 0x0210ff38 - .ascii "’–Ú" + ; string "æŗ¨į›Ž" + .byte 0x92, 0x8d, 0x96, 0xda .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0210ff40 data_ov04_0210ff40: ; 0x0210ff40 - .ascii "’–Ú2" + ; string "æŗ¨į›Ž2" + .byte 0x92, 0x8d, 0x96, 0xda, 0x32 .byte 0x00, 0x00, 0x00 .global data_ov04_0210ff48 data_ov04_0210ff48: ; 0x0210ff48 - .ascii "‰ī˜b" + ; string "äŧščŠą" + .byte 0x89, 0xef, 0x98, 0x62 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0210ff50 data_ov04_0210ff50: ; 0x0210ff50 - .ascii "ŠÅ”Â" + ; string "įœ‹æŋ" + .byte 0x8a, 0xc5, 0x94, 0xc2 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0210ff58 data_ov04_0210ff58: ; 0x0210ff58 - .ascii "‰ī˜b(Žē“ā)" + ; string "äŧščŠą(厤内)" + .byte 0x89, 0xef, 0x98, 0x62, 0x28, 0x8e, 0xba, 0x93, 0xe0, 0x29 .byte 0x00, 0x00 .global data_ov04_0210ff64 data_ov04_0210ff64: ; 0x0210ff64 - .ascii "ŠÅ”Â(Žē“ā)" + ; string "įœ‹æŋ(厤内)" + .byte 0x8a, 0xc5, 0x94, 0xc2, 0x28, 0x8e, 0xba, 0x93, 0xe0, 0x29 .byte 0x00, 0x00 .global data_ov04_0210ff70 data_ov04_0210ff70: ; 0x0210ff70 - .ascii "ƒQƒbƒg" + ; string "ã‚˛ãƒƒãƒˆ" + .byte 0x83, 0x51, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00 .global data_ov04_0210ff78 data_ov04_0210ff78: ; 0x0210ff78 - .ascii "ƒQ[ƒ€ƒI[ƒo[(Ž€–S)" + ; string "ã‚˛ãƒŧムã‚Ēãƒŧバãƒŧ(æ­ģäēĄ)" + .byte 0x83, 0x51, 0x81, 0x5b, 0x83, 0x80, 0x83, 0x49, 0x81, 0x5b, 0x83, 0x6f, 0x81, 0x5b, 0x28, 0x8e, 0x80, 0x96, 0x53, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0210ff90 data_ov04_0210ff90: ; 0x0210ff90 - .ascii "ƒQ[ƒ€ƒI[ƒo[(“|‚ę‚é)" + ; string "ã‚˛ãƒŧムã‚Ēãƒŧバãƒŧ(倒れる)" + .byte 0x83, 0x51, 0x81, 0x5b, 0x83, 0x80, 0x83, 0x49, 0x81, 0x5b, 0x83, 0x6f, 0x81, 0x5b, 0x28, 0x93, 0x7c, 0x82, 0xea, 0x82, 0xe9, 0x29 .byte 0x00, 0x00 .global data_ov04_0210ffa8 data_ov04_0210ffa8: ; 0x0210ffa8 - .ascii "•œŠˆ–ō" + ; string "垊æ´ģč–Ŧ" + .byte 0x95, 0x9c, 0x8a, 0x88, 0x96, 0xf2 .byte 0x00, 0x00 .global data_ov04_0210ffb0 data_ov04_0210ffb0: ; 0x0210ffb0 - .ascii "‘D”š”­" + ; string "čˆšįˆ†į™ē" + .byte 0x91, 0x44, 0x94, 0x9a, 0x94, 0xad .byte 0x00, 0x00 .global data_ov04_0210ffb8 data_ov04_0210ffb8: ; 0x0210ffb8 - .ascii "‘DƒQ[ƒ€ƒI[ƒo[" + ; string "čˆšã‚˛ãƒŧムã‚Ēãƒŧバãƒŧ" + .byte 0x91, 0x44, 0x83, 0x51, 0x81, 0x5b, 0x83, 0x80, 0x83, 0x49, 0x81, 0x5b, 0x83, 0x6f, 0x81, 0x5b .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0210ffcc data_ov04_0210ffcc: ; 0x0210ffcc - .ascii "‘D" + ; string "舚" + .byte 0x91, 0x44 .byte 0x00, 0x00 .global data_ov04_0210ffd0 data_ov04_0210ffd0: ; 0x0210ffd0 - .ascii "•”‰Ž(ŒÅ’č)" + ; string "éƒ¨åą‹(å›ē厚)" + .byte 0x95, 0x94, 0x89, 0xae, 0x28, 0x8c, 0xc5, 0x92, 0xe8, 0x29 .byte 0x00, 0x00 .global data_ov04_0210ffdc data_ov04_0210ffdc: ; 0x0210ffdc - .ascii "•”‰Ž(ŽG‰Ũ‰Ž)" + ; string "éƒ¨åą‹(é›‘č˛¨åą‹)" + .byte 0x95, 0x94, 0x89, 0xae, 0x28, 0x8e, 0x47, 0x89, 0xdd, 0x89, 0xae, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0210ffec data_ov04_0210ffec: ; 0x0210ffec - .ascii "•”‰Ž(ƒeƒŠ[‘D)" + ; string "éƒ¨åą‹(テãƒĒãƒŧ舚)" + .byte 0x95, 0x94, 0x89, 0xae, 0x28, 0x83, 0x65, 0x83, 0x8a, 0x81, 0x5b, 0x91, 0x44, 0x29 .byte 0x00, 0x00 .global data_ov04_0210fffc data_ov04_0210fffc: ; 0x0210fffc - .ascii "•”‰Ž(e•ǂЂςé)" + ; string "éƒ¨åą‹(čĻĒ分かえる)" + .byte 0x95, 0x94, 0x89, 0xae, 0x28, 0x90, 0x65, 0x95, 0xaa, 0x82, 0xa9, 0x82, 0xa6, 0x82, 0xe9, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110010 data_ov04_02110010: ; 0x02110010 - .ascii "•”‰Ž(ƒ‰ƒXƒ{ƒX‘O)" + ; string "éƒ¨åą‹(ナ゚ボ゚前)" + .byte 0x95, 0x94, 0x89, 0xae, 0x28, 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x91, 0x4f, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110024 data_ov04_02110024: ; 0x02110024 - .ascii "•”‰Ž(ƒ‰ƒXƒ{ƒX‘OŠK’i)" + ; string "éƒ¨åą‹(ナ゚ボ゚前階æŽĩ)" + .byte 0x95, 0x94, 0x89, 0xae, 0x28, 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x91, 0x4f, 0x8a, 0x4b, 0x92, 0x69, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0211003c data_ov04_0211003c: ; 0x0211003c - .ascii "Žč“Ž" + ; string "手動" + .byte 0x8e, 0xe8, 0x93, 0xae .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110044 data_ov04_02110044: ; 0x02110044 - .ascii "‘DŽč“Ž" + ; string "čˆšæ‰‹å‹•" + .byte 0x91, 0x44, 0x8e, 0xe8, 0x93, 0xae .byte 0x00, 0x00 .global data_ov04_0211004c data_ov04_0211004c: ; 0x0211004c - .ascii "‘D‘å–C" + ; string "čˆšå¤§į ˛" + .byte 0x91, 0x44, 0x91, 0xe5, 0x96, 0x43 .byte 0x00, 0x00 .global data_ov04_02110054 data_ov04_02110054: ; 0x02110054 - .ascii "‘D‘å–C(ƒ~ƒjƒQ[ƒ€)" + ; string "čˆšå¤§į ˛(ãƒŸãƒ‹ã‚˛ãƒŧム)" + .byte 0x91, 0x44, 0x91, 0xe5, 0x96, 0x43, 0x28, 0x83, 0x7e, 0x83, 0x6a, 0x83, 0x51, 0x81, 0x5b, 0x83, 0x80, 0x29 .byte 0x00, 0x00 .global data_ov04_02110068 data_ov04_02110068: ; 0x02110068 - .ascii "L‚ĸ•”‰Ž(ŒÅ’č)" + ; string "åēƒã„éƒ¨åą‹(å›ē厚)" + .byte 0x8d, 0x4c, 0x82, 0xa2, 0x95, 0x94, 0x89, 0xae, 0x28, 0x8c, 0xc5, 0x92, 0xe8, 0x29 .byte 0x00, 0x00 .global data_ov04_02110078 data_ov04_02110078: ; 0x02110078 - .ascii "ƒoƒgƒ‹’ĮÕŽŌŽĀŒą" + ; string "バトãƒĢčŋŊčˇĄč€…åŽŸé¨“" + .byte 0x83, 0x6f, 0x83, 0x67, 0x83, 0x8b, 0x92, 0xc7, 0x90, 0xd5, 0x8e, 0xd2, 0x8e, 0xc0, 0x8c, 0xb1 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0211008c data_ov04_0211008c: ; 0x0211008c - .ascii "•—ƒ{ƒX(ƒƒCƒ“)" + ; string "éĸ¨ãƒœã‚š(ãƒĄã‚¤ãƒŗ)" + .byte 0x95, 0x97, 0x83, 0x7b, 0x83, 0x58, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29 .byte 0x00, 0x00 .global data_ov04_0211009c data_ov04_0211009c: ; 0x0211009c - .ascii "•—ƒ{ƒX(ƒTƒu)" + ; string "éĸ¨ãƒœã‚š(ã‚ĩブ)" + .byte 0x95, 0x97, 0x83, 0x7b, 0x83, 0x58, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021100ac data_ov04_021100ac: ; 0x021100ac - .ascii "ƒoƒgƒ‹’ĮÕŽŌŽĀŒąP" + ; string "バトãƒĢčŋŊčˇĄč€…åŽŸé¨“P" + .byte 0x83, 0x6f, 0x83, 0x67, 0x83, 0x8b, 0x92, 0xc7, 0x90, 0xd5, 0x8e, 0xd2, 0x8e, 0xc0, 0x8c, 0xb1, 0x50 .byte 0x00, 0x00, 0x00 .global data_ov04_021100c0 data_ov04_021100c0: ; 0x021100c0 - .ascii "ƒiƒrƒB‰ī˜b" + ; string "ãƒŠãƒ“ã‚ŖäŧščŠą" + .byte 0x83, 0x69, 0x83, 0x72, 0x83, 0x42, 0x89, 0xef, 0x98, 0x62 .byte 0x00, 0x00 .global data_ov04_021100cc data_ov04_021100cc: ; 0x021100cc - .ascii "ƒiƒrƒB‰ī˜b2" + ; string "ãƒŠãƒ“ã‚ŖäŧščŠą2" + .byte 0x83, 0x69, 0x83, 0x72, 0x83, 0x42, 0x89, 0xef, 0x98, 0x62, 0x32 .byte 0x00 .global data_ov04_021100d8 data_ov04_021100d8: ; 0x021100d8 - .ascii "ƒiƒrƒB‰ī˜b(Žē“ā)" + ; string "ãƒŠãƒ“ã‚ŖäŧščŠą(厤内)" + .byte 0x83, 0x69, 0x83, 0x72, 0x83, 0x42, 0x89, 0xef, 0x98, 0x62, 0x28, 0x8e, 0xba, 0x93, 0xe0, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021100ec data_ov04_021100ec: ; 0x021100ec - .ascii "ƒTƒ‹ƒx[ƒW(ƒƒCƒ“)" + ; string "ã‚ĩãƒĢベãƒŧジ(ãƒĄã‚¤ãƒŗ)" + .byte 0x83, 0x54, 0x83, 0x8b, 0x83, 0x78, 0x81, 0x5b, 0x83, 0x57, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29 .byte 0x00, 0x00 .global data_ov04_02110100 data_ov04_02110100: ; 0x02110100 - .ascii "ƒTƒ‹ƒx[ƒW(ƒTƒu)" + ; string "ã‚ĩãƒĢベãƒŧジ(ã‚ĩブ)" + .byte 0x83, 0x54, 0x83, 0x8b, 0x83, 0x78, 0x81, 0x5b, 0x83, 0x57, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110114 data_ov04_02110114: ; 0x02110114 - .ascii "’Ū‚č(ƒƒCƒ“)" + ; string "é‡Ŗã‚Š(ãƒĄã‚¤ãƒŗ)" + .byte 0x92, 0xde, 0x82, 0xe8, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110124 data_ov04_02110124: ; 0x02110124 - .ascii "’Ū‚č(ƒTƒu)" + ; string "é‡Ŗã‚Š(ã‚ĩブ)" + .byte 0x92, 0xde, 0x82, 0xe8, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29 .byte 0x00, 0x00 .global data_ov04_02110130 data_ov04_02110130: ; 0x02110130 - .ascii "‹›’Ū‚Á‚Ŋ(ƒƒCƒ“)" + ; string "é­šé‡ŖãŖãŸ(ãƒĄã‚¤ãƒŗ)" + .byte 0x8b, 0x9b, 0x92, 0xde, 0x82, 0xc1, 0x82, 0xbd, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110144 data_ov04_02110144: ; 0x02110144 - .ascii "‹›’Ū‚Á‚Ŋ(ƒTƒu)" + ; string "é­šé‡ŖãŖãŸ(ã‚ĩブ)" + .byte 0x8b, 0x9b, 0x92, 0xde, 0x82, 0xc1, 0x82, 0xbd, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29 .byte 0x00, 0x00 .global data_ov04_02110154 data_ov04_02110154: ; 0x02110154 - .ascii "‘å‹›’Ū‚Á‚Ŋ(ƒƒCƒ“)" + ; string "å¤§é­šé‡ŖãŖãŸ(ãƒĄã‚¤ãƒŗ)" + .byte 0x91, 0xe5, 0x8b, 0x9b, 0x92, 0xde, 0x82, 0xc1, 0x82, 0xbd, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29 .byte 0x00, 0x00 .global data_ov04_02110168 data_ov04_02110168: ; 0x02110168 - .ascii "‘å‹›’Ū‚Á‚Ŋ(ƒTƒu)" + ; string "å¤§é­šé‡ŖãŖãŸ(ã‚ĩブ)" + .byte 0x91, 0xe5, 0x8b, 0x9b, 0x92, 0xde, 0x82, 0xc1, 0x82, 0xbd, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0211017c data_ov04_0211017c: ; 0x0211017c - .ascii "ƒTƒ‹ƒx[ƒW•ķ” ŠJ‚­" + ; string "ã‚ĩãƒĢベãƒŧã‚¸åŽįŽąé–‹ã" + .byte 0x83, 0x54, 0x83, 0x8b, 0x83, 0x78, 0x81, 0x5b, 0x83, 0x57, 0x95, 0xf3, 0x94, 0xa0, 0x8a, 0x4a, 0x82, 0xad .byte 0x00, 0x00 .global data_ov04_02110190 data_ov04_02110190: ; 0x02110190 - .ascii "ƒhƒAŠJ‚Ģ" + ; string "ドã‚ĸ開き" + .byte 0x83, 0x68, 0x83, 0x41, 0x8a, 0x4a, 0x82, 0xab .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0211019c data_ov04_0211019c: ; 0x0211019c - .ascii "ƒhƒA•‚ļ" + ; string "ドã‚ĸ閉じ" + .byte 0x83, 0x68, 0x83, 0x41, 0x95, 0xc2, 0x82, 0xb6 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021101a8 data_ov04_021101a8: ; 0x021101a8 - .ascii "‘å–C(ŒŠã‚°)" + ; string "大᠞(čĻ‹ä¸Šã’)" + .byte 0x91, 0xe5, 0x96, 0x43, 0x28, 0x8c, 0xa9, 0x8f, 0xe3, 0x82, 0xb0, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021101b8 data_ov04_021101b8: ; 0x021101b8 - .ascii "“ü`" + ; string "å…Ĩ港" + .byte 0x93, 0xfc, 0x8d, 0x60 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021101c0 data_ov04_021101c0: ; 0x021101c0 - .ascii "o`" + ; string "å‡ē港" + .byte 0x8f, 0x6f, 0x8d, 0x60 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021101c8 data_ov04_021101c8: ; 0x021101c8 - .ascii "’mŒbƒ{ƒX(ƒƒCƒ“)" + ; string "įŸĨæĩボ゚(ãƒĄã‚¤ãƒŗ)" + .byte 0x92, 0x6d, 0x8c, 0x62, 0x83, 0x7b, 0x83, 0x58, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021101dc data_ov04_021101dc: ; 0x021101dc - .ascii "’mŒbƒ{ƒX(ƒTƒu)" + ; string "įŸĨæĩボ゚(ã‚ĩブ)" + .byte 0x92, 0x6d, 0x8c, 0x62, 0x83, 0x7b, 0x83, 0x58, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29 .byte 0x00, 0x00 .global data_ov04_021101ec data_ov04_021101ec: ; 0x021101ec - .ascii "’mŒbƒ{ƒX2(ƒƒCƒ“)" + ; string "įŸĨæĩボ゚2(ãƒĄã‚¤ãƒŗ)" + .byte 0x92, 0x6d, 0x8c, 0x62, 0x83, 0x7b, 0x83, 0x58, 0x32, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29 .byte 0x00, 0x00, 0x00 .global data_ov04_02110200 data_ov04_02110200: ; 0x02110200 - .ascii "‹|–î" + ; string "åŧ“įŸĸ" + .byte 0x8b, 0x7c, 0x96, 0xee .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110208 data_ov04_02110208: ; 0x02110208 - .ascii "ƒu[ƒƒ‰ƒ“" + ; string "ブãƒŧãƒĄãƒŠãƒŗ" + .byte 0x83, 0x75, 0x81, 0x5b, 0x83, 0x81, 0x83, 0x89, 0x83, 0x93 .byte 0x00, 0x00 .global data_ov04_02110214 data_ov04_02110214: ; 0x02110214 - .ascii "ƒ{ƒ€ƒ`ƒ…ƒE" + ; string "ボムチãƒĨã‚Ļ" + .byte 0x83, 0x7b, 0x83, 0x80, 0x83, 0x60, 0x83, 0x85, 0x83, 0x45 .byte 0x00, 0x00 .global data_ov04_02110220 data_ov04_02110220: ; 0x02110220 - .ascii "ƒ{ƒ€ƒ`ƒ…ƒE(üˆø‚Ģ)" + ; string "ボムチãƒĨã‚Ļ(᎚åŧ•き)" + .byte 0x83, 0x7b, 0x83, 0x80, 0x83, 0x60, 0x83, 0x85, 0x83, 0x45, 0x28, 0x90, 0xfc, 0x88, 0xf8, 0x82, 0xab, 0x29 .byte 0x00, 0x00 .global data_ov04_02110234 data_ov04_02110234: ; 0x02110234 - .ascii "ƒSƒVƒbƒv" + ; string "ã‚´ã‚ˇãƒƒãƒ—" + .byte 0x83, 0x53, 0x83, 0x56, 0x83, 0x62, 0x83, 0x76 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110240 data_ov04_02110240: ; 0x02110240 - .ascii "ƒSƒVƒbƒv(‰ī˜b)" + ; string "ã‚´ã‚ˇãƒƒãƒ—(äŧščŠą)" + .byte 0x83, 0x53, 0x83, 0x56, 0x83, 0x62, 0x83, 0x76, 0x28, 0x89, 0xef, 0x98, 0x62, 0x29 .byte 0x00, 0x00 .global data_ov04_02110250 data_ov04_02110250: ; 0x02110250 - .ascii "ƒŒƒ„[ƒh" + ; string "ãƒŦヤãƒŧド" + .byte 0x83, 0x8c, 0x83, 0x84, 0x81, 0x5b, 0x83, 0x68 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0211025c data_ov04_0211025c: ; 0x0211025c - .ascii "‰ī˜b(‰“‚ß)" + ; string "äŧščŠą(遠め)" + .byte 0x89, 0xef, 0x98, 0x62, 0x28, 0x89, 0x93, 0x82, 0xdf, 0x29 .byte 0x00, 0x00 .global data_ov04_02110268 data_ov04_02110268: ; 0x02110268 - .ascii "‰ī˜b(‹ß‚ß)" + ; string "äŧščŠą(čŋ‘め)" + .byte 0x89, 0xef, 0x98, 0x62, 0x28, 0x8b, 0xdf, 0x82, 0xdf, 0x29 .byte 0x00, 0x00 .global data_ov04_02110274 data_ov04_02110274: ; 0x02110274 - .ascii "‰ī˜b(‰Ą)" + ; string "äŧščŠą(æ¨Ē)" + .byte 0x89, 0xef, 0x98, 0x62, 0x28, 0x89, 0xa1, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110280 data_ov04_02110280: ; 0x02110280 - .ascii "‰ī˜b(l‹›)" + ; string "äŧščŠą(äēē魚)" + .byte 0x89, 0xef, 0x98, 0x62, 0x28, 0x90, 0x6c, 0x8b, 0x9b, 0x29 .byte 0x00, 0x00 .global data_ov04_0211028c data_ov04_0211028c: ; 0x0211028c - .ascii "‰ī˜b(ƒ€ƒg[)" + ; string "äŧščŠą(ムトãƒŧ)" + .byte 0x89, 0xef, 0x98, 0x62, 0x28, 0x83, 0x80, 0x83, 0x67, 0x81, 0x5b, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0211029c data_ov04_0211029c: ; 0x0211029c - .ascii "‰ī˜b(—ė°‹RŽm)" + ; string "äŧščŠą(霊魂騎åŖĢ)" + .byte 0x89, 0xef, 0x98, 0x62, 0x28, 0x97, 0xec, 0x8d, 0xb0, 0x8b, 0x52, 0x8e, 0x6d, 0x29 .byte 0x00, 0x00 .global data_ov04_021102ac data_ov04_021102ac: ; 0x021102ac - .ascii "‰ī˜b(ƒJƒGƒ‹)" + ; string "äŧščŠą(ã‚ĢエãƒĢ)" + .byte 0x89, 0xef, 0x98, 0x62, 0x28, 0x83, 0x4a, 0x83, 0x47, 0x83, 0x8b, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021102bc data_ov04_021102bc: ; 0x021102bc - .ascii "“I“–‚ĉŽ(ƒƒCƒ“)" + ; string "įš„åŊ“ãĻåą‹(ãƒĄã‚¤ãƒŗ)" + .byte 0x93, 0x49, 0x93, 0x96, 0x82, 0xc4, 0x89, 0xae, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021102d0 data_ov04_021102d0: ; 0x021102d0 - .ascii "“I“–‚ĉŽ(ƒTƒu)" + ; string "įš„åŊ“ãĻåą‹(ã‚ĩブ)" + .byte 0x93, 0x49, 0x93, 0x96, 0x82, 0xc4, 0x89, 0xae, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29 .byte 0x00, 0x00 .global data_ov04_021102e0 data_ov04_021102e0: ; 0x021102e0 - .ascii "ŽG‰Ũ‰Ž(l)" + ; string "é›‘č˛¨åą‹(äēē)" + .byte 0x8e, 0x47, 0x89, 0xdd, 0x89, 0xae, 0x28, 0x90, 0x6c, 0x29 .byte 0x00, 0x00 .global data_ov04_021102ec data_ov04_021102ec: ; 0x021102ec - .ascii "ŽG‰Ũ‰Ž(¤•i)" + ; string "é›‘č˛¨åą‹(商品)" + .byte 0x8e, 0x47, 0x89, 0xdd, 0x89, 0xae, 0x28, 0x8f, 0xa4, 0x95, 0x69, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021102fc data_ov04_021102fc: ; 0x021102fc - .ascii "—H—ė‘Dƒ{ƒX(ƒƒCƒ“)" + ; string "åšŊéœŠčˆšãƒœã‚š(ãƒĄã‚¤ãƒŗ)" + .byte 0x97, 0x48, 0x97, 0xec, 0x91, 0x44, 0x83, 0x7b, 0x83, 0x58, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29 .byte 0x00, 0x00 .global data_ov04_02110310 data_ov04_02110310: ; 0x02110310 - .ascii "—H—ė‘Dƒ{ƒX(ƒTƒu)" + ; string "åšŊéœŠčˆšãƒœã‚š(ã‚ĩブ)" + .byte 0x97, 0x48, 0x97, 0xec, 0x91, 0x44, 0x83, 0x7b, 0x83, 0x58, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110324 data_ov04_02110324: ; 0x02110324 - .ascii "‚‚΂ē‚č‡‚ĸ" + ; string "つばぜり合い" + .byte 0x82, 0xc2, 0x82, 0xce, 0x82, 0xba, 0x82, 0xe8, 0x8d, 0x87, 0x82, 0xa2 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110334 data_ov04_02110334: ; 0x02110334 - .ascii "‰ī˜bƒJƒƒ‰(ŠįƒAƒbƒv)" + ; string "äŧščŠąã‚ĢãƒĄãƒŠ(顔ã‚ĸップ)" + .byte 0x89, 0xef, 0x98, 0x62, 0x83, 0x4a, 0x83, 0x81, 0x83, 0x89, 0x28, 0x8a, 0xe7, 0x83, 0x41, 0x83, 0x62, 0x83, 0x76, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0211034c data_ov04_0211034c: ; 0x0211034c - .ascii "‰ī˜bƒJƒƒ‰(ŠįƒAƒbƒv‚ŋ‚å‚ĸ)" + ; string "äŧščŠąã‚ĢãƒĄãƒŠ(顔ã‚ĸãƒƒãƒ—ãĄã‚‡ã„)" + .byte 0x89, 0xef, 0x98, 0x62, 0x83, 0x4a, 0x83, 0x81, 0x83, 0x89, 0x28, 0x8a, 0xe7, 0x83, 0x41, 0x83, 0x62, 0x83, 0x76, 0x82, 0xbf, 0x82, 0xe5, 0x82, 0xa2, 0x29 .byte 0x00, 0x00 .global data_ov04_02110368 data_ov04_02110368: ; 0x02110368 - .ascii "‘ĸ‘DŠ(l)" + ; string "é€ čˆšæ‰€(äēē)" + .byte 0x91, 0xa2, 0x91, 0x44, 0x8f, 0x8a, 0x28, 0x90, 0x6c, 0x29 .byte 0x00, 0x00 .global data_ov04_02110374 data_ov04_02110374: ; 0x02110374 - .ascii "ŠĶ’艎(l)" + ; string "é‘‘åŽšåą‹(äēē)" + .byte 0x8a, 0xd3, 0x92, 0xe8, 0x89, 0xae, 0x28, 0x90, 0x6c, 0x29 .byte 0x00, 0x00 .global data_ov04_02110380 data_ov04_02110380: ; 0x02110380 - .ascii "•Xƒ{ƒX(ƒƒCƒ“)" + ; string "æ°ˇãƒœã‚š(ãƒĄã‚¤ãƒŗ)" + .byte 0x95, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29 .byte 0x00, 0x00 .global data_ov04_02110390 data_ov04_02110390: ; 0x02110390 - .ascii "•Xƒ{ƒX(ƒTƒu)" + ; string "æ°ˇãƒœã‚š(ã‚ĩブ)" + .byte 0x95, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021103a0 data_ov04_021103a0: ; 0x021103a0 - .ascii "ŠCƒ{ƒX" + ; string "æĩˇãƒœã‚š" + .byte 0x8a, 0x43, 0x83, 0x7b, 0x83, 0x58 .byte 0x00, 0x00 .global data_ov04_021103a8 data_ov04_021103a8: ; 0x021103a8 - .ascii "ƒ‰ƒXƒ{ƒX1(ƒƒCƒ“)" + ; string "ナ゚ボ゚1(ãƒĄã‚¤ãƒŗ)" + .byte 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x31, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29 .byte 0x00, 0x00, 0x00 .global data_ov04_021103bc data_ov04_021103bc: ; 0x021103bc - .ascii "ƒ‰ƒXƒ{ƒX1(ƒTƒu)" + ; string "ナ゚ボ゚1(ã‚ĩブ)" + .byte 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x31, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29 .byte 0x00 .global data_ov04_021103cc data_ov04_021103cc: ; 0x021103cc - .ascii "ƒ‰ƒXƒ{ƒX1’†‰›(ƒƒCƒ“)" + ; string "ナ゚ボ゚1中夎(ãƒĄã‚¤ãƒŗ)" + .byte 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x31, 0x92, 0x86, 0x89, 0x9b, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29 .byte 0x00, 0x00, 0x00 .global data_ov04_021103e4 data_ov04_021103e4: ; 0x021103e4 - .ascii "ƒ‰ƒXƒ{ƒX1’†‰›‰ē(ƒƒCƒ“)" + ; string "ナ゚ボ゚1中夎下(ãƒĄã‚¤ãƒŗ)" + .byte 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x31, 0x92, 0x86, 0x89, 0x9b, 0x89, 0xba, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29 .byte 0x00 .global data_ov04_021103fc data_ov04_021103fc: ; 0x021103fc - .ascii "ƒ‰ƒXƒ{ƒX3(ƒƒCƒ“)" + ; string "ナ゚ボ゚3(ãƒĄã‚¤ãƒŗ)" + .byte 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x33, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29 .byte 0x00, 0x00, 0x00 .global data_ov04_02110410 data_ov04_02110410: ; 0x02110410 - .ascii "ƒ‰ƒXƒ{ƒX3(ƒTƒu)" + ; string "ナ゚ボ゚3(ã‚ĩブ)" + .byte 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x33, 0x28, 0x83, 0x54, 0x83, 0x75, 0x29 .byte 0x00 .global data_ov04_02110420 data_ov04_02110420: ; 0x02110420 - .ascii "ƒ‰ƒXƒ{ƒX3(ƒTƒu2)" + ; string "ナ゚ボ゚3(ã‚ĩブ2)" + .byte 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x33, 0x28, 0x83, 0x54, 0x83, 0x75, 0x32, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110434 data_ov04_02110434: ; 0x02110434 - .ascii "ƒ‰ƒXƒ{ƒX3(ƒƒCƒ“Aƒ{[ƒ‹Žæ‚č)" + ; string "ナ゚ボ゚3(ãƒĄã‚¤ãƒŗã€ãƒœãƒŧãƒĢ取り)" + .byte 0x83, 0x89, 0x83, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x33, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x81, 0x41, 0x83, 0x7b, 0x81, 0x5b, 0x83, 0x8b, 0x8e, 0xe6, 0x82, 0xe8, 0x29 .byte 0x00, 0x00, 0x00 .global data_ov04_02110454 data_ov04_02110454: ; 0x02110454 - .ascii "•Xƒ{ƒX‘O(ƒƒCƒ“)" + ; string "æ°ˇãƒœã‚šå‰(ãƒĄã‚¤ãƒŗ)" + .byte 0x95, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x91, 0x4f, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110468 data_ov04_02110468: ; 0x02110468 - .ascii "•Xƒ{ƒX’Ôg(ƒƒCƒ“)" + ; string "æ°ˇãƒœã‚šæ´Ĩæŗĸ(ãƒĄã‚¤ãƒŗ)" + .byte 0x95, 0x58, 0x83, 0x7b, 0x83, 0x58, 0x92, 0xc3, 0x94, 0x67, 0x28, 0x83, 0x81, 0x83, 0x43, 0x83, 0x93, 0x29 .byte 0x00, 0x00 .global data_ov04_0211047c data_ov04_0211047c: ; 0x0211047c - .ascii "‰Îƒ{ƒX" + ; string "įĢボ゚" + .byte 0x89, 0xce, 0x83, 0x7b, 0x83, 0x58 .byte 0x00, 0x00 .global data_ov04_02110484 data_ov04_02110484: ; 0x02110484 - .ascii "—̓{ƒX" + ; string "力ボ゚" + .byte 0x97, 0xcd, 0x83, 0x7b, 0x83, 0x58 .byte 0x00, 0x00 .global data_ov04_0211048c data_ov04_0211048c: ; 0x0211048c - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110498 data_ov04_02110498: ; 0x02110498 @@ -31222,11 +31316,13 @@ data_ov04_02110507: ; 0x02110507 .byte 0x00 .global data_ov04_02110508 data_ov04_02110508: ; 0x02110508 - .ascii "ƒƒbƒZ[ƒWƒ}ƒl[ƒWƒƒ[" + ; string "ãƒĄãƒƒã‚ģãƒŧジマネãƒŧã‚¸ãƒŖãƒŧ" + .byte 0x83, 0x81, 0x83, 0x62, 0x83, 0x5a, 0x81, 0x5b, 0x83, 0x57, 0x83, 0x7d, 0x83, 0x6c, 0x81, 0x5b, 0x83, 0x57, 0x83, 0x83, 0x81, 0x5b .byte 0x00, 0x00 .global data_ov04_02110520 data_ov04_02110520: ; 0x02110520 - .ascii "ƒAƒCƒeƒ€ƒ}ƒl[ƒWƒƒ[" + ; string "ã‚ĸイテムマネãƒŧã‚¸ãƒŖãƒŧ" + .byte 0x83, 0x41, 0x83, 0x43, 0x83, 0x65, 0x83, 0x80, 0x83, 0x7d, 0x83, 0x6c, 0x81, 0x5b, 0x83, 0x57, 0x83, 0x83, 0x81, 0x5b .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110538 data_ov04_02110538: ; 0x02110538 @@ -31582,203 +31678,253 @@ data_ov04_02110934: ; 0x02110934 .byte 0x00, 0x00 .global data_ov04_02110948 data_ov04_02110948: ; 0x02110948 - .ascii "ƒŠƒ“ƒNƒ‚[ƒVƒ‡ƒ“" + ; string "ãƒĒãƒŗã‚¯ãƒĸãƒŧã‚ˇãƒ§ãƒŗ" + .byte 0x83, 0x8a, 0x83, 0x93, 0x83, 0x4e, 0x83, 0x82, 0x81, 0x5b, 0x83, 0x56, 0x83, 0x87, 0x83, 0x93 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_0211095c data_ov04_0211095c: ; 0x0211095c - .ascii "‘S”Ę" + ; string "全čˆŦ" + .byte 0x91, 0x53, 0x94, 0xca .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110964 data_ov04_02110964: ; 0x02110964 - .ascii "ƒEƒFƒCƒg" + ; string "ã‚Ļェイト" + .byte 0x83, 0x45, 0x83, 0x46, 0x83, 0x43, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110970 data_ov04_02110970: ; 0x02110970 - .ascii "ˆÚ“Ž" + ; string "į§ģ動" + .byte 0x88, 0xda, 0x93, 0xae .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110978 data_ov04_02110978: ; 0x02110978 - .ascii "‘O“]" + ; string "前čģĸ" + .byte 0x91, 0x4f, 0x93, 0x5d .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110980 data_ov04_02110980: ; 0x02110980 - .ascii "ƒI[ƒgƒWƒƒƒ“ƒv" + ; string "ã‚Ēãƒŧãƒˆã‚¸ãƒŖãƒŗãƒ—" + .byte 0x83, 0x49, 0x81, 0x5b, 0x83, 0x67, 0x83, 0x57, 0x83, 0x83, 0x83, 0x93, 0x83, 0x76 .byte 0x00, 0x00 .global data_ov04_02110990 data_ov04_02110990: ; 0x02110990 - .ascii "Œ•U‚č" + ; string "å‰ŖæŒ¯ã‚Š" + .byte 0x8c, 0x95, 0x90, 0x55, 0x82, 0xe8 .byte 0x00, 0x00 .global data_ov04_02110998 data_ov04_02110998: ; 0x02110998 - .ascii "cØ‚č" + ; string "į¸Ļ切り" + .byte 0x8f, 0x63, 0x90, 0xd8, 0x82, 0xe8 .byte 0x00, 0x00 .global data_ov04_021109a0 data_ov04_021109a0: ; 0x021109a0 - .ascii "‰ĄØ‚č" + ; string "æ¨Ē切り" + .byte 0x89, 0xa1, 0x90, 0xd8, 0x82, 0xe8 .byte 0x00, 0x00 .global data_ov04_021109a8 data_ov04_021109a8: ; 0x021109a8 - .ascii "“Ë‚Ģ" + ; string "įĒã" + .byte 0x93, 0xcb, 0x82, 0xab .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021109b0 data_ov04_021109b0: ; 0x021109b0 - .ascii "‰ņ“]Ø‚č" + ; string "回čģĸ切り" + .byte 0x89, 0xf1, 0x93, 0x5d, 0x90, 0xd8, 0x82, 0xe8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021109bc data_ov04_021109bc: ; 0x021109bc - .ascii "”Ŋ“Ž" + ; string "反動" + .byte 0x94, 0xbd, 0x93, 0xae .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021109c4 data_ov04_021109c4: ; 0x021109c4 - .ascii "ƒWƒƒƒ“ƒvØ‚č" + ; string "ã‚¸ãƒŖãƒŗãƒ—åˆ‡ã‚Š" + .byte 0x83, 0x57, 0x83, 0x83, 0x83, 0x93, 0x83, 0x76, 0x90, 0xd8, 0x82, 0xe8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021109d4 data_ov04_021109d4: ; 0x021109d4 - .ascii "–hŒä" + ; string "é˜˛åžĄ" + .byte 0x96, 0x68, 0x8c, 0xe4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021109dc data_ov04_021109dc: ; 0x021109dc - .ascii "ƒ_ƒ[ƒW" + ; string "ãƒ€ãƒĄãƒŧジ" + .byte 0x83, 0x5f, 0x83, 0x81, 0x81, 0x5b, 0x83, 0x57 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021109e8 data_ov04_021109e8: ; 0x021109e8 - .ascii "Ž‚ŋã‚°" + ; string "æŒãĄä¸Šã’" + .byte 0x8e, 0x9d, 0x82, 0xbf, 0x8f, 0xe3, 0x82, 0xb0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_021109f4 data_ov04_021109f4: ; 0x021109f4 - .ascii "‰Ÿ‚ĩˆø‚Ģ" + ; string "æŠŧしåŧ•き" + .byte 0x89, 0x9f, 0x82, 0xb5, 0x88, 0xf8, 0x82, 0xab .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110a00 data_ov04_02110a00: ; 0x02110a00 - .ascii "ƒAƒCƒeƒ€ƒQƒbƒg" + ; string "ã‚ĸã‚¤ãƒ†ãƒ ã‚˛ãƒƒãƒˆ" + .byte 0x83, 0x41, 0x83, 0x43, 0x83, 0x65, 0x83, 0x80, 0x83, 0x51, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00 .global data_ov04_02110a10 data_ov04_02110a10: ; 0x02110a10 - .ascii "¸—ė" + ; string "į˛žéœŠ" + .byte 0x90, 0xb8, 0x97, 0xec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110a18 data_ov04_02110a18: ; 0x02110a18 - .ascii "‹|–î" + ; string "åŧ“įŸĸ" + .byte 0x8b, 0x7c, 0x96, 0xee .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110a20 data_ov04_02110a20: ; 0x02110a20 - .ascii "ƒu[ƒƒ‰ƒ“" + ; string "ブãƒŧãƒĄãƒŠãƒŗ" + .byte 0x83, 0x75, 0x81, 0x5b, 0x83, 0x81, 0x83, 0x89, 0x83, 0x93 .byte 0x00, 0x00 .global data_ov04_02110a2c data_ov04_02110a2c: ; 0x02110a2c - .ascii "ƒnƒ“ƒ}[" + ; string "ãƒãƒŗãƒžãƒŧ" + .byte 0x83, 0x6e, 0x83, 0x93, 0x83, 0x7d, 0x81, 0x5b .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110a38 data_ov04_02110a38: ; 0x02110a38 - .ascii "ƒ[ƒv" + ; string "ロãƒŧプ" + .byte 0x83, 0x8d, 0x81, 0x5b, 0x83, 0x76 .byte 0x00, 0x00 .global data_ov04_02110a40 data_ov04_02110a40: ; 0x02110a40 - .ascii "ƒXƒRƒbƒv" + ; string "ã‚šã‚ŗãƒƒãƒ—" + .byte 0x83, 0x58, 0x83, 0x52, 0x83, 0x62, 0x83, 0x76 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110a4c data_ov04_02110a4c: ; 0x02110a4c - .ascii "‘ŧ‚ĖƒAƒCƒeƒ€" + ; string "äģ–ぎã‚ĸイテム" + .byte 0x91, 0xbc, 0x82, 0xcc, 0x83, 0x41, 0x83, 0x43, 0x83, 0x65, 0x83, 0x80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110a5c data_ov04_02110a5c: ; 0x02110a5c - .ascii "ķ‘ÔˆŲí" + ; string "įŠļæ…‹į•°å¸¸" + .byte 0x8f, 0xf3, 0x91, 0xd4, 0x88, 0xd9, 0x8f, 0xed .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110a68 data_ov04_02110a68: ; 0x02110a68 - .ascii "‚ģ‚Ė‘ŧ" + ; string "そぎäģ–" + .byte 0x82, 0xbb, 0x82, 0xcc, 0x91, 0xbc .byte 0x00, 0x00 .global data_ov04_02110a70 data_ov04_02110a70: ; 0x02110a70 - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110a7c data_ov04_02110a7c: ; 0x02110a7c - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110a88 data_ov04_02110a88: ; 0x02110a88 - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110a94 data_ov04_02110a94: ; 0x02110a94 - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110aa0 data_ov04_02110aa0: ; 0x02110aa0 - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110aac data_ov04_02110aac: ; 0x02110aac - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110ab8 data_ov04_02110ab8: ; 0x02110ab8 - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110ac4 data_ov04_02110ac4: ; 0x02110ac4 - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110ad0 data_ov04_02110ad0: ; 0x02110ad0 - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110adc data_ov04_02110adc: ; 0x02110adc - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110ae8 data_ov04_02110ae8: ; 0x02110ae8 - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110af4 data_ov04_02110af4: ; 0x02110af4 - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110b00 data_ov04_02110b00: ; 0x02110b00 - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110b0c data_ov04_02110b0c: ; 0x02110b0c - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110b18 data_ov04_02110b18: ; 0x02110b18 - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110b24 data_ov04_02110b24: ; 0x02110b24 - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110b30 data_ov04_02110b30: ; 0x02110b30 - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110b3c data_ov04_02110b3c: ; 0x02110b3c - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110b48 data_ov04_02110b48: ; 0x02110b48 - .ascii "“Į‚Ũž‚Ũ" + ; string "čĒ­ãŋčžŧãŋ" + .byte 0x93, 0xc7, 0x82, 0xdd, 0x8d, 0x9e, 0x82, 0xdd .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110b54 data_ov04_02110b54: ; 0x02110b54 - .ascii "ˆęŽž’˛Ž" + ; string "一時čĒŋ整" + .byte 0x88, 0xea, 0x8e, 0x9e, 0x92, 0xb2, 0x90, 0xae .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110b60 data_ov04_02110b60: ; 0x02110b60 - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110b6c data_ov04_02110b6c: ; 0x02110b6c - .ascii "ƒGƒtƒFƒNƒg" + ; string "エフェクト" + .byte 0x83, 0x47, 0x83, 0x74, 0x83, 0x46, 0x83, 0x4e, 0x83, 0x67 .byte 0x00, 0x00 .global data_ov04_02110b78 data_ov04_02110b78: ; 0x02110b78 - .ascii "ƒŠƒZƒbƒg" + ; string "ãƒĒã‚ģット" + .byte 0x83, 0x8a, 0x83, 0x5a, 0x83, 0x62, 0x83, 0x67 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110b84 data_ov04_02110b84: ; 0x02110b84 @@ -31934,7 +32080,8 @@ data_ov04_02110cb4: ; 0x02110cb4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110cb8 data_ov04_02110cb8: ; 0x02110cb8 - .ascii "ƒGƒbƒWƒ}[ƒLƒ“ƒO" + ; string "エッジマãƒŧã‚­ãƒŗã‚°" + .byte 0x83, 0x47, 0x83, 0x62, 0x83, 0x57, 0x83, 0x7d, 0x81, 0x5b, 0x83, 0x4c, 0x83, 0x93, 0x83, 0x4f .byte 0x00, 0x00, 0x00, 0x00 .global data_ov04_02110ccc data_ov04_02110ccc: ; 0x02110ccc diff --git a/asm/ov11.s b/asm/ov11.s index 30752ac9..b11c19de 100644 --- a/asm/ov11.s +++ b/asm/ov11.s @@ -60915,7 +60915,8 @@ data_ov11_0212e2e7: ; 0x0212e2e7 .byte 0x00 .global data_ov11_0212e2e8 data_ov11_0212e2e8: ; 0x0212e2e8 - .ascii "‚ƒ" + ; string "īŊƒ" + .byte 0x82, 0x83 .byte 0x00, 0x00 .global data_ov11_0212e2ec data_ov11_0212e2ec: ; 0x0212e2ec diff --git a/asm/ov13.s b/asm/ov13.s index bc8923e1..7ae9d385 100644 --- a/asm/ov13.s +++ b/asm/ov13.s @@ -4263,11 +4263,13 @@ data_ov13_02116124: ; 0x02116124 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov13_02116128 data_ov13_02116128: ; 0x02116128 - .ascii "ƒ„ƒƒ‹" + ; string "ãƒ¤ãƒĄãƒĢ" + .byte 0x83, 0x84, 0x83, 0x81, 0x83, 0x8b .byte 0x00, 0x00 .global data_ov13_02116130 data_ov13_02116130: ; 0x02116130 - .ascii "ƒRƒEƒJƒ“ ƒXƒ‹" + ; string "ã‚ŗã‚Ļã‚Ģãƒŗ ゚ãƒĢ" + .byte 0x83, 0x52, 0x83, 0x45, 0x83, 0x4a, 0x83, 0x93, 0x20, 0x83, 0x58, 0x83, 0x8b .byte 0x00, 0x00, 0x00 .global data_ov13_02116140 data_ov13_02116140: ; 0x02116140 diff --git a/asm/ov14/ov14_0213b778.s b/asm/ov14/ov14_0213b778.s index 0f633201..c324558f 100644 --- a/asm/ov14/ov14_0213b778.s +++ b/asm/ov14/ov14_0213b778.s @@ -34356,7 +34356,8 @@ data_ov14_0215923c: ; 0x0215923c .byte 0x00, 0x00 .global data_ov14_02159244 data_ov14_02159244: ; 0x02159244 - .ascii "‘Ŧ“x" + ; string "速åēĻ" + .byte 0x91, 0xac, 0x93, 0x78 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov14_0215924c data_ov14_0215924c: ; 0x0215924c From 4ca3ac0a2fb106ed6df2d2f4aed55135b3c87a6c Mon Sep 17 00:00:00 2001 From: Aetias Date: Fri, 3 May 2024 18:33:42 +0200 Subject: [PATCH 76/76] Delete `.gitattributes` --- .gitattributes | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index b3b1875c..00000000 --- a/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.s encoding=sjis diff=sjis \ No newline at end of file