summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2024-06-15 10:09:55 -0700
committerGitHub <noreply@github.com>2024-06-15 11:09:55 -0600
commit3c82015f69403d22f7ee3809425cb217f5bdc3b5 (patch)
tree4cc0975f6a485b0679ca01b11c10d3b682c6f5f7
parent569d183b2cd27d1bdd8af2e8257256b27d939a90 (diff)
d_bg_w done (#2169)
* ClassifyPlane matched * d_bg_w full match * remove asm
-rw-r--r--Progress.md8
-rw-r--r--asm/d/bg/d_bg_w/ChkPolyThrough__4dBgWFiP16cBgS_PolyPassChk.s223
-rw-r--r--asm/d/bg/d_bg_w/ClassifyPlane__4cBgWFv.s128
-rw-r--r--asm/d/bg/d_bg_w/MakeBlckBnd__4cBgWFiP4cXyzP4cXyz.s100
-rw-r--r--asm/d/bg/d_bg_w/RwgWallCorrectSort__4dBgWFP9dBgS_AcchUs.s164
-rw-r--r--asm/d/bg/d_bg_w/RwgWallCorrect__4dBgWFP9dBgS_AcchUs.s538
-rw-r--r--asm/d/bg/d_bg_w/SetVtx__4cBgWFv.s65
-rw-r--r--asm/d/bg/d_bg_w/WallCorrectSort__4dBgWFP9dBgS_Acch.s526
-rw-r--r--asm/d/bg/d_bg_w/positionWallCorrect__4dBgWFP9dBgS_AcchfR8cM3dGPlaP4cXyzf.s23
-rw-r--r--asm/d/menu/d_menu_fmap2D/__dt__18dMenu_Fmap2DBack_cFv.s165
-rw-r--r--asm/d/menu/d_menu_fmap2D/calcAllMapPos2D__18dMenu_Fmap2DBack_cFPCcffPfPf.s45
-rw-r--r--asm/d/menu/d_menu_fmap2D/calcAllMapPos2D__18dMenu_Fmap2DBack_cFffPfPf.s15
-rw-r--r--asm/d/menu/d_menu_fmap2D/calcAllMapPos__18dMenu_Fmap2DBack_cFv.s79
-rw-r--r--asm/d/menu/d_menu_fmap2D/calcAllMapScaleRate__18dMenu_Fmap2DBack_cFv.s31
-rw-r--r--asm/d/menu/d_menu_fmap2D/calcOffset__18dMenu_Fmap2DBack_cFUcPCcPfPf.s62
-rw-r--r--asm/d/menu/d_menu_fmap2D/calcRenderingPos__18dMenu_Fmap2DBack_cFv.s32
-rw-r--r--asm/d/menu/d_menu_fmap2D/calcRenderingScale__18dMenu_Fmap2DBack_cFv.s39
-rw-r--r--asm/d/menu/d_menu_fmap2D/deleteSpotPane__18dMenu_Fmap2DBack_cFv.s24
-rw-r--r--asm/d/menu/d_menu_fmap2D/getMapAreaGlobalPosX__18dMenu_Fmap2DBack_cFv.s5
-rw-r--r--asm/d/menu/d_menu_fmap2D/getMapAreaGlobalPosY__18dMenu_Fmap2DBack_cFv.s5
-rw-r--r--asm/d/menu/d_menu_fmap2D/getMapAreaSizeX__18dMenu_Fmap2DBack_cFv.s5
-rw-r--r--asm/d/menu/d_menu_fmap2D/getMapAreaSizeY__18dMenu_Fmap2DBack_cFv.s5
-rw-r--r--asm/d/menu/d_menu_fmap2D/getMapScissorAreaLX__18dMenu_Fmap2DBack_cFv.s23
-rw-r--r--asm/d/menu/d_menu_fmap2D/getMapScissorAreaLY__18dMenu_Fmap2DBack_cFv.s23
-rw-r--r--asm/d/menu/d_menu_fmap2D/getMapScissorAreaSizeRealX__18dMenu_Fmap2DBack_cFv.s9
-rw-r--r--asm/d/menu/d_menu_fmap2D/getMapScissorAreaSizeRealY__18dMenu_Fmap2DBack_cFv.s9
-rw-r--r--asm/d/menu/d_menu_fmap2D/getMapScissorAreaSizeX__18dMenu_Fmap2DBack_cFv.s33
-rw-r--r--asm/d/menu/d_menu_fmap2D/getMapScissorAreaSizeY__18dMenu_Fmap2DBack_cFv.s33
-rw-r--r--asm/d/menu/d_menu_fmap2D/getPathScale__18dMenu_Fmap2DBack_cFf.s39
-rw-r--r--asm/d/menu/d_menu_fmap2D/getRegionMapZoomRate__18dMenu_Fmap2DBack_cFi.s63
-rw-r--r--asm/d/menu/d_menu_fmap2D/getSpotMapZoomRate__18dMenu_Fmap2DBack_cFv.s17
-rw-r--r--asm/d/menu/d_menu_fmap2D/getStageOriginPath__18dMenu_Fmap2DBack_cFUcPfPf.s19
-rw-r--r--asm/d/menu/d_menu_fmap2D/isShowRegion__18dMenu_Fmap2DBack_cFi.s94
-rw-r--r--asm/d/menu/d_menu_fmap2D/mapBlink__18dMenu_Fmap2DBack_cFPs.s10
-rw-r--r--asm/d/menu/d_menu_fmap2D/setIcon2DPos__18dMenu_Fmap2DBack_cFUcPCcfffUcb.s15
-rw-r--r--asm/d/menu/d_menu_fmap2D/setIcon2DPos__18dMenu_Fmap2DBack_cFUcUcPCcfffUcb.s46
-rw-r--r--asm/d/menu/d_menu_fmap2D/setSpotCursor__18dMenu_Fmap2DBack_cFUc.s21
-rw-r--r--asm/d/menu/d_menu_fmap2D/setSpotPane__18dMenu_Fmap2DBack_cFP7ResTIMG.s27
-rw-r--r--include/SSystem/SComponent/c_m3d.h2
-rw-r--r--include/SSystem/SComponent/c_m3d_g_pla.h5
-rw-r--r--include/d/bg/d_bg_s_acch.h23
-rw-r--r--include/d/bg/d_bg_w.h4
-rw-r--r--include/d/bg/d_bg_w_base.h2
-rw-r--r--include/d/bg/d_bg_w_kcol.h2
-rw-r--r--libs/SSystem/SComponent/c_m3d.cpp22
-rw-r--r--rel/d/a/d_a_arrow/d_a_arrow.cpp6
-rw-r--r--rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.cpp16
-rw-r--r--rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.cpp10
-rw-r--r--src/d/bg/d_bg_w.cpp1683
-rw-r--r--src/d/bg/d_bg_w_kcol.cpp2
-rw-r--r--src/d/d_camera.cpp3
-rw-r--r--src/d/d_drawlist.cpp4
52 files changed, 1016 insertions, 3536 deletions
diff --git a/Progress.md b/Progress.md
index fd212a9ba1..5b0caee77f 100644
--- a/Progress.md
+++ b/Progress.md
@@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
-.text | 50.281826% | 1808408 | 3596544
+.text | 50.567545% | 1818684 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
-Total | 55.521664% | 2232344 | 4020672
+Total | 55.777243% | 2242620 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
-main.dol | 55.521664% | 2232344 | 4020672
+main.dol | 55.777243% | 2242620 | 4020672
RELs | 38.860853% | 4469124 | 11500324
-Total | 43.176791% | 6701468 | 15520996
+Total | 43.242998% | 6711744 | 15520996
## RELs
diff --git a/asm/d/bg/d_bg_w/ChkPolyThrough__4dBgWFiP16cBgS_PolyPassChk.s b/asm/d/bg/d_bg_w/ChkPolyThrough__4dBgWFiP16cBgS_PolyPassChk.s
deleted file mode 100644
index 9f304a64dd..0000000000
--- a/asm/d/bg/d_bg_w/ChkPolyThrough__4dBgWFiP16cBgS_PolyPassChk.s
+++ /dev/null
@@ -1,223 +0,0 @@
-lbl_8007E02C:
-/* 8007E02C 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 8007E030 7C 08 02 A6 */ mflr r0
-/* 8007E034 90 01 00 34 */ stw r0, 0x34(r1)
-/* 8007E038 39 61 00 30 */ addi r11, r1, 0x30
-/* 8007E03C 48 2E 41 9D */ bl _savegpr_28
-/* 8007E040 7C 7D 1B 78 */ mr r29, r3
-/* 8007E044 7C 9E 23 78 */ mr r30, r4
-/* 8007E048 28 05 00 00 */ cmplwi r5, 0
-/* 8007E04C 40 82 00 0C */ bne lbl_8007E058
-/* 8007E050 38 60 00 00 */ li r3, 0
-/* 8007E054 48 00 02 F4 */ b lbl_8007E348
-lbl_8007E058:
-/* 8007E058 7C BF 2B 78 */ mr r31, r5
-/* 8007E05C 88 05 00 04 */ lbz r0, 4(r5)
-/* 8007E060 28 00 00 00 */ cmplwi r0, 0
-/* 8007E064 41 82 00 24 */ beq lbl_8007E088
-/* 8007E068 81 83 00 04 */ lwz r12, 4(r3)
-/* 8007E06C 81 8C 00 7C */ lwz r12, 0x7c(r12)
-/* 8007E070 7D 89 03 A6 */ mtctr r12
-/* 8007E074 4E 80 04 21 */ bctrl
-/* 8007E078 28 03 00 00 */ cmplwi r3, 0
-/* 8007E07C 41 82 00 0C */ beq lbl_8007E088
-/* 8007E080 38 60 00 01 */ li r3, 1
-/* 8007E084 48 00 02 C4 */ b lbl_8007E348
-lbl_8007E088:
-/* 8007E088 88 1F 00 05 */ lbz r0, 5(r31)
-/* 8007E08C 28 00 00 00 */ cmplwi r0, 0
-/* 8007E090 41 82 00 2C */ beq lbl_8007E0BC
-/* 8007E094 7F A3 EB 78 */ mr r3, r29
-/* 8007E098 7F C4 F3 78 */ mr r4, r30
-/* 8007E09C 81 9D 00 04 */ lwz r12, 4(r29)
-/* 8007E0A0 81 8C 00 80 */ lwz r12, 0x80(r12)
-/* 8007E0A4 7D 89 03 A6 */ mtctr r12
-/* 8007E0A8 4E 80 04 21 */ bctrl
-/* 8007E0AC 28 03 00 00 */ cmplwi r3, 0
-/* 8007E0B0 41 82 00 0C */ beq lbl_8007E0BC
-/* 8007E0B4 38 60 00 01 */ li r3, 1
-/* 8007E0B8 48 00 02 90 */ b lbl_8007E348
-lbl_8007E0BC:
-/* 8007E0BC 88 1F 00 06 */ lbz r0, 6(r31)
-/* 8007E0C0 28 00 00 00 */ cmplwi r0, 0
-/* 8007E0C4 41 82 00 24 */ beq lbl_8007E0E8
-/* 8007E0C8 7F A3 EB 78 */ mr r3, r29
-/* 8007E0CC 7F C4 F3 78 */ mr r4, r30
-/* 8007E0D0 81 9D 00 04 */ lwz r12, 4(r29)
-/* 8007E0D4 81 8C 00 84 */ lwz r12, 0x84(r12)
-/* 8007E0D8 7D 89 03 A6 */ mtctr r12
-/* 8007E0DC 4E 80 04 21 */ bctrl
-/* 8007E0E0 28 03 00 00 */ cmplwi r3, 0
-/* 8007E0E4 40 82 00 30 */ bne lbl_8007E114
-lbl_8007E0E8:
-/* 8007E0E8 88 1F 00 0C */ lbz r0, 0xc(r31)
-/* 8007E0EC 28 00 00 00 */ cmplwi r0, 0
-/* 8007E0F0 41 82 00 2C */ beq lbl_8007E11C
-/* 8007E0F4 7F A3 EB 78 */ mr r3, r29
-/* 8007E0F8 7F C4 F3 78 */ mr r4, r30
-/* 8007E0FC 81 9D 00 04 */ lwz r12, 4(r29)
-/* 8007E100 81 8C 00 84 */ lwz r12, 0x84(r12)
-/* 8007E104 7D 89 03 A6 */ mtctr r12
-/* 8007E108 4E 80 04 21 */ bctrl
-/* 8007E10C 28 03 00 00 */ cmplwi r3, 0
-/* 8007E110 41 82 00 0C */ beq lbl_8007E11C
-lbl_8007E114:
-/* 8007E114 38 60 00 01 */ li r3, 1
-/* 8007E118 48 00 02 30 */ b lbl_8007E348
-lbl_8007E11C:
-/* 8007E11C 88 1F 00 07 */ lbz r0, 7(r31)
-/* 8007E120 28 00 00 00 */ cmplwi r0, 0
-/* 8007E124 41 82 00 2C */ beq lbl_8007E150
-/* 8007E128 7F A3 EB 78 */ mr r3, r29
-/* 8007E12C 7F C4 F3 78 */ mr r4, r30
-/* 8007E130 81 9D 00 04 */ lwz r12, 4(r29)
-/* 8007E134 81 8C 00 88 */ lwz r12, 0x88(r12)
-/* 8007E138 7D 89 03 A6 */ mtctr r12
-/* 8007E13C 4E 80 04 21 */ bctrl
-/* 8007E140 28 03 00 00 */ cmplwi r3, 0
-/* 8007E144 41 82 00 0C */ beq lbl_8007E150
-/* 8007E148 38 60 00 01 */ li r3, 1
-/* 8007E14C 48 00 01 FC */ b lbl_8007E348
-lbl_8007E150:
-/* 8007E150 88 1F 00 08 */ lbz r0, 8(r31)
-/* 8007E154 28 00 00 00 */ cmplwi r0, 0
-/* 8007E158 41 82 00 2C */ beq lbl_8007E184
-/* 8007E15C 7F A3 EB 78 */ mr r3, r29
-/* 8007E160 7F C4 F3 78 */ mr r4, r30
-/* 8007E164 81 9D 00 04 */ lwz r12, 4(r29)
-/* 8007E168 81 8C 00 98 */ lwz r12, 0x98(r12)
-/* 8007E16C 7D 89 03 A6 */ mtctr r12
-/* 8007E170 4E 80 04 21 */ bctrl
-/* 8007E174 28 03 00 00 */ cmplwi r3, 0
-/* 8007E178 41 82 00 0C */ beq lbl_8007E184
-/* 8007E17C 38 60 00 01 */ li r3, 1
-/* 8007E180 48 00 01 C8 */ b lbl_8007E348
-lbl_8007E184:
-/* 8007E184 88 1F 00 09 */ lbz r0, 9(r31)
-/* 8007E188 28 00 00 00 */ cmplwi r0, 0
-/* 8007E18C 41 82 00 2C */ beq lbl_8007E1B8
-/* 8007E190 7F A3 EB 78 */ mr r3, r29
-/* 8007E194 7F C4 F3 78 */ mr r4, r30
-/* 8007E198 81 9D 00 04 */ lwz r12, 4(r29)
-/* 8007E19C 81 8C 00 90 */ lwz r12, 0x90(r12)
-/* 8007E1A0 7D 89 03 A6 */ mtctr r12
-/* 8007E1A4 4E 80 04 21 */ bctrl
-/* 8007E1A8 28 03 00 00 */ cmplwi r3, 0
-/* 8007E1AC 41 82 00 0C */ beq lbl_8007E1B8
-/* 8007E1B0 38 60 00 01 */ li r3, 1
-/* 8007E1B4 48 00 01 94 */ b lbl_8007E348
-lbl_8007E1B8:
-/* 8007E1B8 88 1F 00 0A */ lbz r0, 0xa(r31)
-/* 8007E1BC 28 00 00 00 */ cmplwi r0, 0
-/* 8007E1C0 41 82 00 2C */ beq lbl_8007E1EC
-/* 8007E1C4 7F A3 EB 78 */ mr r3, r29
-/* 8007E1C8 7F C4 F3 78 */ mr r4, r30
-/* 8007E1CC 81 9D 00 04 */ lwz r12, 4(r29)
-/* 8007E1D0 81 8C 00 94 */ lwz r12, 0x94(r12)
-/* 8007E1D4 7D 89 03 A6 */ mtctr r12
-/* 8007E1D8 4E 80 04 21 */ bctrl
-/* 8007E1DC 28 03 00 00 */ cmplwi r3, 0
-/* 8007E1E0 41 82 00 0C */ beq lbl_8007E1EC
-/* 8007E1E4 38 60 00 01 */ li r3, 1
-/* 8007E1E8 48 00 01 60 */ b lbl_8007E348
-lbl_8007E1EC:
-/* 8007E1EC 88 1F 00 0B */ lbz r0, 0xb(r31)
-/* 8007E1F0 28 00 00 00 */ cmplwi r0, 0
-/* 8007E1F4 41 82 00 2C */ beq lbl_8007E220
-/* 8007E1F8 7F A3 EB 78 */ mr r3, r29
-/* 8007E1FC 7F C4 F3 78 */ mr r4, r30
-/* 8007E200 81 9D 00 04 */ lwz r12, 4(r29)
-/* 8007E204 81 8C 00 A0 */ lwz r12, 0xa0(r12)
-/* 8007E208 7D 89 03 A6 */ mtctr r12
-/* 8007E20C 4E 80 04 21 */ bctrl
-/* 8007E210 28 03 00 00 */ cmplwi r3, 0
-/* 8007E214 41 82 00 0C */ beq lbl_8007E220
-/* 8007E218 38 60 00 01 */ li r3, 1
-/* 8007E21C 48 00 01 2C */ b lbl_8007E348
-lbl_8007E220:
-/* 8007E220 7F A3 EB 78 */ mr r3, r29
-/* 8007E224 7F C4 F3 78 */ mr r4, r30
-/* 8007E228 38 A0 0F 00 */ li r5, 0xf00
-/* 8007E22C 38 C0 00 08 */ li r6, 8
-/* 8007E230 4B FF D4 25 */ bl GetPolyInf1__4cBgWCFiUlUl
-/* 8007E234 7C 7C 1B 78 */ mr r28, r3
-/* 8007E238 2C 1C 00 08 */ cmpwi r28, 8
-/* 8007E23C 40 82 00 1C */ bne lbl_8007E258
-/* 8007E240 7F E3 FB 78 */ mr r3, r31
-/* 8007E244 4B FF AC C1 */ bl ChkNoHorse__16dBgS_PolyPassChkFv
-/* 8007E248 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 8007E24C 41 82 00 0C */ beq lbl_8007E258
-/* 8007E250 38 60 00 01 */ li r3, 1
-/* 8007E254 48 00 00 F4 */ b lbl_8007E348
-lbl_8007E258:
-/* 8007E258 2C 1C 00 09 */ cmpwi r28, 9
-/* 8007E25C 40 82 00 80 */ bne lbl_8007E2DC
-/* 8007E260 7F E3 FB 78 */ mr r3, r31
-/* 8007E264 4B FF AC A1 */ bl ChkNoHorse__16dBgS_PolyPassChkFv
-/* 8007E268 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 8007E26C 41 82 00 0C */ beq lbl_8007E278
-/* 8007E270 38 60 00 01 */ li r3, 1
-/* 8007E274 48 00 00 D4 */ b lbl_8007E348
-lbl_8007E278:
-/* 8007E278 80 7D 00 94 */ lwz r3, 0x94(r29)
-/* 8007E27C 1C 1E 00 18 */ mulli r0, r30, 0x18
-/* 8007E280 7C 63 02 14 */ add r3, r3, r0
-/* 8007E284 C0 03 00 00 */ lfs f0, 0(r3)
-/* 8007E288 D0 01 00 08 */ stfs f0, 8(r1)
-/* 8007E28C C0 03 00 04 */ lfs f0, 4(r3)
-/* 8007E290 D0 01 00 0C */ stfs f0, 0xc(r1)
-/* 8007E294 C0 03 00 08 */ lfs f0, 8(r3)
-/* 8007E298 D0 01 00 10 */ stfs f0, 0x10(r1)
-/* 8007E29C 88 1F 00 0C */ lbz r0, 0xc(r31)
-/* 8007E2A0 28 00 00 00 */ cmplwi r0, 0
-/* 8007E2A4 41 82 00 38 */ beq lbl_8007E2DC
-/* 8007E2A8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
-/* 8007E2AC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
-/* 8007E2B0 80 63 5D B8 */ lwz r3, 0x5db8(r3)
-/* 8007E2B4 28 03 00 00 */ cmplwi r3, 0
-/* 8007E2B8 41 82 00 24 */ beq lbl_8007E2DC
-/* 8007E2BC 38 81 00 08 */ addi r4, r1, 8
-/* 8007E2C0 39 83 18 B0 */ addi r12, r3, 0x18b0
-/* 8007E2C4 48 2E 3D C1 */ bl __ptmf_scall
-/* 8007E2C8 60 00 00 00 */ nop
-/* 8007E2CC 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 8007E2D0 40 82 00 0C */ bne lbl_8007E2DC
-/* 8007E2D4 38 60 00 01 */ li r3, 1
-/* 8007E2D8 48 00 00 70 */ b lbl_8007E348
-lbl_8007E2DC:
-/* 8007E2DC 88 1F 00 0D */ lbz r0, 0xd(r31)
-/* 8007E2E0 28 00 00 00 */ cmplwi r0, 0
-/* 8007E2E4 41 82 00 2C */ beq lbl_8007E310
-/* 8007E2E8 7F A3 EB 78 */ mr r3, r29
-/* 8007E2EC 7F C4 F3 78 */ mr r4, r30
-/* 8007E2F0 81 9D 00 04 */ lwz r12, 4(r29)
-/* 8007E2F4 81 8C 00 74 */ lwz r12, 0x74(r12)
-/* 8007E2F8 7D 89 03 A6 */ mtctr r12
-/* 8007E2FC 4E 80 04 21 */ bctrl
-/* 8007E300 2C 03 00 07 */ cmpwi r3, 7
-/* 8007E304 40 82 00 0C */ bne lbl_8007E310
-/* 8007E308 38 60 00 01 */ li r3, 1
-/* 8007E30C 48 00 00 3C */ b lbl_8007E348
-lbl_8007E310:
-/* 8007E310 88 1F 00 0E */ lbz r0, 0xe(r31)
-/* 8007E314 28 00 00 00 */ cmplwi r0, 0
-/* 8007E318 41 82 00 2C */ beq lbl_8007E344
-/* 8007E31C 7F A3 EB 78 */ mr r3, r29
-/* 8007E320 7F C4 F3 78 */ mr r4, r30
-/* 8007E324 81 9D 00 04 */ lwz r12, 4(r29)
-/* 8007E328 81 8C 00 BC */ lwz r12, 0xbc(r12)
-/* 8007E32C 7D 89 03 A6 */ mtctr r12
-/* 8007E330 4E 80 04 21 */ bctrl
-/* 8007E334 28 03 00 00 */ cmplwi r3, 0
-/* 8007E338 41 82 00 0C */ beq lbl_8007E344
-/* 8007E33C 38 60 00 01 */ li r3, 1
-/* 8007E340 48 00 00 08 */ b lbl_8007E348
-lbl_8007E344:
-/* 8007E344 38 60 00 00 */ li r3, 0
-lbl_8007E348:
-/* 8007E348 39 61 00 30 */ addi r11, r1, 0x30
-/* 8007E34C 48 2E 3E D9 */ bl _restgpr_28
-/* 8007E350 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 8007E354 7C 08 03 A6 */ mtlr r0
-/* 8007E358 38 21 00 30 */ addi r1, r1, 0x30
-/* 8007E35C 4E 80 00 20 */ blr
diff --git a/asm/d/bg/d_bg_w/ClassifyPlane__4cBgWFv.s b/asm/d/bg/d_bg_w/ClassifyPlane__4cBgWFv.s
deleted file mode 100644
index aeb9867331..0000000000
--- a/asm/d/bg/d_bg_w/ClassifyPlane__4cBgWFv.s
+++ /dev/null
@@ -1,128 +0,0 @@
-lbl_800797BC:
-/* 800797BC 94 21 FF A0 */ stwu r1, -0x60(r1)
-/* 800797C0 7C 08 02 A6 */ mflr r0
-/* 800797C4 90 01 00 64 */ stw r0, 0x64(r1)
-/* 800797C8 DB E1 00 50 */ stfd f31, 0x50(r1)
-/* 800797CC F3 E1 00 58 */ psq_st f31, 88(r1), 0, 0 /* qr0 */
-/* 800797D0 DB C1 00 40 */ stfd f30, 0x40(r1)
-/* 800797D4 F3 C1 00 48 */ psq_st f30, 72(r1), 0, 0 /* qr0 */
-/* 800797D8 39 61 00 40 */ addi r11, r1, 0x40
-/* 800797DC 48 2E 89 ED */ bl _savegpr_24
-/* 800797E0 7C 7C 1B 78 */ mr r28, r3
-/* 800797E4 80 03 00 9C */ lwz r0, 0x9c(r3)
-/* 800797E8 28 00 00 00 */ cmplwi r0, 0
-/* 800797EC 41 82 01 78 */ beq lbl_80079964
-/* 800797F0 3B C0 00 00 */ li r30, 0
-/* 800797F4 3B 60 00 00 */ li r27, 0
-/* 800797F8 3B 40 00 00 */ li r26, 0
-/* 800797FC C3 ED 8C 00 */ lfs f31, G_CM3D_F_ABS_MIN(r13)
-/* 80079800 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */
-/* 80079804 3B E3 FF FF */ addi r31, r3, 0xFFFF /* 0x0000FFFF@l */
-/* 80079808 48 00 01 4C */ b lbl_80079954
-lbl_8007980C:
-/* 8007980C 80 03 00 14 */ lwz r0, 0x14(r3)
-/* 80079810 7C A0 D2 14 */ add r5, r0, r26
-/* 80079814 A0 C5 00 00 */ lhz r6, 0(r5)
-/* 80079818 38 04 FF FF */ addi r0, r4, -1
-/* 8007981C 7C 1E 00 00 */ cmpw r30, r0
-/* 80079820 41 82 00 10 */ beq lbl_80079830
-/* 80079824 A0 65 00 02 */ lhz r3, 2(r5)
-/* 80079828 3B A3 FF FF */ addi r29, r3, -1
-/* 8007982C 48 00 00 0C */ b lbl_80079838
-lbl_80079830:
-/* 80079830 80 63 00 08 */ lwz r3, 8(r3)
-/* 80079834 3B A3 FF FF */ addi r29, r3, -1
-lbl_80079838:
-/* 80079838 80 7C 00 A4 */ lwz r3, 0xa4(r28)
-/* 8007983C 7F E3 DB 2E */ sthx r31, r3, r27
-/* 80079840 80 7C 00 A4 */ lwz r3, 0xa4(r28)
-/* 80079844 38 1B 00 02 */ addi r0, r27, 2
-/* 80079848 7F E3 03 2E */ sthx r31, r3, r0
-/* 8007984C 80 7C 00 A4 */ lwz r3, 0xa4(r28)
-/* 80079850 38 1B 00 04 */ addi r0, r27, 4
-/* 80079854 7F E3 03 2E */ sthx r31, r3, r0
-/* 80079858 93 E1 00 08 */ stw r31, 8(r1)
-/* 8007985C 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80079860 93 E1 00 10 */ stw r31, 0x10(r1)
-/* 80079864 7C D8 33 78 */ mr r24, r6
-/* 80079868 1F 26 00 18 */ mulli r25, r6, 0x18
-/* 8007986C 48 00 00 D4 */ b lbl_80079940
-lbl_80079870:
-/* 80079870 80 1C 00 94 */ lwz r0, 0x94(r28)
-/* 80079874 7C 60 CA 14 */ add r3, r0, r25
-/* 80079878 C3 C3 00 04 */ lfs f30, 4(r3)
-/* 8007987C C0 03 00 00 */ lfs f0, 0(r3)
-/* 80079880 FC 00 02 10 */ fabs f0, f0
-/* 80079884 FC 00 00 18 */ frsp f0, f0
-/* 80079888 FC 00 F8 40 */ fcmpo cr0, f0, f31
-/* 8007988C 40 80 00 28 */ bge lbl_800798B4
-/* 80079890 FC 00 F2 10 */ fabs f0, f30
-/* 80079894 FC 00 00 18 */ frsp f0, f0
-/* 80079898 FC 00 F8 40 */ fcmpo cr0, f0, f31
-/* 8007989C 40 80 00 18 */ bge lbl_800798B4
-/* 800798A0 C0 03 00 08 */ lfs f0, 8(r3)
-/* 800798A4 FC 00 02 10 */ fabs f0, f0
-/* 800798A8 FC 00 00 18 */ frsp f0, f0
-/* 800798AC FC 00 F8 40 */ fcmpo cr0, f0, f31
-/* 800798B0 41 80 00 88 */ blt lbl_80079938
-lbl_800798B4:
-/* 800798B4 FC 20 F0 90 */ fmr f1, f30
-/* 800798B8 48 1E E9 2D */ bl cBgW_CheckBGround__Ff
-/* 800798BC 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 800798C0 41 82 00 24 */ beq lbl_800798E4
-/* 800798C4 7F 83 E3 78 */ mr r3, r28
-/* 800798C8 80 1C 00 A4 */ lwz r0, 0xa4(r28)
-/* 800798CC 38 9B 00 04 */ addi r4, r27, 4
-/* 800798D0 7C 80 22 14 */ add r4, r0, r4
-/* 800798D4 38 A1 00 08 */ addi r5, r1, 8
-/* 800798D8 7F 06 C3 78 */ mr r6, r24
-/* 800798DC 4B FF FE 95 */ bl BlckConnect__4cBgWFPUsPii
-/* 800798E0 48 00 00 58 */ b lbl_80079938
-lbl_800798E4:
-/* 800798E4 FC 20 F0 90 */ fmr f1, f30
-/* 800798E8 48 1E E9 15 */ bl cBgW_CheckBRoof__Ff
-/* 800798EC 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 800798F0 41 82 00 2C */ beq lbl_8007991C
-/* 800798F4 88 1C 00 91 */ lbz r0, 0x91(r28)
-/* 800798F8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
-/* 800798FC 40 82 00 3C */ bne lbl_80079938
-/* 80079900 7F 83 E3 78 */ mr r3, r28
-/* 80079904 80 1C 00 A4 */ lwz r0, 0xa4(r28)
-/* 80079908 7C 80 DA 14 */ add r4, r0, r27
-/* 8007990C 38 A1 00 10 */ addi r5, r1, 0x10
-/* 80079910 7F 06 C3 78 */ mr r6, r24
-/* 80079914 4B FF FE 5D */ bl BlckConnect__4cBgWFPUsPii
-/* 80079918 48 00 00 20 */ b lbl_80079938
-lbl_8007991C:
-/* 8007991C 7F 83 E3 78 */ mr r3, r28
-/* 80079920 80 1C 00 A4 */ lwz r0, 0xa4(r28)
-/* 80079924 38 9B 00 02 */ addi r4, r27, 2
-/* 80079928 7C 80 22 14 */ add r4, r0, r4
-/* 8007992C 38 A1 00 0C */ addi r5, r1, 0xc
-/* 80079930 7F 06 C3 78 */ mr r6, r24
-/* 80079934 4B FF FE 3D */ bl BlckConnect__4cBgWFPUsPii
-lbl_80079938:
-/* 80079938 3B 18 00 01 */ addi r24, r24, 1
-/* 8007993C 3B 39 00 18 */ addi r25, r25, 0x18
-lbl_80079940:
-/* 80079940 7C 18 E8 00 */ cmpw r24, r29
-/* 80079944 40 81 FF 2C */ ble lbl_80079870
-/* 80079948 3B DE 00 01 */ addi r30, r30, 1
-/* 8007994C 3B 7B 00 06 */ addi r27, r27, 6
-/* 80079950 3B 5A 00 02 */ addi r26, r26, 2
-lbl_80079954:
-/* 80079954 80 7C 00 A0 */ lwz r3, 0xa0(r28)
-/* 80079958 80 83 00 10 */ lwz r4, 0x10(r3)
-/* 8007995C 7C 1E 20 00 */ cmpw r30, r4
-/* 80079960 41 80 FE AC */ blt lbl_8007980C
-lbl_80079964:
-/* 80079964 E3 E1 00 58 */ psq_l f31, 88(r1), 0, 0 /* qr0 */
-/* 80079968 CB E1 00 50 */ lfd f31, 0x50(r1)
-/* 8007996C E3 C1 00 48 */ psq_l f30, 72(r1), 0, 0 /* qr0 */
-/* 80079970 CB C1 00 40 */ lfd f30, 0x40(r1)
-/* 80079974 39 61 00 40 */ addi r11, r1, 0x40
-/* 80079978 48 2E 88 9D */ bl _restgpr_24
-/* 8007997C 80 01 00 64 */ lwz r0, 0x64(r1)
-/* 80079980 7C 08 03 A6 */ mtlr r0
-/* 80079984 38 21 00 60 */ addi r1, r1, 0x60
-/* 80079988 4E 80 00 20 */ blr
diff --git a/asm/d/bg/d_bg_w/MakeBlckBnd__4cBgWFiP4cXyzP4cXyz.s b/asm/d/bg/d_bg_w/MakeBlckBnd__4cBgWFiP4cXyzP4cXyz.s
deleted file mode 100644
index aa4dbf463a..0000000000
--- a/asm/d/bg/d_bg_w/MakeBlckBnd__4cBgWFiP4cXyzP4cXyz.s
+++ /dev/null
@@ -1,100 +0,0 @@
-lbl_80079A68:
-/* 80079A68 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80079A6C 7C 08 02 A6 */ mflr r0
-/* 80079A70 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80079A74 39 61 00 20 */ addi r11, r1, 0x20
-/* 80079A78 48 2E 87 59 */ bl _savegpr_26
-/* 80079A7C 7C 7D 1B 78 */ mr r29, r3
-/* 80079A80 7C BE 2B 78 */ mr r30, r5
-/* 80079A84 7C DF 33 78 */ mr r31, r6
-/* 80079A88 80 A3 00 A0 */ lwz r5, 0xa0(r3)
-/* 80079A8C 80 E5 00 14 */ lwz r7, 0x14(r5)
-/* 80079A90 54 86 08 3C */ slwi r6, r4, 1
-/* 80079A94 7D 07 32 2E */ lhzx r8, r7, r6
-/* 80079A98 80 65 00 10 */ lwz r3, 0x10(r5)
-/* 80079A9C 38 03 FF FF */ addi r0, r3, -1
-/* 80079AA0 7C 04 00 00 */ cmpw r4, r0
-/* 80079AA4 41 82 00 14 */ beq lbl_80079AB8
-/* 80079AA8 7C 67 32 14 */ add r3, r7, r6
-/* 80079AAC A0 63 00 02 */ lhz r3, 2(r3)
-/* 80079AB0 3B 63 FF FF */ addi r27, r3, -1
-/* 80079AB4 48 00 00 0C */ b lbl_80079AC0
-lbl_80079AB8:
-/* 80079AB8 80 65 00 08 */ lwz r3, 8(r5)
-/* 80079ABC 3B 63 FF FF */ addi r27, r3, -1
-lbl_80079AC0:
-/* 80079AC0 88 1D 00 89 */ lbz r0, 0x89(r29)
-/* 80079AC4 28 00 00 00 */ cmplwi r0, 0
-/* 80079AC8 40 82 00 18 */ bne lbl_80079AE0
-/* 80079ACC 7F A3 EB 78 */ mr r3, r29
-/* 80079AD0 7F C4 F3 78 */ mr r4, r30
-/* 80079AD4 7F E5 FB 78 */ mr r5, r31
-/* 80079AD8 4B FF FE B5 */ bl MakeBlckTransMinMax__4cBgWFP4cXyzP4cXyz
-/* 80079ADC 48 00 00 E8 */ b lbl_80079BC4
-lbl_80079AE0:
-/* 80079AE0 C0 02 8C FC */ lfs f0, lit_3935(r2)
-/* 80079AE4 D0 1E 00 08 */ stfs f0, 8(r30)
-/* 80079AE8 D0 1E 00 04 */ stfs f0, 4(r30)
-/* 80079AEC D0 1E 00 00 */ stfs f0, 0(r30)
-/* 80079AF0 C0 02 8D 00 */ lfs f0, lit_3936(r2)
-/* 80079AF4 D0 1F 00 08 */ stfs f0, 8(r31)
-/* 80079AF8 D0 1F 00 04 */ stfs f0, 4(r31)
-/* 80079AFC D0 1F 00 00 */ stfs f0, 0(r31)
-/* 80079B00 7D 1A 43 78 */ mr r26, r8
-/* 80079B04 1F 88 00 0A */ mulli r28, r8, 0xa
-/* 80079B08 48 00 00 68 */ b lbl_80079B70
-lbl_80079B0C:
-/* 80079B0C 7F A3 EB 78 */ mr r3, r29
-/* 80079B10 80 9D 00 A0 */ lwz r4, 0xa0(r29)
-/* 80079B14 80 84 00 0C */ lwz r4, 0xc(r4)
-/* 80079B18 7C 84 E2 2E */ lhzx r4, r4, r28
-/* 80079B1C 7F C5 F3 78 */ mr r5, r30
-/* 80079B20 7F E6 FB 78 */ mr r6, r31
-/* 80079B24 4B FF FE BD */ bl MakeBlckMinMax__4cBgWFiP4cXyzP4cXyz
-/* 80079B28 7F A3 EB 78 */ mr r3, r29
-/* 80079B2C 80 9D 00 A0 */ lwz r4, 0xa0(r29)
-/* 80079B30 80 84 00 0C */ lwz r4, 0xc(r4)
-/* 80079B34 38 1C 00 02 */ addi r0, r28, 2
-/* 80079B38 7C 84 02 2E */ lhzx r4, r4, r0
-/* 80079B3C 7F C5 F3 78 */ mr r5, r30
-/* 80079B40 7F E6 FB 78 */ mr r6, r31
-/* 80079B44 4B FF FE 9D */ bl MakeBlckMinMax__4cBgWFiP4cXyzP4cXyz
-/* 80079B48 7F A3 EB 78 */ mr r3, r29
-/* 80079B4C 80 9D 00 A0 */ lwz r4, 0xa0(r29)
-/* 80079B50 80 84 00 0C */ lwz r4, 0xc(r4)
-/* 80079B54 38 1C 00 04 */ addi r0, r28, 4
-/* 80079B58 7C 84 02 2E */ lhzx r4, r4, r0
-/* 80079B5C 7F C5 F3 78 */ mr r5, r30
-/* 80079B60 7F E6 FB 78 */ mr r6, r31
-/* 80079B64 4B FF FE 7D */ bl MakeBlckMinMax__4cBgWFiP4cXyzP4cXyz
-/* 80079B68 3B 5A 00 01 */ addi r26, r26, 1
-/* 80079B6C 3B 9C 00 0A */ addi r28, r28, 0xa
-lbl_80079B70:
-/* 80079B70 7C 1A D8 00 */ cmpw r26, r27
-/* 80079B74 40 81 FF 98 */ ble lbl_80079B0C
-/* 80079B78 C0 1E 00 00 */ lfs f0, 0(r30)
-/* 80079B7C C0 22 8D 04 */ lfs f1, lit_3937(r2)
-/* 80079B80 EC 00 08 28 */ fsubs f0, f0, f1
-/* 80079B84 D0 1E 00 00 */ stfs f0, 0(r30)
-/* 80079B88 C0 1E 00 04 */ lfs f0, 4(r30)
-/* 80079B8C EC 00 08 28 */ fsubs f0, f0, f1
-/* 80079B90 D0 1E 00 04 */ stfs f0, 4(r30)
-/* 80079B94 C0 1E 00 08 */ lfs f0, 8(r30)
-/* 80079B98 EC 00 08 28 */ fsubs f0, f0, f1
-/* 80079B9C D0 1E 00 08 */ stfs f0, 8(r30)
-/* 80079BA0 C0 1F 00 00 */ lfs f0, 0(r31)
-/* 80079BA4 EC 00 08 2A */ fadds f0, f0, f1
-/* 80079BA8 D0 1F 00 00 */ stfs f0, 0(r31)
-/* 80079BAC C0 1F 00 04 */ lfs f0, 4(r31)
-/* 80079BB0 EC 00 08 2A */ fadds f0, f0, f1
-/* 80079BB4 D0 1F 00 04 */ stfs f0, 4(r31)
-/* 80079BB8 C0 1F 00 08 */ lfs f0, 8(r31)
-/* 80079BBC EC 00 08 2A */ fadds f0, f0, f1
-/* 80079BC0 D0 1F 00 08 */ stfs f0, 8(r31)
-lbl_80079BC4:
-/* 80079BC4 39 61 00 20 */ addi r11, r1, 0x20
-/* 80079BC8 48 2E 86 55 */ bl _restgpr_26
-/* 80079BCC 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80079BD0 7C 08 03 A6 */ mtlr r0
-/* 80079BD4 38 21 00 20 */ addi r1, r1, 0x20
-/* 80079BD8 4E 80 00 20 */ blr
diff --git a/asm/d/bg/d_bg_w/RwgWallCorrectSort__4dBgWFP9dBgS_AcchUs.s b/asm/d/bg/d_bg_w/RwgWallCorrectSort__4dBgWFP9dBgS_AcchUs.s
deleted file mode 100644
index ac4c57c7c6..0000000000
--- a/asm/d/bg/d_bg_w/RwgWallCorrectSort__4dBgWFP9dBgS_AcchUs.s
+++ /dev/null
@@ -1,164 +0,0 @@
-lbl_8007C4AC:
-/* 8007C4AC 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 8007C4B0 7C 08 02 A6 */ mflr r0
-/* 8007C4B4 90 01 00 34 */ stw r0, 0x34(r1)
-/* 8007C4B8 39 61 00 30 */ addi r11, r1, 0x30
-/* 8007C4BC 48 2E 5D 15 */ bl _savegpr_26
-/* 8007C4C0 7C 7B 1B 78 */ mr r27, r3
-/* 8007C4C4 7C 9C 23 78 */ mr r28, r4
-/* 8007C4C8 7C BD 2B 78 */ mr r29, r5
-lbl_8007C4CC:
-/* 8007C4CC 83 DB 00 98 */ lwz r30, 0x98(r27)
-/* 8007C4D0 57 BA 04 3E */ clrlwi r26, r29, 0x10
-/* 8007C4D4 57 BF 1B 78 */ rlwinm r31, r29, 3, 0xd, 0x1c
-/* 8007C4D8 7F 63 DB 78 */ mr r3, r27
-/* 8007C4DC 7F 44 D3 78 */ mr r4, r26
-/* 8007C4E0 80 BC 00 00 */ lwz r5, 0(r28)
-/* 8007C4E4 81 9B 00 04 */ lwz r12, 4(r27)
-/* 8007C4E8 81 8C 00 F8 */ lwz r12, 0xf8(r12)
-/* 8007C4EC 7D 89 03 A6 */ mtctr r12
-/* 8007C4F0 4E 80 04 21 */ bctrl
-/* 8007C4F4 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 8007C4F8 40 82 01 F0 */ bne lbl_8007C6E8
-/* 8007C4FC 80 7B 00 94 */ lwz r3, 0x94(r27)
-/* 8007C500 1C 1A 00 18 */ mulli r0, r26, 0x18
-/* 8007C504 7C 83 02 14 */ add r4, r3, r0
-/* 8007C508 C0 04 00 00 */ lfs f0, 0(r4)
-/* 8007C50C EC 20 00 32 */ fmuls f1, f0, f0
-/* 8007C510 C0 04 00 08 */ lfs f0, 8(r4)
-/* 8007C514 EC 00 00 32 */ fmuls f0, f0, f0
-/* 8007C518 EC 41 00 2A */ fadds f2, f1, f0
-/* 8007C51C C0 02 8C F8 */ lfs f0, lit_3717(r2)
-/* 8007C520 FC 02 00 40 */ fcmpo cr0, f2, f0
-/* 8007C524 40 81 00 0C */ ble lbl_8007C530
-/* 8007C528 FC 00 10 34 */ frsqrte f0, f2
-/* 8007C52C EC 40 00 B2 */ fmuls f2, f0, f2
-lbl_8007C530:
-/* 8007C530 FC 00 12 10 */ fabs f0, f2
-/* 8007C534 FC 20 00 18 */ frsp f1, f0
-/* 8007C538 C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13)
-/* 8007C53C FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8007C540 40 80 00 18 */ bge lbl_8007C558
-/* 8007C544 7C 1E FA 2E */ lhzx r0, r30, r31
-/* 8007C548 28 00 FF FF */ cmplwi r0, 0xffff
-/* 8007C54C 41 82 01 B0 */ beq lbl_8007C6FC
-/* 8007C550 7C 1D 03 78 */ mr r29, r0
-/* 8007C554 4B FF FF 78 */ b lbl_8007C4CC
-lbl_8007C558:
-/* 8007C558 80 7C 00 84 */ lwz r3, 0x84(r28)
-/* 8007C55C A8 03 04 DE */ lha r0, 0x4de(r3)
-/* 8007C560 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
-/* 8007C564 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */
-/* 8007C568 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */
-/* 8007C56C 7C 23 04 2E */ lfsx f1, r3, r0
-/* 8007C570 D0 21 00 08 */ stfs f1, 8(r1)
-/* 8007C574 7C 63 02 14 */ add r3, r3, r0
-/* 8007C578 C0 63 00 04 */ lfs f3, 4(r3)
-/* 8007C57C D0 61 00 10 */ stfs f3, 0x10(r1)
-/* 8007C580 C0 02 8D 04 */ lfs f0, lit_3937(r2)
-/* 8007C584 EC 40 10 24 */ fdivs f2, f0, f2
-/* 8007C588 C0 04 00 00 */ lfs f0, 0(r4)
-/* 8007C58C EC 21 00 32 */ fmuls f1, f1, f0
-/* 8007C590 C0 04 00 08 */ lfs f0, 8(r4)
-/* 8007C594 EC 03 00 32 */ fmuls f0, f3, f0
-/* 8007C598 EC 01 00 2A */ fadds f0, f1, f0
-/* 8007C59C EC 22 00 32 */ fmuls f1, f2, f0
-/* 8007C5A0 80 AD 8A 00 */ lwz r5, l_start(r13)
-/* 8007C5A4 28 05 00 00 */ cmplwi r5, 0
-/* 8007C5A8 40 82 00 40 */ bne lbl_8007C5E8
-/* 8007C5AC 80 AD 8A 04 */ lwz r5, l_wcsbuf_num(r13)
-/* 8007C5B0 2C 05 00 54 */ cmpwi r5, 0x54
-/* 8007C5B4 40 80 01 34 */ bge lbl_8007C6E8
-/* 8007C5B8 1C 85 00 0C */ mulli r4, r5, 0xc
-/* 8007C5BC 3C 60 80 42 */ lis r3, l_wcsbuf@ha /* 0x80424B80@ha */
-/* 8007C5C0 38 03 4B 80 */ addi r0, r3, l_wcsbuf@l /* 0x80424B80@l */
-/* 8007C5C4 7C 60 22 14 */ add r3, r0, r4
-/* 8007C5C8 D0 23 00 00 */ stfs f1, 0(r3)
-/* 8007C5CC B3 A3 00 04 */ sth r29, 4(r3)
-/* 8007C5D0 38 00 00 00 */ li r0, 0
-/* 8007C5D4 90 03 00 08 */ stw r0, 8(r3)
-/* 8007C5D8 90 6D 8A 00 */ stw r3, l_start(r13)
-/* 8007C5DC 38 05 00 01 */ addi r0, r5, 1
-/* 8007C5E0 90 0D 8A 04 */ stw r0, l_wcsbuf_num(r13)
-/* 8007C5E4 48 00 01 04 */ b lbl_8007C6E8
-lbl_8007C5E8:
-/* 8007C5E8 57 A3 04 3E */ clrlwi r3, r29, 0x10
-/* 8007C5EC A0 05 00 04 */ lhz r0, 4(r5)
-/* 8007C5F0 7C 03 00 40 */ cmplw r3, r0
-/* 8007C5F4 41 82 00 F4 */ beq lbl_8007C6E8
-/* 8007C5F8 C0 05 00 00 */ lfs f0, 0(r5)
-/* 8007C5FC FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8007C600 40 81 00 3C */ ble lbl_8007C63C
-/* 8007C604 80 CD 8A 04 */ lwz r6, l_wcsbuf_num(r13)
-/* 8007C608 2C 06 00 54 */ cmpwi r6, 0x54
-/* 8007C60C 40 80 00 DC */ bge lbl_8007C6E8
-/* 8007C610 1C 86 00 0C */ mulli r4, r6, 0xc
-/* 8007C614 3C 60 80 42 */ lis r3, l_wcsbuf@ha /* 0x80424B80@ha */
-/* 8007C618 38 03 4B 80 */ addi r0, r3, l_wcsbuf@l /* 0x80424B80@l */
-/* 8007C61C 7C 60 22 14 */ add r3, r0, r4
-/* 8007C620 D0 23 00 00 */ stfs f1, 0(r3)
-/* 8007C624 B3 A3 00 04 */ sth r29, 4(r3)
-/* 8007C628 90 A3 00 08 */ stw r5, 8(r3)
-/* 8007C62C 90 6D 8A 00 */ stw r3, l_start(r13)
-/* 8007C630 38 06 00 01 */ addi r0, r6, 1
-/* 8007C634 90 0D 8A 04 */ stw r0, l_wcsbuf_num(r13)
-/* 8007C638 48 00 00 B0 */ b lbl_8007C6E8
-lbl_8007C63C:
-/* 8007C63C 80 85 00 08 */ lwz r4, 8(r5)
-/* 8007C640 28 04 00 00 */ cmplwi r4, 0
-/* 8007C644 40 82 00 44 */ bne lbl_8007C688
-/* 8007C648 80 0D 8A 04 */ lwz r0, l_wcsbuf_num(r13)
-/* 8007C64C 2C 00 00 54 */ cmpwi r0, 0x54
-/* 8007C650 40 80 00 98 */ bge lbl_8007C6E8
-/* 8007C654 1C 80 00 0C */ mulli r4, r0, 0xc
-/* 8007C658 3C 60 80 42 */ lis r3, l_wcsbuf@ha /* 0x80424B80@ha */
-/* 8007C65C 38 03 4B 80 */ addi r0, r3, l_wcsbuf@l /* 0x80424B80@l */
-/* 8007C660 7C 60 22 14 */ add r3, r0, r4
-/* 8007C664 D0 23 00 00 */ stfs f1, 0(r3)
-/* 8007C668 B3 A3 00 04 */ sth r29, 4(r3)
-/* 8007C66C 38 00 00 00 */ li r0, 0
-/* 8007C670 90 03 00 08 */ stw r0, 8(r3)
-/* 8007C674 90 65 00 08 */ stw r3, 8(r5)
-/* 8007C678 80 6D 8A 04 */ lwz r3, l_wcsbuf_num(r13)
-/* 8007C67C 38 03 00 01 */ addi r0, r3, 1
-/* 8007C680 90 0D 8A 04 */ stw r0, l_wcsbuf_num(r13)
-/* 8007C684 48 00 00 64 */ b lbl_8007C6E8
-lbl_8007C688:
-/* 8007C688 A0 04 00 04 */ lhz r0, 4(r4)
-/* 8007C68C 7C 03 00 40 */ cmplw r3, r0
-/* 8007C690 41 82 00 58 */ beq lbl_8007C6E8
-/* 8007C694 C0 04 00 00 */ lfs f0, 0(r4)
-/* 8007C698 FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8007C69C 40 81 00 44 */ ble lbl_8007C6E0
-/* 8007C6A0 80 0D 8A 04 */ lwz r0, l_wcsbuf_num(r13)
-/* 8007C6A4 2C 00 00 54 */ cmpwi r0, 0x54
-/* 8007C6A8 40 80 00 40 */ bge lbl_8007C6E8
-/* 8007C6AC 1C 80 00 0C */ mulli r4, r0, 0xc
-/* 8007C6B0 3C 60 80 42 */ lis r3, l_wcsbuf@ha /* 0x80424B80@ha */
-/* 8007C6B4 38 03 4B 80 */ addi r0, r3, l_wcsbuf@l /* 0x80424B80@l */
-/* 8007C6B8 7C 60 22 14 */ add r3, r0, r4
-/* 8007C6BC D0 23 00 00 */ stfs f1, 0(r3)
-/* 8007C6C0 B3 A3 00 04 */ sth r29, 4(r3)
-/* 8007C6C4 80 05 00 08 */ lwz r0, 8(r5)
-/* 8007C6C8 90 03 00 08 */ stw r0, 8(r3)
-/* 8007C6CC 90 65 00 08 */ stw r3, 8(r5)
-/* 8007C6D0 80 6D 8A 04 */ lwz r3, l_wcsbuf_num(r13)
-/* 8007C6D4 38 03 00 01 */ addi r0, r3, 1
-/* 8007C6D8 90 0D 8A 04 */ stw r0, l_wcsbuf_num(r13)
-/* 8007C6DC 48 00 00 0C */ b lbl_8007C6E8
-lbl_8007C6E0:
-/* 8007C6E0 7C 85 23 78 */ mr r5, r4
-/* 8007C6E4 4B FF FF 58 */ b lbl_8007C63C
-lbl_8007C6E8:
-/* 8007C6E8 7C 1E FA 2E */ lhzx r0, r30, r31
-/* 8007C6EC 28 00 FF FF */ cmplwi r0, 0xffff
-/* 8007C6F0 41 82 00 0C */ beq lbl_8007C6FC
-/* 8007C6F4 7C 1D 03 78 */ mr r29, r0
-/* 8007C6F8 4B FF FD D4 */ b lbl_8007C4CC
-lbl_8007C6FC:
-/* 8007C6FC 39 61 00 30 */ addi r11, r1, 0x30
-/* 8007C700 48 2E 5B 1D */ bl _restgpr_26
-/* 8007C704 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 8007C708 7C 08 03 A6 */ mtlr r0
-/* 8007C70C 38 21 00 30 */ addi r1, r1, 0x30
-/* 8007C710 4E 80 00 20 */ blr
diff --git a/asm/d/bg/d_bg_w/RwgWallCorrect__4dBgWFP9dBgS_AcchUs.s b/asm/d/bg/d_bg_w/RwgWallCorrect__4dBgWFP9dBgS_AcchUs.s
deleted file mode 100644
index 3a8dc8d957..0000000000
--- a/asm/d/bg/d_bg_w/RwgWallCorrect__4dBgWFP9dBgS_AcchUs.s
+++ /dev/null
@@ -1,538 +0,0 @@
-lbl_8007BA40:
-/* 8007BA40 94 21 FF 10 */ stwu r1, -0xf0(r1)
-/* 8007BA44 7C 08 02 A6 */ mflr r0
-/* 8007BA48 90 01 00 F4 */ stw r0, 0xf4(r1)
-/* 8007BA4C DB E1 00 E0 */ stfd f31, 0xe0(r1)
-/* 8007BA50 F3 E1 00 E8 */ psq_st f31, 232(r1), 0, 0 /* qr0 */
-/* 8007BA54 DB C1 00 D0 */ stfd f30, 0xd0(r1)
-/* 8007BA58 F3 C1 00 D8 */ psq_st f30, 216(r1), 0, 0 /* qr0 */
-/* 8007BA5C DB A1 00 C0 */ stfd f29, 0xc0(r1)
-/* 8007BA60 F3 A1 00 C8 */ psq_st f29, 200(r1), 0, 0 /* qr0 */
-/* 8007BA64 DB 81 00 B0 */ stfd f28, 0xb0(r1)
-/* 8007BA68 F3 81 00 B8 */ psq_st f28, 184(r1), 0, 0 /* qr0 */
-/* 8007BA6C DB 61 00 A0 */ stfd f27, 0xa0(r1)
-/* 8007BA70 F3 61 00 A8 */ psq_st f27, 168(r1), 0, 0 /* qr0 */
-/* 8007BA74 DB 41 00 90 */ stfd f26, 0x90(r1)
-/* 8007BA78 F3 41 00 98 */ psq_st f26, 152(r1), 0, 0 /* qr0 */
-/* 8007BA7C DB 21 00 80 */ stfd f25, 0x80(r1)
-/* 8007BA80 F3 21 00 88 */ psq_st f25, 136(r1), 0, 0 /* qr0 */
-/* 8007BA84 DB 01 00 70 */ stfd f24, 0x70(r1)
-/* 8007BA88 F3 01 00 78 */ psq_st f24, 120(r1), 0, 0 /* qr0 */
-/* 8007BA8C 39 61 00 70 */ addi r11, r1, 0x70
-/* 8007BA90 48 2E 67 31 */ bl _savegpr_22
-/* 8007BA94 7C 77 1B 78 */ mr r23, r3
-/* 8007BA98 7C 98 23 78 */ mr r24, r4
-/* 8007BA9C 3B 80 00 00 */ li r28, 0
-lbl_8007BAA0:
-/* 8007BAA0 83 D7 00 98 */ lwz r30, 0x98(r23)
-/* 8007BAA4 54 BD 04 3E */ clrlwi r29, r5, 0x10
-/* 8007BAA8 54 BF 1B 78 */ rlwinm r31, r5, 3, 0xd, 0x1c
-/* 8007BAAC 7E E3 BB 78 */ mr r3, r23
-/* 8007BAB0 7F A4 EB 78 */ mr r4, r29
-/* 8007BAB4 80 B8 00 00 */ lwz r5, 0(r24)
-/* 8007BAB8 81 97 00 04 */ lwz r12, 4(r23)
-/* 8007BABC 81 8C 00 F8 */ lwz r12, 0xf8(r12)
-/* 8007BAC0 7D 89 03 A6 */ mtctr r12
-/* 8007BAC4 4E 80 04 21 */ bctrl
-/* 8007BAC8 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 8007BACC 40 82 06 FC */ bne lbl_8007C1C8
-/* 8007BAD0 80 77 00 94 */ lwz r3, 0x94(r23)
-/* 8007BAD4 1C 1D 00 18 */ mulli r0, r29, 0x18
-/* 8007BAD8 7F 63 02 14 */ add r27, r3, r0
-/* 8007BADC C0 1B 00 00 */ lfs f0, 0(r27)
-/* 8007BAE0 EC 20 00 32 */ fmuls f1, f0, f0
-/* 8007BAE4 C0 1B 00 08 */ lfs f0, 8(r27)
-/* 8007BAE8 EC 00 00 32 */ fmuls f0, f0, f0
-/* 8007BAEC EC 41 00 2A */ fadds f2, f1, f0
-/* 8007BAF0 C0 02 8C F8 */ lfs f0, lit_3717(r2)
-/* 8007BAF4 FC 02 00 40 */ fcmpo cr0, f2, f0
-/* 8007BAF8 40 81 00 0C */ ble lbl_8007BB04
-/* 8007BAFC FC 00 10 34 */ frsqrte f0, f2
-/* 8007BB00 EC 40 00 B2 */ fmuls f2, f0, f2
-lbl_8007BB04:
-/* 8007BB04 FC 00 12 10 */ fabs f0, f2
-/* 8007BB08 FC 20 00 18 */ frsp f1, f0
-/* 8007BB0C C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13)
-/* 8007BB10 FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8007BB14 40 80 00 14 */ bge lbl_8007BB28
-/* 8007BB18 7C BE FA 2E */ lhzx r5, r30, r31
-/* 8007BB1C 28 05 FF FF */ cmplwi r5, 0xffff
-/* 8007BB20 41 82 06 B8 */ beq lbl_8007C1D8
-/* 8007BB24 4B FF FF 7C */ b lbl_8007BAA0
-lbl_8007BB28:
-/* 8007BB28 C0 02 8D 04 */ lfs f0, lit_3937(r2)
-/* 8007BB2C EF A0 10 24 */ fdivs f29, f0, f2
-/* 8007BB30 80 77 00 A0 */ lwz r3, 0xa0(r23)
-/* 8007BB34 80 63 00 0C */ lwz r3, 0xc(r3)
-/* 8007BB38 1C 1D 00 0A */ mulli r0, r29, 0xa
-/* 8007BB3C 7F 43 02 14 */ add r26, r3, r0
-/* 8007BB40 3B 20 00 00 */ li r25, 0
-/* 8007BB44 3A C0 00 00 */ li r22, 0
-/* 8007BB48 C3 E2 8C F8 */ lfs f31, lit_3717(r2)
-/* 8007BB4C 48 00 06 70 */ b lbl_8007C1BC
-lbl_8007BB50:
-/* 8007BB50 80 78 00 8C */ lwz r3, 0x8c(r24)
-/* 8007BB54 38 16 00 34 */ addi r0, r22, 0x34
-/* 8007BB58 7C 03 04 2E */ lfsx f0, r3, r0
-/* 8007BB5C EC 3D 00 32 */ fmuls f1, f29, f0
-/* 8007BB60 C0 1B 00 00 */ lfs f0, 0(r27)
-/* 8007BB64 EC 01 00 32 */ fmuls f0, f1, f0
-/* 8007BB68 D0 01 00 30 */ stfs f0, 0x30(r1)
-/* 8007BB6C D3 E1 00 34 */ stfs f31, 0x34(r1)
-/* 8007BB70 C0 1B 00 08 */ lfs f0, 8(r27)
-/* 8007BB74 EC 01 00 32 */ fmuls f0, f1, f0
-/* 8007BB78 D0 01 00 38 */ stfs f0, 0x38(r1)
-/* 8007BB7C 7C 63 B2 14 */ add r3, r3, r22
-/* 8007BB80 80 03 00 10 */ lwz r0, 0x10(r3)
-/* 8007BB84 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
-/* 8007BB88 40 82 00 38 */ bne lbl_8007BBC0
-/* 8007BB8C C3 23 00 30 */ lfs f25, 0x30(r3)
-/* 8007BB90 7F 03 C3 78 */ mr r3, r24
-/* 8007BB94 4B FF B6 51 */ bl GetSpeedY__9dBgS_AcchFv
-/* 8007BB98 FF 00 08 90 */ fmr f24, f1
-/* 8007BB9C 7F 03 C3 78 */ mr r3, r24
-/* 8007BBA0 38 81 00 30 */ addi r4, r1, 0x30
-/* 8007BBA4 4B FF B6 5D */ bl GetWallAddY__9dBgS_AcchFR3Vec
-/* 8007BBA8 80 78 00 30 */ lwz r3, 0x30(r24)
-/* 8007BBAC C0 03 00 04 */ lfs f0, 4(r3)
-/* 8007BBB0 EC 00 C8 2A */ fadds f0, f0, f25
-/* 8007BBB4 EC 01 00 2A */ fadds f0, f1, f0
-/* 8007BBB8 EC 60 C0 28 */ fsubs f3, f0, f24
-/* 8007BBBC 48 00 00 08 */ b lbl_8007BBC4
-lbl_8007BBC0:
-/* 8007BBC0 C0 63 00 38 */ lfs f3, 0x38(r3)
-lbl_8007BBC4:
-/* 8007BBC4 80 97 00 9C */ lwz r4, 0x9c(r23)
-/* 8007BBC8 A0 1A 00 00 */ lhz r0, 0(r26)
-/* 8007BBCC 1C 60 00 0C */ mulli r3, r0, 0xc
-/* 8007BBD0 38 03 00 04 */ addi r0, r3, 4
-/* 8007BBD4 7C 04 04 2E */ lfsx f0, r4, r0
-/* 8007BBD8 EC 40 18 28 */ fsubs f2, f0, f3
-/* 8007BBDC D0 41 00 24 */ stfs f2, 0x24(r1)
-/* 8007BBE0 A0 1A 00 02 */ lhz r0, 2(r26)
-/* 8007BBE4 1C 60 00 0C */ mulli r3, r0, 0xc
-/* 8007BBE8 38 03 00 04 */ addi r0, r3, 4
-/* 8007BBEC 7C 04 04 2E */ lfsx f0, r4, r0
-/* 8007BBF0 EC 20 18 28 */ fsubs f1, f0, f3
-/* 8007BBF4 D0 21 00 28 */ stfs f1, 0x28(r1)
-/* 8007BBF8 A0 1A 00 04 */ lhz r0, 4(r26)
-/* 8007BBFC 1C 60 00 0C */ mulli r3, r0, 0xc
-/* 8007BC00 38 03 00 04 */ addi r0, r3, 4
-/* 8007BC04 7C 04 04 2E */ lfsx f0, r4, r0
-/* 8007BC08 EC 00 18 28 */ fsubs f0, f0, f3
-/* 8007BC0C D0 01 00 2C */ stfs f0, 0x2c(r1)
-/* 8007BC10 FC 02 F8 40 */ fcmpo cr0, f2, f31
-/* 8007BC14 40 81 00 14 */ ble lbl_8007BC28
-/* 8007BC18 FC 01 F8 40 */ fcmpo cr0, f1, f31
-/* 8007BC1C 40 81 00 0C */ ble lbl_8007BC28
-/* 8007BC20 FC 00 F8 40 */ fcmpo cr0, f0, f31
-/* 8007BC24 41 81 05 90 */ bgt lbl_8007C1B4
-lbl_8007BC28:
-/* 8007BC28 C0 22 8C F8 */ lfs f1, lit_3717(r2)
-/* 8007BC2C FC 02 08 40 */ fcmpo cr0, f2, f1
-/* 8007BC30 40 80 00 1C */ bge lbl_8007BC4C
-/* 8007BC34 C0 01 00 28 */ lfs f0, 0x28(r1)
-/* 8007BC38 FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007BC3C 40 80 00 10 */ bge lbl_8007BC4C
-/* 8007BC40 C0 01 00 2C */ lfs f0, 0x2c(r1)
-/* 8007BC44 FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007BC48 41 80 05 6C */ blt lbl_8007C1B4
-lbl_8007BC4C:
-/* 8007BC4C 38 60 00 00 */ li r3, 0
-/* 8007BC50 FC 00 12 10 */ fabs f0, f2
-/* 8007BC54 FC 20 00 18 */ frsp f1, f0
-/* 8007BC58 C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13)
-/* 8007BC5C FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8007BC60 40 80 00 08 */ bge lbl_8007BC68
-/* 8007BC64 38 60 00 01 */ li r3, 1
-lbl_8007BC68:
-/* 8007BC68 C0 01 00 28 */ lfs f0, 0x28(r1)
-/* 8007BC6C FC 00 02 10 */ fabs f0, f0
-/* 8007BC70 FC 20 00 18 */ frsp f1, f0
-/* 8007BC74 C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13)
-/* 8007BC78 FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8007BC7C 40 80 00 08 */ bge lbl_8007BC84
-/* 8007BC80 38 63 00 01 */ addi r3, r3, 1
-lbl_8007BC84:
-/* 8007BC84 C0 01 00 2C */ lfs f0, 0x2c(r1)
-/* 8007BC88 FC 00 02 10 */ fabs f0, f0
-/* 8007BC8C FC 20 00 18 */ frsp f1, f0
-/* 8007BC90 C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13)
-/* 8007BC94 FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8007BC98 40 80 00 08 */ bge lbl_8007BCA0
-/* 8007BC9C 38 63 00 01 */ addi r3, r3, 1
-lbl_8007BCA0:
-/* 8007BCA0 2C 03 00 01 */ cmpwi r3, 1
-/* 8007BCA4 41 82 05 10 */ beq lbl_8007C1B4
-/* 8007BCA8 C0 41 00 24 */ lfs f2, 0x24(r1)
-/* 8007BCAC C0 22 8C F8 */ lfs f1, lit_3717(r2)
-/* 8007BCB0 FC 02 08 40 */ fcmpo cr0, f2, f1
-/* 8007BCB4 40 81 00 24 */ ble lbl_8007BCD8
-/* 8007BCB8 C0 01 00 28 */ lfs f0, 0x28(r1)
-/* 8007BCBC FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007BCC0 4C 40 13 82 */ cror 2, 0, 2
-/* 8007BCC4 40 82 00 14 */ bne lbl_8007BCD8
-/* 8007BCC8 C0 01 00 2C */ lfs f0, 0x2c(r1)
-/* 8007BCCC FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007BCD0 4C 40 13 82 */ cror 2, 0, 2
-/* 8007BCD4 41 82 00 30 */ beq lbl_8007BD04
-lbl_8007BCD8:
-/* 8007BCD8 C0 22 8C F8 */ lfs f1, lit_3717(r2)
-/* 8007BCDC FC 02 08 40 */ fcmpo cr0, f2, f1
-/* 8007BCE0 40 80 00 34 */ bge lbl_8007BD14
-/* 8007BCE4 C0 01 00 28 */ lfs f0, 0x28(r1)
-/* 8007BCE8 FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007BCEC 4C 41 13 82 */ cror 2, 1, 2
-/* 8007BCF0 40 82 00 24 */ bne lbl_8007BD14
-/* 8007BCF4 C0 01 00 2C */ lfs f0, 0x2c(r1)
-/* 8007BCF8 FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007BCFC 4C 41 13 82 */ cror 2, 1, 2
-/* 8007BD00 40 82 00 14 */ bne lbl_8007BD14
-lbl_8007BD04:
-/* 8007BD04 38 A0 00 00 */ li r5, 0
-/* 8007BD08 38 80 00 01 */ li r4, 1
-/* 8007BD0C 38 C0 00 02 */ li r6, 2
-/* 8007BD10 48 00 00 74 */ b lbl_8007BD84
-lbl_8007BD14:
-/* 8007BD14 C0 61 00 28 */ lfs f3, 0x28(r1)
-/* 8007BD18 C0 22 8C F8 */ lfs f1, lit_3717(r2)
-/* 8007BD1C FC 03 08 40 */ fcmpo cr0, f3, f1
-/* 8007BD20 40 81 00 20 */ ble lbl_8007BD40
-/* 8007BD24 FC 02 08 40 */ fcmpo cr0, f2, f1
-/* 8007BD28 4C 40 13 82 */ cror 2, 0, 2
-/* 8007BD2C 40 82 00 14 */ bne lbl_8007BD40
-/* 8007BD30 C0 01 00 2C */ lfs f0, 0x2c(r1)
-/* 8007BD34 FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007BD38 4C 40 13 82 */ cror 2, 0, 2
-/* 8007BD3C 41 82 00 2C */ beq lbl_8007BD68
-lbl_8007BD40:
-/* 8007BD40 C0 22 8C F8 */ lfs f1, lit_3717(r2)
-/* 8007BD44 FC 03 08 40 */ fcmpo cr0, f3, f1
-/* 8007BD48 40 80 00 30 */ bge lbl_8007BD78
-/* 8007BD4C FC 02 08 40 */ fcmpo cr0, f2, f1
-/* 8007BD50 4C 41 13 82 */ cror 2, 1, 2
-/* 8007BD54 40 82 00 24 */ bne lbl_8007BD78
-/* 8007BD58 C0 01 00 2C */ lfs f0, 0x2c(r1)
-/* 8007BD5C FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007BD60 4C 41 13 82 */ cror 2, 1, 2
-/* 8007BD64 40 82 00 14 */ bne lbl_8007BD78
-lbl_8007BD68:
-/* 8007BD68 38 A0 00 01 */ li r5, 1
-/* 8007BD6C 38 80 00 00 */ li r4, 0
-/* 8007BD70 38 C0 00 02 */ li r6, 2
-/* 8007BD74 48 00 00 10 */ b lbl_8007BD84
-lbl_8007BD78:
-/* 8007BD78 38 A0 00 02 */ li r5, 2
-/* 8007BD7C 38 80 00 00 */ li r4, 0
-/* 8007BD80 38 C0 00 01 */ li r6, 1
-lbl_8007BD84:
-/* 8007BD84 54 A0 10 3A */ slwi r0, r5, 2
-/* 8007BD88 38 61 00 24 */ addi r3, r1, 0x24
-/* 8007BD8C 7C 03 04 2E */ lfsx f0, r3, r0
-/* 8007BD90 54 80 10 3A */ slwi r0, r4, 2
-/* 8007BD94 7C 63 04 2E */ lfsx f3, r3, r0
-/* 8007BD98 EC 80 18 28 */ fsubs f4, f0, f3
-/* 8007BD9C 54 C0 10 3A */ slwi r0, r6, 2
-/* 8007BDA0 7C 43 04 2E */ lfsx f2, r3, r0
-/* 8007BDA4 EC A0 10 28 */ fsubs f5, f0, f2
-/* 8007BDA8 FC 00 22 10 */ fabs f0, f4
-/* 8007BDAC FC 00 00 18 */ frsp f0, f0
-/* 8007BDB0 C0 2D 8C 00 */ lfs f1, G_CM3D_F_ABS_MIN(r13)
-/* 8007BDB4 FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007BDB8 41 80 03 FC */ blt lbl_8007C1B4
-/* 8007BDBC FC 00 2A 10 */ fabs f0, f5
-/* 8007BDC0 FC 00 00 18 */ frsp f0, f0
-/* 8007BDC4 FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007BDC8 41 80 03 EC */ blt lbl_8007C1B4
-/* 8007BDCC FC 00 18 50 */ fneg f0, f3
-/* 8007BDD0 EC 60 20 24 */ fdivs f3, f0, f4
-/* 8007BDD4 FC 00 10 50 */ fneg f0, f2
-/* 8007BDD8 EC 40 28 24 */ fdivs f2, f0, f5
-/* 8007BDDC 80 97 00 9C */ lwz r4, 0x9c(r23)
-/* 8007BDE0 A0 1A 00 00 */ lhz r0, 0(r26)
-/* 8007BDE4 1C 00 00 0C */ mulli r0, r0, 0xc
-/* 8007BDE8 7C 64 02 14 */ add r3, r4, r0
-/* 8007BDEC C0 83 00 00 */ lfs f4, 0(r3)
-/* 8007BDF0 C0 A3 00 08 */ lfs f5, 8(r3)
-/* 8007BDF4 A0 1A 00 02 */ lhz r0, 2(r26)
-/* 8007BDF8 1C 00 00 0C */ mulli r0, r0, 0xc
-/* 8007BDFC 7C 64 02 14 */ add r3, r4, r0
-/* 8007BE00 C0 C3 00 00 */ lfs f6, 0(r3)
-/* 8007BE04 C0 E3 00 08 */ lfs f7, 8(r3)
-/* 8007BE08 A0 1A 00 04 */ lhz r0, 4(r26)
-/* 8007BE0C 1C 00 00 0C */ mulli r0, r0, 0xc
-/* 8007BE10 7C 64 02 14 */ add r3, r4, r0
-/* 8007BE14 C1 03 00 00 */ lfs f8, 0(r3)
-/* 8007BE18 C0 03 00 08 */ lfs f0, 8(r3)
-/* 8007BE1C 2C 05 00 00 */ cmpwi r5, 0
-/* 8007BE20 40 82 00 38 */ bne lbl_8007BE58
-/* 8007BE24 EC 24 30 28 */ fsubs f1, f4, f6
-/* 8007BE28 EC 23 00 72 */ fmuls f1, f3, f1
-/* 8007BE2C EF 86 08 2A */ fadds f28, f6, f1
-/* 8007BE30 EC 25 38 28 */ fsubs f1, f5, f7
-/* 8007BE34 EC 23 00 72 */ fmuls f1, f3, f1
-/* 8007BE38 EF 67 08 2A */ fadds f27, f7, f1
-/* 8007BE3C EC 24 40 28 */ fsubs f1, f4, f8
-/* 8007BE40 EC 22 00 72 */ fmuls f1, f2, f1
-/* 8007BE44 EF 48 08 2A */ fadds f26, f8, f1
-/* 8007BE48 EC 25 00 28 */ fsubs f1, f5, f0
-/* 8007BE4C EC 22 00 72 */ fmuls f1, f2, f1
-/* 8007BE50 EF 20 08 2A */ fadds f25, f0, f1
-/* 8007BE54 48 00 00 70 */ b lbl_8007BEC4
-lbl_8007BE58:
-/* 8007BE58 2C 05 00 01 */ cmpwi r5, 1
-/* 8007BE5C 40 82 00 38 */ bne lbl_8007BE94
-/* 8007BE60 EC 26 20 28 */ fsubs f1, f6, f4
-/* 8007BE64 EC 23 00 72 */ fmuls f1, f3, f1
-/* 8007BE68 EF 84 08 2A */ fadds f28, f4, f1
-/* 8007BE6C EC 27 28 28 */ fsubs f1, f7, f5
-/* 8007BE70 EC 23 00 72 */ fmuls f1, f3, f1
-/* 8007BE74 EF 65 08 2A */ fadds f27, f5, f1
-/* 8007BE78 EC 26 40 28 */ fsubs f1, f6, f8
-/* 8007BE7C EC 22 00 72 */ fmuls f1, f2, f1
-/* 8007BE80 EF 48 08 2A */ fadds f26, f8, f1
-/* 8007BE84 EC 27 00 28 */ fsubs f1, f7, f0
-/* 8007BE88 EC 22 00 72 */ fmuls f1, f2, f1
-/* 8007BE8C EF 20 08 2A */ fadds f25, f0, f1
-/* 8007BE90 48 00 00 34 */ b lbl_8007BEC4
-lbl_8007BE94:
-/* 8007BE94 EC 28 20 28 */ fsubs f1, f8, f4
-/* 8007BE98 EC 23 00 72 */ fmuls f1, f3, f1
-/* 8007BE9C EF 84 08 2A */ fadds f28, f4, f1
-/* 8007BEA0 EC 20 28 28 */ fsubs f1, f0, f5
-/* 8007BEA4 EC 23 00 72 */ fmuls f1, f3, f1
-/* 8007BEA8 EF 65 08 2A */ fadds f27, f5, f1
-/* 8007BEAC EC 28 30 28 */ fsubs f1, f8, f6
-/* 8007BEB0 EC 22 00 72 */ fmuls f1, f2, f1
-/* 8007BEB4 EF 46 08 2A */ fadds f26, f6, f1
-/* 8007BEB8 EC 00 38 28 */ fsubs f0, f0, f7
-/* 8007BEBC EC 02 00 32 */ fmuls f0, f2, f0
-/* 8007BEC0 EF 27 00 2A */ fadds f25, f7, f0
-lbl_8007BEC4:
-/* 8007BEC4 C0 01 00 30 */ lfs f0, 0x30(r1)
-/* 8007BEC8 EF 9C 00 2A */ fadds f28, f28, f0
-/* 8007BECC C0 21 00 38 */ lfs f1, 0x38(r1)
-/* 8007BED0 EF 7B 08 2A */ fadds f27, f27, f1
-/* 8007BED4 EF 5A 00 2A */ fadds f26, f26, f0
-/* 8007BED8 EF 39 08 2A */ fadds f25, f25, f1
-/* 8007BEDC 80 78 00 30 */ lwz r3, 0x30(r24)
-/* 8007BEE0 C0 23 00 00 */ lfs f1, 0(r3)
-/* 8007BEE4 C0 43 00 08 */ lfs f2, 8(r3)
-/* 8007BEE8 FC 60 E0 90 */ fmr f3, f28
-/* 8007BEEC FC 80 D8 90 */ fmr f4, f27
-/* 8007BEF0 FC A0 D0 90 */ fmr f5, f26
-/* 8007BEF4 FC C0 C8 90 */ fmr f6, f25
-/* 8007BEF8 38 61 00 1C */ addi r3, r1, 0x1c
-/* 8007BEFC 38 81 00 18 */ addi r4, r1, 0x18
-/* 8007BF00 38 A1 00 20 */ addi r5, r1, 0x20
-/* 8007BF04 48 1E C7 29 */ bl cM3d_Len2dSqPntAndSegLine__FffffffPfPfPf
-/* 8007BF08 C0 01 00 1C */ lfs f0, 0x1c(r1)
-/* 8007BF0C 80 D8 00 30 */ lwz r6, 0x30(r24)
-/* 8007BF10 C0 66 00 00 */ lfs f3, 0(r6)
-/* 8007BF14 EC 20 18 28 */ fsubs f1, f0, f3
-/* 8007BF18 C0 01 00 18 */ lfs f0, 0x18(r1)
-/* 8007BF1C C0 86 00 08 */ lfs f4, 8(r6)
-/* 8007BF20 EC 00 20 28 */ fsubs f0, f0, f4
-/* 8007BF24 80 98 00 8C */ lwz r4, 0x8c(r24)
-/* 8007BF28 38 16 00 28 */ addi r0, r22, 0x28
-/* 8007BF2C 7F C4 04 2E */ lfsx f30, r4, r0
-/* 8007BF30 C0 41 00 20 */ lfs f2, 0x20(r1)
-/* 8007BF34 FC 02 F0 40 */ fcmpo cr0, f2, f30
-/* 8007BF38 41 81 02 7C */ bgt lbl_8007C1B4
-/* 8007BF3C C0 A1 00 30 */ lfs f5, 0x30(r1)
-/* 8007BF40 EC 21 01 72 */ fmuls f1, f1, f5
-/* 8007BF44 C0 C1 00 38 */ lfs f6, 0x38(r1)
-/* 8007BF48 EC 00 01 B2 */ fmuls f0, f0, f6
-/* 8007BF4C EC 21 00 2A */ fadds f1, f1, f0
-/* 8007BF50 C0 02 8C F8 */ lfs f0, lit_3717(r2)
-/* 8007BF54 FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8007BF58 41 80 02 5C */ blt lbl_8007C1B4
-/* 8007BF5C 54 60 06 3E */ clrlwi r0, r3, 0x18
-/* 8007BF60 28 00 00 01 */ cmplwi r0, 1
-/* 8007BF64 40 82 00 74 */ bne lbl_8007BFD8
-/* 8007BF68 FC 02 00 40 */ fcmpo cr0, f2, f0
-/* 8007BF6C 40 81 00 0C */ ble lbl_8007BF78
-/* 8007BF70 FC 00 10 34 */ frsqrte f0, f2
-/* 8007BF74 EC 40 00 B2 */ fmuls f2, f0, f2
-lbl_8007BF78:
-/* 8007BF78 7E E3 BB 78 */ mr r3, r23
-/* 8007BF7C 7F 04 C3 78 */ mr r4, r24
-/* 8007BF80 FC 20 E8 90 */ fmr f1, f29
-/* 8007BF84 7F 65 DB 78 */ mr r5, r27
-/* 8007BF88 4B FF FA 65 */ bl positionWallCorrect__4dBgWFP9dBgS_AcchfR8cM3dGPlaP4cXyzf
-/* 8007BF8C 7F 03 C3 78 */ mr r3, r24
-/* 8007BF90 4B FF B3 59 */ bl CalcMovePosWork__9dBgS_AcchFv
-/* 8007BF94 80 98 00 8C */ lwz r4, 0x8c(r24)
-/* 8007BF98 38 76 00 10 */ addi r3, r22, 0x10
-/* 8007BF9C 7C 04 18 2E */ lwzx r0, r4, r3
-/* 8007BFA0 60 00 00 02 */ ori r0, r0, 2
-/* 8007BFA4 7C 04 19 2E */ stwx r0, r4, r3
-/* 8007BFA8 7F 03 C3 78 */ mr r3, r24
-/* 8007BFAC 7F 24 CB 78 */ mr r4, r25
-/* 8007BFB0 7F A5 EB 78 */ mr r5, r29
-/* 8007BFB4 4B FF B2 D5 */ bl SetWallPolyIndex__9dBgS_AcchFii
-/* 8007BFB8 C0 3B 00 00 */ lfs f1, 0(r27)
-/* 8007BFBC C0 5B 00 08 */ lfs f2, 8(r27)
-/* 8007BFC0 48 1E B6 B5 */ bl cM_atan2s__Fff
-/* 8007BFC4 80 98 00 8C */ lwz r4, 0x8c(r24)
-/* 8007BFC8 38 16 00 3C */ addi r0, r22, 0x3c
-/* 8007BFCC 7C 64 03 2E */ sthx r3, r4, r0
-/* 8007BFD0 3B 80 00 01 */ li r28, 1
-/* 8007BFD4 48 00 01 E0 */ b lbl_8007C1B4
-lbl_8007BFD8:
-/* 8007BFD8 EF 9C 28 28 */ fsubs f28, f28, f5
-/* 8007BFDC EF 7B 30 28 */ fsubs f27, f27, f6
-/* 8007BFE0 EF 5A 28 28 */ fsubs f26, f26, f5
-/* 8007BFE4 EF 39 30 28 */ fsubs f25, f25, f6
-/* 8007BFE8 FC 20 E0 90 */ fmr f1, f28
-/* 8007BFEC FC 40 D8 90 */ fmr f2, f27
-/* 8007BFF0 48 1E C6 25 */ bl cM3d_Len2dSq__Fffff
-/* 8007BFF4 FF 00 08 90 */ fmr f24, f1
-/* 8007BFF8 80 78 00 30 */ lwz r3, 0x30(r24)
-/* 8007BFFC FC 20 D0 90 */ fmr f1, f26
-/* 8007C000 FC 40 C8 90 */ fmr f2, f25
-/* 8007C004 C0 63 00 00 */ lfs f3, 0(r3)
-/* 8007C008 C0 83 00 08 */ lfs f4, 8(r3)
-/* 8007C00C 48 1E C6 09 */ bl cM3d_Len2dSq__Fffff
-/* 8007C010 C0 1B 00 00 */ lfs f0, 0(r27)
-/* 8007C014 FC 60 00 50 */ fneg f3, f0
-/* 8007C018 C0 1B 00 08 */ lfs f0, 8(r27)
-/* 8007C01C FC 80 00 50 */ fneg f4, f0
-/* 8007C020 FC 18 08 40 */ fcmpo cr0, f24, f1
-/* 8007C024 40 80 00 CC */ bge lbl_8007C0F0
-/* 8007C028 FC 18 F0 40 */ fcmpo cr0, f24, f30
-/* 8007C02C 41 81 01 88 */ bgt lbl_8007C1B4
-/* 8007C030 EC 18 F0 28 */ fsubs f0, f24, f30
-/* 8007C034 FC 00 02 10 */ fabs f0, f0
-/* 8007C038 FC 20 00 18 */ frsp f1, f0
-/* 8007C03C C0 02 8D 10 */ lfs f0, lit_4962(r2)
-/* 8007C040 FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8007C044 41 80 01 70 */ blt lbl_8007C1B4
-/* 8007C048 80 18 00 8C */ lwz r0, 0x8c(r24)
-/* 8007C04C 38 76 00 14 */ addi r3, r22, 0x14
-/* 8007C050 7C 60 1A 14 */ add r3, r0, r3
-/* 8007C054 FC 20 E0 90 */ fmr f1, f28
-/* 8007C058 FC 40 D8 90 */ fmr f2, f27
-/* 8007C05C 38 81 00 14 */ addi r4, r1, 0x14
-/* 8007C060 38 A1 00 10 */ addi r5, r1, 0x10
-/* 8007C064 48 1E C1 FD */ bl cM2d_CrossCirLin__FR8cM2dGCirffffPfPf
-/* 8007C068 80 78 00 30 */ lwz r3, 0x30(r24)
-/* 8007C06C C0 23 00 00 */ lfs f1, 0(r3)
-/* 8007C070 C0 01 00 14 */ lfs f0, 0x14(r1)
-/* 8007C074 EC 1C 00 28 */ fsubs f0, f28, f0
-/* 8007C078 EC 01 00 2A */ fadds f0, f1, f0
-/* 8007C07C D0 03 00 00 */ stfs f0, 0(r3)
-/* 8007C080 80 78 00 30 */ lwz r3, 0x30(r24)
-/* 8007C084 C0 23 00 08 */ lfs f1, 8(r3)
-/* 8007C088 C0 01 00 10 */ lfs f0, 0x10(r1)
-/* 8007C08C EC 1B 00 28 */ fsubs f0, f27, f0
-/* 8007C090 EC 01 00 2A */ fadds f0, f1, f0
-/* 8007C094 D0 03 00 08 */ stfs f0, 8(r3)
-/* 8007C098 7F 03 C3 78 */ mr r3, r24
-/* 8007C09C 4B FF B2 4D */ bl CalcMovePosWork__9dBgS_AcchFv
-/* 8007C0A0 80 98 00 8C */ lwz r4, 0x8c(r24)
-/* 8007C0A4 38 76 00 10 */ addi r3, r22, 0x10
-/* 8007C0A8 7C 04 18 2E */ lwzx r0, r4, r3
-/* 8007C0AC 60 00 00 02 */ ori r0, r0, 2
-/* 8007C0B0 7C 04 19 2E */ stwx r0, r4, r3
-/* 8007C0B4 7F 03 C3 78 */ mr r3, r24
-/* 8007C0B8 7F 24 CB 78 */ mr r4, r25
-/* 8007C0BC 7F A5 EB 78 */ mr r5, r29
-/* 8007C0C0 4B FF B1 C9 */ bl SetWallPolyIndex__9dBgS_AcchFii
-/* 8007C0C4 C0 3B 00 00 */ lfs f1, 0(r27)
-/* 8007C0C8 C0 5B 00 08 */ lfs f2, 8(r27)
-/* 8007C0CC 48 1E B5 A9 */ bl cM_atan2s__Fff
-/* 8007C0D0 80 98 00 8C */ lwz r4, 0x8c(r24)
-/* 8007C0D4 38 16 00 3C */ addi r0, r22, 0x3c
-/* 8007C0D8 7C 64 03 2E */ sthx r3, r4, r0
-/* 8007C0DC 3B 80 00 01 */ li r28, 1
-/* 8007C0E0 80 18 00 2C */ lwz r0, 0x2c(r24)
-/* 8007C0E4 60 00 00 10 */ ori r0, r0, 0x10
-/* 8007C0E8 90 18 00 2C */ stw r0, 0x2c(r24)
-/* 8007C0EC 48 00 00 C8 */ b lbl_8007C1B4
-lbl_8007C0F0:
-/* 8007C0F0 FC 01 F0 40 */ fcmpo cr0, f1, f30
-/* 8007C0F4 41 81 00 C0 */ bgt lbl_8007C1B4
-/* 8007C0F8 EC 01 F0 28 */ fsubs f0, f1, f30
-/* 8007C0FC FC 00 02 10 */ fabs f0, f0
-/* 8007C100 FC 20 00 18 */ frsp f1, f0
-/* 8007C104 C0 02 8D 10 */ lfs f0, lit_4962(r2)
-/* 8007C108 FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8007C10C 41 80 00 A8 */ blt lbl_8007C1B4
-/* 8007C110 80 18 00 8C */ lwz r0, 0x8c(r24)
-/* 8007C114 38 76 00 14 */ addi r3, r22, 0x14
-/* 8007C118 7C 60 1A 14 */ add r3, r0, r3
-/* 8007C11C FC 20 D0 90 */ fmr f1, f26
-/* 8007C120 FC 40 C8 90 */ fmr f2, f25
-/* 8007C124 38 81 00 0C */ addi r4, r1, 0xc
-/* 8007C128 38 A1 00 08 */ addi r5, r1, 8
-/* 8007C12C 48 1E C1 35 */ bl cM2d_CrossCirLin__FR8cM2dGCirffffPfPf
-/* 8007C130 80 78 00 30 */ lwz r3, 0x30(r24)
-/* 8007C134 C0 23 00 00 */ lfs f1, 0(r3)
-/* 8007C138 C0 01 00 0C */ lfs f0, 0xc(r1)
-/* 8007C13C EC 1A 00 28 */ fsubs f0, f26, f0
-/* 8007C140 EC 01 00 2A */ fadds f0, f1, f0
-/* 8007C144 D0 03 00 00 */ stfs f0, 0(r3)
-/* 8007C148 80 78 00 30 */ lwz r3, 0x30(r24)
-/* 8007C14C C0 23 00 08 */ lfs f1, 8(r3)
-/* 8007C150 C0 01 00 08 */ lfs f0, 8(r1)
-/* 8007C154 EC 19 00 28 */ fsubs f0, f25, f0
-/* 8007C158 EC 01 00 2A */ fadds f0, f1, f0
-/* 8007C15C D0 03 00 08 */ stfs f0, 8(r3)
-/* 8007C160 7F 03 C3 78 */ mr r3, r24
-/* 8007C164 4B FF B1 85 */ bl CalcMovePosWork__9dBgS_AcchFv
-/* 8007C168 80 98 00 8C */ lwz r4, 0x8c(r24)
-/* 8007C16C 38 76 00 10 */ addi r3, r22, 0x10
-/* 8007C170 7C 04 18 2E */ lwzx r0, r4, r3
-/* 8007C174 60 00 00 02 */ ori r0, r0, 2
-/* 8007C178 7C 04 19 2E */ stwx r0, r4, r3
-/* 8007C17C 7F 03 C3 78 */ mr r3, r24
-/* 8007C180 7F 24 CB 78 */ mr r4, r25
-/* 8007C184 7F A5 EB 78 */ mr r5, r29
-/* 8007C188 4B FF B1 01 */ bl SetWallPolyIndex__9dBgS_AcchFii
-/* 8007C18C C0 3B 00 00 */ lfs f1, 0(r27)
-/* 8007C190 C0 5B 00 08 */ lfs f2, 8(r27)
-/* 8007C194 48 1E B4 E1 */ bl cM_atan2s__Fff
-/* 8007C198 80 98 00 8C */ lwz r4, 0x8c(r24)
-/* 8007C19C 38 16 00 3C */ addi r0, r22, 0x3c
-/* 8007C1A0 7C 64 03 2E */ sthx r3, r4, r0
-/* 8007C1A4 3B 80 00 01 */ li r28, 1
-/* 8007C1A8 80 18 00 2C */ lwz r0, 0x2c(r24)
-/* 8007C1AC 60 00 00 10 */ ori r0, r0, 0x10
-/* 8007C1B0 90 18 00 2C */ stw r0, 0x2c(r24)
-lbl_8007C1B4:
-/* 8007C1B4 3B 39 00 01 */ addi r25, r25, 1
-/* 8007C1B8 3A D6 00 40 */ addi r22, r22, 0x40
-lbl_8007C1BC:
-/* 8007C1BC 80 18 00 88 */ lwz r0, 0x88(r24)
-/* 8007C1C0 7C 19 00 00 */ cmpw r25, r0
-/* 8007C1C4 41 80 F9 8C */ blt lbl_8007BB50
-lbl_8007C1C8:
-/* 8007C1C8 7C BE FA 2E */ lhzx r5, r30, r31
-/* 8007C1CC 28 05 FF FF */ cmplwi r5, 0xffff
-/* 8007C1D0 41 82 00 08 */ beq lbl_8007C1D8
-/* 8007C1D4 4B FF F8 CC */ b lbl_8007BAA0
-lbl_8007C1D8:
-/* 8007C1D8 7F 83 E3 78 */ mr r3, r28
-/* 8007C1DC E3 E1 00 E8 */ psq_l f31, 232(r1), 0, 0 /* qr0 */
-/* 8007C1E0 CB E1 00 E0 */ lfd f31, 0xe0(r1)
-/* 8007C1E4 E3 C1 00 D8 */ psq_l f30, 216(r1), 0, 0 /* qr0 */
-/* 8007C1E8 CB C1 00 D0 */ lfd f30, 0xd0(r1)
-/* 8007C1EC E3 A1 00 C8 */ psq_l f29, 200(r1), 0, 0 /* qr0 */
-/* 8007C1F0 CB A1 00 C0 */ lfd f29, 0xc0(r1)
-/* 8007C1F4 E3 81 00 B8 */ psq_l f28, 184(r1), 0, 0 /* qr0 */
-/* 8007C1F8 CB 81 00 B0 */ lfd f28, 0xb0(r1)
-/* 8007C1FC E3 61 00 A8 */ psq_l f27, 168(r1), 0, 0 /* qr0 */
-/* 8007C200 CB 61 00 A0 */ lfd f27, 0xa0(r1)
-/* 8007C204 E3 41 00 98 */ psq_l f26, 152(r1), 0, 0 /* qr0 */
-/* 8007C208 CB 41 00 90 */ lfd f26, 0x90(r1)
-/* 8007C20C E3 21 00 88 */ psq_l f25, 136(r1), 0, 0 /* qr0 */
-/* 8007C210 CB 21 00 80 */ lfd f25, 0x80(r1)
-/* 8007C214 E3 01 00 78 */ psq_l f24, 120(r1), 0, 0 /* qr0 */
-/* 8007C218 CB 01 00 70 */ lfd f24, 0x70(r1)
-/* 8007C21C 39 61 00 70 */ addi r11, r1, 0x70
-/* 8007C220 48 2E 5F ED */ bl _restgpr_22
-/* 8007C224 80 01 00 F4 */ lwz r0, 0xf4(r1)
-/* 8007C228 7C 08 03 A6 */ mtlr r0
-/* 8007C22C 38 21 00 F0 */ addi r1, r1, 0xf0
-/* 8007C230 4E 80 00 20 */ blr
diff --git a/asm/d/bg/d_bg_w/SetVtx__4cBgWFv.s b/asm/d/bg/d_bg_w/SetVtx__4cBgWFv.s
deleted file mode 100644
index 73f6cdbc0b..0000000000
--- a/asm/d/bg/d_bg_w/SetVtx__4cBgWFv.s
+++ /dev/null
@@ -1,65 +0,0 @@
-lbl_80079484:
-/* 80079484 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80079488 7C 08 02 A6 */ mflr r0
-/* 8007948C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80079490 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80079494 7C 7F 1B 78 */ mr r31, r3
-/* 80079498 88 63 00 88 */ lbz r3, 0x88(r3)
-/* 8007949C 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
-/* 800794A0 41 82 00 10 */ beq lbl_800794B0
-/* 800794A4 38 00 00 00 */ li r0, 0
-/* 800794A8 90 1F 00 9C */ stw r0, 0x9c(r31)
-/* 800794AC 48 00 00 A0 */ b lbl_8007954C
-lbl_800794B0:
-/* 800794B0 54 60 07 FF */ clrlwi. r0, r3, 0x1f
-/* 800794B4 41 82 00 8C */ beq lbl_80079540
-/* 800794B8 80 7F 00 A0 */ lwz r3, 0xa0(r31)
-/* 800794BC 80 03 00 00 */ lwz r0, 0(r3)
-/* 800794C0 1C 60 00 0C */ mulli r3, r0, 0xc
-/* 800794C4 48 25 58 01 */ bl __nwa__FUl
-/* 800794C8 90 7F 00 9C */ stw r3, 0x9c(r31)
-/* 800794CC 80 1F 00 9C */ lwz r0, 0x9c(r31)
-/* 800794D0 28 00 00 00 */ cmplwi r0, 0
-/* 800794D4 40 82 00 0C */ bne lbl_800794E0
-/* 800794D8 38 60 00 01 */ li r3, 1
-/* 800794DC 48 00 00 74 */ b lbl_80079550
-lbl_800794E0:
-/* 800794E0 88 1F 00 88 */ lbz r0, 0x88(r31)
-/* 800794E4 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
-/* 800794E8 41 82 00 4C */ beq lbl_80079534
-/* 800794EC 38 A0 00 00 */ li r5, 0
-/* 800794F0 38 60 00 00 */ li r3, 0
-/* 800794F4 C0 02 8C F8 */ lfs f0, lit_3717(r2)
-/* 800794F8 48 00 00 2C */ b lbl_80079524
-lbl_800794FC:
-/* 800794FC 80 9F 00 9C */ lwz r4, 0x9c(r31)
-/* 80079500 7C 04 1D 2E */ stfsx f0, r4, r3
-/* 80079504 80 9F 00 9C */ lwz r4, 0x9c(r31)
-/* 80079508 38 03 00 04 */ addi r0, r3, 4
-/* 8007950C 7C 04 05 2E */ stfsx f0, r4, r0
-/* 80079510 80 9F 00 9C */ lwz r4, 0x9c(r31)
-/* 80079514 38 03 00 08 */ addi r0, r3, 8
-/* 80079518 7C 04 05 2E */ stfsx f0, r4, r0
-/* 8007951C 38 A5 00 01 */ addi r5, r5, 1
-/* 80079520 38 63 00 0C */ addi r3, r3, 0xc
-lbl_80079524:
-/* 80079524 80 9F 00 A0 */ lwz r4, 0xa0(r31)
-/* 80079528 80 04 00 00 */ lwz r0, 0(r4)
-/* 8007952C 7C 05 00 00 */ cmpw r5, r0
-/* 80079530 41 80 FF CC */ blt lbl_800794FC
-lbl_80079534:
-/* 80079534 7F E3 FB 78 */ mr r3, r31
-/* 80079538 4B FF FE 8D */ bl GlobalVtx__4cBgWFv
-/* 8007953C 48 00 00 10 */ b lbl_8007954C
-lbl_80079540:
-/* 80079540 80 7F 00 A0 */ lwz r3, 0xa0(r31)
-/* 80079544 80 03 00 04 */ lwz r0, 4(r3)
-/* 80079548 90 1F 00 9C */ stw r0, 0x9c(r31)
-lbl_8007954C:
-/* 8007954C 38 60 00 00 */ li r3, 0
-lbl_80079550:
-/* 80079550 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80079554 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80079558 7C 08 03 A6 */ mtlr r0
-/* 8007955C 38 21 00 10 */ addi r1, r1, 0x10
-/* 80079560 4E 80 00 20 */ blr
diff --git a/asm/d/bg/d_bg_w/WallCorrectSort__4dBgWFP9dBgS_Acch.s b/asm/d/bg/d_bg_w/WallCorrectSort__4dBgWFP9dBgS_Acch.s
deleted file mode 100644
index f98bfae770..0000000000
--- a/asm/d/bg/d_bg_w/WallCorrectSort__4dBgWFP9dBgS_Acch.s
+++ /dev/null
@@ -1,526 +0,0 @@
-lbl_8007C910:
-/* 8007C910 94 21 FF 00 */ stwu r1, -0x100(r1)
-/* 8007C914 7C 08 02 A6 */ mflr r0
-/* 8007C918 90 01 01 04 */ stw r0, 0x104(r1)
-/* 8007C91C DB E1 00 F0 */ stfd f31, 0xf0(r1)
-/* 8007C920 F3 E1 00 F8 */ psq_st f31, 248(r1), 0, 0 /* qr0 */
-/* 8007C924 DB C1 00 E0 */ stfd f30, 0xe0(r1)
-/* 8007C928 F3 C1 00 E8 */ psq_st f30, 232(r1), 0, 0 /* qr0 */
-/* 8007C92C DB A1 00 D0 */ stfd f29, 0xd0(r1)
-/* 8007C930 F3 A1 00 D8 */ psq_st f29, 216(r1), 0, 0 /* qr0 */
-/* 8007C934 DB 81 00 C0 */ stfd f28, 0xc0(r1)
-/* 8007C938 F3 81 00 C8 */ psq_st f28, 200(r1), 0, 0 /* qr0 */
-/* 8007C93C DB 61 00 B0 */ stfd f27, 0xb0(r1)
-/* 8007C940 F3 61 00 B8 */ psq_st f27, 184(r1), 0, 0 /* qr0 */
-/* 8007C944 DB 41 00 A0 */ stfd f26, 0xa0(r1)
-/* 8007C948 F3 41 00 A8 */ psq_st f26, 168(r1), 0, 0 /* qr0 */
-/* 8007C94C DB 21 00 90 */ stfd f25, 0x90(r1)
-/* 8007C950 F3 21 00 98 */ psq_st f25, 152(r1), 0, 0 /* qr0 */
-/* 8007C954 DB 01 00 80 */ stfd f24, 0x80(r1)
-/* 8007C958 F3 01 00 88 */ psq_st f24, 136(r1), 0, 0 /* qr0 */
-/* 8007C95C DA E1 00 70 */ stfd f23, 0x70(r1)
-/* 8007C960 F2 E1 00 78 */ psq_st f23, 120(r1), 0, 0 /* qr0 */
-/* 8007C964 39 61 00 70 */ addi r11, r1, 0x70
-/* 8007C968 48 2E 58 5D */ bl _savegpr_23
-/* 8007C96C 7C 78 1B 78 */ mr r24, r3
-/* 8007C970 7C 99 23 78 */ mr r25, r4
-/* 8007C974 38 00 00 00 */ li r0, 0
-/* 8007C978 90 0D 8A 00 */ stw r0, l_start(r13)
-/* 8007C97C 90 0D 8A 04 */ stw r0, l_wcsbuf_num(r13)
-/* 8007C980 A0 A3 00 92 */ lhz r5, 0x92(r3)
-/* 8007C984 38 C0 00 01 */ li r6, 1
-/* 8007C988 4B FF FE 81 */ bl WallCorrectGrpRpSort__4dBgWFP9dBgS_Acchii
-/* 8007C98C 3B E0 00 00 */ li r31, 0
-/* 8007C990 83 CD 8A 00 */ lwz r30, l_start(r13)
-/* 8007C994 C3 E2 8C F8 */ lfs f31, lit_3717(r2)
-/* 8007C998 C3 C2 8D 04 */ lfs f30, lit_3937(r2)
-lbl_8007C99C:
-/* 8007C99C 28 1E 00 00 */ cmplwi r30, 0
-/* 8007C9A0 41 82 06 D8 */ beq lbl_8007D078
-/* 8007C9A4 A3 BE 00 04 */ lhz r29, 4(r30)
-/* 8007C9A8 80 78 00 94 */ lwz r3, 0x94(r24)
-/* 8007C9AC 1C 1D 00 18 */ mulli r0, r29, 0x18
-/* 8007C9B0 7F 83 02 14 */ add r28, r3, r0
-/* 8007C9B4 C0 1C 00 00 */ lfs f0, 0(r28)
-/* 8007C9B8 EC 20 00 32 */ fmuls f1, f0, f0
-/* 8007C9BC C0 1C 00 08 */ lfs f0, 8(r28)
-/* 8007C9C0 EC 00 00 32 */ fmuls f0, f0, f0
-/* 8007C9C4 EC 21 00 2A */ fadds f1, f1, f0
-/* 8007C9C8 FC 01 F8 40 */ fcmpo cr0, f1, f31
-/* 8007C9CC 40 81 00 0C */ ble lbl_8007C9D8
-/* 8007C9D0 FC 00 08 34 */ frsqrte f0, f1
-/* 8007C9D4 EC 20 00 72 */ fmuls f1, f0, f1
-lbl_8007C9D8:
-/* 8007C9D8 EF 9E 08 24 */ fdivs f28, f30, f1
-/* 8007C9DC 80 78 00 A0 */ lwz r3, 0xa0(r24)
-/* 8007C9E0 80 63 00 0C */ lwz r3, 0xc(r3)
-/* 8007C9E4 1C 1D 00 0A */ mulli r0, r29, 0xa
-/* 8007C9E8 7F 63 02 14 */ add r27, r3, r0
-/* 8007C9EC 3B 40 00 00 */ li r26, 0
-/* 8007C9F0 3A E0 00 00 */ li r23, 0
-/* 8007C9F4 48 00 06 70 */ b lbl_8007D064
-lbl_8007C9F8:
-/* 8007C9F8 80 79 00 8C */ lwz r3, 0x8c(r25)
-/* 8007C9FC 38 17 00 34 */ addi r0, r23, 0x34
-/* 8007CA00 7C 03 04 2E */ lfsx f0, r3, r0
-/* 8007CA04 EC 3C 00 32 */ fmuls f1, f28, f0
-/* 8007CA08 C0 1C 00 00 */ lfs f0, 0(r28)
-/* 8007CA0C EC 01 00 32 */ fmuls f0, f1, f0
-/* 8007CA10 D0 01 00 30 */ stfs f0, 0x30(r1)
-/* 8007CA14 D3 E1 00 34 */ stfs f31, 0x34(r1)
-/* 8007CA18 C0 1C 00 08 */ lfs f0, 8(r28)
-/* 8007CA1C EC 01 00 32 */ fmuls f0, f1, f0
-/* 8007CA20 D0 01 00 38 */ stfs f0, 0x38(r1)
-/* 8007CA24 7C 63 BA 14 */ add r3, r3, r23
-/* 8007CA28 80 03 00 10 */ lwz r0, 0x10(r3)
-/* 8007CA2C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
-/* 8007CA30 40 82 00 38 */ bne lbl_8007CA68
-/* 8007CA34 C3 03 00 30 */ lfs f24, 0x30(r3)
-/* 8007CA38 7F 23 CB 78 */ mr r3, r25
-/* 8007CA3C 4B FF A7 A9 */ bl GetSpeedY__9dBgS_AcchFv
-/* 8007CA40 FE E0 08 90 */ fmr f23, f1
-/* 8007CA44 7F 23 CB 78 */ mr r3, r25
-/* 8007CA48 38 81 00 30 */ addi r4, r1, 0x30
-/* 8007CA4C 4B FF A7 B5 */ bl GetWallAddY__9dBgS_AcchFR3Vec
-/* 8007CA50 80 79 00 30 */ lwz r3, 0x30(r25)
-/* 8007CA54 C0 03 00 04 */ lfs f0, 4(r3)
-/* 8007CA58 EC 00 C0 2A */ fadds f0, f0, f24
-/* 8007CA5C EC 01 00 2A */ fadds f0, f1, f0
-/* 8007CA60 EC 60 B8 28 */ fsubs f3, f0, f23
-/* 8007CA64 48 00 00 08 */ b lbl_8007CA6C
-lbl_8007CA68:
-/* 8007CA68 C0 63 00 38 */ lfs f3, 0x38(r3)
-lbl_8007CA6C:
-/* 8007CA6C 80 98 00 9C */ lwz r4, 0x9c(r24)
-/* 8007CA70 A0 1B 00 00 */ lhz r0, 0(r27)
-/* 8007CA74 1C 60 00 0C */ mulli r3, r0, 0xc
-/* 8007CA78 38 03 00 04 */ addi r0, r3, 4
-/* 8007CA7C 7C 04 04 2E */ lfsx f0, r4, r0
-/* 8007CA80 EC 40 18 28 */ fsubs f2, f0, f3
-/* 8007CA84 D0 41 00 24 */ stfs f2, 0x24(r1)
-/* 8007CA88 A0 1B 00 02 */ lhz r0, 2(r27)
-/* 8007CA8C 1C 60 00 0C */ mulli r3, r0, 0xc
-/* 8007CA90 38 03 00 04 */ addi r0, r3, 4
-/* 8007CA94 7C 04 04 2E */ lfsx f0, r4, r0
-/* 8007CA98 EC 20 18 28 */ fsubs f1, f0, f3
-/* 8007CA9C D0 21 00 28 */ stfs f1, 0x28(r1)
-/* 8007CAA0 A0 1B 00 04 */ lhz r0, 4(r27)
-/* 8007CAA4 1C 60 00 0C */ mulli r3, r0, 0xc
-/* 8007CAA8 38 03 00 04 */ addi r0, r3, 4
-/* 8007CAAC 7C 04 04 2E */ lfsx f0, r4, r0
-/* 8007CAB0 EC 00 18 28 */ fsubs f0, f0, f3
-/* 8007CAB4 D0 01 00 2C */ stfs f0, 0x2c(r1)
-/* 8007CAB8 FC 02 F8 40 */ fcmpo cr0, f2, f31
-/* 8007CABC 40 81 00 14 */ ble lbl_8007CAD0
-/* 8007CAC0 FC 01 F8 40 */ fcmpo cr0, f1, f31
-/* 8007CAC4 40 81 00 0C */ ble lbl_8007CAD0
-/* 8007CAC8 FC 00 F8 40 */ fcmpo cr0, f0, f31
-/* 8007CACC 41 81 05 90 */ bgt lbl_8007D05C
-lbl_8007CAD0:
-/* 8007CAD0 C0 22 8C F8 */ lfs f1, lit_3717(r2)
-/* 8007CAD4 FC 02 08 40 */ fcmpo cr0, f2, f1
-/* 8007CAD8 40 80 00 1C */ bge lbl_8007CAF4
-/* 8007CADC C0 01 00 28 */ lfs f0, 0x28(r1)
-/* 8007CAE0 FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007CAE4 40 80 00 10 */ bge lbl_8007CAF4
-/* 8007CAE8 C0 01 00 2C */ lfs f0, 0x2c(r1)
-/* 8007CAEC FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007CAF0 41 80 05 6C */ blt lbl_8007D05C
-lbl_8007CAF4:
-/* 8007CAF4 38 60 00 00 */ li r3, 0
-/* 8007CAF8 FC 00 12 10 */ fabs f0, f2
-/* 8007CAFC FC 20 00 18 */ frsp f1, f0
-/* 8007CB00 C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13)
-/* 8007CB04 FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8007CB08 40 80 00 08 */ bge lbl_8007CB10
-/* 8007CB0C 38 60 00 01 */ li r3, 1
-lbl_8007CB10:
-/* 8007CB10 C0 01 00 28 */ lfs f0, 0x28(r1)
-/* 8007CB14 FC 00 02 10 */ fabs f0, f0
-/* 8007CB18 FC 20 00 18 */ frsp f1, f0
-/* 8007CB1C C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13)
-/* 8007CB20 FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8007CB24 40 80 00 08 */ bge lbl_8007CB2C
-/* 8007CB28 38 63 00 01 */ addi r3, r3, 1
-lbl_8007CB2C:
-/* 8007CB2C C0 01 00 2C */ lfs f0, 0x2c(r1)
-/* 8007CB30 FC 00 02 10 */ fabs f0, f0
-/* 8007CB34 FC 20 00 18 */ frsp f1, f0
-/* 8007CB38 C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13)
-/* 8007CB3C FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8007CB40 40 80 00 08 */ bge lbl_8007CB48
-/* 8007CB44 38 63 00 01 */ addi r3, r3, 1
-lbl_8007CB48:
-/* 8007CB48 2C 03 00 01 */ cmpwi r3, 1
-/* 8007CB4C 41 82 05 10 */ beq lbl_8007D05C
-/* 8007CB50 C0 41 00 24 */ lfs f2, 0x24(r1)
-/* 8007CB54 C0 22 8C F8 */ lfs f1, lit_3717(r2)
-/* 8007CB58 FC 02 08 40 */ fcmpo cr0, f2, f1
-/* 8007CB5C 40 81 00 24 */ ble lbl_8007CB80
-/* 8007CB60 C0 01 00 28 */ lfs f0, 0x28(r1)
-/* 8007CB64 FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007CB68 4C 40 13 82 */ cror 2, 0, 2
-/* 8007CB6C 40 82 00 14 */ bne lbl_8007CB80
-/* 8007CB70 C0 01 00 2C */ lfs f0, 0x2c(r1)
-/* 8007CB74 FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007CB78 4C 40 13 82 */ cror 2, 0, 2
-/* 8007CB7C 41 82 00 30 */ beq lbl_8007CBAC
-lbl_8007CB80:
-/* 8007CB80 C0 22 8C F8 */ lfs f1, lit_3717(r2)
-/* 8007CB84 FC 02 08 40 */ fcmpo cr0, f2, f1
-/* 8007CB88 40 80 00 34 */ bge lbl_8007CBBC
-/* 8007CB8C C0 01 00 28 */ lfs f0, 0x28(r1)
-/* 8007CB90 FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007CB94 4C 41 13 82 */ cror 2, 1, 2
-/* 8007CB98 40 82 00 24 */ bne lbl_8007CBBC
-/* 8007CB9C C0 01 00 2C */ lfs f0, 0x2c(r1)
-/* 8007CBA0 FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007CBA4 4C 41 13 82 */ cror 2, 1, 2
-/* 8007CBA8 40 82 00 14 */ bne lbl_8007CBBC
-lbl_8007CBAC:
-/* 8007CBAC 38 A0 00 00 */ li r5, 0
-/* 8007CBB0 38 80 00 01 */ li r4, 1
-/* 8007CBB4 38 C0 00 02 */ li r6, 2
-/* 8007CBB8 48 00 00 74 */ b lbl_8007CC2C
-lbl_8007CBBC:
-/* 8007CBBC C0 61 00 28 */ lfs f3, 0x28(r1)
-/* 8007CBC0 C0 22 8C F8 */ lfs f1, lit_3717(r2)
-/* 8007CBC4 FC 03 08 40 */ fcmpo cr0, f3, f1
-/* 8007CBC8 40 81 00 20 */ ble lbl_8007CBE8
-/* 8007CBCC FC 02 08 40 */ fcmpo cr0, f2, f1
-/* 8007CBD0 4C 40 13 82 */ cror 2, 0, 2
-/* 8007CBD4 40 82 00 14 */ bne lbl_8007CBE8
-/* 8007CBD8 C0 01 00 2C */ lfs f0, 0x2c(r1)
-/* 8007CBDC FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007CBE0 4C 40 13 82 */ cror 2, 0, 2
-/* 8007CBE4 41 82 00 2C */ beq lbl_8007CC10
-lbl_8007CBE8:
-/* 8007CBE8 C0 22 8C F8 */ lfs f1, lit_3717(r2)
-/* 8007CBEC FC 03 08 40 */ fcmpo cr0, f3, f1
-/* 8007CBF0 40 80 00 30 */ bge lbl_8007CC20
-/* 8007CBF4 FC 02 08 40 */ fcmpo cr0, f2, f1
-/* 8007CBF8 4C 41 13 82 */ cror 2, 1, 2
-/* 8007CBFC 40 82 00 24 */ bne lbl_8007CC20
-/* 8007CC00 C0 01 00 2C */ lfs f0, 0x2c(r1)
-/* 8007CC04 FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007CC08 4C 41 13 82 */ cror 2, 1, 2
-/* 8007CC0C 40 82 00 14 */ bne lbl_8007CC20
-lbl_8007CC10:
-/* 8007CC10 38 A0 00 01 */ li r5, 1
-/* 8007CC14 38 80 00 00 */ li r4, 0
-/* 8007CC18 38 C0 00 02 */ li r6, 2
-/* 8007CC1C 48 00 00 10 */ b lbl_8007CC2C
-lbl_8007CC20:
-/* 8007CC20 38 A0 00 02 */ li r5, 2
-/* 8007CC24 38 80 00 00 */ li r4, 0
-/* 8007CC28 38 C0 00 01 */ li r6, 1
-lbl_8007CC2C:
-/* 8007CC2C 54 A0 10 3A */ slwi r0, r5, 2
-/* 8007CC30 38 61 00 24 */ addi r3, r1, 0x24
-/* 8007CC34 7C 03 04 2E */ lfsx f0, r3, r0
-/* 8007CC38 54 80 10 3A */ slwi r0, r4, 2
-/* 8007CC3C 7C 63 04 2E */ lfsx f3, r3, r0
-/* 8007CC40 EC 80 18 28 */ fsubs f4, f0, f3
-/* 8007CC44 54 C0 10 3A */ slwi r0, r6, 2
-/* 8007CC48 7C 43 04 2E */ lfsx f2, r3, r0
-/* 8007CC4C EC A0 10 28 */ fsubs f5, f0, f2
-/* 8007CC50 FC 00 22 10 */ fabs f0, f4
-/* 8007CC54 FC 00 00 18 */ frsp f0, f0
-/* 8007CC58 C0 2D 8C 00 */ lfs f1, G_CM3D_F_ABS_MIN(r13)
-/* 8007CC5C FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007CC60 41 80 03 FC */ blt lbl_8007D05C
-/* 8007CC64 FC 00 2A 10 */ fabs f0, f5
-/* 8007CC68 FC 00 00 18 */ frsp f0, f0
-/* 8007CC6C FC 00 08 40 */ fcmpo cr0, f0, f1
-/* 8007CC70 41 80 03 EC */ blt lbl_8007D05C
-/* 8007CC74 FC 00 18 50 */ fneg f0, f3
-/* 8007CC78 EC 60 20 24 */ fdivs f3, f0, f4
-/* 8007CC7C FC 00 10 50 */ fneg f0, f2
-/* 8007CC80 EC 40 28 24 */ fdivs f2, f0, f5
-/* 8007CC84 80 98 00 9C */ lwz r4, 0x9c(r24)
-/* 8007CC88 A0 1B 00 00 */ lhz r0, 0(r27)
-/* 8007CC8C 1C 00 00 0C */ mulli r0, r0, 0xc
-/* 8007CC90 7C 64 02 14 */ add r3, r4, r0
-/* 8007CC94 C0 83 00 00 */ lfs f4, 0(r3)
-/* 8007CC98 C0 A3 00 08 */ lfs f5, 8(r3)
-/* 8007CC9C A0 1B 00 02 */ lhz r0, 2(r27)
-/* 8007CCA0 1C 00 00 0C */ mulli r0, r0, 0xc
-/* 8007CCA4 7C 64 02 14 */ add r3, r4, r0
-/* 8007CCA8 C0 C3 00 00 */ lfs f6, 0(r3)
-/* 8007CCAC C0 E3 00 08 */ lfs f7, 8(r3)
-/* 8007CCB0 A0 1B 00 04 */ lhz r0, 4(r27)
-/* 8007CCB4 1C 00 00 0C */ mulli r0, r0, 0xc
-/* 8007CCB8 7C 64 02 14 */ add r3, r4, r0
-/* 8007CCBC C1 03 00 00 */ lfs f8, 0(r3)
-/* 8007CCC0 C0 03 00 08 */ lfs f0, 8(r3)
-/* 8007CCC4 2C 05 00 00 */ cmpwi r5, 0
-/* 8007CCC8 40 82 00 38 */ bne lbl_8007CD00
-/* 8007CCCC EC 24 30 28 */ fsubs f1, f4, f6
-/* 8007CCD0 EC 23 00 72 */ fmuls f1, f3, f1
-/* 8007CCD4 EF 66 08 2A */ fadds f27, f6, f1
-/* 8007CCD8 EC 25 38 28 */ fsubs f1, f5, f7
-/* 8007CCDC EC 23 00 72 */ fmuls f1, f3, f1
-/* 8007CCE0 EF 47 08 2A */ fadds f26, f7, f1
-/* 8007CCE4 EC 24 40 28 */ fsubs f1, f4, f8
-/* 8007CCE8 EC 22 00 72 */ fmuls f1, f2, f1
-/* 8007CCEC EF 28 08 2A */ fadds f25, f8, f1
-/* 8007CCF0 EC 25 00 28 */ fsubs f1, f5, f0
-/* 8007CCF4 EC 22 00 72 */ fmuls f1, f2, f1
-/* 8007CCF8 EF 00 08 2A */ fadds f24, f0, f1
-/* 8007CCFC 48 00 00 70 */ b lbl_8007CD6C
-lbl_8007CD00:
-/* 8007CD00 2C 05 00 01 */ cmpwi r5, 1
-/* 8007CD04 40 82 00 38 */ bne lbl_8007CD3C
-/* 8007CD08 EC 26 20 28 */ fsubs f1, f6, f4
-/* 8007CD0C EC 23 00 72 */ fmuls f1, f3, f1
-/* 8007CD10 EF 64 08 2A */ fadds f27, f4, f1
-/* 8007CD14 EC 27 28 28 */ fsubs f1, f7, f5
-/* 8007CD18 EC 23 00 72 */ fmuls f1, f3, f1
-/* 8007CD1C EF 45 08 2A */ fadds f26, f5, f1
-/* 8007CD20 EC 26 40 28 */ fsubs f1, f6, f8
-/* 8007CD24 EC 22 00 72 */ fmuls f1, f2, f1
-/* 8007CD28 EF 28 08 2A */ fadds f25, f8, f1
-/* 8007CD2C EC 27 00 28 */ fsubs f1, f7, f0
-/* 8007CD30 EC 22 00 72 */ fmuls f1, f2, f1
-/* 8007CD34 EF 00 08 2A */ fadds f24, f0, f1
-/* 8007CD38 48 00 00 34 */ b lbl_8007CD6C
-lbl_8007CD3C:
-/* 8007CD3C EC 28 20 28 */ fsubs f1, f8, f4
-/* 8007CD40 EC 23 00 72 */ fmuls f1, f3, f1
-/* 8007CD44 EF 64 08 2A */ fadds f27, f4, f1
-/* 8007CD48 EC 20 28 28 */ fsubs f1, f0, f5
-/* 8007CD4C EC 23 00 72 */ fmuls f1, f3, f1
-/* 8007CD50 EF 45 08 2A */ fadds f26, f5, f1
-/* 8007CD54 EC 28 30 28 */ fsubs f1, f8, f6
-/* 8007CD58 EC 22 00 72 */ fmuls f1, f2, f1
-/* 8007CD5C EF 26 08 2A */ fadds f25, f6, f1
-/* 8007CD60 EC 00 38 28 */ fsubs f0, f0, f7
-/* 8007CD64 EC 02 00 32 */ fmuls f0, f2, f0
-/* 8007CD68 EF 07 00 2A */ fadds f24, f7, f0
-lbl_8007CD6C:
-/* 8007CD6C C0 01 00 30 */ lfs f0, 0x30(r1)
-/* 8007CD70 EF 7B 00 2A */ fadds f27, f27, f0
-/* 8007CD74 C0 21 00 38 */ lfs f1, 0x38(r1)
-/* 8007CD78 EF 5A 08 2A */ fadds f26, f26, f1
-/* 8007CD7C EF 39 00 2A */ fadds f25, f25, f0
-/* 8007CD80 EF 18 08 2A */ fadds f24, f24, f1
-/* 8007CD84 80 79 00 30 */ lwz r3, 0x30(r25)
-/* 8007CD88 C0 23 00 00 */ lfs f1, 0(r3)
-/* 8007CD8C C0 43 00 08 */ lfs f2, 8(r3)
-/* 8007CD90 FC 60 D8 90 */ fmr f3, f27
-/* 8007CD94 FC 80 D0 90 */ fmr f4, f26
-/* 8007CD98 FC A0 C8 90 */ fmr f5, f25
-/* 8007CD9C FC C0 C0 90 */ fmr f6, f24
-/* 8007CDA0 38 61 00 1C */ addi r3, r1, 0x1c
-/* 8007CDA4 38 81 00 18 */ addi r4, r1, 0x18
-/* 8007CDA8 38 A1 00 20 */ addi r5, r1, 0x20
-/* 8007CDAC 48 1E B8 81 */ bl cM3d_Len2dSqPntAndSegLine__FffffffPfPfPf
-/* 8007CDB0 C0 01 00 1C */ lfs f0, 0x1c(r1)
-/* 8007CDB4 80 D9 00 30 */ lwz r6, 0x30(r25)
-/* 8007CDB8 C0 66 00 00 */ lfs f3, 0(r6)
-/* 8007CDBC EC 20 18 28 */ fsubs f1, f0, f3
-/* 8007CDC0 C0 01 00 18 */ lfs f0, 0x18(r1)
-/* 8007CDC4 C0 86 00 08 */ lfs f4, 8(r6)
-/* 8007CDC8 EC 00 20 28 */ fsubs f0, f0, f4
-/* 8007CDCC 80 99 00 8C */ lwz r4, 0x8c(r25)
-/* 8007CDD0 38 17 00 28 */ addi r0, r23, 0x28
-/* 8007CDD4 7F A4 04 2E */ lfsx f29, r4, r0
-/* 8007CDD8 C0 41 00 20 */ lfs f2, 0x20(r1)
-/* 8007CDDC FC 02 E8 40 */ fcmpo cr0, f2, f29
-/* 8007CDE0 41 81 02 7C */ bgt lbl_8007D05C
-/* 8007CDE4 C0 A1 00 30 */ lfs f5, 0x30(r1)
-/* 8007CDE8 EC 21 01 72 */ fmuls f1, f1, f5
-/* 8007CDEC C0 C1 00 38 */ lfs f6, 0x38(r1)
-/* 8007CDF0 EC 00 01 B2 */ fmuls f0, f0, f6
-/* 8007CDF4 EC 21 00 2A */ fadds f1, f1, f0
-/* 8007CDF8 C0 02 8C F8 */ lfs f0, lit_3717(r2)
-/* 8007CDFC FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8007CE00 41 80 02 5C */ blt lbl_8007D05C
-/* 8007CE04 54 60 06 3E */ clrlwi r0, r3, 0x18
-/* 8007CE08 28 00 00 01 */ cmplwi r0, 1
-/* 8007CE0C 40 82 00 74 */ bne lbl_8007CE80
-/* 8007CE10 FC 02 00 40 */ fcmpo cr0, f2, f0
-/* 8007CE14 40 81 00 0C */ ble lbl_8007CE20
-/* 8007CE18 FC 00 10 34 */ frsqrte f0, f2
-/* 8007CE1C EC 40 00 B2 */ fmuls f2, f0, f2
-lbl_8007CE20:
-/* 8007CE20 7F 03 C3 78 */ mr r3, r24
-/* 8007CE24 7F 24 CB 78 */ mr r4, r25
-/* 8007CE28 FC 20 E0 90 */ fmr f1, f28
-/* 8007CE2C 7F 85 E3 78 */ mr r5, r28
-/* 8007CE30 4B FF EB BD */ bl positionWallCorrect__4dBgWFP9dBgS_AcchfR8cM3dGPlaP4cXyzf
-/* 8007CE34 7F 23 CB 78 */ mr r3, r25
-/* 8007CE38 4B FF A4 B1 */ bl CalcMovePosWork__9dBgS_AcchFv
-/* 8007CE3C 80 99 00 8C */ lwz r4, 0x8c(r25)
-/* 8007CE40 38 77 00 10 */ addi r3, r23, 0x10
-/* 8007CE44 7C 04 18 2E */ lwzx r0, r4, r3
-/* 8007CE48 60 00 00 02 */ ori r0, r0, 2
-/* 8007CE4C 7C 04 19 2E */ stwx r0, r4, r3
-/* 8007CE50 7F 23 CB 78 */ mr r3, r25
-/* 8007CE54 7F 44 D3 78 */ mr r4, r26
-/* 8007CE58 7F A5 EB 78 */ mr r5, r29
-/* 8007CE5C 4B FF A4 2D */ bl SetWallPolyIndex__9dBgS_AcchFii
-/* 8007CE60 C0 3C 00 00 */ lfs f1, 0(r28)
-/* 8007CE64 C0 5C 00 08 */ lfs f2, 8(r28)
-/* 8007CE68 48 1E A8 0D */ bl cM_atan2s__Fff
-/* 8007CE6C 80 99 00 8C */ lwz r4, 0x8c(r25)
-/* 8007CE70 38 17 00 3C */ addi r0, r23, 0x3c
-/* 8007CE74 7C 64 03 2E */ sthx r3, r4, r0
-/* 8007CE78 3B E0 00 01 */ li r31, 1
-/* 8007CE7C 48 00 01 E0 */ b lbl_8007D05C
-lbl_8007CE80:
-/* 8007CE80 EF 7B 28 28 */ fsubs f27, f27, f5
-/* 8007CE84 EF 5A 30 28 */ fsubs f26, f26, f6
-/* 8007CE88 EF 39 28 28 */ fsubs f25, f25, f5
-/* 8007CE8C EF 18 30 28 */ fsubs f24, f24, f6
-/* 8007CE90 FC 20 D8 90 */ fmr f1, f27
-/* 8007CE94 FC 40 D0 90 */ fmr f2, f26
-/* 8007CE98 48 1E B7 7D */ bl cM3d_Len2dSq__Fffff
-/* 8007CE9C FE E0 08 90 */ fmr f23, f1
-/* 8007CEA0 80 79 00 30 */ lwz r3, 0x30(r25)
-/* 8007CEA4 FC 20 C8 90 */ fmr f1, f25
-/* 8007CEA8 FC 40 C0 90 */ fmr f2, f24
-/* 8007CEAC C0 63 00 00 */ lfs f3, 0(r3)
-/* 8007CEB0 C0 83 00 08 */ lfs f4, 8(r3)
-/* 8007CEB4 48 1E B7 61 */ bl cM3d_Len2dSq__Fffff
-/* 8007CEB8 C0 1C 00 00 */ lfs f0, 0(r28)
-/* 8007CEBC FC 60 00 50 */ fneg f3, f0
-/* 8007CEC0 C0 1C 00 08 */ lfs f0, 8(r28)
-/* 8007CEC4 FC 80 00 50 */ fneg f4, f0
-/* 8007CEC8 FC 17 08 40 */ fcmpo cr0, f23, f1
-/* 8007CECC 40 80 00 CC */ bge lbl_8007CF98
-/* 8007CED0 FC 17 E8 40 */ fcmpo cr0, f23, f29
-/* 8007CED4 41 81 01 88 */ bgt lbl_8007D05C
-/* 8007CED8 EC 17 E8 28 */ fsubs f0, f23, f29
-/* 8007CEDC FC 00 02 10 */ fabs f0, f0
-/* 8007CEE0 FC 20 00 18 */ frsp f1, f0
-/* 8007CEE4 C0 02 8D 10 */ lfs f0, lit_4962(r2)
-/* 8007CEE8 FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8007CEEC 41 80 01 70 */ blt lbl_8007D05C
-/* 8007CEF0 80 19 00 8C */ lwz r0, 0x8c(r25)
-/* 8007CEF4 38 77 00 14 */ addi r3, r23, 0x14
-/* 8007CEF8 7C 60 1A 14 */ add r3, r0, r3
-/* 8007CEFC FC 20 D8 90 */ fmr f1, f27
-/* 8007CF00 FC 40 D0 90 */ fmr f2, f26
-/* 8007CF04 38 81 00 14 */ addi r4, r1, 0x14
-/* 8007CF08 38 A1 00 10 */ addi r5, r1, 0x10
-/* 8007CF0C 48 1E B3 55 */ bl cM2d_CrossCirLin__FR8cM2dGCirffffPfPf
-/* 8007CF10 80 79 00 30 */ lwz r3, 0x30(r25)
-/* 8007CF14 C0 23 00 00 */ lfs f1, 0(r3)
-/* 8007CF18 C0 01 00 14 */ lfs f0, 0x14(r1)
-/* 8007CF1C EC 1B 00 28 */ fsubs f0, f27, f0
-/* 8007CF20 EC 01 00 2A */ fadds f0, f1, f0
-/* 8007CF24 D0 03 00 00 */ stfs f0, 0(r3)
-/* 8007CF28 80 79 00 30 */ lwz r3, 0x30(r25)
-/* 8007CF2C C0 23 00 08 */ lfs f1, 8(r3)
-/* 8007CF30 C0 01 00 10 */ lfs f0, 0x10(r1)
-/* 8007CF34 EC 1A 00 28 */ fsubs f0, f26, f0
-/* 8007CF38 EC 01 00 2A */ fadds f0, f1, f0
-/* 8007CF3C D0 03 00 08 */ stfs f0, 8(r3)
-/* 8007CF40 7F 23 CB 78 */ mr r3, r25
-/* 8007CF44 4B FF A3 A5 */ bl CalcMovePosWork__9dBgS_AcchFv
-/* 8007CF48 80 99 00 8C */ lwz r4, 0x8c(r25)
-/* 8007CF4C 38 77 00 10 */ addi r3, r23, 0x10
-/* 8007CF50 7C 04 18 2E */ lwzx r0, r4, r3
-/* 8007CF54 60 00 00 02 */ ori r0, r0, 2
-/* 8007CF58 7C 04 19 2E */ stwx r0, r4, r3
-/* 8007CF5C 7F 23 CB 78 */ mr r3, r25
-/* 8007CF60 7F 44 D3 78 */ mr r4, r26
-/* 8007CF64 7F A5 EB 78 */ mr r5, r29
-/* 8007CF68 4B FF A3 21 */ bl SetWallPolyIndex__9dBgS_AcchFii
-/* 8007CF6C C0 3C 00 00 */ lfs f1, 0(r28)
-/* 8007CF70 C0 5C 00 08 */ lfs f2, 8(r28)
-/* 8007CF74 48 1E A7 01 */ bl cM_atan2s__Fff
-/* 8007CF78 80 99 00 8C */ lwz r4, 0x8c(r25)
-/* 8007CF7C 38 17 00 3C */ addi r0, r23, 0x3c
-/* 8007CF80 7C 64 03 2E */ sthx r3, r4, r0
-/* 8007CF84 3B E0 00 01 */ li r31, 1
-/* 8007CF88 80 19 00 2C */ lwz r0, 0x2c(r25)
-/* 8007CF8C 60 00 00 10 */ ori r0, r0, 0x10
-/* 8007CF90 90 19 00 2C */ stw r0, 0x2c(r25)
-/* 8007CF94 48 00 00 C8 */ b lbl_8007D05C
-lbl_8007CF98:
-/* 8007CF98 FC 01 E8 40 */ fcmpo cr0, f1, f29
-/* 8007CF9C 41 81 00 C0 */ bgt lbl_8007D05C
-/* 8007CFA0 EC 01 E8 28 */ fsubs f0, f1, f29
-/* 8007CFA4 FC 00 02 10 */ fabs f0, f0
-/* 8007CFA8 FC 20 00 18 */ frsp f1, f0
-/* 8007CFAC C0 02 8D 10 */ lfs f0, lit_4962(r2)
-/* 8007CFB0 FC 01 00 40 */ fcmpo cr0, f1, f0
-/* 8007CFB4 41 80 00 A8 */ blt lbl_8007D05C
-/* 8007CFB8 80 19 00 8C */ lwz r0, 0x8c(r25)
-/* 8007CFBC 38 77 00 14 */ addi r3, r23, 0x14
-/* 8007CFC0 7C 60 1A 14 */ add r3, r0, r3
-/* 8007CFC4 FC 20 C8 90 */ fmr f1, f25
-/* 8007CFC8 FC 40 C0 90 */ fmr f2, f24
-/* 8007CFCC 38 81 00 0C */ addi r4, r1, 0xc
-/* 8007CFD0 38 A1 00 08 */ addi r5, r1, 8
-/* 8007CFD4 48 1E B2 8D */ bl cM2d_CrossCirLin__FR8cM2dGCirffffPfPf
-/* 8007CFD8 80 79 00 30 */ lwz r3, 0x30(r25)
-/* 8007CFDC C0 23 00 00 */ lfs f1, 0(r3)
-/* 8007CFE0 C0 01 00 0C */ lfs f0, 0xc(r1)
-/* 8007CFE4 EC 19 00 28 */ fsubs f0, f25, f0
-/* 8007CFE8 EC 01 00 2A */ fadds f0, f1, f0
-/* 8007CFEC D0 03 00 00 */ stfs f0, 0(r3)
-/* 8007CFF0 80 79 00 30 */ lwz r3, 0x30(r25)
-/* 8007CFF4 C0 23 00 08 */ lfs f1, 8(r3)
-/* 8007CFF8 C0 01 00 08 */ lfs f0, 8(r1)
-/* 8007CFFC EC 18 00 28 */ fsubs f0, f24, f0
-/* 8007D000 EC 01 00 2A */ fadds f0, f1, f0
-/* 8007D004 D0 03 00 08 */ stfs f0, 8(r3)
-/* 8007D008 7F 23 CB 78 */ mr r3, r25
-/* 8007D00C 4B FF A2 DD */ bl CalcMovePosWork__9dBgS_AcchFv
-/* 8007D010 80 99 00 8C */ lwz r4, 0x8c(r25)
-/* 8007D014 38 77 00 10 */ addi r3, r23, 0x10
-/* 8007D018 7C 04 18 2E */ lwzx r0, r4, r3
-/* 8007D01C 60 00 00 02 */ ori r0, r0, 2
-/* 8007D020 7C 04 19 2E */ stwx r0, r4, r3
-/* 8007D024 7F 23 CB 78 */ mr r3, r25
-/* 8007D028 7F 44 D3 78 */ mr r4, r26
-/* 8007D02C 7F A5 EB 78 */ mr r5, r29
-/* 8007D030 4B FF A2 59 */ bl SetWallPolyIndex__9dBgS_AcchFii
-/* 8007D034 C0 3C 00 00 */ lfs f1, 0(r28)
-/* 8007D038 C0 5C 00 08 */ lfs f2, 8(r28)
-/* 8007D03C 48 1E A6 39 */ bl cM_atan2s__Fff
-/* 8007D040 80 99 00 8C */ lwz r4, 0x8c(r25)
-/* 8007D044 38 17 00 3C */ addi r0, r23, 0x3c
-/* 8007D048 7C 64 03 2E */ sthx r3, r4, r0
-/* 8007D04C 3B E0 00 01 */ li r31, 1
-/* 8007D050 80 19 00 2C */ lwz r0, 0x2c(r25)
-/* 8007D054 60 00 00 10 */ ori r0, r0, 0x10
-/* 8007D058 90 19 00 2C */ stw r0, 0x2c(r25)
-lbl_8007D05C:
-/* 8007D05C 3B 5A 00 01 */ addi r26, r26, 1
-/* 8007D060 3A F7 00 40 */ addi r23, r23, 0x40
-lbl_8007D064:
-/* 8007D064 80 19 00 88 */ lwz r0, 0x88(r25)
-/* 8007D068 7C 1A 00 00 */ cmpw r26, r0
-/* 8007D06C 41 80 F9 8C */ blt lbl_8007C9F8
-/* 8007D070 83 DE 00 08 */ lwz r30, 8(r30)
-/* 8007D074 4B FF F9 28 */ b lbl_8007C99C
-lbl_8007D078:
-/* 8007D078 7F E3 FB 78 */ mr r3, r31
-/* 8007D07C E3 E1 00 F8 */ psq_l f31, 248(r1), 0, 0 /* qr0 */
-/* 8007D080 CB E1 00 F0 */ lfd f31, 0xf0(r1)
-/* 8007D084 E3 C1 00 E8 */ psq_l f30, 232(r1), 0, 0 /* qr0 */
-/* 8007D088 CB C1 00 E0 */ lfd f30, 0xe0(r1)
-/* 8007D08C E3 A1 00 D8 */ psq_l f29, 216(r1), 0, 0 /* qr0 */
-/* 8007D090 CB A1 00 D0 */ lfd f29, 0xd0(r1)
-/* 8007D094 E3 81 00 C8 */ psq_l f28, 200(r1), 0, 0 /* qr0 */
-/* 8007D098 CB 81 00 C0 */ lfd f28, 0xc0(r1)
-/* 8007D09C E3 61 00 B8 */ psq_l f27, 184(r1), 0, 0 /* qr0 */
-/* 8007D0A0 CB 61 00 B0 */ lfd f27, 0xb0(r1)
-/* 8007D0A4 E3 41 00 A8 */ psq_l f26, 168(r1), 0, 0 /* qr0 */
-/* 8007D0A8 CB 41 00 A0 */ lfd f26, 0xa0(r1)
-/* 8007D0AC E3 21 00 98 */ psq_l f25, 152(r1), 0, 0 /* qr0 */
-/* 8007D0B0 CB 21 00 90 */ lfd f25, 0x90(r1)
-/* 8007D0B4 E3 01 00 88 */ psq_l f24, 136(r1), 0, 0 /* qr0 */
-/* 8007D0B8 CB 01 00 80 */ lfd f24, 0x80(r1)
-/* 8007D0BC E2 E1 00 78 */ psq_l f23, 120(r1), 0, 0 /* qr0 */
-/* 8007D0C0 CA E1 00 70 */ lfd f23, 0x70(r1)
-/* 8007D0C4 39 61 00 70 */ addi r11, r1, 0x70
-/* 8007D0C8 48 2E 51 49 */ bl _restgpr_23
-/* 8007D0CC 80 01 01 04 */ lwz r0, 0x104(r1)
-/* 8007D0D0 7C 08 03 A6 */ mtlr r0
-/* 8007D0D4 38 21 01 00 */ addi r1, r1, 0x100
-/* 8007D0D8 4E 80 00 20 */ blr
diff --git a/asm/d/bg/d_bg_w/positionWallCorrect__4dBgWFP9dBgS_AcchfR8cM3dGPlaP4cXyzf.s b/asm/d/bg/d_bg_w/positionWallCorrect__4dBgWFP9dBgS_AcchfR8cM3dGPlaP4cXyzf.s
deleted file mode 100644
index 7eaad036e9..0000000000
--- a/asm/d/bg/d_bg_w/positionWallCorrect__4dBgWFP9dBgS_AcchfR8cM3dGPlaP4cXyzf.s
+++ /dev/null
@@ -1,23 +0,0 @@
-lbl_8007B9EC:
-/* 8007B9EC 80 04 00 2C */ lwz r0, 0x2c(r4)
-/* 8007B9F0 60 00 00 10 */ ori r0, r0, 0x10
-/* 8007B9F4 90 04 00 2C */ stw r0, 0x2c(r4)
-/* 8007B9F8 C0 02 8D 04 */ lfs f0, lit_3937(r2)
-/* 8007B9FC EC 42 00 28 */ fsubs f2, f2, f0
-/* 8007BA00 C0 02 8C F8 */ lfs f0, lit_3717(r2)
-/* 8007BA04 FC 02 00 40 */ fcmpo cr0, f2, f0
-/* 8007BA08 40 80 00 08 */ bge lbl_8007BA10
-/* 8007BA0C FC 40 00 90 */ fmr f2, f0
-lbl_8007BA10:
-/* 8007BA10 EC 42 00 72 */ fmuls f2, f2, f1
-/* 8007BA14 C0 26 00 00 */ lfs f1, 0(r6)
-/* 8007BA18 C0 05 00 00 */ lfs f0, 0(r5)
-/* 8007BA1C EC 02 00 32 */ fmuls f0, f2, f0
-/* 8007BA20 EC 01 00 2A */ fadds f0, f1, f0
-/* 8007BA24 D0 06 00 00 */ stfs f0, 0(r6)
-/* 8007BA28 C0 26 00 08 */ lfs f1, 8(r6)
-/* 8007BA2C C0 05 00 08 */ lfs f0, 8(r5)
-/* 8007BA30 EC 02 00 32 */ fmuls f0, f2, f0
-/* 8007BA34 EC 01 00 2A */ fadds f0, f1, f0
-/* 8007BA38 D0 06 00 08 */ stfs f0, 8(r6)
-/* 8007BA3C 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/__dt__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/__dt__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index f606bdc53a..0000000000
--- a/asm/d/menu/d_menu_fmap2D/__dt__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,165 +0,0 @@
-lbl_801CFCDC:
-/* 801CFCDC 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 801CFCE0 7C 08 02 A6 */ mflr r0
-/* 801CFCE4 90 01 00 24 */ stw r0, 0x24(r1)
-/* 801CFCE8 39 61 00 20 */ addi r11, r1, 0x20
-/* 801CFCEC 48 19 24 E5 */ bl _savegpr_26
-/* 801CFCF0 7C 7E 1B 79 */ or. r30, r3, r3
-/* 801CFCF4 7C 9F 23 78 */ mr r31, r4
-/* 801CFCF8 41 82 02 20 */ beq lbl_801CFF18
-/* 801CFCFC 3C 60 80 3C */ lis r3, __vt__18dMenu_Fmap2DBack_c@ha /* 0x803BD760@ha */
-/* 801CFD00 38 63 D7 60 */ addi r3, r3, __vt__18dMenu_Fmap2DBack_c@l /* 0x803BD760@l */
-/* 801CFD04 90 7E 00 00 */ stw r3, 0(r30)
-/* 801CFD08 38 03 00 0C */ addi r0, r3, 0xc
-/* 801CFD0C 90 1E 00 04 */ stw r0, 4(r30)
-/* 801CFD10 80 7E 0C 98 */ lwz r3, 0xc98(r30)
-/* 801CFD14 28 03 00 00 */ cmplwi r3, 0
-/* 801CFD18 41 82 00 18 */ beq lbl_801CFD30
-/* 801CFD1C 38 80 00 01 */ li r4, 1
-/* 801CFD20 81 83 00 00 */ lwz r12, 0(r3)
-/* 801CFD24 81 8C 00 08 */ lwz r12, 8(r12)
-/* 801CFD28 7D 89 03 A6 */ mtctr r12
-/* 801CFD2C 4E 80 04 21 */ bctrl
-lbl_801CFD30:
-/* 801CFD30 38 00 00 00 */ li r0, 0
-/* 801CFD34 90 1E 0C 98 */ stw r0, 0xc98(r30)
-/* 801CFD38 80 7E 0C 9C */ lwz r3, 0xc9c(r30)
-/* 801CFD3C 28 03 00 00 */ cmplwi r3, 0
-/* 801CFD40 41 82 00 18 */ beq lbl_801CFD58
-/* 801CFD44 38 80 00 01 */ li r4, 1
-/* 801CFD48 81 83 00 00 */ lwz r12, 0(r3)
-/* 801CFD4C 81 8C 00 08 */ lwz r12, 8(r12)
-/* 801CFD50 7D 89 03 A6 */ mtctr r12
-/* 801CFD54 4E 80 04 21 */ bctrl
-lbl_801CFD58:
-/* 801CFD58 38 00 00 00 */ li r0, 0
-/* 801CFD5C 90 1E 0C 9C */ stw r0, 0xc9c(r30)
-/* 801CFD60 80 7E 0C E4 */ lwz r3, 0xce4(r30)
-/* 801CFD64 28 03 00 00 */ cmplwi r3, 0
-/* 801CFD68 41 82 00 18 */ beq lbl_801CFD80
-/* 801CFD6C 38 80 00 01 */ li r4, 1
-/* 801CFD70 81 83 00 00 */ lwz r12, 0(r3)
-/* 801CFD74 81 8C 00 08 */ lwz r12, 8(r12)
-/* 801CFD78 7D 89 03 A6 */ mtctr r12
-/* 801CFD7C 4E 80 04 21 */ bctrl
-lbl_801CFD80:
-/* 801CFD80 38 00 00 00 */ li r0, 0
-/* 801CFD84 90 1E 0C E4 */ stw r0, 0xce4(r30)
-/* 801CFD88 80 7E 0C A0 */ lwz r3, 0xca0(r30)
-/* 801CFD8C 28 03 00 00 */ cmplwi r3, 0
-/* 801CFD90 41 82 00 18 */ beq lbl_801CFDA8
-/* 801CFD94 38 80 00 01 */ li r4, 1
-/* 801CFD98 81 83 00 00 */ lwz r12, 0(r3)
-/* 801CFD9C 81 8C 00 08 */ lwz r12, 8(r12)
-/* 801CFDA0 7D 89 03 A6 */ mtctr r12
-/* 801CFDA4 4E 80 04 21 */ bctrl
-lbl_801CFDA8:
-/* 801CFDA8 38 00 00 00 */ li r0, 0
-/* 801CFDAC 90 1E 0C A0 */ stw r0, 0xca0(r30)
-/* 801CFDB0 80 7E 0C A4 */ lwz r3, 0xca4(r30)
-/* 801CFDB4 28 03 00 00 */ cmplwi r3, 0
-/* 801CFDB8 41 82 00 18 */ beq lbl_801CFDD0
-/* 801CFDBC 38 80 00 01 */ li r4, 1
-/* 801CFDC0 81 83 00 00 */ lwz r12, 0(r3)
-/* 801CFDC4 81 8C 00 08 */ lwz r12, 8(r12)
-/* 801CFDC8 7D 89 03 A6 */ mtctr r12
-/* 801CFDCC 4E 80 04 21 */ bctrl
-lbl_801CFDD0:
-/* 801CFDD0 38 00 00 00 */ li r0, 0
-/* 801CFDD4 90 1E 0C A4 */ stw r0, 0xca4(r30)
-/* 801CFDD8 80 7E 0C A8 */ lwz r3, 0xca8(r30)
-/* 801CFDDC 28 03 00 00 */ cmplwi r3, 0
-/* 801CFDE0 41 82 00 18 */ beq lbl_801CFDF8
-/* 801CFDE4 38 80 00 01 */ li r4, 1
-/* 801CFDE8 81 83 00 00 */ lwz r12, 0(r3)
-/* 801CFDEC 81 8C 00 08 */ lwz r12, 8(r12)
-/* 801CFDF0 7D 89 03 A6 */ mtctr r12
-/* 801CFDF4 4E 80 04 21 */ bctrl
-lbl_801CFDF8:
-/* 801CFDF8 38 00 00 00 */ li r0, 0
-/* 801CFDFC 90 1E 0C A8 */ stw r0, 0xca8(r30)
-/* 801CFE00 80 7E 0C E0 */ lwz r3, 0xce0(r30)
-/* 801CFE04 28 03 00 00 */ cmplwi r3, 0
-/* 801CFE08 41 82 00 18 */ beq lbl_801CFE20
-/* 801CFE0C 38 80 00 01 */ li r4, 1
-/* 801CFE10 81 83 00 00 */ lwz r12, 0(r3)
-/* 801CFE14 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 801CFE18 7D 89 03 A6 */ mtctr r12
-/* 801CFE1C 4E 80 04 21 */ bctrl
-lbl_801CFE20:
-/* 801CFE20 38 00 00 00 */ li r0, 0
-/* 801CFE24 90 1E 0C E0 */ stw r0, 0xce0(r30)
-/* 801CFE28 80 7E 0C B0 */ lwz r3, 0xcb0(r30)
-/* 801CFE2C 28 03 00 00 */ cmplwi r3, 0
-/* 801CFE30 41 82 00 18 */ beq lbl_801CFE48
-/* 801CFE34 38 80 00 01 */ li r4, 1
-/* 801CFE38 81 83 00 00 */ lwz r12, 0(r3)
-/* 801CFE3C 81 8C 00 08 */ lwz r12, 8(r12)
-/* 801CFE40 7D 89 03 A6 */ mtctr r12
-/* 801CFE44 4E 80 04 21 */ bctrl
-lbl_801CFE48:
-/* 801CFE48 38 00 00 00 */ li r0, 0
-/* 801CFE4C 90 1E 0C B0 */ stw r0, 0xcb0(r30)
-/* 801CFE50 80 7E 0C D8 */ lwz r3, 0xcd8(r30)
-/* 801CFE54 28 03 00 00 */ cmplwi r3, 0
-/* 801CFE58 41 82 00 18 */ beq lbl_801CFE70
-/* 801CFE5C 38 80 00 01 */ li r4, 1
-/* 801CFE60 81 83 00 00 */ lwz r12, 0(r3)
-/* 801CFE64 81 8C 00 08 */ lwz r12, 8(r12)
-/* 801CFE68 7D 89 03 A6 */ mtctr r12
-/* 801CFE6C 4E 80 04 21 */ bctrl
-lbl_801CFE70:
-/* 801CFE70 38 00 00 00 */ li r0, 0
-/* 801CFE74 90 1E 0C D8 */ stw r0, 0xcd8(r30)
-/* 801CFE78 80 7E 0C AC */ lwz r3, 0xcac(r30)
-/* 801CFE7C 28 03 00 00 */ cmplwi r3, 0
-/* 801CFE80 41 82 00 18 */ beq lbl_801CFE98
-/* 801CFE84 38 80 00 01 */ li r4, 1
-/* 801CFE88 81 83 00 00 */ lwz r12, 0(r3)
-/* 801CFE8C 81 8C 00 08 */ lwz r12, 8(r12)
-/* 801CFE90 7D 89 03 A6 */ mtctr r12
-/* 801CFE94 4E 80 04 21 */ bctrl
-lbl_801CFE98:
-/* 801CFE98 3B 80 00 00 */ li r28, 0
-/* 801CFE9C 93 9E 0C AC */ stw r28, 0xcac(r30)
-/* 801CFEA0 3B 40 00 00 */ li r26, 0
-/* 801CFEA4 7F 9D E3 78 */ mr r29, r28
-lbl_801CFEA8:
-/* 801CFEA8 3B 7D 0C B4 */ addi r27, r29, 0xcb4
-/* 801CFEAC 7C 7E D8 2E */ lwzx r3, r30, r27
-/* 801CFEB0 28 03 00 00 */ cmplwi r3, 0
-/* 801CFEB4 41 82 00 20 */ beq lbl_801CFED4
-/* 801CFEB8 41 82 00 18 */ beq lbl_801CFED0
-/* 801CFEBC 38 80 00 01 */ li r4, 1
-/* 801CFEC0 81 83 00 00 */ lwz r12, 0(r3)
-/* 801CFEC4 81 8C 00 08 */ lwz r12, 8(r12)
-/* 801CFEC8 7D 89 03 A6 */ mtctr r12
-/* 801CFECC 4E 80 04 21 */ bctrl
-lbl_801CFED0:
-/* 801CFED0 7F 9E D9 2E */ stwx r28, r30, r27
-lbl_801CFED4:
-/* 801CFED4 3B 5A 00 01 */ addi r26, r26, 1
-/* 801CFED8 2C 1A 00 08 */ cmpwi r26, 8
-/* 801CFEDC 3B BD 00 04 */ addi r29, r29, 4
-/* 801CFEE0 41 80 FF C8 */ blt lbl_801CFEA8
-/* 801CFEE4 7F C3 F3 78 */ mr r3, r30
-/* 801CFEE8 48 00 12 0D */ bl deleteSpotPane__18dMenu_Fmap2DBack_cFv
-/* 801CFEEC 38 00 00 00 */ li r0, 0
-/* 801CFEF0 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
-/* 801CFEF4 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
-/* 801CFEF8 98 03 00 F2 */ stb r0, 0xf2(r3)
-/* 801CFEFC 38 7E 00 04 */ addi r3, r30, 4
-/* 801CFF00 38 80 00 00 */ li r4, 0
-/* 801CFF04 4B FF 28 B1 */ bl __dt__16dMenuMapCommon_cFv
-/* 801CFF08 7F E0 07 35 */ extsh. r0, r31
-/* 801CFF0C 40 81 00 0C */ ble lbl_801CFF18
-/* 801CFF10 7F C3 F3 78 */ mr r3, r30
-/* 801CFF14 48 0F EE 29 */ bl __dl__FPv
-lbl_801CFF18:
-/* 801CFF18 7F C3 F3 78 */ mr r3, r30
-/* 801CFF1C 39 61 00 20 */ addi r11, r1, 0x20
-/* 801CFF20 48 19 22 FD */ bl _restgpr_26
-/* 801CFF24 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 801CFF28 7C 08 03 A6 */ mtlr r0
-/* 801CFF2C 38 21 00 20 */ addi r1, r1, 0x20
-/* 801CFF30 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/calcAllMapPos2D__18dMenu_Fmap2DBack_cFPCcffPfPf.s b/asm/d/menu/d_menu_fmap2D/calcAllMapPos2D__18dMenu_Fmap2DBack_cFPCcffPfPf.s
deleted file mode 100644
index 6d762052fb..0000000000
--- a/asm/d/menu/d_menu_fmap2D/calcAllMapPos2D__18dMenu_Fmap2DBack_cFPCcffPfPf.s
+++ /dev/null
@@ -1,45 +0,0 @@
-lbl_801D0D50:
-/* 801D0D50 94 21 FF C0 */ stwu r1, -0x40(r1)
-/* 801D0D54 7C 08 02 A6 */ mflr r0
-/* 801D0D58 90 01 00 44 */ stw r0, 0x44(r1)
-/* 801D0D5C DB E1 00 30 */ stfd f31, 0x30(r1)
-/* 801D0D60 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */
-/* 801D0D64 DB C1 00 20 */ stfd f30, 0x20(r1)
-/* 801D0D68 F3 C1 00 28 */ psq_st f30, 40(r1), 0, 0 /* qr0 */
-/* 801D0D6C 39 61 00 20 */ addi r11, r1, 0x20
-/* 801D0D70 48 19 14 6D */ bl _savegpr_29
-/* 801D0D74 7C 7D 1B 78 */ mr r29, r3
-/* 801D0D78 7C 80 23 78 */ mr r0, r4
-/* 801D0D7C FF C0 08 90 */ fmr f30, f1
-/* 801D0D80 FF E0 10 90 */ fmr f31, f2
-/* 801D0D84 7C BE 2B 78 */ mr r30, r5
-/* 801D0D88 7C DF 33 78 */ mr r31, r6
-/* 801D0D8C 88 83 12 27 */ lbz r4, 0x1227(r3)
-/* 801D0D90 7C 05 03 78 */ mr r5, r0
-/* 801D0D94 38 C1 00 0C */ addi r6, r1, 0xc
-/* 801D0D98 38 E1 00 08 */ addi r7, r1, 8
-/* 801D0D9C 48 00 1F 2D */ bl calcOffset__18dMenu_Fmap2DBack_cFUcPCcPfPf
-/* 801D0DA0 88 1D 12 27 */ lbz r0, 0x1227(r29)
-/* 801D0DA4 54 00 10 3A */ slwi r0, r0, 2
-/* 801D0DA8 7F A3 EB 78 */ mr r3, r29
-/* 801D0DAC C0 01 00 0C */ lfs f0, 0xc(r1)
-/* 801D0DB0 EC 3E 00 2A */ fadds f1, f30, f0
-/* 801D0DB4 C0 01 00 08 */ lfs f0, 8(r1)
-/* 801D0DB8 EC 5F 00 2A */ fadds f2, f31, f0
-/* 801D0DBC 7F C4 F3 78 */ mr r4, r30
-/* 801D0DC0 7F E5 FB 78 */ mr r5, r31
-/* 801D0DC4 7C DD 02 14 */ add r6, r29, r0
-/* 801D0DC8 C0 66 0F 0C */ lfs f3, 0xf0c(r6)
-/* 801D0DCC C0 86 0F 2C */ lfs f4, 0xf2c(r6)
-/* 801D0DD0 C0 BD 0F 9C */ lfs f5, 0xf9c(r29)
-/* 801D0DD4 48 00 00 2D */ bl calcAllMapPos2D__18dMenu_Fmap2DBack_cFffPfPffff
-/* 801D0DD8 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */
-/* 801D0DDC CB E1 00 30 */ lfd f31, 0x30(r1)
-/* 801D0DE0 E3 C1 00 28 */ psq_l f30, 40(r1), 0, 0 /* qr0 */
-/* 801D0DE4 CB C1 00 20 */ lfd f30, 0x20(r1)
-/* 801D0DE8 39 61 00 20 */ addi r11, r1, 0x20
-/* 801D0DEC 48 19 14 3D */ bl _restgpr_29
-/* 801D0DF0 80 01 00 44 */ lwz r0, 0x44(r1)
-/* 801D0DF4 7C 08 03 A6 */ mtlr r0
-/* 801D0DF8 38 21 00 40 */ addi r1, r1, 0x40
-/* 801D0DFC 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/calcAllMapPos2D__18dMenu_Fmap2DBack_cFffPfPf.s b/asm/d/menu/d_menu_fmap2D/calcAllMapPos2D__18dMenu_Fmap2DBack_cFffPfPf.s
deleted file mode 100644
index cf5fa777c9..0000000000
--- a/asm/d/menu/d_menu_fmap2D/calcAllMapPos2D__18dMenu_Fmap2DBack_cFffPfPf.s
+++ /dev/null
@@ -1,15 +0,0 @@
-lbl_801D0D18:
-/* 801D0D18 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 801D0D1C 7C 08 02 A6 */ mflr r0
-/* 801D0D20 90 01 00 14 */ stw r0, 0x14(r1)
-/* 801D0D24 88 03 12 27 */ lbz r0, 0x1227(r3)
-/* 801D0D28 54 00 10 3A */ slwi r0, r0, 2
-/* 801D0D2C 7C C3 02 14 */ add r6, r3, r0
-/* 801D0D30 C0 66 0F 0C */ lfs f3, 0xf0c(r6)
-/* 801D0D34 C0 86 0F 2C */ lfs f4, 0xf2c(r6)
-/* 801D0D38 C0 A3 0F 9C */ lfs f5, 0xf9c(r3)
-/* 801D0D3C 48 00 00 C5 */ bl calcAllMapPos2D__18dMenu_Fmap2DBack_cFffPfPffff
-/* 801D0D40 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 801D0D44 7C 08 03 A6 */ mtlr r0
-/* 801D0D48 38 21 00 10 */ addi r1, r1, 0x10
-/* 801D0D4C 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/calcAllMapPos__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/calcAllMapPos__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index 5443c5cc01..0000000000
--- a/asm/d/menu/d_menu_fmap2D/calcAllMapPos__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,79 +0,0 @@
-lbl_801D0AC8:
-/* 801D0AC8 94 21 FF C0 */ stwu r1, -0x40(r1)
-/* 801D0ACC 7C 08 02 A6 */ mflr r0
-/* 801D0AD0 90 01 00 44 */ stw r0, 0x44(r1)
-/* 801D0AD4 39 61 00 40 */ addi r11, r1, 0x40
-/* 801D0AD8 48 19 16 F5 */ bl _savegpr_25
-/* 801D0ADC 7C 79 1B 78 */ mr r25, r3
-/* 801D0AE0 3B 60 00 00 */ li r27, 0
-/* 801D0AE4 48 00 01 15 */ bl calcAllMapScaleRate__18dMenu_Fmap2DBack_cFv
-/* 801D0AE8 3B 40 00 00 */ li r26, 0
-/* 801D0AEC 3B E0 00 00 */ li r31, 0
-/* 801D0AF0 3B C0 00 00 */ li r30, 0
-lbl_801D0AF4:
-/* 801D0AF4 7F 99 F2 14 */ add r28, r25, r30
-/* 801D0AF8 80 1C 0C B4 */ lwz r0, 0xcb4(r28)
-/* 801D0AFC 28 00 00 00 */ cmplwi r0, 0
-/* 801D0B00 41 82 00 CC */ beq lbl_801D0BCC
-/* 801D0B04 7F B9 FA 14 */ add r29, r25, r31
-/* 801D0B08 7F 23 CB 78 */ mr r3, r25
-/* 801D0B0C C0 3D 0C E8 */ lfs f1, 0xce8(r29)
-/* 801D0B10 C0 5D 0C EC */ lfs f2, 0xcec(r29)
-/* 801D0B14 38 81 00 14 */ addi r4, r1, 0x14
-/* 801D0B18 38 A1 00 10 */ addi r5, r1, 0x10
-/* 801D0B1C 48 00 01 51 */ bl calcAllMapPos2DFirst__18dMenu_Fmap2DBack_cFffPfPf
-/* 801D0B20 7F 23 CB 78 */ mr r3, r25
-/* 801D0B24 C0 3D 0C F0 */ lfs f1, 0xcf0(r29)
-/* 801D0B28 C0 5D 0C F4 */ lfs f2, 0xcf4(r29)
-/* 801D0B2C 38 81 00 0C */ addi r4, r1, 0xc
-/* 801D0B30 38 A1 00 08 */ addi r5, r1, 8
-/* 801D0B34 48 00 01 39 */ bl calcAllMapPos2DFirst__18dMenu_Fmap2DBack_cFffPfPf
-/* 801D0B38 C0 01 00 14 */ lfs f0, 0x14(r1)
-/* 801D0B3C D0 1C 0E 8C */ stfs f0, 0xe8c(r28)
-/* 801D0B40 C0 01 00 10 */ lfs f0, 0x10(r1)
-/* 801D0B44 D0 1C 0E AC */ stfs f0, 0xeac(r28)
-/* 801D0B48 C0 21 00 0C */ lfs f1, 0xc(r1)
-/* 801D0B4C C0 01 00 14 */ lfs f0, 0x14(r1)
-/* 801D0B50 EC 01 00 28 */ fsubs f0, f1, f0
-/* 801D0B54 D0 1C 0E CC */ stfs f0, 0xecc(r28)
-/* 801D0B58 C0 21 00 08 */ lfs f1, 8(r1)
-/* 801D0B5C C0 01 00 10 */ lfs f0, 0x10(r1)
-/* 801D0B60 EC 01 00 28 */ fsubs f0, f1, f0
-/* 801D0B64 D0 1C 0E EC */ stfs f0, 0xeec(r28)
-/* 801D0B68 7F 23 CB 78 */ mr r3, r25
-/* 801D0B6C C0 3C 0D 8C */ lfs f1, 0xd8c(r28)
-/* 801D0B70 C0 5C 0D AC */ lfs f2, 0xdac(r28)
-/* 801D0B74 38 9C 0E 0C */ addi r4, r28, 0xe0c
-/* 801D0B78 38 BC 0E 2C */ addi r5, r28, 0xe2c
-/* 801D0B7C 48 00 00 F1 */ bl calcAllMapPos2DFirst__18dMenu_Fmap2DBack_cFffPfPf
-/* 801D0B80 7F 23 CB 78 */ mr r3, r25
-/* 801D0B84 C0 3C 0D CC */ lfs f1, 0xdcc(r28)
-/* 801D0B88 C0 5C 0D EC */ lfs f2, 0xdec(r28)
-/* 801D0B8C 38 9C 0E 4C */ addi r4, r28, 0xe4c
-/* 801D0B90 38 BC 0E 6C */ addi r5, r28, 0xe6c
-/* 801D0B94 48 00 00 D9 */ bl calcAllMapPos2DFirst__18dMenu_Fmap2DBack_cFffPfPf
-/* 801D0B98 88 79 12 2C */ lbz r3, 0x122c(r25)
-/* 801D0B9C 38 00 00 01 */ li r0, 1
-/* 801D0BA0 7C 00 D0 30 */ slw r0, r0, r26
-/* 801D0BA4 54 00 06 3E */ clrlwi r0, r0, 0x18
-/* 801D0BA8 7C 60 03 78 */ or r0, r3, r0
-/* 801D0BAC 98 19 12 2C */ stb r0, 0x122c(r25)
-/* 801D0BB0 57 60 06 3F */ clrlwi. r0, r27, 0x18
-/* 801D0BB4 40 82 00 18 */ bne lbl_801D0BCC
-/* 801D0BB8 3B 60 00 01 */ li r27, 1
-/* 801D0BBC 7F 23 CB 78 */ mr r3, r25
-/* 801D0BC0 48 00 1E 75 */ bl calcRenderingScale__18dMenu_Fmap2DBack_cFv
-/* 801D0BC4 7F 23 CB 78 */ mr r3, r25
-/* 801D0BC8 48 00 1D F1 */ bl calcRenderingPos__18dMenu_Fmap2DBack_cFv
-lbl_801D0BCC:
-/* 801D0BCC 3B 5A 00 01 */ addi r26, r26, 1
-/* 801D0BD0 2C 1A 00 08 */ cmpwi r26, 8
-/* 801D0BD4 3B FF 00 14 */ addi r31, r31, 0x14
-/* 801D0BD8 3B DE 00 04 */ addi r30, r30, 4
-/* 801D0BDC 41 80 FF 18 */ blt lbl_801D0AF4
-/* 801D0BE0 39 61 00 40 */ addi r11, r1, 0x40
-/* 801D0BE4 48 19 16 35 */ bl _restgpr_25
-/* 801D0BE8 80 01 00 44 */ lwz r0, 0x44(r1)
-/* 801D0BEC 7C 08 03 A6 */ mtlr r0
-/* 801D0BF0 38 21 00 40 */ addi r1, r1, 0x40
-/* 801D0BF4 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/calcAllMapScaleRate__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/calcAllMapScaleRate__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index eb78928dbf..0000000000
--- a/asm/d/menu/d_menu_fmap2D/calcAllMapScaleRate__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,31 +0,0 @@
-lbl_801D0BF8:
-/* 801D0BF8 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 801D0BFC 7C 08 02 A6 */ mflr r0
-/* 801D0C00 90 01 00 24 */ stw r0, 0x24(r1)
-/* 801D0C04 DB E1 00 10 */ stfd f31, 0x10(r1)
-/* 801D0C08 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */
-/* 801D0C0C 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 801D0C10 7C 7F 1B 78 */ mr r31, r3
-/* 801D0C14 C0 23 0F E8 */ lfs f1, 0xfe8(r3)
-/* 801D0C18 C0 03 0F E0 */ lfs f0, 0xfe0(r3)
-/* 801D0C1C EC 41 00 28 */ fsubs f2, f1, f0
-/* 801D0C20 C0 23 0F EC */ lfs f1, 0xfec(r3)
-/* 801D0C24 C0 03 0F E4 */ lfs f0, 0xfe4(r3)
-/* 801D0C28 EC 01 00 28 */ fsubs f0, f1, f0
-/* 801D0C2C FF E0 10 90 */ fmr f31, f2
-/* 801D0C30 FC 02 00 40 */ fcmpo cr0, f2, f0
-/* 801D0C34 40 80 00 08 */ bge lbl_801D0C3C
-/* 801D0C38 FF E0 00 90 */ fmr f31, f0
-lbl_801D0C3C:
-/* 801D0C3C 7F E3 FB 78 */ mr r3, r31
-/* 801D0C40 48 00 1A D9 */ bl getMapAreaSizeX__18dMenu_Fmap2DBack_cFv
-/* 801D0C44 EC 01 F8 24 */ fdivs f0, f1, f31
-/* 801D0C48 D0 1F 0F F0 */ stfs f0, 0xff0(r31)
-/* 801D0C4C C0 3F 0F F0 */ lfs f1, 0xff0(r31)
-/* 801D0C50 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */
-/* 801D0C54 CB E1 00 10 */ lfd f31, 0x10(r1)
-/* 801D0C58 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 801D0C5C 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 801D0C60 7C 08 03 A6 */ mtlr r0
-/* 801D0C64 38 21 00 20 */ addi r1, r1, 0x20
-/* 801D0C68 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/calcOffset__18dMenu_Fmap2DBack_cFUcPCcPfPf.s b/asm/d/menu/d_menu_fmap2D/calcOffset__18dMenu_Fmap2DBack_cFUcPCcPfPf.s
deleted file mode 100644
index b2ddc54ef4..0000000000
--- a/asm/d/menu/d_menu_fmap2D/calcOffset__18dMenu_Fmap2DBack_cFUcPCcPfPf.s
+++ /dev/null
@@ -1,62 +0,0 @@
-lbl_801D2CC8:
-/* 801D2CC8 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 801D2CCC 7C 08 02 A6 */ mflr r0
-/* 801D2CD0 90 01 00 34 */ stw r0, 0x34(r1)
-/* 801D2CD4 39 61 00 30 */ addi r11, r1, 0x30
-/* 801D2CD8 48 18 F4 ED */ bl _savegpr_23
-/* 801D2CDC 7C 77 1B 78 */ mr r23, r3
-/* 801D2CE0 7C 98 23 78 */ mr r24, r4
-/* 801D2CE4 7C B9 2B 78 */ mr r25, r5
-/* 801D2CE8 7C DA 33 78 */ mr r26, r6
-/* 801D2CEC 7C FB 3B 78 */ mr r27, r7
-/* 801D2CF0 80 63 0D 88 */ lwz r3, 0xd88(r3)
-/* 801D2CF4 28 03 00 00 */ cmplwi r3, 0
-/* 801D2CF8 41 82 00 80 */ beq lbl_801D2D78
-/* 801D2CFC 3B A3 00 04 */ addi r29, r3, 4
-/* 801D2D00 3B 80 00 00 */ li r28, 0
-/* 801D2D04 3B E0 00 00 */ li r31, 0
-/* 801D2D08 57 03 06 3E */ clrlwi r3, r24, 0x18
-/* 801D2D0C 3B C3 00 01 */ addi r30, r3, 1
-/* 801D2D10 48 00 00 5C */ b lbl_801D2D6C
-lbl_801D2D14:
-/* 801D2D14 7C 9D FA 14 */ add r4, r29, r31
-/* 801D2D18 88 04 00 09 */ lbz r0, 9(r4)
-/* 801D2D1C 7C 1E 00 00 */ cmpw r30, r0
-/* 801D2D20 40 82 00 44 */ bne lbl_801D2D64
-/* 801D2D24 7F 23 CB 78 */ mr r3, r25
-/* 801D2D28 48 19 5C 6D */ bl strcmp
-/* 801D2D2C 2C 03 00 00 */ cmpwi r3, 0
-/* 801D2D30 40 82 00 34 */ bne lbl_801D2D64
-/* 801D2D34 57 00 15 BA */ rlwinm r0, r24, 2, 0x16, 0x1d
-/* 801D2D38 7C 97 02 14 */ add r4, r23, r0
-/* 801D2D3C C0 24 10 04 */ lfs f1, 0x1004(r4)
-/* 801D2D40 7C 7D FA 14 */ add r3, r29, r31
-/* 801D2D44 C0 03 00 0C */ lfs f0, 0xc(r3)
-/* 801D2D48 EC 01 00 2A */ fadds f0, f1, f0
-/* 801D2D4C D0 1A 00 00 */ stfs f0, 0(r26)
-/* 801D2D50 C0 24 10 24 */ lfs f1, 0x1024(r4)
-/* 801D2D54 C0 03 00 10 */ lfs f0, 0x10(r3)
-/* 801D2D58 EC 01 00 2A */ fadds f0, f1, f0
-/* 801D2D5C D0 1B 00 00 */ stfs f0, 0(r27)
-/* 801D2D60 48 00 00 30 */ b lbl_801D2D90
-lbl_801D2D64:
-/* 801D2D64 3B 9C 00 01 */ addi r28, r28, 1
-/* 801D2D68 3B FF 00 14 */ addi r31, r31, 0x14
-lbl_801D2D6C:
-/* 801D2D6C 88 17 12 25 */ lbz r0, 0x1225(r23)
-/* 801D2D70 7C 1C 00 00 */ cmpw r28, r0
-/* 801D2D74 41 80 FF A0 */ blt lbl_801D2D14
-lbl_801D2D78:
-/* 801D2D78 57 00 15 BA */ rlwinm r0, r24, 2, 0x16, 0x1d
-/* 801D2D7C 7C 77 02 14 */ add r3, r23, r0
-/* 801D2D80 C0 03 10 04 */ lfs f0, 0x1004(r3)
-/* 801D2D84 D0 1A 00 00 */ stfs f0, 0(r26)
-/* 801D2D88 C0 03 10 24 */ lfs f0, 0x1024(r3)
-/* 801D2D8C D0 1B 00 00 */ stfs f0, 0(r27)
-lbl_801D2D90:
-/* 801D2D90 39 61 00 30 */ addi r11, r1, 0x30
-/* 801D2D94 48 18 F4 7D */ bl _restgpr_23
-/* 801D2D98 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 801D2D9C 7C 08 03 A6 */ mtlr r0
-/* 801D2DA0 38 21 00 30 */ addi r1, r1, 0x30
-/* 801D2DA4 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/calcRenderingPos__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/calcRenderingPos__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index cac1bf5d39..0000000000
--- a/asm/d/menu/d_menu_fmap2D/calcRenderingPos__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,32 +0,0 @@
-lbl_801D29B8:
-/* 801D29B8 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 801D29BC 7C 08 02 A6 */ mflr r0
-/* 801D29C0 90 01 00 24 */ stw r0, 0x24(r1)
-/* 801D29C4 DB E1 00 10 */ stfd f31, 0x10(r1)
-/* 801D29C8 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */
-/* 801D29CC 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 801D29D0 7C 7F 1B 78 */ mr r31, r3
-/* 801D29D4 4B FF FE FD */ bl getMapScissorAreaCenterPosY__18dMenu_Fmap2DBack_cFv
-/* 801D29D8 FF E0 08 90 */ fmr f31, f1
-/* 801D29DC 7F E3 FB 78 */ mr r3, r31
-/* 801D29E0 4B FF FE A1 */ bl getMapScissorAreaCenterPosX__18dMenu_Fmap2DBack_cFv
-/* 801D29E4 7F E3 FB 78 */ mr r3, r31
-/* 801D29E8 FC 40 F8 90 */ fmr f2, f31
-/* 801D29EC 38 9F 0F 8C */ addi r4, r31, 0xf8c
-/* 801D29F0 38 BF 0F 90 */ addi r5, r31, 0xf90
-/* 801D29F4 4B FF E5 89 */ bl calcAllMapPosWorld__18dMenu_Fmap2DBack_cFffPfPf
-/* 801D29F8 C0 3F 0F 8C */ lfs f1, 0xf8c(r31)
-/* 801D29FC C0 1F 0F C8 */ lfs f0, 0xfc8(r31)
-/* 801D2A00 EC 01 00 2A */ fadds f0, f1, f0
-/* 801D2A04 D0 1F 0F 8C */ stfs f0, 0xf8c(r31)
-/* 801D2A08 C0 3F 0F 90 */ lfs f1, 0xf90(r31)
-/* 801D2A0C C0 1F 0F CC */ lfs f0, 0xfcc(r31)
-/* 801D2A10 EC 01 00 2A */ fadds f0, f1, f0
-/* 801D2A14 D0 1F 0F 90 */ stfs f0, 0xf90(r31)
-/* 801D2A18 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */
-/* 801D2A1C CB E1 00 10 */ lfd f31, 0x10(r1)
-/* 801D2A20 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 801D2A24 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 801D2A28 7C 08 03 A6 */ mtlr r0
-/* 801D2A2C 38 21 00 20 */ addi r1, r1, 0x20
-/* 801D2A30 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/calcRenderingScale__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/calcRenderingScale__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index be1e36ef78..0000000000
--- a/asm/d/menu/d_menu_fmap2D/calcRenderingScale__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,39 +0,0 @@
-lbl_801D2A34:
-/* 801D2A34 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 801D2A38 7C 08 02 A6 */ mflr r0
-/* 801D2A3C 90 01 00 24 */ stw r0, 0x24(r1)
-/* 801D2A40 DB E1 00 10 */ stfd f31, 0x10(r1)
-/* 801D2A44 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */
-/* 801D2A48 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 801D2A4C 7C 7F 1B 78 */ mr r31, r3
-/* 801D2A50 4B FF FC C9 */ bl getMapAreaSizeX__18dMenu_Fmap2DBack_cFv
-/* 801D2A54 C0 5F 0F E8 */ lfs f2, 0xfe8(r31)
-/* 801D2A58 C0 1F 0F E0 */ lfs f0, 0xfe0(r31)
-/* 801D2A5C EC 02 00 28 */ fsubs f0, f2, f0
-/* 801D2A60 EF E0 08 24 */ fdivs f31, f0, f1
-/* 801D2A64 7F E3 FB 78 */ mr r3, r31
-/* 801D2A68 4B FF FC C1 */ bl getMapAreaSizeY__18dMenu_Fmap2DBack_cFv
-/* 801D2A6C C0 5F 0F EC */ lfs f2, 0xfec(r31)
-/* 801D2A70 C0 1F 0F E4 */ lfs f0, 0xfe4(r31)
-/* 801D2A74 EC 02 00 28 */ fsubs f0, f2, f0
-/* 801D2A78 EC 00 08 24 */ fdivs f0, f0, f1
-/* 801D2A7C FC 20 F8 90 */ fmr f1, f31
-/* 801D2A80 FC 1F 00 40 */ fcmpo cr0, f31, f0
-/* 801D2A84 40 80 00 08 */ bge lbl_801D2A8C
-/* 801D2A88 FC 20 00 90 */ fmr f1, f0
-lbl_801D2A8C:
-/* 801D2A8C C0 1F 0F 9C */ lfs f0, 0xf9c(r31)
-/* 801D2A90 EC 01 00 24 */ fdivs f0, f1, f0
-/* 801D2A94 D0 1F 0F 94 */ stfs f0, 0xf94(r31)
-/* 801D2A98 7F E3 FB 78 */ mr r3, r31
-/* 801D2A9C 4B FF FE FD */ bl getMapScissorAreaSizeRealY__18dMenu_Fmap2DBack_cFv
-/* 801D2AA0 C0 1F 0F 94 */ lfs f0, 0xf94(r31)
-/* 801D2AA4 EC 00 00 72 */ fmuls f0, f0, f1
-/* 801D2AA8 D0 1F 0F 98 */ stfs f0, 0xf98(r31)
-/* 801D2AAC E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */
-/* 801D2AB0 CB E1 00 10 */ lfd f31, 0x10(r1)
-/* 801D2AB4 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 801D2AB8 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 801D2ABC 7C 08 03 A6 */ mtlr r0
-/* 801D2AC0 38 21 00 20 */ addi r1, r1, 0x20
-/* 801D2AC4 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/deleteSpotPane__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/deleteSpotPane__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index 0e3024b143..0000000000
--- a/asm/d/menu/d_menu_fmap2D/deleteSpotPane__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,24 +0,0 @@
-lbl_801D10F4:
-/* 801D10F4 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 801D10F8 7C 08 02 A6 */ mflr r0
-/* 801D10FC 90 01 00 14 */ stw r0, 0x14(r1)
-/* 801D1100 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 801D1104 7C 7F 1B 78 */ mr r31, r3
-/* 801D1108 80 63 0C D4 */ lwz r3, 0xcd4(r3)
-/* 801D110C 28 03 00 00 */ cmplwi r3, 0
-/* 801D1110 41 82 00 24 */ beq lbl_801D1134
-/* 801D1114 41 82 00 18 */ beq lbl_801D112C
-/* 801D1118 38 80 00 01 */ li r4, 1
-/* 801D111C 81 83 00 00 */ lwz r12, 0(r3)
-/* 801D1120 81 8C 00 08 */ lwz r12, 8(r12)
-/* 801D1124 7D 89 03 A6 */ mtctr r12
-/* 801D1128 4E 80 04 21 */ bctrl
-lbl_801D112C:
-/* 801D112C 38 00 00 00 */ li r0, 0
-/* 801D1130 90 1F 0C D4 */ stw r0, 0xcd4(r31)
-lbl_801D1134:
-/* 801D1134 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 801D1138 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 801D113C 7C 08 03 A6 */ mtlr r0
-/* 801D1140 38 21 00 10 */ addi r1, r1, 0x10
-/* 801D1144 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/getMapAreaGlobalPosX__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/getMapAreaGlobalPosX__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index 1130949299..0000000000
--- a/asm/d/menu/d_menu_fmap2D/getMapAreaGlobalPosX__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,5 +0,0 @@
-lbl_801D2658:
-/* 801D2658 3C 60 80 43 */ lis r3, g_fmapHIO@ha /* 0x8042FC60@ha */
-/* 801D265C 38 63 FC 60 */ addi r3, r3, g_fmapHIO@l /* 0x8042FC60@l */
-/* 801D2660 C0 23 00 AC */ lfs f1, 0xac(r3)
-/* 801D2664 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/getMapAreaGlobalPosY__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/getMapAreaGlobalPosY__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index 6920fe89ec..0000000000
--- a/asm/d/menu/d_menu_fmap2D/getMapAreaGlobalPosY__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,5 +0,0 @@
-lbl_801D2668:
-/* 801D2668 3C 60 80 43 */ lis r3, g_fmapHIO@ha /* 0x8042FC60@ha */
-/* 801D266C 38 63 FC 60 */ addi r3, r3, g_fmapHIO@l /* 0x8042FC60@l */
-/* 801D2670 C0 23 00 B0 */ lfs f1, 0xb0(r3)
-/* 801D2674 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/getMapAreaSizeX__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/getMapAreaSizeX__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index feee9dcc3b..0000000000
--- a/asm/d/menu/d_menu_fmap2D/getMapAreaSizeX__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,5 +0,0 @@
-lbl_801D2718:
-/* 801D2718 3C 60 80 43 */ lis r3, g_fmapHIO@ha /* 0x8042FC60@ha */
-/* 801D271C 38 63 FC 60 */ addi r3, r3, g_fmapHIO@l /* 0x8042FC60@l */
-/* 801D2720 C0 23 00 B4 */ lfs f1, 0xb4(r3)
-/* 801D2724 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/getMapAreaSizeY__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/getMapAreaSizeY__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index eb60fb0352..0000000000
--- a/asm/d/menu/d_menu_fmap2D/getMapAreaSizeY__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,5 +0,0 @@
-lbl_801D2728:
-/* 801D2728 3C 60 80 43 */ lis r3, g_fmapHIO@ha /* 0x8042FC60@ha */
-/* 801D272C 38 63 FC 60 */ addi r3, r3, g_fmapHIO@l /* 0x8042FC60@l */
-/* 801D2730 C0 23 00 B4 */ lfs f1, 0xb4(r3)
-/* 801D2734 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/getMapScissorAreaLX__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/getMapScissorAreaLX__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index 2155a8efcf..0000000000
--- a/asm/d/menu/d_menu_fmap2D/getMapScissorAreaLX__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,23 +0,0 @@
-lbl_801D2738:
-/* 801D2738 94 21 FF B0 */ stwu r1, -0x50(r1)
-/* 801D273C 7C 08 02 A6 */ mflr r0
-/* 801D2740 90 01 00 54 */ stw r0, 0x54(r1)
-/* 801D2744 80 83 0C A4 */ lwz r4, 0xca4(r3)
-/* 801D2748 80 A4 00 04 */ lwz r5, 4(r4)
-/* 801D274C 38 61 00 08 */ addi r3, r1, 8
-/* 801D2750 38 C1 00 20 */ addi r6, r1, 0x20
-/* 801D2754 38 E0 00 00 */ li r7, 0
-/* 801D2758 39 00 00 00 */ li r8, 0
-/* 801D275C 39 20 00 00 */ li r9, 0
-/* 801D2760 48 08 25 31 */ bl getGlobalVtx__8CPaneMgrFP7J2DPanePA3_A4_fUcbs
-/* 801D2764 80 61 00 08 */ lwz r3, 8(r1)
-/* 801D2768 80 01 00 0C */ lwz r0, 0xc(r1)
-/* 801D276C 90 61 00 14 */ stw r3, 0x14(r1)
-/* 801D2770 90 01 00 18 */ stw r0, 0x18(r1)
-/* 801D2774 80 01 00 10 */ lwz r0, 0x10(r1)
-/* 801D2778 90 01 00 1C */ stw r0, 0x1c(r1)
-/* 801D277C C0 21 00 14 */ lfs f1, 0x14(r1)
-/* 801D2780 80 01 00 54 */ lwz r0, 0x54(r1)
-/* 801D2784 7C 08 03 A6 */ mtlr r0
-/* 801D2788 38 21 00 50 */ addi r1, r1, 0x50
-/* 801D278C 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/getMapScissorAreaLY__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/getMapScissorAreaLY__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index 09d461ea1d..0000000000
--- a/asm/d/menu/d_menu_fmap2D/getMapScissorAreaLY__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,23 +0,0 @@
-lbl_801D2790:
-/* 801D2790 94 21 FF B0 */ stwu r1, -0x50(r1)
-/* 801D2794 7C 08 02 A6 */ mflr r0
-/* 801D2798 90 01 00 54 */ stw r0, 0x54(r1)
-/* 801D279C 80 83 0C A4 */ lwz r4, 0xca4(r3)
-/* 801D27A0 80 A4 00 04 */ lwz r5, 4(r4)
-/* 801D27A4 38 61 00 08 */ addi r3, r1, 8
-/* 801D27A8 38 C1 00 20 */ addi r6, r1, 0x20
-/* 801D27AC 38 E0 00 00 */ li r7, 0
-/* 801D27B0 39 00 00 00 */ li r8, 0
-/* 801D27B4 39 20 00 00 */ li r9, 0
-/* 801D27B8 48 08 24 D9 */ bl getGlobalVtx__8CPaneMgrFP7J2DPanePA3_A4_fUcbs
-/* 801D27BC 80 61 00 08 */ lwz r3, 8(r1)
-/* 801D27C0 80 01 00 0C */ lwz r0, 0xc(r1)
-/* 801D27C4 90 61 00 14 */ stw r3, 0x14(r1)
-/* 801D27C8 90 01 00 18 */ stw r0, 0x18(r1)
-/* 801D27CC 80 01 00 10 */ lwz r0, 0x10(r1)
-/* 801D27D0 90 01 00 1C */ stw r0, 0x1c(r1)
-/* 801D27D4 C0 21 00 18 */ lfs f1, 0x18(r1)
-/* 801D27D8 80 01 00 54 */ lwz r0, 0x54(r1)
-/* 801D27DC 7C 08 03 A6 */ mtlr r0
-/* 801D27E0 38 21 00 50 */ addi r1, r1, 0x50
-/* 801D27E4 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/getMapScissorAreaSizeRealX__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/getMapScissorAreaSizeRealX__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index 04a2a02ed9..0000000000
--- a/asm/d/menu/d_menu_fmap2D/getMapScissorAreaSizeRealX__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,9 +0,0 @@
-lbl_801D2860:
-/* 801D2860 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 801D2864 7C 08 02 A6 */ mflr r0
-/* 801D2868 90 01 00 14 */ stw r0, 0x14(r1)
-/* 801D286C 4B FF FF 7D */ bl getMapScissorAreaSizeX__18dMenu_Fmap2DBack_cFv
-/* 801D2870 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 801D2874 7C 08 03 A6 */ mtlr r0
-/* 801D2878 38 21 00 10 */ addi r1, r1, 0x10
-/* 801D287C 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/getMapScissorAreaSizeRealY__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/getMapScissorAreaSizeRealY__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index 0b7e9a863c..0000000000
--- a/asm/d/menu/d_menu_fmap2D/getMapScissorAreaSizeRealY__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,9 +0,0 @@
-lbl_801D2998:
-/* 801D2998 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 801D299C 7C 08 02 A6 */ mflr r0
-/* 801D29A0 90 01 00 14 */ stw r0, 0x14(r1)
-/* 801D29A4 4B FF FF 7D */ bl getMapScissorAreaSizeY__18dMenu_Fmap2DBack_cFv
-/* 801D29A8 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 801D29AC 7C 08 03 A6 */ mtlr r0
-/* 801D29B0 38 21 00 10 */ addi r1, r1, 0x10
-/* 801D29B4 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/getMapScissorAreaSizeX__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/getMapScissorAreaSizeX__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index 2b38957447..0000000000
--- a/asm/d/menu/d_menu_fmap2D/getMapScissorAreaSizeX__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,33 +0,0 @@
-lbl_801D27E8:
-/* 801D27E8 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 801D27EC 7C 08 02 A6 */ mflr r0
-/* 801D27F0 90 01 00 24 */ stw r0, 0x24(r1)
-/* 801D27F4 DB E1 00 10 */ stfd f31, 0x10(r1)
-/* 801D27F8 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */
-/* 801D27FC 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 801D2800 7C 7F 1B 78 */ mr r31, r3
-/* 801D2804 80 63 0C A4 */ lwz r3, 0xca4(r3)
-/* 801D2808 80 63 00 04 */ lwz r3, 4(r3)
-/* 801D280C C3 E3 00 CC */ lfs f31, 0xcc(r3)
-/* 801D2810 48 12 52 ED */ bl getParentPane__7J2DPaneFv
-/* 801D2814 48 00 00 10 */ b lbl_801D2824
-lbl_801D2818:
-/* 801D2818 C0 03 00 CC */ lfs f0, 0xcc(r3)
-/* 801D281C EF FF 00 32 */ fmuls f31, f31, f0
-/* 801D2820 48 12 52 DD */ bl getParentPane__7J2DPaneFv
-lbl_801D2824:
-/* 801D2824 28 03 00 00 */ cmplwi r3, 0
-/* 801D2828 40 82 FF F0 */ bne lbl_801D2818
-/* 801D282C 80 7F 0C A4 */ lwz r3, 0xca4(r31)
-/* 801D2830 80 63 00 04 */ lwz r3, 4(r3)
-/* 801D2834 C0 23 00 28 */ lfs f1, 0x28(r3)
-/* 801D2838 C0 03 00 20 */ lfs f0, 0x20(r3)
-/* 801D283C EC 01 00 28 */ fsubs f0, f1, f0
-/* 801D2840 EC 3F 00 32 */ fmuls f1, f31, f0
-/* 801D2844 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */
-/* 801D2848 CB E1 00 10 */ lfd f31, 0x10(r1)
-/* 801D284C 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 801D2850 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 801D2854 7C 08 03 A6 */ mtlr r0
-/* 801D2858 38 21 00 20 */ addi r1, r1, 0x20
-/* 801D285C 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/getMapScissorAreaSizeY__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/getMapScissorAreaSizeY__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index 1d6ab9785a..0000000000
--- a/asm/d/menu/d_menu_fmap2D/getMapScissorAreaSizeY__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,33 +0,0 @@
-lbl_801D2920:
-/* 801D2920 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 801D2924 7C 08 02 A6 */ mflr r0
-/* 801D2928 90 01 00 24 */ stw r0, 0x24(r1)
-/* 801D292C DB E1 00 10 */ stfd f31, 0x10(r1)
-/* 801D2930 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */
-/* 801D2934 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 801D2938 7C 7F 1B 78 */ mr r31, r3
-/* 801D293C 80 63 0C A4 */ lwz r3, 0xca4(r3)
-/* 801D2940 80 63 00 04 */ lwz r3, 4(r3)
-/* 801D2944 C3 E3 00 D0 */ lfs f31, 0xd0(r3)
-/* 801D2948 48 12 51 B5 */ bl getParentPane__7J2DPaneFv
-/* 801D294C 48 00 00 10 */ b lbl_801D295C
-lbl_801D2950:
-/* 801D2950 C0 03 00 D0 */ lfs f0, 0xd0(r3)
-/* 801D2954 EF FF 00 32 */ fmuls f31, f31, f0
-/* 801D2958 48 12 51 A5 */ bl getParentPane__7J2DPaneFv
-lbl_801D295C:
-/* 801D295C 28 03 00 00 */ cmplwi r3, 0
-/* 801D2960 40 82 FF F0 */ bne lbl_801D2950
-/* 801D2964 80 7F 0C A4 */ lwz r3, 0xca4(r31)
-/* 801D2968 80 63 00 04 */ lwz r3, 4(r3)
-/* 801D296C C0 23 00 2C */ lfs f1, 0x2c(r3)
-/* 801D2970 C0 03 00 24 */ lfs f0, 0x24(r3)
-/* 801D2974 EC 01 00 28 */ fsubs f0, f1, f0
-/* 801D2978 EC 3F 00 32 */ fmuls f1, f31, f0
-/* 801D297C E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */
-/* 801D2980 CB E1 00 10 */ lfd f31, 0x10(r1)
-/* 801D2984 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 801D2988 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 801D298C 7C 08 03 A6 */ mtlr r0
-/* 801D2990 38 21 00 20 */ addi r1, r1, 0x20
-/* 801D2994 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/getPathScale__18dMenu_Fmap2DBack_cFf.s b/asm/d/menu/d_menu_fmap2D/getPathScale__18dMenu_Fmap2DBack_cFf.s
deleted file mode 100644
index a7d34a213f..0000000000
--- a/asm/d/menu/d_menu_fmap2D/getPathScale__18dMenu_Fmap2DBack_cFf.s
+++ /dev/null
@@ -1,39 +0,0 @@
-lbl_801D2AC8:
-/* 801D2AC8 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 801D2ACC 7C 08 02 A6 */ mflr r0
-/* 801D2AD0 90 01 00 34 */ stw r0, 0x34(r1)
-/* 801D2AD4 DB E1 00 20 */ stfd f31, 0x20(r1)
-/* 801D2AD8 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */
-/* 801D2ADC DB C1 00 10 */ stfd f30, 0x10(r1)
-/* 801D2AE0 F3 C1 00 18 */ psq_st f30, 24(r1), 0, 0 /* qr0 */
-/* 801D2AE4 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 801D2AE8 7C 7F 1B 78 */ mr r31, r3
-/* 801D2AEC FF C0 08 90 */ fmr f30, f1
-/* 801D2AF0 4B FF FC 29 */ bl getMapAreaSizeX__18dMenu_Fmap2DBack_cFv
-/* 801D2AF4 C0 5F 0F E8 */ lfs f2, 0xfe8(r31)
-/* 801D2AF8 C0 1F 0F E0 */ lfs f0, 0xfe0(r31)
-/* 801D2AFC EC 02 00 28 */ fsubs f0, f2, f0
-/* 801D2B00 EF E0 08 24 */ fdivs f31, f0, f1
-/* 801D2B04 7F E3 FB 78 */ mr r3, r31
-/* 801D2B08 4B FF FC 21 */ bl getMapAreaSizeY__18dMenu_Fmap2DBack_cFv
-/* 801D2B0C C0 5F 0F EC */ lfs f2, 0xfec(r31)
-/* 801D2B10 C0 1F 0F E4 */ lfs f0, 0xfe4(r31)
-/* 801D2B14 EC 02 00 28 */ fsubs f0, f2, f0
-/* 801D2B18 EC 00 08 24 */ fdivs f0, f0, f1
-/* 801D2B1C FC 1F 00 40 */ fcmpo cr0, f31, f0
-/* 801D2B20 40 80 00 08 */ bge lbl_801D2B28
-/* 801D2B24 FF E0 00 90 */ fmr f31, f0
-lbl_801D2B28:
-/* 801D2B28 7F E3 FB 78 */ mr r3, r31
-/* 801D2B2C 4B FF FE 6D */ bl getMapScissorAreaSizeRealY__18dMenu_Fmap2DBack_cFv
-/* 801D2B30 EC 1F 00 72 */ fmuls f0, f31, f1
-/* 801D2B34 EC 20 F0 24 */ fdivs f1, f0, f30
-/* 801D2B38 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */
-/* 801D2B3C CB E1 00 20 */ lfd f31, 0x20(r1)
-/* 801D2B40 E3 C1 00 18 */ psq_l f30, 24(r1), 0, 0 /* qr0 */
-/* 801D2B44 CB C1 00 10 */ lfd f30, 0x10(r1)
-/* 801D2B48 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 801D2B4C 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 801D2B50 7C 08 03 A6 */ mtlr r0
-/* 801D2B54 38 21 00 30 */ addi r1, r1, 0x30
-/* 801D2B58 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/getRegionMapZoomRate__18dMenu_Fmap2DBack_cFi.s b/asm/d/menu/d_menu_fmap2D/getRegionMapZoomRate__18dMenu_Fmap2DBack_cFi.s
deleted file mode 100644
index 43453246ea..0000000000
--- a/asm/d/menu/d_menu_fmap2D/getRegionMapZoomRate__18dMenu_Fmap2DBack_cFi.s
+++ /dev/null
@@ -1,63 +0,0 @@
-lbl_801D2B64:
-/* 801D2B64 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 801D2B68 7C 08 02 A6 */ mflr r0
-/* 801D2B6C 90 01 00 24 */ stw r0, 0x24(r1)
-/* 801D2B70 DB E1 00 10 */ stfd f31, 0x10(r1)
-/* 801D2B74 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */
-/* 801D2B78 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 801D2B7C 93 C1 00 08 */ stw r30, 8(r1)
-/* 801D2B80 7C 7E 1B 78 */ mr r30, r3
-/* 801D2B84 7C 9F 23 78 */ mr r31, r4
-/* 801D2B88 3C 80 80 43 */ lis r4, g_fmapHIO@ha /* 0x8042FC60@ha */
-/* 801D2B8C 38 84 FC 60 */ addi r4, r4, g_fmapHIO@l /* 0x8042FC60@l */
-/* 801D2B90 88 04 03 08 */ lbz r0, 0x308(r4)
-/* 801D2B94 28 00 00 00 */ cmplwi r0, 0
-/* 801D2B98 40 82 00 30 */ bne lbl_801D2BC8
-/* 801D2B9C 4B FF FB 7D */ bl getMapAreaSizeX__18dMenu_Fmap2DBack_cFv
-/* 801D2BA0 57 FF 10 3A */ slwi r31, r31, 2
-/* 801D2BA4 7C 7E FA 14 */ add r3, r30, r31
-/* 801D2BA8 C0 03 0E CC */ lfs f0, 0xecc(r3)
-/* 801D2BAC EF E1 00 24 */ fdivs f31, f1, f0
-/* 801D2BB0 7F C3 F3 78 */ mr r3, r30
-/* 801D2BB4 4B FF FB 75 */ bl getMapAreaSizeY__18dMenu_Fmap2DBack_cFv
-/* 801D2BB8 7C 7E FA 14 */ add r3, r30, r31
-/* 801D2BBC C0 03 0E EC */ lfs f0, 0xeec(r3)
-/* 801D2BC0 EC 21 00 24 */ fdivs f1, f1, f0
-/* 801D2BC4 48 00 00 48 */ b lbl_801D2C0C
-lbl_801D2BC8:
-/* 801D2BC8 4B FF FB 51 */ bl getMapAreaSizeX__18dMenu_Fmap2DBack_cFv
-/* 801D2BCC 88 1E 12 27 */ lbz r0, 0x1227(r30)
-/* 801D2BD0 54 00 10 3A */ slwi r0, r0, 2
-/* 801D2BD4 7C 7E 02 14 */ add r3, r30, r0
-/* 801D2BD8 C0 43 0E 4C */ lfs f2, 0xe4c(r3)
-/* 801D2BDC C0 03 0E 0C */ lfs f0, 0xe0c(r3)
-/* 801D2BE0 EC 02 00 28 */ fsubs f0, f2, f0
-/* 801D2BE4 EF E1 00 24 */ fdivs f31, f1, f0
-/* 801D2BE8 7F C3 F3 78 */ mr r3, r30
-/* 801D2BEC 4B FF FB 3D */ bl getMapAreaSizeY__18dMenu_Fmap2DBack_cFv
-/* 801D2BF0 88 1E 12 27 */ lbz r0, 0x1227(r30)
-/* 801D2BF4 54 00 10 3A */ slwi r0, r0, 2
-/* 801D2BF8 7C 7E 02 14 */ add r3, r30, r0
-/* 801D2BFC C0 43 0E 6C */ lfs f2, 0xe6c(r3)
-/* 801D2C00 C0 03 0E 2C */ lfs f0, 0xe2c(r3)
-/* 801D2C04 EC 02 00 28 */ fsubs f0, f2, f0
-/* 801D2C08 EC 21 00 24 */ fdivs f1, f1, f0
-lbl_801D2C0C:
-/* 801D2C0C FC 1F 08 40 */ fcmpo cr0, f31, f1
-/* 801D2C10 40 80 00 14 */ bge lbl_801D2C24
-/* 801D2C14 38 00 00 00 */ li r0, 0
-/* 801D2C18 98 1E 12 2E */ stb r0, 0x122e(r30)
-/* 801D2C1C FC 20 F8 90 */ fmr f1, f31
-/* 801D2C20 48 00 00 0C */ b lbl_801D2C2C
-lbl_801D2C24:
-/* 801D2C24 38 00 00 01 */ li r0, 1
-/* 801D2C28 98 1E 12 2E */ stb r0, 0x122e(r30)
-lbl_801D2C2C:
-/* 801D2C2C E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */
-/* 801D2C30 CB E1 00 10 */ lfd f31, 0x10(r1)
-/* 801D2C34 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 801D2C38 83 C1 00 08 */ lwz r30, 8(r1)
-/* 801D2C3C 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 801D2C40 7C 08 03 A6 */ mtlr r0
-/* 801D2C44 38 21 00 20 */ addi r1, r1, 0x20
-/* 801D2C48 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/getSpotMapZoomRate__18dMenu_Fmap2DBack_cFv.s b/asm/d/menu/d_menu_fmap2D/getSpotMapZoomRate__18dMenu_Fmap2DBack_cFv.s
deleted file mode 100644
index 00ad2adaeb..0000000000
--- a/asm/d/menu/d_menu_fmap2D/getSpotMapZoomRate__18dMenu_Fmap2DBack_cFv.s
+++ /dev/null
@@ -1,17 +0,0 @@
-lbl_801D2C4C:
-/* 801D2C4C C0 23 0F E8 */ lfs f1, 0xfe8(r3)
-/* 801D2C50 C0 03 0F E0 */ lfs f0, 0xfe0(r3)
-/* 801D2C54 EC 41 00 28 */ fsubs f2, f1, f0
-/* 801D2C58 C0 23 0F EC */ lfs f1, 0xfec(r3)
-/* 801D2C5C C0 03 0F E4 */ lfs f0, 0xfe4(r3)
-/* 801D2C60 EC 01 00 28 */ fsubs f0, f1, f0
-/* 801D2C64 FC 20 10 90 */ fmr f1, f2
-/* 801D2C68 FC 02 00 40 */ fcmpo cr0, f2, f0
-/* 801D2C6C 40 80 00 08 */ bge lbl_801D2C74
-/* 801D2C70 FC 20 00 90 */ fmr f1, f0
-lbl_801D2C74:
-/* 801D2C74 3C 60 80 43 */ lis r3, g_fmapHIO@ha /* 0x8042FC60@ha */
-/* 801D2C78 38 63 FC 60 */ addi r3, r3, g_fmapHIO@l /* 0x8042FC60@l */
-/* 801D2C7C C0 03 00 9C */ lfs f0, 0x9c(r3)
-/* 801D2C80 EC 21 00 24 */ fdivs f1, f1, f0
-/* 801D2C84 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/getStageOriginPath__18dMenu_Fmap2DBack_cFUcPfPf.s b/asm/d/menu/d_menu_fmap2D/getStageOriginPath__18dMenu_Fmap2DBack_cFUcPfPf.s
deleted file mode 100644
index ad962253de..0000000000
--- a/asm/d/menu/d_menu_fmap2D/getStageOriginPath__18dMenu_Fmap2DBack_cFUcPfPf.s
+++ /dev/null
@@ -1,19 +0,0 @@
-lbl_801D2C88:
-/* 801D2C88 38 E0 00 00 */ li r7, 0
-/* 801D2C8C 54 84 06 3E */ clrlwi r4, r4, 0x18
-/* 801D2C90 38 00 00 14 */ li r0, 0x14
-/* 801D2C94 7C 09 03 A6 */ mtctr r0
-lbl_801D2C98:
-/* 801D2C98 7C 07 20 00 */ cmpw r7, r4
-/* 801D2C9C 40 82 00 20 */ bne lbl_801D2CBC
-/* 801D2CA0 54 E0 10 3A */ slwi r0, r7, 2
-/* 801D2CA4 7C 63 02 14 */ add r3, r3, r0
-/* 801D2CA8 C0 03 10 E4 */ lfs f0, 0x10e4(r3)
-/* 801D2CAC D0 05 00 00 */ stfs f0, 0(r5)
-/* 801D2CB0 C0 03 11 34 */ lfs f0, 0x1134(r3)
-/* 801D2CB4 D0 06 00 00 */ stfs f0, 0(r6)
-/* 801D2CB8 4E 80 00 20 */ blr
-lbl_801D2CBC:
-/* 801D2CBC 38 E7 00 01 */ addi r7, r7, 1
-/* 801D2CC0 42 00 FF D8 */ bdnz lbl_801D2C98
-/* 801D2CC4 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/isShowRegion__18dMenu_Fmap2DBack_cFi.s b/asm/d/menu/d_menu_fmap2D/isShowRegion__18dMenu_Fmap2DBack_cFi.s
deleted file mode 100644
index 471ff0315f..0000000000
--- a/asm/d/menu/d_menu_fmap2D/isShowRegion__18dMenu_Fmap2DBack_cFi.s
+++ /dev/null
@@ -1,94 +0,0 @@
-lbl_801D2508:
-/* 801D2508 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 801D250C 7C 08 02 A6 */ mflr r0
-/* 801D2510 90 01 00 14 */ stw r0, 0x14(r1)
-/* 801D2514 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 801D2518 7C 9F 23 78 */ mr r31, r4
-/* 801D251C 2C 1F 00 07 */ cmpwi r31, 7
-/* 801D2520 40 82 00 0C */ bne lbl_801D252C
-/* 801D2524 38 60 00 01 */ li r3, 1
-/* 801D2528 48 00 01 1C */ b lbl_801D2644
-lbl_801D252C:
-/* 801D252C 3C 80 80 43 */ lis r4, g_fmapHIO@ha /* 0x8042FC60@ha */
-/* 801D2530 38 84 FC 60 */ addi r4, r4, g_fmapHIO@l /* 0x8042FC60@l */
-/* 801D2534 88 04 02 FC */ lbz r0, 0x2fc(r4)
-/* 801D2538 28 00 00 00 */ cmplwi r0, 0
-/* 801D253C 41 82 00 24 */ beq lbl_801D2560
-/* 801D2540 88 63 12 2C */ lbz r3, 0x122c(r3)
-/* 801D2544 38 00 00 01 */ li r0, 1
-/* 801D2548 7C 00 F8 30 */ slw r0, r0, r31
-/* 801D254C 54 00 06 3E */ clrlwi r0, r0, 0x18
-/* 801D2550 7C 60 00 39 */ and. r0, r3, r0
-/* 801D2554 41 82 00 EC */ beq lbl_801D2640
-/* 801D2558 38 60 00 01 */ li r3, 1
-/* 801D255C 48 00 00 E8 */ b lbl_801D2644
-lbl_801D2560:
-/* 801D2560 7C 84 FA 14 */ add r4, r4, r31
-/* 801D2564 88 04 03 0B */ lbz r0, 0x30b(r4)
-/* 801D2568 28 00 00 00 */ cmplwi r0, 0
-/* 801D256C 41 82 00 24 */ beq lbl_801D2590
-/* 801D2570 88 83 12 2C */ lbz r4, 0x122c(r3)
-/* 801D2574 38 00 00 01 */ li r0, 1
-/* 801D2578 7C 00 F8 30 */ slw r0, r0, r31
-/* 801D257C 54 00 06 3E */ clrlwi r0, r0, 0x18
-/* 801D2580 7C 80 00 39 */ and. r0, r4, r0
-/* 801D2584 41 82 00 0C */ beq lbl_801D2590
-/* 801D2588 38 60 00 01 */ li r3, 1
-/* 801D258C 48 00 00 B8 */ b lbl_801D2644
-lbl_801D2590:
-/* 801D2590 2C 1F 00 06 */ cmpwi r31, 6
-/* 801D2594 40 82 00 54 */ bne lbl_801D25E8
-/* 801D2598 88 03 12 2C */ lbz r0, 0x122c(r3)
-/* 801D259C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
-/* 801D25A0 41 82 00 28 */ beq lbl_801D25C8
-/* 801D25A4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
-/* 801D25A8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
-/* 801D25AC 38 63 00 64 */ addi r3, r3, 0x64
-/* 801D25B0 38 80 00 04 */ li r4, 4
-/* 801D25B4 4B E6 08 C5 */ bl isRegionBit__33dSv_player_field_last_stay_info_cCFi
-/* 801D25B8 2C 03 00 00 */ cmpwi r3, 0
-/* 801D25BC 41 82 00 0C */ beq lbl_801D25C8
-/* 801D25C0 38 60 00 01 */ li r3, 1
-/* 801D25C4 48 00 00 80 */ b lbl_801D2644
-lbl_801D25C8:
-/* 801D25C8 4B E5 C8 99 */ bl dComIfGp_getNowLevel__Fv
-/* 801D25CC 54 60 06 3E */ clrlwi r0, r3, 0x18
-/* 801D25D0 28 00 00 04 */ cmplwi r0, 4
-/* 801D25D4 40 82 00 0C */ bne lbl_801D25E0
-/* 801D25D8 38 60 00 01 */ li r3, 1
-/* 801D25DC 48 00 00 68 */ b lbl_801D2644
-lbl_801D25E0:
-/* 801D25E0 38 60 00 00 */ li r3, 0
-/* 801D25E4 48 00 00 60 */ b lbl_801D2644
-lbl_801D25E8:
-/* 801D25E8 88 63 12 2C */ lbz r3, 0x122c(r3)
-/* 801D25EC 38 00 00 01 */ li r0, 1
-/* 801D25F0 7C 00 F8 30 */ slw r0, r0, r31
-/* 801D25F4 54 00 06 3E */ clrlwi r0, r0, 0x18
-/* 801D25F8 7C 60 00 39 */ and. r0, r3, r0
-/* 801D25FC 41 82 00 28 */ beq lbl_801D2624
-/* 801D2600 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
-/* 801D2604 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
-/* 801D2608 38 63 00 64 */ addi r3, r3, 0x64
-/* 801D260C 38 9F 00 01 */ addi r4, r31, 1
-/* 801D2610 4B E6 08 69 */ bl isRegionBit__33dSv_player_field_last_stay_info_cCFi
-/* 801D2614 2C 03 00 00 */ cmpwi r3, 0
-/* 801D2618 41 82 00 0C */ beq lbl_801D2624
-/* 801D261C 38 60 00 01 */ li r3, 1
-/* 801D2620 48 00 00 24 */ b lbl_801D2644
-lbl_801D2624:
-/* 801D2624 4B E5 C8 3D */ bl dComIfGp_getNowLevel__Fv
-/* 801D2628 54 63 06 3E */ clrlwi r3, r3, 0x18
-/* 801D262C 38 1F 00 01 */ addi r0, r31, 1
-/* 801D2630 7C 00 18 00 */ cmpw r0, r3
-/* 801D2634 40 82 00 0C */ bne lbl_801D2640
-/* 801D2638 38 60 00 01 */ li r3, 1
-/* 801D263C 48 00 00 08 */ b lbl_801D2644
-lbl_801D2640:
-/* 801D2640 38 60 00 00 */ li r3, 0
-lbl_801D2644:
-/* 801D2644 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 801D2648 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 801D264C 7C 08 03 A6 */ mtlr r0
-/* 801D2650 38 21 00 10 */ addi r1, r1, 0x10
-/* 801D2654 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/mapBlink__18dMenu_Fmap2DBack_cFPs.s b/asm/d/menu/d_menu_fmap2D/mapBlink__18dMenu_Fmap2DBack_cFPs.s
deleted file mode 100644
index c30019e2c2..0000000000
--- a/asm/d/menu/d_menu_fmap2D/mapBlink__18dMenu_Fmap2DBack_cFPs.s
+++ /dev/null
@@ -1,10 +0,0 @@
-lbl_801D1D50:
-/* 801D1D50 A8 64 00 00 */ lha r3, 0(r4)
-/* 801D1D54 38 03 00 01 */ addi r0, r3, 1
-/* 801D1D58 B0 04 00 00 */ sth r0, 0(r4)
-/* 801D1D5C A8 64 00 00 */ lha r3, 0(r4)
-/* 801D1D60 2C 03 00 1E */ cmpwi r3, 0x1e
-/* 801D1D64 4D 80 00 20 */ bltlr
-/* 801D1D68 38 03 FF E2 */ addi r0, r3, -30
-/* 801D1D6C B0 04 00 00 */ sth r0, 0(r4)
-/* 801D1D70 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/setIcon2DPos__18dMenu_Fmap2DBack_cFUcPCcfffUcb.s b/asm/d/menu/d_menu_fmap2D/setIcon2DPos__18dMenu_Fmap2DBack_cFUcPCcfffUcb.s
deleted file mode 100644
index 94a657d6e7..0000000000
--- a/asm/d/menu/d_menu_fmap2D/setIcon2DPos__18dMenu_Fmap2DBack_cFUcPCcfffUcb.s
+++ /dev/null
@@ -1,15 +0,0 @@
-lbl_801D241C:
-/* 801D241C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 801D2420 7C 08 02 A6 */ mflr r0
-/* 801D2424 90 01 00 14 */ stw r0, 0x14(r1)
-/* 801D2428 7C A9 2B 78 */ mr r9, r5
-/* 801D242C 7C C0 33 78 */ mr r0, r6
-/* 801D2430 7C E8 3B 78 */ mr r8, r7
-/* 801D2434 88 A3 12 27 */ lbz r5, 0x1227(r3)
-/* 801D2438 7D 26 4B 78 */ mr r6, r9
-/* 801D243C 7C 07 03 78 */ mr r7, r0
-/* 801D2440 48 00 00 15 */ bl setIcon2DPos__18dMenu_Fmap2DBack_cFUcUcPCcfffUcb
-/* 801D2444 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 801D2448 7C 08 03 A6 */ mtlr r0
-/* 801D244C 38 21 00 10 */ addi r1, r1, 0x10
-/* 801D2450 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/setIcon2DPos__18dMenu_Fmap2DBack_cFUcUcPCcfffUcb.s b/asm/d/menu/d_menu_fmap2D/setIcon2DPos__18dMenu_Fmap2DBack_cFUcUcPCcfffUcb.s
deleted file mode 100644
index aedd2438cd..0000000000
--- a/asm/d/menu/d_menu_fmap2D/setIcon2DPos__18dMenu_Fmap2DBack_cFUcUcPCcfffUcb.s
+++ /dev/null
@@ -1,46 +0,0 @@
-lbl_801D2454:
-/* 801D2454 94 21 FF B0 */ stwu r1, -0x50(r1)
-/* 801D2458 7C 08 02 A6 */ mflr r0
-/* 801D245C 90 01 00 54 */ stw r0, 0x54(r1)
-/* 801D2460 DB E1 00 40 */ stfd f31, 0x40(r1)
-/* 801D2464 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */
-/* 801D2468 DB C1 00 30 */ stfd f30, 0x30(r1)
-/* 801D246C F3 C1 00 38 */ psq_st f30, 56(r1), 0, 0 /* qr0 */
-/* 801D2470 DB A1 00 20 */ stfd f29, 0x20(r1)
-/* 801D2474 F3 A1 00 28 */ psq_st f29, 40(r1), 0, 0 /* qr0 */
-/* 801D2478 39 61 00 20 */ addi r11, r1, 0x20
-/* 801D247C 48 18 FD 5D */ bl _savegpr_28
-/* 801D2480 7C 7C 1B 78 */ mr r28, r3
-/* 801D2484 7C 9D 23 78 */ mr r29, r4
-/* 801D2488 FF A0 08 90 */ fmr f29, f1
-/* 801D248C FF C0 10 90 */ fmr f30, f2
-/* 801D2490 FF E0 18 90 */ fmr f31, f3
-/* 801D2494 7C FE 3B 78 */ mr r30, r7
-/* 801D2498 7D 1F 43 78 */ mr r31, r8
-/* 801D249C 7C A4 2B 78 */ mr r4, r5
-/* 801D24A0 7C C5 33 78 */ mr r5, r6
-/* 801D24A4 38 C1 00 0C */ addi r6, r1, 0xc
-/* 801D24A8 38 E1 00 08 */ addi r7, r1, 8
-/* 801D24AC 48 00 08 1D */ bl calcOffset__18dMenu_Fmap2DBack_cFUcPCcPfPf
-/* 801D24B0 7F 83 E3 78 */ mr r3, r28
-/* 801D24B4 7F A4 EB 78 */ mr r4, r29
-/* 801D24B8 C0 01 00 0C */ lfs f0, 0xc(r1)
-/* 801D24BC EC 3D 00 2A */ fadds f1, f29, f0
-/* 801D24C0 C0 01 00 08 */ lfs f0, 8(r1)
-/* 801D24C4 EC 5E 00 2A */ fadds f2, f30, f0
-/* 801D24C8 FC 60 F8 90 */ fmr f3, f31
-/* 801D24CC 7F C5 F3 78 */ mr r5, r30
-/* 801D24D0 7F E6 FB 78 */ mr r6, r31
-/* 801D24D4 4B FF FC 2D */ bl setIcon2DPos__18dMenu_Fmap2DBack_cFUcfffUcb
-/* 801D24D8 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */
-/* 801D24DC CB E1 00 40 */ lfd f31, 0x40(r1)
-/* 801D24E0 E3 C1 00 38 */ psq_l f30, 56(r1), 0, 0 /* qr0 */
-/* 801D24E4 CB C1 00 30 */ lfd f30, 0x30(r1)
-/* 801D24E8 E3 A1 00 28 */ psq_l f29, 40(r1), 0, 0 /* qr0 */
-/* 801D24EC CB A1 00 20 */ lfd f29, 0x20(r1)
-/* 801D24F0 39 61 00 20 */ addi r11, r1, 0x20
-/* 801D24F4 48 18 FD 31 */ bl _restgpr_28
-/* 801D24F8 80 01 00 54 */ lwz r0, 0x54(r1)
-/* 801D24FC 7C 08 03 A6 */ mtlr r0
-/* 801D2500 38 21 00 50 */ addi r1, r1, 0x50
-/* 801D2504 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/setSpotCursor__18dMenu_Fmap2DBack_cFUc.s b/asm/d/menu/d_menu_fmap2D/setSpotCursor__18dMenu_Fmap2DBack_cFUc.s
deleted file mode 100644
index 2cc0987b2f..0000000000
--- a/asm/d/menu/d_menu_fmap2D/setSpotCursor__18dMenu_Fmap2DBack_cFUc.s
+++ /dev/null
@@ -1,21 +0,0 @@
-lbl_801D1D74:
-/* 801D1D74 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 801D1D78 7C 08 02 A6 */ mflr r0
-/* 801D1D7C 90 01 00 24 */ stw r0, 0x24(r1)
-/* 801D1D80 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 801D1D84 7C 7F 1B 78 */ mr r31, r3
-/* 801D1D88 98 83 12 29 */ stb r4, 0x1229(r3)
-/* 801D1D8C 38 A1 00 0C */ addi r5, r1, 0xc
-/* 801D1D90 38 C1 00 08 */ addi r6, r1, 8
-/* 801D1D94 48 00 0E F5 */ bl getStageOriginPath__18dMenu_Fmap2DBack_cFUcPfPf
-/* 801D1D98 7F E3 FB 78 */ mr r3, r31
-/* 801D1D9C C0 21 00 0C */ lfs f1, 0xc(r1)
-/* 801D1DA0 C0 41 00 08 */ lfs f2, 8(r1)
-/* 801D1DA4 38 9F 11 84 */ addi r4, r31, 0x1184
-/* 801D1DA8 38 BF 11 88 */ addi r5, r31, 0x1188
-/* 801D1DAC 4B FF EF 6D */ bl calcAllMapPos2D__18dMenu_Fmap2DBack_cFffPfPf
-/* 801D1DB0 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 801D1DB4 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 801D1DB8 7C 08 03 A6 */ mtlr r0
-/* 801D1DBC 38 21 00 20 */ addi r1, r1, 0x20
-/* 801D1DC0 4E 80 00 20 */ blr
diff --git a/asm/d/menu/d_menu_fmap2D/setSpotPane__18dMenu_Fmap2DBack_cFP7ResTIMG.s b/asm/d/menu/d_menu_fmap2D/setSpotPane__18dMenu_Fmap2DBack_cFP7ResTIMG.s
deleted file mode 100644
index 73bbe7cb2c..0000000000
--- a/asm/d/menu/d_menu_fmap2D/setSpotPane__18dMenu_Fmap2DBack_cFP7ResTIMG.s
+++ /dev/null
@@ -1,27 +0,0 @@
-lbl_801D1094:
-/* 801D1094 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 801D1098 7C 08 02 A6 */ mflr r0
-/* 801D109C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 801D10A0 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 801D10A4 93 C1 00 08 */ stw r30, 8(r1)
-/* 801D10A8 7C 7E 1B 78 */ mr r30, r3
-/* 801D10AC 7C 9F 23 78 */ mr r31, r4
-/* 801D10B0 80 03 0C D4 */ lwz r0, 0xcd4(r3)
-/* 801D10B4 28 00 00 00 */ cmplwi r0, 0
-/* 801D10B8 40 82 00 24 */ bne lbl_801D10DC
-/* 801D10BC 38 60 01 50 */ li r3, 0x150
-/* 801D10C0 48 0F DB 8D */ bl __nw__FUl
-/* 801D10C4 7C 60 1B 79 */ or. r0, r3, r3
-/* 801D10C8 41 82 00 10 */ beq lbl_801D10D8
-/* 801D10CC 7F E4 FB 78 */ mr r4, r31
-/* 801D10D0 48 12 B6 39 */ bl __ct__10J2DPictureFPC7ResTIMG
-/* 801D10D4 7C 60 1B 78 */ mr r0, r3
-lbl_801D10D8:
-/* 801D10D8 90 1E 0C D4 */ stw r0, 0xcd4(r30)
-lbl_801D10DC:
-/* 801D10DC 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 801D10E0 83 C1 00 08 */ lwz r30, 8(r1)
-/* 801D10E4 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 801D10E8 7C 08 03 A6 */ mtlr r0
-/* 801D10EC 38 21 00 10 */ addi r1, r1, 0x10
-/* 801D10F0 4E 80 00 20 */ blr
diff --git a/include/SSystem/SComponent/c_m3d.h b/include/SSystem/SComponent/c_m3d.h
index e68ed1e2a8..0855f6d908 100644
--- a/include/SSystem/SComponent/c_m3d.h
+++ b/include/SSystem/SComponent/c_m3d.h
@@ -17,7 +17,7 @@ class cXyz;
struct cM3d_Range;
struct Vec;
-extern f32 G_CM3D_F_ABS_MIN;
+extern const f32 G_CM3D_F_ABS_MIN;
static void cM3d_InDivPos1(const Vec*, const Vec*, f32, Vec*);
void cM3d_InDivPos2(const Vec*, const Vec*, f32, Vec*);
diff --git a/include/SSystem/SComponent/c_m3d_g_pla.h b/include/SSystem/SComponent/c_m3d_g_pla.h
index 2eeb39c25f..568f46f6dc 100644
--- a/include/SSystem/SComponent/c_m3d_g_pla.h
+++ b/include/SSystem/SComponent/c_m3d_g_pla.h
@@ -19,13 +19,12 @@ public:
bool getCrossY(const cXyz&, f32*) const;
bool getCrossYLessD(const Vec&, f32*) const;
void Set(const cM3dGPla*);
- void GetNP();
virtual ~cM3dGPla() {}
f32 getPlaneFunc(const Vec* pPoint) const { return mD + VECDotProduct(&mNormal, pPoint); }
- const cXyz& GetNP() const { return mNormal; }
- const cXyz* i_GetNP() const { return &mNormal; }
+ cXyz* GetNP() { return &mNormal; }
+ const cXyz* GetNP() const { return &mNormal; }
f32 GetD() const { return mD; }
void SetupFrom3Vtx(const Vec* v1, const Vec* v2, const Vec* v3) {
cM3d_CalcPla(v1, v2, v3, &mNormal, &mD);
diff --git a/include/d/bg/d_bg_s_acch.h b/include/d/bg/d_bg_s_acch.h
index 02b0555962..c410a680ea 100644
--- a/include/d/bg/d_bg_s_acch.h
+++ b/include/d/bg/d_bg_s_acch.h
@@ -8,6 +8,7 @@
#include "d/bg/d_bg_s_gnd_chk.h"
#include "d/bg/d_bg_s_roof_chk.h"
#include "d/bg/d_bg_s_wtr_chk.h"
+#include "JSystem/JUtility/JUTAssert.h"
class fopAc_ac_c;
@@ -47,6 +48,12 @@ public:
void ClrWallHDirect() { m_flags &= ~WALL_H_DIRECT; }
bool ChkWallHit() { return m_flags & WALL_HIT; }
s16 GetWallAngleY() { return m_wall_angle_y; }
+ bool ChkWallHDirect() { return m_flags & WALL_H_DIRECT; }
+ f32 GetWallHDirect() { return m_wall_h_direct; }
+ f32 GetWallRR() { return m_wall_rr; }
+ void SetWallHit() { m_flags |= WALL_HIT; }
+ void SetWallAngleY(s16 i_angle) { m_wall_angle_y = i_angle; }
+ cM3dGCir* GetCirP() { return &m_cir; }
void SetCir(cXyz& pos) { m_cir.Set(pos.x, pos.z, pos.y + GetWallH(), m_wall_r); }
}; // Size: 0x40
@@ -166,7 +173,23 @@ public:
void SetWallNone() { m_flags |= WALL_NONE; }
void OnLineCheckHit() { m_flags |= LINE_CHECK_HIT; }
cM3dGCyl* GetWallBmdCylP() { return &m_wall_cyl; }
+ fopAc_ac_c* getMyAc() { return m_my_ac; }
+
+ cM3dGCir* GetWallCirP(int index) {
+ JUT_ASSERT(index <= m_tbl_size);
+ return pm_acch_cir[index].GetCirP();
+ }
+
f32 GetWallH(int i_no) { return pm_acch_cir[i_no].GetWallH(); }
+ f32 GetWallR(int i_no) { return pm_acch_cir[i_no].GetWallR(); }
+ bool ChkWallHDirect(int i_no) { return pm_acch_cir[i_no].ChkWallHDirect(); }
+ f32 GetWallHDirect(int i_no) { return pm_acch_cir[i_no].GetWallHDirect(); }
+ f32 GetWallRR(int i_no) { return pm_acch_cir[i_no].GetWallRR(); }
+ void SetWallCirHit(int i_no) { pm_acch_cir[i_no].SetWallHit(); }
+ void SetWallAngleY(int i_no, s16 i_angle) { pm_acch_cir[i_no].SetWallAngleY(i_angle); }
+
+ f32 GetCx() const { return pm_pos->x; }
+ f32 GetCz() const { return pm_pos->z; }
// inline dupe
void i_ClrGroundHit() { m_flags &= ~GROUND_HIT; }
diff --git a/include/d/bg/d_bg_w.h b/include/d/bg/d_bg_w.h
index 85ea2160b4..4ca8f91446 100644
--- a/include/d/bg/d_bg_w.h
+++ b/include/d/bg/d_bg_w.h
@@ -171,7 +171,7 @@ public:
/* 8007B084 */ virtual void ShdwDraw(cBgS_ShdwDraw*);
virtual void CaptPoly(dBgS_CaptPoly&) = 0;
virtual bool WallCorrect(dBgS_Acch*) = 0;
- virtual void WallCorrectSort(dBgS_Acch*) = 0;
+ virtual bool WallCorrectSort(dBgS_Acch*) = 0;
virtual bool RoofChk(dBgS_RoofChk*) = 0;
virtual bool SplGrpChk(dBgS_SplGrpChk*) = 0;
virtual bool SphChk(dBgS_SphChk*, void*) = 0;
@@ -276,7 +276,7 @@ public:
/* 8007E4A4 */ virtual void OffMoveFlag();
/* 8007DAF8 */ virtual void CaptPoly(dBgS_CaptPoly&);
/* 8007C484 */ virtual bool WallCorrect(dBgS_Acch*);
- /* 8007C910 */ virtual void WallCorrectSort(dBgS_Acch*);
+ /* 8007C910 */ virtual bool WallCorrectSort(dBgS_Acch*);
/* 8007D470 */ virtual bool RoofChk(dBgS_RoofChk*);
/* 8007D830 */ virtual bool SplGrpChk(dBgS_SplGrpChk*);
/* 8007DF00 */ virtual bool SphChk(dBgS_SphChk*, void*);
diff --git a/include/d/bg/d_bg_w_base.h b/include/d/bg/d_bg_w_base.h
index c8260c2b83..587829898d 100644
--- a/include/d/bg/d_bg_w_base.h
+++ b/include/d/bg/d_bg_w_base.h
@@ -50,7 +50,7 @@ public:
virtual void ShdwDraw(cBgS_ShdwDraw*) = 0;
virtual void CaptPoly(dBgS_CaptPoly&) = 0;
virtual bool WallCorrect(dBgS_Acch*) = 0;
- virtual void WallCorrectSort(dBgS_Acch*) = 0;
+ virtual bool WallCorrectSort(dBgS_Acch*) = 0;
virtual bool RoofChk(dBgS_RoofChk*) = 0;
virtual bool SplGrpChk(dBgS_SplGrpChk*) = 0;
virtual bool SphChk(dBgS_SphChk*, void*) = 0;
diff --git a/include/d/bg/d_bg_w_kcol.h b/include/d/bg/d_bg_w_kcol.h
index 23a8531c0c..ee842966cb 100644
--- a/include/d/bg/d_bg_w_kcol.h
+++ b/include/d/bg/d_bg_w_kcol.h
@@ -71,7 +71,7 @@ public:
/* 8007F9A4 */ virtual void ShdwDraw(cBgS_ShdwDraw*);
/* 8007FF1C */ virtual void CaptPoly(dBgS_CaptPoly&);
/* 800811A0 */ virtual bool WallCorrect(dBgS_Acch*);
- /* 80080330 */ virtual void WallCorrectSort(dBgS_Acch*);
+ /* 80080330 */ virtual bool WallCorrectSort(dBgS_Acch*);
/* 80081E18 */ virtual bool RoofChk(dBgS_RoofChk*);
/* 80082184 */ virtual bool SplGrpChk(dBgS_SplGrpChk*);
/* 800824EC */ virtual bool SphChk(dBgS_SphChk*, void*);
diff --git a/libs/SSystem/SComponent/c_m3d.cpp b/libs/SSystem/SComponent/c_m3d.cpp
index 7e5d2ee34d..8ebd4e36a1 100644
--- a/libs/SSystem/SComponent/c_m3d.cpp
+++ b/libs/SSystem/SComponent/c_m3d.cpp
@@ -109,7 +109,7 @@ extern "C" extern void* __vt__8cM3dGSph[3];
// Declarations:
//
-f32 G_CM3D_F_ABS_MIN = 32 * FLT_EPSILON;
+const f32 G_CM3D_F_ABS_MIN = 32 * FLT_EPSILON;
/* 80268560-802685B0 262EA0 0050+00 2/2 0/0 0/0 .text cM3d_InDivPos1__FPC3VecPC3VecfP3Vec
*/
@@ -136,7 +136,7 @@ f32 cM3d_Len2dSq(f32 pX1, f32 pY1, f32 pX2, f32 pY2) {
/* ############################################################################################## */
/* 80451180-80451188 000680 0004+04 29/29 44/44 65/65 .sbss G_CM3D_F_ABS_MIN */
-extern f32 G_CM3D_F_ABS_MIN;
+//extern f32 G_CM3D_F_ABS_MIN;
/* 80455118-80455120 003718 0004+04 28/28 0/0 0/0 .sdata2 @2256 */
SECTION_SDATA2 static f32 lit_2256[1 + 1 /* padding */] = {
@@ -212,11 +212,11 @@ bool cM3d_Len3dSqPntAndSegLine(const cM3dGLin* pLine, const Vec* pVec, Vec* pOut
/* 80268814-80268894 263154 0080+00 1/1 3/3 0/0 .text cM3d_SignedLenPlaAndPos__FPC8cM3dGPlaPC3Vec
*/
f32 cM3d_SignedLenPlaAndPos(const cM3dGPla* pPlane, const Vec* pPosition) {
- f32 mag = VECMag(&pPlane->GetNP());
+ f32 mag = VECMag(pPlane->GetNP());
if (cM3d_IsZero(mag)) {
return /* 0.0 */ FLOAT_LABEL(lit_2256);
} else {
- return (pPlane->mD + VECDotProduct(&pPlane->GetNP(), pPosition)) / mag;
+ return (pPlane->mD + VECDotProduct(pPlane->GetNP(), pPosition)) / mag;
}
}
@@ -1204,7 +1204,7 @@ void cM3d_PlaneCrossLineProcWork(f32 f1, f32 f2, f32 f3, f32 f4, f32 f5, f32 f6,
static int cM3d_2PlaneCrossLine(const cM3dGPla& pPlaneA, const cM3dGPla& pPlaneB,
cM3dGLin* pLinOut) {
Vec tmp;
- VECCrossProduct(&pPlaneA.GetNP(), &pPlaneB.GetNP(), &tmp);
+ VECCrossProduct(pPlaneA.GetNP(), pPlaneB.GetNP(), &tmp);
if (cM3d_IsZero(tmp.x) && cM3d_IsZero(tmp.y) && cM3d_IsZero(tmp.z)) {
return 0;
} else {
@@ -1212,18 +1212,18 @@ static int cM3d_2PlaneCrossLine(const cM3dGPla& pPlaneA, const cM3dGPla& pPlaneB
f32 absTY = fabsf(tmp.y);
f32 absTZ = fabsf(tmp.z);
if (absTX >= absTY && absTX >= absTZ) {
- cM3d_PlaneCrossLineProcWork(pPlaneA.GetNP().y, pPlaneA.GetNP().z, pPlaneB.GetNP().y,
- pPlaneB.GetNP().z, tmp.x, pPlaneA.GetD(), pPlaneB.GetD(),
+ cM3d_PlaneCrossLineProcWork(pPlaneA.GetNP()->y, pPlaneA.GetNP()->z, pPlaneB.GetNP()->y,
+ pPlaneB.GetNP()->z, tmp.x, pPlaneA.GetD(), pPlaneB.GetD(),
&pLinOut->GetStartP().y, &pLinOut->GetStartP().z);
pLinOut->GetStartP().x = /* 0.0 */ FLOAT_LABEL(lit_2256);
} else if (absTY >= absTX && absTY >= absTZ) {
- cM3d_PlaneCrossLineProcWork(pPlaneA.GetNP().z, pPlaneA.GetNP().x, pPlaneB.GetNP().z,
- pPlaneB.GetNP().x, tmp.y, pPlaneA.GetD(), pPlaneB.GetD(),
+ cM3d_PlaneCrossLineProcWork(pPlaneA.GetNP()->z, pPlaneA.GetNP()->x, pPlaneB.GetNP()->z,
+ pPlaneB.GetNP()->x, tmp.y, pPlaneA.GetD(), pPlaneB.GetD(),
&pLinOut->GetStartP().z, &pLinOut->GetStartP().x);
pLinOut->GetStartP().y = /* 0.0 */ FLOAT_LABEL(lit_2256);
} else {
- cM3d_PlaneCrossLineProcWork(pPlaneA.GetNP().x, pPlaneA.GetNP().y, pPlaneB.GetNP().x,
- pPlaneB.GetNP().y, tmp.z, pPlaneA.GetD(), pPlaneB.GetD(),
+ cM3d_PlaneCrossLineProcWork(pPlaneA.GetNP()->x, pPlaneA.GetNP()->y, pPlaneB.GetNP()->x,
+ pPlaneB.GetNP()->y, tmp.z, pPlaneA.GetD(), pPlaneB.GetD(),
&pLinOut->GetStartP().x, &pLinOut->GetStartP().y);
pLinOut->GetStartP().z = /* 0.0 */ FLOAT_LABEL(lit_2256);
}
diff --git a/rel/d/a/d_a_arrow/d_a_arrow.cpp b/rel/d/a/d_a_arrow/d_a_arrow.cpp
index 1bdd589564..a0d32042c5 100644
--- a/rel/d/a/d_a_arrow/d_a_arrow.cpp
+++ b/rel/d/a/d_a_arrow/d_a_arrow.cpp
@@ -1767,8 +1767,8 @@ int daArrow_c::procMove() {
}
csXyz angle(
- cM_atan2s(local_4c.i_GetNP()->y, local_4c.i_GetNP()->absXZ()),
- cM_atan2s(-local_4c.i_GetNP()->x, -local_4c.i_GetNP()->z),
+ cM_atan2s(local_4c.GetNP()->y, local_4c.GetNP()->absXZ()),
+ cM_atan2s(-local_4c.GetNP()->x, -local_4c.GetNP()->z),
0.0f
);
if (mArrowType == 4) {
@@ -2009,7 +2009,7 @@ int daArrow_c::procReturn() {
cXyz pos;
dComIfG_Bgsp().GetTriPla(field_0x56c, &cStack_34);
f32 speed_magnitude = speed.abs();
- C_VECReflect(&speed, cStack_34.i_GetNP(), &pos);
+ C_VECReflect(&speed, cStack_34.GetNP(), &pos);
speed.x = pos.x * speed_magnitude * 0.5f;
speed.y = pos.y * speed_magnitude * 0.5f;
speed.z = pos.z * speed_magnitude * 0.5f;
diff --git a/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.cpp b/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.cpp
index 79b29a1dac..39802a9d49 100644
--- a/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.cpp
+++ b/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.cpp
@@ -186,7 +186,7 @@ void daObjARI_c::WallWalk() {
speedF = 0.3f;
cM3dGPla plane;
dComIfG_Bgsp().GetTriPla(lin_chk1, &plane);
- const cXyz* normal = plane.i_GetNP();
+ const cXyz* normal = plane.GetNP();
s16 normal_ang_y = cM_atan2s(normal->x, normal->z);
cXyz zero(0.0f, 0.0f, 0.0f);
cXyz normal_yz(0.0f, normal->y, normal->z);
@@ -200,7 +200,7 @@ void daObjARI_c::WallWalk() {
speedF = 0.3f;
cM3dGPla plane;
dComIfG_Bgsp().GetTriPla(lin_chk2, &plane);
- const cXyz* normal = plane.i_GetNP();
+ const cXyz* normal = plane.GetNP();
s16 normal_ang_y = cM_atan2s(normal->x, normal->z);
cXyz zero(0.0f, 0.0f, 0.0f);
cXyz normal_yz(0.0f, normal->y, normal->z);
@@ -270,7 +270,7 @@ void daObjARI_c::checkGround() {
cM3dGPla plane;
dComIfG_Bgsp().GetTriPla(lin_chk, &plane);
current.pos = lin_chk.i_GetCross();
- const cXyz* normal = plane.i_GetNP();
+ const cXyz* normal = plane.GetNP();
cXyz zero(0.0f, 0.0f, 0.0f);
cXyz normal_yz(0.0f, normal->y, normal->z);
mWallAngle.z = mWallAlignAngle.z = -cM_atan2s(normal->x, zero.abs(normal_yz));
@@ -355,7 +355,7 @@ void daObjARI_c::BoomChk() {
current.pos = old.pos;
mAction = 0;
mMode = 0;
- const cXyz* normal = plane.i_GetNP();
+ const cXyz* normal = plane.GetNP();
cXyz zero(0.0f, 0.0f, 0.0f);
cXyz normalYZ(0.0f, normal->y, normal->z);
mWallAngle.z = mWallAlignAngle.z = -cM_atan2s(normal->x, zero.abs(normalYZ));
@@ -465,7 +465,7 @@ int daObjARI_c::Execute() {
if (dComIfG_Bgsp().LineCross(&lin_chk)) {
cM3dGPla plane;
dComIfG_Bgsp().GetTriPla(lin_chk, &plane);
- const cXyz* normal = plane.i_GetNP();
+ const cXyz* normal = plane.GetNP();
current.pos = lin_chk.i_GetCross();
mTargetPos = current.pos;
old.pos = current.pos;
@@ -484,7 +484,7 @@ int daObjARI_c::Execute() {
if (dComIfG_Bgsp().LineCross(&lin_chk)) {
cM3dGPla plane;
dComIfG_Bgsp().GetTriPla(lin_chk, &plane);
- const cXyz* normal = plane.i_GetNP();
+ const cXyz* normal = plane.GetNP();
current.pos = lin_chk.i_GetCross();
mTargetPos = current.pos;
old.pos = current.pos;
@@ -689,7 +689,7 @@ cPhs__Step daObjARI_c::create() {
if (dComIfG_Bgsp().LineCross(&lin_chk)) {
cM3dGPla plane;
dComIfG_Bgsp().GetTriPla(lin_chk, &plane);
- const cXyz* normal = plane.i_GetNP();
+ const cXyz* normal = plane.GetNP();
current.pos = lin_chk.i_GetCross();
cXyz zero(0.0f, 0.0f, 0.0f);
cXyz normalYZ(0.0f, normal->y, normal->z);
@@ -710,7 +710,7 @@ cPhs__Step daObjARI_c::create() {
if (dComIfG_Bgsp().LineCross(&lin_chk)) {
cM3dGPla plane;
dComIfG_Bgsp().GetTriPla(lin_chk, &plane);
- const cXyz* normal = plane.i_GetNP();
+ const cXyz* normal = plane.GetNP();
current.pos = lin_chk.i_GetCross();
cXyz zero(0.0f, 0.0f, 0.0f);
cXyz normalYZ(0.0f, normal->y, normal->z);
diff --git a/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.cpp b/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.cpp
index e04af17f68..8e8b8ac906 100644
--- a/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.cpp
+++ b/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.cpp
@@ -189,7 +189,7 @@ BOOL daObjKABUTO_c::WallCheck() {
if (dComIfG_Bgsp().LineCross(&lin_chk)) {
cM3dGPla plane;
dComIfG_Bgsp().GetTriPla(lin_chk, &plane);
- const cXyz* normal = plane.i_GetNP();
+ const cXyz* normal = plane.GetNP();
current.pos = lin_chk.i_GetCross();
cXyz zero(0.0f, 0.0f, 0.0f);
cXyz normal_yz(0.0f, normal->y, normal->z);
@@ -236,7 +236,7 @@ void daObjKABUTO_c::WallWalk() {
speedF = 0.3f;
cM3dGPla plane;
dComIfG_Bgsp().GetTriPla(lin_chk1, &plane);
- const cXyz* normal = plane.i_GetNP();
+ const cXyz* normal = plane.GetNP();
s16 normal_ang_y = cM_atan2s(normal->x, normal->z);
cXyz cross;
cXyz zero(0.0f, 0.0f, 0.0f);
@@ -585,7 +585,7 @@ int daObjKABUTO_c::Execute() {
current.pos = old.pos = lin_chk.i_GetCross();
mAction = ACT_WAIT;
mMode = 0;
- const cXyz* normal = plane.i_GetNP();
+ const cXyz* normal = plane.GetNP();
current.pos = lin_chk.i_GetCross();
cXyz zero(0.0f, 0.0f, 0.0f);
cXyz vec(0.0f, normal->y, normal->z);
@@ -802,7 +802,7 @@ cPhs__Step daObjKABUTO_c::create() {
if (dComIfG_Bgsp().LineCross(&lin_chk)) {
cM3dGPla plane;
dComIfG_Bgsp().GetTriPla(lin_chk, &plane);
- const cXyz* normal = plane.i_GetNP();
+ const cXyz* normal = plane.GetNP();
current.pos = lin_chk.i_GetCross();
cXyz zero(0.0f, 0.0f, 0.0f);
cXyz normalYZ(0.0f, normal->y, normal->z);
@@ -822,7 +822,7 @@ cPhs__Step daObjKABUTO_c::create() {
if (dComIfG_Bgsp().LineCross(&lin_chk)) {
cM3dGPla plane;
dComIfG_Bgsp().GetTriPla(lin_chk, &plane);
- const cXyz* normal = plane.i_GetNP();
+ const cXyz* normal = plane.GetNP();
current.pos = lin_chk.i_GetCross();
cXyz zero(0.0f, 0.0f, 0.0f);
cXyz normalYZ(0.0f, normal->y, normal->z);
diff --git a/src/d/bg/d_bg_w.cpp b/src/d/bg/d_bg_w.cpp
index 67397be608..348b45d4ce 100644
--- a/src/d/bg/d_bg_w.cpp
+++ b/src/d/bg/d_bg_w.cpp
@@ -1,224 +1,17 @@
-//
-// Generated By: dol2asm
-// Translation Unit: d/bg/d_bg_w
-//
+/**
+ * d_bg_w.cpp
+ * DZB Collision handling
+ */
#include "d/bg/d_bg_w.h"
#include "SSystem/SComponent/c_bg_s_shdw_draw.h"
+#include "SSystem/SComponent/c_m2d.h"
#include "SSystem/SComponent/c_math.h"
#include "d/bg/d_bg_s_cap_poly.h"
#include "d/bg/d_bg_s_sph_chk.h"
#include "d/com/d_com_inf_game.h"
-#include "dol2asm.h"
#include "rel/d/a/d_a_horse/d_a_horse.h"
-//
-// Forward References:
-//
-
-extern "C" void __ct__11cBgW_RwgElmFv();
-extern "C" void __dt__11cBgW_RwgElmFv();
-extern "C" void __ct__13cBgW_NodeTreeFv();
-extern "C" void __dt__13cBgW_NodeTreeFv();
-extern "C" void __ct__4cBgWFv();
-extern "C" void __dt__4cBgWFv();
-extern "C" void FreeArea__4cBgWFv();
-extern "C" void GlobalVtx__4cBgWFv();
-extern "C" void SetVtx__4cBgWFv();
-extern "C" void CalcPlane__4cBgWFv();
-extern "C" void SetTri__4cBgWFv();
-extern "C" void __dt__11cBgW_TriElmFv();
-extern "C" void __ct__11cBgW_TriElmFv();
-extern "C" void BlckConnect__4cBgWFPUsPii();
-extern "C" void ClassifyPlane__4cBgWFv();
-extern "C" void MakeBlckTransMinMax__4cBgWFP4cXyzP4cXyz();
-extern "C" void MakeBlckMinMax__4cBgWFiP4cXyzP4cXyz();
-extern "C" void MakeBlckBnd__4cBgWFiP4cXyzP4cXyz();
-extern "C" void MakeNodeTreeRp__4cBgWFi();
-extern "C" void MakeNodeTreeGrpRp__4cBgWFi();
-extern "C" void MakeNodeTree__4cBgWFv();
-extern "C" void ChkMemoryError__4cBgWFv();
-extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f();
-extern "C" void __dt__11cBgW_GrpElmFv();
-extern "C" void __ct__11cBgW_GrpElmFv();
-extern "C" void RwgLineCheck__4cBgWFUsP11cBgS_LinChk();
-extern "C" void __dt__8cM3dGTriFv();
-extern "C" void LineCheckRp__4cBgWFP11cBgS_LinChki();
-extern "C" void LineCheckGrpRp__4cBgWFP11cBgS_LinChkii();
-extern "C" void LineCheck__4cBgWFP11cBgS_LinChk();
-extern "C" void RwgGroundCheckCommon__4cBgWFfUsP11cBgS_GndChk();
-extern "C" void RwgGroundCheckGnd__4cBgWFUsP11cBgS_GndChk();
-extern "C" void RwgGroundCheckWall__4cBgWFUsP11cBgS_GndChk();
-extern "C" void GroundCrossRp__4cBgWFP11cBgS_GndChki();
-extern "C" void GroundCrossGrpRp__4cBgWFP11cBgS_GndChkii();
-extern "C" void GroundCross__4cBgWFP11cBgS_GndChk();
-extern "C" void CopyOldMtx__4cBgWFv();
-extern "C" void Move__4cBgWFv();
-extern "C" void RwgShdwDraw__4cBgWFiP13cBgS_ShdwDraw();
-extern "C" void ShdwDrawRp__4cBgWFP13cBgS_ShdwDrawi();
-extern "C" void ShdwDrawGrpRp__4cBgWFP13cBgS_ShdwDrawi();
-extern "C" void ShdwDraw__4cBgWFP13cBgS_ShdwDraw();
-extern "C" bool ChkPolyThrough__4cBgWFiP16cBgS_PolyPassChk();
-extern "C" void ChkShdwDrawThrough__4cBgWFiP16cBgS_PolyPassChk();
-extern "C" bool ChkGrpThrough__4cBgWFiP15cBgS_GrpPassChki();
-extern "C" void GetGrpRoomIndex__4cBgWCFRC13cBgS_PolyInfo();
-extern "C" void GetBnd__4cBgWCFv();
-extern "C" void GetTrans__4cBgWCFP4cXyz();
-extern "C" void GetTriPnt__4cBgWCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz();
-extern "C" void GetTopUnder__4cBgWCFPfPf();
-extern "C" void GetTriPla__4cBgWCFRC13cBgS_PolyInfo();
-extern "C" void GetGrpInf__4cBgWCFRC13cBgS_PolyInfo();
-extern "C" void GetPolyInfId__4cBgWCFi();
-extern "C" void GetPolyInf0__4cBgWCFiUlUl();
-extern "C" void GetMaskPolyInf0_NoShift__4cBgWCFiUl();
-extern "C" void GetExitId__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void GetPolyColor__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void GetHorseNoEntry__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void GetSpecialCode__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void GetSpecialCode__4dBgWFi();
-extern "C" void GetMagnetCode__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void GetMonkeyBarsCode__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void GetPolyObjThrough__4dBgWFi();
-extern "C" void GetPolyCamThrough__4dBgWFi();
-extern "C" void GetPolyLinkThrough__4dBgWFi();
-extern "C" void GetPolyArrowThrough__4dBgWFi();
-extern "C" void GetPolyHSStick__4dBgWFi();
-extern "C" void GetPolyBoomerangThrough__4dBgWFi();
-extern "C" void GetPolyRopeThrough__4dBgWFi();
-extern "C" void GetPolyBombThrough__4dBgWFi();
-extern "C" void GetShdwThrough__4dBgWFi();
-extern "C" void GetUnderwaterRoofCode__4dBgWFi();
-extern "C" void GetPolyInf1__4cBgWCFiUlUl();
-extern "C" void GetLinkNo__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void GetWallCode__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void GetPolyAtt0__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void GetPolyAtt1__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void GetGroundCode__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void GetMaskPolyInf1_NoShift__4cBgWCFiUl();
-extern "C" void GetIronBallThrough__4dBgWFi();
-extern "C" void GetAttackThrough__4dBgWFi();
-extern "C" void GetPolyInf2__4cBgWCFiUlUl();
-extern "C" void GetCamMoveBG__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void GetRoomCamId__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void GetRoomPathId__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void GetRoomPathPntNo__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void GetTriGrp__4cBgWCFi();
-extern "C" void ChkNotReady__4cBgWCFv();
-extern "C" void ChkLock__4cBgWCFv();
-extern "C" void ChkMoveBg__4cBgWCFv();
-extern "C" void __ct__4dBgWFv();
-extern "C" void Move__4dBgWFv();
-extern "C" void positionWallCorrect__4dBgWFP9dBgS_AcchfR8cM3dGPlaP4cXyzf();
-extern "C" void RwgWallCorrect__4dBgWFP9dBgS_AcchUs();
-extern "C" void WallCorrectRp__4dBgWFP9dBgS_Acchi();
-extern "C" void WallCorrectGrpRp__4dBgWFP9dBgS_Acchii();
-extern "C" void WallCorrect__4dBgWFP9dBgS_Acch();
-extern "C" void RwgWallCorrectSort__4dBgWFP9dBgS_AcchUs();
-extern "C" void WallCorrectRpSort__4dBgWFP9dBgS_Acchi();
-extern "C" void WallCorrectGrpRpSort__4dBgWFP9dBgS_Acchii();
-extern "C" void WallCorrectSort__4dBgWFP9dBgS_Acch();
-extern "C" void RwgRoofChk__4dBgWFUsP12dBgS_RoofChk();
-extern "C" void RoofChkRp__4dBgWFP12dBgS_RoofChki();
-extern "C" void RoofChkGrpRp__4dBgWFP12dBgS_RoofChkii();
-extern "C" void RoofChk__4dBgWFP12dBgS_RoofChk();
-extern "C" void RwgSplGrpChk__4dBgWFUsP14dBgS_SplGrpChk();
-extern "C" void SplGrpChkRp__4dBgWFP14dBgS_SplGrpChki();
-extern "C" void SplGrpChkGrpRp__4dBgWFP14dBgS_SplGrpChkii();
-extern "C" void SplGrpChk__4dBgWFP14dBgS_SplGrpChk();
-extern "C" void RwgCaptPoly__4dBgWFiR13dBgS_CaptPoly();
-extern "C" void CaptPolyRp__4dBgWFR13dBgS_CaptPolyi();
-extern "C" void CaptPolyGrpRp__4dBgWFR13dBgS_CaptPolyii();
-extern "C" void CaptPoly__4dBgWFR13dBgS_CaptPoly();
-extern "C" void RwgSphChk__4dBgWFUsP11dBgS_SphChkPv();
-extern "C" void SphChkRp__4dBgWFP11dBgS_SphChkPvi();
-extern "C" void SphChkGrpRp__4dBgWFP11dBgS_SphChkPvii();
-extern "C" void SphChk__4dBgWFP11dBgS_SphChkPv();
-extern "C" void GetPolyGrpRoomInfId__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void GetGrpSoundId__4dBgWFRC13cBgS_PolyInfo();
-extern "C" void CrrPos__4dBgWFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz();
-extern "C" void TransPos__4dBgWFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz();
-extern "C" void MatrixCrrPos__4dBgWFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz();
-extern "C" void ChkPolyThrough__4dBgWFiP16cBgS_PolyPassChk();
-extern "C" void ChkShdwDrawThrough__4dBgWFiP16cBgS_PolyPassChk();
-extern "C" void ChkGrpThrough__4dBgWFiP15cBgS_GrpPassChki();
-extern "C" void CallRideCallBack__4dBgWFP10fopAc_ac_cP10fopAc_ac_c();
-extern "C" void CallArrowStickCallBack__4dBgWFP10fopAc_ac_cP10fopAc_ac_cR4cXyz();
-extern "C" void OffMoveFlag__4dBgWFv();
-extern "C" void ChkMoveFlag__4dBgWCFv();
-extern "C" void dBgW_NewSet__FP6cBgD_tUlPA3_A4_f();
-extern "C" void __dt__4dBgWFv();
-extern "C" extern u8 struct_80450F88[8];
-
-//
-// External References:
-//
-
-extern "C" void SetOldShapeAngleY__9dBgW_BaseFs();
-extern "C" void GetSpeedY__9dBgS_AcchFv();
-extern "C" void GetWallAddY__9dBgS_AcchFR3Vec();
-extern "C" void SetWallPolyIndex__9dBgS_AcchFii();
-extern "C" void CalcMovePosWork__9dBgS_AcchFv();
-extern "C" void ChkNoHorse__16dBgS_PolyPassChkFv();
-extern "C" void __ct__9dBgW_BaseFv();
-extern "C" void __dt__9dBgW_BaseFv();
-extern "C" void CallRideCallBack__9dBgW_BaseFP10fopAc_ac_cP10fopAc_ac_c();
-extern "C" void CallArrowStickCallBack__9dBgW_BaseFP10fopAc_ac_cP10fopAc_ac_cR4cXyz();
-extern "C" void cM_atan2s__Fff();
-extern "C" void cM_rndF__Ff();
-extern "C" void SetPolyIndex__13cBgS_PolyInfoFi();
-extern "C" void cBgW_CheckBGround__Ff();
-extern "C" void cBgW_CheckBRoof__Ff();
-extern "C" void cM2d_CrossCirLin__FR8cM2dGCirffffPfPf();
-extern "C" void cM3d_Len2dSq__Fffff();
-extern "C" void cM3d_Len2dSqPntAndSegLine__FffffffPfPfPf();
-extern "C" void cM3d_CalcPla__FPC3VecPC3VecPC3VecP3VecPf();
-extern "C" void cM3d_Cross_AabAab__FPC8cM3dGAabPC8cM3dGAab();
-extern "C" void cM3d_Cross_AabCyl__FPC8cM3dGAabPC8cM3dGCyl();
-extern "C" void cM3d_Cross_AabSph__FPC8cM3dGAabPC8cM3dGSph();
-extern "C" void cM3d_Cross_MinMaxBoxLine__FPC3VecPC3VecPC3VecPC3Vec();
-extern "C" void cM3d_CrossY_Tri__FRC3VecRC3VecRC3VecRC8cM3dGPlaPC3Vec();
-extern "C" void cM3d_CrossY_Tri_Front__FRC3VecRC3VecRC3VecPC3Vec();
-extern "C" void cM3d_Cross_LinTri__FPC8cM3dGLinPC8cM3dGTriP3Vecbb();
-extern "C" void cM3d_Cross_SphTri__FPC8cM3dGSphPC8cM3dGTriP3Vec();
-extern "C" void CrossY__8cM3dGAabCFPC4cXyz();
-extern "C" void UnderPlaneYUnder__8cM3dGAabCFf();
-extern "C" void TopPlaneYUnder__8cM3dGAabCFf();
-extern "C" void ClearForMinMax__8cM3dGAabFv();
-extern "C" void SetMinMax__8cM3dGAabFRC4cXyz();
-extern "C" void SetMin__8cM3dGAabFRC4cXyz();
-extern "C" void SetMax__8cM3dGAabFRC4cXyz();
-extern "C" void SetEnd__8cM3dGLinFRC4cXyz();
-extern "C" void getCrossY__8cM3dGPlaCFRC4cXyzPf();
-extern "C" void setBg__8cM3dGTriFPC3VecPC3VecPC3VecPC8cM3dGPla();
-extern "C" void* __nw__FUl();
-extern "C" void* __nwa__FUl();
-extern "C" void __dl__FPv();
-extern "C" void __construct_new_array();
-extern "C" void __ptmf_scall();
-extern "C" void _savegpr_22();
-extern "C" void _savegpr_23();
-extern "C" void _savegpr_24();
-extern "C" void _savegpr_25();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_28();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_22();
-extern "C" void _restgpr_23();
-extern "C" void _restgpr_24();
-extern "C" void _restgpr_25();
-extern "C" void _restgpr_26();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_28();
-extern "C" void _restgpr_29();
-extern "C" extern void* __vt__8cM3dGPla[3];
-extern "C" extern void* __vt__8cM3dGAab[3];
-extern "C" u8 sincosTable___5JMath[65536];
-
-//
-// Declarations:
-//
-
/* 800791C4-800791D4 073B04 0010+00 1/1 0/0 0/0 .text __ct__11cBgW_RwgElmFv */
cBgW_RwgElm::cBgW_RwgElm() {}
@@ -231,22 +24,13 @@ cBgW_NodeTree::cBgW_NodeTree() {}
/* 80079238-80079294 073B78 005C+00 2/1 0/0 0/0 .text __dt__13cBgW_NodeTreeFv */
cBgW_NodeTree::~cBgW_NodeTree() {}
-/* ############################################################################################## */
-/* 804526F8-804526FC 000CF8 0004+00 6/6 0/0 0/0 .sdata2 @3717 */
-SECTION_SDATA2 static u8 lit_3717[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-
/* 80079294-8007933C 073BD4 00A8+00 1/1 0/0 0/0 .text __ct__4cBgWFv */
cBgW::cBgW() {
pm_bgd = NULL;
mFlags = GLOBAL_e;
mNeedsFullTransform = 1;
mMoveCounter = 0;
- mTransVel.set(FLOAT_LABEL(lit_3717), FLOAT_LABEL(lit_3717), FLOAT_LABEL(lit_3717));
+ mTransVel.set(0.0f, 0.0f, 0.0f);
pm_tri = NULL;
pm_rwg = NULL;
@@ -294,13 +78,11 @@ void cBgW::GlobalVtx() {
}
/* 80079484-80079564 073DC4 00E0+00 1/1 0/0 0/0 .text SetVtx__4cBgWFv */
-// matches with literals
-#ifdef NONMATCHING
bool cBgW::SetVtx() {
if (mFlags & NO_VTX_TBL_e) {
pm_vtx_tbl = NULL;
} else if (mFlags & MOVE_BG_e) {
- pm_vtx_tbl = new Vec[pm_bgd->m_v_num];
+ pm_vtx_tbl = (cBgD_Vtx_t*)new Vec[pm_bgd->m_v_num];
if (pm_vtx_tbl == NULL) {
return true;
@@ -321,20 +103,10 @@ bool cBgW::SetVtx() {
return false;
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool cBgW::SetVtx() {
- nofralloc
-#include "asm/d/bg/d_bg_w/SetVtx__4cBgWFv.s"
-}
-#pragma pop
-#endif
/* 80079564-80079668 073EA4 0104+00 2/0 1/0 0/0 .text CalcPlane__4cBgWFv */
void cBgW::CalcPlane() {
- cBgD_Tri_t* tri_data = pm_bgd->m_t_tbl;
+ cBgD_Tri_t* tri = pm_bgd->m_t_tbl;
if (pm_vtx_tbl != NULL) {
if (!mNeedsFullTransform) {
@@ -343,9 +115,9 @@ void cBgW::CalcPlane() {
}
} else {
for (int i = 0; i < pm_bgd->m_t_num; i++) {
- pm_tri[i].m_plane.SetupFrom3Vtx(&pm_vtx_tbl[tri_data[i].m_vtx_idx0],
- &pm_vtx_tbl[tri_data[i].m_vtx_idx1],
- &pm_vtx_tbl[tri_data[i].m_vtx_idx2]);
+ pm_tri[i].m_plane.SetupFrom3Vtx(&pm_vtx_tbl[tri[i].m_vtx_idx0],
+ &pm_vtx_tbl[tri[i].m_vtx_idx1],
+ &pm_vtx_tbl[tri[i].m_vtx_idx2]);
}
}
}
@@ -384,8 +156,6 @@ void cBgW::BlckConnect(u16* i_start_idx, int* i_prev_idx, int i_idx) {
}
/* 800797BC-8007998C 0740FC 01D0+00 2/0 1/0 0/0 .text ClassifyPlane__4cBgWFv */
-// stack, G_CM3D_F_ABS_MIN is loaded outside of loop
-#ifdef NONMATCHING
void cBgW::ClassifyPlane() {
if (pm_vtx_tbl == NULL) {
return;
@@ -402,43 +172,30 @@ void cBgW::ClassifyPlane() {
pm_blk[i].m_roof_idx = 0xFFFF;
pm_blk[i].m_wall_idx = 0xFFFF;
pm_blk[i].m_gnd_idx = 0xFFFF;
- int blk_roof_idx;
- int blk_wall_idx;
- int blk_gnd_idx = 0xFFFF;
- blk_wall_idx = 0xFFFF;
- blk_roof_idx = 0xFFFF;
+
+ int blk_roof_idx, blk_wall_idx, blk_gnd_idx;
+ blk_roof_idx = blk_wall_idx = blk_gnd_idx = 0xFFFF;
for (int j = start_idx; j <= end_idx; j++) {
- f32 norm_y = pm_tri[j].m_plane.i_GetNP()->y;
+ f32 norm_y = pm_tri[j].m_plane.GetNP()->y;
- if (!cM3d_IsZero(pm_tri[j].m_plane.i_GetNP()->x) || !cM3d_IsZero(norm_y) ||
- !cM3d_IsZero(pm_tri[j].m_plane.i_GetNP()->z))
+ if (!cM3d_IsZero(pm_tri[j].m_plane.GetNP()->x) ||
+ !cM3d_IsZero(pm_tri[j].m_plane.GetNP()->y) ||
+ !cM3d_IsZero(pm_tri[j].m_plane.GetNP()->z))
{
if (cBgW_CheckBGround(norm_y)) {
BlckConnect(&pm_blk[i].m_gnd_idx, &blk_gnd_idx, j);
- } else {
- if (cBgW_CheckBRoof(norm_y)) {
- if (!ChkRoofRegist()) {
- BlckConnect(&pm_blk[i].m_roof_idx, &blk_roof_idx, j);
- }
- } else {
- BlckConnect(&pm_blk[i].m_wall_idx, &blk_wall_idx, j);
+ } else if (cBgW_CheckBRoof(norm_y)) {
+ if (!ChkRoofRegist()) {
+ BlckConnect(&pm_blk[i].m_roof_idx, &blk_roof_idx, j);
}
+ } else {
+ BlckConnect(&pm_blk[i].m_wall_idx, &blk_wall_idx, j);
}
}
}
}
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void cBgW::ClassifyPlane() {
- nofralloc
-#include "asm/d/bg/d_bg_w/ClassifyPlane__4cBgWFv.s"
-}
-#pragma pop
-#endif
/* 8007998C-800799E0 0742CC 0054+00 1/1 0/0 0/0 .text MakeBlckTransMinMax__4cBgWFP4cXyzP4cXyz */
void cBgW::MakeBlckTransMinMax(cXyz* i_min, cXyz* i_max) {
@@ -476,19 +233,7 @@ void cBgW::MakeBlckMinMax(int vtx_index, cXyz* i_min, cXyz* i_max) {
}
}
-/* ############################################################################################## */
-/* 804526FC-80452700 000CFC 0004+00 1/1 0/0 0/0 .sdata2 @3935 */
-SECTION_SDATA2 static f32 lit_3935 = 1000000000.0f;
-
-/* 80452700-80452704 000D00 0004+00 1/1 0/0 0/0 .sdata2 @3936 */
-SECTION_SDATA2 static f32 lit_3936 = -1000000000.0f;
-
-/* 80452704-80452708 000D04 0004+00 5/5 0/0 0/0 .sdata2 @3937 */
-SECTION_SDATA2 static f32 lit_3937 = 1.0f;
-
/* 80079A68-80079BDC 0743A8 0174+00 1/1 0/0 0/0 .text MakeBlckBnd__4cBgWFiP4cXyzP4cXyz */
-// matches with literals
-#ifdef NONMATCHING
void cBgW::MakeBlckBnd(int i_blk_idx, cXyz* i_min, cXyz* i_max) {
int start = pm_bgd->m_b_tbl[i_blk_idx].field_0x0;
int max;
@@ -523,16 +268,6 @@ void cBgW::MakeBlckBnd(int i_blk_idx, cXyz* i_min, cXyz* i_max) {
i_max->z += 1.0f;
}
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void cBgW::MakeBlckBnd(int param_0, cXyz* param_1, cXyz* param_2) {
- nofralloc
-#include "asm/d/bg/d_bg_w/MakeBlckBnd__4cBgWFiP4cXyzP4cXyz.s"
-}
-#pragma pop
-#endif
/* 80079BDC-80079CC4 07451C 00E8+00 1/1 0/0 0/0 .text MakeNodeTreeRp__4cBgWFi */
void cBgW::MakeNodeTreeRp(int i_tree_idx) {
@@ -688,30 +423,31 @@ cBgW_GrpElm::~cBgW_GrpElm() {}
cBgW_GrpElm::cBgW_GrpElm() {}
/* 8007A200-8007A344 074B40 0144+00 1/1 0/0 0/0 .text RwgLineCheck__4cBgWFUsP11cBgS_LinChk */
-bool cBgW::RwgLineCheck(u16 poly_index, cBgS_LinChk* linchk) {
- bool chk;
- chk = false;
+bool cBgW::RwgLineCheck(u16 i_poly_index, cBgS_LinChk* i_linchk) {
+ bool chk = false;
cM3dGTri tri;
- while (1) {
- cBgD_Tri_t* tri_data = &pm_bgd->m_t_tbl[poly_index];
+ while (true) {
+ cBgD_Tri_t* tri_t = &pm_bgd->m_t_tbl[i_poly_index];
- tri.setBg(&pm_vtx_tbl[tri_data->m_vtx_idx0], &pm_vtx_tbl[tri_data->m_vtx_idx1],
- &pm_vtx_tbl[tri_data->m_vtx_idx2], &pm_tri[poly_index].m_plane);
+ tri.setBg(&pm_vtx_tbl[tri_t->m_vtx_idx0], &pm_vtx_tbl[tri_t->m_vtx_idx1],
+ &pm_vtx_tbl[tri_t->m_vtx_idx2], &pm_tri[i_poly_index].m_plane);
- cXyz cross;
- if (tri.cross(linchk->GetLinP(), &cross, linchk->ChkFrontFlag(), linchk->ChkBackFlag())) {
- if (!ChkPolyThrough(poly_index, linchk->GetPolyPassChk())) {
- linchk->SetCross(cross);
- linchk->SetPolyIndex(poly_index);
+ cXyz cross_pos;
+ if (tri.cross(i_linchk->GetLinP(), &cross_pos, i_linchk->ChkFrontFlag(),
+ i_linchk->ChkBackFlag()))
+ {
+ if (!ChkPolyThrough(i_poly_index, i_linchk->GetPolyPassChk())) {
+ i_linchk->SetCross(cross_pos);
+ i_linchk->SetPolyIndex(i_poly_index);
chk = true;
}
}
- if (pm_rwg[poly_index].m_next == 0xFFFF) {
+ if (pm_rwg[i_poly_index].m_next == 0xFFFF) {
break;
}
- poly_index = pm_rwg[poly_index].m_next;
+ i_poly_index = pm_rwg[i_poly_index].m_next;
}
return chk;
@@ -719,45 +455,41 @@ bool cBgW::RwgLineCheck(u16 poly_index, cBgS_LinChk* linchk) {
/* 8007A3A0-8007A52C 074CE0 018C+00 1/1 0/0 0/0 .text LineCheckRp__4cBgWFP11cBgS_LinChki
*/
-bool cBgW::LineCheckRp(cBgS_LinChk* linchk, int param_1) {
- cBgW_NodeTree* pnode0 = &pm_node_tree[param_1];
+bool cBgW::LineCheckRp(cBgS_LinChk* i_linchk, int i_idx) {
+ cBgW_NodeTree* node = &pm_node_tree[i_idx];
- if (!cM3d_Cross_MinMaxBoxLine((Vec*)pnode0->GetMinP(), (Vec*)pnode0->GetMaxP(),
- &linchk->GetLinP()->GetStartP(), &linchk->GetLinP()->GetEndP()))
+ if (!cM3d_Cross_MinMaxBoxLine(node->GetMinP(), node->GetMaxP(),
+ &i_linchk->GetLinP()->GetStartP(),
+ &i_linchk->GetLinP()->GetEndP()))
{
return false;
}
- cBgD_Tree_t* pnode = &pm_bgd->m_tree_tbl[param_1];
+ cBgD_Tree_t* tree = &pm_bgd->m_tree_tbl[i_idx];
bool chk = false;
- if (pnode->m_flag & 1) {
- if (linchk->GetPreWallChk()) {
- u16 tmp = pm_blk[pnode->m_id[0]].m_wall_idx;
- if (tmp != 0xFFFF && RwgLineCheck(tmp, linchk)) {
- chk = true;
- }
+ if (tree->m_flag & 1) {
+ if (i_linchk->GetPreWallChk() && pm_blk[tree->m_id[0]].m_wall_idx != 0xFFFF &&
+ RwgLineCheck(pm_blk[tree->m_id[0]].m_wall_idx, i_linchk))
+ {
+ chk = true;
}
-
- if (linchk->GetPreGroundChk()) {
- u16 tmp = pm_blk[pnode->m_id[0]].m_gnd_idx;
- if (tmp != 0xFFFF && RwgLineCheck(tmp, linchk)) {
- chk = true;
- }
+ if (i_linchk->GetPreGroundChk() && pm_blk[tree->m_id[0]].m_gnd_idx != 0xFFFF &&
+ RwgLineCheck(pm_blk[tree->m_id[0]].m_gnd_idx, i_linchk))
+ {
+ chk = true;
}
-
- if (linchk->GetPreRoofChk()) {
- u16 tmp = pm_blk[pnode->m_id[0]].m_roof_idx;
- if (tmp != 0xFFFF && RwgLineCheck(tmp, linchk)) {
- chk = true;
- }
+ if (i_linchk->GetPreRoofChk() && pm_blk[tree->m_id[0]].m_roof_idx != 0xFFFF &&
+ RwgLineCheck(pm_blk[tree->m_id[0]].m_roof_idx, i_linchk))
+ {
+ chk = true;
}
return chk;
}
for (int i = 0; i < 8; i++) {
- if (pnode->m_id[i] != 0xFFFF && LineCheckRp(linchk, pnode->m_id[i])) {
+ if (tree->m_id[i] != 0xFFFF && LineCheckRp(i_linchk, tree->m_id[i])) {
chk = true;
}
}
@@ -766,167 +498,180 @@ bool cBgW::LineCheckRp(cBgS_LinChk* linchk, int param_1) {
}
/* 8007A52C-8007A658 074E6C 012C+00 1/1 0/0 0/0 .text LineCheckGrpRp__4cBgWFP11cBgS_LinChkii */
-bool cBgW::LineCheckGrpRp(cBgS_LinChk* param_0, int param_1, int param_2) {
- cM3dGLin* pcVar2 = param_0->GetLinP();
- if (!pm_grp[param_1].m_aab.Cross(pcVar2)) {
+bool cBgW::LineCheckGrpRp(cBgS_LinChk* i_linchk, int i_grp_idx, int depth) {
+ cM3dGLin* pline = i_linchk->GetLinP();
+ if (!pm_grp[i_grp_idx].m_aab.Cross(pline)) {
return false;
}
- if (ChkGrpThrough(param_1, param_0->GetGrpPassChk(), param_2)) {
+
+ if (ChkGrpThrough(i_grp_idx, i_linchk->GetGrpPassChk(), depth)) {
return false;
}
- bool uVar4 = false;
- if (pm_bgd->m_g_tbl[param_1].m_tree_idx != 0xFFFF &&
- LineCheckRp(param_0, pm_bgd->m_g_tbl[param_1].m_tree_idx))
+ bool chk = false;
+
+ if (pm_bgd->m_g_tbl[i_grp_idx].m_tree_idx != 0xFFFF &&
+ LineCheckRp(i_linchk, pm_bgd->m_g_tbl[i_grp_idx].m_tree_idx))
{
- uVar4 = true;
+ chk = true;
}
- s32 uVar1 = pm_bgd->m_g_tbl[param_1].m_first_child;
+ s32 child_idx = pm_bgd->m_g_tbl[i_grp_idx].m_first_child;
while (true) {
- if (uVar1 == 0xFFFF) {
+ if (child_idx == 0xFFFF)
break;
+
+ if (LineCheckGrpRp(i_linchk, child_idx, depth + 1)) {
+ chk = true;
}
- if (LineCheckGrpRp(param_0, uVar1, param_2 + 1)) {
- uVar4 = true;
- }
- uVar1 = pm_bgd->m_g_tbl[uVar1].m_next_sibling;
+ child_idx = pm_bgd->m_g_tbl[child_idx].m_next_sibling;
}
- return uVar4;
+
+ return chk;
}
/* 8007A658-8007A680 074F98 0028+00 2/0 1/0 0/0 .text LineCheck__4cBgWFP11cBgS_LinChk */
-bool cBgW::LineCheck(cBgS_LinChk* pchk) {
- return LineCheckGrpRp(pchk, m_rootGrpIdx, 1);
+bool cBgW::LineCheck(cBgS_LinChk* i_linchk) {
+ return LineCheckGrpRp(i_linchk, m_rootGrpIdx, 1);
}
/* 8007A680-8007A774 074FC0 00F4+00 2/2 0/0 0/0 .text
* RwgGroundCheckCommon__4cBgWFfUsP11cBgS_GndChk */
-bool cBgW::RwgGroundCheckCommon(f32 param_0, u16 param_1, cBgS_GndChk* param_2) {
- if (param_0 < param_2->GetPointP().y && param_0 > param_2->GetNowY()) {
- cBgD_Tri_t* puVar7 = &pm_bgd->m_t_tbl[param_1];
- if (cM3d_CrossY_Tri_Front(pm_vtx_tbl[puVar7->m_vtx_idx0], pm_vtx_tbl[puVar7->m_vtx_idx1],
- pm_vtx_tbl[puVar7->m_vtx_idx2],
- (const Vec*)&param_2->GetPointP()))
+bool cBgW::RwgGroundCheckCommon(f32 i_yPos, u16 i_poly_idx, cBgS_GndChk* i_gndchk) {
+ if (i_yPos < i_gndchk->GetPointP().y && i_yPos > i_gndchk->GetNowY()) {
+ cBgD_Tri_t* tri = &pm_bgd->m_t_tbl[i_poly_idx];
+ if (cM3d_CrossY_Tri_Front(pm_vtx_tbl[tri->m_vtx_idx0], pm_vtx_tbl[tri->m_vtx_idx1],
+ pm_vtx_tbl[tri->m_vtx_idx2], (const Vec*)&i_gndchk->GetPointP()))
{
- if (!ChkPolyThrough(param_1, param_2->GetPolyPassChk())) {
- param_2->SetNowY(param_0);
- param_2->SetPolyIndex(param_1);
+ if (!ChkPolyThrough(i_poly_idx, i_gndchk->GetPolyPassChk())) {
+ i_gndchk->SetNowY(i_yPos);
+ i_gndchk->SetPolyIndex(i_poly_idx);
return true;
}
}
}
+
return false;
}
/* 8007A774-8007A824 0750B4 00B0+00 1/1 0/0 0/0 .text RwgGroundCheckGnd__4cBgWFUsP11cBgS_GndChk */
-bool cBgW::RwgGroundCheckGnd(u16 param_0, cBgS_GndChk* param_1) {
- bool rv = false;
+bool cBgW::RwgGroundCheckGnd(u16 i_poly_idx, cBgS_GndChk* i_gndchk) {
+ bool chk = false;
while (true) {
- cBgW_RwgElm* puVar4 = &pm_rwg[param_0];
- f32 dVar5 = pm_tri[param_0].m_plane.getCrossY_NonIsZero(&param_1->GetPointP());
- if (RwgGroundCheckCommon(dVar5, (u32)param_0, param_1)) {
- rv = true;
+ cBgW_RwgElm* rwg = &pm_rwg[i_poly_idx];
+ f32 tri_y = pm_tri[i_poly_idx].m_plane.getCrossY_NonIsZero(&i_gndchk->GetPointP());
+ if (RwgGroundCheckCommon(tri_y, (u32)i_poly_idx, i_gndchk)) {
+ chk = true;
}
- if (puVar4->m_next == 0xFFFF)
+
+ if (rwg->m_next == 0xFFFF)
break;
- param_0 = puVar4->m_next;
+
+ i_poly_idx = rwg->m_next;
}
- return rv;
+ return chk;
}
/* 8007A824-8007A8F4 075164 00D0+00 1/1 0/0 0/0 .text RwgGroundCheckWall__4cBgWFUsP11cBgS_GndChk
*/
-bool cBgW::RwgGroundCheckWall(u16 param_0, cBgS_GndChk* param_1) {
- bool rv = false;
+bool cBgW::RwgGroundCheckWall(u16 i_poly_idx, cBgS_GndChk* i_gndchk) {
+ bool chk = false;
while (true) {
- cBgW_TriElm* puVar5 = &pm_tri[param_0];
- cBgW_RwgElm* puVar4 = &pm_rwg[param_0];
- if (puVar5->m_plane.mNormal.y >= 0.014f) {
- f32 dVar5 = puVar5->m_plane.getCrossY_NonIsZero(&param_1->GetPointP());
- if (RwgGroundCheckCommon(dVar5, (u32)param_0, param_1)) {
- rv = true;
+ cBgW_TriElm* tri = &pm_tri[i_poly_idx];
+ cBgW_RwgElm* rwg = &pm_rwg[i_poly_idx];
+ if (tri->m_plane.mNormal.y >= 0.014f) {
+ f32 tri_y = tri->m_plane.getCrossY_NonIsZero(&i_gndchk->GetPointP());
+ if (RwgGroundCheckCommon(tri_y, (u32)i_poly_idx, i_gndchk)) {
+ chk = true;
}
}
- if (puVar4->m_next == 0xFFFF)
+
+ if (rwg->m_next == 0xFFFF)
break;
- param_0 = puVar4->m_next;
+ i_poly_idx = rwg->m_next;
}
- return rv;
+
+ return chk;
}
/* 8007A8F4-8007AA50 075234 015C+00 1/1 0/0 0/0 .text GroundCrossRp__4cBgWFP11cBgS_GndChki */
-bool cBgW::GroundCrossRp(cBgS_GndChk* param_0, int param_1) {
- bool rv = false;
- cBgD_Tree_t* puVar9 = &pm_bgd->m_tree_tbl[param_1];
- if ((puVar9->m_flag & 1)) {
- if (pm_blk[puVar9->m_id[0]].m_gnd_idx != 0xFFFF &&
- RwgGroundCheckGnd(pm_blk[puVar9->m_id[0]].m_gnd_idx, param_0))
+bool cBgW::GroundCrossRp(cBgS_GndChk* i_gndchk, int i_idx) {
+ bool chk = false;
+ cBgD_Tree_t* tree = &pm_bgd->m_tree_tbl[i_idx];
+ if ((tree->m_flag & 1)) {
+ if (pm_blk[tree->m_id[0]].m_gnd_idx != 0xFFFF &&
+ RwgGroundCheckGnd(pm_blk[tree->m_id[0]].m_gnd_idx, i_gndchk))
{
- rv = true;
+ chk = true;
}
- if (param_0->GetWallPrecheck() && pm_blk[puVar9->m_id[0]].m_wall_idx != 0xFFFF &&
- RwgGroundCheckWall(pm_blk[puVar9->m_id[0]].m_wall_idx, param_0))
+
+ if (i_gndchk->GetWallPrecheck() && pm_blk[tree->m_id[0]].m_wall_idx != 0xFFFF &&
+ RwgGroundCheckWall(pm_blk[tree->m_id[0]].m_wall_idx, i_gndchk))
{
- rv = true;
+ chk = true;
}
- return rv;
+ return chk;
}
for (int i = 0; i < 8; i++) {
- if (puVar9->m_id[i] != 0xFFFF) {
- cM3dGAab* this_00 = &pm_node_tree[puVar9->m_id[i]];
- if (this_00->CrossY(&param_0->GetPointP())) {
- if (this_00->UnderPlaneYUnder(param_0->GetPointP().y)) {
- if (!this_00->TopPlaneYUnder(param_0->GetNowY()) &&
- GroundCrossRp(param_0, puVar9->m_id[i]))
+ if (tree->m_id[i] != 0xFFFF) {
+ cM3dGAab* aab = &pm_node_tree[tree->m_id[i]];
+ if (aab->CrossY(&i_gndchk->GetPointP())) {
+ if (aab->UnderPlaneYUnder(i_gndchk->GetPointP().y)) {
+ if (!aab->TopPlaneYUnder(i_gndchk->GetNowY()) &&
+ GroundCrossRp(i_gndchk, tree->m_id[i]))
{
- rv = true;
+ chk = true;
}
}
}
}
}
- return rv;
+ return chk;
}
/* 8007AA50-8007AB9C 075390 014C+00 1/1 0/0 0/0 .text GroundCrossGrpRp__4cBgWFP11cBgS_GndChkii */
-bool cBgW::GroundCrossGrpRp(cBgS_GndChk* param_0, int param_1, int param_2) {
- cBgW_GrpElm* iVar7 = &pm_grp[param_1];
- if (!iVar7->m_aab.CrossY(&param_0->GetPointP()) ||
- !iVar7->m_aab.UnderPlaneYUnder(param_0->GetPointP().y) ||
- iVar7->m_aab.TopPlaneYUnder(param_0->GetNowY()))
+bool cBgW::GroundCrossGrpRp(cBgS_GndChk* i_gndchk, int i_grp_idx, int i_depth) {
+ cBgW_GrpElm* grp = &pm_grp[i_grp_idx];
+ if (!grp->m_aab.CrossY(&i_gndchk->GetPointP()) ||
+ !grp->m_aab.UnderPlaneYUnder(i_gndchk->GetPointP().y) ||
+ grp->m_aab.TopPlaneYUnder(i_gndchk->GetNowY()))
{
return false;
}
- if (ChkGrpThrough(param_1, param_0->GetGrpPassChk(), param_2)) {
+
+ if (ChkGrpThrough(i_grp_idx, i_gndchk->GetGrpPassChk(), i_depth)) {
return false;
}
- bool uVar6 = false;
- if (pm_bgd->m_g_tbl[param_1].m_tree_idx != 0xFFFF &&
- GroundCrossRp(param_0, pm_bgd->m_g_tbl[param_1].m_tree_idx))
+ bool chk = false;
+
+ if (pm_bgd->m_g_tbl[i_grp_idx].m_tree_idx != 0xFFFF &&
+ GroundCrossRp(i_gndchk, pm_bgd->m_g_tbl[i_grp_idx].m_tree_idx))
{
- uVar6 = true;
+ chk = true;
}
- s32 uVar8 = pm_bgd->m_g_tbl[param_1].m_first_child;
+
+ s32 child_idx = pm_bgd->m_g_tbl[i_grp_idx].m_first_child;
while (true) {
- if (uVar8 == 0xFFFF) {
+ if (child_idx == 0xFFFF)
break;
+
+ if (GroundCrossGrpRp(i_gndchk, child_idx, i_depth + 1)) {
+ chk = true;
}
- if (GroundCrossGrpRp(param_0, uVar8, param_2 + 1)) {
- uVar6 = true;
- }
- uVar8 = pm_bgd->m_g_tbl[uVar8].m_next_sibling;
+
+ child_idx = pm_bgd->m_g_tbl[child_idx].m_next_sibling;
}
- return uVar6;
+
+ return chk;
}
/* 8007AB9C-8007ABC4 0754DC 0028+00 2/0 1/0 0/0 .text GroundCross__4cBgWFP11cBgS_GndChk
*/
-bool cBgW::GroundCross(cBgS_GndChk* pchk) {
- return GroundCrossGrpRp(pchk, m_rootGrpIdx, 1);
+bool cBgW::GroundCross(cBgS_GndChk* i_gndchk) {
+ return GroundCrossGrpRp(i_gndchk, m_rootGrpIdx, 1);
}
/* 8007ABC4-8007AC10 075504 004C+00 1/1 0/0 0/0 .text CopyOldMtx__4cBgWFv */
@@ -939,7 +684,7 @@ void cBgW::CopyOldMtx() {
/* 8007AC10-8007ADF0 075550 01E0+00 1/1 0/0 0/0 .text Move__4cBgWFv */
void cBgW::Move() {
- if (!ChkLock() && (mFlags & 1)) {
+ if (!ChkLock() && (mFlags & MOVE_BG_e)) {
if (!ChkNoCalcVtx()) {
if (mMoveCounter >= 0xFF || m_mtx[0][0] != pm_base[0][0] ||
m_mtx[0][1] != pm_base[0][1] || m_mtx[0][2] != pm_base[0][2] ||
@@ -978,39 +723,40 @@ void cBgW::Move() {
}
/* 8007ADF0-8007AEA4 075730 00B4+00 1/1 0/0 0/0 .text RwgShdwDraw__4cBgWFiP13cBgS_ShdwDraw */
-void cBgW::RwgShdwDraw(int param_0, cBgS_ShdwDraw* param_1) {
+void cBgW::RwgShdwDraw(int i_idx, cBgS_ShdwDraw* i_shdw) {
while (true) {
- cBgW_RwgElm* puVar4 = &pm_rwg[param_0];
- if (!ChkShdwDrawThrough(param_0, param_1->GetPolyPassChk())) {
- (param_1->mCallbackFun)(param_1, pm_vtx_tbl, pm_bgd->m_t_tbl[param_0].m_vtx_idx0,
- pm_bgd->m_t_tbl[param_0].m_vtx_idx1,
- pm_bgd->m_t_tbl[param_0].m_vtx_idx2, &pm_tri[param_0].m_plane);
+ cBgW_RwgElm* rwg = &pm_rwg[i_idx];
+ if (!ChkShdwDrawThrough(i_idx, i_shdw->GetPolyPassChk())) {
+ (i_shdw->mCallbackFun)(i_shdw, pm_vtx_tbl, pm_bgd->m_t_tbl[i_idx].m_vtx_idx0,
+ pm_bgd->m_t_tbl[i_idx].m_vtx_idx1,
+ pm_bgd->m_t_tbl[i_idx].m_vtx_idx2, &pm_tri[i_idx].m_plane);
}
- if (puVar4->m_next == 0xFFFF)
+
+ if (rwg->m_next == 0xFFFF)
break;
- param_0 = puVar4->m_next;
+ i_idx = rwg->m_next;
}
}
/* 8007AEA4-8007AFC0 0757E4 011C+00 1/1 0/0 0/0 .text ShdwDrawRp__4cBgWFP13cBgS_ShdwDrawi
*/
-void cBgW::ShdwDrawRp(cBgS_ShdwDraw* param_1, int param_2) {
- if (pm_node_tree[param_2].Cross(param_1->GetBndP())) {
- cBgD_Tree_t* puVar3 = &pm_bgd->m_tree_tbl[param_2];
- if ((puVar3->m_flag & 1)) {
- if (pm_blk[puVar3->m_id[0]].m_wall_idx != 0xFFFF) {
- RwgShdwDraw(pm_blk[puVar3->m_id[0]].m_wall_idx, param_1);
+void cBgW::ShdwDrawRp(cBgS_ShdwDraw* i_shdw, int i_idx) {
+ if (pm_node_tree[i_idx].Cross(i_shdw->GetBndP())) {
+ cBgD_Tree_t* tree = &pm_bgd->m_tree_tbl[i_idx];
+ if ((tree->m_flag & 1)) {
+ if (pm_blk[tree->m_id[0]].m_wall_idx != 0xFFFF) {
+ RwgShdwDraw(pm_blk[tree->m_id[0]].m_wall_idx, i_shdw);
}
- if (pm_blk[puVar3->m_id[0]].m_roof_idx != 0xFFFF) {
- RwgShdwDraw(pm_blk[puVar3->m_id[0]].m_roof_idx, param_1);
+ if (pm_blk[tree->m_id[0]].m_roof_idx != 0xFFFF) {
+ RwgShdwDraw(pm_blk[tree->m_id[0]].m_roof_idx, i_shdw);
}
- if (pm_blk[puVar3->m_id[0]].m_gnd_idx != 0xFFFF) {
- RwgShdwDraw(pm_blk[puVar3->m_id[0]].m_gnd_idx, param_1);
+ if (pm_blk[tree->m_id[0]].m_gnd_idx != 0xFFFF) {
+ RwgShdwDraw(pm_blk[tree->m_id[0]].m_gnd_idx, i_shdw);
}
} else {
- for (int iVar2 = 0; iVar2 < 8; iVar2++) {
- if (puVar3->m_id[iVar2] != 0xFFFF) {
- ShdwDrawRp(param_1, puVar3->m_id[iVar2]);
+ for (int i = 0; i < 8; i++) {
+ if (tree->m_id[i] != 0xFFFF) {
+ ShdwDrawRp(i_shdw, tree->m_id[i]);
}
}
}
@@ -1018,25 +764,26 @@ void cBgW::ShdwDrawRp(cBgS_ShdwDraw* param_1, int param_2) {
}
/* 8007AFC0-8007B084 075900 00C4+00 1/1 0/0 0/0 .text ShdwDrawGrpRp__4cBgWFP13cBgS_ShdwDrawi */
-void cBgW::ShdwDrawGrpRp(cBgS_ShdwDraw* param_0, int param_1) {
- if (pm_grp[param_1].m_aab.Cross(param_0->GetBndP())) {
- if (pm_bgd->m_g_tbl[param_1].m_tree_idx != 0xFFFF) {
- ShdwDrawRp(param_0, pm_bgd->m_g_tbl[param_1].m_tree_idx);
+void cBgW::ShdwDrawGrpRp(cBgS_ShdwDraw* i_shdw, int i_idx) {
+ if (pm_grp[i_idx].m_aab.Cross(i_shdw->GetBndP())) {
+ if (pm_bgd->m_g_tbl[i_idx].m_tree_idx != 0xFFFF) {
+ ShdwDrawRp(i_shdw, pm_bgd->m_g_tbl[i_idx].m_tree_idx);
}
- s32 uVar1 = pm_bgd->m_g_tbl[param_1].m_first_child;
+
+ s32 child_idx = pm_bgd->m_g_tbl[i_idx].m_first_child;
while (true) {
- if (uVar1 == 0xFFFF) {
+ if (child_idx == 0xFFFF) {
break;
}
- ShdwDrawGrpRp(param_0, uVar1);
- uVar1 = pm_bgd->m_g_tbl[uVar1].m_next_sibling;
+ ShdwDrawGrpRp(i_shdw, child_idx);
+ child_idx = pm_bgd->m_g_tbl[child_idx].m_next_sibling;
}
}
}
/* 8007B084-8007B0A8 0759C4 0024+00 2/0 1/0 0/0 .text ShdwDraw__4cBgWFP13cBgS_ShdwDraw */
-void cBgW::ShdwDraw(cBgS_ShdwDraw* pshdw) {
- ShdwDrawGrpRp(pshdw, m_rootGrpIdx);
+void cBgW::ShdwDraw(cBgS_ShdwDraw* i_shdw) {
+ ShdwDrawGrpRp(i_shdw, m_rootGrpIdx);
}
/* 8007B0A8-8007B0B0 0759E8 0008+00 1/0 0/0 0/0 .text ChkPolyThrough__4cBgWFiP16cBgS_PolyPassChk
@@ -1060,13 +807,13 @@ bool cBgW::ChkGrpThrough(int param_0, cBgS_GrpPassChk* param_1, int param_2) {
s32 cBgW::GetGrpRoomIndex(cBgS_PolyInfo const& poly) const {
int grp_index = GetTriGrp(poly.GetPolyIndex());
- u16 tmp = pm_bgd->m_g_tbl[grp_index].m_parent;
+ u16 parent_idx = pm_bgd->m_g_tbl[grp_index].m_parent;
- if (tmp == 0xFFFF || pm_bgd->m_g_tbl[tmp].m_parent == 0xFFFF) {
+ if (parent_idx == 0xFFFF || pm_bgd->m_g_tbl[parent_idx].m_parent == 0xFFFF) {
return 0xFF;
}
- int room_index = pm_bgd->m_g_tbl[pm_bgd->m_g_tbl[tmp].m_parent].m_room_id;
+ int room_index = pm_bgd->m_g_tbl[pm_bgd->m_g_tbl[parent_idx].m_parent].m_room_id;
if (room_index >= 0xFF) {
room_index = 0xFF;
}
@@ -1080,29 +827,29 @@ cM3dGAab* cBgW::GetBnd() const {
}
/* 8007B17C-8007B1B4 075ABC 0038+00 0/0 1/1 0/0 .text GetTrans__4cBgWCFP4cXyz */
-void cBgW::GetTrans(cXyz* p_trans) const {
+void cBgW::GetTrans(cXyz* o_trans) const {
MtxP base = pm_base;
- p_trans->x = base[0][3] - m_inv_mtx[0][3];
- p_trans->y = base[1][3] - m_inv_mtx[1][3];
- p_trans->z = base[2][3] - m_inv_mtx[2][3];
+ o_trans->x = base[0][3] - m_inv_mtx[0][3];
+ o_trans->y = base[1][3] - m_inv_mtx[1][3];
+ o_trans->z = base[2][3] - m_inv_mtx[2][3];
}
/* 8007B1B4-8007B240 075AF4 008C+00 2/0 1/0 0/0 .text
* GetTriPnt__4cBgWCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz */
-bool cBgW::GetTriPnt(cBgS_PolyInfo const& poly, cXyz* p_pnt1, cXyz* p_pnt2, cXyz* p_pnt3) const {
+bool cBgW::GetTriPnt(cBgS_PolyInfo const& poly, cXyz* o_pntA, cXyz* o_pntB, cXyz* o_pntC) const {
u16 poly_index = poly.GetPolyIndex();
- cBgD_Tri_t* tri_data = &pm_bgd->m_t_tbl[poly_index];
+ cBgD_Tri_t* tri = &pm_bgd->m_t_tbl[poly_index];
- p_pnt1->set(pm_vtx_tbl[tri_data->m_vtx_idx0]);
- p_pnt2->set(pm_vtx_tbl[tri_data->m_vtx_idx1]);
- p_pnt3->set(pm_vtx_tbl[tri_data->m_vtx_idx2]);
+ o_pntA->set(pm_vtx_tbl[tri->m_vtx_idx0]);
+ o_pntB->set(pm_vtx_tbl[tri->m_vtx_idx1]);
+ o_pntC->set(pm_vtx_tbl[tri->m_vtx_idx2]);
return true;
}
/* 8007B240-8007B270 075B80 0030+00 2/0 1/0 0/0 .text GetTopUnder__4cBgWCFPfPf */
-void cBgW::GetTopUnder(f32* p_top, f32* p_under) const {
- *p_under = pm_grp[m_rootGrpIdx].m_aab.GetMinP()->y;
- *p_top = pm_grp[m_rootGrpIdx].m_aab.GetMaxP()->y;
+void cBgW::GetTopUnder(f32* o_top, f32* o_under) const {
+ *o_under = pm_grp[m_rootGrpIdx].m_aab.GetMinP()->y;
+ *o_top = pm_grp[m_rootGrpIdx].m_aab.GetMaxP()->y;
}
/* 8007B270-8007B2B0 075BB0 0040+00 2/0 1/0 0/0 .text GetTriPla__4cBgWCFRC13cBgS_PolyInfo
@@ -1310,12 +1057,12 @@ bool cBgW::ChkNotReady() const {
/* 8007B958-8007B964 076298 000C+00 2/0 1/0 0/0 .text ChkLock__4cBgWCFv */
bool cBgW::ChkLock() const {
- return mFlags & 0x80;
+ return mFlags & LOCK_e;
}
/* 8007B964-8007B970 0762A4 000C+00 2/0 1/0 0/0 .text ChkMoveBg__4cBgWCFv */
bool cBgW::ChkMoveBg() const {
- return mFlags & 0x1;
+ return mFlags & MOVE_BG_e;
}
/* 8007B970-8007B9C0 0762B0 0050+00 1/1 2/2 87/87 .text __ct__4dBgWFv */
@@ -1334,112 +1081,303 @@ void dBgW::Move() {
/* 8007B9EC-8007BA40 07632C 0054+00 2/2 0/0 0/0 .text
* positionWallCorrect__4dBgWFP9dBgS_AcchfR8cM3dGPlaP4cXyzf */
-// matches with literals
-#ifdef NONMATCHING
-void dBgW::positionWallCorrect(dBgS_Acch* param_0, f32 param_1, cM3dGPla& param_2, cXyz* pupper_pos,
- f32 param_4) {
- param_0->SetWallHit();
+void dBgW::positionWallCorrect(dBgS_Acch* i_acch, f32 i_dist, cM3dGPla& plane, cXyz* pupper_pos,
+ f32 speed) {
+ i_acch->SetWallHit();
- f32 tmp = param_4 - 1.0f;
- if (tmp < 0.0f) {
- tmp = 0.0f;
+ f32 speed_correct = speed - 1.0f;
+ if (speed_correct < 0.0f) {
+ speed_correct = 0.0f;
}
- f32 temp_f2 = tmp * param_1;
- pupper_pos->x += temp_f2 * param_2.mNormal.x;
- pupper_pos->z += temp_f2 * param_2.mNormal.z;
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dBgW::positionWallCorrect(dBgS_Acch* param_0, f32 param_1, cM3dGPla& param_2,
- cXyz* param_3, f32 param_4) {
- nofralloc
-#include "asm/d/bg/d_bg_w/positionWallCorrect__4dBgWFP9dBgS_AcchfR8cM3dGPlaP4cXyzf.s"
+ f32 move = speed_correct * i_dist;
+ pupper_pos->x += move * plane.mNormal.x;
+ pupper_pos->z += move * plane.mNormal.z;
}
-#pragma pop
-#endif
-
-/* ############################################################################################## */
-/* 80452710-80452718 000D10 0004+04 2/2 0/0 0/0 .sdata2 @4962 */
-SECTION_SDATA2 static f32 lit_4962[1 + 1 /* padding */] = {
- 1.0f / 125.0f,
- /* padding */
- 0.0f,
-};
/* 8007BA40-8007C234 076380 07F4+00 1/1 0/0 0/0 .text RwgWallCorrect__4dBgWFP9dBgS_AcchUs
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool dBgW::RwgWallCorrect(dBgS_Acch* param_0, u16 param_1) {
- nofralloc
-#include "asm/d/bg/d_bg_w/RwgWallCorrect__4dBgWFP9dBgS_AcchUs.s"
+bool dBgW::RwgWallCorrect(dBgS_Acch* pwi, u16 i_poly_idx) {
+ bool correct = false;
+
+ while (true) {
+ cBgW_RwgElm* rwg_elm = &pm_rwg[i_poly_idx];
+
+ if (!ChkPolyThrough(i_poly_idx, pwi->GetPolyPassChk())) {
+ cBgW_TriElm* tri = &pm_tri[i_poly_idx];
+
+ f32 sp68 = JMAFastSqrt(tri->m_plane.GetNP()->x * tri->m_plane.GetNP()->x +
+ tri->m_plane.GetNP()->z * tri->m_plane.GetNP()->z);
+ if (cM3d_IsZero(sp68)) {
+ if (rwg_elm->m_next != 0xFFFF) {
+ i_poly_idx = rwg_elm->m_next;
+ continue;
+ }
+ break;
+ }
+
+ f32 sp6C = 1.0f / sp68;
+ cBgD_Tri_t* tri_data = &pm_bgd->m_t_tbl[i_poly_idx];
+ int cir_index = 0;
+
+ while (cir_index < pwi->GetTblSize()) {
+ f32 sp78 = sp6C * pwi->GetWallR(cir_index);
+ Vec sp50;
+ sp50.x = sp78 * tri->m_plane.GetNP()->x;
+ sp50.y = 0.0f;
+ sp50.z = sp78 * tri->m_plane.GetNP()->z;
+
+ f32 sp7C;
+ if (!pwi->ChkWallHDirect(cir_index)) {
+ sp7C =
+ (pwi->GetWallAddY(sp50) + (pwi->GetPos()->y + pwi->GetWallH(cir_index))) -
+ pwi->GetSpeedY();
+ } else {
+ sp7C = pwi->GetWallHDirect(cir_index);
+ }
+
+ f32 sp5C[3];
+ sp5C[0] = pm_vtx_tbl[tri_data->m_vtx_idx0].y - sp7C;
+ sp5C[1] = pm_vtx_tbl[tri_data->m_vtx_idx1].y - sp7C;
+ sp5C[2] = pm_vtx_tbl[tri_data->m_vtx_idx2].y - sp7C;
+
+ if ((!(sp5C[0] > 0.0f) || !(sp5C[1] > 0.0f) || !(sp5C[2] > 0.0f)) &&
+ (!(sp5C[0] < 0.0f) || !(sp5C[1] < 0.0f) || !(sp5C[2] < 0.0f)))
+ {
+ int sp8C = 0;
+ if (cM3d_IsZero(sp5C[0])) {
+ sp8C++;
+ }
+ if (cM3d_IsZero(sp5C[1])) {
+ sp8C++;
+ }
+ if (cM3d_IsZero(sp5C[2])) {
+ sp8C++;
+ }
+
+ int sp80, sp84, sp88;
+ if (sp8C != 1) {
+ if ((sp5C[0] > 0.0f && (sp5C[1] <= 0.0f) && (sp5C[2] <= 0.0f)) ||
+ (sp5C[0] < 0.0f && (sp5C[1] >= 0.0f) && (sp5C[2] >= 0.0f)))
+ {
+ sp80 = 0;
+ sp84 = 1;
+ sp88 = 2;
+ } else if ((sp5C[1] > 0.0f && (sp5C[0] <= 0.0f) && (sp5C[2] <= 0.0f)) ||
+ (sp5C[1] < 0.0f && (sp5C[0] >= 0.0f) && (sp5C[2] >= 0.0f)))
+ {
+ sp80 = 1;
+ sp84 = 0;
+ sp88 = 2;
+ } else {
+ sp80 = 2;
+ sp84 = 0;
+ sp88 = 1;
+ }
+
+ f32 sp90 = sp5C[sp80] - sp5C[sp84];
+ f32 sp94 = sp5C[sp80] - sp5C[sp88];
+ if (!cM3d_IsZero(sp90) && !cM3d_IsZero(sp94)) {
+ f32 sp98 = -sp5C[sp84] / sp90;
+ f32 sp9C = -sp5C[sp88] / sp94;
+
+ f32 vtx0_x = pm_vtx_tbl[tri_data->m_vtx_idx0].x;
+ f32 vtx0_z = pm_vtx_tbl[tri_data->m_vtx_idx0].z;
+ f32 vtx1_x = pm_vtx_tbl[tri_data->m_vtx_idx1].x;
+ f32 vtx1_z = pm_vtx_tbl[tri_data->m_vtx_idx1].z;
+ f32 vtx2_x = pm_vtx_tbl[tri_data->m_vtx_idx2].x;
+ f32 vtx2_z = pm_vtx_tbl[tri_data->m_vtx_idx2].z;
+
+ f32 cx0, cy0, cx1, cy1;
+ if (sp80 == 0) {
+ cx0 = vtx1_x + sp98 * (vtx0_x - vtx1_x);
+ cy0 = vtx1_z + sp98 * (vtx0_z - vtx1_z);
+ cx1 = vtx2_x + sp9C * (vtx0_x - vtx2_x);
+ cy1 = vtx2_z + sp9C * (vtx0_z - vtx2_z);
+ } else if (sp80 == 1) {
+ cx0 = vtx0_x + sp98 * (vtx1_x - vtx0_x);
+ cy0 = vtx0_z + sp98 * (vtx1_z - vtx0_z);
+ cx1 = vtx2_x + sp9C * (vtx1_x - vtx2_x);
+ cy1 = vtx2_z + sp9C * (vtx1_z - vtx2_z);
+ } else {
+ cx0 = vtx0_x + sp98 * (vtx2_x - vtx0_x);
+ cy0 = vtx0_z + sp98 * (vtx2_z - vtx0_z);
+ cx1 = vtx1_x + sp9C * (vtx2_x - vtx1_x);
+ cy1 = vtx1_z + sp9C * (vtx2_z - vtx1_z);
+ }
+
+ cx0 += sp50.x;
+ cy0 += sp50.z;
+ cx1 += sp50.x;
+ cy1 += sp50.z;
+
+ f32 spC8, spCC, spD0;
+ bool sp107 =
+ cM3d_Len2dSqPntAndSegLine(pwi->GetCx(), pwi->GetCz(), cx0, cy0, cx1,
+ cy1, &spCC, &spD0, &spC8);
+
+ f32 spD4 = spCC - pwi->GetCx();
+ f32 spD8 = spD0 - pwi->GetCz();
+ f32 spDC = pwi->GetWallRR(cir_index);
+
+ if (!(spC8 > spDC) && !(spD4 * sp50.x + spD8 * sp50.z < 0.0f)) {
+ if (sp107 == 1) {
+ positionWallCorrect(pwi, sp6C, tri->m_plane, pwi->GetPos(),
+ JMAFastSqrt(spC8));
+ pwi->CalcMovePosWork();
+ pwi->SetWallCirHit(cir_index);
+ pwi->SetWallPolyIndex(cir_index, i_poly_idx);
+ pwi->SetWallAngleY(cir_index,
+ cM_atan2s(tri->m_plane.GetNP()->x,
+ tri->m_plane.GetNP()->z));
+ correct = true;
+ } else {
+ cx0 -= sp50.x;
+ cy0 -= sp50.z;
+ cx1 -= sp50.x;
+ cy1 -= sp50.z;
+
+ JUT_ASSERT(pwi->GetPos()->x ==
+ pwi->GetWallCirP(cir_index)->GetCx());
+ JUT_ASSERT(pwi->GetPos()->z ==
+ pwi->GetWallCirP(cir_index)->GetCy());
+
+ f32 spE0 =
+ cM3d_Len2dSq(cx0, cy0, pwi->GetPos()->x, pwi->GetPos()->z);
+ f32 spE4 =
+ cM3d_Len2dSq(cx1, cy1, pwi->GetPos()->x, pwi->GetPos()->z);
+
+ f32 onx = -tri->m_plane.GetNP()->x;
+ f32 ony = -tri->m_plane.GetNP()->z;
+
+ JUT_ASSERT(!(cM3d_IsZero(onx) && cM3d_IsZero(ony)));
+
+ if (spE0 < spE4) {
+ if (!(spE0 > spDC) && !(fabsf(spE0 - spDC) < 0.008f)) {
+ JUT_ASSERT(!(fpclassify(cx0) == 1));
+ JUT_ASSERT(!(fpclassify(cy0) == 1));
+
+ f32 spF0, spF4;
+ cM2d_CrossCirLin(*pwi->GetWallCirP(cir_index), cx0, cy0,
+ onx, ony, &spF0, &spF4);
+ pwi->GetPos()->x += cx0 - spF0;
+ pwi->GetPos()->z += cy0 - spF4;
+
+ JUT_ASSERT(!(fpclassify(pwi->GetPos()->x) == 1));
+ JUT_ASSERT(!(fpclassify(pwi->GetPos()->z) == 1));
+
+ pwi->CalcMovePosWork();
+ pwi->SetWallCirHit(cir_index);
+ pwi->SetWallPolyIndex(cir_index, i_poly_idx);
+ pwi->SetWallAngleY(cir_index,
+ cM_atan2s(tri->m_plane.GetNP()->x,
+ tri->m_plane.GetNP()->z));
+ correct = true;
+ pwi->SetWallHit();
+ }
+ } else if (!(spE4 > spDC) && !(fabsf(spE4 - spDC) < 0.008f)) {
+ JUT_ASSERT(!(fpclassify(cx1) == 1));
+ JUT_ASSERT(!(fpclassify(cy1) == 1));
+
+ f32 spF8, spFC;
+ cM2d_CrossCirLin(*pwi->GetWallCirP(cir_index), cx1, cy1,
+ onx, ony, &spF8, &spFC);
+ pwi->GetPos()->x += cx1 - spF8;
+ pwi->GetPos()->z += cy1 - spFC;
+
+ JUT_ASSERT(!(fpclassify(pwi->GetPos()->x) == 1));
+ JUT_ASSERT(!(fpclassify(pwi->GetPos()->z) == 1));
+
+ pwi->CalcMovePosWork();
+ pwi->SetWallCirHit(cir_index);
+ pwi->SetWallPolyIndex(cir_index, i_poly_idx);
+ pwi->SetWallAngleY(cir_index,
+ cM_atan2s(tri->m_plane.GetNP()->x,
+ tri->m_plane.GetNP()->z));
+ correct = true;
+ pwi->SetWallHit();
+ }
+ }
+ }
+ }
+ }
+ }
+
+ cir_index++;
+ }
+ }
+
+ if (rwg_elm->m_next == 0xFFFF) {
+ break;
+ }
+
+ i_poly_idx = rwg_elm->m_next;
+ }
+
+ return correct;
}
-#pragma pop
/* 8007C234-8007C360 076B74 012C+00 1/1 0/0 0/0 .text WallCorrectRp__4dBgWFP9dBgS_Acchi
*/
-bool dBgW::WallCorrectRp(dBgS_Acch* param_0, int param_1) {
- if (!pm_node_tree[param_1].Cross(param_0->GetWallBmdCylP())) {
+bool dBgW::WallCorrectRp(dBgS_Acch* i_acch, int i_idx) {
+ if (!pm_node_tree[i_idx].Cross(i_acch->GetWallBmdCylP())) {
return false;
}
- cBgD_Tree_t* puVar9 = &pm_bgd->m_tree_tbl[param_1];
- bool uVar6 = false;
- if ((puVar9->m_flag & 1)) {
- if (pm_blk[puVar9->m_id[0]].m_wall_idx != 0xFFFF &&
- RwgWallCorrect(param_0, pm_blk[puVar9->m_id[0]].m_wall_idx))
+ cBgD_Tree_t* tree = &pm_bgd->m_tree_tbl[i_idx];
+ bool chk = false;
+ if ((tree->m_flag & 1)) {
+ if (pm_blk[tree->m_id[0]].m_wall_idx != 0xFFFF &&
+ RwgWallCorrect(i_acch, pm_blk[tree->m_id[0]].m_wall_idx))
{
- uVar6 = true;
+ chk = true;
}
- if (pm_blk[puVar9->m_id[0]].m_roof_idx != 0xFFFF &&
- RwgWallCorrect(param_0, pm_blk[puVar9->m_id[0]].m_roof_idx))
+ if (pm_blk[tree->m_id[0]].m_roof_idx != 0xFFFF &&
+ RwgWallCorrect(i_acch, pm_blk[tree->m_id[0]].m_roof_idx))
{
- uVar6 = true;
+ chk = true;
}
- return uVar6;
+ return chk;
}
+
for (int i = 0; i < 8; i++) {
- if (puVar9->m_id[i] != 0xFFFF && WallCorrectRp(param_0, puVar9->m_id[i])) {
- uVar6 = true;
+ if (tree->m_id[i] != 0xFFFF && WallCorrectRp(i_acch, tree->m_id[i])) {
+ chk = true;
}
}
- return uVar6;
+ return chk;
}
/* 8007C360-8007C484 076CA0 0124+00 1/1 0/0 0/0 .text WallCorrectGrpRp__4dBgWFP9dBgS_Acchii */
-bool dBgW::WallCorrectGrpRp(dBgS_Acch* param_0, int param_1, int param_2) {
- if (!pm_grp[param_1].m_aab.Cross(param_0->GetWallBmdCylP())) {
+bool dBgW::WallCorrectGrpRp(dBgS_Acch* i_acch, int i_idx, int i_depth) {
+ if (!pm_grp[i_idx].m_aab.Cross(i_acch->GetWallBmdCylP())) {
return false;
}
- if (ChkGrpThrough(param_1, param_0->GetGrpPassChk(), param_2)) {
+ if (ChkGrpThrough(i_idx, i_acch->GetGrpPassChk(), i_depth)) {
return false;
}
- bool uVar6 = false;
- if (pm_bgd->m_g_tbl[param_1].m_tree_idx != 0xFFFF &&
- WallCorrectRp(param_0, pm_bgd->m_g_tbl[param_1].m_tree_idx))
+ bool chk = false;
+ if (pm_bgd->m_g_tbl[i_idx].m_tree_idx != 0xFFFF &&
+ WallCorrectRp(i_acch, pm_bgd->m_g_tbl[i_idx].m_tree_idx))
{
- uVar6 = true;
+ chk = true;
}
- s32 uVar1 = pm_bgd->m_g_tbl[param_1].m_first_child;
+ s32 child_idx = pm_bgd->m_g_tbl[i_idx].m_first_child;
while (true) {
- if (uVar1 == 0xFFFF) {
+ if (child_idx == 0xFFFF) {
break;
}
- if (WallCorrectGrpRp(param_0, uVar1, param_2 + 1)) {
- uVar6 = true;
+ if (WallCorrectGrpRp(i_acch, child_idx, i_depth + 1)) {
+ chk = true;
}
- uVar1 = pm_bgd->m_g_tbl[uVar1].m_next_sibling;
+ child_idx = pm_bgd->m_g_tbl[child_idx].m_next_sibling;
}
- return uVar6;
+ return chk;
}
/* 8007C484-8007C4AC 076DC4 0028+00 1/0 1/0 0/0 .text WallCorrect__4dBgWFP9dBgS_Acch */
@@ -1449,11 +1387,10 @@ bool dBgW::WallCorrect(dBgS_Acch* pacch) {
struct wcs_data {
/* 0x0 */ f32 field_0x0;
- /* 0x4 */ u16 field_0x4;
- /* 0x8 */ int field_0x8;
-}; // Size: 0xC
+ /* 0x4 */ u16 poly_idx;
+ /* 0x8 */ wcs_data* next;
+};
-/* ############################################################################################## */
/* 80424B80-80424F70 0518A0 03F0+00 1/1 0/0 0/0 .bss l_wcsbuf */
static wcs_data l_wcsbuf[84];
@@ -1464,59 +1401,136 @@ static wcs_data* l_start;
static int l_wcsbuf_num;
/* 8007C4AC-8007C714 076DEC 0268+00 1/1 0/0 0/0 .text RwgWallCorrectSort__4dBgWFP9dBgS_AcchUs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dBgW::RwgWallCorrectSort(dBgS_Acch* param_0, u16 param_1) {
- nofralloc
-#include "asm/d/bg/d_bg_w/RwgWallCorrectSort__4dBgWFP9dBgS_AcchUs.s"
+void dBgW::RwgWallCorrectSort(dBgS_Acch* i_acch, u16 i_poly_idx) {
+ while (true) {
+ cBgW_RwgElm* rwg_elm = &pm_rwg[i_poly_idx];
+
+ if (!ChkPolyThrough(i_poly_idx, i_acch->GetPolyPassChk())) {
+ cBgW_TriElm* tri_elm = &pm_tri[i_poly_idx];
+
+ f32 var_f30 = JMAFastSqrt(tri_elm->m_plane.GetNP()->x * tri_elm->m_plane.GetNP()->x +
+ tri_elm->m_plane.GetNP()->z * tri_elm->m_plane.GetNP()->z);
+ if (cM3d_IsZero(var_f30)) {
+ if (rwg_elm->m_next != 0xFFFF) {
+ i_poly_idx = rwg_elm->m_next;
+ continue;
+ }
+ break;
+ }
+
+ fopAc_ac_c* actor = i_acch->getMyAc();
+ cXyz sp88;
+ sp88.x = cM_ssin(actor->current.angle.y);
+ sp88.z = cM_scos(actor->current.angle.y);
+
+ f32 var_f29 = 1.0f / var_f30;
+ f32 var_f31 = var_f29 * ((sp88.x * tri_elm->m_plane.GetNP()->x) +
+ (sp88.z * tri_elm->m_plane.GetNP()->z));
+
+ wcs_data* data = l_start;
+ if (data == NULL) {
+ if (l_wcsbuf_num < 84) {
+ l_wcsbuf[l_wcsbuf_num].field_0x0 = var_f31;
+ l_wcsbuf[l_wcsbuf_num].poly_idx = i_poly_idx;
+ l_wcsbuf[l_wcsbuf_num].next = NULL;
+ l_start = &l_wcsbuf[l_wcsbuf_num];
+ l_wcsbuf_num++;
+ }
+ } else if (i_poly_idx != l_start->poly_idx) {
+ if (var_f31 > l_start->field_0x0) {
+ if (l_wcsbuf_num < 84) {
+ l_wcsbuf[l_wcsbuf_num].field_0x0 = var_f31;
+ l_wcsbuf[l_wcsbuf_num].poly_idx = i_poly_idx;
+ l_wcsbuf[l_wcsbuf_num].next = l_start;
+ l_start = &l_wcsbuf[l_wcsbuf_num];
+ l_wcsbuf_num++;
+ }
+ } else {
+ while (true) {
+ wcs_data* tmp_data = data->next;
+ if (tmp_data == NULL) {
+ if (l_wcsbuf_num < 84) {
+ l_wcsbuf[l_wcsbuf_num].field_0x0 = var_f31;
+ l_wcsbuf[l_wcsbuf_num].poly_idx = i_poly_idx;
+ l_wcsbuf[l_wcsbuf_num].next = NULL;
+ data->next = &l_wcsbuf[l_wcsbuf_num];
+ l_wcsbuf_num++;
+ }
+ break;
+ } else if (i_poly_idx == tmp_data->poly_idx) {
+ break;
+ }
+
+ if (var_f31 > tmp_data->field_0x0) {
+ if (l_wcsbuf_num < 84) {
+ l_wcsbuf[l_wcsbuf_num].field_0x0 = var_f31;
+ l_wcsbuf[l_wcsbuf_num].poly_idx = i_poly_idx;
+ l_wcsbuf[l_wcsbuf_num].next = data->next;
+ data->next = &l_wcsbuf[l_wcsbuf_num];
+ l_wcsbuf_num++;
+ }
+ break;
+ }
+
+ data = tmp_data;
+ }
+ }
+ }
+ }
+
+ if (rwg_elm->m_next == 0xFFFF) {
+ return;
+ }
+
+ i_poly_idx = rwg_elm->m_next;
+ }
}
-#pragma pop
/* 8007C714-8007C808 077054 00F4+00 1/1 0/0 0/0 .text WallCorrectRpSort__4dBgWFP9dBgS_Acchi */
-void dBgW::WallCorrectRpSort(dBgS_Acch* param_0, int param_1) {
- if (!pm_node_tree[param_1].Cross(param_0->GetWallBmdCylP())) {
+void dBgW::WallCorrectRpSort(dBgS_Acch* i_acch, int i_idx) {
+ if (!pm_node_tree[i_idx].Cross(i_acch->GetWallBmdCylP())) {
return;
}
- cBgD_Tree_t* puVar9 = &pm_bgd->m_tree_tbl[param_1];
- if ((puVar9->m_flag & 1)) {
- if (pm_blk[puVar9->m_id[0]].m_wall_idx != 0xFFFF) {
- RwgWallCorrectSort(param_0, pm_blk[puVar9->m_id[0]].m_wall_idx);
+ cBgD_Tree_t* tree = &pm_bgd->m_tree_tbl[i_idx];
+ if ((tree->m_flag & 1)) {
+ if (pm_blk[tree->m_id[0]].m_wall_idx != 0xFFFF) {
+ RwgWallCorrectSort(i_acch, pm_blk[tree->m_id[0]].m_wall_idx);
}
- if (pm_blk[puVar9->m_id[0]].m_roof_idx != 0xFFFF) {
- RwgWallCorrectSort(param_0, pm_blk[puVar9->m_id[0]].m_roof_idx);
+ if (pm_blk[tree->m_id[0]].m_roof_idx != 0xFFFF) {
+ RwgWallCorrectSort(i_acch, pm_blk[tree->m_id[0]].m_roof_idx);
}
return;
}
+
for (int i = 0; i < 8; i++) {
- if (puVar9->m_id[i] != 0xFFFF) {
- WallCorrectRpSort(param_0, puVar9->m_id[i]);
+ if (tree->m_id[i] != 0xFFFF) {
+ WallCorrectRpSort(i_acch, tree->m_id[i]);
}
}
}
/* 8007C808-8007C910 077148 0108+00 1/1 0/0 0/0 .text WallCorrectGrpRpSort__4dBgWFP9dBgS_Acchii */
-bool dBgW::WallCorrectGrpRpSort(dBgS_Acch* param_0, int param_1, int param_2) {
- if (!pm_grp[param_1].m_aab.Cross(param_0->GetWallBmdCylP())) {
+bool dBgW::WallCorrectGrpRpSort(dBgS_Acch* i_acch, int i_idx, int i_depth) {
+ if (!pm_grp[i_idx].m_aab.Cross(i_acch->GetWallBmdCylP())) {
return false;
}
- if (ChkGrpThrough(param_1, param_0->GetGrpPassChk(), param_2)) {
+ if (ChkGrpThrough(i_idx, i_acch->GetGrpPassChk(), i_depth)) {
return false;
}
- if (pm_bgd->m_g_tbl[param_1].m_tree_idx != 0xFFFF) {
- WallCorrectRpSort(param_0, pm_bgd->m_g_tbl[param_1].m_tree_idx);
+ if (pm_bgd->m_g_tbl[i_idx].m_tree_idx != 0xFFFF) {
+ WallCorrectRpSort(i_acch, pm_bgd->m_g_tbl[i_idx].m_tree_idx);
}
- s32 uVar1 = pm_bgd->m_g_tbl[param_1].m_first_child;
+ s32 child_idx = pm_bgd->m_g_tbl[i_idx].m_first_child;
while (true) {
- if (uVar1 == 0xFFFF) {
+ if (child_idx == 0xFFFF) {
break;
}
- WallCorrectGrpRpSort(param_0, uVar1, param_2 + 1);
- uVar1 = pm_bgd->m_g_tbl[uVar1].m_next_sibling;
+ WallCorrectGrpRpSort(i_acch, child_idx, i_depth + 1);
+ child_idx = pm_bgd->m_g_tbl[child_idx].m_next_sibling;
}
return false;
@@ -1524,103 +1538,309 @@ bool dBgW::WallCorrectGrpRpSort(dBgS_Acch* param_0, int param_1, int param_2) {
/* 8007C910-8007D0DC 077250 07CC+00 1/0 1/0 0/0 .text WallCorrectSort__4dBgWFP9dBgS_Acch
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dBgW::WallCorrectSort(dBgS_Acch* param_0) {
- nofralloc
-#include "asm/d/bg/d_bg_w/WallCorrectSort__4dBgWFP9dBgS_Acch.s"
+bool dBgW::WallCorrectSort(dBgS_Acch* pwi) {
+ l_start = NULL;
+ l_wcsbuf_num = 0;
+
+ WallCorrectGrpRpSort(pwi, m_rootGrpIdx, 1);
+ bool correct = false;
+
+ wcs_data* data = l_start;
+ while (true) {
+ if (data == NULL) {
+ break;
+ }
+
+ int poly_index = data->poly_idx;
+ cBgW_TriElm* tri = &pm_tri[poly_index];
+ f32 sp68 = JMAFastSqrt(tri->m_plane.GetNP()->x * tri->m_plane.GetNP()->x +
+ tri->m_plane.GetNP()->z * tri->m_plane.GetNP()->z);
+
+ f32 sp6C = 1.0f / sp68;
+ cBgD_Tri_t* tri_data = &pm_bgd->m_t_tbl[poly_index];
+ int cir_index = 0;
+
+ while (cir_index < pwi->GetTblSize()) {
+ f32 sp78 = sp6C * pwi->GetWallR(cir_index);
+ Vec sp50;
+ sp50.x = sp78 * tri->m_plane.GetNP()->x;
+ sp50.y = 0.0f;
+ sp50.z = sp78 * tri->m_plane.GetNP()->z;
+
+ f32 sp7C;
+ if (!pwi->ChkWallHDirect(cir_index)) {
+ sp7C = (pwi->GetWallAddY(sp50) + (pwi->GetPos()->y + pwi->GetWallH(cir_index))) -
+ pwi->GetSpeedY();
+ } else {
+ sp7C = pwi->GetWallHDirect(cir_index);
+ }
+
+ f32 sp5C[3];
+ sp5C[0] = pm_vtx_tbl[tri_data->m_vtx_idx0].y - sp7C;
+ sp5C[1] = pm_vtx_tbl[tri_data->m_vtx_idx1].y - sp7C;
+ sp5C[2] = pm_vtx_tbl[tri_data->m_vtx_idx2].y - sp7C;
+
+ if ((!(sp5C[0] > 0.0f) || !(sp5C[1] > 0.0f) || !(sp5C[2] > 0.0f)) &&
+ (!(sp5C[0] < 0.0f) || !(sp5C[1] < 0.0f) || !(sp5C[2] < 0.0f)))
+ {
+ int sp8C = 0;
+ if (cM3d_IsZero(sp5C[0])) {
+ sp8C++;
+ }
+ if (cM3d_IsZero(sp5C[1])) {
+ sp8C++;
+ }
+ if (cM3d_IsZero(sp5C[2])) {
+ sp8C++;
+ }
+
+ int sp80, sp84, sp88;
+ if (sp8C != 1) {
+ if ((sp5C[0] > 0.0f && (sp5C[1] <= 0.0f) && (sp5C[2] <= 0.0f)) ||
+ (sp5C[0] < 0.0f && (sp5C[1] >= 0.0f) && (sp5C[2] >= 0.0f)))
+ {
+ sp80 = 0;
+ sp84 = 1;
+ sp88 = 2;
+ } else if ((sp5C[1] > 0.0f && (sp5C[0] <= 0.0f) && (sp5C[2] <= 0.0f)) ||
+ (sp5C[1] < 0.0f && (sp5C[0] >= 0.0f) && (sp5C[2] >= 0.0f)))
+ {
+ sp80 = 1;
+ sp84 = 0;
+ sp88 = 2;
+ } else {
+ sp80 = 2;
+ sp84 = 0;
+ sp88 = 1;
+ }
+
+ f32 sp90 = sp5C[sp80] - sp5C[sp84];
+ f32 sp94 = sp5C[sp80] - sp5C[sp88];
+ if (!cM3d_IsZero(sp90) && !cM3d_IsZero(sp94)) {
+ f32 sp98 = -sp5C[sp84] / sp90;
+ f32 sp9C = -sp5C[sp88] / sp94;
+
+ f32 vtx0_x = pm_vtx_tbl[tri_data->m_vtx_idx0].x;
+ f32 vtx0_z = pm_vtx_tbl[tri_data->m_vtx_idx0].z;
+ f32 vtx1_x = pm_vtx_tbl[tri_data->m_vtx_idx1].x;
+ f32 vtx1_z = pm_vtx_tbl[tri_data->m_vtx_idx1].z;
+ f32 vtx2_x = pm_vtx_tbl[tri_data->m_vtx_idx2].x;
+ f32 vtx2_z = pm_vtx_tbl[tri_data->m_vtx_idx2].z;
+
+ f32 cx0, cy0, cx1, cy1;
+ if (sp80 == 0) {
+ cx0 = vtx1_x + sp98 * (vtx0_x - vtx1_x);
+ cy0 = vtx1_z + sp98 * (vtx0_z - vtx1_z);
+ cx1 = vtx2_x + sp9C * (vtx0_x - vtx2_x);
+ cy1 = vtx2_z + sp9C * (vtx0_z - vtx2_z);
+ } else if (sp80 == 1) {
+ cx0 = vtx0_x + sp98 * (vtx1_x - vtx0_x);
+ cy0 = vtx0_z + sp98 * (vtx1_z - vtx0_z);
+ cx1 = vtx2_x + sp9C * (vtx1_x - vtx2_x);
+ cy1 = vtx2_z + sp9C * (vtx1_z - vtx2_z);
+ } else {
+ cx0 = vtx0_x + sp98 * (vtx2_x - vtx0_x);
+ cy0 = vtx0_z + sp98 * (vtx2_z - vtx0_z);
+ cx1 = vtx1_x + sp9C * (vtx2_x - vtx1_x);
+ cy1 = vtx1_z + sp9C * (vtx2_z - vtx1_z);
+ }
+
+ cx0 += sp50.x;
+ cy0 += sp50.z;
+ cx1 += sp50.x;
+ cy1 += sp50.z;
+
+ f32 spC8, spCC, spD0;
+ bool sp107 = cM3d_Len2dSqPntAndSegLine(pwi->GetCx(), pwi->GetCz(), cx0, cy0,
+ cx1, cy1, &spCC, &spD0, &spC8);
+
+ f32 spD4 = spCC - pwi->GetCx();
+ f32 spD8 = spD0 - pwi->GetCz();
+ f32 spDC = pwi->GetWallRR(cir_index);
+
+ if (!(spC8 > spDC) && !(spD4 * sp50.x + spD8 * sp50.z < 0.0f)) {
+ if (sp107 == 1) {
+ positionWallCorrect(pwi, sp6C, tri->m_plane, pwi->GetPos(),
+ JMAFastSqrt(spC8));
+ pwi->CalcMovePosWork();
+ pwi->SetWallCirHit(cir_index);
+ pwi->SetWallPolyIndex(cir_index, poly_index);
+ pwi->SetWallAngleY(cir_index, cM_atan2s(tri->m_plane.GetNP()->x,
+ tri->m_plane.GetNP()->z));
+ correct = true;
+ } else {
+ cx0 -= sp50.x;
+ cy0 -= sp50.z;
+ cx1 -= sp50.x;
+ cy1 -= sp50.z;
+
+ JUT_ASSERT(pwi->GetPos()->x ==
+ pwi->GetWallCirP(cir_index)->GetCx());
+ JUT_ASSERT(pwi->GetPos()->z ==
+ pwi->GetWallCirP(cir_index)->GetCy());
+
+ f32 spE0 =
+ cM3d_Len2dSq(cx0, cy0, pwi->GetPos()->x, pwi->GetPos()->z);
+ f32 spE4 =
+ cM3d_Len2dSq(cx1, cy1, pwi->GetPos()->x, pwi->GetPos()->z);
+
+ f32 onx = -tri->m_plane.GetNP()->x;
+ f32 ony = -tri->m_plane.GetNP()->z;
+
+ JUT_ASSERT(!(cM3d_IsZero(onx) && cM3d_IsZero(ony)));
+
+ if (spE0 < spE4) {
+ if (!(spE0 > spDC) && !(fabsf(spE0 - spDC) < 0.008f)) {
+ JUT_ASSERT(!(fpclassify(cx0) == 1));
+ JUT_ASSERT(!(fpclassify(cy0) == 1));
+
+ f32 spF0, spF4;
+ cM2d_CrossCirLin(*pwi->GetWallCirP(cir_index), cx0, cy0,
+ onx, ony, &spF0, &spF4);
+ pwi->GetPos()->x += cx0 - spF0;
+ pwi->GetPos()->z += cy0 - spF4;
+
+ JUT_ASSERT(!(fpclassify(pwi->GetPos()->x) == 1));
+ JUT_ASSERT(!(fpclassify(pwi->GetPos()->z) == 1));
+
+ pwi->CalcMovePosWork();
+ pwi->SetWallCirHit(cir_index);
+ pwi->SetWallPolyIndex(cir_index, poly_index);
+ pwi->SetWallAngleY(cir_index,
+ cM_atan2s(tri->m_plane.GetNP()->x,
+ tri->m_plane.GetNP()->z));
+ correct = true;
+ pwi->SetWallHit();
+ }
+ } else if (!(spE4 > spDC) && !(fabsf(spE4 - spDC) < 0.008f)) {
+ JUT_ASSERT(!(fpclassify(cx1) == 1));
+ JUT_ASSERT(!(fpclassify(cy1) == 1));
+
+ f32 spF8, spFC;
+ cM2d_CrossCirLin(*pwi->GetWallCirP(cir_index), cx1, cy1, onx,
+ ony, &spF8, &spFC);
+ pwi->GetPos()->x += cx1 - spF8;
+ pwi->GetPos()->z += cy1 - spFC;
+
+ JUT_ASSERT(!(fpclassify(pwi->GetPos()->x) == 1));
+ JUT_ASSERT(!(fpclassify(pwi->GetPos()->z) == 1));
+
+ pwi->CalcMovePosWork();
+ pwi->SetWallCirHit(cir_index);
+ pwi->SetWallPolyIndex(cir_index, poly_index);
+ pwi->SetWallAngleY(cir_index,
+ cM_atan2s(tri->m_plane.GetNP()->x,
+ tri->m_plane.GetNP()->z));
+ correct = true;
+ pwi->SetWallHit();
+ }
+ }
+ }
+ }
+ }
+ }
+
+ cir_index++;
+ }
+
+ data = data->next;
+ }
+
+ return correct;
}
-#pragma pop
/* 8007D0DC-8007D208 077A1C 012C+00 1/1 0/0 0/0 .text RwgRoofChk__4dBgWFUsP12dBgS_RoofChk
*/
-bool dBgW::RwgRoofChk(u16 param_0, dBgS_RoofChk* param_1) {
- bool rv = false;
+bool dBgW::RwgRoofChk(u16 i_poly_idx, dBgS_RoofChk* i_roofchk) {
+ bool chk = false;
f32 crossY;
while (true) {
- if (pm_tri[param_0].m_plane.getCrossY(*param_1->GetPosP(), &crossY) &&
- crossY > param_1->GetPosP()->y && crossY < param_1->GetNowY())
+ if (pm_tri[i_poly_idx].m_plane.getCrossY(*i_roofchk->GetPosP(), &crossY) &&
+ crossY > i_roofchk->GetPosP()->y && crossY < i_roofchk->GetNowY())
{
- cBgD_Tri_t* tri_data = &pm_bgd->m_t_tbl[param_0];
- if (cM3d_CrossY_Tri(pm_vtx_tbl[tri_data->m_vtx_idx0], pm_vtx_tbl[tri_data->m_vtx_idx1],
- pm_vtx_tbl[tri_data->m_vtx_idx2], pm_tri[param_0].m_plane,
- (const Vec*)param_1->GetPosP()))
+ cBgD_Tri_t* tri = &pm_bgd->m_t_tbl[i_poly_idx];
+ if (cM3d_CrossY_Tri(pm_vtx_tbl[tri->m_vtx_idx0], pm_vtx_tbl[tri->m_vtx_idx1],
+ pm_vtx_tbl[tri->m_vtx_idx2], pm_tri[i_poly_idx].m_plane,
+ (const Vec*)i_roofchk->GetPosP()))
{
- if (!ChkPolyThrough(param_0, param_1->GetPolyPassChk())) {
- param_1->SetNowY(crossY);
- param_1->SetPolyIndex(param_0);
- rv = true;
+ if (!ChkPolyThrough(i_poly_idx, i_roofchk->GetPolyPassChk())) {
+ i_roofchk->SetNowY(crossY);
+ i_roofchk->SetPolyIndex(i_poly_idx);
+ chk = true;
}
}
}
- if (pm_rwg[param_0].m_next == 0xFFFF)
+
+ if (pm_rwg[i_poly_idx].m_next == 0xFFFF)
break;
- param_0 = pm_rwg[param_0].m_next;
+ i_poly_idx = pm_rwg[i_poly_idx].m_next;
}
- return rv;
+
+ return chk;
}
/* 8007D208-8007D330 077B48 0128+00 1/1 0/0 0/0 .text RoofChkRp__4dBgWFP12dBgS_RoofChki
*/
-bool dBgW::RoofChkRp(dBgS_RoofChk* param_0, int param_1) {
- cBgW_NodeTree* tree = &pm_node_tree[param_1];
- if (!tree->CrossY(param_0->GetPosP()) || !tree->UnderPlaneYUnder(param_0->GetNowY()) ||
- tree->TopPlaneYUnder(param_0->GetPosP()->y))
+bool dBgW::RoofChkRp(dBgS_RoofChk* i_roofchk, int i_idx) {
+ cBgW_NodeTree* node = &pm_node_tree[i_idx];
+ if (!node->CrossY(i_roofchk->GetPosP()) || !node->UnderPlaneYUnder(i_roofchk->GetNowY()) ||
+ node->TopPlaneYUnder(i_roofchk->GetPosP()->y))
{
return false;
}
- cBgD_Tree_t* puVar9 = &pm_bgd->m_tree_tbl[param_1];
- if ((puVar9->m_flag & 1)) {
- if (pm_blk[puVar9->m_id[0]].m_roof_idx != 0xFFFF &&
- RwgRoofChk(pm_blk[puVar9->m_id[0]].m_roof_idx, param_0))
+ cBgD_Tree_t* tree = &pm_bgd->m_tree_tbl[i_idx];
+ if ((tree->m_flag & 1)) {
+ if (pm_blk[tree->m_id[0]].m_roof_idx != 0xFFFF &&
+ RwgRoofChk(pm_blk[tree->m_id[0]].m_roof_idx, i_roofchk))
{
return true;
}
return false;
}
- bool rv = false;
+
+ bool chk = false;
for (int i = 0; i < 8; i++) {
- if (puVar9->m_id[i] != 0xFFFF && RoofChkRp(param_0, puVar9->m_id[i])) {
- rv = true;
+ if (tree->m_id[i] != 0xFFFF && RoofChkRp(i_roofchk, tree->m_id[i])) {
+ chk = true;
}
}
- return rv;
+
+ return chk;
}
/* 8007D330-8007D470 077C70 0140+00 1/1 0/0 0/0 .text RoofChkGrpRp__4dBgWFP12dBgS_RoofChkii */
-bool dBgW::RoofChkGrpRp(dBgS_RoofChk* param_0, int param_1, int param_2) {
- cBgW_GrpElm* grp = &pm_grp[param_1];
- if (!grp->m_aab.CrossY(param_0->GetPosP()) ||
- !grp->m_aab.UnderPlaneYUnder(param_0->GetNowY()) ||
- grp->m_aab.TopPlaneYUnder(param_0->GetPosP()->y))
+bool dBgW::RoofChkGrpRp(dBgS_RoofChk* i_roofchk, int i_idx, int i_depth) {
+ cBgW_GrpElm* grp = &pm_grp[i_idx];
+ if (!grp->m_aab.CrossY(i_roofchk->GetPosP()) ||
+ !grp->m_aab.UnderPlaneYUnder(i_roofchk->GetNowY()) ||
+ grp->m_aab.TopPlaneYUnder(i_roofchk->GetPosP()->y))
{
return false;
}
- if (ChkGrpThrough(param_1, param_0->GetGrpPassChk(), param_2)) {
+ if (ChkGrpThrough(i_idx, i_roofchk->GetGrpPassChk(), i_depth)) {
return false;
}
- bool uVar6 = false;
- cBgD_Grp_t* data = &pm_bgd->m_g_tbl[param_1];
- if (data->m_tree_idx != 0xFFFF && RoofChkRp(param_0, data->m_tree_idx)) {
- uVar6 = true;
+ bool chk = false;
+ cBgD_Grp_t* data = &pm_bgd->m_g_tbl[i_idx];
+ if (data->m_tree_idx != 0xFFFF && RoofChkRp(i_roofchk, data->m_tree_idx)) {
+ chk = true;
}
- s32 uVar1 = data->m_first_child;
+ s32 child_idx = data->m_first_child;
while (true) {
- if (uVar1 == 0xFFFF) {
+ if (child_idx == 0xFFFF) {
break;
}
- if (RoofChkGrpRp(param_0, uVar1, param_2 + 1)) {
- uVar6 = true;
+ if (RoofChkGrpRp(i_roofchk, child_idx, i_depth + 1)) {
+ chk = true;
}
- uVar1 = pm_bgd->m_g_tbl[uVar1].m_next_sibling;
+ child_idx = pm_bgd->m_g_tbl[child_idx].m_next_sibling;
}
- return uVar6;
+ return chk;
}
/* 8007D470-8007D498 077DB0 0028+00 1/0 1/0 0/0 .text RoofChk__4dBgWFP12dBgS_RoofChk */
@@ -1629,91 +1849,95 @@ bool dBgW::RoofChk(dBgS_RoofChk* pchk) {
}
/* 8007D498-8007D5C4 077DD8 012C+00 1/1 0/0 0/0 .text RwgSplGrpChk__4dBgWFUsP14dBgS_SplGrpChk */
-bool dBgW::RwgSplGrpChk(u16 param_0, dBgS_SplGrpChk* param_1) {
- bool rv = false;
+bool dBgW::RwgSplGrpChk(u16 i_poly_idx, dBgS_SplGrpChk* i_splchk) {
+ bool chk = false;
f32 crossY;
while (true) {
- if (pm_tri[param_0].m_plane.getCrossY(param_1->GetPosP(), &crossY) &&
- crossY < param_1->GetRoof() && crossY > param_1->GetHeight())
+ if (pm_tri[i_poly_idx].m_plane.getCrossY(i_splchk->GetPosP(), &crossY) &&
+ crossY < i_splchk->GetRoof() && crossY > i_splchk->GetHeight())
{
- cBgD_Tri_t* tri_data = &pm_bgd->m_t_tbl[param_0];
- if (cM3d_CrossY_Tri(pm_vtx_tbl[tri_data->m_vtx_idx0], pm_vtx_tbl[tri_data->m_vtx_idx1],
- pm_vtx_tbl[tri_data->m_vtx_idx2], pm_tri[param_0].m_plane,
- (const Vec*)&param_1->GetPosP()))
+ cBgD_Tri_t* tri = &pm_bgd->m_t_tbl[i_poly_idx];
+ if (cM3d_CrossY_Tri(pm_vtx_tbl[tri->m_vtx_idx0], pm_vtx_tbl[tri->m_vtx_idx1],
+ pm_vtx_tbl[tri->m_vtx_idx2], pm_tri[i_poly_idx].m_plane,
+ (const Vec*)&i_splchk->GetPosP()))
{
- if (!ChkPolyThrough(param_0, param_1->GetPolyPassChk())) {
- param_1->SetHeight(crossY);
- param_1->SetPolyIndex(param_0);
- rv = true;
+ if (!ChkPolyThrough(i_poly_idx, i_splchk->GetPolyPassChk())) {
+ i_splchk->SetHeight(crossY);
+ i_splchk->SetPolyIndex(i_poly_idx);
+ chk = true;
}
}
}
- if (pm_rwg[param_0].m_next == 0xFFFF)
+
+ if (pm_rwg[i_poly_idx].m_next == 0xFFFF)
break;
- param_0 = pm_rwg[param_0].m_next;
+ i_poly_idx = pm_rwg[i_poly_idx].m_next;
}
- return rv;
+
+ return chk;
}
/* 8007D5C4-8007D6F0 077F04 012C+00 1/1 0/0 0/0 .text SplGrpChkRp__4dBgWFP14dBgS_SplGrpChki */
-bool dBgW::SplGrpChkRp(dBgS_SplGrpChk* param_0, int param_1) {
- cBgW_NodeTree* tree = &pm_node_tree[param_1];
- if (!tree->CrossY(&param_0->GetPosP()) || !tree->UnderPlaneYUnder(param_0->GetRoof()) ||
- tree->TopPlaneYUnder(param_0->GetHeight()))
+bool dBgW::SplGrpChkRp(dBgS_SplGrpChk* i_splchk, int i_idx) {
+ cBgW_NodeTree* node = &pm_node_tree[i_idx];
+ if (!node->CrossY(&i_splchk->GetPosP()) || !node->UnderPlaneYUnder(i_splchk->GetRoof()) ||
+ node->TopPlaneYUnder(i_splchk->GetHeight()))
{
return false;
}
- cBgD_Tree_t* puVar9 = &pm_bgd->m_tree_tbl[param_1];
- if ((puVar9->m_flag & 1)) {
- if (pm_blk[puVar9->m_id[0]].m_gnd_idx != 0xFFFF &&
- RwgSplGrpChk(pm_blk[puVar9->m_id[0]].m_gnd_idx, param_0))
+ cBgD_Tree_t* tree = &pm_bgd->m_tree_tbl[i_idx];
+ if ((tree->m_flag & 1)) {
+ if (pm_blk[tree->m_id[0]].m_gnd_idx != 0xFFFF &&
+ RwgSplGrpChk(pm_blk[tree->m_id[0]].m_gnd_idx, i_splchk))
{
return true;
}
return false;
}
- bool rv = false;
+
+ bool chk = false;
for (int i = 0; i < 8; i++) {
- if (puVar9->m_id[i] != 0xFFFF && SplGrpChkRp(param_0, puVar9->m_id[i])) {
- rv = true;
+ if (tree->m_id[i] != 0xFFFF && SplGrpChkRp(i_splchk, tree->m_id[i])) {
+ chk = true;
}
}
- return rv;
+
+ return chk;
}
/* 8007D6F0-8007D830 078030 0140+00 1/1 0/0 0/0 .text SplGrpChkGrpRp__4dBgWFP14dBgS_SplGrpChkii */
-bool dBgW::SplGrpChkGrpRp(dBgS_SplGrpChk* param_0, int param_1, int param_2) {
- cBgW_GrpElm* grp = &pm_grp[param_1];
- if (!grp->m_aab.CrossY(&param_0->GetPosP()) ||
- !grp->m_aab.UnderPlaneYUnder(param_0->GetRoof()) ||
- grp->m_aab.TopPlaneYUnder(param_0->GetHeight()))
+bool dBgW::SplGrpChkGrpRp(dBgS_SplGrpChk* i_splchk, int i_idx, int i_depth) {
+ cBgW_GrpElm* grp = &pm_grp[i_idx];
+ if (!grp->m_aab.CrossY(&i_splchk->GetPosP()) ||
+ !grp->m_aab.UnderPlaneYUnder(i_splchk->GetRoof()) ||
+ grp->m_aab.TopPlaneYUnder(i_splchk->GetHeight()))
{
return false;
}
- if (ChkGrpThrough(param_1, param_0->GetGrpPassChk(), param_2)) {
+ if (ChkGrpThrough(i_idx, i_splchk->GetGrpPassChk(), i_depth)) {
return false;
}
- bool uVar6 = false;
- cBgD_Grp_t* data = &pm_bgd->m_g_tbl[param_1];
- if (data->m_tree_idx != 0xFFFF && SplGrpChkRp(param_0, data->m_tree_idx)) {
- uVar6 = true;
+ bool chk = false;
+ cBgD_Grp_t* data = &pm_bgd->m_g_tbl[i_idx];
+ if (data->m_tree_idx != 0xFFFF && SplGrpChkRp(i_splchk, data->m_tree_idx)) {
+ chk = true;
}
- s32 uVar1 = data->m_first_child;
+ s32 child_idx = data->m_first_child;
while (true) {
- if (uVar1 == 0xFFFF) {
+ if (child_idx == 0xFFFF) {
break;
}
- if (SplGrpChkGrpRp(param_0, uVar1, param_2 + 1)) {
- uVar6 = true;
+ if (SplGrpChkGrpRp(i_splchk, child_idx, i_depth + 1)) {
+ chk = true;
}
- uVar1 = pm_bgd->m_g_tbl[uVar1].m_next_sibling;
+ child_idx = pm_bgd->m_g_tbl[child_idx].m_next_sibling;
}
- return uVar6;
+ return chk;
}
/* 8007D830-8007D858 078170 0028+00 1/0 1/0 0/0 .text SplGrpChk__4dBgWFP14dBgS_SplGrpChk
@@ -1723,35 +1947,36 @@ bool dBgW::SplGrpChk(dBgS_SplGrpChk* pchk) {
}
/* 8007D858-8007D8E8 078198 0090+00 1/1 0/0 0/0 .text RwgCaptPoly__4dBgWFiR13dBgS_CaptPoly */
-void dBgW::RwgCaptPoly(int param_0, dBgS_CaptPoly& param_1) {
+void dBgW::RwgCaptPoly(int i_idx, dBgS_CaptPoly& i_captpoly) {
while (true) {
- cBgW_RwgElm* puVar2 = &pm_rwg[param_0];
- param_1.m_callback(param_1, pm_vtx_tbl, pm_bgd->m_t_tbl[param_0].m_vtx_idx0,
- pm_bgd->m_t_tbl[param_0].m_vtx_idx1, pm_bgd->m_t_tbl[param_0].m_vtx_idx2,
- &pm_tri[param_0].m_plane);
- if (puVar2->m_next == 0xFFFF)
+ cBgW_RwgElm* rwg = &pm_rwg[i_idx];
+ i_captpoly.m_callback(i_captpoly, pm_vtx_tbl, pm_bgd->m_t_tbl[i_idx].m_vtx_idx0,
+ pm_bgd->m_t_tbl[i_idx].m_vtx_idx1, pm_bgd->m_t_tbl[i_idx].m_vtx_idx2,
+ &pm_tri[i_idx].m_plane);
+
+ if (rwg->m_next == 0xFFFF)
break;
- param_0 = puVar2->m_next;
+ i_idx = rwg->m_next;
}
}
/* 8007D8E8-8007DA04 078228 011C+00 1/1 0/0 0/0 .text CaptPolyRp__4dBgWFR13dBgS_CaptPolyi
*/
-void dBgW::CaptPolyRp(dBgS_CaptPoly& param_0, int param_1) {
- if (!pm_node_tree[param_1].Cross(param_0.GetBndP())) {
+void dBgW::CaptPolyRp(dBgS_CaptPoly& i_captpoly, int i_idx) {
+ if (!pm_node_tree[i_idx].Cross(i_captpoly.GetBndP())) {
return;
}
- cBgD_Tree_t* tree_data = &pm_bgd->m_tree_tbl[param_1];
+ cBgD_Tree_t* tree_data = &pm_bgd->m_tree_tbl[i_idx];
if (tree_data->m_flag & 1) {
if (pm_blk[tree_data->m_id[0]].m_wall_idx != 0xFFFF) {
- RwgCaptPoly(pm_blk[tree_data->m_id[0]].m_wall_idx, param_0);
+ RwgCaptPoly(pm_blk[tree_data->m_id[0]].m_wall_idx, i_captpoly);
}
if (pm_blk[tree_data->m_id[0]].m_roof_idx != 0xFFFF) {
- RwgCaptPoly(pm_blk[tree_data->m_id[0]].m_roof_idx, param_0);
+ RwgCaptPoly(pm_blk[tree_data->m_id[0]].m_roof_idx, i_captpoly);
}
if (pm_blk[tree_data->m_id[0]].m_gnd_idx != 0xFFFF) {
- RwgCaptPoly(pm_blk[tree_data->m_id[0]].m_gnd_idx, param_0);
+ RwgCaptPoly(pm_blk[tree_data->m_id[0]].m_gnd_idx, i_captpoly);
}
return;
}
@@ -1760,143 +1985,147 @@ void dBgW::CaptPolyRp(dBgS_CaptPoly& param_0, int param_1) {
if (tree_data->m_id[i] == 0xFFFF) {
continue;
}
- CaptPolyRp(param_0, tree_data->m_id[i]);
+ CaptPolyRp(i_captpoly, tree_data->m_id[i]);
}
}
/* 8007DA04-8007DAF8 078344 00F4+00 1/1 0/0 0/0 .text CaptPolyGrpRp__4dBgWFR13dBgS_CaptPolyii */
-void dBgW::CaptPolyGrpRp(dBgS_CaptPoly& param_0, int param_1, int param_2) {
- cBgW_GrpElm* grp = &pm_grp[param_1];
- if (!grp->m_aab.Cross(param_0.GetBndP())) {
+void dBgW::CaptPolyGrpRp(dBgS_CaptPoly& i_captpoly, int i_idx, int i_depth) {
+ cBgW_GrpElm* grp = &pm_grp[i_idx];
+ if (!grp->m_aab.Cross(i_captpoly.GetBndP())) {
return;
}
- if (ChkGrpThrough(param_1, param_0.GetGrpPassChk(), param_2)) {
+ if (ChkGrpThrough(i_idx, i_captpoly.GetGrpPassChk(), i_depth)) {
return;
}
- cBgD_Grp_t* data = &pm_bgd->m_g_tbl[param_1];
- if (pm_bgd->m_g_tbl[param_1].m_tree_idx != 0xFFFF) {
- CaptPolyRp(param_0, pm_bgd->m_g_tbl[param_1].m_tree_idx);
+ cBgD_Grp_t* data = &pm_bgd->m_g_tbl[i_idx];
+ if (pm_bgd->m_g_tbl[i_idx].m_tree_idx != 0xFFFF) {
+ CaptPolyRp(i_captpoly, pm_bgd->m_g_tbl[i_idx].m_tree_idx);
}
- s32 uVar1 = pm_bgd->m_g_tbl[param_1].m_first_child;
+ s32 child_idx = pm_bgd->m_g_tbl[i_idx].m_first_child;
while (true) {
- if (uVar1 == 0xFFFF) {
+ if (child_idx == 0xFFFF) {
break;
}
- CaptPolyGrpRp(param_0, uVar1, param_2 + 1);
- uVar1 = pm_bgd->m_g_tbl[uVar1].m_next_sibling;
+ CaptPolyGrpRp(i_captpoly, child_idx, i_depth + 1);
+ child_idx = pm_bgd->m_g_tbl[child_idx].m_next_sibling;
}
}
/* 8007DAF8-8007DB20 078438 0028+00 1/0 1/0 0/0 .text CaptPoly__4dBgWFR13dBgS_CaptPoly */
-void dBgW::CaptPoly(dBgS_CaptPoly& poly) {
- CaptPolyGrpRp(poly, m_rootGrpIdx, 1);
+void dBgW::CaptPoly(dBgS_CaptPoly& i_captpoly) {
+ CaptPolyGrpRp(i_captpoly, m_rootGrpIdx, 1);
}
/* 8007DB20-8007DC70 078460 0150+00 1/1 0/0 0/0 .text RwgSphChk__4dBgWFUsP11dBgS_SphChkPv
*/
-bool dBgW::RwgSphChk(u16 param_0, dBgS_SphChk* param_1, void* param_2) {
- cM3dGTri acStack_50;
- cBgW_RwgElm* puVar4;
- cBgD_Tri_t* puVar5;
- bool uVar3 = false;
+bool dBgW::RwgSphChk(u16 i_poly_idx, dBgS_SphChk* i_sphchk, void* i_data) {
+ cM3dGTri tri;
+ cBgW_RwgElm* rwg;
+ cBgD_Tri_t* tri_t;
+
+ bool chk = false;
while (true) {
- puVar4 = &pm_rwg[param_0];
- if (!ChkPolyThrough(param_0, param_1->GetPolyPassChk())) {
- puVar5 = &pm_bgd->m_t_tbl[param_0];
- acStack_50.setBg(&pm_vtx_tbl[puVar5->m_vtx_idx0], &pm_vtx_tbl[puVar5->m_vtx_idx1],
- &pm_vtx_tbl[puVar5->m_vtx_idx2], &pm_tri[param_0].m_plane);
- if (param_1->cross(&acStack_50)) {
- param_1->mCallback(param_1, pm_vtx_tbl, puVar5->m_vtx_idx0, puVar5->m_vtx_idx1,
- puVar5->m_vtx_idx2, &pm_tri[param_0].m_plane, param_2);
- param_1->SetPolyIndex(param_0);
- uVar3 = true;
+ rwg = &pm_rwg[i_poly_idx];
+ if (!ChkPolyThrough(i_poly_idx, i_sphchk->GetPolyPassChk())) {
+ tri_t = &pm_bgd->m_t_tbl[i_poly_idx];
+ tri.setBg(&pm_vtx_tbl[tri_t->m_vtx_idx0], &pm_vtx_tbl[tri_t->m_vtx_idx1],
+ &pm_vtx_tbl[tri_t->m_vtx_idx2], &pm_tri[i_poly_idx].m_plane);
+
+ if (i_sphchk->cross(&tri)) {
+ i_sphchk->mCallback(i_sphchk, pm_vtx_tbl, tri_t->m_vtx_idx0, tri_t->m_vtx_idx1,
+ tri_t->m_vtx_idx2, &pm_tri[i_poly_idx].m_plane, i_data);
+ i_sphchk->SetPolyIndex(i_poly_idx);
+ chk = true;
}
}
- if (puVar4->m_next == 0xFFFF)
+
+ if (rwg->m_next == 0xFFFF)
break;
- param_0 = puVar4->m_next;
+ i_poly_idx = rwg->m_next;
}
- return uVar3;
+
+ return chk;
}
/* 8007DC70-8007DDE0 0785B0 0170+00 1/1 0/0 0/0 .text SphChkRp__4dBgWFP11dBgS_SphChkPvi
*/
-bool dBgW::SphChkRp(dBgS_SphChk* param_0, void* param_1, int param_2) {
- if (!pm_node_tree[param_2].Cross(param_0)) {
+bool dBgW::SphChkRp(dBgS_SphChk* i_sphchk, void* i_data, int i_idx) {
+ if (!pm_node_tree[i_idx].Cross(i_sphchk)) {
return false;
}
- cBgD_Tree_t* tree_data = &pm_bgd->m_tree_tbl[param_2];
- bool rv = false;
+ cBgD_Tree_t* tree_data = &pm_bgd->m_tree_tbl[i_idx];
+ bool chk = false;
if (tree_data->m_flag & 1) {
if (pm_blk[tree_data->m_id[0]].m_gnd_idx != 0xFFFF &&
- RwgSphChk(pm_blk[tree_data->m_id[0]].m_gnd_idx, param_0, param_1))
+ RwgSphChk(pm_blk[tree_data->m_id[0]].m_gnd_idx, i_sphchk, i_data))
{
- rv = true;
+ chk = true;
}
if (pm_blk[tree_data->m_id[0]].m_roof_idx != 0xFFFF &&
- RwgSphChk(pm_blk[tree_data->m_id[0]].m_roof_idx, param_0, param_1))
+ RwgSphChk(pm_blk[tree_data->m_id[0]].m_roof_idx, i_sphchk, i_data))
{
- rv = true;
+ chk = true;
}
if (pm_blk[tree_data->m_id[0]].m_wall_idx != 0xFFFF &&
- RwgSphChk(pm_blk[tree_data->m_id[0]].m_wall_idx, param_0, param_1))
+ RwgSphChk(pm_blk[tree_data->m_id[0]].m_wall_idx, i_sphchk, i_data))
{
- rv = true;
+ chk = true;
}
- return rv;
+ return chk;
}
for (int i = 0; i < 8; i++) {
if (tree_data->m_id[i] == 0xFFFF) {
continue;
}
- if (SphChkRp(param_0, param_1, tree_data->m_id[i])) {
- rv = true;
+ if (SphChkRp(i_sphchk, i_data, tree_data->m_id[i])) {
+ chk = true;
}
}
- return rv;
+ return chk;
}
/* 8007DDE0-8007DF00 078720 0120+00 1/1 0/0 0/0 .text SphChkGrpRp__4dBgWFP11dBgS_SphChkPvii */
-bool dBgW::SphChkGrpRp(dBgS_SphChk* param_0, void* param_1, int param_2, int param_3) {
- if (!pm_grp[param_2].m_aab.Cross(param_0)) {
+bool dBgW::SphChkGrpRp(dBgS_SphChk* i_sphchk, void* i_data, int i_idx, int i_depth) {
+ if (!pm_grp[i_idx].m_aab.Cross(i_sphchk)) {
return false;
}
- if (ChkGrpThrough(param_2, param_0->GetGrpPassChk(), param_3)) {
+ if (ChkGrpThrough(i_idx, i_sphchk->GetGrpPassChk(), i_depth)) {
return false;
}
- bool uVar6 = false;
- cBgD_Grp_t* data = &pm_bgd->m_g_tbl[param_2];
- if (data->m_tree_idx != 0xFFFF && SphChkRp(param_0, param_1, data->m_tree_idx)) {
- uVar6 = true;
+ bool chk = false;
+ cBgD_Grp_t* data = &pm_bgd->m_g_tbl[i_idx];
+ if (data->m_tree_idx != 0xFFFF && SphChkRp(i_sphchk, i_data, data->m_tree_idx)) {
+ chk = true;
}
- s32 uVar1 = data->m_first_child;
+ s32 child_idx = data->m_first_child;
while (true) {
- if (uVar1 == 0xFFFF) {
+ if (child_idx == 0xFFFF) {
break;
}
- if (SphChkGrpRp(param_0, param_1, uVar1, param_3 + 1)) {
- uVar6 = true;
+ if (SphChkGrpRp(i_sphchk, i_data, child_idx, i_depth + 1)) {
+ chk = true;
}
- uVar1 = pm_bgd->m_g_tbl[uVar1].m_next_sibling;
+ child_idx = pm_bgd->m_g_tbl[child_idx].m_next_sibling;
}
- return uVar6;
+ return chk;
}
/* 8007DF00-8007DF28 078840 0028+00 1/0 1/0 0/0 .text SphChk__4dBgWFP11dBgS_SphChkPv */
-bool dBgW::SphChk(dBgS_SphChk* pchk, void* param_1) {
- return SphChkGrpRp(pchk, param_1, m_rootGrpIdx, 1);
+bool dBgW::SphChk(dBgS_SphChk* pchk, void* i_data) {
+ return SphChkGrpRp(pchk, i_data, m_rootGrpIdx, 1);
}
/* 8007DF28-8007DF58 078868 0030+00 1/0 1/0 0/0 .text GetPolyGrpRoomInfId__4dBgWFRC13cBgS_PolyInfo
@@ -1937,8 +2166,6 @@ void dBgW::MatrixCrrPos(cBgS_PolyInfo const& i_poly, void* i_actor_ptr, bool par
/* 8007E02C-8007E360 07896C 0334+00 1/0 1/0 0/0 .text ChkPolyThrough__4dBgWFiP16cBgS_PolyPassChk
*/
-// should match when dHorse_c member function table is setup
-#ifdef NONMATCHING
bool dBgW::ChkPolyThrough(int poly_index, cBgS_PolyPassChk* ppass_chk) {
if (ppass_chk == NULL) {
return false;
@@ -2007,16 +2234,6 @@ bool dBgW::ChkPolyThrough(int poly_index, cBgS_PolyPassChk* ppass_chk) {
return false;
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool dBgW::ChkPolyThrough(int param_0, cBgS_PolyPassChk* param_1) {
- nofralloc
-#include "asm/d/bg/d_bg_w/ChkPolyThrough__4dBgWFiP16cBgS_PolyPassChk.s"
-}
-#pragma pop
-#endif
/* 8007E360-8007E3D8 078CA0 0078+00 1/0 1/0 0/0 .text
* ChkShdwDrawThrough__4dBgWFiP16cBgS_PolyPassChk */
diff --git a/src/d/bg/d_bg_w_kcol.cpp b/src/d/bg/d_bg_w_kcol.cpp
index dbc81c2612..fe86fcc236 100644
--- a/src/d/bg/d_bg_w_kcol.cpp
+++ b/src/d/bg/d_bg_w_kcol.cpp
@@ -539,7 +539,7 @@ SECTION_SDATA2 static f32 lit_5301[1 + 1 /* padding */] = {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dBgWKCol::WallCorrectSort(dBgS_Acch* param_0) {
+asm bool dBgWKCol::WallCorrectSort(dBgS_Acch* param_0) {
nofralloc
#include "asm/d/bg/d_bg_w_kcol/WallCorrectSort__8dBgWKColFP9dBgS_Acch.s"
}
diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp
index e36213a427..e29abb09bc 100644
--- a/src/d/d_camera.cpp
+++ b/src/d/d_camera.cpp
@@ -4019,7 +4019,8 @@ extern "C" asm void checkThrowDamage__9daPy_py_cCFv() {
#pragma pop
/* 801829EC-801829F0 17D32C 0004+00 1/1 0/0 0/0 .text GetNP__8cM3dGPlaFv */
-void cM3dGPla::GetNP() {
+// void cM3dGPla::GetNP() {
+extern "C" void GetNP__8cM3dGPlaFv() {
/* empty function */
}
diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp
index 686d5766c6..01a2277487 100644
--- a/src/d/d_drawlist.cpp
+++ b/src/d/d_drawlist.cpp
@@ -1657,7 +1657,7 @@ int dDlst_shadowPoly_c::set(cBgD_Vtx_t* i_vtx, u16 param_1, u16 param_2, u16 par
dDlst_shadowTri_c* dst = getTri() + mCount;
- cXyz b(i_plane->i_GetNP());
+ cXyz b(i_plane->GetNP());
f32 temp_f3 = (1.0f - fabsf(b.y));
temp_f3 *= temp_f3;
@@ -1767,7 +1767,7 @@ SECTION_SDATA2 static f32 lit_5062 = -90.0f;
static int psdRealCallBack(cBgS_ShdwDraw* param_0, cBgD_Vtx_t* param_1, int param_2,
int param_3, int param_4, cM3dGPla* param_5) {
ShdwDrawPoly_c* shdwDrawPoly = (ShdwDrawPoly_c*)param_0;
- const cXyz* normal = param_5->i_GetNP();
+ const cXyz* normal = param_5->GetNP();
if (shdwDrawPoly->getLightVec()->inprod(*normal) < -0.2f) {
cXyz* center = shdwDrawPoly->getCenter();
if (normal->x * center->x + normal->y * center->y + normal->z * center->z + param_5->GetD() > -90.f) {