summaryrefslogtreecommitdiff
path: root/libs/SSystem
diff options
context:
space:
mode:
authorlepelog <lepelog@users.noreply.github.com>2021-01-07 02:04:53 +0100
committerGitHub <noreply@github.com>2021-01-06 20:04:53 -0500
commit0cf65151b3a1a85a5d3ad74a367045e596aee1aa (patch)
tree9ac4f66b24945629766d587a9514ad513b11241c /libs/SSystem
parent792509e0a15687b76bee216440ccd3d90554f37e (diff)
Split SComponent (#45)
* split c_math * split c_angle * split c_API_controller_pad * split c_API_graphic * split c_bg_s_chk * c_bg_s_gnd_chk split * more c_bg split * split c_cc_d * delete asm * split c_cc_s * split c_lib * split c_m2d and c_m3d_g_aab * split c_m3d_g_cir * split c_m3d_g_cps * split rest of c_m3d_g * split c_m3d * split c_malloc * split c_request * split c_sxyz * split and partly decompile c_xyz * format * c_angle.h * begin c_angle decomp * c_angle * progress adding stub classes for SComponent * more c_m3d * remove some asm and format * more m3d headers * more c_angle decomp * c_lib headers * add public to classes * fix csXyz member names * c_sxyz partly OK * move Zero csXyz to c_sxyz header * c_API_graphic * delete some unused asm * move math extern data, decompile some functions * delete unused asm * fix duplicated c_angle.h * fix an inlined function name, add more inlined functions for c_angle.h (currently unused) * format Co-authored-by: Pheenoh <pheenoh@gmail.com>
Diffstat (limited to 'libs/SSystem')
-rw-r--r--libs/SSystem/SComponent/c_API.cpp1
-rw-r--r--libs/SSystem/SComponent/c_API_graphic.cpp24
-rw-r--r--libs/SSystem/SComponent/c_angle.cpp393
-rw-r--r--libs/SSystem/SComponent/c_bg_s_chk.cpp29
-rw-r--r--libs/SSystem/SComponent/c_bg_s_gnd_chk.cpp44
-rw-r--r--libs/SSystem/SComponent/c_bg_s_lin_chk.cpp49
-rw-r--r--libs/SSystem/SComponent/c_bg_s_poly_info.cpp67
-rw-r--r--libs/SSystem/SComponent/c_bg_s_shdw_draw.cpp32
-rw-r--r--libs/SSystem/SComponent/c_cc_d.cpp533
-rw-r--r--libs/SSystem/SComponent/c_cc_s.cpp197
-rw-r--r--libs/SSystem/SComponent/c_lib.cpp200
-rw-r--r--libs/SSystem/SComponent/c_m2d.cpp10
-rw-r--r--libs/SSystem/SComponent/c_m3d.cpp465
-rw-r--r--libs/SSystem/SComponent/c_m3d_g_aab.cpp81
-rw-r--r--libs/SSystem/SComponent/c_m3d_g_cir.cpp35
-rw-r--r--libs/SSystem/SComponent/c_m3d_g_cps.cpp39
-rw-r--r--libs/SSystem/SComponent/c_m3d_g_cyl.cpp67
-rw-r--r--libs/SSystem/SComponent/c_m3d_g_lin.cpp39
-rw-r--r--libs/SSystem/SComponent/c_m3d_g_pla.cpp53
-rw-r--r--libs/SSystem/SComponent/c_m3d_g_sph.cpp53
-rw-r--r--libs/SSystem/SComponent/c_m3d_g_tri.cpp32
-rw-r--r--libs/SSystem/SComponent/c_malloc.cpp25
-rw-r--r--libs/SSystem/SComponent/c_math.cpp127
-rw-r--r--libs/SSystem/SComponent/c_request.cpp28
-rw-r--r--libs/SSystem/SComponent/c_sxyz.cpp50
-rw-r--r--libs/SSystem/SComponent/c_xyz.cpp179
26 files changed, 2816 insertions, 36 deletions
diff --git a/libs/SSystem/SComponent/c_API.cpp b/libs/SSystem/SComponent/c_API.cpp
deleted file mode 100644
index 4bf93c8658..0000000000
--- a/libs/SSystem/SComponent/c_API.cpp
+++ /dev/null
@@ -1 +0,0 @@
-// ok
diff --git a/libs/SSystem/SComponent/c_API_graphic.cpp b/libs/SSystem/SComponent/c_API_graphic.cpp
index 4bf93c8658..de967fe3bd 100644
--- a/libs/SSystem/SComponent/c_API_graphic.cpp
+++ b/libs/SSystem/SComponent/c_API_graphic.cpp
@@ -1 +1,23 @@
-// ok
+/* c_API_graphic.cpp autogenerated by split.py v0.3 at 2020-12-31 13:52:43.596394 */
+
+#include "SComponent/c_API_graphic.h"
+
+typedef void (*cAPIGph_Mthd)(void);
+extern cAPIGph_Mthd lbl_803C3528[6];
+
+// cAPIGph_Painter__Fv
+void cAPIGph_Painter(void) {
+ lbl_803C3528[3]();
+}
+
+// cAPIGph_BeforeOfDraw__Fv
+// cAPIGph_BeforeOfDraw(void)
+void cAPIGph_BeforeOfDraw(void) {
+ lbl_803C3528[1]();
+}
+
+// cAPIGph_AfterOfDraw__Fv
+// cAPIGph_AfterOfDraw(void)
+void cAPIGph_AfterOfDraw(void) {
+ lbl_803C3528[2]();
+}
diff --git a/libs/SSystem/SComponent/c_angle.cpp b/libs/SSystem/SComponent/c_angle.cpp
index 4bf93c8658..d40ae02d4c 100644
--- a/libs/SSystem/SComponent/c_angle.cpp
+++ b/libs/SSystem/SComponent/c_angle.cpp
@@ -1 +1,392 @@
-// ok
+/* c_angle.cpp autogenerated by split.py v0.3 at 2020-12-31 13:27:46.813506 */
+
+#include "SComponent/c_angle.h"
+#include "global.h"
+
+extern "C" {
+
+float cAngle_NS_Adjust(float, float, float);
+}
+
+// additional symbols needed for c_angle.cpp
+// autogenerated by split.py v0.3 at 2020-12-31 13:27:46.742344
+extern float lbl_80455208; // SComponent::@2248, 182.04445f
+extern float lbl_8045520C; // SComponent::@2260, 0.005493164f
+extern double lbl_80455210; // SComponent::@2263, 4.503601774854144E15
+extern float lbl_80455218; // SComponent::@2269, 9.58738E-5
+extern float lbl_8045521C; // SComponent::@2277, 3.0517578E-5
+extern float lbl_80455220; // SComponent::@2440, -180.0f
+extern float lbl_80455224; // SComponent::@2441, 180.0
+extern float lbl_80455228; // SComponent::@2474, 0.017453292
+extern float lbl_8045522C; // SComponent::@2491, 0.0f
+extern double lbl_80455230; // SComponent::@2671, 0.0
+extern float lbl_80455238; // SComponent::@2672, 10430.378f
+extern float lbl_8045523C; // SComponent::@2744, 1.0
+extern u8 lbl_80430F98; // SComponent::@2401
+
+// __ct__7cSAngleFRC7cSAngle
+cSAngle::cSAngle(const cSAngle& angle) {
+ this->Val(angle);
+}
+
+// __ct__7cSAngleFs
+cSAngle::cSAngle(s16 angle) {
+ this->Val(angle);
+}
+
+// __ct__7cSAngleFf
+cSAngle::cSAngle(float angle) {
+ this->Val(angle);
+}
+
+// Val__7cSAngleFRC7cSAngle
+void cSAngle::Val(const cSAngle& other) {
+ this->mAngle = other.mAngle;
+}
+
+// Val__7cSAngleFs
+void cSAngle::Val(s16 val) {
+ this->mAngle = val;
+}
+
+// Val__7cSAngleFf
+void cSAngle::Val(float f) {
+ this->mAngle = lbl_80455208 * f;
+}
+
+// Degree__7cSAngleCFv
+#ifdef NON_MATCHING
+float cSAngle::Degree(void) const {
+ // matches, but adds a double constant for the s16 -> float conversion
+ return lbl_8045520C * this->angle;
+}
+#else
+asm float cSAngle::Degree(void) const {
+ nofralloc
+#include "SComponent/c_angle/asm/func_80271030.s"
+}
+#endif
+
+// Radian__7cSAngleCFv
+#ifdef NON_MATCHING
+float cSAngle::Radian(void) const {
+ // matches, but adds a double constant for the s16 -> float conversion
+ return lbl_80455218 * this->angle;
+}
+#else
+asm float cSAngle::Radian(void) const {
+ nofralloc
+#include "SComponent/c_angle/asm/func_80271064.s"
+}
+#endif
+
+// Norm__7cSAngleCFv
+// cSAngle::Norm(void) const
+asm float cSAngle::Norm(void) const {nofralloc
+#include "SComponent/c_angle/asm/func_80271098.s"
+}
+
+// Abs__7cSAngleCFv
+s16 cSAngle::Abs(void) const {
+ return mAngle >= 0 ? mAngle : -mAngle;
+}
+
+// Inv__7cSAngleCFv
+s16 cSAngle::Inv(void) const {
+ return mAngle - 0x8000;
+}
+
+// Sin__7cSAngleCFv
+float cSAngle::Sin(void) const {
+ return func_8036C590(this->Radian());
+}
+
+// Cos__7cSAngleCFv
+float cSAngle::Cos(void) const {
+ return func_8036C028(this->Radian());
+}
+
+// __mi__7cSAngleCFv
+cSAngle cSAngle::operator-(void) const {
+ return cSAngle((s16)-mAngle);
+}
+
+// __pl__7cSAngleCFRC7cSAngle
+cSAngle cSAngle::operator+(const cSAngle& other) const {
+ return cSAngle((s16)(mAngle + other.mAngle));
+}
+
+// __mi__7cSAngleCFRC7cSAngle
+cSAngle cSAngle::operator-(const cSAngle& other) const {
+ return cSAngle((s16)(mAngle - other.mAngle));
+}
+
+// __apl__7cSAngleFRC7cSAngle
+void cSAngle::operator+=(const cSAngle& other) {
+ mAngle += other.mAngle;
+}
+
+// __ami__7cSAngleFRC7cSAngle
+void cSAngle::operator-=(const cSAngle& other) {
+ mAngle -= other.mAngle;
+}
+
+// __pl__7cSAngleCFs
+cSAngle cSAngle::operator+(short other) const {
+ return cSAngle((s16)(mAngle + other));
+}
+
+// __mi__7cSAngleCFs
+cSAngle cSAngle::operator-(short other) const {
+ return cSAngle((s16)(mAngle - other));
+}
+
+// __apl__7cSAngleFs
+void cSAngle::operator+=(short other) {
+ mAngle += other;
+}
+
+// __ml__7cSAngleCFf
+#ifdef NON_MATCHING
+cSAngle cSAngle::operator*(float f1) const {
+ return cSAngle((s16)(angle * f1));
+}
+#else
+asm cSAngle cSAngle::operator*(float) const {
+ nofralloc
+#include "SComponent/c_angle/asm/func_80271264.s"
+}
+#endif
+
+// __amu__7cSAngleFf
+#ifdef NON_MATCHING
+void cSAngle::operator*=(float f1) {
+ this->angle *= f1;
+}
+#else
+asm void cSAngle::operator*=(float) {
+ nofralloc
+#include "SComponent/c_angle/asm/func_802712B4.s"
+}
+#endif
+
+// __pl__FsRC7cSAngle
+cSAngle operator+(short other, const cSAngle& angle) {
+ return cSAngle((s16)(other + angle.Val()));
+}
+
+// __mi__FsRC7cSAngle
+cSAngle operator-(short other, const cSAngle& angle) {
+ return cSAngle((s16)(other - angle.Val()));
+}
+
+// __ct__7cDegreeFf
+cDegree::cDegree(float f) {
+ this->Val(f);
+}
+
+// Formal__7cDegreeFv
+cDegree& cDegree::Formal(void) {
+ mDegree = cAngle_NS_Adjust(mDegree, lbl_80455220, lbl_80455224);
+ return *this;
+}
+
+// Val__7cDegreeFf
+void cDegree::Val(float f) {
+ mDegree = f;
+ this->Formal();
+}
+
+// Radian__7cDegreeCFv
+float cDegree::Radian(void) const {
+ return lbl_80455228 * mDegree;
+}
+
+// Sin__7cDegreeCFv
+float cDegree::Sin(void) const {
+ return func_8036C590(this->Radian());
+}
+
+// Cos__7cDegreeCFv
+float cDegree::Cos(void) const {
+ return func_8036C028(this->Radian());
+}
+
+// Tan__7cDegreeCFv
+float cDegree::Tan(void) const {
+ return func_8036C668(this->Radian());
+}
+
+// __ct__7cSPolarFRC4cXyz
+cSPolar::cSPolar(const cXyz& xyz) {
+ this->Val(xyz);
+}
+
+// Formal__7cSPolarFv
+cSPolar& cSPolar::Formal(void) {
+ if (mRadial < /* 0.0 */ lbl_8045522C) {
+ mRadial = -mRadial;
+ cSAngle tmp((s16)-0x8000);
+ mAngle1.Val(tmp - mAngle1);
+ mAngle2.Val(mAngle2.Inv());
+ }
+ if (mAngle1.Val() < 0 && mAngle1.Val() != -0x8000) {
+ mAngle1.Val(-mAngle1);
+ mAngle2.Val(mAngle2.Inv());
+ }
+ return *this;
+}
+
+// Val__7cSPolarFfss
+void cSPolar::Val(float f, short s1, short s2) {
+ mRadial = f;
+ mAngle1 = cSAngle(s1);
+ mAngle2 = cSAngle(s2);
+ this->Formal();
+}
+
+inline double square(float f) {
+ return f * f;
+}
+
+// Val__7cSPolarFRC4cXyz
+void cSPolar::Val(const cXyz& xyz) {
+ float x, y, z, tmp4;
+ x = xyz.x;
+ y = xyz.y;
+ z = xyz.z;
+ double tmp = square(z) + square(x);
+ double tmp2 = square(y) + tmp;
+ tmp4 = (tmp > lbl_80455230) ? (float)func_8036CA54(tmp) : lbl_8045522C;
+ mRadial = (tmp2 > lbl_80455230) ? (float)func_8036CA54(tmp2) : lbl_8045522C;
+ mAngle1.Val((s16)(cM_atan2f(tmp4, y) * lbl_80455238));
+ mAngle2.Val((s16)(cM_atan2f(x, z) * lbl_80455238));
+ this->Formal();
+}
+
+// Xyz__7cSPolarCFv
+cXyz cSPolar::Xyz(void) const {
+ float ang1Cos;
+ float ang2Cos;
+ float ang1Sin = mRadial * (float)func_8036C590(mAngle1.Radian());
+ ang2Cos = (float)func_8036C028(mAngle2.Radian());
+ ang1Cos = mRadial * (float)func_8036C028(mAngle1.Radian());
+ float ang2Sin = func_8036C590(mAngle2.Radian());
+ return cXyz(ang1Sin * ang2Sin, ang1Cos, ang1Sin * ang2Cos);
+}
+
+// Globe__7cSPolarCFP7cSGlobe
+void cSPolar::Globe(cSGlobe* globe) const {
+ globe->Val(mRadial, 0x4000 - mAngle1.Val(), mAngle2.Val());
+}
+
+// __ct__7cSGlobeFRC7cSGlobe
+cSGlobe::cSGlobe(const cSGlobe& other) {
+ this->Val(other);
+}
+
+// __ct__7cSGlobeFfss
+cSGlobe::cSGlobe(float f, short s1, short s2) {
+ this->Val(f, s1, s2);
+}
+
+// __ct__7cSGlobeFfRC7cSAngleRC7cSAngle
+cSGlobe::cSGlobe(float f, const cSAngle& a1, const cSAngle& a2) {
+ this->Val(f, a1, a2);
+}
+
+// __ct__7cSGlobeFRC4cXyz
+cSGlobe::cSGlobe(const cXyz& xyz) {
+ this->Val(xyz);
+}
+
+// Formal__7cSGlobeFv
+cSGlobe& cSGlobe::Formal(void) {
+ if (mRadius < lbl_8045522C) {
+ mRadius = -mRadius;
+ mAzimuth = -mAzimuth;
+ mInclination.Val(mInclination.Inv());
+ }
+ if (mAzimuth.Val() < -0x4000 || 0x4000 < mAzimuth.Val()) {
+ mAzimuth.mirrorAtMaxNeg();
+ mInclination.Val(mInclination.Inv());
+ }
+ return *this;
+}
+
+// Val__7cSGlobeFRC7cSGlobe
+void cSGlobe::Val(const cSGlobe& other) {
+ mRadius = other.mRadius;
+ mAzimuth = other.mAzimuth;
+ mInclination = other.mInclination;
+ this->Formal();
+}
+
+// Val__7cSGlobeFfss
+void cSGlobe::Val(float f, short s1, short s2) {
+ mRadius = f;
+ mAzimuth = cSAngle(s1);
+ mInclination = cSAngle(s2);
+ this->Formal();
+}
+
+// Val__7cSGlobeFfRC7cSAngleRC7cSAngle
+void cSGlobe::Val(float f, const cSAngle& a1, const cSAngle& a2) {
+ mRadius = f;
+ mAzimuth = cSAngle(a1.Val());
+ mInclination = cSAngle(a2.Val());
+ this->Formal();
+}
+
+// Val__7cSGlobeFRC4cXyz
+void cSGlobe::Val(const cXyz& xyz) {
+ cSPolar csp(xyz);
+ csp.Globe(this);
+ this->Formal();
+}
+
+// Xyz__7cSGlobeCFv
+cXyz cSGlobe::Xyz(void) const {
+ cSPolar csp;
+ this->Polar(&csp);
+ return csp.Xyz();
+}
+
+// Polar__7cSGlobeCFP7cSPolar
+// cSGlobe::Polar(cSPolar*) const
+void cSGlobe::Polar(cSPolar* csp) const {
+ csp->Val(mRadius, 0x4000 - mAzimuth.Val(), mInclination.Val());
+}
+
+// Norm__7cSGlobeCFv
+cXyz cSGlobe::Norm(void) const {
+ cSGlobe glob(/* 1.0 */ lbl_8045523C, mAzimuth, mInclination);
+ return glob.Xyz();
+}
+
+// Invert__7cSGlobeFv
+cSGlobe& cSGlobe::Invert(void) {
+ mRadius = -mRadius;
+ return this->Formal();
+}
+
+extern "C" {
+
+// Adjust<f>__6cAngleFfff
+float cAngle_NS_Adjust(float f1, float f2, float f3) {
+ while (f1 >= f3) {
+ f1 -= f3 - f2;
+ }
+ while (f1 < f2) {
+ f1 += f3 - f2;
+ }
+ return f1;
+}
+
+// __sinit_c_angle_cpp
+//
+asm void func_80271BD4(void) {
+ nofralloc
+#include "SComponent/c_angle/asm/func_80271BD4.s"
+}
+};
diff --git a/libs/SSystem/SComponent/c_bg_s_chk.cpp b/libs/SSystem/SComponent/c_bg_s_chk.cpp
index 4bf93c8658..7fbec11fc9 100644
--- a/libs/SSystem/SComponent/c_bg_s_chk.cpp
+++ b/libs/SSystem/SComponent/c_bg_s_chk.cpp
@@ -1 +1,28 @@
-// ok
+/* c_bg_s_chk.cpp autogenerated by split.py v0.3 at 2020-12-31 13:59:04.394995 */
+
+#include "SComponent/c_bg_s_chk.h"
+
+// __ct__8cBgS_ChkFv
+asm cBgS_Chk::cBgS_Chk(void) {
+ nofralloc
+#include "SComponent/c_bg_s_chk/asm/func_80267B4C.s"
+}
+
+// __dt__8cBgS_ChkFv
+asm cBgS_Chk::~cBgS_Chk(void) {
+ nofralloc
+#include "SComponent/c_bg_s_chk/asm/func_80267B70.s"
+}
+
+// SetExtChk__8cBgS_ChkFR8cBgS_Chk
+asm void cBgS_Chk::SetExtChk(cBgS_Chk&) {
+ nofralloc
+#include "SComponent/c_bg_s_chk/asm/func_80267BB8.s"
+}
+
+// ChkSameActorPid__8cBgS_ChkCFUi
+// cBgS_Chk::ChkSameActorPid(unsigned int) const
+asm bool cBgS_Chk::ChkSameActorPid(unsigned int) const {
+ nofralloc
+#include "SComponent/c_bg_s_chk/asm/func_80267BDC.s"
+}
diff --git a/libs/SSystem/SComponent/c_bg_s_gnd_chk.cpp b/libs/SSystem/SComponent/c_bg_s_gnd_chk.cpp
index 4bf93c8658..7b584c5ea1 100644
--- a/libs/SSystem/SComponent/c_bg_s_gnd_chk.cpp
+++ b/libs/SSystem/SComponent/c_bg_s_gnd_chk.cpp
@@ -1 +1,43 @@
-// ok
+/* c_bg_s_gnd_chk.cpp autogenerated by split.py v0.3 at 2020-12-31 14:10:48.799186 */
+
+#include "SComponent/c_bg_s_gnd_chk.h"
+
+// __ct__11cBgS_GndChkFv
+asm cBgS_GndChk::cBgS_GndChk(void) {
+ nofralloc
+#include "SComponent/c_bg_s_gnd_chk/asm/func_80267C1C.s"
+}
+
+// __dt__11cBgS_GndChkFv
+asm cBgS_GndChk::~cBgS_GndChk(void) {
+ nofralloc
+#include "SComponent/c_bg_s_gnd_chk/asm/func_80267C94.s"
+}
+
+// SetPos__11cBgS_GndChkFPC3Vec
+asm void cBgS_GndChk::SetPos(const Vec*) {
+ nofralloc
+#include "SComponent/c_bg_s_gnd_chk/asm/func_80267D0C.s"
+}
+
+// SetPos__11cBgS_GndChkFPC4cXyz
+asm void cBgS_GndChk::SetPos(const cXyz*) {
+ nofralloc
+#include "SComponent/c_bg_s_gnd_chk/asm/func_80267D28.s"
+}
+
+// PreCheck__11cBgS_GndChkFv
+asm void cBgS_GndChk::PreCheck(void) {
+ nofralloc
+#include "SComponent/c_bg_s_gnd_chk/asm/func_80267D44.s"
+}
+
+extern "C" {
+
+// @20@__dt__11cBgS_GndChkFv
+// cBgS_GndChk::@20@__dt(void)
+asm void func_80267D54(void) {
+ nofralloc
+#include "SComponent/c_bg_s_gnd_chk/asm/func_80267D54.s"
+}
+};
diff --git a/libs/SSystem/SComponent/c_bg_s_lin_chk.cpp b/libs/SSystem/SComponent/c_bg_s_lin_chk.cpp
index 4bf93c8658..a4e4efd0fa 100644
--- a/libs/SSystem/SComponent/c_bg_s_lin_chk.cpp
+++ b/libs/SSystem/SComponent/c_bg_s_lin_chk.cpp
@@ -1 +1,48 @@
-// ok
+/* c_bg_s_lin_chk.cpp autogenerated by split.py v0.3 at 2021-01-01 12:56:44.690623 */
+
+#include "SComponent/c_bg_s_lin_chk.h"
+
+// __ct__11cBgS_LinChkFv
+// cBgS_LinChk::cBgS_LinChk(void)
+asm cBgS_LinChk::cBgS_LinChk(void) {
+ nofralloc
+#include "SComponent/c_bg_s_lin_chk/asm/func_80267D5C.s"
+}
+
+// __dt__11cBgS_LinChkFv
+// cBgS_LinChk::~cBgS_LinChk(void)
+asm cBgS_LinChk::~cBgS_LinChk(void) {
+ nofralloc
+#include "SComponent/c_bg_s_lin_chk/asm/func_80267DBC.s"
+}
+
+// ct__11cBgS_LinChkFv
+// cBgS_LinChk::ct(void)
+asm void cBgS_LinChk::ct(void) {
+ nofralloc
+#include "SComponent/c_bg_s_lin_chk/asm/func_80267E48.s"
+}
+
+// Set2__11cBgS_LinChkFPC4cXyzPC4cXyzUi
+// cBgS_LinChk::Set2(const cXyz*, const cXyz*, unsigned int)
+asm void cBgS_LinChk::Set2(const cXyz*, const cXyz*, unsigned int) {
+ nofralloc
+#include "SComponent/c_bg_s_lin_chk/asm/func_80267ED0.s"
+}
+
+// PreCalc__11cBgS_LinChkFv
+// cBgS_LinChk::PreCalc(void)
+asm void cBgS_LinChk::PreCalc(void) {
+ nofralloc
+#include "SComponent/c_bg_s_lin_chk/asm/func_80267F40.s"
+}
+
+extern "C" {
+
+// @20@__dt__11cBgS_LinChkFv
+// cBgS_LinChk::@20@__dt(void)
+asm void func_80267F80(void) {
+ nofralloc
+#include "SComponent/c_bg_s_lin_chk/asm/func_80267F80.s"
+}
+};
diff --git a/libs/SSystem/SComponent/c_bg_s_poly_info.cpp b/libs/SSystem/SComponent/c_bg_s_poly_info.cpp
index 4bf93c8658..859cd3d2d0 100644
--- a/libs/SSystem/SComponent/c_bg_s_poly_info.cpp
+++ b/libs/SSystem/SComponent/c_bg_s_poly_info.cpp
@@ -1 +1,66 @@
-// ok
+/* c_bg_s_poly_info.cpp autogenerated by split.py v0.3 at 2021-01-01 12:59:59.592736 */
+
+#include "SComponent/c_bg_s_poly_info.h"
+
+// __ct__13cBgS_PolyInfoFv
+// cBgS_PolyInfo::cBgS_PolyInfo(void)
+asm cBgS_PolyInfo::cBgS_PolyInfo(void) {
+ nofralloc
+#include "SComponent/c_bg_s_poly_info/asm/func_80268074.s"
+}
+
+// __dt__13cBgS_PolyInfoFv
+// cBgS_PolyInfo::~cBgS_PolyInfo(void)
+asm cBgS_PolyInfo::~cBgS_PolyInfo(void) {
+ nofralloc
+#include "SComponent/c_bg_s_poly_info/asm/func_802680B0.s"
+}
+
+// ChkSetInfo__13cBgS_PolyInfoCFv
+// cBgS_PolyInfo::ChkSetInfo(void) const
+asm bool cBgS_PolyInfo::ChkSetInfo(void) const {
+ nofralloc
+#include "SComponent/c_bg_s_poly_info/asm/func_802680F8.s"
+}
+
+// ClearPi__13cBgS_PolyInfoFv
+// cBgS_PolyInfo::ClearPi(void)
+asm void cBgS_PolyInfo::ClearPi(void) {
+ nofralloc
+#include "SComponent/c_bg_s_poly_info/asm/func_80268120.s"
+}
+
+// SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo
+// cBgS_PolyInfo::SetPolyInfo(const cBgS_PolyInfo&)
+asm void cBgS_PolyInfo::SetPolyInfo(const cBgS_PolyInfo&) {
+ nofralloc
+#include "SComponent/c_bg_s_poly_info/asm/func_80268148.s"
+}
+
+// SetActorInfo__13cBgS_PolyInfoFiPvUi
+// cBgS_PolyInfo::SetActorInfo(int, void*, unsigned int)
+asm void cBgS_PolyInfo::SetActorInfo(int, void*, unsigned int) {
+ nofralloc
+#include "SComponent/c_bg_s_poly_info/asm/func_8026816C.s"
+}
+
+// ChkSafe__13cBgS_PolyInfoCFPCvUi
+// cBgS_PolyInfo::ChkSafe(const void*, unsigned int) const
+asm bool cBgS_PolyInfo::ChkSafe(const void*, unsigned int) const {
+ nofralloc
+#include "SComponent/c_bg_s_poly_info/asm/func_8026817C.s"
+}
+
+// SetPolyIndex__13cBgS_PolyInfoFi
+// cBgS_PolyInfo::SetPolyIndex(int)
+asm void cBgS_PolyInfo::SetPolyIndex(int) {
+ nofralloc
+#include "SComponent/c_bg_s_poly_info/asm/func_802681A4.s"
+}
+
+// ChkBgIndex__13cBgS_PolyInfoCFv
+// cBgS_PolyInfo::ChkBgIndex(void) const
+asm bool cBgS_PolyInfo::ChkBgIndex(void) const {
+ nofralloc
+#include "SComponent/c_bg_s_poly_info/asm/func_802681AC.s"
+}
diff --git a/libs/SSystem/SComponent/c_bg_s_shdw_draw.cpp b/libs/SSystem/SComponent/c_bg_s_shdw_draw.cpp
index 4bf93c8658..df247b35b7 100644
--- a/libs/SSystem/SComponent/c_bg_s_shdw_draw.cpp
+++ b/libs/SSystem/SComponent/c_bg_s_shdw_draw.cpp
@@ -1 +1,31 @@
-// ok
+/* c_bg_s_shdw_draw.cpp autogenerated by split.py v0.3 at 2021-01-01 13:07:28.496888 */
+
+#include "SComponent/c_bg_s_shdw_draw.h"
+
+// __ct__13cBgS_ShdwDrawFv
+// cBgS_ShdwDraw::cBgS_ShdwDraw(void)
+asm cBgS_ShdwDraw::cBgS_ShdwDraw(void) {
+ nofralloc
+#include "SComponent/c_bg_s_shdw_draw/asm/func_80267F88.s"
+}
+
+// __dt__13cBgS_ShdwDrawFv
+// cBgS_ShdwDraw::~cBgS_ShdwDraw(void)
+asm cBgS_ShdwDraw::~cBgS_ShdwDraw(void) {
+ nofralloc
+#include "SComponent/c_bg_s_shdw_draw/asm/func_80267FD0.s"
+}
+
+// Set__13cBgS_ShdwDrawFR4cXyzR4cXyz
+// cBgS_ShdwDraw::Set(cXyz&, cXyz&)
+asm void cBgS_ShdwDraw::Set(cXyz&, cXyz&) {
+ nofralloc
+#include "SComponent/c_bg_s_shdw_draw/asm/func_80268048.s"
+}
+
+// SetCallback__13cBgS_ShdwDrawFPFP13cBgS_ShdwDrawP10cBgD_Vtx_tiiiP8cM3dGPla_i
+// cBgS_ShdwDraw::SetCallback(int (*)(cBgS_ShdwDraw*, cBgD_Vtx_t*, int, int, int, cM3dGPla*))
+asm void cBgS_ShdwDraw::SetCallback(cBgS_ShdwDraw_Callback) {
+ nofralloc
+#include "SComponent/c_bg_s_shdw_draw/asm/func_8026806C.s"
+}
diff --git a/libs/SSystem/SComponent/c_cc_d.cpp b/libs/SSystem/SComponent/c_cc_d.cpp
index 4bf93c8658..5a448b8c2b 100644
--- a/libs/SSystem/SComponent/c_cc_d.cpp
+++ b/libs/SSystem/SComponent/c_cc_d.cpp
@@ -1 +1,532 @@
-// ok
+/* c_cc_d.cpp autogenerated by split.py v0.3 at 2021-01-01 13:13:18.271205 */
+
+#include "SComponent/c_xyz.h"
+#include "global.h"
+
+extern "C" {
+
+// Set__15cCcD_DivideInfoFUlUlUl
+// cCcD_DivideInfo::Set(unsigned long, unsigned long, unsigned long)
+asm void Set__15cCcD_DivideInfoFUlUlUl(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263358.s"
+}
+
+// Chk__15cCcD_DivideInfoCFRC15cCcD_DivideInfo
+// cCcD_DivideInfo::Chk(const cCcD_DivideInfo&) const
+asm void Chk__15cCcD_DivideInfoCFRC15cCcD_DivideInfo(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263368.s"
+}
+
+// SetArea__15cCcD_DivideAreaFRC8cM3dGAab
+// cCcD_DivideArea::SetArea(const cM3dGAab&)
+asm void SetArea__15cCcD_DivideAreaFRC8cM3dGAab(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802633A8.s"
+}
+
+// CalcDivideInfo__15cCcD_DivideAreaFP15cCcD_DivideInfoRC8cM3dGAabUl
+// cCcD_DivideArea::CalcDivideInfo(cCcD_DivideInfo*, const cM3dGAab&, unsigned long)
+asm void CalcDivideInfo__15cCcD_DivideAreaFP15cCcD_DivideInfoRC8cM3dGAabUl(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802634D4.s"
+}
+
+// CalcDivideInfoOverArea__15cCcD_DivideAreaFP15cCcD_DivideInfoRC8cM3dGAab
+// cCcD_DivideArea::CalcDivideInfoOverArea(cCcD_DivideInfo*, const cM3dGAab&)
+asm void CalcDivideInfoOverArea__15cCcD_DivideAreaFP15cCcD_DivideInfoRC8cM3dGAab(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802636A0.s"
+}
+
+// GetGStts__9cCcD_SttsCFv
+// cCcD_Stts::GetGStts(void) const
+asm void GetGStts__9cCcD_SttsCFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263894.s"
+}
+
+// GetGStts__9cCcD_SttsFv
+// cCcD_Stts::GetGStts(void)
+asm void GetGStts__9cCcD_SttsFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_8026389C.s"
+}
+
+// Init__9cCcD_SttsFiiPvUi
+// cCcD_Stts::Init(int, int, void*, unsigned int)
+asm void Init__9cCcD_SttsFiiPvUi(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802638A4.s"
+}
+
+// Ct__9cCcD_SttsFv
+// cCcD_Stts::Ct(void)
+asm void Ct__9cCcD_SttsFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263904.s"
+}
+
+// PlusCcMove__9cCcD_SttsFfff
+// cCcD_Stts::PlusCcMove(float, float, float)
+asm void PlusCcMove__9cCcD_SttsFfff(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263934.s"
+}
+
+// ClrCcMove__9cCcD_SttsFv
+// cCcD_Stts::ClrCcMove(void)
+asm void ClrCcMove__9cCcD_SttsFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_8026395C.s"
+}
+
+// PlusDmg__9cCcD_SttsFi
+// cCcD_Stts::PlusDmg(int)
+asm void cCcD_Stts_NS_PlusDmg(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263970.s"
+}
+
+// GetWeightF__9cCcD_SttsCFv
+// cCcD_Stts::GetWeightF(void) const
+asm void GetWeightF__9cCcD_SttsCFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263984.s"
+}
+
+// ct__18cCcD_ObjCommonBaseFv
+// cCcD_ObjCommonBase::ct(void)
+asm void ct__18cCcD_ObjCommonBaseFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802639B0.s"
+}
+
+// Set__14cCcD_ObjHitInfFRC17cCcD_SrcObjHitInf
+// cCcD_ObjHitInf::Set(const cCcD_SrcObjHitInf&)
+asm void Set__14cCcD_ObjHitInfFRC17cCcD_SrcObjHitInf(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802639C4.s"
+}
+
+// ct__8cCcD_ObjFv
+// cCcD_Obj::ct(void)
+asm void ct__8cCcD_ObjFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263A10.s"
+}
+
+// Set__8cCcD_ObjFRC11cCcD_SrcObj
+// cCcD_Obj::Set(const cCcD_SrcObj&)
+asm void Set__8cCcD_ObjFRC11cCcD_SrcObj(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263A1C.s"
+}
+
+// GetAc__8cCcD_ObjFv
+// cCcD_Obj::GetAc(void)
+asm void GetAc__8cCcD_ObjFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263A48.s"
+}
+
+// getShapeAccess__14cCcD_ShapeAttrCFPQ214cCcD_ShapeAttr5Shape
+// cCcD_ShapeAttr::getShapeAccess(cCcD_ShapeAttr::Shape) const
+asm void getShapeAccess__14cCcD_ShapeAttrCFPQ214cCcD_ShapeAttr5Shape(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263A64.s"
+}
+
+// CrossAtTg__12cCcD_TriAttrCFRC12cCcD_CpsAttrP4cXyz
+// cCcD_TriAttr::CrossAtTg(const cCcD_CpsAttr&, cXyz*) const
+asm void CrossAtTg__12cCcD_TriAttrCFRC12cCcD_CpsAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263A88.s"
+}
+
+// CrossAtTg__12cCcD_TriAttrCFRC12cCcD_CylAttrP4cXyz
+// cCcD_TriAttr::CrossAtTg(const cCcD_CylAttr&, cXyz*) const
+asm void CrossAtTg__12cCcD_TriAttrCFRC12cCcD_CylAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263B58.s"
+}
+
+// CrossAtTg__12cCcD_TriAttrCFRC12cCcD_SphAttrP4cXyz
+// cCcD_TriAttr::CrossAtTg(const cCcD_SphAttr&, cXyz*) const
+asm void CrossAtTg__12cCcD_TriAttrCFRC12cCcD_SphAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263B90.s"
+}
+
+// CrossAtTg__12cCcD_TriAttrCFRC12cCcD_TriAttrP4cXyz
+// cCcD_TriAttr::CrossAtTg(const cCcD_TriAttr&, cXyz*) const
+asm void CrossAtTg__12cCcD_TriAttrCFRC12cCcD_TriAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263BCC.s"
+}
+
+// CalcAabBox__12cCcD_TriAttrFv
+// cCcD_TriAttr::CalcAabBox(void)
+asm void CalcAabBox__12cCcD_TriAttrFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263C04.s"
+}
+
+// GetNVec__12cCcD_TriAttrCFRC4cXyzP4cXyz
+// cCcD_TriAttr::GetNVec(const cXyz&, cXyz*) const
+asm void GetNVec__12cCcD_TriAttrCFRC4cXyzP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263C9C.s"
+}
+
+// CrossAtTg__12cCcD_CpsAttrCFRC12cCcD_CpsAttrP4cXyz
+// cCcD_CpsAttr::CrossAtTg(const cCcD_CpsAttr&, cXyz*) const
+asm void CrossAtTg__12cCcD_CpsAttrCFRC12cCcD_CpsAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263D38.s"
+}
+
+// CrossAtTg__12cCcD_CpsAttrCFRC12cCcD_CylAttrP4cXyz
+// cCcD_CpsAttr::CrossAtTg(const cCcD_CylAttr&, cXyz*) const
+asm void CrossAtTg__12cCcD_CpsAttrCFRC12cCcD_CylAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263D7C.s"
+}
+
+// CrossAtTg__12cCcD_CpsAttrCFRC12cCcD_SphAttrP4cXyz
+// cCcD_CpsAttr::CrossAtTg(const cCcD_SphAttr&, cXyz*) const
+asm void CrossAtTg__12cCcD_CpsAttrCFRC12cCcD_SphAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263DC0.s"
+}
+
+// CrossAtTg__12cCcD_CpsAttrCFRC12cCcD_TriAttrP4cXyz
+// cCcD_CpsAttr::CrossAtTg(const cCcD_TriAttr&, cXyz*) const
+asm void CrossAtTg__12cCcD_CpsAttrCFRC12cCcD_TriAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263E04.s"
+}
+
+// CrossCo__12cCcD_CpsAttrCFRC12cCcD_CpsAttrPf
+// cCcD_CpsAttr::CrossCo(const cCcD_CpsAttr&, float*) const
+asm void CrossCo__12cCcD_CpsAttrCFRC12cCcD_CpsAttrPf(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263ED4.s"
+}
+
+// CrossCo__12cCcD_CpsAttrCFRC12cCcD_CylAttrPf
+// cCcD_CpsAttr::CrossCo(const cCcD_CylAttr&, float*) const
+asm void CrossCo__12cCcD_CpsAttrCFRC12cCcD_CylAttrPf(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263F24.s"
+}
+
+// CrossCo__12cCcD_CpsAttrCFRC12cCcD_SphAttrPf
+// cCcD_CpsAttr::CrossCo(const cCcD_SphAttr&, float*) const
+asm void CrossCo__12cCcD_CpsAttrCFRC12cCcD_SphAttrPf(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263F74.s"
+}
+
+// CalcAabBox__12cCcD_CpsAttrFv
+// cCcD_CpsAttr::CalcAabBox(void)
+asm void CalcAabBox__12cCcD_CpsAttrFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80263FC4.s"
+}
+
+// GetNVec__12cCcD_CpsAttrCFRC4cXyzP4cXyz
+// cCcD_CpsAttr::GetNVec(const cXyz&, cXyz*) const
+asm void GetNVec__12cCcD_CpsAttrCFRC4cXyzP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264014.s"
+}
+
+// CrossAtTg__12cCcD_CylAttrCFRC12cCcD_CpsAttrP4cXyz
+// cCcD_CylAttr::CrossAtTg(const cCcD_CpsAttr&, cXyz*) const
+asm void CrossAtTg__12cCcD_CylAttrCFRC12cCcD_CpsAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_8026417C.s"
+}
+
+// CrossAtTg__12cCcD_CylAttrCFRC12cCcD_CylAttrP4cXyz
+// cCcD_CylAttr::CrossAtTg(const cCcD_CylAttr&, cXyz*) const
+asm void CrossAtTg__12cCcD_CylAttrCFRC12cCcD_CylAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802641C8.s"
+}
+
+// CrossAtTg__12cCcD_CylAttrCFRC12cCcD_SphAttrP4cXyz
+// cCcD_CylAttr::CrossAtTg(const cCcD_SphAttr&, cXyz*) const
+asm void CrossAtTg__12cCcD_CylAttrCFRC12cCcD_SphAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_8026420C.s"
+}
+
+// CrossAtTg__12cCcD_CylAttrCFRC12cCcD_TriAttrP4cXyz
+// cCcD_CylAttr::CrossAtTg(const cCcD_TriAttr&, cXyz*) const
+asm void CrossAtTg__12cCcD_CylAttrCFRC12cCcD_TriAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264250.s"
+}
+
+// CrossCo__12cCcD_CylAttrCFRC12cCcD_CylAttrPf
+// cCcD_CylAttr::CrossCo(const cCcD_CylAttr&, float*) const
+asm void CrossCo__12cCcD_CylAttrCFRC12cCcD_CylAttrPf(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264288.s"
+}
+
+// CrossCo__12cCcD_CylAttrCFRC12cCcD_SphAttrPf
+// cCcD_CylAttr::CrossCo(const cCcD_SphAttr&, float*) const
+asm void CrossCo__12cCcD_CylAttrCFRC12cCcD_SphAttrPf(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802642CC.s"
+}
+
+// CrossCo__12cCcD_CylAttrCFRC12cCcD_CpsAttrPf
+// cCcD_CylAttr::CrossCo(const cCcD_CpsAttr&, float*) const
+asm void CrossCo__12cCcD_CylAttrCFRC12cCcD_CpsAttrPf(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264310.s"
+}
+
+// CalcAabBox__12cCcD_CylAttrFv
+// cCcD_CylAttr::CalcAabBox(void)
+asm void CalcAabBox__12cCcD_CylAttrFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264368.s"
+}
+
+// GetNVec__12cCcD_CylAttrCFRC4cXyzP4cXyz
+// cCcD_CylAttr::GetNVec(const cXyz&, cXyz*) const
+asm void GetNVec__12cCcD_CylAttrCFRC4cXyzP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802643D0.s"
+}
+
+// getShapeAccess__12cCcD_CylAttrCFPQ214cCcD_ShapeAttr5Shape
+// cCcD_CylAttr::getShapeAccess(cCcD_ShapeAttr::Shape) const
+asm void getShapeAccess__12cCcD_CylAttrCFPQ214cCcD_ShapeAttr5Shape(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802644B8.s"
+}
+
+// CrossAtTg__12cCcD_SphAttrCFRC12cCcD_CpsAttrP4cXyz
+// cCcD_SphAttr::CrossAtTg(const cCcD_CpsAttr&, cXyz*) const
+asm void CrossAtTg__12cCcD_SphAttrCFRC12cCcD_CpsAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802644EC.s"
+}
+
+// CrossAtTg__12cCcD_SphAttrCFRC12cCcD_CylAttrP4cXyz
+// cCcD_SphAttr::CrossAtTg(const cCcD_CylAttr&, cXyz*) const
+asm void CrossAtTg__12cCcD_SphAttrCFRC12cCcD_CylAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264538.s"
+}
+
+// CrossAtTg__12cCcD_SphAttrCFRC12cCcD_SphAttrP4cXyz
+// cCcD_SphAttr::CrossAtTg(const cCcD_SphAttr&, cXyz*) const
+asm void CrossAtTg__12cCcD_SphAttrCFRC12cCcD_SphAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_8026457C.s"
+}
+
+// CrossAtTg__12cCcD_SphAttrCFRC12cCcD_TriAttrP4cXyz
+// cCcD_SphAttr::CrossAtTg(const cCcD_TriAttr&, cXyz*) const
+asm void CrossAtTg__12cCcD_SphAttrCFRC12cCcD_TriAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802645C0.s"
+}
+
+// CrossCo__12cCcD_SphAttrCFRC12cCcD_CylAttrPf
+// cCcD_SphAttr::CrossCo(const cCcD_CylAttr&, float*) const
+asm void CrossCo__12cCcD_SphAttrCFRC12cCcD_CylAttrPf(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802645F8.s"
+}
+
+// CrossCo__12cCcD_SphAttrCFRC12cCcD_SphAttrPf
+// cCcD_SphAttr::CrossCo(const cCcD_SphAttr&, float*) const
+asm void CrossCo__12cCcD_SphAttrCFRC12cCcD_SphAttrPf(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264644.s"
+}
+
+// CrossCo__12cCcD_SphAttrCFRC12cCcD_CpsAttrPf
+// cCcD_SphAttr::CrossCo(const cCcD_CpsAttr&, float*) const
+asm void CrossCo__12cCcD_SphAttrCFRC12cCcD_CpsAttrPf(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264688.s"
+}
+
+// CalcAabBox__12cCcD_SphAttrFv
+// cCcD_SphAttr::CalcAabBox(void)
+asm void CalcAabBox__12cCcD_SphAttrFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802646E0.s"
+}
+
+// GetNVec__12cCcD_SphAttrCFRC4cXyzP4cXyz
+// cCcD_SphAttr::GetNVec(const cXyz&, cXyz*) const
+asm void GetNVec__12cCcD_SphAttrCFRC4cXyzP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_8026476C.s"
+}
+
+// getShapeAccess__12cCcD_SphAttrCFPQ214cCcD_ShapeAttr5Shape
+// cCcD_SphAttr::getShapeAccess(cCcD_ShapeAttr::Shape) const
+asm void getShapeAccess__12cCcD_SphAttrCFPQ214cCcD_ShapeAttr5Shape(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264808.s"
+}
+
+// SetHit__10cCcD_ObjAtFP8cCcD_Obj
+// cCcD_ObjAt::SetHit(cCcD_Obj*)
+asm void SetHit__10cCcD_ObjAtFP8cCcD_Obj(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_8026483C.s"
+}
+
+// Set__10cCcD_ObjAtFRC13cCcD_SrcObjAt
+// cCcD_ObjAt::Set(const cCcD_SrcObjAt&)
+asm void Set__10cCcD_ObjAtFRC13cCcD_SrcObjAt(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_8026484C.s"
+}
+
+// ClrHit__10cCcD_ObjAtFv
+// cCcD_ObjAt::ClrHit(void)
+asm void ClrHit__10cCcD_ObjAtFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264868.s"
+}
+
+// Set__10cCcD_ObjTgFRC13cCcD_SrcObjTg
+// cCcD_ObjTg::Set(const cCcD_SrcObjTg&)
+asm void Set__10cCcD_ObjTgFRC13cCcD_SrcObjTg(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264880.s"
+}
+
+// SetGrp__10cCcD_ObjTgFUl
+// cCcD_ObjTg::SetGrp(unsigned long)
+asm void SetGrp__10cCcD_ObjTgFUl(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264894.s"
+}
+
+// ClrHit__10cCcD_ObjTgFv
+// cCcD_ObjTg::ClrHit(void)
+asm void ClrHit__10cCcD_ObjTgFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802648B0.s"
+}
+
+// SetHit__10cCcD_ObjTgFP8cCcD_Obj
+// cCcD_ObjTg::SetHit(cCcD_Obj*)
+asm void SetHit__10cCcD_ObjTgFP8cCcD_Obj(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802648C8.s"
+}
+
+// SetHit__10cCcD_ObjCoFP8cCcD_Obj
+// cCcD_ObjCo::SetHit(cCcD_Obj*)
+asm void SetHit__10cCcD_ObjCoFP8cCcD_Obj(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802648D8.s"
+}
+
+// ClrHit__10cCcD_ObjCoFv
+// cCcD_ObjCo::ClrHit(void)
+asm void ClrHit__10cCcD_ObjCoFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802648E8.s"
+}
+
+// SetIGrp__10cCcD_ObjCoFUl
+// cCcD_ObjCo::SetIGrp(unsigned long)
+asm void SetIGrp__10cCcD_ObjCoFUl(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264900.s"
+}
+
+// SetVsGrp__10cCcD_ObjCoFUl
+// cCcD_ObjCo::SetVsGrp(unsigned long)
+asm void SetVsGrp__10cCcD_ObjCoFUl(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_8026491C.s"
+}
+
+// __dt__12cCcD_TriAttrFv
+// cCcD_TriAttr::~cCcD_TriAttr(void)
+asm void __dt__12cCcD_TriAttrFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264938.s"
+}
+
+// CrossAtTg__14cCcD_ShapeAttrCFRC14cCcD_ShapeAttrP4cXyz
+// cCcD_ShapeAttr::CrossAtTg(const cCcD_ShapeAttr&, cXyz*) const
+asm void CrossAtTg__14cCcD_ShapeAttrCFRC14cCcD_ShapeAttrP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802649D8.s"
+}
+
+// CrossCo__14cCcD_ShapeAttrCFRC14cCcD_ShapeAttrPf
+// cCcD_ShapeAttr::CrossCo(const cCcD_ShapeAttr&, float*) const
+asm void CrossCo__14cCcD_ShapeAttrCFRC14cCcD_ShapeAttrPf(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802649E0.s"
+}
+
+// ClrAt__9cCcD_SttsFv
+// cCcD_Stts::ClrAt(void)
+asm void ClrAt__9cCcD_SttsFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802649E8.s"
+}
+
+// ClrTg__9cCcD_SttsFv
+// cCcD_Stts::ClrTg(void)
+asm void ClrTg__9cCcD_SttsFv(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802649EC.s"
+}
+
+// __sinit_c_cc_d_cpp
+//
+asm void __sinit_c_cc_d_cpp(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_802649F8.s"
+}
+
+// @32@__dt__12cCcD_TriAttrFv
+// cCcD_TriAttr::@32@__dt(void)
+asm void func_80264A4C(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264A4C.s"
+}
+
+// @32@__dt__12cCcD_CpsAttrFv
+// cCcD_CpsAttr::@32@__dt(void)
+asm void func_80264A54(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264A54.s"
+}
+
+// @32@__dt__12cCcD_CylAttrFv
+// cCcD_CylAttr::@32@__dt(void)
+asm void func_80264A5C(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264A5C.s"
+}
+
+// @32@__dt__12cCcD_SphAttrFv
+// cCcD_SphAttr::@32@__dt(void)
+asm void func_80264A64(void) {
+ nofralloc
+#include "SComponent/c_cc_d/asm/func_80264A64.s"
+}
+};
diff --git a/libs/SSystem/SComponent/c_cc_s.cpp b/libs/SSystem/SComponent/c_cc_s.cpp
index 4bf93c8658..bf46c2b407 100644
--- a/libs/SSystem/SComponent/c_cc_s.cpp
+++ b/libs/SSystem/SComponent/c_cc_s.cpp
@@ -1 +1,196 @@
-// ok
+/* c_cc_s.cpp autogenerated by split.py v0.3 at 2021-01-01 13:55:15.722706 */
+
+#include "global.h"
+
+extern "C" {
+// __ct__4cCcSFv
+// cCcS::cCcS(void)
+asm void __ct__4cCcSFv(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80264A6C.s"
+}
+
+// Ct__4cCcSFv
+// cCcS::Ct(void)
+asm void Ct__4cCcSFv(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80264A94.s"
+}
+
+// Dt__4cCcSFv
+// cCcS::Dt(void)
+asm void Dt__4cCcSFv(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80264B60.s"
+}
+
+// GetWt__4cCcSCFUc
+// cCcS::GetWt(unsigned char) const
+asm void GetWt__4cCcSCFUc(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80264B80.s"
+}
+
+// Set__4cCcSFP8cCcD_Obj
+// cCcS::Set(cCcD_Obj*)
+asm void Set__4cCcSFP8cCcD_Obj(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80264BA8.s"
+}
+
+// ClrCoHitInf__4cCcSFv
+// cCcS::ClrCoHitInf(void)
+asm void ClrCoHitInf__4cCcSFv(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80264C5C.s"
+}
+
+// ClrTgHitInf__4cCcSFv
+// cCcS::ClrTgHitInf(void)
+asm void ClrTgHitInf__4cCcSFv(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80264CF0.s"
+}
+
+// ClrAtHitInf__4cCcSFv
+// cCcS::ClrAtHitInf(void)
+asm void ClrAtHitInf__4cCcSFv(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80264D90.s"
+}
+
+// ChkNoHitAtTg__4cCcSFP8cCcD_ObjP8cCcD_Obj
+// cCcS::ChkNoHitAtTg(cCcD_Obj*, cCcD_Obj*)
+asm void ChkNoHitAtTg__4cCcSFP8cCcD_ObjP8cCcD_Obj(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80264E2C.s"
+}
+
+// ChkAtTg__4cCcSFv
+// cCcS::ChkAtTg(void)
+asm void ChkAtTg__4cCcSFv(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80264F40.s"
+}
+
+// ChkNoHitCo__4cCcSFP8cCcD_ObjP8cCcD_Obj
+// cCcS::ChkNoHitCo(cCcD_Obj*, cCcD_Obj*)
+asm void ChkNoHitCo__4cCcSFP8cCcD_ObjP8cCcD_Obj(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_8026515C.s"
+}
+
+// ChkCo__4cCcSFv
+// cCcS::ChkCo(void)
+asm void ChkCo__4cCcSFv(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80265230.s"
+}
+
+// CalcTgPlusDmg__4cCcSFP8cCcD_ObjP8cCcD_ObjP9cCcD_SttsP9cCcD_Stts
+// cCcS::CalcTgPlusDmg(cCcD_Obj*, cCcD_Obj*, cCcD_Stts*, cCcD_Stts*)
+asm void CalcTgPlusDmg__4cCcSFP8cCcD_ObjP8cCcD_ObjP9cCcD_SttsP9cCcD_Stts(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_802653A0.s"
+}
+
+// SetAtTgCommonHitInf__4cCcSFP8cCcD_ObjP8cCcD_ObjP4cXyz
+// cCcS::SetAtTgCommonHitInf(cCcD_Obj*, cCcD_Obj*, cXyz*)
+asm void SetAtTgCommonHitInf__4cCcSFP8cCcD_ObjP8cCcD_ObjP4cXyz(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_802653C8.s"
+}
+
+// SetCoCommonHitInf__4cCcSFP8cCcD_ObjP4cXyzP8cCcD_ObjP4cXyzf
+// cCcS::SetCoCommonHitInf(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, float)
+asm void SetCoCommonHitInf__4cCcSFP8cCcD_ObjP4cXyzP8cCcD_ObjP4cXyzf(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_802655E4.s"
+}
+
+// SetPosCorrect__4cCcSFP8cCcD_ObjP4cXyzP8cCcD_ObjP4cXyzf
+// cCcS::SetPosCorrect(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, float)
+asm void SetPosCorrect__4cCcSFP8cCcD_ObjP4cXyzP8cCcD_ObjP4cXyzf(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80265750.s"
+}
+
+// CalcArea__4cCcSFv
+// cCcS::CalcArea(void)
+asm void CalcArea__4cCcSFv(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80265BB4.s"
+}
+
+// Move__4cCcSFv
+// cCcS::Move(void)
+asm void Move__4cCcSFv(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80265CCC.s"
+}
+
+// DrawClear__4cCcSFv
+// cCcS::DrawClear(void)
+asm void DrawClear__4cCcSFv(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80265D30.s"
+}
+
+// SetCoGCorrectProc__4cCcSFP8cCcD_ObjP8cCcD_Obj
+// cCcS::SetCoGCorrectProc(cCcD_Obj*, cCcD_Obj*)
+asm void SetCoGCorrectProc__4cCcSFP8cCcD_ObjP8cCcD_Obj(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80265DF4.s"
+}
+
+// SetCoGObjInf__4cCcSFbbP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts
+// cCcS::SetCoGObjInf(bool, bool, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, cCcD_GStts*,
+// cCcD_GStts*)
+asm void
+SetCoGObjInf__4cCcSFbbP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts(
+ void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80265DF8.s"
+}
+
+// SetAtTgGObjInf__4cCcSFbbP8cCcD_ObjP8cCcD_ObjP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GSttsP4cXyz
+// cCcS::SetAtTgGObjInf(bool, bool, cCcD_Obj*, cCcD_Obj*, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*,
+// cCcD_Stts*, cCcD_GStts*, cCcD_GStts*, cXyz*)
+asm void
+SetAtTgGObjInf__4cCcSFbbP8cCcD_ObjP8cCcD_ObjP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GSttsP4cXyz(
+ void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80265DFC.s"
+}
+
+// ChkNoHitGAtTg__4cCcSFPC12cCcD_GObjInfPC12cCcD_GObjInfP10cCcD_GSttsP10cCcD_GStts
+// cCcS::ChkNoHitGAtTg(const cCcD_GObjInf*, const cCcD_GObjInf*, cCcD_GStts*, cCcD_GStts*)
+asm void ChkNoHitGAtTg__4cCcSFPC12cCcD_GObjInfPC12cCcD_GObjInfP10cCcD_GSttsP10cCcD_GStts(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80265E00.s"
+}
+
+// ChkAtTgHitAfterCross__4cCcSFbbPC12cCcD_GObjInfPC12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts
+// cCcS::ChkAtTgHitAfterCross(bool, bool, const cCcD_GObjInf*, const cCcD_GObjInf*, cCcD_Stts*,
+// cCcD_Stts*, cCcD_GStts*, cCcD_GStts*)
+asm void
+ChkAtTgHitAfterCross__4cCcSFbbPC12cCcD_GObjInfPC12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts(
+ void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80265E08.s"
+}
+
+// ChkNoHitGCo__4cCcSFP8cCcD_ObjP8cCcD_Obj
+// cCcS::ChkNoHitGCo(cCcD_Obj*, cCcD_Obj*)
+asm void ChkNoHitGCo__4cCcSFP8cCcD_ObjP8cCcD_Obj(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80265E10.s"
+}
+
+// MoveAfterCheck__4cCcSFv
+// cCcS::MoveAfterCheck(void)
+asm void MoveAfterCheck__4cCcSFv(void) {
+ nofralloc
+#include "SComponent/c_cc_s/asm/func_80265E18.s"
+}
+};
diff --git a/libs/SSystem/SComponent/c_lib.cpp b/libs/SSystem/SComponent/c_lib.cpp
index 4bf93c8658..9ea135cfca 100644
--- a/libs/SSystem/SComponent/c_lib.cpp
+++ b/libs/SSystem/SComponent/c_lib.cpp
@@ -1 +1,199 @@
-// ok
+/* c_lib.cpp autogenerated by split.py v0.3 at 2021-01-01 14:12:11.766106 */
+
+#include "SComponent/c_lib.h"
+
+// cLib_memCpy__FPvPCvUl
+// cLib_memCpy(void*, const void*, unsigned long)
+asm void cLib_memCpy(void*, const void*, unsigned long) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_8026F93C.s"
+}
+
+// cLib_memSet__FPviUl
+// cLib_memSet(void*, int, unsigned long)
+asm void cLib_memSet(void*, int, unsigned long) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_8026F95C.s"
+}
+
+// cLib_addCalc__FPfffff
+// cLib_addCalc(float*, float, float, float, float)
+asm float cLib_addCalc(float*, float, float, float, float) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_8026F97C.s"
+}
+
+// cLib_addCalc2__FPffff
+// cLib_addCalc2(float*, float, float, float)
+asm void cLib_addCalc2(float*, float, float, float) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_8026FA3C.s"
+}
+
+// cLib_addCalc0__FPfff
+// cLib_addCalc0(float*, float, float)
+asm void cLib_addCalc0(float*, float, float) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_8026FA80.s"
+}
+
+// cLib_addCalcPos__FP4cXyzRC4cXyzfff
+// cLib_addCalcPos(cXyz*, const cXyz&, float, float, float)
+asm float cLib_addCalcPos(cXyz*, const cXyz&, float, float, float) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_8026FAB8.s"
+}
+
+// cLib_addCalcPosXZ__FP4cXyzRC4cXyzfff
+// cLib_addCalcPosXZ(cXyz*, const cXyz&, float, float, float)
+asm float cLib_addCalcPosXZ(cXyz*, const cXyz&, float, float, float) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_8026FDF4.s"
+}
+
+// cLib_addCalcPos2__FP4cXyzRC4cXyzff
+// cLib_addCalcPos2(cXyz*, const cXyz&, float, float)
+asm void cLib_addCalcPos2(cXyz*, const cXyz&, float, float) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270178.s"
+}
+
+// cLib_addCalcPosXZ2__FP4cXyzRC4cXyzff
+// cLib_addCalcPosXZ2(cXyz*, const cXyz&, float, float)
+asm void cLib_addCalcPosXZ2(cXyz*, const cXyz&, float, float) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270350.s"
+}
+
+// cLib_addCalcAngleS__FPsssss
+// cLib_addCalcAngleS(short*, short, short, short, short)
+asm short cLib_addCalcAngleS(short*, short, short, short, short) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270540.s"
+}
+
+// cLib_addCalcAngleS2__FPssss
+// cLib_addCalcAngleS2(short*, short, short, short)
+asm void cLib_addCalcAngleS2(short*, short, short, short) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270608.s"
+}
+
+// cLib_chaseUC__FPUcUcUc
+// cLib_chaseUC(unsigned char*, unsigned char, unsigned char)
+asm int cLib_chaseUC(unsigned char*, unsigned char, unsigned char) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_8027065C.s"
+}
+
+// cLib_chaseS__FPsss
+// cLib_chaseS(short*, short, short)
+asm int cLib_chaseS(short*, short, short) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_802706D0.s"
+}
+
+// cLib_chaseF__FPfff
+// cLib_chaseF(float*, float, float)
+asm int cLib_chaseF(float*, float, float) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270740.s"
+}
+
+// cLib_chasePos__FP4cXyzRC4cXyzf
+// cLib_chasePos(cXyz*, const cXyz&, float)
+asm int cLib_chasePos(cXyz*, const cXyz&, float) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_802707AC.s"
+}
+
+// cLib_chasePosXZ__FP4cXyzRC4cXyzf
+// cLib_chasePosXZ(cXyz*, const cXyz&, float)
+asm int cLib_chasePosXZ(cXyz*, const cXyz&, float) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270990.s"
+}
+
+// cLib_chaseAngleS__FPsss
+// cLib_chaseAngleS(short*, short, short)
+asm int cLib_chaseAngleS(short*, short, short) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270B90.s"
+}
+
+// cLib_targetAngleY__FPC3VecPC3Vec
+// cLib_targetAngleY(const Vec*, const Vec*)
+asm short cLib_targetAngleY(const Vec*, const Vec*) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270C04.s"
+}
+
+// cLib_targetAngleY__FRC3VecRC3Vec
+// cLib_targetAngleY(const Vec&, const Vec&)
+asm short cLib_targetAngleY(const Vec&, const Vec&) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270C3C.s"
+}
+
+// cLib_targetAngleX__FPC4cXyzPC4cXyz
+// cLib_targetAngleX(const cXyz*, const cXyz*)
+asm short cLib_targetAngleX(const cXyz*, const cXyz*) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270C74.s"
+}
+
+// cLib_offsetPos__FP4cXyzPC4cXyzsPC4cXyz
+// cLib_offsetPos(cXyz*, const cXyz*, short, const cXyz*)
+asm void cLib_offsetPos(cXyz*, const cXyz*, short, const cXyz*) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270DC0.s"
+}
+
+// cLib_distanceAngleS__Fss
+// cLib_distanceAngleS(short, short)
+asm short cLib_distanceAngleS(short, short) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270E24.s"
+}
+
+// MtxInit__Fv
+// MtxInit(void)
+asm void MtxInit(void) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270E4C.s"
+}
+
+// MtxTrans__FfffUc
+// MtxTrans(float, float, float, unsigned char)
+asm void MtxTrans(float, float, float, unsigned char) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270E5C.s"
+}
+
+// MtxScale__FfffUc
+// MtxScale(float, float, float, unsigned char)
+asm void MtxScale(float, float, float, unsigned char) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270EA4.s"
+}
+
+// MtxPosition__FP4cXyzP4cXyz
+// MtxPosition(cXyz*, cXyz*)
+asm void MtxPosition(cXyz*, cXyz*) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270EEC.s"
+}
+
+// MtxPush__Fv
+// MtxPush(void)
+asm void MtxPush(void) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270F1C.s"
+}
+
+// MtxPull__Fv
+// MtxPull(void)
+asm Mtx* MtxPull(void) {
+ nofralloc
+#include "SComponent/c_lib/asm/func_80270F58.s"
+}
diff --git a/libs/SSystem/SComponent/c_m2d.cpp b/libs/SSystem/SComponent/c_m2d.cpp
index 4bf93c8658..25b8536564 100644
--- a/libs/SSystem/SComponent/c_m2d.cpp
+++ b/libs/SSystem/SComponent/c_m2d.cpp
@@ -1 +1,9 @@
-// ok
+/* c_m2d.cpp autogenerated by split.py v0.3 at 2021-01-01 14:23:08.024801 */
+
+#include "SComponent/c_m2d.h"
+
+// cM2d_CrossCirLin__FR8cM2dGCirffffPfPf
+asm void cM2d_CrossCirLin(cM2dGCir&, float, float, float, float, float*, float*) {
+ nofralloc
+#include "SComponent/c_m2d/asm/func_80268260.s"
+}
diff --git a/libs/SSystem/SComponent/c_m3d.cpp b/libs/SSystem/SComponent/c_m3d.cpp
index 4bf93c8658..738037d38b 100644
--- a/libs/SSystem/SComponent/c_m3d.cpp
+++ b/libs/SSystem/SComponent/c_m3d.cpp
@@ -1 +1,464 @@
-// ok
+/* c_m3d.cpp autogenerated by split.py v0.3 at 2021-01-01 14:58:46.459661 */
+
+#include "SComponent/c_m3d.h"
+
+// cM3d_InDivPos1__FPC3VecPC3VecfP3Vec
+// cM3d_InDivPos1(const Vec*, const Vec*, float, Vec*)
+asm void cM3d_InDivPos1(const Vec*, const Vec*, float, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_80268560.s"
+}
+
+// cM3d_InDivPos2__FPC3VecPC3VecfP3Vec
+// cM3d_InDivPos2(const Vec*, const Vec*, float, Vec*)
+asm void cM3d_InDivPos2(const Vec*, const Vec*, float, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_802685B0.s"
+}
+
+// cM3d_Len2dSq__Fffff
+// cM3d_Len2dSq(float, float, float, float)
+asm float cM3d_Len2dSq(float, float, float, float) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_80268614.s"
+}
+
+// cM3d_Len2dSqPntAndSegLine__FffffffPfPfPf
+// cM3d_Len2dSqPntAndSegLine(float, float, float, float, float, float, float*, float*, float*)
+asm bool cM3d_Len2dSqPntAndSegLine(float, float, float, float, float, float, float*, float*,
+ float*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026862C.s"
+}
+
+// cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf
+// cM3d_Len3dSqPntAndSegLine(const cM3dGLin*, const Vec*, Vec*, float*)
+asm bool cM3d_Len3dSqPntAndSegLine(const cM3dGLin*, const Vec*, Vec*, float*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_80268710.s"
+}
+
+// cM3d_SignedLenPlaAndPos__FPC8cM3dGPlaPC3Vec
+// cM3d_SignedLenPlaAndPos(const cM3dGPla*, const Vec*)
+asm float cM3d_SignedLenPlaAndPos(const cM3dGPla*, const Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_80268814.s"
+}
+
+// cM3d_VectorProduct2d__Fffffff
+// cM3d_VectorProduct2d(float, float, float, float, float, float)
+asm float cM3d_VectorProduct2d(float, float, float, float, float, float) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_80268894.s"
+}
+
+// cM3d_VectorProduct__FPC4cXyzPC4cXyzPC4cXyzP4cXyz
+// cM3d_VectorProduct(const cXyz*, const cXyz*, const cXyz*, cXyz*)
+asm void cM3d_VectorProduct(const cXyz*, const cXyz*, const cXyz*, cXyz*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_802688B4.s"
+}
+
+// cM3d_CalcPla__FPC3VecPC3VecPC3VecP3VecPf
+// cM3d_CalcPla(const Vec*, const Vec*, const Vec*, Vec*, float*)
+asm void cM3d_CalcPla(const Vec*, const Vec*, const Vec*, Vec*, float*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026891C.s"
+}
+
+// cM3d_Cross_AabAab__FPC8cM3dGAabPC8cM3dGAab
+// cM3d_Cross_AabAab(const cM3dGAab*, const cM3dGAab*)
+asm bool cM3d_Cross_AabAab(const cM3dGAab*, const cM3dGAab*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_802689E8.s"
+}
+
+// cM3d_Cross_AabCyl__FPC8cM3dGAabPC8cM3dGCyl
+// cM3d_Cross_AabCyl(const cM3dGAab*, const cM3dGCyl*)
+asm bool cM3d_Cross_AabCyl(const cM3dGAab*, const cM3dGCyl*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_80268B0C.s"
+}
+
+// cM3d_Cross_AabSph__FPC8cM3dGAabPC8cM3dGSph
+// cM3d_Cross_AabSph(const cM3dGAab*, const cM3dGSph*)
+asm bool cM3d_Cross_AabSph(const cM3dGAab*, const cM3dGSph*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_80268BB4.s"
+}
+
+// cM3d_Check_LinLin__FPC8cM3dGLinPC8cM3dGLinPfPf
+// cM3d_Check_LinLin(const cM3dGLin*, const cM3dGLin*, float*, float*)
+asm int cM3d_Check_LinLin(const cM3dGLin*, const cM3dGLin*, float*, float*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_80268C5C.s"
+}
+
+// cM3d_CrossInfLineVsInfPlane_proc__FffPC3VecPC3VecP3Vec
+// cM3d_CrossInfLineVsInfPlane_proc(float, float, const Vec*, const Vec*, Vec*)
+asm bool cM3d_CrossInfLineVsInfPlane_proc(float, float, const Vec*, const Vec*, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_80268ED4.s"
+}
+
+// cM3d_Cross_LinPla__FPC8cM3dGLinPC8cM3dGPlaP3Vecbb
+// cM3d_Cross_LinPla(const cM3dGLin*, const cM3dGPla*, Vec*, bool, bool)
+asm bool cM3d_Cross_LinPla(const cM3dGLin*, const cM3dGPla*, Vec*, bool, bool) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_80268F34.s"
+}
+
+// cM3d_Cross_MinMaxBoxLine__FPC3VecPC3VecPC3VecPC3Vec
+// cM3d_Cross_MinMaxBoxLine(const Vec*, const Vec*, const Vec*, const Vec*)
+asm bool cM3d_Cross_MinMaxBoxLine(const Vec*, const Vec*, const Vec*, const Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_80269050.s"
+}
+
+// cM3d_InclusionCheckPosIn3PosBox3d__FPC3VecPC3VecPC3VecPC3Vecf
+// cM3d_InclusionCheckPosIn3PosBox3d(const Vec*, const Vec*, const Vec*, const Vec*, float)
+asm bool cM3d_InclusionCheckPosIn3PosBox3d(const Vec*, const Vec*, const Vec*, const Vec*, float) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_80269C2C.s"
+}
+
+// cM3d_InclusionCheckPosIn3PosBox2d__Ffffffffff
+// cM3d_InclusionCheckPosIn3PosBox2d(float, float, float, float, float, float, float, float, float)
+asm bool cM3d_InclusionCheckPosIn3PosBox2d(float, float, float, float, float, float, float, float,
+ float) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_80269D64.s"
+}
+
+// cM3d_CrossX_Tri__FPC8cM3dGTriPC3Vecf
+// cM3d_CrossX_Tri(const cM3dGTri*, const Vec*, float)
+asm bool cM3d_CrossX_Tri(const cM3dGTri*, const Vec*, float) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_80269E18.s"
+}
+
+// cM3d_CrossX_Tri__FPC8cM3dGTriPC3Vec
+// cM3d_CrossX_Tri(const cM3dGTri*, const Vec*)
+asm bool cM3d_CrossX_Tri(const cM3dGTri*, const Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_80269FBC.s"
+}
+
+// cM3d_CrossX_LinTri_proc__FPC8cM3dGTriPC3Vec
+// cM3d_CrossX_LinTri_proc(const cM3dGTri*, const Vec*)
+asm bool cM3d_CrossX_LinTri_proc(const cM3dGTri*, const Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026A160.s"
+}
+
+// cM3d_CrossY_Tri__FPC8cM3dGTriPC3Vec
+// cM3d_CrossY_Tri(const cM3dGTri*, const Vec*)
+asm bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026A2E4.s"
+}
+
+// cM3d_CrossY_LinTri_proc__FPC8cM3dGTriPC3Vec
+// cM3d_CrossY_LinTri_proc(const cM3dGTri*, const Vec*)
+asm bool cM3d_CrossY_LinTri_proc(const cM3dGTri*, const Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026A488.s"
+}
+
+// cM3d_CrossY_Tri__FRC3VecRC3VecRC3VecRC8cM3dGPlaPC3Vec
+// cM3d_CrossY_Tri(const Vec&, const Vec&, const Vec&, const cM3dGPla&, const Vec*)
+asm bool cM3d_CrossY_Tri(const Vec&, const Vec&, const Vec&, const cM3dGPla&, const Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026A60C.s"
+}
+
+// cM3d_CrossY_Tri_Front__FRC3VecRC3VecRC3VecPC3Vec
+// cM3d_CrossY_Tri_Front(const Vec&, const Vec&, const Vec&, const Vec*)
+asm bool cM3d_CrossY_Tri_Front(const Vec&, const Vec&, const Vec&, const Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026A7B8.s"
+}
+
+// cM3d_CrossY_Tri__FPC8cM3dGTriPC3VecPf
+// cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, float*)
+asm bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, float*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026A8C0.s"
+}
+
+// cM3d_CrossY_Tri__FPC8cM3dGTriPC3Vecf
+// cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, float)
+asm bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, float) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026A944.s"
+}
+
+// cM3d_CrossY_Tri__FPC8cM3dGTriPC3VecPC10cM3d_RangePf
+// cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, const cM3d_Range*, float*)
+asm bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, const cM3d_Range*, float*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026AAE8.s"
+}
+
+// cM3d_CrossZ_Tri__FPC8cM3dGTriPC3Vecf
+// cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*, float)
+asm bool cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*, float) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026ABD8.s"
+}
+
+// cM3d_CrossZ_Tri__FPC8cM3dGTriPC3Vec
+// cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*)
+asm bool cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026AD7C.s"
+}
+
+// cM3d_CrossZ_LinTri_proc__FPC8cM3dGTriPC3Vec
+// cM3d_CrossZ_LinTri_proc(const cM3dGTri*, const Vec*)
+asm bool cM3d_CrossZ_LinTri_proc(const cM3dGTri*, const Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026AF20.s"
+}
+
+// cM3d_Cross_LinTri__FPC8cM3dGLinPC8cM3dGTriP3Vecbb
+// cM3d_Cross_LinTri(const cM3dGLin*, const cM3dGTri*, Vec*, bool, bool)
+asm bool cM3d_Cross_LinTri(const cM3dGLin*, const cM3dGTri*, Vec*, bool, bool) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026B0A4.s"
+}
+
+// cM3d_Cross_LinTri_Easy__FPC8cM3dGTriPC3Vec
+// cM3d_Cross_LinTri_Easy(const cM3dGTri*, const Vec*)
+asm bool cM3d_Cross_LinTri_Easy(const cM3dGTri*, const Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026B17C.s"
+}
+
+// cM3d_Cross_SphPnt__FPC8cM3dGSphPC3Vec
+// cM3d_Cross_SphPnt(const cM3dGSph*, const Vec*)
+asm bool cM3d_Cross_SphPnt(const cM3dGSph*, const Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026B238.s"
+}
+
+// cM3d_Cross_LinSph__FPC8cM3dGLinPC8cM3dGSphP3Vec
+// cM3d_Cross_LinSph(const cM3dGLin*, const cM3dGSph*, Vec*)
+asm bool cM3d_Cross_LinSph(const cM3dGLin*, const cM3dGSph*, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026B280.s"
+}
+
+// cM3d_Cross_LinSph_CrossPos__FRC8cM3dGSphRC8cM3dGLinP3VecP3Vec
+// cM3d_Cross_LinSph_CrossPos(const cM3dGSph&, const cM3dGLin&, Vec*, Vec*)
+asm int cM3d_Cross_LinSph_CrossPos(const cM3dGSph&, const cM3dGLin&, Vec*, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026B4E8.s"
+}
+
+// cM3d_Cross_CylSph__FPC8cM3dGCylPC8cM3dGSphPf
+// cM3d_Cross_CylSph(const cM3dGCyl*, const cM3dGSph*, float*)
+asm bool cM3d_Cross_CylSph(const cM3dGCyl*, const cM3dGSph*, float*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026B8A4.s"
+}
+
+// cM3d_Cross_CylSph__FPC8cM3dGCylPC8cM3dGSphP3VecPf
+// cM3d_Cross_CylSph(const cM3dGCyl*, const cM3dGSph*, Vec*, float*)
+asm bool cM3d_Cross_CylSph(const cM3dGCyl*, const cM3dGSph*, Vec*, float*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026BA48.s"
+}
+
+// cM3d_Cross_SphSph__FPC8cM3dGSphPC8cM3dGSphPf
+// cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, float*)
+asm bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, float*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026BC7C.s"
+}
+
+// cM3d_Cross_SphSph__FPC8cM3dGSphPC8cM3dGSphPfPf
+// cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, float*, float*)
+asm bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, float*, float*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026BCFC.s"
+}
+
+// cM3d_Cross_SphSph__FPC8cM3dGSphPC8cM3dGSphP3Vec
+// cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, Vec*)
+asm void cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026BD88.s"
+}
+
+// cM3d_CalcSphVsTriCrossPoint__FPC8cM3dGSphPC8cM3dGTriP3Vec
+// cM3d_CalcSphVsTriCrossPoint(const cM3dGSph*, const cM3dGTri*, Vec*)
+asm void cM3d_CalcSphVsTriCrossPoint(const cM3dGSph*, const cM3dGTri*, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026BE5C.s"
+}
+
+// cM3d_Cross_SphTri__FPC8cM3dGSphPC8cM3dGTriP3Vec
+// cM3d_Cross_SphTri(const cM3dGSph*, const cM3dGTri*, Vec*)
+asm bool cM3d_Cross_SphTri(const cM3dGSph*, const cM3dGTri*, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026BF04.s"
+}
+
+// cM3d_Cross_CylCyl__FPC8cM3dGCylPC8cM3dGCylPf
+// cM3d_Cross_CylCyl(const cM3dGCyl*, const cM3dGCyl*, float*)
+asm bool cM3d_Cross_CylCyl(const cM3dGCyl*, const cM3dGCyl*, float*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026C22C.s"
+}
+
+// cM3d_Cross_CylCyl__FPC8cM3dGCylPC8cM3dGCylP3Vec
+// cM3d_Cross_CylCyl(const cM3dGCyl*, const cM3dGCyl*, Vec*)
+asm bool cM3d_Cross_CylCyl(const cM3dGCyl*, const cM3dGCyl*, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026C3B4.s"
+}
+
+// cM3d_Cross_CylTri__FPC8cM3dGCylPC8cM3dGTriP3Vec
+// cM3d_Cross_CylTri(const cM3dGCyl*, const cM3dGTri*, Vec*)
+asm bool cM3d_Cross_CylTri(const cM3dGCyl*, const cM3dGTri*, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026C5D0.s"
+}
+
+// cM3d_Cross_CylLin__FPC8cM3dGCylPC8cM3dGLinP3VecP3Vec
+// cM3d_Cross_CylLin(const cM3dGCyl*, const cM3dGLin*, Vec*, Vec*)
+asm int cM3d_Cross_CylLin(const cM3dGCyl*, const cM3dGLin*, Vec*, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026C944.s"
+}
+
+// cM3d_Cross_CylPntPnt__FPC8cM3dGCylPC3VecPC3VecP3VecP3Vec
+// cM3d_Cross_CylPntPnt(const cM3dGCyl*, const Vec*, const Vec*, Vec*, Vec*)
+asm int cM3d_Cross_CylPntPnt(const cM3dGCyl*, const Vec*, const Vec*, Vec*, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026D044.s"
+}
+
+// cM3d_Cross_CylPnt__FPC8cM3dGCylPC3Vec
+// cM3d_Cross_CylPnt(const cM3dGCyl*, const Vec*)
+asm bool cM3d_Cross_CylPnt(const cM3dGCyl*, const Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026D0B0.s"
+}
+
+// cM3d_Cross_CpsCps__FRC8cM3dGCpsRC8cM3dGCpsP3Vec
+// cM3d_Cross_CpsCps(const cM3dGCps&, const cM3dGCps&, Vec*)
+asm bool cM3d_Cross_CpsCps(const cM3dGCps&, const cM3dGCps&, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026D114.s"
+}
+
+// cM3d_Cross_CpsCyl__FRC8cM3dGCpsRC8cM3dGCylP3Vec
+// cM3d_Cross_CpsCyl(const cM3dGCps&, const cM3dGCyl&, Vec*)
+asm bool cM3d_Cross_CpsCyl(const cM3dGCps&, const cM3dGCyl&, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026D3D4.s"
+}
+
+// cM3d_Cross_CpsSph_CrossPos__FRC8cM3dGCpsRC8cM3dGSphRC3VecP3Vec
+// cM3d_Cross_CpsSph_CrossPos(const cM3dGCps&, const cM3dGSph&, const Vec&, Vec*)
+asm bool cM3d_Cross_CpsSph_CrossPos(const cM3dGCps&, const cM3dGSph&, const Vec&, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026DAE0.s"
+}
+
+// cM3d_Cross_CpsSph__FRC8cM3dGCpsRC8cM3dGSphP3Vec
+// cM3d_Cross_CpsSph(const cM3dGCps&, const cM3dGSph&, Vec*)
+asm bool cM3d_Cross_CpsSph(const cM3dGCps&, const cM3dGSph&, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026DC3C.s"
+}
+
+// cM3d_Cross_TriTri__FRC8cM3dGTriRC8cM3dGTriP3Vec
+// cM3d_Cross_TriTri(const cM3dGTri&, const cM3dGTri&, Vec*)
+asm bool cM3d_Cross_TriTri(const cM3dGTri&, const cM3dGTri&, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026DE2C.s"
+}
+
+// cM3d_Cross_CpsTri__FRC8cM3dGCps8cM3dGTriP3Vec
+// cM3d_Cross_CpsTri(const cM3dGCps&, cM3dGTri, Vec*)
+asm bool cM3d_Cross_CpsTri(const cM3dGCps&, cM3dGTri, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026E12C.s"
+}
+
+// cM3d_CalcVecAngle__FRC3VecPsPs
+// cM3d_CalcVecAngle(const Vec&, short*, short*)
+asm void cM3d_CalcVecAngle(const Vec&, short*, short*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026E4FC.s"
+}
+
+// cM3d_CalcVecZAngle__FRC3VecP5csXyz
+// cM3d_CalcVecZAngle(const Vec&, csXyz*)
+asm void cM3d_CalcVecZAngle(const Vec&, csXyz*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026E570.s"
+}
+
+// cM3d_PlaneCrossLineProcWork__FfffffffPfPf
+// cM3d_PlaneCrossLineProcWork(float, float, float, float, float, float, float, float*, float*)
+asm void cM3d_PlaneCrossLineProcWork(float, float, float, float, float, float, float, float*,
+ float*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026E6C4.s"
+}
+
+// cM3d_2PlaneCrossLine__FRC8cM3dGPlaRC8cM3dGPlaP8cM3dGLin
+// cM3d_2PlaneCrossLine(const cM3dGPla&, const cM3dGPla&, cM3dGLin*)
+asm int cM3d_2PlaneCrossLine(const cM3dGPla&, const cM3dGPla&, cM3dGLin*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026E6F0.s"
+}
+
+// cM3d_3PlaneCrossPos__FRC8cM3dGPlaRC8cM3dGPlaRC8cM3dGPlaP3Vec
+// cM3d_3PlaneCrossPos(const cM3dGPla&, const cM3dGPla&, const cM3dGPla&, Vec*)
+asm bool cM3d_3PlaneCrossPos(const cM3dGPla&, const cM3dGPla&, const cM3dGPla&, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026E8A0.s"
+}
+
+// cM3d_lineVsPosSuisenCross__FPC8cM3dGLinPC3VecP3Vec
+// cM3d_lineVsPosSuisenCross(const cM3dGLin*, const Vec*, Vec*)
+asm float cM3d_lineVsPosSuisenCross(const cM3dGLin*, const Vec*, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026E980.s"
+}
+
+// cM3d_lineVsPosSuisenCross__FRC3VecRC3VecRC3VecP3Vec
+// cM3d_lineVsPosSuisenCross(const Vec&, const Vec&, const Vec&, Vec*)
+asm float cM3d_lineVsPosSuisenCross(const Vec&, const Vec&, const Vec&, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026EA5C.s"
+}
+
+// cM3d_2PlaneLinePosNearPos__FRC8cM3dGPlaRC8cM3dGPlaPC3VecP3Vec
+// cM3d_2PlaneLinePosNearPos(const cM3dGPla&, const cM3dGPla&, const Vec*, Vec*)
+asm int cM3d_2PlaneLinePosNearPos(const cM3dGPla&, const cM3dGPla&, const Vec*, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026EB38.s"
+}
+
+// cM3d_CrawVec__FRC3VecRC3VecP3Vec
+// cM3d_CrawVec(const Vec&, const Vec&, Vec*)
+asm void cM3d_CrawVec(const Vec&, const Vec&, Vec*) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026EBBC.s"
+}
+
+extern "C" {
+
+// __sinit_c_m3d_cpp
+//
+asm void __sinit_c_m3d_cpp(void) {
+ nofralloc
+#include "SComponent/c_m3d/asm/func_8026EC3C.s"
+}
+};
diff --git a/libs/SSystem/SComponent/c_m3d_g_aab.cpp b/libs/SSystem/SComponent/c_m3d_g_aab.cpp
index 4bf93c8658..edc0bd661d 100644
--- a/libs/SSystem/SComponent/c_m3d_g_aab.cpp
+++ b/libs/SSystem/SComponent/c_m3d_g_aab.cpp
@@ -1 +1,80 @@
-// ok
+/* c_m3d_g_aab.cpp autogenerated by split.py v0.3 at 2021-01-01 14:25:53.398196 */
+
+#include "SComponent/c_m3d_g_aab.h"
+
+// Set__8cM3dGAabFPC4cXyzPC4cXyz
+// cM3dGAab::Set(const cXyz*, const cXyz*)
+asm void cM3dGAab::Set(const cXyz*, const cXyz*) {
+ nofralloc
+#include "SComponent/c_m3d_g_aab/asm/func_8026EC54.s"
+}
+
+// CrossY__8cM3dGAabCFPC4cXyz
+// cM3dGAab::CrossY(const cXyz*) const
+asm bool cM3dGAab::CrossY(const cXyz*) const {
+ nofralloc
+#include "SComponent/c_m3d_g_aab/asm/func_8026EC88.s"
+}
+
+// UnderPlaneYUnder__8cM3dGAabCFf
+// cM3dGAab::UnderPlaneYUnder(float) const
+asm bool cM3dGAab::UnderPlaneYUnder(float) const {
+ nofralloc
+#include "SComponent/c_m3d_g_aab/asm/func_8026ECD0.s"
+}
+
+// TopPlaneYUnder__8cM3dGAabCFf
+// cM3dGAab::TopPlaneYUnder(float) const
+asm bool cM3dGAab::TopPlaneYUnder(float) const {
+ nofralloc
+#include "SComponent/c_m3d_g_aab/asm/func_8026ECE4.s"
+}
+
+// ClearForMinMax__8cM3dGAabFv
+// cM3dGAab::ClearForMinMax(void)
+asm void cM3dGAab::ClearForMinMax(void) {
+ nofralloc
+#include "SComponent/c_m3d_g_aab/asm/func_8026ECF8.s"
+}
+
+// SetMinMax__8cM3dGAabFRC4cXyz
+// cM3dGAab::SetMinMax(const cXyz&)
+asm void cM3dGAab::SetMinMax(const cXyz&) {
+ nofralloc
+#include "SComponent/c_m3d_g_aab/asm/func_8026ED1C.s"
+}
+
+// SetMinMax__8cM3dGAabFRC8cM3dGAab
+// cM3dGAab::SetMinMax(const cM3dGAab&)
+asm void cM3dGAab::SetMinMax(const cM3dGAab&) {
+ nofralloc
+#include "SComponent/c_m3d_g_aab/asm/func_8026ED60.s"
+}
+
+// SetMin__8cM3dGAabFRC4cXyz
+// cM3dGAab::SetMin(const cXyz&)
+asm void cM3dGAab::SetMin(const cXyz&) {
+ nofralloc
+#include "SComponent/c_m3d_g_aab/asm/func_8026EDA4.s"
+}
+
+// SetMax__8cM3dGAabFRC4cXyz
+// cM3dGAab::SetMax(const cXyz&)
+asm void cM3dGAab::SetMax(const cXyz&) {
+ nofralloc
+#include "SComponent/c_m3d_g_aab/asm/func_8026EDE4.s"
+}
+
+// CalcCenter__8cM3dGAabCFP4cXyz
+// cM3dGAab::CalcCenter(cXyz*) const
+asm void cM3dGAab::CalcCenter(cXyz*) const {
+ nofralloc
+#include "SComponent/c_m3d_g_aab/asm/func_8026EE24.s"
+}
+
+// PlusR__8cM3dGAabFf
+// cM3dGAab::PlusR(float)
+asm void cM3dGAab::PlusR(float) {
+ nofralloc
+#include "SComponent/c_m3d_g_aab/asm/func_8026EE68.s"
+}
diff --git a/libs/SSystem/SComponent/c_m3d_g_cir.cpp b/libs/SSystem/SComponent/c_m3d_g_cir.cpp
index 4bf93c8658..83e3f7f2ca 100644
--- a/libs/SSystem/SComponent/c_m3d_g_cir.cpp
+++ b/libs/SSystem/SComponent/c_m3d_g_cir.cpp
@@ -1 +1,34 @@
-// ok
+/* c_m3d_g_cir.cpp autogenerated by split.py v0.3 at 2021-01-01 14:33:18.200872 */
+
+#include "SComponent/c_m3d_g_cir.h"
+
+// __ct__8cM3dGCirFv
+// cM3dGCir::cM3dGCir(void)
+asm cM3dGCir::cM3dGCir(void) {
+ nofralloc
+#include "SComponent/c_m3d_g_cir/asm/func_8026EEB4.s"
+}
+
+extern "C" {
+
+// __dt__8cM2dGCirFv
+// cM2dGCir::~cM2dGCir(void)
+asm void __dt__8cM2dGCirFv(void) {
+ nofralloc
+#include "SComponent/c_m3d_g_cir/asm/func_8026EED0.s"
+}
+}
+
+// __dt__8cM3dGCirFv
+// cM3dGCir::~cM3dGCir(void)
+asm cM3dGCir::~cM3dGCir(void) {
+ nofralloc
+#include "SComponent/c_m3d_g_cir/asm/func_8026EF18.s"
+}
+
+// Set__8cM3dGCirFffff
+// cM3dGCir::Set(float, float, float, float)
+asm void cM3dGCir::Set(float, float, float, float) {
+ nofralloc
+#include "SComponent/c_m3d_g_cir/asm/func_8026EF74.s"
+}
diff --git a/libs/SSystem/SComponent/c_m3d_g_cps.cpp b/libs/SSystem/SComponent/c_m3d_g_cps.cpp
index 4bf93c8658..b65d244e3b 100644
--- a/libs/SSystem/SComponent/c_m3d_g_cps.cpp
+++ b/libs/SSystem/SComponent/c_m3d_g_cps.cpp
@@ -1 +1,38 @@
-// ok
+/* c_m3d_g_cps.cpp autogenerated by split.py v0.3 at 2021-01-01 14:41:13.421387 */
+
+#include "SComponent/c_m3d_g_cps.h"
+
+// __ct__8cM3dGCpsFv
+// cM3dGCps::cM3dGCps(void)
+asm cM3dGCps::cM3dGCps(void) {
+ nofralloc
+#include "SComponent/c_m3d_g_cps/asm/func_8026EF88.s"
+}
+
+// __dt__8cM3dGCpsFv
+// cM3dGCps::~cM3dGCps(void)
+asm cM3dGCps::~cM3dGCps(void) {
+ nofralloc
+#include "SComponent/c_m3d_g_cps/asm/func_8026EFA4.s"
+}
+
+// Set__8cM3dGCpsFRC4cXyzRC4cXyzf
+// cM3dGCps::Set(const cXyz&, const cXyz&, float)
+asm void cM3dGCps::Set(const cXyz&, const cXyz&, float) {
+ nofralloc
+#include "SComponent/c_m3d_g_cps/asm/func_8026F000.s"
+}
+
+// Set__8cM3dGCpsFRC9cM3dGCpsS
+// cM3dGCps::Set(const cM3dGCpsS&)
+asm void cM3dGCps::Set(const cM3dGCpsS&) {
+ nofralloc
+#include "SComponent/c_m3d_g_cps/asm/func_8026F03C.s"
+}
+
+// SetCps__8cM3dGCpsFRC8cM3dGCps
+// cM3dGCps::SetCps(const cM3dGCps&)
+asm void cM3dGCps::SetCps(const cM3dGCps&) {
+ nofralloc
+#include "SComponent/c_m3d_g_cps/asm/func_8026F080.s"
+}
diff --git a/libs/SSystem/SComponent/c_m3d_g_cyl.cpp b/libs/SSystem/SComponent/c_m3d_g_cyl.cpp
index 4bf93c8658..fefedadc96 100644
--- a/libs/SSystem/SComponent/c_m3d_g_cyl.cpp
+++ b/libs/SSystem/SComponent/c_m3d_g_cyl.cpp
@@ -1 +1,66 @@
-// ok
+/* c_m3d_g_cyl.cpp autogenerated by split.py v0.3 at 2021-01-01 14:45:46.600671 */
+
+#include "SComponent/c_m3d_g_cyl.h"
+
+// __ct__8cM3dGCylFPC4cXyzff
+// cM3dGCyl::cM3dGCyl(const cXyz*, float, float)
+asm cM3dGCyl::cM3dGCyl(const cXyz*, float, float) {
+ nofralloc
+#include "SComponent/c_m3d_g_cyl/asm/func_8026F0A8.s"
+}
+
+// Set__8cM3dGCylFRC9cM3dGCylS
+// cM3dGCyl::Set(const cM3dGCylS&)
+asm void cM3dGCyl::Set(const cM3dGCylS&) {
+ nofralloc
+#include "SComponent/c_m3d_g_cyl/asm/func_8026F114.s"
+}
+
+// Set__8cM3dGCylFRC4cXyzff
+// cM3dGCyl::Set(const cXyz&, float, float)
+asm void cM3dGCyl::Set(const cXyz&, float, float) {
+ nofralloc
+#include "SComponent/c_m3d_g_cyl/asm/func_8026F180.s"
+}
+
+// SetC__8cM3dGCylFRC4cXyz
+// cM3dGCyl::SetC(const cXyz&)
+asm void cM3dGCyl::SetC(const cXyz&) {
+ nofralloc
+#include "SComponent/c_m3d_g_cyl/asm/func_8026F1DC.s"
+}
+
+// SetH__8cM3dGCylFf
+// cM3dGCyl::SetH(float)
+asm void cM3dGCyl::SetH(float) {
+ nofralloc
+#include "SComponent/c_m3d_g_cyl/asm/func_8026F1F8.s"
+}
+
+// SetR__8cM3dGCylFf
+// cM3dGCyl::SetR(float)
+asm void cM3dGCyl::SetR(float) {
+ nofralloc
+#include "SComponent/c_m3d_g_cyl/asm/func_8026F200.s"
+}
+
+// cross__8cM3dGCylCFPC8cM3dGSphP4cXyz
+// cM3dGCyl::cross(const cM3dGSph*, cXyz*) const
+asm bool cM3dGCyl::cross(const cM3dGSph*, cXyz*) const {
+ nofralloc
+#include "SComponent/c_m3d_g_cyl/asm/func_8026F208.s"
+}
+
+// cross__8cM3dGCylCFPC8cM3dGCylP4cXyz
+// cM3dGCyl::cross(const cM3dGCyl*, cXyz*) const
+asm bool cM3dGCyl::cross(const cM3dGCyl*, cXyz*) const {
+ nofralloc
+#include "SComponent/c_m3d_g_cyl/asm/func_8026F22C.s"
+}
+
+// calcMinMax__8cM3dGCylFP4cXyzP4cXyz
+// cM3dGCyl::calcMinMax(cXyz*, cXyz*)
+asm void cM3dGCyl::calcMinMax(cXyz*, cXyz*) {
+ nofralloc
+#include "SComponent/c_m3d_g_cyl/asm/func_8026F24C.s"
+}
diff --git a/libs/SSystem/SComponent/c_m3d_g_lin.cpp b/libs/SSystem/SComponent/c_m3d_g_lin.cpp
index 4bf93c8658..8a4b67721f 100644
--- a/libs/SSystem/SComponent/c_m3d_g_lin.cpp
+++ b/libs/SSystem/SComponent/c_m3d_g_lin.cpp
@@ -1 +1,38 @@
-// ok
+/* c_m3d_g_lin.cpp autogenerated by split.py v0.3 at 2021-01-01 14:48:45.519641 */
+
+#include "SComponent/c_m3d_g_lin.h"
+
+// __ct__8cM3dGLinFRC4cXyzRC4cXyz
+// cM3dGLin::cM3dGLin(const cXyz&, const cXyz&)
+asm cM3dGLin::cM3dGLin(const cXyz&, const cXyz&) {
+ nofralloc
+#include "SComponent/c_m3d_g_lin/asm/func_8026F2A8.s"
+}
+
+// SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz
+// cM3dGLin::SetStartEnd(const cXyz&, const cXyz&)
+asm void cM3dGLin::SetStartEnd(const cXyz&, const cXyz&) {
+ nofralloc
+#include "SComponent/c_m3d_g_lin/asm/func_8026F2E8.s"
+}
+
+// SetStartEnd__8cM3dGLinFRC3VecRC3Vec
+// cM3dGLin::SetStartEnd(const Vec&, const Vec&)
+asm void cM3dGLin::SetStartEnd(const Vec&, const Vec&) {
+ nofralloc
+#include "SComponent/c_m3d_g_lin/asm/func_8026F31C.s"
+}
+
+// CalcPos__8cM3dGLinCFP3Vecf
+// cM3dGLin::CalcPos(Vec*, float) const
+asm void cM3dGLin::CalcPos(Vec*, float) const {
+ nofralloc
+#include "SComponent/c_m3d_g_lin/asm/func_8026F350.s"
+}
+
+// SetEnd__8cM3dGLinFRC4cXyz
+// cM3dGLin::SetEnd(const cXyz&)
+asm void cM3dGLin::SetEnd(const cXyz&) {
+ nofralloc
+#include "SComponent/c_m3d_g_lin/asm/func_8026F3C0.s"
+} \ No newline at end of file
diff --git a/libs/SSystem/SComponent/c_m3d_g_pla.cpp b/libs/SSystem/SComponent/c_m3d_g_pla.cpp
index 4bf93c8658..55f2bc5bba 100644
--- a/libs/SSystem/SComponent/c_m3d_g_pla.cpp
+++ b/libs/SSystem/SComponent/c_m3d_g_pla.cpp
@@ -1 +1,52 @@
-// ok
+/* c_m3d_g_pla.cpp autogenerated by split.py v0.3 at 2021-01-01 14:50:54.810233 */
+
+#include "SComponent/c_m3d_g_pla.h"
+
+// __ct__8cM3dGPlaFPC4cXyzf
+// cM3dGPla::cM3dGPla(const cXyz*, float)
+asm cM3dGPla::cM3dGPla(const cXyz*, float) {
+ nofralloc
+#include "SComponent/c_m3d_g_pla/asm/func_8026F3DC.s"
+}
+
+// crossInfLin__8cM3dGPlaCFRC4cXyzRC4cXyzR4cXyz
+// cM3dGPla::crossInfLin(const cXyz&, const cXyz&, cXyz&) const
+asm void cM3dGPla::crossInfLin(const cXyz&, const cXyz&, cXyz&) const {
+ nofralloc
+#include "SComponent/c_m3d_g_pla/asm/func_8026F408.s"
+}
+
+// SetupNP0__8cM3dGPlaFRC3VecRC3Vec
+// cM3dGPla::SetupNP0(const Vec&, const Vec&)
+asm void cM3dGPla::SetupNP0(const Vec&, const Vec&) {
+ nofralloc
+#include "SComponent/c_m3d_g_pla/asm/func_8026F4C4.s"
+}
+
+// SetupNP__8cM3dGPlaFRC3VecRC3Vec
+// cM3dGPla::SetupNP(const Vec&, const Vec&)
+asm void cM3dGPla::SetupNP(const Vec&, const Vec&) {
+ nofralloc
+#include "SComponent/c_m3d_g_pla/asm/func_8026F52C.s"
+}
+
+// getCrossY__8cM3dGPlaCFRC4cXyzPf
+// cM3dGPla::getCrossY(const cXyz&, float*) const
+asm bool cM3dGPla::getCrossY(const cXyz&, float*) const {
+ nofralloc
+#include "SComponent/c_m3d_g_pla/asm/func_8026F57C.s"
+}
+
+// getCrossYLessD__8cM3dGPlaCFRC3VecPf
+// cM3dGPla::getCrossYLessD(const Vec&, float*) const
+asm bool cM3dGPla::getCrossYLessD(const Vec&, float*) const {
+ nofralloc
+#include "SComponent/c_m3d_g_pla/asm/func_8026F5D4.s"
+}
+
+// Set__8cM3dGPlaFPC8cM3dGPla
+// cM3dGPla::Set(const cM3dGPla*)
+asm void cM3dGPla::Set(const cM3dGPla*) {
+ nofralloc
+#include "SComponent/c_m3d_g_pla/asm/func_8026F624.s"
+}
diff --git a/libs/SSystem/SComponent/c_m3d_g_sph.cpp b/libs/SSystem/SComponent/c_m3d_g_sph.cpp
index 4bf93c8658..4098bcefc1 100644
--- a/libs/SSystem/SComponent/c_m3d_g_sph.cpp
+++ b/libs/SSystem/SComponent/c_m3d_g_sph.cpp
@@ -1 +1,52 @@
-// ok
+/* c_m3d_g_sph.cpp autogenerated by split.py v0.3 at 2021-01-01 14:53:31.074880 */
+
+#include "SComponent/c_m3d_g_sph.h"
+
+// SetC__8cM3dGSphFRC4cXyz
+// cM3dGSph::SetC(const cXyz&)
+asm void cM3dGSph::SetC(const cXyz&) {
+ nofralloc
+#include "SComponent/c_m3d_g_sph/asm/func_8026F648.s"
+}
+
+// Set__8cM3dGSphFRC4cXyzf
+// cM3dGSph::Set(const cXyz&, float)
+asm void cM3dGSph::Set(const cXyz&, float) {
+ nofralloc
+#include "SComponent/c_m3d_g_sph/asm/func_8026F664.s"
+}
+
+// Set__8cM3dGSphFRC9cM3dGSphS
+// cM3dGSph::Set(const cM3dGSphS&)
+asm void cM3dGSph::Set(const cM3dGSphS&) {
+ nofralloc
+#include "SComponent/c_m3d_g_sph/asm/func_8026F6A8.s"
+}
+
+// SetR__8cM3dGSphFf
+// cM3dGSph::SetR(float)
+asm void cM3dGSph::SetR(float) {
+ nofralloc
+#include "SComponent/c_m3d_g_sph/asm/func_8026F708.s"
+}
+
+// cross__8cM3dGSphCFPC8cM3dGSphP4cXyz
+// cM3dGSph::cross(const cM3dGSph*, cXyz*) const
+asm bool cM3dGSph::cross(const cM3dGSph*, cXyz*) const {
+ nofralloc
+#include "SComponent/c_m3d_g_sph/asm/func_8026F710.s"
+}
+
+// cross__8cM3dGSphCFPC8cM3dGCylP4cXyz
+// cM3dGSph::cross(const cM3dGCyl*, cXyz*) const
+asm bool cM3dGSph::cross(const cM3dGCyl*, cXyz*) const {
+ nofralloc
+#include "SComponent/c_m3d_g_sph/asm/func_8026F73C.s"
+}
+
+// GetMinMaxCube__8cM3dGSphCFR4cXyzR4cXyz
+// cM3dGSph::GetMinMaxCube(cXyz&, cXyz&) const
+asm void cM3dGSph::GetMinMaxCube(cXyz&, cXyz&) const {
+ nofralloc
+#include "SComponent/c_m3d_g_sph/asm/func_8026F76C.s"
+}
diff --git a/libs/SSystem/SComponent/c_m3d_g_tri.cpp b/libs/SSystem/SComponent/c_m3d_g_tri.cpp
index 4bf93c8658..3b51b1eddc 100644
--- a/libs/SSystem/SComponent/c_m3d_g_tri.cpp
+++ b/libs/SSystem/SComponent/c_m3d_g_tri.cpp
@@ -1 +1,31 @@
-// ok
+/* c_m3d_g_tri.cpp autogenerated by split.py v0.3 at 2021-01-01 14:55:53.593962 */
+
+#include "SComponent/c_m3d_g_tri.h"
+
+// cross__8cM3dGTriCFPC8cM3dGCylP3Vec
+// cM3dGTri::cross(const cM3dGCyl*, Vec*) const
+asm bool cM3dGTri::cross(const cM3dGCyl*, Vec*) const {
+ nofralloc
+#include "SComponent/c_m3d_g_tri/asm/func_8026F7B0.s"
+}
+
+// setPos__8cM3dGTriFPC3VecPC3VecPC3Vec
+// cM3dGTri::setPos(const Vec*, const Vec*, const Vec*)
+asm void cM3dGTri::setPos(const Vec*, const Vec*, const Vec*) {
+ nofralloc
+#include "SComponent/c_m3d_g_tri/asm/func_8026F7DC.s"
+}
+
+// setBg__8cM3dGTriFPC3VecPC3VecPC3VecPC8cM3dGPla
+// cM3dGTri::setBg(const Vec*, const Vec*, const Vec*, const cM3dGPla*)
+asm void cM3dGTri::setBg(const Vec*, const Vec*, const Vec*, const cM3dGPla*) {
+ nofralloc
+#include "SComponent/c_m3d_g_tri/asm/func_8026F85C.s"
+}
+
+// set__8cM3dGTriFPC3VecPC3VecPC3VecPC3Vec
+// cM3dGTri::set(const Vec*, const Vec*, const Vec*, const Vec*)
+asm void cM3dGTri::set(const Vec*, const Vec*, const Vec*, const Vec*) {
+ nofralloc
+#include "SComponent/c_m3d_g_tri/asm/func_8026F8C8.s"
+}
diff --git a/libs/SSystem/SComponent/c_malloc.cpp b/libs/SSystem/SComponent/c_malloc.cpp
index 4bf93c8658..4fd8e46312 100644
--- a/libs/SSystem/SComponent/c_malloc.cpp
+++ b/libs/SSystem/SComponent/c_malloc.cpp
@@ -1 +1,24 @@
-// ok
+/* c_malloc.cpp autogenerated by split.py v0.3 at 2021-01-01 15:18:22.738784 */
+
+#include "SComponent/c_malloc.h"
+
+// init__3cMlFP7JKRHeap
+void cMl::init(JKRHeap* heap) {
+ lbl_80451150 = heap;
+}
+
+// memalignB__3cMlFiUl
+void* cMl::memalignB(int alignment, unsigned long size) {
+ if (size == 0) {
+ return NULL;
+ } else {
+ return lbl_80451150->alloc(size, alignment);
+ }
+}
+
+// free__3cMlFPv
+void cMl::free(void* ptr) {
+ if (ptr != NULL) {
+ lbl_80451150->free(ptr);
+ }
+}
diff --git a/libs/SSystem/SComponent/c_math.cpp b/libs/SSystem/SComponent/c_math.cpp
index 8f1a43be5f..6b6b59f610 100644
--- a/libs/SSystem/SComponent/c_math.cpp
+++ b/libs/SSystem/SComponent/c_math.cpp
@@ -1,14 +1,119 @@
-// #include <dolphin/types.h>
+/* c_math.cpp autogenerated by split.py v0.3 at 2020-12-31 13:20:59.345670 */
-// s32 g_RNG0;
-// s32 g_RNG1;
-// s32 g_RNG2;
+#include "SComponent/c_math.h"
-// namespace SComponent {
+// additional symbols needed for c_math.cpp
+// autogenerated by split.py v0.3 at 2020-12-31 13:20:59.336084
+extern double lbl_804550A8; // SComponent::@2201, 6.2831854820251465
+extern float lbl_804550B0; // SComponent::@2215, 10430.378
+extern float lbl_804550B4; // SComponent::@2232, 1024.0
+extern float lbl_804550B8; // SComponent::@2277, 0.0
+extern float lbl_804550BC; // SComponent::@2282, 9.58738E-5
+extern double lbl_804550C0; // SComponent::@2284, 4.503601774854144E15
+extern float lbl_804550C8; // SComponent::@2296, 30323.0
+extern float lbl_804550CC; // SComponent::@2297, 30269.0
+extern float lbl_804550D0; // SComponent::@2298, 30307.0
+extern double lbl_804550D8; // SComponent::@2299, 1.0
+extern float lbl_804550E0; // SComponent::@2311, 2.0
+extern float lbl_804550E4; // SComponent::@2312, 0.5
-// void cM_initRnd(s32 RNG0, s32 RNG1, s32 RNG2) {
-// g_RNG0 = RNG0;
-// g_RNG1 = RNG1;
-// g_RNG2 = RNG2;
-// };
-// } \ No newline at end of file
+extern s32 lbl_80451168; // SComponent::r0
+extern s32 lbl_8045116C; // SComponent::r1
+extern s32 lbl_80451170; // SComponent::r2
+extern s32 lbl_80451174; // SComponent::r02
+extern s32 lbl_80451178; // SComponent::r12
+extern s32 lbl_8045117C; // SComponent::r22
+
+extern u16 lbl_803C3778[1028]; // SComponent::atntable
+
+// cM_rad2s__Ff
+asm s16 cM_rad2s(float){nofralloc
+#include "SComponent/c_math/asm/func_802675E4.s"
+}
+
+// U_GetAtanTable__Fff
+u16 U_GetAtanTable(float f0, float f1) {
+ return lbl_803C3778[(int)(f0 / f1 * lbl_804550B4)];
+}
+
+// cM_atan2s__Fff
+asm s16 cM_atan2s(float, float) {
+ nofralloc
+#include "SComponent/c_math/asm/func_80267674.s"
+}
+
+// cM_atan2f__Fff
+asm float cM_atan2f(float, float) {
+ nofralloc
+#include "SComponent/c_math/asm/func_80267814.s"
+}
+
+// cM_initRnd__Fiii
+void cM_initRnd(int p0, int p1, int p2) {
+ lbl_80451168 = p0;
+ lbl_8045116C = p1;
+ lbl_80451170 = p2;
+}
+
+// cM_rnd__Fv
+#ifdef NON_MATCHING
+float cM_rnd(void) {
+ // matches besides extra double in data from int -> float conversion
+ lbl_80451168 = (lbl_80451168 * 0xAB) % 0x763D;
+ lbl_8045116C = (lbl_8045116C * 0xAC) % 0x7663;
+ lbl_80451170 = (lbl_80451170 * 0xAA) % 0x7673;
+ return fabsf((float)func_8036C760(lbl_80451168 / lbl_804550C8 + lbl_8045116C / lbl_804550CC +
+ lbl_80451170 / lbl_804550D0,
+ lbl_804550D8));
+}
+#else
+asm float cM_rnd(void) {
+ nofralloc
+#include "SComponent/c_math/asm/func_8026786C.s"
+}
+#endif
+
+// cM_rndF__Ff
+float cM_rndF(float f) {
+ return cM_rnd() * f;
+}
+
+// cM_rndFX__Ff
+float cM_rndFX(float f) {
+ return f * (cM_rnd() - lbl_804550E4) * lbl_804550E0;
+}
+
+// cM_initRnd2__Fiii
+void cM_initRnd2(int p0, int p1, int p2) {
+ lbl_80451174 = p0;
+ lbl_80451178 = p1;
+ lbl_8045117C = p2;
+}
+
+// cM_rnd2__Fv
+#ifdef NON_MATCHING
+float cM_rnd2(void) {
+ // matches besides extra double in data from int -> float conversion
+ lbl_80451174 = (lbl_80451174 * 0xAB) % 0x763D;
+ lbl_80451178 = (lbl_80451178 * 0xAC) % 0x7663;
+ lbl_8045117C = (lbl_8045117C * 0xAA) % 0x7673;
+ return fabsf((float)func_8036C760(lbl_80451174 / lbl_804550C8 + lbl_80451178 / lbl_804550CC +
+ lbl_8045117C / lbl_804550D0,
+ lbl_804550D8));
+}
+#else
+asm float cM_rnd2(void) {
+ nofralloc
+#include "SComponent/c_math/asm/func_802679E4.s"
+}
+#endif
+
+// cM_rndF2__Ff
+float cM_rndF2(float f) {
+ return cM_rnd2() * f;
+}
+
+// cM_rndFX2__Ff
+float cM_rndFX2(float f) {
+ return f * (cM_rnd2() - lbl_804550E4) * lbl_804550E0;
+}
diff --git a/libs/SSystem/SComponent/c_request.cpp b/libs/SSystem/SComponent/c_request.cpp
index 4bf93c8658..f1b4ef9cb8 100644
--- a/libs/SSystem/SComponent/c_request.cpp
+++ b/libs/SSystem/SComponent/c_request.cpp
@@ -1 +1,27 @@
-// ok
+/* c_request.cpp autogenerated by split.py v0.3 at 2021-01-01 15:27:56.858899 */
+
+#include "SComponent/c_request.h"
+
+// cReq_Is_Done__FP18request_base_class
+asm int cReq_Is_Done(request_base_class*) {
+ nofralloc
+#include "SComponent/c_request/asm/func_802667D4.s"
+}
+
+// cReq_Done__FP18request_base_class
+asm int cReq_Done(request_base_class*) {
+ nofralloc
+#include "SComponent/c_request/asm/func_80266800.s"
+}
+
+// cReq_Command__FP18request_base_classUc
+asm int cReq_Command(request_base_class*, u8) {
+ nofralloc
+#include "SComponent/c_request/asm/func_80266830.s"
+}
+
+// cReq_Create__FP18request_base_classUc
+asm int cReq_Create(request_base_class*, u8) {
+ nofralloc
+#include "SComponent/c_request/asm/func_80266850.s"
+}
diff --git a/libs/SSystem/SComponent/c_sxyz.cpp b/libs/SSystem/SComponent/c_sxyz.cpp
index 4bf93c8658..a1b6ac82c8 100644
--- a/libs/SSystem/SComponent/c_sxyz.cpp
+++ b/libs/SSystem/SComponent/c_sxyz.cpp
@@ -1 +1,49 @@
-// ok
+/* c_sxyz.cpp autogenerated by split.py v0.3 at 2021-01-01 15:36:38.121811 */
+
+#include "SComponent/c_sxyz.h"
+
+// __ct__5csXyzFsss
+csXyz::csXyz(s16 pX, s16 pY, s16 pZ) {
+ mX = pX;
+ mY = pY;
+ mZ = pZ;
+}
+
+// __pl__5csXyzFR5csXyz
+csXyz csXyz::operator+(csXyz& other) {
+ return csXyz(mX + other.mX, mY + other.mY, mZ + other.mZ);
+}
+
+// __apl__5csXyzFR5csXyz
+void csXyz::operator+=(csXyz& other) {
+ mX += other.mX;
+ mY += other.mY;
+ mZ += other.mZ;
+}
+
+// __mi__5csXyzFR5csXyz
+csXyz csXyz::operator-(csXyz& other) {
+ return csXyz(mX - other.mX, mY - other.mY, mZ - other.mZ);
+}
+
+// __ml__5csXyzFf
+#ifdef NON_MATCHING
+csXyz csXyz::operator*(float pFactor) {
+ return csXyz(mX * pFactor, mY * pFactor, mZ * pFactor);
+}
+#else
+asm csXyz csXyz::operator*(float) {
+ nofralloc
+#include "SComponent/c_sxyz/asm/func_802674E8.s"
+}
+#endif
+
+extern "C" {
+
+// __sinit_c_sxyz_cpp
+//
+asm void __sinit_c_sxyz_cpp(void) {
+ nofralloc
+#include "SComponent/c_sxyz/asm/func_8026758C.s"
+}
+};
diff --git a/libs/SSystem/SComponent/c_xyz.cpp b/libs/SSystem/SComponent/c_xyz.cpp
index 4bf93c8658..fa266902f8 100644
--- a/libs/SSystem/SComponent/c_xyz.cpp
+++ b/libs/SSystem/SComponent/c_xyz.cpp
@@ -1 +1,178 @@
-// ok
+/* c_xyz.cpp autogenerated by split.py v0.1 at 2020-12-27 17:32:37.883661 */
+
+#include "SComponent/c_xyz.h"
+
+// __pl__4cXyzCFRC3Vec
+cXyz cXyz::operator+(const Vec& vec) const {
+ Vec ret;
+ PSVECAdd(this, &vec, &ret);
+ return cXyz(ret);
+}
+
+// __mi__4cXyzCFRC3Vec
+cXyz cXyz::operator-(const Vec& vec) const {
+ Vec ret;
+ PSVECSubtract(this, &vec, &ret);
+ return cXyz(ret);
+}
+
+// __ml__4cXyzCFf
+cXyz cXyz::operator*(float scale) const {
+ Vec ret;
+ PSVECScale(this, &ret, scale);
+ return cXyz(ret);
+}
+
+inline void vecMul(const Vec* src1, const Vec* src2, Vec* dst) {
+ dst->x = src1->x * src2->x;
+ dst->y = src1->y * src2->y;
+ dst->z = src1->z * src2->z;
+}
+
+// __ml__4cXyzCFRC3Vec
+cXyz cXyz::operator*(const Vec& vec) const {
+ cXyz ret;
+ vecMul(this, &vec, &ret);
+ return cXyz(ret);
+}
+
+// __dv__4cXyzCFf
+cXyz cXyz::operator/(float scale) const {
+ Vec ret;
+ PSVECScale(this, &ret, /* 1.0 */ lbl_80455070 / scale);
+ return cXyz(ret);
+}
+
+// getCrossProduct__4cXyzCFRC3Vec
+cXyz cXyz::getCrossProduct(const Vec& vec) const {
+ Vec ret;
+ PSVECCrossProduct(this, &vec, &ret);
+ return cXyz(ret);
+}
+
+// outprod__4cXyzCFRC3Vec
+cXyz cXyz::outprod(const Vec& vec) const {
+ return this->getCrossProduct(vec);
+}
+
+// norm__4cXyzCFv
+cXyz cXyz::norm(void) const {
+ Vec ret;
+ PSVECNormalize(this, &ret);
+ return cXyz(ret);
+}
+
+// normZP__4cXyzCFv
+cXyz cXyz::normZP(void) const {
+ Vec vec;
+ if (this->checkEpsilon()) {
+ PSVECNormalize(this, &vec);
+ } else {
+ vec = lbl_80430CF4;
+ }
+ return cXyz(vec);
+}
+
+extern cXyz lbl_8039A868;
+
+// normZC__4cXyzCFv
+#ifdef NON_MATCHING
+cXyz cXyz::normZC(void) const {
+ Vec vec;
+ if (this->checkEpsilon()) {
+ PSVECNormalize(this, &vec);
+ } else {
+ cXyz local_40 = (*this * lbl_8045507C * lbl_80455078).normZP();
+ vec.x = local_40.x;
+ vec.y = local_40.y;
+ vec.z = local_40.z;
+ // return tmp.checkEpsilon() ? tmp : cXyz::xonly();
+ if (!local_40.checkEpsilon()) {
+ cXyz ret;
+ // ret.baseZ();
+ float v = lbl_80455080;
+ ret.x = v;
+ ret.y = v;
+ v = lbl_80455070;
+ ret.z = v;
+ // should do a struct copy with word and not float loads
+ vec = lbl_8039A868;
+ vec = ret;
+ }
+ }
+ return cXyz(vec);
+}
+#else
+asm cXyz cXyz::normZC(void) const {
+ nofralloc
+#include "SComponent/c_xyz/asm/func_80266DC4.s"
+}
+#endif
+
+// normalize__4cXyzFv
+cXyz cXyz::normalize(void) {
+ PSVECNormalize(this, this);
+ return *this;
+}
+
+// normalizeZP__4cXyzFv
+cXyz cXyz::normalizeZP(void) {
+ if (this->checkEpsilon()) {
+ PSVECNormalize(this, this);
+ } else {
+ *this = lbl_80430CF4;
+ }
+ return *this;
+}
+
+// normalizeRS__4cXyzFv
+bool cXyz::normalizeRS(void) {
+ if ((PSVECSquareMag(this) < lbl_80455074)) {
+ return false;
+ } else {
+ PSVECNormalize(this, this);
+ return true;
+ }
+}
+
+// __eq__4cXyzCFRC3Vec
+bool cXyz::operator==(const Vec& vec) const {
+ return this->x == vec.x && this->y == vec.y && this->z == vec.z;
+}
+
+// __ne__4cXyzCFRC3Vec
+bool cXyz::operator!=(const Vec& vec) const {
+ return !(this->x == vec.x && this->y == vec.y && this->z == vec.z);
+}
+
+// isZero__4cXyzCFv
+bool cXyz::isZero(void) const {
+ // return (float)fabsf(this->x) < lbl_80455084 * lbl_80450AEC &&
+ // (float)fabsf(this->y) < lbl_80455084 * lbl_80450AEC &&
+ // (float)fabsf(this->z) < lbl_80455084 * lbl_80450AEC;
+ return (float)fabsf(this->x) <
+ /* 32 */ lbl_80455084 *
+ /* MSL_C.PPCEABI.bare.H::__float_epsilon */ *(float*)0x80450AEC &&
+ (float)fabsf(this->y) < lbl_80455084 * *(float*)0x80450AEC &&
+ (float)fabsf(this->z) < lbl_80455084 * *(float*)0x80450AEC;
+}
+
+// atan2sX_Z__4cXyzCFv
+s16 cXyz::atan2sX_Z(void) const {
+ return cM_atan2s(this->x, this->z);
+}
+
+// atan2sY_XZ__4cXyzCFv
+asm s16 cXyz::atan2sY_XZ(void) const {
+ nofralloc
+#include "SComponent/c_xyz/asm/func_80267150.s"
+}
+
+extern "C" {
+
+// __sinit_c_xyz_cpp
+asm void __sinit_c_xyz_cpp(void) {
+ nofralloc
+#include "SComponent/c_xyz/asm/func_80267290.s"
+}
+}; \ No newline at end of file