dol2asm OK

This commit is contained in:
Julgodis
2021-03-28 22:49:05 +02:00
parent 3d66902e1a
commit 1e95d29b60
60106 changed files with 4755966 additions and 1107376 deletions
+104
View File
@@ -0,0 +1,104 @@
#
# Generated By: dol2asm
#
LIBSCOMPONENT_A_CPP_FILES := \
libs/SSystem/SComponent/c_malloc.cpp \
libs/SSystem/SComponent/c_API.cpp \
libs/SSystem/SComponent/c_API_controller_pad.cpp \
libs/SSystem/SComponent/c_API_graphic.cpp \
libs/SSystem/SComponent/c_cc_d.cpp \
libs/SSystem/SComponent/c_cc_s.cpp \
libs/SSystem/SComponent/c_counter.cpp \
libs/SSystem/SComponent/c_list.cpp \
libs/SSystem/SComponent/c_list_iter.cpp \
libs/SSystem/SComponent/c_node.cpp \
libs/SSystem/SComponent/c_node_iter.cpp \
libs/SSystem/SComponent/c_tree.cpp \
libs/SSystem/SComponent/c_tree_iter.cpp \
libs/SSystem/SComponent/c_phase.cpp \
libs/SSystem/SComponent/c_request.cpp \
libs/SSystem/SComponent/c_tag.cpp \
libs/SSystem/SComponent/c_tag_iter.cpp \
libs/SSystem/SComponent/c_xyz.cpp \
libs/SSystem/SComponent/c_sxyz.cpp \
libs/SSystem/SComponent/c_math.cpp \
libs/SSystem/SComponent/c_bg_s_chk.cpp \
libs/SSystem/SComponent/c_bg_s_gnd_chk.cpp \
libs/SSystem/SComponent/c_bg_s_lin_chk.cpp \
libs/SSystem/SComponent/c_bg_s_shdw_draw.cpp \
libs/SSystem/SComponent/c_bg_s_poly_info.cpp \
libs/SSystem/SComponent/c_bg_w.cpp \
libs/SSystem/SComponent/c_m2d.cpp \
libs/SSystem/SComponent/c_m3d.cpp \
libs/SSystem/SComponent/c_m3d_g_aab.cpp \
libs/SSystem/SComponent/c_m3d_g_cir.cpp \
libs/SSystem/SComponent/c_m3d_g_cps.cpp \
libs/SSystem/SComponent/c_m3d_g_cyl.cpp \
libs/SSystem/SComponent/c_m3d_g_lin.cpp \
libs/SSystem/SComponent/c_m3d_g_pla.cpp \
libs/SSystem/SComponent/c_m3d_g_sph.cpp \
libs/SSystem/SComponent/c_m3d_g_tri.cpp \
libs/SSystem/SComponent/c_lib.cpp \
libs/SSystem/SComponent/c_angle.cpp \
LIBSCOMPONENT_A_O_FILES := \
$(BUILD_DIR)/libs/SSystem/SComponent/c_malloc.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_API.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_API_controller_pad.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_API_graphic.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_cc_d.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_cc_s.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_counter.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_list.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_list_iter.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_node.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_node_iter.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_tree.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_tree_iter.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_phase.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_request.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_tag.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_tag_iter.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_xyz.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_sxyz.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_math.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_bg_s_chk.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_bg_s_gnd_chk.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_bg_s_lin_chk.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_bg_s_shdw_draw.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_bg_s_poly_info.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_bg_w.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_m2d.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_m3d.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_m3d_g_aab.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_m3d_g_cir.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_m3d_g_cps.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_m3d_g_cyl.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_m3d_g_lin.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_m3d_g_pla.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_m3d_g_sph.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_m3d_g_tri.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_lib.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_angle.o \
LIBSCOMPONENT_A_CFLAGS := \
LIBSCOMPONENT_A_LDFLAGS := \
-nodefaults \
-fp hard \
-proc gekko \
-linkmode moreram \
$(BUILD_DIR)/libSComponent.a: $(LIBSCOMPONENT_A_O_FILES)
@echo linking... $(BUILD_DIR)/libSComponent.a
@echo $(LIBSCOMPONENT_A_O_FILES) > build/LIBSCOMPONENT_A_ofiles
@$(LD) -xm l $(LIBSCOMPONENT_A_LDFLAGS) -o $(BUILD_DIR)/libSComponent.a @build/LIBSCOMPONENT_A_ofiles
@$(STRIP) -d -R .dead -R .comment $(BUILD_DIR)/libSComponent.a
$(BUILD_DIR)/libs/SSystem/SComponent/%.o: libs/SSystem/SComponent/%.cpp
@mkdir -p $(@D)
@echo building... $<
@iconv -f UTF-8 -t SHIFT-JIS -o $@.iconv.cpp $<
@$(CC) $(CFLAGS) $(LIBSCOMPONENT_A_CFLAGS) -c -o $@ $@.iconv.cpp
+50
View File
@@ -0,0 +1,50 @@
//
// Generated By: dol2asm
// Translation Unit: c_API
//
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_API.h"
//
// Forward References:
//
extern "C" extern void* g_cAPI_Interface[6];
extern "C" extern void* g_cAPI_Interface[6];
//
// External References:
//
void mDoGph_BlankingON();
void mDoGph_BlankingOFF();
void mDoGph_BeforeOfDraw();
void mDoGph_AfterOfDraw();
void mDoGph_Painter();
void mDoGph_Create();
extern "C" void mDoGph_BlankingON__Fv();
extern "C" void mDoGph_BlankingOFF__Fv();
extern "C" void mDoGph_BeforeOfDraw__Fv();
extern "C" void mDoGph_AfterOfDraw__Fv();
extern "C" void mDoGph_Painter__Fv();
extern "C" void mDoGph_Create__Fv();
//
// Declarations:
//
/* ############################################################################################## */
/* 803C3528-803C3540 0018+00 s=0 e=3 z=0 None .data g_cAPI_Interface */
SECTION_DATA void* g_cAPI_Interface[6] = {
(void*)mDoGph_Create__Fv,
(void*)mDoGph_BeforeOfDraw__Fv,
(void*)mDoGph_AfterOfDraw__Fv,
(void*)mDoGph_Painter__Fv,
(void*)mDoGph_BlankingON__Fv,
(void*)mDoGph_BlankingOFF__Fv,
};
@@ -1,11 +1,62 @@
#include "SComponent/c_API_controller_pad.h"
#include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h"
//
// Generated By: dol2asm
// Translation Unit: c_API_controller_pad
//
void cAPICPad_recalibrate() {
mDoCPd_c::recalibrate();
}
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_API_controller_pad.h"
u32 cAPICPad_ANY_BUTTON(u32 pPadId) {
interface_of_controller_pad* pad = &m_cpadInfo[pPadId];
return pad->mPressedButtonFlags & 0x1300; // TODO: flag
//
// Types:
//
struct mDoCPd_c {
/* 80007D74 */ void recalibrate();
};
//
// Forward References:
//
void cAPICPad_recalibrate();
void cAPICPad_ANY_BUTTON(u32);
extern "C" void cAPICPad_recalibrate__Fv();
extern "C" void cAPICPad_ANY_BUTTON__FUl();
//
// External References:
//
extern "C" extern u8 m_cpadInfo__8mDoCPd_c[256];
extern "C" void recalibrate__8mDoCPd_cFv();
extern "C" extern u8 m_cpadInfo__8mDoCPd_c[256];
//
// Declarations:
//
/* 8026328C-802632AC 0020+00 s=0 e=3 z=0 None .text cAPICPad_recalibrate__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cAPICPad_recalibrate() {
nofralloc
#include "asm/SSystem/SComponent/c_API_controller_pad/cAPICPad_recalibrate__Fv.s"
}
#pragma pop
/* 802632AC-802632C8 001C+00 s=0 e=3 z=1 None .text cAPICPad_ANY_BUTTON__FUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cAPICPad_ANY_BUTTON(u32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_API_controller_pad/cAPICPad_ANY_BUTTON__FUl.s"
}
#pragma pop
+58 -16
View File
@@ -1,24 +1,66 @@
//
// Generated By: dol2asm
// Translation Unit: c_API_graphic
//
/* c_API_graphic.cpp autogenerated by split.py v0.3 at 2020-12-31 13:52:43.596394 */
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_API_graphic.h"
#include "SComponent/c_API_graphic.h"
//
// Forward References:
//
typedef void (*cAPIGph_Mthd)(void);
extern cAPIGph_Mthd lbl_803C3528[6];
void cAPIGph_Painter();
void cAPIGph_BeforeOfDraw();
void cAPIGph_AfterOfDraw();
// cAPIGph_Painter__Fv
void cAPIGph_Painter(void) {
lbl_803C3528[3]();
extern "C" void cAPIGph_Painter__Fv();
extern "C" void cAPIGph_BeforeOfDraw__Fv();
extern "C" void cAPIGph_AfterOfDraw__Fv();
//
// External References:
//
extern "C" extern void* g_cAPI_Interface[6];
extern "C" extern void* g_cAPI_Interface[6];
//
// Declarations:
//
/* 802632C8-802632F8 0030+00 s=0 e=1 z=0 None .text cAPIGph_Painter__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cAPIGph_Painter() {
nofralloc
#include "asm/SSystem/SComponent/c_API_graphic/cAPIGph_Painter__Fv.s"
}
#pragma pop
// cAPIGph_BeforeOfDraw__Fv
// cAPIGph_BeforeOfDraw(void)
void cAPIGph_BeforeOfDraw(void) {
lbl_803C3528[1]();
/* 802632F8-80263328 0030+00 s=0 e=1 z=0 None .text cAPIGph_BeforeOfDraw__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cAPIGph_BeforeOfDraw() {
nofralloc
#include "asm/SSystem/SComponent/c_API_graphic/cAPIGph_BeforeOfDraw__Fv.s"
}
#pragma pop
/* 80263328-80263358 0030+00 s=0 e=1 z=0 None .text cAPIGph_AfterOfDraw__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cAPIGph_AfterOfDraw() {
nofralloc
#include "asm/SSystem/SComponent/c_API_graphic/cAPIGph_AfterOfDraw__Fv.s"
}
#pragma pop
// cAPIGph_AfterOfDraw__Fv
// cAPIGph_AfterOfDraw(void)
void cAPIGph_AfterOfDraw(void) {
lbl_803C3528[2]();
}
File diff suppressed because it is too large Load Diff
+86 -24
View File
@@ -1,34 +1,96 @@
/* c_bg_s_chk.cpp autogenerated by split.py v0.3 at 2020-12-31 13:59:04.394995 */
//
// Generated By: dol2asm
// Translation Unit: c_bg_s_chk
//
#include "SComponent/c_bg_s_chk.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_bg_s_chk.h"
extern "C" {
void __dl__FPv(void);
//
// Types:
//
struct cBgS_Chk {
/* 80267B4C */ cBgS_Chk();
/* 80267B70 */ ~cBgS_Chk();
/* 80267BB8 */ void SetExtChk(cBgS_Chk&);
/* 80267BDC */ void ChkSameActorPid(unsigned int) const;
};
//
// Forward References:
//
extern "C" void __ct__8cBgS_ChkFv();
extern "C" void __dt__8cBgS_ChkFv();
extern "C" void SetExtChk__8cBgS_ChkFR8cBgS_Chk();
extern "C" void ChkSameActorPid__8cBgS_ChkCFUi();
//
// External References:
//
void operator delete(void*);
extern "C" void __dl__FPv();
//
// Declarations:
//
/* ############################################################################################## */
/* 803C3F80-803C3F90 000C+04 s=2 e=0 z=0 None .data __vt__8cBgS_Chk */
SECTION_DATA static void* __vt__8cBgS_Chk[3 + 1 /* padding */] = {
(void*)NULL,
(void*)NULL,
(void*)__dt__8cBgS_ChkFv,
/* padding */
NULL,
};
/* 80267B4C-80267B70 0024+00 s=0 e=7 z=0 None .text __ct__8cBgS_ChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cBgS_Chk::cBgS_Chk() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_chk/__ct__8cBgS_ChkFv.s"
}
#pragma pop
// __ct__8cBgS_ChkFv
cBgS_Chk::cBgS_Chk(void) {
unk_0x00 = 0;
unk_0x04 = 0;
unk_0x0C = 1;
/* 80267B70-80267BB8 0048+00 s=1 e=7 z=0 None .text __dt__8cBgS_ChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cBgS_Chk::~cBgS_Chk() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_chk/__dt__8cBgS_ChkFv.s"
}
#pragma pop
// __dt__8cBgS_ChkFv
cBgS_Chk::~cBgS_Chk(void) {}
// SetExtChk__8cBgS_ChkFR8cBgS_Chk
void cBgS_Chk::SetExtChk(cBgS_Chk& pOther) {
unk_0x00 = pOther.unk_0x00;
unk_0x04 = pOther.unk_0x04;
unk_0x08 = pOther.unk_0x08;
unk_0x0C = pOther.unk_0x0C;
/* 80267BB8-80267BDC 0024+00 s=0 e=4 z=0 None .text SetExtChk__8cBgS_ChkFR8cBgS_Chk */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_Chk::SetExtChk(cBgS_Chk& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_chk/SetExtChk__8cBgS_ChkFR8cBgS_Chk.s"
}
#pragma pop
// ChkSameActorPid__8cBgS_ChkCFUi
bool cBgS_Chk::ChkSameActorPid(unsigned int pUint) const {
if (unk_0x08 == -1 || pUint == UINT32_MAX || unk_0x0C == 0) {
return 0;
} else {
return (unk_0x08 == pUint) ? 1 : 0;
}
/* 80267BDC-80267C1C 0040+00 s=0 e=7 z=0 None .text ChkSameActorPid__8cBgS_ChkCFUi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_Chk::ChkSameActorPid(unsigned int param_0) const {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_chk/ChkSameActorPid__8cBgS_ChkCFUi.s"
}
#pragma pop
+140 -52
View File
@@ -1,56 +1,144 @@
/* c_bg_s_gnd_chk.cpp autogenerated by split.py v0.3 at 2020-12-31 14:10:48.799186 */
//
// Generated By: dol2asm
// Translation Unit: c_bg_s_gnd_chk
//
#include "SComponent/c_bg_s_gnd_chk.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_bg_s_gnd_chk.h"
// additional symbols needed for c_bg_s_gnd_chk.cpp
// autogenerated by split.py v0.3 at 2020-12-31 14:10:48.795807
extern "C" {
void __ct__13cBgS_PolyInfoFv(void);
void __ct__8cBgS_ChkFv(void);
void __dl__FPv(void);
void __dt__11cBgS_GndChkFv(void);
void __dt__13cBgS_PolyInfoFv(void);
void __dt__8cBgS_ChkFv(void);
}
//
// Types:
//
extern u8 lbl_803C3F90;
// __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"
}
struct cXyz {
};
struct cBgS_PolyInfo {
/* 80268074 */ cBgS_PolyInfo();
/* 802680B0 */ ~cBgS_PolyInfo();
};
struct Vec {
};
struct cBgS_GndChk {
/* 80267C1C */ cBgS_GndChk();
/* 80267C94 */ ~cBgS_GndChk();
/* 80267D28 */ void SetPos(cXyz const*);
/* 80267D0C */ void SetPos(Vec const*);
/* 80267D44 */ void PreCheck();
};
struct cBgS_Chk {
/* 80267B4C */ cBgS_Chk();
/* 80267B70 */ ~cBgS_Chk();
};
//
// Forward References:
//
extern "C" void __ct__11cBgS_GndChkFv();
extern "C" void __dt__11cBgS_GndChkFv();
extern "C" void SetPos__11cBgS_GndChkFPC3Vec();
extern "C" void SetPos__11cBgS_GndChkFPC4cXyz();
extern "C" void PreCheck__11cBgS_GndChkFv();
extern "C" static void func_80267D54();
//
// External References:
//
void operator delete(void*);
extern "C" extern f32 Zero__4cXyz[3];
extern "C" void __ct__8cBgS_ChkFv();
extern "C" void __dt__8cBgS_ChkFv();
extern "C" void __ct__13cBgS_PolyInfoFv();
extern "C" void __dt__13cBgS_PolyInfoFv();
extern "C" void __dl__FPv();
extern "C" extern f32 Zero__4cXyz[3];
//
// Declarations:
//
/* ############################################################################################## */
/* 803C3F90-803C3FA8 0018+00 s=2 e=0 z=0 None .data __vt__11cBgS_GndChk */
SECTION_DATA static void* __vt__11cBgS_GndChk[6] = {
(void*)NULL,
(void*)NULL,
(void*)__dt__11cBgS_GndChkFv,
(void*)NULL,
(void*)NULL,
(void*)func_80267D54,
};
/* 80267C1C-80267C94 0078+00 s=0 e=2 z=123 None .text __ct__11cBgS_GndChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cBgS_GndChk::cBgS_GndChk() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_gnd_chk/__ct__11cBgS_GndChkFv.s"
}
#pragma pop
/* 80267C94-80267D0C 0078+00 s=2 e=4 z=110 None .text __dt__11cBgS_GndChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cBgS_GndChk::~cBgS_GndChk() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_gnd_chk/__dt__11cBgS_GndChkFv.s"
}
#pragma pop
/* 80267D0C-80267D28 001C+00 s=0 e=0 z=62 None .text SetPos__11cBgS_GndChkFPC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_GndChk::SetPos(Vec const* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_gnd_chk/SetPos__11cBgS_GndChkFPC3Vec.s"
}
#pragma pop
/* 80267D28-80267D44 001C+00 s=0 e=51 z=185 None .text SetPos__11cBgS_GndChkFPC4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_GndChk::SetPos(cXyz const* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_gnd_chk/SetPos__11cBgS_GndChkFPC4cXyz.s"
}
#pragma pop
/* 80267D44-80267D54 0010+00 s=0 e=1 z=0 None .text PreCheck__11cBgS_GndChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_GndChk::PreCheck() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_gnd_chk/PreCheck__11cBgS_GndChkFv.s"
}
#pragma pop
/* 80267D54-80267D5C 0008+00 s=1 e=0 z=0 None .text @20@__dt__11cBgS_GndChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm static void func_80267D54() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_gnd_chk/func_80267D54.s"
}
#pragma pop
+148 -61
View File
@@ -1,65 +1,152 @@
/* c_bg_s_lin_chk.cpp autogenerated by split.py v0.3 at 2021-01-01 12:56:44.690623 */
//
// Generated By: dol2asm
// Translation Unit: c_bg_s_lin_chk
//
#include "SComponent/c_bg_s_lin_chk.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_bg_s_lin_chk.h"
// additional symbols needed for c_bg_s_lin_chk.cpp
// autogenerated by split.py v0.3 at 2021-01-01 12:56:44.686018
extern "C" {
void __ct__13cBgS_PolyInfoFv(void);
void __ct__8cBgS_ChkFv(void);
void __dl__FPv(void);
void __dt__11cBgS_LinChkFv(void);
void __dt__13cBgS_PolyInfoFv(void);
void __dt__8cBgS_ChkFv(void);
void ClearPi__13cBgS_PolyInfoFv(void);
void ct__11cBgS_LinChkFv(void);
void SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz(void);
}
//
// Types:
//
extern u8 lbl_803C3FA8;
extern u8 lbl_803A78F8;
// __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"
}
struct cXyz {
};
struct cM3dGLin {
/* 8026F2E8 */ void SetStartEnd(cXyz const&, cXyz const&);
};
struct cBgS_PolyInfo {
/* 80268074 */ cBgS_PolyInfo();
/* 802680B0 */ ~cBgS_PolyInfo();
/* 80268120 */ void ClearPi();
};
struct cBgS_LinChk {
/* 80267D5C */ cBgS_LinChk();
/* 80267DBC */ ~cBgS_LinChk();
/* 80267E48 */ void ct();
/* 80267ED0 */ void Set2(cXyz const*, cXyz const*, unsigned int);
/* 80267F40 */ void PreCalc();
};
struct cBgS_Chk {
/* 80267B4C */ cBgS_Chk();
/* 80267B70 */ ~cBgS_Chk();
};
//
// Forward References:
//
extern "C" void __ct__11cBgS_LinChkFv();
extern "C" void __dt__11cBgS_LinChkFv();
extern "C" void ct__11cBgS_LinChkFv();
extern "C" void Set2__11cBgS_LinChkFPC4cXyzPC4cXyzUi();
extern "C" void PreCalc__11cBgS_LinChkFv();
extern "C" static void func_80267F80();
//
// External References:
//
void operator delete(void*);
extern "C" extern void* __vt__8cM3dGLin[3];
extern "C" extern f32 Zero__4cXyz[3];
extern "C" void __ct__8cBgS_ChkFv();
extern "C" void __dt__8cBgS_ChkFv();
extern "C" void __ct__13cBgS_PolyInfoFv();
extern "C" void __dt__13cBgS_PolyInfoFv();
extern "C" void ClearPi__13cBgS_PolyInfoFv();
extern "C" void SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz();
extern "C" void __dl__FPv();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__8cM3dGLin[3];
extern "C" extern f32 Zero__4cXyz[3];
//
// Declarations:
//
/* ############################################################################################## */
/* 803C3FA8-803C3FC0 0018+00 s=2 e=0 z=0 None .data __vt__11cBgS_LinChk */
SECTION_DATA static void* __vt__11cBgS_LinChk[6] = {
(void*)NULL,
(void*)NULL,
(void*)__dt__11cBgS_LinChkFv,
(void*)NULL,
(void*)NULL,
(void*)func_80267F80,
};
/* 80267D5C-80267DBC 0060+00 s=0 e=2 z=0 None .text __ct__11cBgS_LinChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cBgS_LinChk::cBgS_LinChk() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_lin_chk/__ct__11cBgS_LinChkFv.s"
}
#pragma pop
/* 80267DBC-80267E48 008C+00 s=2 e=2 z=0 None .text __dt__11cBgS_LinChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cBgS_LinChk::~cBgS_LinChk() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_lin_chk/__dt__11cBgS_LinChkFv.s"
}
#pragma pop
/* 80267E48-80267ED0 0088+00 s=1 e=0 z=0 None .text ct__11cBgS_LinChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_LinChk::ct() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_lin_chk/ct__11cBgS_LinChkFv.s"
}
#pragma pop
/* 80267ED0-80267F40 0070+00 s=0 e=2 z=0 None .text Set2__11cBgS_LinChkFPC4cXyzPC4cXyzUi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_LinChk::Set2(cXyz const* param_0, cXyz const* param_1, unsigned int param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_lin_chk/Set2__11cBgS_LinChkFPC4cXyzPC4cXyzUi.s"
}
#pragma pop
/* 80267F40-80267F80 0040+00 s=0 e=1 z=0 None .text PreCalc__11cBgS_LinChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_LinChk::PreCalc() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_lin_chk/PreCalc__11cBgS_LinChkFv.s"
}
#pragma pop
/* 80267F80-80267F88 0008+00 s=1 e=0 z=0 None .text @20@__dt__11cBgS_LinChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm static void func_80267F80() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_lin_chk/func_80267F80.s"
}
#pragma pop
+146 -47
View File
@@ -1,62 +1,161 @@
/* c_bg_s_poly_info.cpp autogenerated by split.py v0.3 at 2021-01-01 12:59:59.592736 */
//
// Generated By: dol2asm
// Translation Unit: c_bg_s_poly_info
//
#include "SComponent/c_bg_s_poly_info.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_bg_s_poly_info.h"
// __ct__13cBgS_PolyInfoFv
cBgS_PolyInfo::cBgS_PolyInfo(void) {
this->ClearPi();
//
// Types:
//
struct cBgS_PolyInfo {
/* 80268074 */ cBgS_PolyInfo();
/* 802680B0 */ ~cBgS_PolyInfo();
/* 802680F8 */ void ChkSetInfo() const;
/* 80268120 */ void ClearPi();
/* 80268148 */ void SetPolyInfo(cBgS_PolyInfo const&);
/* 8026816C */ void SetActorInfo(int, void*, unsigned int);
/* 8026817C */ void ChkSafe(void const*, unsigned int) const;
/* 802681A4 */ void SetPolyIndex(int);
/* 802681AC */ void ChkBgIndex() const;
};
//
// Forward References:
//
extern "C" void __ct__13cBgS_PolyInfoFv();
extern "C" void __dt__13cBgS_PolyInfoFv();
extern "C" void ChkSetInfo__13cBgS_PolyInfoCFv();
extern "C" void ClearPi__13cBgS_PolyInfoFv();
extern "C" void SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo();
extern "C" void SetActorInfo__13cBgS_PolyInfoFiPvUi();
extern "C" void ChkSafe__13cBgS_PolyInfoCFPCvUi();
extern "C" void SetPolyIndex__13cBgS_PolyInfoFi();
extern "C" void ChkBgIndex__13cBgS_PolyInfoCFv();
//
// External References:
//
void operator delete(void*);
extern "C" void __dl__FPv();
//
// Declarations:
//
/* ############################################################################################## */
/* 803C3FD0-803C3FE0 000C+04 s=2 e=0 z=0 None .data __vt__13cBgS_PolyInfo */
SECTION_DATA static void* __vt__13cBgS_PolyInfo[3 + 1 /* padding */] = {
(void*)NULL,
(void*)NULL,
(void*)__dt__13cBgS_PolyInfoFv,
/* padding */
NULL,
};
/* 80268074-802680B0 003C+00 s=0 e=7 z=9 None .text __ct__13cBgS_PolyInfoFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cBgS_PolyInfo::cBgS_PolyInfo() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/__ct__13cBgS_PolyInfoFv.s"
}
#pragma pop
// __dt__13cBgS_PolyInfoFv
cBgS_PolyInfo::~cBgS_PolyInfo(void) {}
// ChkSetInfo__13cBgS_PolyInfoCFv
bool cBgS_PolyInfo::ChkSetInfo(void) const {
if (mPolyIndex == 0xFFFF || unk_0x02 == 0x100) {
return false;
} else {
return true;
}
/* 802680B0-802680F8 0048+00 s=1 e=10 z=393 None .text __dt__13cBgS_PolyInfoFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cBgS_PolyInfo::~cBgS_PolyInfo() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/__dt__13cBgS_PolyInfoFv.s"
}
#pragma pop
// ClearPi__13cBgS_PolyInfoFv
void cBgS_PolyInfo::ClearPi(void) {
mPolyIndex = 0xFFFF;
unk_0x02 = 0x100;
unk_0x04 = 0;
unk_0x08 = -1;
}
// SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo
void cBgS_PolyInfo::SetPolyInfo(const cBgS_PolyInfo& pOther) {
mPolyIndex = pOther.mPolyIndex;
unk_0x02 = pOther.unk_0x02;
unk_0x04 = pOther.unk_0x04;
unk_0x08 = pOther.unk_0x08;
/* 802680F8-80268120 0028+00 s=0 e=4 z=0 None .text ChkSetInfo__13cBgS_PolyInfoCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_PolyInfo::ChkSetInfo() const {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/ChkSetInfo__13cBgS_PolyInfoCFv.s"
}
#pragma pop
// SetActorInfo__13cBgS_PolyInfoFiPvUi
void cBgS_PolyInfo::SetActorInfo(int param_1, void* param_2, unsigned int param_3) {
unk_0x02 = param_1;
unk_0x04 = param_2;
unk_0x08 = param_3;
}
// ChkSafe__13cBgS_PolyInfoCFPCvUi
bool cBgS_PolyInfo::ChkSafe(const void* param_1, unsigned int param_2) const {
if (unk_0x04 == param_1 && unk_0x08 == param_2) {
return true;
} else {
return false;
}
/* 80268120-80268148 0028+00 s=1 e=11 z=0 None .text ClearPi__13cBgS_PolyInfoFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_PolyInfo::ClearPi() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/ClearPi__13cBgS_PolyInfoFv.s"
}
#pragma pop
// SetPolyIndex__13cBgS_PolyInfoFi
void cBgS_PolyInfo::SetPolyIndex(int pPolyIndex) {
mPolyIndex = pPolyIndex;
}
// ChkBgIndex__13cBgS_PolyInfoCFv
bool cBgS_PolyInfo::ChkBgIndex(void) const {
return unk_0x02 != 0x100;
/* 80268148-8026816C 0024+00 s=0 e=11 z=1 None .text SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_PolyInfo::SetPolyInfo(cBgS_PolyInfo const& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo.s"
}
#pragma pop
/* 8026816C-8026817C 0010+00 s=0 e=6 z=0 None .text SetActorInfo__13cBgS_PolyInfoFiPvUi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_PolyInfo::SetActorInfo(int param_0, void* param_1, unsigned int param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/SetActorInfo__13cBgS_PolyInfoFiPvUi.s"
}
#pragma pop
/* 8026817C-802681A4 0028+00 s=0 e=1 z=0 None .text ChkSafe__13cBgS_PolyInfoCFPCvUi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_PolyInfo::ChkSafe(void const* param_0, unsigned int param_1) const {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/ChkSafe__13cBgS_PolyInfoCFPCvUi.s"
}
#pragma pop
/* 802681A4-802681AC 0008+00 s=0 e=11 z=0 None .text SetPolyIndex__13cBgS_PolyInfoFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_PolyInfo::SetPolyIndex(int param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/SetPolyIndex__13cBgS_PolyInfoFi.s"
}
#pragma pop
/* 802681AC-802681C0 0014+00 s=0 e=3 z=0 None .text ChkBgIndex__13cBgS_PolyInfoCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_PolyInfo::ChkBgIndex() const {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/ChkBgIndex__13cBgS_PolyInfoCFv.s"
}
#pragma pop
+110 -33
View File
@@ -1,42 +1,119 @@
/* c_bg_s_shdw_draw.cpp autogenerated by split.py v0.3 at 2021-01-01 13:07:28.496888 */
//
// Generated By: dol2asm
// Translation Unit: c_bg_s_shdw_draw
//
#include "SComponent/c_bg_s_shdw_draw.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_bg_s_shdw_draw.h"
// additional symbols needed for c_bg_s_shdw_draw.cpp
// autogenerated by split.py v0.3 at 2021-01-01 13:07:28.433195
extern "C" {
void __ct__8cBgS_ChkFv(void);
void __dl__FPv(void);
void __dt__8cBgS_ChkFv(void);
void Set__8cM3dGAabFPC4cXyzPC4cXyz(void);
//
// Types:
//
struct cXyz {
};
struct cM3dGPla {
};
struct cM3dGAab {
/* 8026EC54 */ void Set(cXyz const*, cXyz const*);
};
struct cBgD_Vtx_t {
};
struct cBgS_ShdwDraw {
/* 80267F88 */ cBgS_ShdwDraw();
/* 80267FD0 */ ~cBgS_ShdwDraw();
/* 80268048 */ void Set(cXyz&, cXyz&);
/* 8026806C */ void SetCallback(int (*)(cBgS_ShdwDraw*, cBgD_Vtx_t*, int, int, int, cM3dGPla*));
};
struct cBgS_Chk {
/* 80267B4C */ cBgS_Chk();
/* 80267B70 */ ~cBgS_Chk();
};
//
// Forward References:
//
extern "C" void __ct__13cBgS_ShdwDrawFv();
extern "C" void __dt__13cBgS_ShdwDrawFv();
extern "C" void Set__13cBgS_ShdwDrawFR4cXyzR4cXyz();
extern "C" void SetCallback__13cBgS_ShdwDrawFPFP13cBgS_ShdwDrawP10cBgD_Vtx_tiiiP8cM3dGPla_i();
//
// External References:
//
void operator delete(void*);
extern "C" extern void* __vt__8cM3dGAab[3];
extern "C" void __ct__8cBgS_ChkFv();
extern "C" void __dt__8cBgS_ChkFv();
extern "C" void Set__8cM3dGAabFPC4cXyzPC4cXyz();
extern "C" void __dl__FPv();
extern "C" extern void* __vt__8cM3dGAab[3];
//
// Declarations:
//
/* ############################################################################################## */
/* 803C3FC0-803C3FD0 000C+04 s=2 e=0 z=0 None .data __vt__13cBgS_ShdwDraw */
SECTION_DATA static void* __vt__13cBgS_ShdwDraw[3 + 1 /* padding */] = {
(void*)NULL,
(void*)NULL,
(void*)__dt__13cBgS_ShdwDrawFv,
/* padding */
NULL,
};
/* 80267F88-80267FD0 0048+00 s=0 e=1 z=0 None .text __ct__13cBgS_ShdwDrawFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cBgS_ShdwDraw::cBgS_ShdwDraw() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_shdw_draw/__ct__13cBgS_ShdwDrawFv.s"
}
extern u8 lbl_803C3FC0;
extern u8 lbl_803A7218;
#pragma pop
// __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"
/* 80267FD0-80268048 0078+00 s=1 e=2 z=0 None .text __dt__13cBgS_ShdwDrawFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cBgS_ShdwDraw::~cBgS_ShdwDraw() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_shdw_draw/__dt__13cBgS_ShdwDrawFv.s"
}
#pragma pop
// 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"
/* 80268048-8026806C 0024+00 s=0 e=1 z=0 None .text Set__13cBgS_ShdwDrawFR4cXyzR4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_ShdwDraw::Set(cXyz& param_0, cXyz& param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_shdw_draw/Set__13cBgS_ShdwDrawFR4cXyzR4cXyz.s"
}
#pragma pop
/* 8026806C-80268074 0008+00 s=0 e=1 z=0 None .text SetCallback__13cBgS_ShdwDrawFPFP13cBgS_ShdwDrawP10cBgD_Vtx_tiiiP8cM3dGPla_i */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_ShdwDraw::SetCallback(int (*)(cBgS_ShdwDraw*, cBgD_Vtx_t*, int, int, int, cM3dGPla*)) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_shdw_draw/SetCallback__13cBgS_ShdwDrawFPFP13cBgS_ShdwDrawP10cBgD_Vtx_tiiiP8cM3dGPla_i.s"
}
#pragma pop
+106 -19
View File
@@ -1,31 +1,118 @@
#include "SComponent/c_bg_w.h"
//
// Generated By: dol2asm
// Translation Unit: c_bg_w
//
extern f32 lbl_804550E8;
extern f32 lbl_804550EC;
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_bg_w.h"
void cBgW_BgId::Regist(int a1) {
mId = a1;
//
// Types:
//
struct cBgW_BgId {
/* 802681C0 */ void Regist(int);
/* 802681C8 */ void Release();
/* 802681D4 */ void ChkUsed() const;
};
//
// Forward References:
//
void cBgW_CheckBGround(f32);
void cBgW_CheckBRoof(f32);
void cBgW_CheckBWall(f32);
extern "C" void Regist__9cBgW_BgIdFi();
extern "C" void Release__9cBgW_BgIdFv();
extern "C" void ChkUsed__9cBgW_BgIdCFv();
extern "C" void cBgW_CheckBGround__Ff();
extern "C" void cBgW_CheckBRoof__Ff();
extern "C" void cBgW_CheckBWall__Ff();
//
// External References:
//
//
// Declarations:
//
/* 802681C0-802681C8 0008+00 s=0 e=1 z=0 None .text Regist__9cBgW_BgIdFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgW_BgId::Regist(int param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_w/Regist__9cBgW_BgIdFi.s"
}
#pragma pop
void cBgW_BgId::Release() {
mId = 0x100;
/* 802681C8-802681D4 000C+00 s=0 e=2 z=0 None .text Release__9cBgW_BgIdFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgW_BgId::Release() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_w/Release__9cBgW_BgIdFv.s"
}
#pragma pop
unsigned int cBgW_BgId::ChkUsed() const {
unsigned int temp = mId - 0x100;
return temp >> 0x1f;
/* 802681D4-802681E4 0010+00 s=0 e=7 z=121 None .text ChkUsed__9cBgW_BgIdCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgW_BgId::ChkUsed() const {
nofralloc
#include "asm/SSystem/SComponent/c_bg_w/ChkUsed__9cBgW_BgIdCFv.s"
}
bool cBgW_CheckBGround(float a1) {
return a1 >= lbl_804550E8;
#pragma pop
/* ############################################################################################## */
/* 804550E8-804550EC 0004+00 s=1 e=0 z=0 None .sdata2 @2242 */
SECTION_SDATA2 static u32 lit_2242 = 0x3F000000;
/* 802681E4-802681FC 0018+00 s=1 e=22 z=8 None .text cBgW_CheckBGround__Ff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgW_CheckBGround(f32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_w/cBgW_CheckBGround__Ff.s"
}
#pragma pop
bool cBgW_CheckBRoof(float a1) {
return a1 < lbl_804550EC;
/* ############################################################################################## */
/* 804550EC-804550F0 0004+00 s=1 e=0 z=0 None .sdata2 @2249 */
SECTION_SDATA2 static u32 lit_2249 = 0xBF4CCCCD;
/* 802681FC-80268210 0014+00 s=1 e=6 z=0 None .text cBgW_CheckBRoof__Ff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgW_CheckBRoof(f32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_w/cBgW_CheckBRoof__Ff.s"
}
#pragma pop
/* 80268210-80268260 0050+00 s=0 e=16 z=4 None .text cBgW_CheckBWall__Ff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgW_CheckBWall(f32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_w/cBgW_CheckBWall__Ff.s"
}
#pragma pop
bool cBgW_CheckBWall(float a1) {
if (!cBgW_CheckBGround(a1) && !cBgW_CheckBRoof(a1))
return true;
return false;
}
File diff suppressed because it is too large Load Diff
+495 -235
View File
@@ -1,239 +1,499 @@
/* c_cc_s.cpp autogenerated by split.py v0.3 at 2021-01-01 13:55:15.722706 */
//
// Generated By: dol2asm
// Translation Unit: c_cc_s
//
#include "global.h"
#include "mtx_vec.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_cc_s.h"
extern "C" {
void CalcCenter__8cM3dGAabCFP4cXyz(void);
void CalcDivideInfo__15cCcD_DivideAreaFP15cCcD_DivideInfoRC8cM3dGAabUl(void);
void PlusDmg__9cCcD_SttsFi(void);
void Chk__15cCcD_DivideInfoCFRC15cCcD_DivideInfo(void);
void ClearForMinMax__8cM3dGAabFv(void);
void ClrCcMove__9cCcD_SttsFv(void);
void __dt__4cXyzFv(void);
void func_80361C24(void);
void GetAc__8cCcD_ObjFv(void);
void GetWeightF__9cCcD_SttsCFv(void);
void PlusCcMove__9cCcD_SttsFfff(void);
void SetArea__15cCcD_DivideAreaFRC8cM3dGAab(void);
void SetAtTgCommonHitInf__4cCcSFP8cCcD_ObjP8cCcD_ObjP4cXyz(void);
void SetCoCommonHitInf__4cCcSFP8cCcD_ObjP4cXyzP8cCcD_ObjP4cXyzf(void);
void SetHit__10cCcD_ObjAtFP8cCcD_Obj(void);
void SetHit__10cCcD_ObjCoFP8cCcD_Obj(void);
void SetHit__10cCcD_ObjTgFP8cCcD_Obj(void);
void SetMinMax__8cM3dGAabFRC8cM3dGAab(void);
}
//
// Types:
//
// additional symbols needed for c_cc_s.cpp
// autogenerated by split.py v0.3 at 2021-01-01 13:55:15.696568
extern u8 lbl_80451158;
extern u8 lbl_80455060;
extern u8 lbl_80455048;
extern u8 lbl_80455050;
extern u8 lbl_803A7200;
extern u8 lbl_8045503C;
extern u8 lbl_80430CC0;
extern u8 lbl_80430CCC;
extern u8 lbl_80455068;
extern u8 lbl_80455040;
extern u8 lbl_80455044;
extern u8 lbl_80455038;
extern u8 lbl_803C3748;
extern u8 lbl_80455058;
extern u8 lbl_803A7218;
extern u8 lbl_80451180;
extern u8 lbl_80450AE0;
extern u8 lbl_80451180;
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"
}
struct cXyz {
/* 80009184 */ ~cXyz();
};
struct cM3dGAab {
/* 8026ECF8 */ void ClearForMinMax();
/* 8026ED60 */ void SetMinMax(cM3dGAab const&);
/* 8026EE24 */ void CalcCenter(cXyz*) const;
};
struct cCcD_Stts {
/* 80263934 */ void PlusCcMove(f32, f32, f32);
/* 8026395C */ void ClrCcMove();
/* 80263970 */ void PlusDmg(int);
/* 80263984 */ void GetWeightF() const;
};
struct cCcD_Obj {
/* 80263A48 */ void GetAc();
};
struct cCcD_GStts {
};
struct cCcD_GObjInf {
};
struct cCcS {
/* 80030BDC */ ~cCcS();
/* 80264A6C */ cCcS();
/* 80264A94 */ void Ct();
/* 80264B60 */ void Dt();
/* 80264B80 */ void GetWt(u8) const;
/* 80264BA8 */ void Set(cCcD_Obj*);
/* 80264C5C */ void ClrCoHitInf();
/* 80264CF0 */ void ClrTgHitInf();
/* 80264D90 */ void ClrAtHitInf();
/* 80264E2C */ void ChkNoHitAtTg(cCcD_Obj*, cCcD_Obj*);
/* 80264F40 */ void ChkAtTg();
/* 8026515C */ void ChkNoHitCo(cCcD_Obj*, cCcD_Obj*);
/* 80265230 */ void ChkCo();
/* 802653A0 */ void CalcTgPlusDmg(cCcD_Obj*, cCcD_Obj*, cCcD_Stts*, cCcD_Stts*);
/* 802653C8 */ void SetAtTgCommonHitInf(cCcD_Obj*, cCcD_Obj*, cXyz*);
/* 802655E4 */ void SetCoCommonHitInf(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32);
/* 80265750 */ void SetPosCorrect(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32);
/* 80265BB4 */ void CalcArea();
/* 80265CCC */ void Move();
/* 80265D30 */ void DrawClear();
/* 80265DF4 */ void SetCoGCorrectProc(cCcD_Obj*, cCcD_Obj*);
/* 80265DF8 */ void SetCoGObjInf(bool, bool, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, cCcD_GStts*, cCcD_GStts*);
/* 80265DFC */ void SetAtTgGObjInf(bool, bool, cCcD_Obj*, cCcD_Obj*, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, cCcD_GStts*, cCcD_GStts*, cXyz*);
/* 80265E00 */ bool ChkNoHitGAtTg(cCcD_GObjInf const*, cCcD_GObjInf const*, cCcD_GStts*, cCcD_GStts*);
/* 80265E08 */ bool ChkAtTgHitAfterCross(bool, bool, cCcD_GObjInf const*, cCcD_GObjInf const*, cCcD_Stts*, cCcD_Stts*, cCcD_GStts*, cCcD_GStts*);
/* 80265E10 */ bool ChkNoHitGCo(cCcD_Obj*, cCcD_Obj*);
/* 80265E18 */ void MoveAfterCheck();
};
struct cCcD_ObjTg {
/* 802648C8 */ void SetHit(cCcD_Obj*);
};
struct cCcD_ObjCo {
/* 802648D8 */ void SetHit(cCcD_Obj*);
};
struct cCcD_ObjAt {
/* 8026483C */ void SetHit(cCcD_Obj*);
};
struct cCcD_DivideInfo {
/* 80263368 */ void Chk(cCcD_DivideInfo const&) const;
};
struct cCcD_DivideArea {
/* 802633A8 */ void SetArea(cM3dGAab const&);
/* 802634D4 */ void CalcDivideInfo(cCcD_DivideInfo*, cM3dGAab const&, u32);
};
//
// Forward References:
//
extern "C" extern void* __vt__4cCcS[12];
extern "C" extern f32 lit_2762[1 + 1 /* padding */];
extern "C" void __ct__4cCcSFv();
extern "C" void Ct__4cCcSFv();
extern "C" void Dt__4cCcSFv();
extern "C" void GetWt__4cCcSCFUc();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void ClrCoHitInf__4cCcSFv();
extern "C" void ClrTgHitInf__4cCcSFv();
extern "C" void ClrAtHitInf__4cCcSFv();
extern "C" void ChkNoHitAtTg__4cCcSFP8cCcD_ObjP8cCcD_Obj();
extern "C" void ChkAtTg__4cCcSFv();
extern "C" void ChkNoHitCo__4cCcSFP8cCcD_ObjP8cCcD_Obj();
extern "C" void ChkCo__4cCcSFv();
extern "C" void CalcTgPlusDmg__4cCcSFP8cCcD_ObjP8cCcD_ObjP9cCcD_SttsP9cCcD_Stts();
extern "C" void SetAtTgCommonHitInf__4cCcSFP8cCcD_ObjP8cCcD_ObjP4cXyz();
extern "C" void SetCoCommonHitInf__4cCcSFP8cCcD_ObjP4cXyzP8cCcD_ObjP4cXyzf();
extern "C" void SetPosCorrect__4cCcSFP8cCcD_ObjP4cXyzP8cCcD_ObjP4cXyzf();
extern "C" void CalcArea__4cCcSFv();
extern "C" void Move__4cCcSFv();
extern "C" void DrawClear__4cCcSFv();
extern "C" void SetCoGCorrectProc__4cCcSFP8cCcD_ObjP8cCcD_Obj();
extern "C" void SetCoGObjInf__4cCcSFbbP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts();
extern "C" void SetAtTgGObjInf__4cCcSFbbP8cCcD_ObjP8cCcD_ObjP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GSttsP4cXyz();
extern "C" bool ChkNoHitGAtTg__4cCcSFPC12cCcD_GObjInfPC12cCcD_GObjInfP10cCcD_GSttsP10cCcD_GStts();
extern "C" bool ChkAtTgHitAfterCross__4cCcSFbbPC12cCcD_GObjInfPC12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts();
extern "C" bool ChkNoHitGCo__4cCcSFP8cCcD_ObjP8cCcD_Obj();
extern "C" void MoveAfterCheck__4cCcSFv();
extern "C" extern void* __vt__4cCcS[12];
extern "C" extern f32 lit_2762[1 + 1 /* padding */];
//
// External References:
//
extern "C" extern void* __vt__15cCcD_DivideArea[3];
extern "C" extern void* __vt__8cM3dGAab[3];
extern "C" extern u32 __float_nan;
extern "C" extern u8 data_80451158[8];
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
extern "C" void __dt__4cXyzFv();
extern "C" void __dt__4cCcSFv();
extern "C" void Chk__15cCcD_DivideInfoCFRC15cCcD_DivideInfo();
extern "C" void SetArea__15cCcD_DivideAreaFRC8cM3dGAab();
extern "C" void CalcDivideInfo__15cCcD_DivideAreaFP15cCcD_DivideInfoRC8cM3dGAabUl();
extern "C" void PlusCcMove__9cCcD_SttsFfff();
extern "C" void ClrCcMove__9cCcD_SttsFv();
extern "C" void PlusDmg__9cCcD_SttsFi();
extern "C" void GetWeightF__9cCcD_SttsCFv();
extern "C" void GetAc__8cCcD_ObjFv();
extern "C" void SetHit__10cCcD_ObjAtFP8cCcD_Obj();
extern "C" void SetHit__10cCcD_ObjTgFP8cCcD_Obj();
extern "C" void SetHit__10cCcD_ObjCoFP8cCcD_Obj();
extern "C" void ClearForMinMax__8cM3dGAabFv();
extern "C" void SetMinMax__8cM3dGAabFRC8cM3dGAab();
extern "C" void CalcCenter__8cM3dGAabCFP4cXyz();
extern "C" void PSVECAdd();
extern "C" void PSVECSubtract();
extern "C" void PSVECScale();
extern "C" void PSVECMag();
extern "C" void __register_global_object();
extern "C" void _savegpr_21();
extern "C" void _savegpr_22();
extern "C" void _savegpr_25();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_21();
extern "C" void _restgpr_22();
extern "C" void _restgpr_25();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__15cCcD_DivideArea[3];
extern "C" extern void* __vt__8cM3dGAab[3];
extern "C" extern u32 __float_nan;
extern "C" extern u8 data_80451158[8];
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
//
// Declarations:
//
/* ############################################################################################## */
/* 803C3748-803C3778 0030+00 s=1 e=2 z=0 None .data __vt__4cCcS */
SECTION_DATA void* __vt__4cCcS[12] = {
(void*)NULL,
(void*)NULL,
(void*)CalcTgPlusDmg__4cCcSFP8cCcD_ObjP8cCcD_ObjP9cCcD_SttsP9cCcD_Stts,
(void*)SetPosCorrect__4cCcSFP8cCcD_ObjP4cXyzP8cCcD_ObjP4cXyzf,
(void*)SetCoGObjInf__4cCcSFbbP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts,
(void*)SetAtTgGObjInf__4cCcSFbbP8cCcD_ObjP8cCcD_ObjP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GSttsP4cXyz,
(void*)ChkNoHitGAtTg__4cCcSFPC12cCcD_GObjInfPC12cCcD_GObjInfP10cCcD_GSttsP10cCcD_GStts,
(void*)ChkAtTgHitAfterCross__4cCcSFbbPC12cCcD_GObjInfPC12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts,
(void*)ChkNoHitGCo__4cCcSFP8cCcD_ObjP8cCcD_Obj,
(void*)__dt__4cCcSFv,
(void*)MoveAfterCheck__4cCcSFv,
(void*)SetCoGCorrectProc__4cCcSFP8cCcD_ObjP8cCcD_Obj,
};
/* 80264A6C-80264A94 0028+00 s=0 e=1 z=0 None .text __ct__4cCcSFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cCcS::cCcS() {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/__ct__4cCcSFv.s"
}
#pragma pop
/* 80264A94-80264B60 00CC+00 s=1 e=1 z=0 None .text Ct__4cCcSFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::Ct() {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/Ct__4cCcSFv.s"
}
#pragma pop
/* 80264B60-80264B80 0020+00 s=0 e=1 z=0 None .text Dt__4cCcSFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::Dt() {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/Dt__4cCcSFv.s"
}
#pragma pop
/* 80264B80-80264BA8 0028+00 s=1 e=0 z=0 None .text GetWt__4cCcSCFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::GetWt(u8 param_0) const {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/GetWt__4cCcSCFUc.s"
}
#pragma pop
/* 80264BA8-80264C5C 00B4+00 s=0 e=7 z=454 None .text Set__4cCcSFP8cCcD_Obj */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::Set(cCcD_Obj* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/Set__4cCcSFP8cCcD_Obj.s"
}
#pragma pop
/* 80264C5C-80264CF0 0094+00 s=1 e=0 z=0 None .text ClrCoHitInf__4cCcSFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::ClrCoHitInf() {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/ClrCoHitInf__4cCcSFv.s"
}
#pragma pop
/* 80264CF0-80264D90 00A0+00 s=1 e=0 z=0 None .text ClrTgHitInf__4cCcSFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::ClrTgHitInf() {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/ClrTgHitInf__4cCcSFv.s"
}
#pragma pop
/* 80264D90-80264E2C 009C+00 s=1 e=0 z=0 None .text ClrAtHitInf__4cCcSFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::ClrAtHitInf() {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/ClrAtHitInf__4cCcSFv.s"
}
#pragma pop
/* 80264E2C-80264F40 0114+00 s=1 e=0 z=0 None .text ChkNoHitAtTg__4cCcSFP8cCcD_ObjP8cCcD_Obj */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::ChkNoHitAtTg(cCcD_Obj* param_0, cCcD_Obj* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/ChkNoHitAtTg__4cCcSFP8cCcD_ObjP8cCcD_Obj.s"
}
#pragma pop
/* ############################################################################################## */
/* 80430CC0-80430CCC 000C+00 s=1 e=0 z=0 None .bss @2492 */
static u8 lit_2492[12];
/* 80430CCC-80430CD8 000C+00 s=1 e=0 z=0 None .bss cross$2491 */
static u8 cross[12];
/* 80455038-8045503C 0004+00 s=2 e=0 z=0 None .sdata2 @2532 */
SECTION_SDATA2 static u8 lit_2532[4] = {
0x00, 0x00, 0x00, 0x00,
};
/* 80264F40-8026515C 021C+00 s=1 e=0 z=0 None .text ChkAtTg__4cCcSFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::ChkAtTg() {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/ChkAtTg__4cCcSFv.s"
}
#pragma pop
/* 8026515C-80265230 00D4+00 s=1 e=0 z=0 None .text ChkNoHitCo__4cCcSFP8cCcD_ObjP8cCcD_Obj */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::ChkNoHitCo(cCcD_Obj* param_0, cCcD_Obj* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/ChkNoHitCo__4cCcSFP8cCcD_ObjP8cCcD_Obj.s"
}
#pragma pop
/* 80265230-802653A0 0170+00 s=1 e=0 z=0 None .text ChkCo__4cCcSFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::ChkCo() {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/ChkCo__4cCcSFv.s"
}
#pragma pop
/* 802653A0-802653C8 0028+00 s=1 e=0 z=0 None .text CalcTgPlusDmg__4cCcSFP8cCcD_ObjP8cCcD_ObjP9cCcD_SttsP9cCcD_Stts */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::CalcTgPlusDmg(cCcD_Obj* param_0, cCcD_Obj* param_1, cCcD_Stts* param_2, cCcD_Stts* param_3) {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/CalcTgPlusDmg__4cCcSFP8cCcD_ObjP8cCcD_ObjP9cCcD_SttsP9cCcD_Stts.s"
}
#pragma pop
/* 802653C8-802655E4 021C+00 s=1 e=0 z=0 None .text SetAtTgCommonHitInf__4cCcSFP8cCcD_ObjP8cCcD_ObjP4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::SetAtTgCommonHitInf(cCcD_Obj* param_0, cCcD_Obj* param_1, cXyz* param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/SetAtTgCommonHitInf__4cCcSFP8cCcD_ObjP8cCcD_ObjP4cXyz.s"
}
#pragma pop
/* 802655E4-80265750 016C+00 s=1 e=0 z=0 None .text SetCoCommonHitInf__4cCcSFP8cCcD_ObjP4cXyzP8cCcD_ObjP4cXyzf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::SetCoCommonHitInf(cCcD_Obj* param_0, cXyz* param_1, cCcD_Obj* param_2, cXyz* param_3, f32 param_4) {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/SetCoCommonHitInf__4cCcSFP8cCcD_ObjP4cXyzP8cCcD_ObjP4cXyzf.s"
}
#pragma pop
/* ############################################################################################## */
/* 8045503C-80455040 0004+00 s=1 e=0 z=0 None .sdata2 @2759 */
SECTION_SDATA2 static u32 lit_2759 = 0x3C03126F;
/* 80455040-80455044 0004+00 s=1 e=0 z=0 None .sdata2 @2760 */
SECTION_SDATA2 static u32 lit_2760 = 0x3F800000;
/* 80455044-80455048 0004+00 s=1 e=0 z=0 None .sdata2 @2761 */
SECTION_SDATA2 static u32 lit_2761 = 0x40000000;
/* 80455048-80455050 0004+04 s=1 e=1 z=0 None .sdata2 @2762 */
SECTION_SDATA2 f32 lit_2762[1 + 1 /* padding */] = {
0.5f,
/* padding */
0.0f,
};
/* 80455050-80455058 0008+00 s=1 e=0 z=0 None .sdata2 @2763 */
SECTION_SDATA2 static u8 lit_2763[8] = {
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80455058-80455060 0008+00 s=1 e=0 z=0 None .sdata2 @2764 */
SECTION_SDATA2 static u8 lit_2764[8] = {
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80455060-80455068 0008+00 s=1 e=0 z=0 None .sdata2 @2765 */
SECTION_SDATA2 static u8 lit_2765[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80455068-80455070 0004+04 s=1 e=0 z=0 None .sdata2 @2766 */
SECTION_SDATA2 static f32 lit_2766[1 + 1 /* padding */] = {
-1.0f,
/* padding */
0.0f,
};
/* 80265750-80265BB4 0464+00 s=1 e=0 z=0 None .text SetPosCorrect__4cCcSFP8cCcD_ObjP4cXyzP8cCcD_ObjP4cXyzf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::SetPosCorrect(cCcD_Obj* param_0, cXyz* param_1, cCcD_Obj* param_2, cXyz* param_3, f32 param_4) {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/SetPosCorrect__4cCcSFP8cCcD_ObjP4cXyzP8cCcD_ObjP4cXyzf.s"
}
#pragma pop
/* 80265BB4-80265CCC 0118+00 s=1 e=0 z=0 None .text CalcArea__4cCcSFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::CalcArea() {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/CalcArea__4cCcSFv.s"
}
#pragma pop
/* 80265CCC-80265D30 0064+00 s=0 e=1 z=0 None .text Move__4cCcSFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::Move() {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/Move__4cCcSFv.s"
}
#pragma pop
/* 80265D30-80265DF4 00C4+00 s=0 e=1 z=0 None .text DrawClear__4cCcSFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCcS::DrawClear() {
nofralloc
#include "asm/SSystem/SComponent/c_cc_s/DrawClear__4cCcSFv.s"
}
#pragma pop
/* 80265DF4-80265DF8 0004+00 s=1 e=1 z=0 None .text SetCoGCorrectProc__4cCcSFP8cCcD_ObjP8cCcD_Obj */
void cCcS::SetCoGCorrectProc(cCcD_Obj* param_0, cCcD_Obj* param_1) {
/* empty function */
}
/* 80265DF8-80265DFC 0004+00 s=1 e=0 z=0 None .text SetCoGObjInf__4cCcSFbbP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts */
void cCcS::SetCoGObjInf(bool param_0, bool param_1, cCcD_GObjInf* param_2, cCcD_GObjInf* param_3, cCcD_Stts* param_4, cCcD_Stts* param_5, cCcD_GStts* param_6, cCcD_GStts* param_7) {
/* empty function */
}
/* 80265DFC-80265E00 0004+00 s=1 e=0 z=0 None .text SetAtTgGObjInf__4cCcSFbbP8cCcD_ObjP8cCcD_ObjP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GSttsP4cXyz */
void cCcS::SetAtTgGObjInf(bool param_0, bool param_1, cCcD_Obj* param_2, cCcD_Obj* param_3, cCcD_GObjInf* param_4, cCcD_GObjInf* param_5, cCcD_Stts* param_6, cCcD_Stts* param_7, cCcD_GStts* param_8, cCcD_GStts* param_9, cXyz* param_10) {
/* empty function */
}
/* 80265E00-80265E08 0008+00 s=1 e=0 z=0 None .text ChkNoHitGAtTg__4cCcSFPC12cCcD_GObjInfPC12cCcD_GObjInfP10cCcD_GSttsP10cCcD_GStts */
bool cCcS::ChkNoHitGAtTg(cCcD_GObjInf const* param_0, cCcD_GObjInf const* param_1, cCcD_GStts* param_2, cCcD_GStts* param_3) {
return false;
}
/* 80265E08-80265E10 0008+00 s=1 e=0 z=0 None .text ChkAtTgHitAfterCross__4cCcSFbbPC12cCcD_GObjInfPC12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts */
bool cCcS::ChkAtTgHitAfterCross(bool param_0, bool param_1, cCcD_GObjInf const* param_2, cCcD_GObjInf const* param_3, cCcD_Stts* param_4, cCcD_Stts* param_5, cCcD_GStts* param_6, cCcD_GStts* param_7) {
return false;
}
/* 80265E10-80265E18 0008+00 s=1 e=0 z=0 None .text ChkNoHitGCo__4cCcSFP8cCcD_ObjP8cCcD_Obj */
bool cCcS::ChkNoHitGCo(cCcD_Obj* param_0, cCcD_Obj* param_1) {
return false;
}
/* 80265E18-80265E1C 0004+00 s=1 e=0 z=0 None .text MoveAfterCheck__4cCcSFv */
void cCcS::MoveAfterCheck() {
/* empty function */
}
+39 -17
View File
@@ -1,22 +1,44 @@
#include "SComponent/c_counter.h"
//
// Generated By: dol2asm
// Translation Unit: c_counter
//
struct counter_class {
int mCounter0;
int mCounter1;
int mTimer;
};
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_counter.h"
// g_Counter
extern counter_class lbl_80430CD8;
//
// Forward References:
//
extern "C" {
void cCt_Counter(int resetCounter1) {
if (resetCounter1 == 1) {
lbl_80430CD8.mCounter1 = 0;
} else {
lbl_80430CD8.mCounter1++;
}
void cCt_Counter(int);
extern "C" extern u8 g_Counter[12 + 4 /* padding */];
lbl_80430CD8.mCounter0++;
extern "C" void cCt_Counter__Fi();
extern "C" extern u8 g_Counter[12 + 4 /* padding */];
//
// External References:
//
//
// Declarations:
//
/* ############################################################################################## */
/* 80430CD8-80430CE8 000C+04 s=1 e=12 z=22 None .bss g_Counter */
u8 g_Counter[12 + 4 /* padding */];
/* 80265E1C-80265E64 0048+00 s=0 e=1 z=0 None .text cCt_Counter__Fi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cCt_Counter(int param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_counter/cCt_Counter__Fi.s"
}
};
#pragma pop
+426 -173
View File
@@ -1,218 +1,471 @@
/* c_lib.cpp autogenerated by split.py v0.3 at 2021-01-01 14:12:11.766106 */
//
// Generated By: dol2asm
// Translation Unit: c_lib
//
#include "SComponent/c_lib.h"
#include "JSystem/JMath/JMath.h"
#include "SComponent/c_math.h"
#include "msl_c/string.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_lib.h"
extern u8 lbl_80450AE0;
extern u8 lbl_80430DB8;
extern u8 lbl_80450768;
//
// Types:
//
static const f32 lbl_804551E0 = 0;
static const f64 lbl_804551E8 = 0.5; // 0x3fe0000000000000
static const f64 lbl_804551F0 = 3.0; // 0x4008000000000000
static const f64 lbl_804551F8 = 0.0;
// static const u8 lbl_80455200[4] = { 0x2e, 0xaf, 0xeb, 0xff };
// static const u8 lbl_80455204[4] = { 0x00, 0x00, 0x00, 0x00 }; //
// padding
static const s64 lbl_80455200 = 0x2eafebff00000000;
struct Vec {
};
extern "C" {
int abs(int);
void __eq__4cXyzCFRC3Vec(void);
void __mi__4cXyzCFRC3Vec(void);
void __ml__4cXyzCFf(void);
void __ne__4cXyzCFRC3Vec(void);
void cM_atan2s__Fff(void);
void normZP__4cXyzCFv(void);
struct cXyz {
/* 80266B34 */ void operator-(Vec const&) const;
/* 80266B84 */ void operator*(f32) const;
/* 80266D30 */ void normZP() const;
/* 8026702C */ bool operator==(Vec const&) const;
/* 8026706C */ bool operator!=(Vec const&) const;
};
//
// Forward References:
//
void cLib_memCpy(void*, void const*, u32);
void cLib_memSet(void*, int, u32);
void cLib_addCalc(f32*, f32, f32, f32, f32);
void cLib_addCalc2(f32*, f32, f32, f32);
void cLib_addCalc0(f32*, f32, f32);
void cLib_addCalcPos(cXyz*, cXyz const&, f32, f32, f32);
void cLib_addCalcPosXZ(cXyz*, cXyz const&, f32, f32, f32);
void cLib_addCalcPos2(cXyz*, cXyz const&, f32, f32);
void cLib_addCalcPosXZ2(cXyz*, cXyz const&, f32, f32);
void cLib_addCalcAngleS(s16*, s16, s16, s16, s16);
void cLib_addCalcAngleS2(s16*, s16, s16, s16);
void cLib_chaseUC(u8*, u8, u8);
void cLib_chaseS(s16*, s16, s16);
void cLib_chaseF(f32*, f32, f32);
void cLib_chasePos(cXyz*, cXyz const&, f32);
void cLib_chasePosXZ(cXyz*, cXyz const&, f32);
void cLib_chaseAngleS(s16*, s16, s16);
void cLib_targetAngleY(Vec const*, Vec const*);
void cLib_targetAngleY(Vec const&, Vec const&);
void cLib_targetAngleX(cXyz const*, cXyz const*);
void cLib_offsetPos(cXyz*, cXyz const*, s16, cXyz const*);
void cLib_distanceAngleS(s16, s16);
void MtxInit();
void MtxTrans(f32, f32, f32, u8);
void MtxScale(f32, f32, f32, u8);
void MtxPosition(cXyz*, cXyz*);
void MtxPush();
void MtxPull();
extern "C" extern void* calc_mtx[1 + 1 /* padding */];
extern "C" void cLib_memCpy__FPvPCvUl();
extern "C" void cLib_memSet__FPviUl();
extern "C" void cLib_addCalc__FPfffff();
extern "C" void cLib_addCalc2__FPffff();
extern "C" void cLib_addCalc0__FPfff();
extern "C" void cLib_addCalcPos__FP4cXyzRC4cXyzfff();
extern "C" void cLib_addCalcPosXZ__FP4cXyzRC4cXyzfff();
extern "C" void cLib_addCalcPos2__FP4cXyzRC4cXyzff();
extern "C" void cLib_addCalcPosXZ2__FP4cXyzRC4cXyzff();
extern "C" void cLib_addCalcAngleS__FPsssss();
extern "C" void cLib_addCalcAngleS2__FPssss();
extern "C" void cLib_chaseUC__FPUcUcUc();
extern "C" void cLib_chaseS__FPsss();
extern "C" void cLib_chaseF__FPfff();
extern "C" void cLib_chasePos__FP4cXyzRC4cXyzf();
extern "C" void cLib_chasePosXZ__FP4cXyzRC4cXyzf();
extern "C" void cLib_chaseAngleS__FPsss();
extern "C" void cLib_targetAngleY__FPC3VecPC3Vec();
extern "C" void cLib_targetAngleY__FRC3VecRC3Vec();
extern "C" void cLib_targetAngleX__FPC4cXyzPC4cXyz();
extern "C" void cLib_offsetPos__FP4cXyzPC4cXyzsPC4cXyz();
extern "C" void cLib_distanceAngleS__Fss();
extern "C" void MtxInit__Fv();
extern "C" void MtxTrans__FfffUc();
extern "C" void MtxScale__FfffUc();
extern "C" void MtxPosition__FP4cXyzP4cXyz();
extern "C" void MtxPush__Fv();
extern "C" void MtxPull__Fv();
extern "C" extern void* calc_mtx[1 + 1 /* padding */];
//
// External References:
//
void cM_atan2s(f32, f32);
extern "C" extern u8 sincosTable___5JMath[65536];
extern "C" extern u32 __float_nan;
SECTION_INIT void memset();
SECTION_INIT void memcpy();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void __ml__4cXyzCFf();
extern "C" void normZP__4cXyzCFv();
extern "C" bool __eq__4cXyzCFRC3Vec();
extern "C" bool __ne__4cXyzCFRC3Vec();
extern "C" void cM_atan2s__Fff();
extern "C" void PSMTXCopy();
extern "C" void PSMTXConcat();
extern "C" void PSMTXTrans();
extern "C" void PSMTXScale();
extern "C" void PSMTXMultVec();
extern "C" void PSVECSubtract();
extern "C" void PSVECScale();
extern "C" void PSVECSquareMag();
extern "C" void PSVECSquareDistance();
extern "C" void abs();
extern "C" extern u8 sincosTable___5JMath[65536];
extern "C" extern u32 __float_nan;
//
// Declarations:
//
/* 8026F93C-8026F95C 0020+00 s=0 e=3 z=0 None .text cLib_memCpy__FPvPCvUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_memCpy(void* param_0, void const* param_1, u32 param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_memCpy__FPvPCvUl.s"
}
#pragma pop
// cLib_memCpy__FPvPCvUl
// cLib_memCpy(void*, const void*, unsigned long)
void cLib_memCpy(void* dst, const void* src, unsigned long size) {
memcpy(dst, src, size);
}
// cLib_memSet__FPviUl
// cLib_memSet(void*, int, unsigned long)
void cLib_memSet(void* ptr, int value, unsigned long size) {
memset(ptr, value, size);
/* 8026F95C-8026F97C 0020+00 s=0 e=4 z=0 None .text cLib_memSet__FPviUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_memSet(void* param_0, int param_1, u32 param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_memSet__FPviUl.s"
}
#pragma pop
// 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"
}
/* ############################################################################################## */
/* 804551E0-804551E8 0004+04 s=9 e=0 z=0 None .sdata2 @2262 */
SECTION_SDATA2 static u8 lit_2262[4 + 4 /* padding */] = {
0x00, 0x00, 0x00, 0x00,
/* padding */
0x00, 0x00, 0x00, 0x00,
};
// cLib_addCalc0__FPfff
// cLib_addCalc0(float*, float, float)
asm void cLib_addCalc0(float*, float, float) {
nofralloc
#include "SComponent/c_lib/asm/func_8026FA80.s"
/* 8026F97C-8026FA3C 00C0+00 s=0 e=50 z=178 None .text cLib_addCalc__FPfffff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_addCalc(f32* param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_addCalc__FPfffff.s"
}
#pragma pop
// 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"
/* 8026FA3C-8026FA80 0044+00 s=0 e=20 z=701 None .text cLib_addCalc2__FPffff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_addCalc2(f32* param_0, f32 param_1, f32 param_2, f32 param_3) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_addCalc2__FPffff.s"
}
#pragma pop
// 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"
/* 8026FA80-8026FAB8 0038+00 s=0 e=2 z=322 None .text cLib_addCalc0__FPfff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_addCalc0(f32* param_0, f32 param_1, f32 param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_addCalc0__FPfff.s"
}
#pragma pop
// 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"
}
/* ############################################################################################## */
/* 804551E8-804551F0 0008+00 s=7 e=0 z=0 None .sdata2 @2379 */
SECTION_SDATA2 static u8 lit_2379[8] = {
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
// 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"
}
/* 804551F0-804551F8 0008+00 s=7 e=0 z=0 None .sdata2 @2380 */
SECTION_SDATA2 static u8 lit_2380[8] = {
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
// cLib_chaseS__FPsss
// cLib_chaseS(short*, short, short)
asm int cLib_chaseS(short*, short, short) {
nofralloc
#include "SComponent/c_lib/asm/func_802706D0.s"
}
/* 804551F8-80455200 0008+00 s=7 e=0 z=0 None .sdata2 @2381 */
SECTION_SDATA2 static u8 lit_2381[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
// cLib_chaseF__FPfff
// cLib_chaseF(float*, float, float)
asm int cLib_chaseF(float*, float, float) {
nofralloc
#include "SComponent/c_lib/asm/func_80270740.s"
}
/* 80455200-80455208 0004+04 s=5 e=0 z=0 None .sdata2 @2382 */
SECTION_SDATA2 static f32 lit_2382[1 + 1 /* padding */] = {
7.999999968033578e-11f,
/* padding */
0.0f,
};
// 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"
/* 8026FAB8-8026FDF4 033C+00 s=0 e=3 z=78 None .text cLib_addCalcPos__FP4cXyzRC4cXyzfff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_addCalcPos(cXyz* param_0, cXyz const& param_1, f32 param_2, f32 param_3, f32 param_4) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_addCalcPos__FP4cXyzRC4cXyzfff.s"
}
#pragma pop
// 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"
/* 8026FDF4-80270178 0384+00 s=0 e=1 z=4 None .text cLib_addCalcPosXZ__FP4cXyzRC4cXyzfff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_addCalcPosXZ(cXyz* param_0, cXyz const& param_1, f32 param_2, f32 param_3, f32 param_4) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_addCalcPosXZ__FP4cXyzRC4cXyzfff.s"
}
#pragma pop
// cLib_targetAngleY__FPC3VecPC3Vec
// cLib_targetAngleY(const Vec*, const Vec*)
s16 cLib_targetAngleY(const Vec* lhs, const Vec* rhs) {
return cM_atan2s(rhs->x - lhs->x, rhs->z - lhs->z);
}
// cLib_targetAngleY__FRC3VecRC3Vec
// cLib_targetAngleY(const Vec&, const Vec&)
s16 cLib_targetAngleY(const Vec& lhs, const Vec& rhs) {
return cM_atan2s(rhs.x - lhs.x, rhs.z - lhs.z);
/* 80270178-80270350 01D8+00 s=0 e=2 z=33 None .text cLib_addCalcPos2__FP4cXyzRC4cXyzff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_addCalcPos2(cXyz* param_0, cXyz const& param_1, f32 param_2, f32 param_3) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_addCalcPos2__FP4cXyzRC4cXyzff.s"
}
#pragma pop
// 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"
/* 80270350-80270540 01F0+00 s=0 e=0 z=4 None .text cLib_addCalcPosXZ2__FP4cXyzRC4cXyzff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_addCalcPosXZ2(cXyz* param_0, cXyz const& param_1, f32 param_2, f32 param_3) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_addCalcPosXZ2__FP4cXyzRC4cXyzff.s"
}
#pragma pop
// cLib_distanceAngleS__Fss
// cLib_distanceAngleS(short, short)
s32 cLib_distanceAngleS(s16 x, s16 y) {
return abs(static_cast<s16>(x - y));
}
// MtxInit__Fv
// MtxInit(void)
asm void MtxInit(void) {
nofralloc
#include "SComponent/c_lib/asm/func_80270E4C.s"
/* 80270540-80270608 00C8+00 s=0 e=81 z=244 None .text cLib_addCalcAngleS__FPsssss */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_addCalcAngleS(s16* param_0, s16 param_1, s16 param_2, s16 param_3, s16 param_4) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_addCalcAngleS__FPsssss.s"
}
#pragma pop
// 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"
/* 80270608-8027065C 0054+00 s=0 e=2 z=849 None .text cLib_addCalcAngleS2__FPssss */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_addCalcAngleS2(s16* param_0, s16 param_1, s16 param_2, s16 param_3) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_addCalcAngleS2__FPssss.s"
}
#pragma pop
// 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"
/* 8027065C-802706D0 0074+00 s=0 e=3 z=14 None .text cLib_chaseUC__FPUcUcUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_chaseUC(u8* param_0, u8 param_1, u8 param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_chaseUC__FPUcUcUc.s"
}
#pragma pop
// MtxPull__Fv
// MtxPull(void)
asm Mtx* MtxPull(void) {
nofralloc
#include "SComponent/c_lib/asm/func_80270F58.s"
/* 802706D0-80270740 0070+00 s=0 e=4 z=49 None .text cLib_chaseS__FPsss */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_chaseS(s16* param_0, s16 param_1, s16 param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_chaseS__FPsss.s"
}
#pragma pop
/* 80270740-802707AC 006C+00 s=0 e=70 z=448 None .text cLib_chaseF__FPfff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_chaseF(f32* param_0, f32 param_1, f32 param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_chaseF__FPfff.s"
}
#pragma pop
/* 802707AC-80270990 01E4+00 s=0 e=3 z=60 None .text cLib_chasePos__FP4cXyzRC4cXyzf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_chasePos(cXyz* param_0, cXyz const& param_1, f32 param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_chasePos__FP4cXyzRC4cXyzf.s"
}
#pragma pop
/* 80270990-80270B90 0200+00 s=0 e=1 z=19 None .text cLib_chasePosXZ__FP4cXyzRC4cXyzf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_chasePosXZ(cXyz* param_0, cXyz const& param_1, f32 param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_chasePosXZ__FP4cXyzRC4cXyzf.s"
}
#pragma pop
/* 80270B90-80270C04 0074+00 s=0 e=4 z=213 None .text cLib_chaseAngleS__FPsss */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_chaseAngleS(s16* param_0, s16 param_1, s16 param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_chaseAngleS__FPsss.s"
}
#pragma pop
/* 80270C04-80270C3C 0038+00 s=0 e=39 z=454 None .text cLib_targetAngleY__FPC3VecPC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_targetAngleY(Vec const* param_0, Vec const* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_targetAngleY__FPC3VecPC3Vec.s"
}
#pragma pop
/* 80270C3C-80270C74 0038+00 s=0 e=0 z=7 None .text cLib_targetAngleY__FRC3VecRC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_targetAngleY(Vec const& param_0, Vec const& param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_targetAngleY__FRC3VecRC3Vec.s"
}
#pragma pop
/* 80270C74-80270DC0 014C+00 s=0 e=2 z=109 None .text cLib_targetAngleX__FPC4cXyzPC4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_targetAngleX(cXyz const* param_0, cXyz const* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_targetAngleX__FPC4cXyzPC4cXyz.s"
}
#pragma pop
/* 80270DC0-80270E24 0064+00 s=0 e=2 z=118 None .text cLib_offsetPos__FP4cXyzPC4cXyzsPC4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_offsetPos(cXyz* param_0, cXyz const* param_1, s16 param_2, cXyz const* param_3) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_offsetPos__FP4cXyzPC4cXyzsPC4cXyz.s"
}
#pragma pop
/* 80270E24-80270E4C 0028+00 s=0 e=48 z=71 None .text cLib_distanceAngleS__Fss */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_distanceAngleS(s16 param_0, s16 param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_distanceAngleS__Fss.s"
}
#pragma pop
/* ############################################################################################## */
/* 80430DB8-80430F98 01E0+00 s=2 e=0 z=0 None .bss mtx */
static u8 mtx[480];
/* 80450768-80450770 0004+04 s=6 e=2 z=695 None .sdata calc_mtx */
SECTION_SDATA void* calc_mtx[1 + 1 /* padding */] = {
(void*)&mtx,
/* padding */
NULL,
};
/* 80270E4C-80270E5C 0010+00 s=0 e=1 z=0 None .text MtxInit__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void MtxInit() {
nofralloc
#include "asm/SSystem/SComponent/c_lib/MtxInit__Fv.s"
}
#pragma pop
/* 80270E5C-80270EA4 0048+00 s=0 e=0 z=43 None .text MtxTrans__FfffUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void MtxTrans(f32 param_0, f32 param_1, f32 param_2, u8 param_3) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/MtxTrans__FfffUc.s"
}
#pragma pop
/* 80270EA4-80270EEC 0048+00 s=0 e=0 z=46 None .text MtxScale__FfffUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void MtxScale(f32 param_0, f32 param_1, f32 param_2, u8 param_3) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/MtxScale__FfffUc.s"
}
#pragma pop
/* 80270EEC-80270F1C 0030+00 s=0 e=2 z=615 None .text MtxPosition__FP4cXyzP4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void MtxPosition(cXyz* param_0, cXyz* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/MtxPosition__FP4cXyzP4cXyz.s"
}
#pragma pop
/* 80270F1C-80270F58 003C+00 s=0 e=0 z=20 None .text MtxPush__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void MtxPush() {
nofralloc
#include "asm/SSystem/SComponent/c_lib/MtxPush__Fv.s"
}
#pragma pop
/* 80270F58-80270F68 0010+00 s=0 e=0 z=20 None .text MtxPull__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void MtxPull() {
nofralloc
#include "asm/SSystem/SComponent/c_lib/MtxPull__Fv.s"
}
#pragma pop
+120 -49
View File
@@ -1,62 +1,133 @@
//
// Generated By: dol2asm
// Translation Unit: c_list
//
#include "SComponent/c_list.h"
#include "global.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_list.h"
void cLs_Init(node_list_class* pList) {
pList->mpHead = NULL;
pList->mpTail = NULL;
pList->mSize = 0;
//
// Types:
//
struct node_list_class {
};
struct node_class {
};
//
// Forward References:
//
static void cLs_Init(node_list_class*);
void cLs_SingleCut(node_class*);
void cLs_Addition(node_list_class*, node_class*);
void cLs_Insert(node_list_class*, int, node_class*);
void cLs_GetFirst(node_list_class*);
void cLs_Create(node_list_class*);
extern "C" static void cLs_Init__FP15node_list_class();
extern "C" void cLs_SingleCut__FP10node_class();
extern "C" void cLs_Addition__FP15node_list_classP10node_class();
extern "C" void cLs_Insert__FP15node_list_classiP10node_class();
extern "C" void cLs_GetFirst__FP15node_list_class();
extern "C" void cLs_Create__FP15node_list_class();
//
// External References:
//
void cNd_LengthOf(node_class*);
void cNd_First(node_class*);
void cNd_Last(node_class*);
void cNd_Order(node_class*, int);
void cNd_SingleCut(node_class*);
void cNd_Addition(node_class*, node_class*);
void cNd_Insert(node_class*, node_class*);
void cNd_SetObject(node_class*, void*);
void cNd_ClearObject(node_class*);
extern "C" void cNd_LengthOf__FP10node_class();
extern "C" void cNd_First__FP10node_class();
extern "C" void cNd_Last__FP10node_class();
extern "C" void cNd_Order__FP10node_classi();
extern "C" void cNd_SingleCut__FP10node_class();
extern "C" void cNd_Addition__FP10node_classP10node_class();
extern "C" void cNd_Insert__FP10node_classP10node_class();
extern "C" void cNd_SetObject__FP10node_classPv();
extern "C" void cNd_ClearObject__FP10node_class();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
//
// Declarations:
//
/* 80265E64-80265E78 0014+00 s=1 e=0 z=0 None .text cLs_Init__FP15node_list_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm static void cLs_Init(node_list_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_list/cLs_Init__FP15node_list_class.s"
}
#pragma pop
int cLs_SingleCut(node_class* pNode) {
node_list_class* pList = (node_list_class*)pNode->mpData;
if (pNode == pList->mpHead)
pList->mpHead = pNode->mpNextNode;
if (pNode == pList->mpTail)
pList->mpTail = pNode->mpPrevNode;
cNd_SingleCut(pNode);
cNd_ClearObject(pNode);
int newSize = pList->mSize - 1;
pList->mSize = newSize;
return newSize > 0;
/* 80265E78-80265EFC 0084+00 s=1 e=4 z=0 None .text cLs_SingleCut__FP10node_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLs_SingleCut(node_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_list/cLs_SingleCut__FP10node_class.s"
}
#pragma pop
int cLs_Addition(node_list_class* pList, node_class* pNode) {
if (pList->mpTail == NULL) {
pList->mpHead = pNode;
} else {
cNd_Addition(pList->mpTail, pNode);
}
pList->mpTail = cNd_Last(pNode);
cNd_SetObject(pNode, pList);
pList->mSize = cNd_LengthOf(pList->mpHead);
return pList->mSize;
/* 80265EFC-80265F70 0074+00 s=1 e=4 z=0 None .text cLs_Addition__FP15node_list_classP10node_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLs_Addition(node_list_class* param_0, node_class* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_list/cLs_Addition__FP15node_list_classP10node_class.s"
}
#pragma pop
int cLs_Insert(node_list_class* pList, int idx, node_class* pNode) {
node_class* pExisting = cNd_Order(pList->mpHead, idx);
if (pExisting == NULL) {
return cLs_Addition(pList, pNode);
} else {
cNd_SetObject(pNode, pList);
cNd_Insert(pExisting, pNode);
pList->mpHead = cNd_First(pNode);
pList->mSize = cNd_LengthOf(pList->mpHead);
return pList->mSize;
}
}
node_class* cLs_GetFirst(node_list_class* pList) {
if (pList->mSize != 0) {
node_class* pHead = pList->mpHead;
cLs_SingleCut(pHead);
return pHead;
} else {
return NULL;
}
/* 80265F70-80265FF8 0088+00 s=0 e=1 z=0 None .text cLs_Insert__FP15node_list_classiP10node_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLs_Insert(node_list_class* param_0, int param_1, node_class* param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_list/cLs_Insert__FP15node_list_classiP10node_class.s"
}
#pragma pop
void cLs_Create(node_list_class* pList) {
cLs_Init(pList);
/* 80265FF8-80266040 0048+00 s=0 e=1 z=0 None .text cLs_GetFirst__FP15node_list_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLs_GetFirst(node_list_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_list/cLs_GetFirst__FP15node_list_class.s"
}
#pragma pop
/* 80266040-80266060 0020+00 s=0 e=4 z=0 None .text cLs_Create__FP15node_list_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLs_Create(node_list_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_list/cLs_Create__FP15node_list_class.s"
}
#pragma pop
+60 -12
View File
@@ -1,17 +1,65 @@
//
// Generated By: dol2asm
// Translation Unit: c_list_iter
//
#include "SComponent/c_list_iter.h"
#include "global.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_list_iter.h"
int cLsIt_Method(node_list_class* pList, cNdIt_MethodFunc pMethod, void* pUserData) {
if (pList->mSize > 0)
return cNdIt_Method(pList->mpHead, pMethod, pUserData);
else
return 1;
//
// Types:
//
struct node_list_class {
};
struct node_class {
};
//
// Forward References:
//
void cLsIt_Method(node_list_class*, int (*)(node_class*, void*), void*);
void cLsIt_Judge(node_list_class*, void* (*)(node_class*, void*), void*);
extern "C" void cLsIt_Method__FP15node_list_classPFP10node_classPv_iPv();
extern "C" void cLsIt_Judge__FP15node_list_classPFP10node_classPv_PvPv();
//
// External References:
//
void cNdIt_Method(node_class*, int (*)(node_class*, void*), void*);
void cNdIt_Judge(node_class*, void* (*)(node_class*, void*), void*);
extern "C" void cNdIt_Method__FP10node_classPFP10node_classPv_iPv();
extern "C" void cNdIt_Judge__FP10node_classPFP10node_classPv_PvPv();
//
// Declarations:
//
/* 80266060-80266098 0038+00 s=0 e=5 z=0 None .text cLsIt_Method__FP15node_list_classPFP10node_classPv_iPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLsIt_Method(node_list_class* param_0, int (*)(node_class*, void*), void* param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_list_iter/cLsIt_Method__FP15node_list_classPFP10node_classPv_iPv.s"
}
#pragma pop
void* cLsIt_Judge(node_list_class* pList, cNdIt_JudgeFunc pJudge, void* pUserData) {
if (pList->mSize > 0)
return cNdIt_Judge(pList->mpHead, pJudge, pUserData);
else
return NULL;
/* 80266098-802660D0 0038+00 s=0 e=4 z=0 None .text cLsIt_Judge__FP15node_list_classPFP10node_classPv_PvPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLsIt_Judge(node_list_class* param_0, void* (*)(node_class*, void*), void* param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_list_iter/cLsIt_Judge__FP15node_list_classPFP10node_classPv_PvPv.s"
}
#pragma pop
+75 -17
View File
@@ -1,21 +1,79 @@
/* c_m2d.cpp autogenerated by split.py v0.3 at 2021-01-01 14:23:08.024801 */
//
// Generated By: dol2asm
// Translation Unit: c_m2d
//
#include "SComponent/c_m2d.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_m2d.h"
// additional symbols needed for c_m2d.cpp
// autogenerated by split.py v0.3 at 2021-01-01 14:23:08.023070
extern u8 lbl_80455110;
extern u8 lbl_80455100;
extern u8 lbl_80455108;
extern u8 lbl_804550FC;
extern u8 lbl_804550F8;
extern u8 lbl_804550F4;
extern u8 lbl_804550F0;
extern u8 lbl_80451180;
extern u8 lbl_80450AE0;
//
// Types:
//
// cM2d_CrossCirLin__FR8cM2dGCirffffPfPf
asm void cM2d_CrossCirLin(cM2dGCir&, float, float, float, float, float*, float*) {
nofralloc
#include "SComponent/c_m2d/asm/func_80268260.s"
struct cM2dGCir {
};
//
// Forward References:
//
void cM2d_CrossCirLin(cM2dGCir&, f32, f32, f32, f32, f32*, f32*);
extern "C" void cM2d_CrossCirLin__FR8cM2dGCirffffPfPf();
//
// External References:
//
extern "C" extern u32 __float_nan;
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
extern "C" extern u32 __float_nan;
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
//
// Declarations:
//
/* ############################################################################################## */
/* 804550F0-804550F4 0004+00 s=1 e=0 z=0 None .sdata2 @2266 */
SECTION_SDATA2 static u32 lit_2266 = 0x40000000;
/* 804550F4-804550F8 0004+00 s=1 e=0 z=0 None .sdata2 @2267 */
SECTION_SDATA2 static u32 lit_2267 = 0x40800000;
/* 804550F8-804550FC 0004+00 s=1 e=0 z=0 None .sdata2 @2268 */
SECTION_SDATA2 static u8 lit_2268[4] = {
0x00, 0x00, 0x00, 0x00,
};
/* 804550FC-80455100 0004+00 s=1 e=0 z=0 None .sdata2 @2269 */
SECTION_SDATA2 static u32 lit_2269 = 0x3F800000;
/* 80455100-80455108 0008+00 s=1 e=0 z=0 None .sdata2 @2270 */
SECTION_SDATA2 static u8 lit_2270[8] = {
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80455108-80455110 0008+00 s=1 e=0 z=0 None .sdata2 @2271 */
SECTION_SDATA2 static u8 lit_2271[8] = {
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80455110-80455118 0008+00 s=1 e=0 z=0 None .sdata2 @2272 */
SECTION_SDATA2 static u8 lit_2272[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80268260-80268560 0300+00 s=0 e=4 z=0 None .text cM2d_CrossCirLin__FR8cM2dGCirffffPfPf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM2d_CrossCirLin(cM2dGCir& param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32* param_5, f32* param_6) {
nofralloc
#include "asm/SSystem/SComponent/c_m2d/cM2d_CrossCirLin__FR8cM2dGCirffffPfPf.s"
}
#pragma pop
File diff suppressed because it is too large Load Diff
+176 -56
View File
@@ -1,75 +1,195 @@
/* c_m3d_g_aab.cpp autogenerated by split.py v0.3 at 2021-01-01 14:25:53.398196 */
//
// Generated By: dol2asm
// Translation Unit: c_m3d_g_aab
//
#include "SComponent/c_m3d_g_aab.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_m3d_g_aab.h"
// additional symbols needed for c_m3d_g_aab.cpp
// autogenerated by split.py v0.3 at 2021-01-01 14:25:53.390342
//
// Types:
//
extern f32 lbl_804551D4;
extern f32 lbl_804551D0;
extern f32 lbl_804551D8;
struct cXyz {
};
// Set__8cM3dGAabFPC4cXyzPC4cXyz
void cM3dGAab::Set(const cXyz* pMin, const cXyz* pMax) {
mMin = *pMin;
mMax = *pMax;
struct cM3dGAab {
/* 8026EC54 */ void Set(cXyz const*, cXyz const*);
/* 8026EC88 */ void CrossY(cXyz const*) const;
/* 8026ECD0 */ void UnderPlaneYUnder(f32) const;
/* 8026ECE4 */ void TopPlaneYUnder(f32) const;
/* 8026ECF8 */ void ClearForMinMax();
/* 8026ED60 */ void SetMinMax(cM3dGAab const&);
/* 8026ED1C */ void SetMinMax(cXyz const&);
/* 8026EDA4 */ void SetMin(cXyz const&);
/* 8026EDE4 */ void SetMax(cXyz const&);
/* 8026EE24 */ void CalcCenter(cXyz*) const;
/* 8026EE68 */ void PlusR(f32);
};
//
// Forward References:
//
extern "C" void Set__8cM3dGAabFPC4cXyzPC4cXyz();
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 SetMinMax__8cM3dGAabFRC8cM3dGAab();
extern "C" void SetMin__8cM3dGAabFRC4cXyz();
extern "C" void SetMax__8cM3dGAabFRC4cXyz();
extern "C" void CalcCenter__8cM3dGAabCFP4cXyz();
extern "C" void PlusR__8cM3dGAabFf();
//
// External References:
//
extern "C" void PSVECAdd();
extern "C" void PSVECScale();
//
// Declarations:
//
/* 8026EC54-8026EC88 0034+00 s=0 e=4 z=0 None .text Set__8cM3dGAabFPC4cXyzPC4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGAab::Set(cXyz const* param_0, cXyz const* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_aab/Set__8cM3dGAabFPC4cXyzPC4cXyz.s"
}
#pragma pop
// CrossY__8cM3dGAabCFPC4cXyz
bool cM3dGAab::CrossY(const cXyz* pOther) const {
if (mMin.x > pOther->x || mMax.x < pOther->x || mMin.z > pOther->z || mMax.z < pOther->z) {
return false;
} else {
return true;
}
}
// UnderPlaneYUnder__8cM3dGAabCFf
bool cM3dGAab::UnderPlaneYUnder(f32 pY) const {
return mMin.y < pY;
/* 8026EC88-8026ECD0 0048+00 s=0 e=6 z=0 None .text CrossY__8cM3dGAabCFPC4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGAab::CrossY(cXyz const* param_0) const {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_aab/CrossY__8cM3dGAabCFPC4cXyz.s"
}
#pragma pop
// TopPlaneYUnder__8cM3dGAabCFf
bool cM3dGAab::TopPlaneYUnder(f32 pY) const {
return mMax.y < pY;
}
// ClearForMinMax__8cM3dGAabFv
void cM3dGAab::ClearForMinMax(void) {
mMin.setAll(lbl_804551D0);
mMax.setAll(lbl_804551D4);
/* 8026ECD0-8026ECE4 0014+00 s=0 e=6 z=0 None .text UnderPlaneYUnder__8cM3dGAabCFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGAab::UnderPlaneYUnder(f32 param_0) const {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_aab/UnderPlaneYUnder__8cM3dGAabCFf.s"
}
#pragma pop
// SetMinMax__8cM3dGAabFRC4cXyz
void cM3dGAab::SetMinMax(const cXyz& pMinMax) {
this->SetMin(pMinMax);
this->SetMax(pMinMax);
}
// SetMinMax__8cM3dGAabFRC8cM3dGAab
void cM3dGAab::SetMinMax(const cM3dGAab& pOther) {
this->SetMinMax(pOther.mMin);
this->SetMinMax(pOther.mMax);
/* 8026ECE4-8026ECF8 0014+00 s=0 e=6 z=0 None .text TopPlaneYUnder__8cM3dGAabCFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGAab::TopPlaneYUnder(f32 param_0) const {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_aab/TopPlaneYUnder__8cM3dGAabCFf.s"
}
#pragma pop
// SetMin__8cM3dGAabFRC4cXyz
void cM3dGAab::SetMin(const cXyz& pMin) {
mMin.setMin(pMin);
}
// SetMax__8cM3dGAabFRC4cXyz
void cM3dGAab::SetMax(const cXyz& pMax) {
mMax.setMax(pMax);
}
/* ############################################################################################## */
/* 804551D0-804551D4 0004+00 s=1 e=0 z=0 None .sdata2 @416 */
SECTION_SDATA2 static u32 lit_416 = 0x4E6E6B28;
// CalcCenter__8cM3dGAabCFP4cXyz
void cM3dGAab::CalcCenter(cXyz* pOut) const {
PSVECAdd(&mMin, &mMax, pOut);
PSVECScale(pOut, pOut, lbl_804551D8);
}
/* 804551D4-804551D8 0004+00 s=1 e=0 z=0 None .sdata2 @417 */
SECTION_SDATA2 static u32 lit_417 = 0xCE6E6B28;
// PlusR__8cM3dGAabFf
void cM3dGAab::PlusR(f32 pR) {
mMin -= pR;
mMax += pR;
/* 8026ECF8-8026ED1C 0024+00 s=0 e=6 z=0 None .text ClearForMinMax__8cM3dGAabFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGAab::ClearForMinMax() {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_aab/ClearForMinMax__8cM3dGAabFv.s"
}
#pragma pop
/* 8026ED1C-8026ED60 0044+00 s=1 e=3 z=0 None .text SetMinMax__8cM3dGAabFRC4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGAab::SetMinMax(cXyz const& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_aab/SetMinMax__8cM3dGAabFRC4cXyz.s"
}
#pragma pop
/* 8026ED60-8026EDA4 0044+00 s=0 e=2 z=0 None .text SetMinMax__8cM3dGAabFRC8cM3dGAab */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGAab::SetMinMax(cM3dGAab const& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_aab/SetMinMax__8cM3dGAabFRC8cM3dGAab.s"
}
#pragma pop
/* 8026EDA4-8026EDE4 0040+00 s=1 e=1 z=0 None .text SetMin__8cM3dGAabFRC4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGAab::SetMin(cXyz const& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_aab/SetMin__8cM3dGAabFRC4cXyz.s"
}
#pragma pop
/* 8026EDE4-8026EE24 0040+00 s=1 e=1 z=0 None .text SetMax__8cM3dGAabFRC4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGAab::SetMax(cXyz const& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_aab/SetMax__8cM3dGAabFRC4cXyz.s"
}
#pragma pop
/* ############################################################################################## */
/* 804551D8-804551E0 0004+04 s=1 e=0 z=0 None .sdata2 @493 */
SECTION_SDATA2 static f32 lit_493[1 + 1 /* padding */] = {
0.5f,
/* padding */
0.0f,
};
/* 8026EE24-8026EE68 0044+00 s=0 e=1 z=0 None .text CalcCenter__8cM3dGAabCFP4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGAab::CalcCenter(cXyz* param_0) const {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_aab/CalcCenter__8cM3dGAabCFP4cXyz.s"
}
#pragma pop
/* 8026EE68-8026EEB4 004C+00 s=0 e=1 z=0 None .text PlusR__8cM3dGAabFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGAab::PlusR(f32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_aab/PlusR__8cM3dGAabFf.s"
}
#pragma pop
+98 -14
View File
@@ -1,20 +1,104 @@
/* c_m3d_g_cir.cpp autogenerated by split.py v0.3 at 2021-01-01 14:33:18.200872 */
//
// Generated By: dol2asm
// Translation Unit: c_m3d_g_cir
//
#include "SComponent/c_m3d_g_cir.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_m3d_g_cir.h"
// __ct__8cM3dGCirFv
cM3dGCir::cM3dGCir(void) {}
//
// Types:
//
// inlined here
// __dt__8cM2dGCirFv
struct cM3dGCir {
/* 8026EEB4 */ cM3dGCir();
/* 8026EF18 */ ~cM3dGCir();
/* 8026EF74 */ void Set(f32, f32, f32, f32);
};
// __dt__8cM3dGCirFv
cM3dGCir::~cM3dGCir(void) {}
struct cM2dGCir {
/* 8026EED0 */ ~cM2dGCir();
};
// Set__8cM3dGCirFffff
void cM3dGCir::Set(f32 pPosX, f32 pPosY, f32 pPosZ, f32 pRadius) {
mPosX = pPosX;
mPosY = pPosY;
mRadius = pRadius;
mPosZ = pPosZ;
//
// Forward References:
//
extern "C" void __ct__8cM3dGCirFv();
extern "C" void __dt__8cM2dGCirFv();
extern "C" void __dt__8cM3dGCirFv();
extern "C" void Set__8cM3dGCirFffff();
//
// External References:
//
void operator delete(void*);
extern "C" void __dl__FPv();
//
// Declarations:
//
/* ############################################################################################## */
/* 803C3FE0-803C3FEC 000C+00 s=2 e=0 z=0 None .data __vt__8cM3dGCir */
SECTION_DATA static void* __vt__8cM3dGCir[3] = {
(void*)NULL,
(void*)NULL,
(void*)__dt__8cM3dGCirFv,
};
/* 803C3FEC-803C3FF8 000C+00 s=3 e=0 z=0 None .data __vt__8cM2dGCir */
SECTION_DATA static void* __vt__8cM2dGCir[3] = {
(void*)NULL,
(void*)NULL,
(void*)__dt__8cM2dGCirFv,
};
/* 8026EEB4-8026EED0 001C+00 s=0 e=1 z=0 None .text __ct__8cM3dGCirFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGCir::cM3dGCir() {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cir/__ct__8cM3dGCirFv.s"
}
#pragma pop
/* 8026EED0-8026EF18 0048+00 s=1 e=0 z=0 None .text __dt__8cM2dGCirFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM2dGCir::~cM2dGCir() {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cir/__dt__8cM2dGCirFv.s"
}
#pragma pop
/* 8026EF18-8026EF74 005C+00 s=1 e=4 z=386 None .text __dt__8cM3dGCirFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGCir::~cM3dGCir() {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cir/__dt__8cM3dGCirFv.s"
}
#pragma pop
/* 8026EF74-8026EF88 0014+00 s=0 e=1 z=0 None .text Set__8cM3dGCirFffff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGCir::Set(f32 param_0, f32 param_1, f32 param_2, f32 param_3) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cir/Set__8cM3dGCirFffff.s"
}
#pragma pop
+125 -18
View File
@@ -1,26 +1,133 @@
/* c_m3d_g_cps.cpp autogenerated by split.py v0.3 at 2021-01-01 14:41:13.421387 */
//
// Generated By: dol2asm
// Translation Unit: c_m3d_g_cps
//
#include "SComponent/c_m3d_g_cps.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_m3d_g_cps.h"
// __ct__8cM3dGCpsFv
cM3dGCps::cM3dGCps(void) {}
//
// Types:
//
// __dt__8cM3dGCpsFv
cM3dGCps::~cM3dGCps(void) {}
struct cXyz {
};
// Set__8cM3dGCpsFRC4cXyzRC4cXyzf
void cM3dGCps::Set(const cXyz& pStart, const cXyz& pEnd, f32 pUnkF) {
this->SetStartEnd(pStart, pEnd);
unk_0x1c = pUnkF;
struct Vec {
};
struct cM3dGLin {
/* 8026F2E8 */ void SetStartEnd(cXyz const&, cXyz const&);
/* 8026F31C */ void SetStartEnd(Vec const&, Vec const&);
};
struct cM3dGCpsS {
};
struct cM3dGCps {
/* 8026EF88 */ cM3dGCps();
/* 8026EFA4 */ ~cM3dGCps();
/* 8026F000 */ void Set(cXyz const&, cXyz const&, f32);
/* 8026F03C */ void Set(cM3dGCpsS const&);
/* 8026F080 */ void SetCps(cM3dGCps const&);
};
//
// Forward References:
//
extern "C" void __ct__8cM3dGCpsFv();
extern "C" void __dt__8cM3dGCpsFv();
extern "C" void Set__8cM3dGCpsFRC4cXyzRC4cXyzf();
extern "C" void Set__8cM3dGCpsFRC9cM3dGCpsS();
extern "C" void SetCps__8cM3dGCpsFRC8cM3dGCps();
//
// External References:
//
void operator delete(void*);
extern "C" extern void* __vt__8cM3dGLin[3];
extern "C" void SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz();
extern "C" void SetStartEnd__8cM3dGLinFRC3VecRC3Vec();
extern "C" void __dl__FPv();
extern "C" extern void* __vt__8cM3dGLin[3];
//
// Declarations:
//
/* ############################################################################################## */
/* 803C3FF8-803C4020 000C+1C s=2 e=0 z=0 None .data __vt__8cM3dGCps */
SECTION_DATA static void* __vt__8cM3dGCps[3 + 7 /* padding */] = {
(void*)NULL,
(void*)NULL,
(void*)__dt__8cM3dGCpsFv,
/* padding */
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
};
/* 8026EF88-8026EFA4 001C+00 s=0 e=5 z=20 None .text __ct__8cM3dGCpsFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGCps::cM3dGCps() {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cps/__ct__8cM3dGCpsFv.s"
}
#pragma pop
// Set__8cM3dGCpsFRC9cM3dGCpsS
void cM3dGCps::Set(const cM3dGCpsS& other) {
this->SetStartEnd(other.mStart, other.mEnd);
unk_0x1c = other.unk_0x1c;
}
// SetCps__8cM3dGCpsFRC8cM3dGCps
void cM3dGCps::SetCps(const cM3dGCps& other) {
this->Set(other.GetStartP(), other.GetEndP(), other.unk_0x1c);
/* 8026EFA4-8026F000 005C+00 s=1 e=7 z=6 None .text __dt__8cM3dGCpsFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGCps::~cM3dGCps() {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cps/__dt__8cM3dGCpsFv.s"
}
#pragma pop
/* 8026F000-8026F03C 003C+00 s=1 e=2 z=10 None .text Set__8cM3dGCpsFRC4cXyzRC4cXyzf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGCps::Set(cXyz const& param_0, cXyz const& param_1, f32 param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cps/Set__8cM3dGCpsFRC4cXyzRC4cXyzf.s"
}
#pragma pop
/* 8026F03C-8026F080 0044+00 s=0 e=1 z=10 None .text Set__8cM3dGCpsFRC9cM3dGCpsS */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGCps::Set(cM3dGCpsS const& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cps/Set__8cM3dGCpsFRC9cM3dGCpsS.s"
}
#pragma pop
/* 8026F080-8026F0A8 0028+00 s=0 e=1 z=0 None .text SetCps__8cM3dGCpsFRC8cM3dGCps */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGCps::SetCps(cM3dGCps const& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cps/SetCps__8cM3dGCpsFRC8cM3dGCps.s"
}
#pragma pop
+152 -46
View File
@@ -1,61 +1,167 @@
/* c_m3d_g_cyl.cpp autogenerated by split.py v0.3 at 2021-01-01 14:45:46.600671 */
//
// Generated By: dol2asm
// Translation Unit: c_m3d_g_cyl
//
#include "SComponent/c_m3d_g_cyl.h"
#include "SComponent/c_m3d.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_m3d_g_cyl.h"
// __ct__8cM3dGCylFPC4cXyzff
cM3dGCyl::cM3dGCyl(const cXyz* pCenter, f32 pRadius, f32 pHeight) {
this->SetC(*pCenter);
this->SetR(pRadius);
this->SetH(pHeight);
//
// Types:
//
struct cXyz {
};
struct cM3dGSph {
};
struct cM3dGCylS {
};
struct cM3dGCyl {
/* 8026F0A8 */ cM3dGCyl(cXyz const*, f32, f32);
/* 8026F180 */ void Set(cXyz const&, f32, f32);
/* 8026F114 */ void Set(cM3dGCylS const&);
/* 8026F1DC */ void SetC(cXyz const&);
/* 8026F1F8 */ void SetH(f32);
/* 8026F200 */ void SetR(f32);
/* 8026F208 */ void cross(cM3dGSph const*, cXyz*) const;
/* 8026F22C */ void cross(cM3dGCyl const*, cXyz*) const;
/* 8026F24C */ void calcMinMax(cXyz*, cXyz*);
};
struct Vec {
};
//
// Forward References:
//
extern "C" void __ct__8cM3dGCylFPC4cXyzff();
extern "C" void Set__8cM3dGCylFRC9cM3dGCylS();
extern "C" void Set__8cM3dGCylFRC4cXyzff();
extern "C" void SetC__8cM3dGCylFRC4cXyz();
extern "C" void SetH__8cM3dGCylFf();
extern "C" void SetR__8cM3dGCylFf();
extern "C" void cross__8cM3dGCylCFPC8cM3dGSphP4cXyz();
extern "C" void cross__8cM3dGCylCFPC8cM3dGCylP4cXyz();
extern "C" void calcMinMax__8cM3dGCylFP4cXyzP4cXyz();
//
// External References:
//
void cM3d_Cross_CylSph(cM3dGCyl const*, cM3dGSph const*, Vec*, f32*);
void cM3d_Cross_CylCyl(cM3dGCyl const*, cM3dGCyl const*, Vec*);
extern "C" extern void* __vt__8cM3dGCyl[3];
extern "C" void cM3d_Cross_CylSph__FPC8cM3dGCylPC8cM3dGSphP3VecPf();
extern "C" void cM3d_Cross_CylCyl__FPC8cM3dGCylPC8cM3dGCylP3Vec();
extern "C" extern void* __vt__8cM3dGCyl[3];
//
// Declarations:
//
/* 8026F0A8-8026F114 006C+00 s=0 e=1 z=0 None .text __ct__8cM3dGCylFPC4cXyzff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGCyl::cM3dGCyl(cXyz const* param_0, f32 param_1, f32 param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cyl/__ct__8cM3dGCylFPC4cXyzff.s"
}
#pragma pop
// Set__8cM3dGCylFRC9cM3dGCylS
void cM3dGCyl::Set(const cM3dGCylS& other) {
this->SetC(cXyz(other.mCenter));
this->SetR(other.mRadius);
this->SetH(other.mHeight);
}
// Set__8cM3dGCylFRC4cXyzff
void cM3dGCyl::Set(const cXyz& pCenter, f32 pRadius, f32 pHeight) {
this->SetC(pCenter);
this->SetR(pRadius);
this->SetH(pHeight);
/* 8026F114-8026F180 006C+00 s=0 e=1 z=4 None .text Set__8cM3dGCylFRC9cM3dGCylS */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGCyl::Set(cM3dGCylS const& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cyl/Set__8cM3dGCylFRC9cM3dGCylS.s"
}
#pragma pop
// SetC__8cM3dGCylFRC4cXyz
void cM3dGCyl::SetC(const cXyz& pCenter) {
mCenter = pCenter;
}
// SetH__8cM3dGCylFf
void cM3dGCyl::SetH(f32 pHeight) {
mHeight = pHeight;
/* 8026F180-8026F1DC 005C+00 s=0 e=2 z=1 None .text Set__8cM3dGCylFRC4cXyzff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGCyl::Set(cXyz const& param_0, f32 param_1, f32 param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cyl/Set__8cM3dGCylFRC4cXyzff.s"
}
#pragma pop
// SetR__8cM3dGCylFf
void cM3dGCyl::SetR(f32 pRadius) {
mRadius = pRadius;
}
// cross__8cM3dGCylCFPC8cM3dGSphP4cXyz
bool cM3dGCyl::cross(const cM3dGSph* pOther, cXyz* pOut) const {
f32 f;
return cM3d_Cross_CylSph(this, pOther, pOut, &f);
/* 8026F1DC-8026F1F8 001C+00 s=3 e=13 z=257 None .text SetC__8cM3dGCylFRC4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGCyl::SetC(cXyz const& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cyl/SetC__8cM3dGCylFRC4cXyz.s"
}
#pragma pop
// cross__8cM3dGCylCFPC8cM3dGCylP4cXyz
bool cM3dGCyl::cross(const cM3dGCyl* pOther, cXyz* pOut) const {
return cM3d_Cross_CylCyl(this, pOther, pOut);
}
// calcMinMax__8cM3dGCylFP4cXyzP4cXyz
void cM3dGCyl::calcMinMax(cXyz* pMin, cXyz* pMax) {
pMin->x = mCenter.x - mRadius;
pMin->y = mCenter.y;
pMin->z = mCenter.z - mRadius;
pMax->x = mCenter.x + mRadius;
pMax->y = mCenter.y + mHeight;
pMax->z = mCenter.z + mRadius;
/* 8026F1F8-8026F200 0008+00 s=3 e=11 z=197 None .text SetH__8cM3dGCylFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGCyl::SetH(f32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cyl/SetH__8cM3dGCylFf.s"
}
#pragma pop
/* 8026F200-8026F208 0008+00 s=3 e=6 z=204 None .text SetR__8cM3dGCylFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGCyl::SetR(f32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cyl/SetR__8cM3dGCylFf.s"
}
#pragma pop
/* 8026F208-8026F22C 0024+00 s=0 e=1 z=0 None .text cross__8cM3dGCylCFPC8cM3dGSphP4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGCyl::cross(cM3dGSph const* param_0, cXyz* param_1) const {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cyl/cross__8cM3dGCylCFPC8cM3dGSphP4cXyz.s"
}
#pragma pop
/* 8026F22C-8026F24C 0020+00 s=0 e=1 z=0 None .text cross__8cM3dGCylCFPC8cM3dGCylP4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGCyl::cross(cM3dGCyl const* param_0, cXyz* param_1) const {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cyl/cross__8cM3dGCylCFPC8cM3dGCylP4cXyz.s"
}
#pragma pop
/* 8026F24C-8026F2A8 005C+00 s=0 e=2 z=0 None .text calcMinMax__8cM3dGCylFP4cXyzP4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGCyl::calcMinMax(cXyz* param_0, cXyz* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_cyl/calcMinMax__8cM3dGCylFP4cXyzP4cXyz.s"
}
#pragma pop
+99 -23
View File
@@ -1,32 +1,108 @@
/* c_m3d_g_lin.cpp autogenerated by split.py v0.3 at 2021-01-01 14:48:45.519641 */
//
// Generated By: dol2asm
// Translation Unit: c_m3d_g_lin
//
#include "SComponent/c_m3d_g_lin.h"
#include "mtx_vec.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_m3d_g_lin.h"
// __ct__8cM3dGLinFRC4cXyzRC4cXyz
cM3dGLin::cM3dGLin(const cXyz& pStart, const cXyz& pEnd) : mStart(pStart), mEnd(pEnd) {}
//
// Types:
//
// SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz
void cM3dGLin::SetStartEnd(const cXyz& pStart, const cXyz& pEnd) {
mStart = pStart;
mEnd = pEnd;
struct cXyz {
};
struct Vec {
};
struct cM3dGLin {
/* 8026F2A8 */ cM3dGLin(cXyz const&, cXyz const&);
/* 8026F2E8 */ void SetStartEnd(cXyz const&, cXyz const&);
/* 8026F31C */ void SetStartEnd(Vec const&, Vec const&);
/* 8026F350 */ void CalcPos(Vec*, f32) const;
/* 8026F3C0 */ void SetEnd(cXyz const&);
};
//
// Forward References:
//
extern "C" void __ct__8cM3dGLinFRC4cXyzRC4cXyz();
extern "C" void SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz();
extern "C" void SetStartEnd__8cM3dGLinFRC3VecRC3Vec();
extern "C" void CalcPos__8cM3dGLinCFP3Vecf();
extern "C" void SetEnd__8cM3dGLinFRC4cXyz();
//
// External References:
//
extern "C" extern void* __vt__8cM3dGLin[3];
extern "C" void PSVECAdd();
extern "C" void PSVECSubtract();
extern "C" void PSVECScale();
extern "C" extern void* __vt__8cM3dGLin[3];
//
// Declarations:
//
/* 8026F2A8-8026F2E8 0040+00 s=0 e=8 z=1 None .text __ct__8cM3dGLinFRC4cXyzRC4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGLin::cM3dGLin(cXyz const& param_0, cXyz const& param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_lin/__ct__8cM3dGLinFRC4cXyzRC4cXyz.s"
}
#pragma pop
// SetStartEnd__8cM3dGLinFRC3VecRC3Vec
void cM3dGLin::SetStartEnd(const Vec& pStart, const Vec& pEnd) {
mStart = pStart;
mEnd = pEnd;
/* 8026F2E8-8026F31C 0034+00 s=0 e=8 z=10 None .text SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGLin::SetStartEnd(cXyz const& param_0, cXyz const& param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_lin/SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz.s"
}
#pragma pop
// CalcPos__8cM3dGLinCFP3Vecf
void cM3dGLin::CalcPos(Vec* pOut, f32 pScale) const {
Vec tmp;
PSVECSubtract(&mEnd, &mStart, &tmp);
PSVECScale(&tmp, &tmp, pScale);
PSVECAdd(&tmp, &mStart, pOut);
/* 8026F31C-8026F350 0034+00 s=0 e=7 z=4 None .text SetStartEnd__8cM3dGLinFRC3VecRC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGLin::SetStartEnd(Vec const& param_0, Vec const& param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_lin/SetStartEnd__8cM3dGLinFRC3VecRC3Vec.s"
}
#pragma pop
/* 8026F350-8026F3C0 0070+00 s=0 e=3 z=0 None .text CalcPos__8cM3dGLinCFP3Vecf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGLin::CalcPos(Vec* param_0, f32 param_1) const {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_lin/CalcPos__8cM3dGLinCFP3Vecf.s"
}
#pragma pop
/* 8026F3C0-8026F3DC 001C+00 s=0 e=1 z=0 None .text SetEnd__8cM3dGLinFRC4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGLin::SetEnd(cXyz const& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_lin/SetEnd__8cM3dGLinFRC4cXyz.s"
}
#pragma pop
// SetEnd__8cM3dGLinFRC4cXyz
void cM3dGLin::SetEnd(const cXyz& pEnd) {
mEnd = pEnd;
}
+126 -49
View File
@@ -1,62 +1,139 @@
/* c_m3d_g_pla.cpp autogenerated by split.py v0.3 at 2021-01-01 14:50:54.810233 */
//
// Generated By: dol2asm
// Translation Unit: c_m3d_g_pla
//
#include "SComponent/c_m3d_g_pla.h"
#include "SComponent/c_m3d.h"
#include "msl_c/math.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_m3d_g_pla.h"
extern f32 lbl_80450AEC[4]; // array to force 2 step load, MSL_C.PPCEABI.bare.H::__f32_epsilon
extern f32 lbl_80451180;
//
// Types:
//
// __ct__8cM3dGPlaFPC4cXyzf
cM3dGPla::cM3dGPla(const cXyz* pNormal, f32 pD) : mNormal(*pNormal), mD(pD) {}
struct cXyz {
};
// crossInfLin__8cM3dGPlaCFRC4cXyzRC4cXyzR4cXyz
bool cM3dGPla::crossInfLin(const cXyz& pStart, const cXyz& pEnd, cXyz& out) const {
f32 tmp1 = (mD + PSVECDotProduct(&mNormal, &pStart));
f32 tmp2 = tmp1 - (mD + PSVECDotProduct(&mNormal, &pEnd));
if (fabsf(tmp2) < lbl_80451180) {
out = pEnd;
return false;
} else {
cM3d_InDivPos2(&pStart, &pEnd, (tmp1 / tmp2), &out);
return true;
}
struct Vec {
};
struct cM3dGPla {
/* 8026F3DC */ cM3dGPla(cXyz const*, f32);
/* 8026F408 */ void crossInfLin(cXyz const&, cXyz const&, cXyz&) const;
/* 8026F4C4 */ void SetupNP0(Vec const&, Vec const&);
/* 8026F52C */ void SetupNP(Vec const&, Vec const&);
/* 8026F57C */ void getCrossY(cXyz const&, f32*) const;
/* 8026F5D4 */ void getCrossYLessD(Vec const&, f32*) const;
/* 8026F624 */ void Set(cM3dGPla const*);
};
//
// Forward References:
//
extern "C" void __ct__8cM3dGPlaFPC4cXyzf();
extern "C" void crossInfLin__8cM3dGPlaCFRC4cXyzRC4cXyzR4cXyz();
extern "C" void SetupNP0__8cM3dGPlaFRC3VecRC3Vec();
extern "C" void SetupNP__8cM3dGPlaFRC3VecRC3Vec();
extern "C" void getCrossY__8cM3dGPlaCFRC4cXyzPf();
extern "C" void getCrossYLessD__8cM3dGPlaCFRC3VecPf();
extern "C" void Set__8cM3dGPlaFPC8cM3dGPla();
//
// External References:
//
void cM3d_InDivPos2(Vec const*, Vec const*, f32, Vec*);
extern "C" extern void* __vt__8cM3dGPla[3];
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
extern "C" void cM3d_InDivPos2__FPC3VecPC3VecfP3Vec();
extern "C" void PSVECNormalize();
extern "C" void PSVECDotProduct();
extern "C" void _savegpr_28();
extern "C" void _restgpr_28();
extern "C" extern void* __vt__8cM3dGPla[3];
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
//
// Declarations:
//
/* 8026F3DC-8026F408 002C+00 s=0 e=3 z=0 None .text __ct__8cM3dGPlaFPC4cXyzf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGPla::cM3dGPla(cXyz const* param_0, f32 param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_pla/__ct__8cM3dGPlaFPC4cXyzf.s"
}
#pragma pop
// SetupNP0__8cM3dGPlaFRC3VecRC3Vec
void cM3dGPla::SetupNP0(const Vec& pNormal, const Vec& pPoint) {
mNormal = pNormal;
PSVECNormalize(&mNormal, &mNormal);
mD = -PSVECDotProduct(&mNormal, &pPoint);
}
// SetupNP__8cM3dGPlaFRC3VecRC3Vec
void cM3dGPla::SetupNP(const Vec& pNormal, const Vec& pPoint) {
mNormal = pNormal;
mD = -PSVECDotProduct(&mNormal, &pPoint);
/* 8026F408-8026F4C4 00BC+00 s=0 e=3 z=0 None .text crossInfLin__8cM3dGPlaCFRC4cXyzRC4cXyzR4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGPla::crossInfLin(cXyz const& param_0, cXyz const& param_1, cXyz& param_2) const {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_pla/crossInfLin__8cM3dGPlaCFRC4cXyzRC4cXyzR4cXyz.s"
}
#pragma pop
// getCrossY__8cM3dGPlaCFRC4cXyzPf
bool cM3dGPla::getCrossY(const cXyz& pPoint, f32* pOut) const {
if (fabsf(mNormal.y) < lbl_80451180) {
return false;
} else {
*pOut = (-mNormal.x * pPoint.x - mNormal.z * pPoint.z - mD) / mNormal.y;
return true;
}
}
// getCrossYLessD__8cM3dGPlaCFRC3VecPf
bool cM3dGPla::getCrossYLessD(const Vec& pPoint, f32* pOut) const {
if (fabsf(mNormal.y) < lbl_80451180) {
return false;
} else {
*pOut = (-mNormal.x * pPoint.x - mNormal.z * pPoint.z) / mNormal.y;
return true;
}
/* 8026F4C4-8026F52C 0068+00 s=0 e=1 z=0 None .text SetupNP0__8cM3dGPlaFRC3VecRC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGPla::SetupNP0(Vec const& param_0, Vec const& param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_pla/SetupNP0__8cM3dGPlaFRC3VecRC3Vec.s"
}
#pragma pop
// Set__8cM3dGPlaFPC8cM3dGPla
void cM3dGPla::Set(const cM3dGPla* pOther) {
*this = *pOther;
/* 8026F52C-8026F57C 0050+00 s=0 e=2 z=0 None .text SetupNP__8cM3dGPlaFRC3VecRC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGPla::SetupNP(Vec const& param_0, Vec const& param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_pla/SetupNP__8cM3dGPlaFRC3VecRC3Vec.s"
}
#pragma pop
/* 8026F57C-8026F5D4 0058+00 s=0 e=2 z=0 None .text getCrossY__8cM3dGPlaCFRC4cXyzPf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGPla::getCrossY(cXyz const& param_0, f32* param_1) const {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_pla/getCrossY__8cM3dGPlaCFRC4cXyzPf.s"
}
#pragma pop
/* 8026F5D4-8026F624 0050+00 s=0 e=1 z=0 None .text getCrossYLessD__8cM3dGPlaCFRC3VecPf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGPla::getCrossYLessD(Vec const& param_0, f32* param_1) const {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_pla/getCrossYLessD__8cM3dGPlaCFRC3VecPf.s"
}
#pragma pop
/* 8026F624-8026F648 0024+00 s=0 e=1 z=0 None .text Set__8cM3dGPlaFPC8cM3dGPla */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGPla::Set(cM3dGPla const* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_pla/Set__8cM3dGPlaFPC8cM3dGPla.s"
}
#pragma pop
+127 -35
View File
@@ -1,47 +1,139 @@
/* c_m3d_g_sph.cpp autogenerated by split.py v0.3 at 2021-01-01 14:53:31.074880 */
//
// Generated By: dol2asm
// Translation Unit: c_m3d_g_sph
//
#include "SComponent/c_m3d_g_sph.h"
#include "SComponent/c_m3d.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_m3d_g_sph.h"
// SetC__8cM3dGSphFRC4cXyz
void cM3dGSph::SetC(const cXyz& pCenter) {
mCenter = pCenter;
//
// Types:
//
struct cXyz {
};
struct cM3dGSphS {
};
struct cM3dGCyl {
};
struct cM3dGSph {
/* 8026F648 */ void SetC(cXyz const&);
/* 8026F664 */ void Set(cXyz const&, f32);
/* 8026F6A8 */ void Set(cM3dGSphS const&);
/* 8026F708 */ void SetR(f32);
/* 8026F710 */ void cross(cM3dGSph const*, cXyz*) const;
/* 8026F73C */ void cross(cM3dGCyl const*, cXyz*) const;
/* 8026F76C */ void GetMinMaxCube(cXyz&, cXyz&) const;
};
struct Vec {
};
//
// Forward References:
//
extern "C" void SetC__8cM3dGSphFRC4cXyz();
extern "C" void Set__8cM3dGSphFRC4cXyzf();
extern "C" void Set__8cM3dGSphFRC9cM3dGSphS();
extern "C" void SetR__8cM3dGSphFf();
extern "C" void cross__8cM3dGSphCFPC8cM3dGSphP4cXyz();
extern "C" void cross__8cM3dGSphCFPC8cM3dGCylP4cXyz();
extern "C" void GetMinMaxCube__8cM3dGSphCFR4cXyzR4cXyz();
//
// External References:
//
void cM3d_Cross_CylSph(cM3dGCyl const*, cM3dGSph const*, Vec*, f32*);
void cM3d_Cross_SphSph(cM3dGSph const*, cM3dGSph const*, Vec*);
extern "C" void cM3d_Cross_CylSph__FPC8cM3dGCylPC8cM3dGSphP3VecPf();
extern "C" void cM3d_Cross_SphSph__FPC8cM3dGSphPC8cM3dGSphP3Vec();
//
// Declarations:
//
/* 8026F648-8026F664 001C+00 s=2 e=5 z=254 None .text SetC__8cM3dGSphFRC4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGSph::SetC(cXyz const& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_sph/SetC__8cM3dGSphFRC4cXyz.s"
}
#pragma pop
// Set__8cM3dGSphFRC4cXyzf
void cM3dGSph::Set(const cXyz& pCenter, f32 pRadius) {
this->SetC(pCenter);
this->SetR(pRadius);
}
// Set__8cM3dGSphFRC9cM3dGSphS
void cM3dGSph::Set(const cM3dGSphS& pOther) {
this->SetC(cXyz(pOther.mCenter));
this->SetR(pOther.mRadius);
/* 8026F664-8026F6A8 0044+00 s=0 e=3 z=2 None .text Set__8cM3dGSphFRC4cXyzf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGSph::Set(cXyz const& param_0, f32 param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_sph/Set__8cM3dGSphFRC4cXyzf.s"
}
#pragma pop
// SetR__8cM3dGSphFf
void cM3dGSph::SetR(f32 pRadius) {
mRadius = pRadius;
}
// cross__8cM3dGSphCFPC8cM3dGSphP4cXyz
bool cM3dGSph::cross(const cM3dGSph* pOther, cXyz* pOut) const {
return cM3d_Cross_SphSph(pOther, this, pOut);
/* 8026F6A8-8026F708 0060+00 s=0 e=2 z=0 None .text Set__8cM3dGSphFRC9cM3dGSphS */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGSph::Set(cM3dGSphS const& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_sph/Set__8cM3dGSphFRC9cM3dGSphS.s"
}
#pragma pop
// cross__8cM3dGSphCFPC8cM3dGCylP4cXyz
bool cM3dGSph::cross(const cM3dGCyl* pCylinder, cXyz* pOut) const {
f32 f;
return cM3d_Cross_CylSph(pCylinder, this, pOut, &f);
}
// GetMinMaxCube__8cM3dGSphCFR4cXyzR4cXyz
void cM3dGSph::GetMinMaxCube(cXyz& pMin, cXyz& pMax) const {
pMin.x = mCenter.x - mRadius;
pMin.y = mCenter.y - mRadius;
pMin.z = mCenter.z - mRadius;
pMax.x = mCenter.x + mRadius;
pMax.y = mCenter.y + mRadius;
pMax.z = mCenter.z + mRadius;
/* 8026F708-8026F710 0008+00 s=2 e=10 z=197 None .text SetR__8cM3dGSphFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGSph::SetR(f32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_sph/SetR__8cM3dGSphFf.s"
}
#pragma pop
/* 8026F710-8026F73C 002C+00 s=0 e=1 z=0 None .text cross__8cM3dGSphCFPC8cM3dGSphP4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGSph::cross(cM3dGSph const* param_0, cXyz* param_1) const {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_sph/cross__8cM3dGSphCFPC8cM3dGSphP4cXyz.s"
}
#pragma pop
/* 8026F73C-8026F76C 0030+00 s=0 e=1 z=0 None .text cross__8cM3dGSphCFPC8cM3dGCylP4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGSph::cross(cM3dGCyl const* param_0, cXyz* param_1) const {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_sph/cross__8cM3dGSphCFPC8cM3dGCylP4cXyz.s"
}
#pragma pop
/* 8026F76C-8026F7B0 0044+00 s=0 e=1 z=0 None .text GetMinMaxCube__8cM3dGSphCFR4cXyzR4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGSph::GetMinMaxCube(cXyz& param_0, cXyz& param_1) const {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_sph/GetMinMaxCube__8cM3dGSphCFR4cXyzR4cXyz.s"
}
#pragma pop
+93 -25
View File
@@ -1,33 +1,101 @@
/* c_m3d_g_tri.cpp autogenerated by split.py v0.3 at 2021-01-01 14:55:53.593962 */
//
// Generated By: dol2asm
// Translation Unit: c_m3d_g_tri
//
#include "SComponent/c_m3d_g_tri.h"
#include "SComponent/c_m3d.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_m3d_g_tri.h"
// cross__8cM3dGTriCFPC8cM3dGCylP3Vec
bool cM3dGTri::cross(const cM3dGCyl* pCylinder, Vec* out) const {
return cM3d_Cross_CylTri(pCylinder, this, out);
//
// Types:
//
struct Vec {
};
struct cM3dGPla {
/* 8026F52C */ void SetupNP(Vec const&, Vec const&);
/* 8026F624 */ void Set(cM3dGPla const*);
};
struct cM3dGCyl {
};
struct cM3dGTri {
/* 8026F7B0 */ void cross(cM3dGCyl const*, Vec*) const;
/* 8026F7DC */ void setPos(Vec const*, Vec const*, Vec const*);
/* 8026F85C */ void setBg(Vec const*, Vec const*, Vec const*, cM3dGPla const*);
/* 8026F8C8 */ void set(Vec const*, Vec const*, Vec const*, Vec const*);
};
//
// Forward References:
//
extern "C" void cross__8cM3dGTriCFPC8cM3dGCylP3Vec();
extern "C" void setPos__8cM3dGTriFPC3VecPC3VecPC3Vec();
extern "C" void setBg__8cM3dGTriFPC3VecPC3VecPC3VecPC8cM3dGPla();
extern "C" void set__8cM3dGTriFPC3VecPC3VecPC3VecPC3Vec();
//
// External References:
//
void cM3d_CalcPla(Vec const*, Vec const*, Vec const*, Vec*, f32*);
void cM3d_Cross_CylTri(cM3dGCyl const*, cM3dGTri const*, Vec*);
extern "C" void cM3d_CalcPla__FPC3VecPC3VecPC3VecP3VecPf();
extern "C" void cM3d_Cross_CylTri__FPC8cM3dGCylPC8cM3dGTriP3Vec();
extern "C" void SetupNP__8cM3dGPlaFRC3VecRC3Vec();
extern "C" void Set__8cM3dGPlaFPC8cM3dGPla();
//
// Declarations:
//
/* 8026F7B0-8026F7DC 002C+00 s=0 e=1 z=0 None .text cross__8cM3dGTriCFPC8cM3dGCylP3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGTri::cross(cM3dGCyl const* param_0, Vec* param_1) const {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_tri/cross__8cM3dGTriCFPC8cM3dGCylP3Vec.s"
}
#pragma pop
// setPos__8cM3dGTriFPC3VecPC3VecPC3Vec
void cM3dGTri::setPos(const Vec* pA, const Vec* pB, const Vec* pC) {
mA = *pA;
mB = *pB;
mC = *pC;
cM3d_CalcPla(&mA, &mB, &mC, &mPlane.mNormal, &mPlane.mD);
}
// setBg__8cM3dGTriFPC3VecPC3VecPC3VecPC8cM3dGPla
void cM3dGTri::setBg(const Vec* pA, const Vec* pB, const Vec* pC, const cM3dGPla* pPlane) {
mA = *pA;
mB = *pB;
mC = *pC;
mPlane.Set(pPlane);
/* 8026F7DC-8026F85C 0080+00 s=0 e=0 z=6 None .text setPos__8cM3dGTriFPC3VecPC3VecPC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGTri::setPos(Vec const* param_0, Vec const* param_1, Vec const* param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_tri/setPos__8cM3dGTriFPC3VecPC3VecPC3Vec.s"
}
#pragma pop
// set__8cM3dGTriFPC3VecPC3VecPC3VecPC3Vec
void cM3dGTri::set(const Vec* pA, const Vec* pB, const Vec* pC, const Vec* pNormal) {
mA = *pA;
mB = *pB;
mC = *pC;
mPlane.SetupNP(*pNormal, *pA);
/* 8026F85C-8026F8C8 006C+00 s=0 e=2 z=0 None .text setBg__8cM3dGTriFPC3VecPC3VecPC3VecPC8cM3dGPla */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGTri::setBg(Vec const* param_0, Vec const* param_1, Vec const* param_2, cM3dGPla const* param_3) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_tri/setBg__8cM3dGTriFPC3VecPC3VecPC3VecPC8cM3dGPla.s"
}
#pragma pop
/* 8026F8C8-8026F93C 0074+00 s=0 e=1 z=0 None .text set__8cM3dGTriFPC3VecPC3VecPC3VecPC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM3dGTri::set(Vec const* param_0, Vec const* param_1, Vec const* param_2, Vec const* param_3) {
nofralloc
#include "asm/SSystem/SComponent/c_m3d_g_tri/set__8cM3dGTriFPC3VecPC3VecPC3VecPC3Vec.s"
}
#pragma pop
+82 -18
View File
@@ -1,24 +1,88 @@
/* c_malloc.cpp autogenerated by split.py v0.3 at 2021-01-01 15:18:22.738784 */
//
// Generated By: dol2asm
// Translation Unit: c_malloc
//
#include "SComponent/c_malloc.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_malloc.h"
// init__3cMlFP7JKRHeap
void cMl::init(JKRHeap* heap) {
lbl_80451150 = heap;
//
// Types:
//
struct JKRHeap {
/* 802CE4D4 */ void alloc(u32, int);
/* 802CE548 */ void free(void*);
};
struct cMl {
/* 80263220 */ void init(JKRHeap*);
/* 80263228 */ void memalignB(int, u32);
/* 80263260 */ void free(void*);
};
//
// Forward References:
//
extern "C" extern u8 data_80451158[8];
extern "C" void init__3cMlFP7JKRHeap();
extern "C" void memalignB__3cMlFiUl();
extern "C" void free__3cMlFPv();
extern "C" extern u8 data_80451158[8];
//
// External References:
//
extern "C" void alloc__7JKRHeapFUli();
extern "C" void free__7JKRHeapFPv();
//
// Declarations:
//
/* ############################################################################################## */
/* 80451150-80451158 0004+04 s=3 e=0 z=0 None .sbss Heap__3cMl */
static u8 Heap__3cMl[4 + 4 /* padding */];
/* 80263220-80263228 0008+00 s=0 e=1 z=0 None .text init__3cMlFP7JKRHeap */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cMl::init(JKRHeap* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_malloc/init__3cMlFP7JKRHeap.s"
}
#pragma pop
// 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);
}
/* 80263228-80263260 0038+00 s=0 e=8 z=0 None .text memalignB__3cMlFiUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cMl::memalignB(int param_0, u32 param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_malloc/memalignB__3cMlFiUl.s"
}
#pragma pop
/* 80263260-8026328C 002C+00 s=0 e=4 z=0 None .text free__3cMlFPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cMl::free(void* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_malloc/free__3cMlFPv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80451158-80451160 0008+00 s=0 e=1 z=0 None .sbss None */
u8 data_80451158[8];
+374 -114
View File
@@ -1,133 +1,393 @@
/* c_math.cpp autogenerated by split.py v0.3 at 2020-12-31 13:20:59.345670 */
//
// Generated By: dol2asm
// Translation Unit: c_math
//
#include "SComponent/c_math.h"
#include "msl_c/math.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_math.h"
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 f32 lbl_80451180;
//
// Forward References:
//
extern u16 lbl_803C3778[1028]; // SComponent::atntable
void cM_rad2s(f32);
static void U_GetAtanTable(f32, f32);
void cM_atan2s(f32, f32);
void cM_atan2f(f32, f32);
void cM_initRnd(int, int, int);
void cM_rnd();
void cM_rndF(f32);
void cM_rndFX(f32);
void cM_initRnd2(int, int, int);
static void cM_rnd2();
void cM_rndF2(f32);
void cM_rndFX2(f32);
// cM_rad2s__Ff
s16 cM_rad2s(float f0) {
f32 tmpF = fmod(f0, 6.2831854820251465 /* approx. 2 * PI */);
s32 tmp = (tmpF * 10430.378f /* approx. 32768 / PI */);
if (tmp < -0x8000) {
tmp += 0x10000;
} else if (tmp > 0x7FFF) {
tmp -= 0x10000;
}
return tmp;
extern "C" void cM_rad2s__Ff();
extern "C" static void U_GetAtanTable__Fff();
extern "C" void cM_atan2s__Fff();
extern "C" void cM_atan2f__Fff();
extern "C" void cM_initRnd__Fiii();
extern "C" void cM_rnd__Fv();
extern "C" void cM_rndF__Ff();
extern "C" void cM_rndFX__Ff();
extern "C" void cM_initRnd2__Fiii();
extern "C" static void cM_rnd2__Fv();
extern "C" void cM_rndF2__Ff();
extern "C" void cM_rndFX2__Ff();
//
// External References:
//
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
extern "C" void fmod();
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
//
// Declarations:
//
/* ############################################################################################## */
/* 804550A8-804550B0 0008+00 s=1 e=0 z=0 None .sdata2 @2201 */
SECTION_SDATA2 static u8 lit_2201[8] = {
0x40, 0x19, 0x21, 0xFB, 0x60, 0x00, 0x00, 0x00,
};
/* 804550B0-804550B4 0004+00 s=1 e=0 z=0 None .sdata2 @2215 */
SECTION_SDATA2 static u32 lit_2215 = 0x4622F983;
/* 802675E4-80267640 005C+00 s=0 e=23 z=11 None .text cM_rad2s__Ff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM_rad2s(f32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_math/cM_rad2s__Ff.s"
}
#pragma pop
// U_GetAtanTable__Fff
u16 U_GetAtanTable(float f0, float f1) {
return lbl_803C3778[(int)(f0 / f1 * 1024)];
}
// cM_atan2s__Fff
s16 cM_atan2s(float f0, float f1) {
u32 retVar;
if (fabsf(f0) < lbl_80451180) {
if (f1 >= 0.0f) {
retVar = 0;
} else {
retVar = 0x8000;
}
} else if (fabsf(f1) < lbl_80451180) {
if (f0 >= 0.0f) {
retVar = 0x4000;
} else {
retVar = 0xC000;
}
} else if (f0 >= 0.0f) {
if (f1 >= 0.0f) {
if (f1 >= f0) {
retVar = U_GetAtanTable(f0, f1);
} else {
retVar = 0x4000 - U_GetAtanTable(f1, f0);
}
} else {
if (-f1 < f0) {
retVar = U_GetAtanTable(-f1, f0) + 0x4000;
} else {
retVar = 0x8000 - U_GetAtanTable(f0, -f1);
}
}
} else if (f1 < 0.0f) {
if (f1 <= f0) {
retVar = U_GetAtanTable(-f0, -f1) + 0x8000;
} else {
retVar = 0xC000 - U_GetAtanTable(-f1, -f0);
}
} else {
if (f1 < -f0) {
retVar = U_GetAtanTable(f1, -f0) + 0xC000;
} else {
retVar = -U_GetAtanTable(-f0, f1);
}
}
return retVar;
}
/* ############################################################################################## */
/* 803C3778-803C3F80 0802+06 s=1 e=0 z=0 None .data atntable */
SECTION_DATA static u8 atntable[2050 + 6 /* padding */] = {
0x00, 0x00, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x1F, 0x00, 0x29, 0x00, 0x33, 0x00, 0x3D, 0x00, 0x47,
0x00, 0x51, 0x00, 0x5C, 0x00, 0x66, 0x00, 0x70, 0x00, 0x7A, 0x00, 0x84, 0x00, 0x8F, 0x00, 0x99,
0x00, 0xA3, 0x00, 0xAD, 0x00, 0xB7, 0x00, 0xC2, 0x00, 0xCC, 0x00, 0xD6, 0x00, 0xE0, 0x00, 0xEA,
0x00, 0xF4, 0x00, 0xFF, 0x01, 0x09, 0x01, 0x13, 0x01, 0x1D, 0x01, 0x27, 0x01, 0x31, 0x01, 0x3C,
0x01, 0x46, 0x01, 0x50, 0x01, 0x5A, 0x01, 0x64, 0x01, 0x6F, 0x01, 0x79, 0x01, 0x83, 0x01, 0x8D,
0x01, 0x97, 0x01, 0xA1, 0x01, 0xAC, 0x01, 0xB6, 0x01, 0xC0, 0x01, 0xCA, 0x01, 0xD4, 0x01, 0xDE,
0x01, 0xE9, 0x01, 0xF3, 0x01, 0xFD, 0x02, 0x07, 0x02, 0x11, 0x02, 0x1B, 0x02, 0x26, 0x02, 0x30,
0x02, 0x3A, 0x02, 0x44, 0x02, 0x4E, 0x02, 0x58, 0x02, 0x62, 0x02, 0x6D, 0x02, 0x77, 0x02, 0x81,
0x02, 0x8B, 0x02, 0x95, 0x02, 0x9F, 0x02, 0xA9, 0x02, 0xB4, 0x02, 0xBE, 0x02, 0xC8, 0x02, 0xD2,
0x02, 0xDC, 0x02, 0xE6, 0x02, 0xF0, 0x02, 0xFB, 0x03, 0x05, 0x03, 0x0F, 0x03, 0x19, 0x03, 0x23,
0x03, 0x2D, 0x03, 0x37, 0x03, 0x41, 0x03, 0x4C, 0x03, 0x56, 0x03, 0x60, 0x03, 0x6A, 0x03, 0x74,
0x03, 0x7E, 0x03, 0x88, 0x03, 0x92, 0x03, 0x9C, 0x03, 0xA7, 0x03, 0xB1, 0x03, 0xBB, 0x03, 0xC5,
0x03, 0xCF, 0x03, 0xD9, 0x03, 0xE3, 0x03, 0xED, 0x03, 0xF7, 0x04, 0x01, 0x04, 0x0C, 0x04, 0x16,
0x04, 0x20, 0x04, 0x2A, 0x04, 0x34, 0x04, 0x3E, 0x04, 0x48, 0x04, 0x52, 0x04, 0x5C, 0x04, 0x66,
0x04, 0x70, 0x04, 0x7A, 0x04, 0x84, 0x04, 0x8E, 0x04, 0x99, 0x04, 0xA3, 0x04, 0xAD, 0x04, 0xB7,
0x04, 0xC1, 0x04, 0xCB, 0x04, 0xD5, 0x04, 0xDF, 0x04, 0xE9, 0x04, 0xF3, 0x04, 0xFD, 0x05, 0x07,
0x05, 0x11, 0x05, 0x1B, 0x05, 0x25, 0x05, 0x2F, 0x05, 0x39, 0x05, 0x43, 0x05, 0x4D, 0x05, 0x57,
0x05, 0x61, 0x05, 0x6B, 0x05, 0x75, 0x05, 0x7F, 0x05, 0x89, 0x05, 0x93, 0x05, 0x9D, 0x05, 0xA7,
0x05, 0xB1, 0x05, 0xBB, 0x05, 0xC5, 0x05, 0xCF, 0x05, 0xD9, 0x05, 0xE3, 0x05, 0xED, 0x05, 0xF7,
0x06, 0x01, 0x06, 0x0B, 0x06, 0x15, 0x06, 0x1F, 0x06, 0x29, 0x06, 0x33, 0x06, 0x3D, 0x06, 0x47,
0x06, 0x51, 0x06, 0x5B, 0x06, 0x65, 0x06, 0x6E, 0x06, 0x78, 0x06, 0x82, 0x06, 0x8C, 0x06, 0x96,
0x06, 0xA0, 0x06, 0xAA, 0x06, 0xB4, 0x06, 0xBE, 0x06, 0xC8, 0x06, 0xD2, 0x06, 0xDC, 0x06, 0xE5,
0x06, 0xEF, 0x06, 0xF9, 0x07, 0x03, 0x07, 0x0D, 0x07, 0x17, 0x07, 0x21, 0x07, 0x2B, 0x07, 0x35,
0x07, 0x3E, 0x07, 0x48, 0x07, 0x52, 0x07, 0x5C, 0x07, 0x66, 0x07, 0x70, 0x07, 0x7A, 0x07, 0x83,
0x07, 0x8D, 0x07, 0x97, 0x07, 0xA1, 0x07, 0xAB, 0x07, 0xB5, 0x07, 0xBE, 0x07, 0xC8, 0x07, 0xD2,
0x07, 0xDC, 0x07, 0xE6, 0x07, 0xEF, 0x07, 0xF9, 0x08, 0x03, 0x08, 0x0D, 0x08, 0x17, 0x08, 0x20,
0x08, 0x2A, 0x08, 0x34, 0x08, 0x3E, 0x08, 0x48, 0x08, 0x51, 0x08, 0x5B, 0x08, 0x65, 0x08, 0x6F,
0x08, 0x78, 0x08, 0x82, 0x08, 0x8C, 0x08, 0x96, 0x08, 0x9F, 0x08, 0xA9, 0x08, 0xB3, 0x08, 0xBD,
0x08, 0xC6, 0x08, 0xD0, 0x08, 0xDA, 0x08, 0xE3, 0x08, 0xED, 0x08, 0xF7, 0x09, 0x01, 0x09, 0x0A,
0x09, 0x14, 0x09, 0x1E, 0x09, 0x27, 0x09, 0x31, 0x09, 0x3B, 0x09, 0x44, 0x09, 0x4E, 0x09, 0x58,
0x09, 0x61, 0x09, 0x6B, 0x09, 0x75, 0x09, 0x7E, 0x09, 0x88, 0x09, 0x92, 0x09, 0x9B, 0x09, 0xA5,
0x09, 0xAE, 0x09, 0xB8, 0x09, 0xC2, 0x09, 0xCB, 0x09, 0xD5, 0x09, 0xDE, 0x09, 0xE8, 0x09, 0xF2,
0x09, 0xFB, 0x0A, 0x05, 0x0A, 0x0E, 0x0A, 0x18, 0x0A, 0x22, 0x0A, 0x2B, 0x0A, 0x35, 0x0A, 0x3E,
0x0A, 0x48, 0x0A, 0x51, 0x0A, 0x5B, 0x0A, 0x64, 0x0A, 0x6E, 0x0A, 0x77, 0x0A, 0x81, 0x0A, 0x8B,
0x0A, 0x94, 0x0A, 0x9E, 0x0A, 0xA7, 0x0A, 0xB1, 0x0A, 0xBA, 0x0A, 0xC4, 0x0A, 0xCD, 0x0A, 0xD7,
0x0A, 0xE0, 0x0A, 0xE9, 0x0A, 0xF3, 0x0A, 0xFC, 0x0B, 0x06, 0x0B, 0x0F, 0x0B, 0x19, 0x0B, 0x22,
0x0B, 0x2C, 0x0B, 0x35, 0x0B, 0x3F, 0x0B, 0x48, 0x0B, 0x51, 0x0B, 0x5B, 0x0B, 0x64, 0x0B, 0x6E,
0x0B, 0x77, 0x0B, 0x80, 0x0B, 0x8A, 0x0B, 0x93, 0x0B, 0x9D, 0x0B, 0xA6, 0x0B, 0xAF, 0x0B, 0xB9,
0x0B, 0xC2, 0x0B, 0xCB, 0x0B, 0xD5, 0x0B, 0xDE, 0x0B, 0xE7, 0x0B, 0xF1, 0x0B, 0xFA, 0x0C, 0x03,
0x0C, 0x0D, 0x0C, 0x16, 0x0C, 0x1F, 0x0C, 0x29, 0x0C, 0x32, 0x0C, 0x3B, 0x0C, 0x45, 0x0C, 0x4E,
0x0C, 0x57, 0x0C, 0x60, 0x0C, 0x6A, 0x0C, 0x73, 0x0C, 0x7C, 0x0C, 0x86, 0x0C, 0x8F, 0x0C, 0x98,
0x0C, 0xA1, 0x0C, 0xAB, 0x0C, 0xB4, 0x0C, 0xBD, 0x0C, 0xC6, 0x0C, 0xCF, 0x0C, 0xD9, 0x0C, 0xE2,
0x0C, 0xEB, 0x0C, 0xF4, 0x0C, 0xFD, 0x0D, 0x07, 0x0D, 0x10, 0x0D, 0x19, 0x0D, 0x22, 0x0D, 0x2B,
0x0D, 0x34, 0x0D, 0x3E, 0x0D, 0x47, 0x0D, 0x50, 0x0D, 0x59, 0x0D, 0x62, 0x0D, 0x6B, 0x0D, 0x74,
0x0D, 0x7D, 0x0D, 0x87, 0x0D, 0x90, 0x0D, 0x99, 0x0D, 0xA2, 0x0D, 0xAB, 0x0D, 0xB4, 0x0D, 0xBD,
0x0D, 0xC6, 0x0D, 0xCF, 0x0D, 0xD8, 0x0D, 0xE1, 0x0D, 0xEA, 0x0D, 0xF3, 0x0D, 0xFC, 0x0E, 0x05,
0x0E, 0x0F, 0x0E, 0x18, 0x0E, 0x21, 0x0E, 0x2A, 0x0E, 0x33, 0x0E, 0x3C, 0x0E, 0x45, 0x0E, 0x4E,
0x0E, 0x56, 0x0E, 0x5F, 0x0E, 0x68, 0x0E, 0x71, 0x0E, 0x7A, 0x0E, 0x83, 0x0E, 0x8C, 0x0E, 0x95,
0x0E, 0x9E, 0x0E, 0xA7, 0x0E, 0xB0, 0x0E, 0xB9, 0x0E, 0xC2, 0x0E, 0xCB, 0x0E, 0xD4, 0x0E, 0xDC,
0x0E, 0xE5, 0x0E, 0xEE, 0x0E, 0xF7, 0x0F, 0x00, 0x0F, 0x09, 0x0F, 0x12, 0x0F, 0x1B, 0x0F, 0x23,
0x0F, 0x2C, 0x0F, 0x35, 0x0F, 0x3E, 0x0F, 0x47, 0x0F, 0x50, 0x0F, 0x58, 0x0F, 0x61, 0x0F, 0x6A,
0x0F, 0x73, 0x0F, 0x7C, 0x0F, 0x84, 0x0F, 0x8D, 0x0F, 0x96, 0x0F, 0x9F, 0x0F, 0xA7, 0x0F, 0xB0,
0x0F, 0xB9, 0x0F, 0xC2, 0x0F, 0xCA, 0x0F, 0xD3, 0x0F, 0xDC, 0x0F, 0xE5, 0x0F, 0xED, 0x0F, 0xF6,
0x0F, 0xFF, 0x10, 0x07, 0x10, 0x10, 0x10, 0x19, 0x10, 0x21, 0x10, 0x2A, 0x10, 0x33, 0x10, 0x3B,
0x10, 0x44, 0x10, 0x4D, 0x10, 0x55, 0x10, 0x5E, 0x10, 0x67, 0x10, 0x6F, 0x10, 0x78, 0x10, 0x80,
0x10, 0x89, 0x10, 0x92, 0x10, 0x9A, 0x10, 0xA3, 0x10, 0xAB, 0x10, 0xB4, 0x10, 0xBC, 0x10, 0xC5,
0x10, 0xCE, 0x10, 0xD6, 0x10, 0xDF, 0x10, 0xE7, 0x10, 0xF0, 0x10, 0xF8, 0x11, 0x01, 0x11, 0x09,
0x11, 0x12, 0x11, 0x1A, 0x11, 0x23, 0x11, 0x2B, 0x11, 0x34, 0x11, 0x3C, 0x11, 0x45, 0x11, 0x4D,
0x11, 0x56, 0x11, 0x5E, 0x11, 0x66, 0x11, 0x6F, 0x11, 0x77, 0x11, 0x80, 0x11, 0x88, 0x11, 0x91,
0x11, 0x99, 0x11, 0xA1, 0x11, 0xAA, 0x11, 0xB2, 0x11, 0xBB, 0x11, 0xC3, 0x11, 0xCB, 0x11, 0xD4,
0x11, 0xDC, 0x11, 0xE4, 0x11, 0xED, 0x11, 0xF5, 0x11, 0xFD, 0x12, 0x06, 0x12, 0x0E, 0x12, 0x16,
0x12, 0x1F, 0x12, 0x27, 0x12, 0x2F, 0x12, 0x37, 0x12, 0x40, 0x12, 0x48, 0x12, 0x50, 0x12, 0x59,
0x12, 0x61, 0x12, 0x69, 0x12, 0x71, 0x12, 0x7A, 0x12, 0x82, 0x12, 0x8A, 0x12, 0x92, 0x12, 0x9A,
0x12, 0xA3, 0x12, 0xAB, 0x12, 0xB3, 0x12, 0xBB, 0x12, 0xC3, 0x12, 0xCC, 0x12, 0xD4, 0x12, 0xDC,
0x12, 0xE4, 0x12, 0xEC, 0x12, 0xF4, 0x12, 0xFC, 0x13, 0x05, 0x13, 0x0D, 0x13, 0x15, 0x13, 0x1D,
0x13, 0x25, 0x13, 0x2D, 0x13, 0x35, 0x13, 0x3D, 0x13, 0x45, 0x13, 0x4D, 0x13, 0x55, 0x13, 0x5E,
0x13, 0x66, 0x13, 0x6E, 0x13, 0x76, 0x13, 0x7E, 0x13, 0x86, 0x13, 0x8E, 0x13, 0x96, 0x13, 0x9E,
0x13, 0xA6, 0x13, 0xAE, 0x13, 0xB6, 0x13, 0xBE, 0x13, 0xC6, 0x13, 0xCE, 0x13, 0xD6, 0x13, 0xDE,
0x13, 0xE6, 0x13, 0xED, 0x13, 0xF5, 0x13, 0xFD, 0x14, 0x05, 0x14, 0x0D, 0x14, 0x15, 0x14, 0x1D,
0x14, 0x25, 0x14, 0x2D, 0x14, 0x35, 0x14, 0x3D, 0x14, 0x44, 0x14, 0x4C, 0x14, 0x54, 0x14, 0x5C,
0x14, 0x64, 0x14, 0x6C, 0x14, 0x73, 0x14, 0x7B, 0x14, 0x83, 0x14, 0x8B, 0x14, 0x93, 0x14, 0x9B,
0x14, 0xA2, 0x14, 0xAA, 0x14, 0xB2, 0x14, 0xBA, 0x14, 0xC1, 0x14, 0xC9, 0x14, 0xD1, 0x14, 0xD9,
0x14, 0xE0, 0x14, 0xE8, 0x14, 0xF0, 0x14, 0xF8, 0x14, 0xFF, 0x15, 0x07, 0x15, 0x0F, 0x15, 0x16,
0x15, 0x1E, 0x15, 0x26, 0x15, 0x2D, 0x15, 0x35, 0x15, 0x3D, 0x15, 0x44, 0x15, 0x4C, 0x15, 0x54,
0x15, 0x5B, 0x15, 0x63, 0x15, 0x6B, 0x15, 0x72, 0x15, 0x7A, 0x15, 0x81, 0x15, 0x89, 0x15, 0x91,
0x15, 0x98, 0x15, 0xA0, 0x15, 0xA7, 0x15, 0xAF, 0x15, 0xB7, 0x15, 0xBE, 0x15, 0xC6, 0x15, 0xCD,
0x15, 0xD5, 0x15, 0xDC, 0x15, 0xE4, 0x15, 0xEB, 0x15, 0xF3, 0x15, 0xFA, 0x16, 0x02, 0x16, 0x09,
0x16, 0x11, 0x16, 0x18, 0x16, 0x20, 0x16, 0x27, 0x16, 0x2F, 0x16, 0x36, 0x16, 0x3E, 0x16, 0x45,
0x16, 0x4C, 0x16, 0x54, 0x16, 0x5B, 0x16, 0x63, 0x16, 0x6A, 0x16, 0x71, 0x16, 0x79, 0x16, 0x80,
0x16, 0x88, 0x16, 0x8F, 0x16, 0x96, 0x16, 0x9E, 0x16, 0xA5, 0x16, 0xAC, 0x16, 0xB4, 0x16, 0xBB,
0x16, 0xC2, 0x16, 0xCA, 0x16, 0xD1, 0x16, 0xD8, 0x16, 0xE0, 0x16, 0xE7, 0x16, 0xEE, 0x16, 0xF6,
0x16, 0xFD, 0x17, 0x04, 0x17, 0x0B, 0x17, 0x13, 0x17, 0x1A, 0x17, 0x21, 0x17, 0x28, 0x17, 0x30,
0x17, 0x37, 0x17, 0x3E, 0x17, 0x45, 0x17, 0x4C, 0x17, 0x54, 0x17, 0x5B, 0x17, 0x62, 0x17, 0x69,
0x17, 0x70, 0x17, 0x78, 0x17, 0x7F, 0x17, 0x86, 0x17, 0x8D, 0x17, 0x94, 0x17, 0x9B, 0x17, 0xA2,
0x17, 0xAA, 0x17, 0xB1, 0x17, 0xB8, 0x17, 0xBF, 0x17, 0xC6, 0x17, 0xCD, 0x17, 0xD4, 0x17, 0xDB,
0x17, 0xE2, 0x17, 0xE9, 0x17, 0xF0, 0x17, 0xF7, 0x17, 0xFE, 0x18, 0x06, 0x18, 0x0D, 0x18, 0x14,
0x18, 0x1B, 0x18, 0x22, 0x18, 0x29, 0x18, 0x30, 0x18, 0x37, 0x18, 0x3E, 0x18, 0x45, 0x18, 0x4C,
0x18, 0x53, 0x18, 0x5A, 0x18, 0x60, 0x18, 0x67, 0x18, 0x6E, 0x18, 0x75, 0x18, 0x7C, 0x18, 0x83,
0x18, 0x8A, 0x18, 0x91, 0x18, 0x98, 0x18, 0x9F, 0x18, 0xA6, 0x18, 0xAD, 0x18, 0xB3, 0x18, 0xBA,
0x18, 0xC1, 0x18, 0xC8, 0x18, 0xCF, 0x18, 0xD6, 0x18, 0xDD, 0x18, 0xE3, 0x18, 0xEA, 0x18, 0xF1,
0x18, 0xF8, 0x18, 0xFF, 0x19, 0x06, 0x19, 0x0C, 0x19, 0x13, 0x19, 0x1A, 0x19, 0x21, 0x19, 0x28,
0x19, 0x2E, 0x19, 0x35, 0x19, 0x3C, 0x19, 0x43, 0x19, 0x49, 0x19, 0x50, 0x19, 0x57, 0x19, 0x5D,
0x19, 0x64, 0x19, 0x6B, 0x19, 0x72, 0x19, 0x78, 0x19, 0x7F, 0x19, 0x86, 0x19, 0x8C, 0x19, 0x93,
0x19, 0x9A, 0x19, 0xA0, 0x19, 0xA7, 0x19, 0xAE, 0x19, 0xB4, 0x19, 0xBB, 0x19, 0xC2, 0x19, 0xC8,
0x19, 0xCF, 0x19, 0xD5, 0x19, 0xDC, 0x19, 0xE3, 0x19, 0xE9, 0x19, 0xF0, 0x19, 0xF6, 0x19, 0xFD,
0x1A, 0x04, 0x1A, 0x0A, 0x1A, 0x11, 0x1A, 0x17, 0x1A, 0x1E, 0x1A, 0x24, 0x1A, 0x2B, 0x1A, 0x31,
0x1A, 0x38, 0x1A, 0x3E, 0x1A, 0x45, 0x1A, 0x4B, 0x1A, 0x52, 0x1A, 0x58, 0x1A, 0x5F, 0x1A, 0x65,
0x1A, 0x6C, 0x1A, 0x72, 0x1A, 0x79, 0x1A, 0x7F, 0x1A, 0x86, 0x1A, 0x8C, 0x1A, 0x93, 0x1A, 0x99,
0x1A, 0x9F, 0x1A, 0xA6, 0x1A, 0xAC, 0x1A, 0xB3, 0x1A, 0xB9, 0x1A, 0xC0, 0x1A, 0xC6, 0x1A, 0xCC,
0x1A, 0xD3, 0x1A, 0xD9, 0x1A, 0xDF, 0x1A, 0xE6, 0x1A, 0xEC, 0x1A, 0xF2, 0x1A, 0xF9, 0x1A, 0xFF,
0x1B, 0x05, 0x1B, 0x0C, 0x1B, 0x12, 0x1B, 0x18, 0x1B, 0x1F, 0x1B, 0x25, 0x1B, 0x2B, 0x1B, 0x32,
0x1B, 0x38, 0x1B, 0x3E, 0x1B, 0x44, 0x1B, 0x4B, 0x1B, 0x51, 0x1B, 0x57, 0x1B, 0x5D, 0x1B, 0x64,
0x1B, 0x6A, 0x1B, 0x70, 0x1B, 0x76, 0x1B, 0x7D, 0x1B, 0x83, 0x1B, 0x89, 0x1B, 0x8F, 0x1B, 0x95,
0x1B, 0x9C, 0x1B, 0xA2, 0x1B, 0xA8, 0x1B, 0xAE, 0x1B, 0xB4, 0x1B, 0xBA, 0x1B, 0xC1, 0x1B, 0xC7,
0x1B, 0xCD, 0x1B, 0xD3, 0x1B, 0xD9, 0x1B, 0xDF, 0x1B, 0xE5, 0x1B, 0xEB, 0x1B, 0xF2, 0x1B, 0xF8,
0x1B, 0xFE, 0x1C, 0x04, 0x1C, 0x0A, 0x1C, 0x10, 0x1C, 0x16, 0x1C, 0x1C, 0x1C, 0x22, 0x1C, 0x28,
0x1C, 0x2E, 0x1C, 0x34, 0x1C, 0x3A, 0x1C, 0x40, 0x1C, 0x46, 0x1C, 0x4C, 0x1C, 0x52, 0x1C, 0x58,
0x1C, 0x5E, 0x1C, 0x64, 0x1C, 0x6A, 0x1C, 0x70, 0x1C, 0x76, 0x1C, 0x7C, 0x1C, 0x82, 0x1C, 0x88,
0x1C, 0x8E, 0x1C, 0x94, 0x1C, 0x9A, 0x1C, 0xA0, 0x1C, 0xA6, 0x1C, 0xAC, 0x1C, 0xB2, 0x1C, 0xB8,
0x1C, 0xBE, 0x1C, 0xC3, 0x1C, 0xC9, 0x1C, 0xCF, 0x1C, 0xD5, 0x1C, 0xDB, 0x1C, 0xE1, 0x1C, 0xE7,
0x1C, 0xED, 0x1C, 0xF3, 0x1C, 0xF8, 0x1C, 0xFE, 0x1D, 0x04, 0x1D, 0x0A, 0x1D, 0x10, 0x1D, 0x16,
0x1D, 0x1B, 0x1D, 0x21, 0x1D, 0x27, 0x1D, 0x2D, 0x1D, 0x33, 0x1D, 0x38, 0x1D, 0x3E, 0x1D, 0x44,
0x1D, 0x4A, 0x1D, 0x4F, 0x1D, 0x55, 0x1D, 0x5B, 0x1D, 0x61, 0x1D, 0x66, 0x1D, 0x6C, 0x1D, 0x72,
0x1D, 0x78, 0x1D, 0x7D, 0x1D, 0x83, 0x1D, 0x89, 0x1D, 0x8E, 0x1D, 0x94, 0x1D, 0x9A, 0x1D, 0xA0,
0x1D, 0xA5, 0x1D, 0xAB, 0x1D, 0xB1, 0x1D, 0xB6, 0x1D, 0xBC, 0x1D, 0xC2, 0x1D, 0xC7, 0x1D, 0xCD,
0x1D, 0xD3, 0x1D, 0xD8, 0x1D, 0xDE, 0x1D, 0xE3, 0x1D, 0xE9, 0x1D, 0xEF, 0x1D, 0xF4, 0x1D, 0xFA,
0x1D, 0xFF, 0x1E, 0x05, 0x1E, 0x0B, 0x1E, 0x10, 0x1E, 0x16, 0x1E, 0x1B, 0x1E, 0x21, 0x1E, 0x26,
0x1E, 0x2C, 0x1E, 0x32, 0x1E, 0x37, 0x1E, 0x3D, 0x1E, 0x42, 0x1E, 0x48, 0x1E, 0x4D, 0x1E, 0x53,
0x1E, 0x58, 0x1E, 0x5E, 0x1E, 0x63, 0x1E, 0x69, 0x1E, 0x6E, 0x1E, 0x74, 0x1E, 0x79, 0x1E, 0x7F,
0x1E, 0x84, 0x1E, 0x8A, 0x1E, 0x8F, 0x1E, 0x94, 0x1E, 0x9A, 0x1E, 0x9F, 0x1E, 0xA5, 0x1E, 0xAA,
0x1E, 0xB0, 0x1E, 0xB5, 0x1E, 0xBA, 0x1E, 0xC0, 0x1E, 0xC5, 0x1E, 0xCB, 0x1E, 0xD0, 0x1E, 0xD5,
0x1E, 0xDB, 0x1E, 0xE0, 0x1E, 0xE6, 0x1E, 0xEB, 0x1E, 0xF0, 0x1E, 0xF6, 0x1E, 0xFB, 0x1F, 0x00,
0x1F, 0x06, 0x1F, 0x0B, 0x1F, 0x10, 0x1F, 0x16, 0x1F, 0x1B, 0x1F, 0x20, 0x1F, 0x26, 0x1F, 0x2B,
0x1F, 0x30, 0x1F, 0x36, 0x1F, 0x3B, 0x1F, 0x40, 0x1F, 0x45, 0x1F, 0x4B, 0x1F, 0x50, 0x1F, 0x55,
0x1F, 0x5A, 0x1F, 0x60, 0x1F, 0x65, 0x1F, 0x6A, 0x1F, 0x6F, 0x1F, 0x75, 0x1F, 0x7A, 0x1F, 0x7F,
0x1F, 0x84, 0x1F, 0x8A, 0x1F, 0x8F, 0x1F, 0x94, 0x1F, 0x99, 0x1F, 0x9E, 0x1F, 0xA4, 0x1F, 0xA9,
0x1F, 0xAE, 0x1F, 0xB3, 0x1F, 0xB8, 0x1F, 0xBD, 0x1F, 0xC3, 0x1F, 0xC8, 0x1F, 0xCD, 0x1F, 0xD2,
0x1F, 0xD7, 0x1F, 0xDC, 0x1F, 0xE1, 0x1F, 0xE6, 0x1F, 0xEC, 0x1F, 0xF1, 0x1F, 0xF6, 0x1F, 0xFB,
0x20, 0x00,
/* padding */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
// cM_atan2f__Fff
float cM_atan2f(float f1, float f2) {
return 9.58738E-5f * cM_atan2s(f1, f2);
}
/* 804550B4-804550B8 0004+00 s=1 e=0 z=0 None .sdata2 @2232 */
SECTION_SDATA2 static u32 lit_2232 = 0x44800000;
// cM_initRnd__Fiii
void cM_initRnd(int p0, int p1, int p2) {
lbl_80451168 = p0;
lbl_8045116C = p1;
lbl_80451170 = p2;
/* 80267640-80267674 0034+00 s=1 e=0 z=0 None .text U_GetAtanTable__Fff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm static void U_GetAtanTable(f32 param_0, f32 param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_math/U_GetAtanTable__Fff.s"
}
#pragma pop
// cM_rnd__Fv
float cM_rnd(void) {
lbl_80451168 = (lbl_80451168 * 0xAB) % 0x763D;
lbl_8045116C = (lbl_8045116C * 0xAC) % 0x7663;
lbl_80451170 = (lbl_80451170 * 0xAA) % 0x7673;
return fabsf(
fmod(lbl_80451168 / 30269.0f + lbl_8045116C / 30307.0f + lbl_80451170 / 30323.0f, 1.0));
}
// cM_rndF__Ff
float cM_rndF(float f) {
return cM_rnd() * f;
}
/* ############################################################################################## */
/* 804550B8-804550BC 0004+00 s=1 e=0 z=0 None .sdata2 @2277 */
SECTION_SDATA2 static u8 lit_2277[4] = {
0x00, 0x00, 0x00, 0x00,
};
// cM_rndFX__Ff
float cM_rndFX(float f) {
return f * (cM_rnd() - 0.5f) * 2.0f;
/* 80267674-80267814 01A0+00 s=1 e=82 z=822 None .text cM_atan2s__Fff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM_atan2s(f32 param_0, f32 param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_math/cM_atan2s__Fff.s"
}
#pragma pop
// cM_initRnd2__Fiii
void cM_initRnd2(int p0, int p1, int p2) {
lbl_80451174 = p0;
lbl_80451178 = p1;
lbl_8045117C = p2;
}
// cM_rnd2__Fv
float cM_rnd2(void) {
lbl_80451174 = (lbl_80451174 * 0xAB) % 0x763D;
lbl_80451178 = (lbl_80451178 * 0xAC) % 0x7663;
lbl_8045117C = (lbl_8045117C * 0xAA) % 0x7673;
return fabsf(
fmod(lbl_80451174 / 30269.0f + lbl_80451178 / 30307.0f + lbl_8045117C / 30323.0f, 1.0));
}
/* ############################################################################################## */
/* 804550BC-804550C0 0004+00 s=1 e=0 z=0 None .sdata2 @2282 */
SECTION_SDATA2 static u32 lit_2282 = 0x38C90FDB;
// cM_rndF2__Ff
float cM_rndF2(float f) {
return cM_rnd2() * f;
}
/* 804550C0-804550C8 0008+00 s=3 e=0 z=0 None .sdata2 @2284 */
SECTION_SDATA2 static u8 lit_2284[8] = {
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
};
// cM_rndFX2__Ff
float cM_rndFX2(float f) {
return f * (cM_rnd2() - 0.5f) * 2.0f;
/* 80267814-8026785C 0048+00 s=0 e=4 z=5 None .text cM_atan2f__Fff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM_atan2f(f32 param_0, f32 param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_math/cM_atan2f__Fff.s"
}
#pragma pop
/* ############################################################################################## */
/* 80451168-8045116C 0004+00 s=2 e=0 z=0 None .sbss r0 */
static u8 data_80451168[4];
/* 8045116C-80451170 0004+00 s=2 e=0 z=0 None .sbss r1 */
static u8 data_8045116C[4];
/* 80451170-80451174 0004+00 s=2 e=0 z=0 None .sbss r2 */
static u8 data_80451170[4];
/* 8026785C-8026786C 0010+00 s=0 e=1 z=0 None .text cM_initRnd__Fiii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM_initRnd(int param_0, int param_1, int param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_math/cM_initRnd__Fiii.s"
}
#pragma pop
/* ############################################################################################## */
/* 804550C8-804550CC 0004+00 s=2 e=0 z=0 None .sdata2 @2296 */
SECTION_SDATA2 static u32 lit_2296 = 0x46ECE600;
/* 804550CC-804550D0 0004+00 s=2 e=0 z=0 None .sdata2 @2297 */
SECTION_SDATA2 static u32 lit_2297 = 0x46EC7A00;
/* 804550D0-804550D8 0004+04 s=2 e=0 z=0 None .sdata2 @2298 */
SECTION_SDATA2 static f32 lit_2298[1 + 1 /* padding */] = {
30307.0f,
/* padding */
0.0f,
};
/* 804550D8-804550E0 0008+00 s=2 e=0 z=0 None .sdata2 @2299 */
SECTION_SDATA2 static u8 lit_2299[8] = {
0x3F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 8026786C-80267954 00E8+00 s=2 e=15 z=113 None .text cM_rnd__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM_rnd() {
nofralloc
#include "asm/SSystem/SComponent/c_math/cM_rnd__Fv.s"
}
#pragma pop
/* 80267954-8026798C 0038+00 s=0 e=34 z=951 None .text cM_rndF__Ff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM_rndF(f32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_math/cM_rndF__Ff.s"
}
#pragma pop
/* ############################################################################################## */
/* 804550E0-804550E4 0004+00 s=2 e=0 z=0 None .sdata2 @2311 */
SECTION_SDATA2 static u32 lit_2311 = 0x40000000;
/* 804550E4-804550E8 0004+00 s=2 e=0 z=0 None .sdata2 @2312 */
SECTION_SDATA2 static u32 lit_2312 = 0x3F000000;
/* 8026798C-802679D4 0048+00 s=0 e=24 z=450 None .text cM_rndFX__Ff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM_rndFX(f32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_math/cM_rndFX__Ff.s"
}
#pragma pop
/* ############################################################################################## */
/* 80451174-80451178 0004+00 s=2 e=0 z=0 None .sbss r02 */
static u8 data_80451174[4];
/* 80451178-8045117C 0004+00 s=2 e=0 z=0 None .sbss r12 */
static u8 data_80451178[4];
/* 8045117C-80451180 0004+00 s=2 e=0 z=0 None .sbss r22 */
static u8 data_8045117C[4];
/* 802679D4-802679E4 0010+00 s=0 e=0 z=8 None .text cM_initRnd2__Fiii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM_initRnd2(int param_0, int param_1, int param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_math/cM_initRnd2__Fiii.s"
}
#pragma pop
/* 802679E4-80267ACC 00E8+00 s=2 e=0 z=0 None .text cM_rnd2__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm static void cM_rnd2() {
nofralloc
#include "asm/SSystem/SComponent/c_math/cM_rnd2__Fv.s"
}
#pragma pop
/* 80267ACC-80267B04 0038+00 s=0 e=0 z=14 None .text cM_rndF2__Ff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM_rndF2(f32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_math/cM_rndF2__Ff.s"
}
#pragma pop
/* 80267B04-80267B4C 0048+00 s=0 e=0 z=7 None .text cM_rndFX2__Ff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cM_rndFX2(f32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_math/cM_rndFX2__Ff.s"
}
#pragma pop
+178 -82
View File
@@ -1,107 +1,203 @@
//
// Generated By: dol2asm
// Translation Unit: c_node
//
#include "SComponent/c_node.h"
#include "global.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_node.h"
#define NODE_GET_PREV(pNode) (pNode ? pNode->mpPrevNode : NULL)
#define NODE_GET_NEXT(pNode) (pNode ? pNode->mpNextNode : NULL)
void cNd_Join(node_class* pA, node_class* pB) {
pA->mpNextNode = pB;
pB->mpPrevNode = pA;
//
// Types:
//
struct node_class {
};
//
// Forward References:
//
static void cNd_Join(node_class*, node_class*);
void cNd_LengthOf(node_class*);
void cNd_First(node_class*);
void cNd_Last(node_class*);
void cNd_Order(node_class*, int);
void cNd_SingleCut(node_class*);
static void cNd_Cut(node_class*);
void cNd_Addition(node_class*, node_class*);
void cNd_Insert(node_class*, node_class*);
void cNd_SetObject(node_class*, void*);
void cNd_ClearObject(node_class*);
void cNd_ForcedClear(node_class*);
void cNd_Create(node_class*, void*);
extern "C" static void cNd_Join__FP10node_classP10node_class();
extern "C" void cNd_LengthOf__FP10node_class();
extern "C" void cNd_First__FP10node_class();
extern "C" void cNd_Last__FP10node_class();
extern "C" void cNd_Order__FP10node_classi();
extern "C" void cNd_SingleCut__FP10node_class();
extern "C" static void cNd_Cut__FP10node_class();
extern "C" void cNd_Addition__FP10node_classP10node_class();
extern "C" void cNd_Insert__FP10node_classP10node_class();
extern "C" void cNd_SetObject__FP10node_classPv();
extern "C" void cNd_ClearObject__FP10node_class();
extern "C" void cNd_ForcedClear__FP10node_class();
extern "C" void cNd_Create__FP10node_classPv();
//
// External References:
//
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
//
// Declarations:
//
/* 802660D0-802660DC 000C+00 s=1 e=0 z=0 None .text cNd_Join__FP10node_classP10node_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm static void cNd_Join(node_class* param_0, node_class* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_node/cNd_Join__FP10node_classP10node_class.s"
}
#pragma pop
int cNd_LengthOf(node_class* pNode) {
int count = 0;
while (pNode) {
count++;
pNode = NODE_GET_NEXT(pNode);
}
return count;
/* 802660DC-8026610C 0030+00 s=0 e=2 z=0 None .text cNd_LengthOf__FP10node_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cNd_LengthOf(node_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_node/cNd_LengthOf__FP10node_class.s"
}
#pragma pop
node_class* cNd_First(node_class* pNode) {
node_class* pRet = NULL;
while (pNode) {
pRet = pNode;
pNode = NODE_GET_PREV(pNode);
}
return pRet;
/* 8026610C-8026613C 0030+00 s=0 e=1 z=0 None .text cNd_First__FP10node_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cNd_First(node_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_node/cNd_First__FP10node_class.s"
}
#pragma pop
node_class* cNd_Last(node_class* pNode) {
node_class* pRet = NULL;
while (pNode) {
pRet = pNode;
pNode = NODE_GET_NEXT(pNode);
}
return pRet;
/* 8026613C-8026616C 0030+00 s=1 e=1 z=0 None .text cNd_Last__FP10node_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cNd_Last(node_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_node/cNd_Last__FP10node_class.s"
}
#pragma pop
node_class* cNd_Order(node_class* pNode, int idx) {
node_class* pRet = NULL;
int i = 0;
while (i < idx && pNode) {
pRet = pNode;
i++;
pNode = NODE_GET_NEXT(pNode);
}
if (i < idx)
return pRet;
return NULL;
/* 8026616C-802661BC 0050+00 s=0 e=1 z=0 None .text cNd_Order__FP10node_classi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cNd_Order(node_class* param_0, int param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_node/cNd_Order__FP10node_classi.s"
}
#pragma pop
void cNd_SingleCut(node_class* pNode) {
node_class* pPrev = pNode->mpPrevNode;
node_class* pNext = pNode->mpNextNode;
if (pPrev)
pPrev->mpNextNode = pNode->mpNextNode;
if (pNext)
pNext->mpPrevNode = pNode->mpPrevNode;
pNode->mpPrevNode = NULL;
pNode->mpNextNode = NULL;
/* 802661BC-802661F0 0034+00 s=0 e=1 z=0 None .text cNd_SingleCut__FP10node_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cNd_SingleCut(node_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_node/cNd_SingleCut__FP10node_class.s"
}
#pragma pop
void cNd_Cut(node_class* pNode) {
if (pNode->mpPrevNode)
pNode->mpPrevNode->mpNextNode = NULL;
pNode->mpPrevNode = NULL;
}
void cNd_Addition(node_class* pA, node_class* pB) {
node_class* pLast = cNd_Last(pA);
cNd_Join(pLast, pB);
/* 802661F0-80266210 0020+00 s=1 e=0 z=0 None .text cNd_Cut__FP10node_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm static void cNd_Cut(node_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_node/cNd_Cut__FP10node_class.s"
}
#pragma pop
void cNd_Insert(node_class* pA, node_class* pB) {
node_class* pPrev = pA->mpPrevNode;
if (pPrev == NULL) {
cNd_Addition(pB, pA);
} else {
cNd_Cut(pA);
cNd_Addition(pPrev, pB);
cNd_Addition(pB, pA);
}
}
void cNd_SetObject(node_class* pNode, void* pData) {
while (pNode) {
pNode->mpData = pData;
pNode = NODE_GET_NEXT(pNode);
}
/* 80266210-80266244 0034+00 s=1 e=1 z=0 None .text cNd_Addition__FP10node_classP10node_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cNd_Addition(node_class* param_0, node_class* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_node/cNd_Addition__FP10node_classP10node_class.s"
}
#pragma pop
void cNd_ClearObject(node_class* pNode) {
cNd_SetObject(pNode, NULL);
}
void cNd_ForcedClear(node_class* pNode) {
pNode->mpPrevNode = NULL;
pNode->mpNextNode = NULL;
pNode->mpData = NULL;
/* 80266244-802662B0 006C+00 s=0 e=1 z=0 None .text cNd_Insert__FP10node_classP10node_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cNd_Insert(node_class* param_0, node_class* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_node/cNd_Insert__FP10node_classP10node_class.s"
}
#pragma pop
void cNd_Create(node_class* pNode, void* pData) {
pNode->mpPrevNode = NULL;
pNode->mpNextNode = NULL;
pNode->mpData = pData;
/* 802662B0-802662D8 0028+00 s=1 e=2 z=0 None .text cNd_SetObject__FP10node_classPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cNd_SetObject(node_class* param_0, void* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_node/cNd_SetObject__FP10node_classPv.s"
}
#pragma pop
/* 802662D8-802662FC 0024+00 s=0 e=1 z=0 None .text cNd_ClearObject__FP10node_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cNd_ClearObject(node_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_node/cNd_ClearObject__FP10node_class.s"
}
#pragma pop
/* 802662FC-80266310 0014+00 s=0 e=1 z=0 None .text cNd_ForcedClear__FP10node_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cNd_ForcedClear(node_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_node/cNd_ForcedClear__FP10node_class.s"
}
#pragma pop
/* 80266310-80266324 0014+00 s=0 e=2 z=0 None .text cNd_Create__FP10node_classPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cNd_Create(node_class* param_0, void* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_node/cNd_Create__FP10node_classPv.s"
}
#pragma pop
+53 -26
View File
@@ -1,35 +1,62 @@
//
// Generated By: dol2asm
// Translation Unit: c_node_iter
//
#include "SComponent/c_node_iter.h"
#include "global.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_node_iter.h"
#define NODE_GET_PREV(pNode) (pNode ? pNode->mpPrevNode : NULL)
#define NODE_GET_NEXT(pNode) (pNode ? pNode->mpNextNode : NULL)
//
// Types:
//
int cNdIt_Method(node_class* pNode, cNdIt_MethodFunc pMethod, void* pUserData) {
int ret = 1;
node_class* pNext = NODE_GET_NEXT(pNode);
struct node_class {
};
while (pNode) {
int methodRet = pMethod(pNode, pUserData);
if (!methodRet)
ret = 0;
pNode = pNext;
pNext = NODE_GET_NEXT(pNext);
}
//
// Forward References:
//
return ret;
void cNdIt_Method(node_class*, int (*)(node_class*, void*), void*);
void cNdIt_Judge(node_class*, void* (*)(node_class*, void*), void*);
extern "C" void cNdIt_Method__FP10node_classPFP10node_classPv_iPv();
extern "C" void cNdIt_Judge__FP10node_classPFP10node_classPv_PvPv();
//
// External References:
//
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
//
// Declarations:
//
/* 80266324-802663B4 0090+00 s=0 e=1 z=0 None .text cNdIt_Method__FP10node_classPFP10node_classPv_iPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cNdIt_Method(node_class* param_0, int (*)(node_class*, void*), void* param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_node_iter/cNdIt_Method__FP10node_classPFP10node_classPv_iPv.s"
}
#pragma pop
void* cNdIt_Judge(node_class* pNode, cNdIt_JudgeFunc pJudge, void* pUserData) {
node_class* pNext = NODE_GET_NEXT(pNode);
while (pNode) {
void* pJudgeRet = pJudge(pNode, pUserData);
if (pJudgeRet != NULL)
return pJudgeRet;
pNode = pNext;
pNext = NODE_GET_NEXT(pNext);
}
return NULL;
/* 802663B4-80266440 008C+00 s=0 e=1 z=0 None .text cNdIt_Judge__FP10node_classPFP10node_classPv_PvPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cNdIt_Judge(node_class* param_0, void* (*)(node_class*, void*), void* param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_node_iter/cNdIt_Judge__FP10node_classPFP10node_classPv_PvPv.s"
}
#pragma pop
+106 -65
View File
@@ -1,82 +1,123 @@
//
// Generated By: dol2asm
// Translation Unit: c_phase
//
#include "SComponent/c_phase.h"
#include "global.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_phase.h"
void cPhs_Reset(request_of_phase_process_class* pPhase) {
pPhase->mPhaseStep = 0;
//
// Types:
//
struct request_of_phase_process_class {
};
//
// Forward References:
//
void cPhs_Reset(request_of_phase_process_class*);
void cPhs_Set(request_of_phase_process_class*, int (**)(void*));
static void cPhs_UnCompleate(request_of_phase_process_class*);
static void cPhs_Compleate(request_of_phase_process_class*);
static void cPhs_Next(request_of_phase_process_class*);
void cPhs_Do(request_of_phase_process_class*, void*);
void cPhs_Handler(request_of_phase_process_class*, int (**)(void*), void*);
extern "C" void cPhs_Reset__FP30request_of_phase_process_class();
extern "C" void cPhs_Set__FP30request_of_phase_process_classPPFPv_i();
extern "C" static void cPhs_UnCompleate__FP30request_of_phase_process_class();
extern "C" static void cPhs_Compleate__FP30request_of_phase_process_class();
extern "C" static void cPhs_Next__FP30request_of_phase_process_class();
extern "C" void cPhs_Do__FP30request_of_phase_process_classPv();
extern "C" void cPhs_Handler__FP30request_of_phase_process_classPPFPv_iPv();
//
// External References:
//
//
// Declarations:
//
/* 80266624-80266630 000C+00 s=1 e=2 z=0 None .text cPhs_Reset__FP30request_of_phase_process_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cPhs_Reset(request_of_phase_process_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_phase/cPhs_Reset__FP30request_of_phase_process_class.s"
}
#pragma pop
void cPhs_Set(request_of_phase_process_class* pPhase, cPhs__Handler* pHandlerTable) {
pPhase->mpHandlerTable = pHandlerTable;
pPhase->mPhaseStep = 0;
/* 80266630-80266640 0010+00 s=0 e=3 z=0 None .text cPhs_Set__FP30request_of_phase_process_classPPFPv_i */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cPhs_Set(request_of_phase_process_class* param_0, int (**)(void*)) {
nofralloc
#include "asm/SSystem/SComponent/c_phase/cPhs_Set__FP30request_of_phase_process_classPPFPv_i.s"
}
#pragma pop
void cPhs_UnCompleate(request_of_phase_process_class* pPhase) {
pPhase->mpHandlerTable = NULL;
cPhs_Reset(pPhase);
/* 80266640-80266668 0028+00 s=1 e=0 z=0 None .text cPhs_UnCompleate__FP30request_of_phase_process_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm static void cPhs_UnCompleate(request_of_phase_process_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_phase/cPhs_UnCompleate__FP30request_of_phase_process_class.s"
}
#pragma pop
int cPhs_Compleate(request_of_phase_process_class* pPhase) {
pPhase->mpHandlerTable = NULL;
return cPhs_COMPLEATE_e;
/* 80266668-80266678 0010+00 s=2 e=0 z=0 None .text cPhs_Compleate__FP30request_of_phase_process_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm static void cPhs_Compleate(request_of_phase_process_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_phase/cPhs_Compleate__FP30request_of_phase_process_class.s"
}
#pragma pop
int cPhs_Next(request_of_phase_process_class* pPhase) {
if (const cPhs__Handler* handlerTable = pPhase->mpHandlerTable) {
pPhase->mPhaseStep++;
cPhs__Handler handler = handlerTable[pPhase->mPhaseStep];
// Double null check here actually matters for emitted assembly.
// Wee old compilers.
if (handler == NULL || handler == NULL) {
return cPhs_Compleate(pPhase);
} else {
return 1;
}
}
return cPhs_COMPLEATE_e;
/* 80266678-802666D8 0060+00 s=1 e=0 z=0 None .text cPhs_Next__FP30request_of_phase_process_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm static void cPhs_Next(request_of_phase_process_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_phase/cPhs_Next__FP30request_of_phase_process_class.s"
}
#pragma pop
#if NON_MATCHING
int cPhs_Do(request_of_phase_process_class* pPhase, void* pUserData) {
if (const cPhs__Handler* pHandlerTable = pPhase->mpHandlerTable) {
// the load of pUserData seems to be slightly scrambled..
const cPhs__Handler pHandler = pHandlerTable[pPhase->mPhaseStep];
const int newStep = pHandler(pUserData);
switch (newStep) {
case 1:
return cPhs_Next(pPhase);
case 2: {
const int step2 = cPhs_Next(pPhase);
return step2 == 1 ? 2 : cPhs_COMPLEATE_e;
}
case cPhs_COMPLEATE_e:
return cPhs_Compleate(pPhase);
case 3: {
cPhs_UnCompleate(pPhase);
return 3;
}
case cPhs_ERROR_e:
cPhs_UnCompleate(pPhase);
return cPhs_ERROR_e;
}
return newStep;
} else {
return cPhs_Compleate(pPhase);
}
/* 802666D8-802667AC 00D4+00 s=1 e=3 z=0 None .text cPhs_Do__FP30request_of_phase_process_classPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cPhs_Do(request_of_phase_process_class* param_0, void* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_phase/cPhs_Do__FP30request_of_phase_process_classPv.s"
}
#else
asm int cPhs_Do(request_of_phase_process_class* pPhase, void* pUserData) {
nofralloc
#include "SComponent/c_phase/asm/func_802666D8.s"
}
#endif
#pragma pop
int cPhs_Handler(request_of_phase_process_class* pPhase, cPhs__Handler* pHandlerTable,
void* pUserData) {
pPhase->mpHandlerTable = pHandlerTable;
return cPhs_Do(pPhase, pUserData);
/* 802667AC-802667D4 0028+00 s=0 e=2 z=0 None .text cPhs_Handler__FP30request_of_phase_process_classPPFPv_iPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cPhs_Handler(request_of_phase_process_class* param_0, int (**)(void*), void* param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_phase/cPhs_Handler__FP30request_of_phase_process_classPPFPv_iPv.s"
}
#pragma pop
+75 -22
View File
@@ -1,31 +1,84 @@
/* c_request.cpp autogenerated by split.py v0.3 at 2021-01-01 15:27:56.858899 */
//
// Generated By: dol2asm
// Translation Unit: c_request
//
#include "SComponent/c_request.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_request.h"
extern "C" {
void cReq_Create__FP18request_base_classUc(void);
//
// Types:
//
struct request_base_class {
};
//
// Forward References:
//
void cReq_Is_Done(request_base_class*);
void cReq_Done(request_base_class*);
void cReq_Command(request_base_class*, u8);
void cReq_Create(request_base_class*, u8);
extern "C" void cReq_Is_Done__FP18request_base_class();
extern "C" void cReq_Done__FP18request_base_class();
extern "C" void cReq_Command__FP18request_base_classUc();
extern "C" void cReq_Create__FP18request_base_classUc();
//
// External References:
//
//
// Declarations:
//
/* 802667D4-80266800 002C+00 s=0 e=3 z=0 None .text cReq_Is_Done__FP18request_base_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cReq_Is_Done(request_base_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_request/cReq_Is_Done__FP18request_base_class.s"
}
#pragma pop
// 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"
/* 80266800-80266830 0030+00 s=0 e=3 z=0 None .text cReq_Done__FP18request_base_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cReq_Done(request_base_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_request/cReq_Done__FP18request_base_class.s"
}
#pragma pop
// 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"
/* 80266830-80266850 0020+00 s=0 e=2 z=0 None .text cReq_Command__FP18request_base_classUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cReq_Command(request_base_class* param_0, u8 param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_request/cReq_Command__FP18request_base_classUc.s"
}
#pragma pop
/* 80266850-80266880 0030+00 s=1 e=2 z=0 None .text cReq_Create__FP18request_base_classUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cReq_Create(request_base_class* param_0, u8 param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_request/cReq_Create__FP18request_base_classUc.s"
}
#pragma pop
+128 -48
View File
@@ -1,52 +1,132 @@
/* c_sxyz.cpp autogenerated by split.py v0.3 at 2021-01-01 15:36:38.121811 */
//
// Generated By: dol2asm
// Translation Unit: c_sxyz
//
#include "SComponent/c_sxyz.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_sxyz.h"
extern "C" {
void __ct__5csXyzFsss(void);
void __dt__5csXyzFv(void);
void func_80361C24(void);
}
//
// Types:
//
extern u8 lbl_804550A0;
extern u8 lbl_80430DA8;
extern u8 lbl_80451164;
// __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
csXyz csXyz::operator*(f32 pFactor) {
return csXyz(mX * pFactor, mY * pFactor, mZ * pFactor);
}
extern "C" {
// __sinit_c_sxyz_cpp
//
asm void __sinit_c_sxyz_cpp(void) {
nofralloc
#include "SComponent/c_sxyz/asm/func_8026758C.s"
}
struct csXyz {
/* 80018BD0 */ ~csXyz();
/* 802673F4 */ csXyz(s16, s16, s16);
/* 80267404 */ void operator+(csXyz&);
/* 8026745C */ void operator+=(csXyz&);
/* 80267490 */ void operator-(csXyz&);
/* 802674E8 */ void operator*(f32);
};
//
// Forward References:
//
extern "C" extern u8 Zero__5csXyz[4];
extern "C" extern u8 data_80451164[4];
extern "C" void __ct__5csXyzFsss();
extern "C" void __pl__5csXyzFR5csXyz();
extern "C" void __apl__5csXyzFR5csXyz();
extern "C" void __mi__5csXyzFR5csXyz();
extern "C" void __ml__5csXyzFf();
extern "C" void __sinit_c_sxyz_cpp();
extern "C" extern u8 Zero__5csXyz[4];
extern "C" extern u8 data_80451164[4];
//
// External References:
//
extern "C" void __dt__5csXyzFv();
extern "C" void __register_global_object();
//
// Declarations:
//
/* 802673F4-80267404 0010+00 s=4 e=19 z=119 None .text __ct__5csXyzFsss */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm csXyz::csXyz(s16 param_0, s16 param_1, s16 param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_sxyz/__ct__5csXyzFsss.s"
}
#pragma pop
/* 80267404-8026745C 0058+00 s=0 e=0 z=3 None .text __pl__5csXyzFR5csXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void csXyz::operator+(csXyz& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_sxyz/__pl__5csXyzFR5csXyz.s"
}
#pragma pop
/* 8026745C-80267490 0034+00 s=0 e=2 z=11 None .text __apl__5csXyzFR5csXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void csXyz::operator+=(csXyz& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_sxyz/__apl__5csXyzFR5csXyz.s"
}
#pragma pop
/* 80267490-802674E8 0058+00 s=0 e=0 z=1 None .text __mi__5csXyzFR5csXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void csXyz::operator-(csXyz& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_sxyz/__mi__5csXyzFR5csXyz.s"
}
#pragma pop
/* ############################################################################################## */
/* 804550A0-804550A8 0008+00 s=1 e=0 z=0 None .sdata2 @151 */
SECTION_SDATA2 static u8 lit_151[8] = {
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
};
/* 802674E8-8026758C 00A4+00 s=0 e=0 z=1 None .text __ml__5csXyzFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void csXyz::operator*(f32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_sxyz/__ml__5csXyzFf.s"
}
#pragma pop
/* ############################################################################################## */
/* 80430DA8-80430DB8 000C+04 s=1 e=0 z=0 None .bss @262 */
static u8 lit_262[12 + 4 /* padding */];
/* 80451160-80451164 0004+00 s=1 e=13 z=3 None .sbss Zero__5csXyz */
u8 Zero__5csXyz[4];
/* 80451164-80451168 0004+00 s=1 e=13 z=2 None .sbss None */
u8 data_80451164[4];
/* 8026758C-802675E4 0058+00 s=0 e=1 z=0 None .text __sinit_c_sxyz_cpp */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void __sinit_c_sxyz_cpp() {
nofralloc
#include "asm/SSystem/SComponent/c_sxyz/__sinit_c_sxyz_cpp.s"
}
#pragma pop
+138 -58
View File
@@ -1,79 +1,159 @@
//
// Generated By: dol2asm
// Translation Unit: c_tag
//
#include "SComponent/c_tag.h"
#include "SComponent/c_tree.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_tag.h"
int cTg_IsUse(create_tag_class* pTag) {
return pTag->mbIsUse;
//
// Types:
//
struct node_lists_tree_class {
};
struct node_list_class {
};
struct node_class {
};
struct create_tag_class {
};
//
// Forward References:
//
void cTg_IsUse(create_tag_class*);
void cTg_SingleCutFromTree(create_tag_class*);
void cTg_AdditionToTree(node_lists_tree_class*, int, create_tag_class*);
void cTg_InsertToTree(node_lists_tree_class*, int, create_tag_class*, int);
void cTg_GetFirst(node_list_class*);
void cTg_SingleCut(create_tag_class*);
void cTg_Addition(node_list_class*, create_tag_class*);
void cTg_Create(create_tag_class*, void*);
extern "C" void cTg_IsUse__FP16create_tag_class();
extern "C" void cTg_SingleCutFromTree__FP16create_tag_class();
extern "C" void cTg_AdditionToTree__FP21node_lists_tree_classiP16create_tag_class();
extern "C" void cTg_InsertToTree__FP21node_lists_tree_classiP16create_tag_classi();
extern "C" void cTg_GetFirst__FP15node_list_class();
extern "C" void cTg_SingleCut__FP16create_tag_class();
extern "C" void cTg_Addition__FP15node_list_classP16create_tag_class();
extern "C" void cTg_Create__FP16create_tag_classPv();
//
// External References:
//
void cLs_SingleCut(node_class*);
void cLs_Addition(node_list_class*, node_class*);
void cLs_GetFirst(node_list_class*);
void cNd_Create(node_class*, void*);
void cTr_SingleCut(node_class*);
void cTr_Addition(node_lists_tree_class*, int, node_class*);
void cTr_Insert(node_lists_tree_class*, int, node_class*, int);
extern "C" void cLs_SingleCut__FP10node_class();
extern "C" void cLs_Addition__FP15node_list_classP10node_class();
extern "C" void cLs_GetFirst__FP15node_list_class();
extern "C" void cNd_Create__FP10node_classPv();
extern "C" void cTr_SingleCut__FP10node_class();
extern "C" void cTr_Addition__FP21node_lists_tree_classiP10node_class();
extern "C" void cTr_Insert__FP21node_lists_tree_classiP10node_classi();
//
// Declarations:
//
/* 80266880-8026688C 000C+00 s=0 e=3 z=0 None .text cTg_IsUse__FP16create_tag_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cTg_IsUse(create_tag_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_tag/cTg_IsUse__FP16create_tag_class.s"
}
#pragma pop
int cTg_SingleCutFromTree(create_tag_class* pTag) {
if (pTag->mbIsUse == true) {
pTag->mbIsUse = false;
cTr_SingleCut(&pTag->mpNode);
return true;
} else {
return false;
}
/* 8026688C-802668CC 0040+00 s=0 e=4 z=0 None .text cTg_SingleCutFromTree__FP16create_tag_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cTg_SingleCutFromTree(create_tag_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_tag/cTg_SingleCutFromTree__FP16create_tag_class.s"
}
#pragma pop
int cTg_AdditionToTree(node_lists_tree_class* pTree, int listIdx, create_tag_class* pTag) {
if (!pTag->mbIsUse) {
int ret = cTr_Addition(pTree, listIdx, &pTag->mpNode);
if (ret) {
pTag->mbIsUse = true;
return ret;
}
}
return 0;
/* 802668CC-8026691C 0050+00 s=0 e=3 z=0 None .text cTg_AdditionToTree__FP21node_lists_tree_classiP16create_tag_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cTg_AdditionToTree(node_lists_tree_class* param_0, int param_1, create_tag_class* param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_tag/cTg_AdditionToTree__FP21node_lists_tree_classiP16create_tag_class.s"
}
#pragma pop
int cTg_InsertToTree(node_lists_tree_class* pTree, int listIdx, create_tag_class* pTag, int idx) {
if (!pTag->mbIsUse) {
int ret = cTr_Insert(pTree, listIdx, &pTag->mpNode, idx);
if (ret) {
pTag->mbIsUse = true;
return ret;
}
}
return 0;
/* 8026691C-8026696C 0050+00 s=0 e=1 z=0 None .text cTg_InsertToTree__FP21node_lists_tree_classiP16create_tag_classi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cTg_InsertToTree(node_lists_tree_class* param_0, int param_1, create_tag_class* param_2, int param_3) {
nofralloc
#include "asm/SSystem/SComponent/c_tag/cTg_InsertToTree__FP21node_lists_tree_classiP16create_tag_classi.s"
}
#pragma pop
node_class* cTg_GetFirst(node_list_class* pList) {
create_tag_class* pTag = (create_tag_class*)cLs_GetFirst(pList);
if (pTag != NULL) {
pTag->mbIsUse = false;
} else {
pTag = NULL;
}
return &pTag->mpNode;
/* 8026696C-802669A4 0038+00 s=0 e=1 z=0 None .text cTg_GetFirst__FP15node_list_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cTg_GetFirst(node_list_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_tag/cTg_GetFirst__FP15node_list_class.s"
}
#pragma pop
int cTg_SingleCut(create_tag_class* pTag) {
if (pTag->mbIsUse == 1) {
pTag->mbIsUse = false;
cLs_SingleCut(&pTag->mpNode);
return 1;
}
return 0;
/* 802669A4-802669E4 0040+00 s=0 e=7 z=0 None .text cTg_SingleCut__FP16create_tag_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cTg_SingleCut(create_tag_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_tag/cTg_SingleCut__FP16create_tag_class.s"
}
#pragma pop
int cTg_Addition(node_list_class* pList, create_tag_class* pTag) {
if (!pTag->mbIsUse) {
int ret = cLs_Addition(pList, &pTag->mpNode);
if (ret) {
pTag->mbIsUse = true;
return ret;
}
}
return 0;
/* 802669E4-80266A34 0050+00 s=0 e=7 z=0 None .text cTg_Addition__FP15node_list_classP16create_tag_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cTg_Addition(node_list_class* param_0, create_tag_class* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_tag/cTg_Addition__FP15node_list_classP16create_tag_class.s"
}
#pragma pop
void cTg_Create(create_tag_class* pTag, void* pData) {
cNd_Create(&pTag->mpNode, NULL);
pTag->mpTagData = pData;
pTag->mbIsUse = false;
/* 80266A34-80266A7C 0048+00 s=0 e=10 z=0 None .text cTg_Create__FP16create_tag_classPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cTg_Create(create_tag_class* param_0, void* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_tag/cTg_Create__FP16create_tag_classPv.s"
}
#pragma pop
+59 -6
View File
@@ -1,11 +1,64 @@
//
// Generated By: dol2asm
// Translation Unit: c_tag_iter
//
#include "SComponent/c_tag_iter.h"
#include "global.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_tag_iter.h"
int cTgIt_MethodCall(create_tag_class* pTag, method_filter* pMethodFilter) {
return pMethodFilter->mpMethodFunc((node_class*)pTag->mpTagData, pMethodFilter->mpUserData);
//
// Types:
//
struct method_filter {
};
struct judge_filter {
};
struct create_tag_class {
};
//
// Forward References:
//
void cTgIt_MethodCall(create_tag_class*, method_filter*);
void cTgIt_JudgeFilter(create_tag_class*, judge_filter*);
extern "C" void cTgIt_MethodCall__FP16create_tag_classP13method_filter();
extern "C" void cTgIt_JudgeFilter__FP16create_tag_classP12judge_filter();
//
// External References:
//
//
// Declarations:
//
/* 80266A7C-80266AB0 0034+00 s=0 e=4 z=0 None .text cTgIt_MethodCall__FP16create_tag_classP13method_filter */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cTgIt_MethodCall(create_tag_class* param_0, method_filter* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_tag_iter/cTgIt_MethodCall__FP16create_tag_classP13method_filter.s"
}
#pragma pop
void* cTgIt_JudgeFilter(create_tag_class* pTag, judge_filter* pJudgeFilter) {
return pJudgeFilter->mpJudgeFunc((node_class*)pTag->mpTagData, pJudgeFilter->mpUserData);
/* 80266AB0-80266AE4 0034+00 s=0 e=5 z=0 None .text cTgIt_JudgeFilter__FP16create_tag_classP12judge_filter */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cTgIt_JudgeFilter(create_tag_class* param_0, judge_filter* param_1) {
nofralloc
#include "asm/SSystem/SComponent/c_tag_iter/cTgIt_JudgeFilter__FP16create_tag_classP12judge_filter.s"
}
#pragma pop
+86 -17
View File
@@ -1,29 +1,98 @@
//
// Generated By: dol2asm
// Translation Unit: c_tree
//
#include "SComponent/c_tree.h"
#include "global.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_tree.h"
int cTr_SingleCut(node_class* pNode) {
return cLs_SingleCut(pNode);
//
// Types:
//
struct node_lists_tree_class {
};
struct node_list_class {
};
struct node_class {
};
//
// Forward References:
//
void cTr_SingleCut(node_class*);
void cTr_Addition(node_lists_tree_class*, int, node_class*);
void cTr_Insert(node_lists_tree_class*, int, node_class*, int);
void cTr_Create(node_lists_tree_class*, node_list_class*, int);
extern "C" void cTr_SingleCut__FP10node_class();
extern "C" void cTr_Addition__FP21node_lists_tree_classiP10node_class();
extern "C" void cTr_Insert__FP21node_lists_tree_classiP10node_classi();
extern "C" void cTr_Create__FP21node_lists_tree_classP15node_list_classi();
//
// External References:
//
void cLs_SingleCut(node_class*);
void cLs_Addition(node_list_class*, node_class*);
void cLs_Insert(node_list_class*, int, node_class*);
void cLs_Create(node_list_class*);
extern "C" void cLs_SingleCut__FP10node_class();
extern "C" void cLs_Addition__FP15node_list_classP10node_class();
extern "C" void cLs_Insert__FP15node_list_classiP10node_class();
extern "C" void cLs_Create__FP15node_list_class();
//
// Declarations:
//
/* 80266440-80266460 0020+00 s=0 e=1 z=0 None .text cTr_SingleCut__FP10node_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cTr_SingleCut(node_class* param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_tree/cTr_SingleCut__FP10node_class.s"
}
#pragma pop
int cTr_Addition(node_lists_tree_class* pTree, int listIdx, node_class* pNode) {
if (listIdx >= pTree->mNumLists)
return 0;
return cLs_Addition(&pTree->mpLists[listIdx], pNode);
/* 80266460-802664A4 0044+00 s=0 e=1 z=0 None .text cTr_Addition__FP21node_lists_tree_classiP10node_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cTr_Addition(node_lists_tree_class* param_0, int param_1, node_class* param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_tree/cTr_Addition__FP21node_lists_tree_classiP10node_class.s"
}
#pragma pop
int cTr_Insert(node_lists_tree_class* pTree, int listIdx, node_class* pNode, int idx) {
if (listIdx >= pTree->mNumLists)
return 0;
return cLs_Insert(&pTree->mpLists[listIdx], idx, pNode);
/* 802664A4-802664E8 0044+00 s=0 e=1 z=0 None .text cTr_Insert__FP21node_lists_tree_classiP10node_classi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cTr_Insert(node_lists_tree_class* param_0, int param_1, node_class* param_2, int param_3) {
nofralloc
#include "asm/SSystem/SComponent/c_tree/cTr_Insert__FP21node_lists_tree_classiP10node_classi.s"
}
#pragma pop
void cTr_Create(node_lists_tree_class* pTree, node_list_class* pLists, int numLists) {
pTree->mpLists = pLists;
pTree->mNumLists = numLists;
while (numLists-- > 0)
cLs_Create(pLists++);
/* 802664E8-80266540 0058+00 s=0 e=2 z=0 None .text cTr_Create__FP21node_lists_tree_classP15node_list_classi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cTr_Create(node_lists_tree_class* param_0, node_list_class* param_1, int param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_tree/cTr_Create__FP21node_lists_tree_classP15node_list_classi.s"
}
#pragma pop
+67 -22
View File
@@ -1,27 +1,72 @@
//
// Generated By: dol2asm
// Translation Unit: c_tree_iter
//
#include "SComponent/c_tree_iter.h"
#include "SComponent/c_list_iter.h"
#include "global.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_tree_iter.h"
int cTrIt_Method(node_lists_tree_class* pTree, cNdIt_MethodFunc pMethod, void* pUserData) {
node_list_class* pList = pTree->mpLists;
int i = pTree->mNumLists;
int ret = 1;
while (i-- > 0) {
int sub = cLsIt_Method(pList++, pMethod, pUserData);
if (sub == 0)
ret = 0;
}
return ret;
//
// Types:
//
struct node_lists_tree_class {
};
struct node_list_class {
};
struct node_class {
};
//
// Forward References:
//
void cTrIt_Method(node_lists_tree_class*, int (*)(node_class*, void*), void*);
void cTrIt_Judge(node_lists_tree_class*, void* (*)(node_class*, void*), void*);
extern "C" void cTrIt_Method__FP21node_lists_tree_classPFP10node_classPv_iPv();
extern "C" void cTrIt_Judge__FP21node_lists_tree_classPFP10node_classPv_PvPv();
//
// External References:
//
void cLsIt_Method(node_list_class*, int (*)(node_class*, void*), void*);
void cLsIt_Judge(node_list_class*, void* (*)(node_class*, void*), void*);
extern "C" void cLsIt_Method__FP15node_list_classPFP10node_classPv_iPv();
extern "C" void cLsIt_Judge__FP15node_list_classPFP10node_classPv_PvPv();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
//
// Declarations:
//
/* 80266540-802665B4 0074+00 s=0 e=2 z=0 None .text cTrIt_Method__FP21node_lists_tree_classPFP10node_classPv_iPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cTrIt_Method(node_lists_tree_class* param_0, int (*)(node_class*, void*), void* param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_tree_iter/cTrIt_Method__FP21node_lists_tree_classPFP10node_classPv_iPv.s"
}
#pragma pop
void* cTrIt_Judge(node_lists_tree_class* pTree, cNdIt_JudgeFunc pJudge, void* pUserData) {
node_list_class* pList = pTree->mpLists;
int i = pTree->mNumLists;
while (i-- > 0) {
void* pJudgeRet = cLsIt_Judge(pList++, pJudge, pUserData);
if (pJudgeRet != NULL)
return pJudgeRet;
}
return NULL;
/* 802665B4-80266624 0070+00 s=0 e=2 z=0 None .text cTrIt_Judge__FP21node_lists_tree_classPFP10node_classPv_PvPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cTrIt_Judge(node_lists_tree_class* param_0, void* (*)(node_class*, void*), void* param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_tree_iter/cTrIt_Judge__FP21node_lists_tree_classPFP10node_classPv_PvPv.s"
}
#pragma pop
+396 -207
View File
@@ -1,211 +1,400 @@
/* c_xyz.cpp autogenerated by split.py v0.1 at 2020-12-27 17:32:37.883661 */
//
// Generated By: dol2asm
// Translation Unit: c_xyz
//
#include "SComponent/c_xyz.h"
#include "msl_c/math.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_xyz.h"
extern "C" {
void __ml__4cXyzCFf(void);
void cM_atan2s__Fff(void);
void __dt__4cXyzFv(void);
void normZP__4cXyzCFv(void);
void func_80361C24(void);
}
//
// Types:
//
extern float lbl_80450AEC[4]; // array to force 2 step load, MSL_C.PPCEABI.bare.H::__f32_epsilon
extern f32 lbl_80450AE0[4];
const static f32 lbl_80455070 = 1.0f;
const static f32 lbl_80455078 = 1.25f;
const static f32 lbl_8045507C = 1000000.0f;
const static f32 lbl_80455080 = 0.0f;
const static f32 lbl_80455084 = 32.0f;
const static f64 lbl_80455088 = 0.5;
const static f64 lbl_80455090 = 3.0;
const static f64 lbl_80455098 = 0.0;
// __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*(f32 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/(f32 scale) const {
Vec ret;
PSVECScale(this, &ret, /* 1.0 */ FLOAT_LABEL(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->isNearZeroSquare() == false) {
PSVECNormalize(this, &vec);
} else {
vec = lbl_80430CF4;
}
return cXyz(vec);
}
inline void normToUpZIfNearZero(Vec& vec) {
if (cXyz(vec).isNearZeroSquare()) {
vec.x = FLOAT_LABEL(lbl_80455080);
vec.y = FLOAT_LABEL(lbl_80455080);
vec.z = FLOAT_LABEL(lbl_80455070);
const Vec v = {0, 0, 1};
vec = v;
}
}
// normZC__4cXyzCFv
cXyz cXyz::normZC(void) const {
Vec outVec;
if (this->isNearZeroSquare() == false) {
PSVECNormalize(this, &outVec);
} else {
outVec = (*this * FLOAT_LABEL(lbl_80455078) * FLOAT_LABEL(lbl_8045507C)).normZP();
normToUpZIfNearZero(outVec);
}
return outVec;
}
// normalize__4cXyzFv
cXyz cXyz::normalize(void) {
PSVECNormalize(this, this);
return *this;
}
// normalizeZP__4cXyzFv
cXyz cXyz::normalizeZP(void) {
if (this->isNearZeroSquare() == false) {
PSVECNormalize(this, this);
} else {
*this = lbl_80430CF4;
}
return *this;
}
// normalizeRS__4cXyzFv
bool cXyz::normalizeRS(void) {
if (this->isNearZeroSquare()) {
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 fabsf(this->x) <
/* 32 */ FLOAT_LABEL(lbl_80455084) *
/* MSL_C.PPCEABI.bare.H::__f32_epsilon */ lbl_80450AEC[0] &&
fabsf(this->y) < FLOAT_LABEL(lbl_80455084) * lbl_80450AEC[0] &&
fabsf(this->z) < FLOAT_LABEL(lbl_80455084) * lbl_80450AEC[0];
}
// atan2sX_Z__4cXyzCFv
s16 cXyz::atan2sX_Z(void) const {
return cM_atan2s(this->x, this->z);
}
inline f32 VecMagXZ(const cXyz& xyz) {
return cXyz(xyz.x, FLOAT_LABEL(lbl_80455080), xyz.z).getSquareMag();
// return cXyz(xyz.x, 0, xyz.z).getSquareMag(); // matches, but screws up data
}
// this belongs to msl_c/math.h, but can't go there currently because of data
inline f32 sqrtf(f32 mag) {
if (mag > FLOAT_LABEL(lbl_80455080)) {
f64 tmpd = __frsqrte(mag);
tmpd = DOUBLE_LABEL(lbl_80455088) * tmpd * (DOUBLE_LABEL(lbl_80455090) - tmpd * tmpd * mag);
tmpd = DOUBLE_LABEL(lbl_80455088) * tmpd * (DOUBLE_LABEL(lbl_80455090) - tmpd * tmpd * mag);
return DOUBLE_LABEL(lbl_80455088) * tmpd *
(DOUBLE_LABEL(lbl_80455090) - tmpd * tmpd * mag) * mag;
} else if (mag < DOUBLE_LABEL(lbl_80455098)) {
return /* __float_nan */ lbl_80450AE0[0];
} else if (fpclassify(mag) == 1) {
return /* __float_nan */ lbl_80450AE0[0];
} else {
return mag;
}
}
// atan2sY_XZ__4cXyzCFv
#ifdef NON_MATCHING
s16 cXyz::atan2sY_XZ(void) const {
f32 mag = VecMagXZ(*this); // would match if the float literal in VecMagXZ would be used
return cM_atan2s(-this->y, sqrtf(mag));
}
#else
asm s16 cXyz::atan2sY_XZ(void) const {
nofralloc
#include "SComponent/c_xyz/asm/func_80267150.s"
}
#endif
extern "C" {
// __sinit_c_xyz_cpp
asm void __sinit_c_xyz_cpp(void) {
nofralloc
#include "SComponent/c_xyz/asm/func_80267290.s"
}
struct Vec {
};
struct cXyz {
/* 80009184 */ ~cXyz();
/* 80266AE4 */ void operator+(Vec const&) const;
/* 80266B34 */ void operator-(Vec const&) const;
/* 80266B84 */ void operator*(f32) const;
/* 80266BD0 */ void operator*(Vec const&) const;
/* 80266C18 */ void operator/(f32) const;
/* 80266C6C */ void getCrossProduct(Vec const&) const;
/* 80266CBC */ void outprod(Vec const&) const;
/* 80266CE4 */ void norm() const;
/* 80266D30 */ void normZP() const;
/* 80266DC4 */ void normZC() const;
/* 80266EF4 */ void normalize();
/* 80266F48 */ void normalizeZP();
/* 80266FDC */ void normalizeRS();
/* 8026702C */ bool operator==(Vec const&) const;
/* 8026706C */ bool operator!=(Vec const&) const;
/* 802670AC */ void isZero() const;
/* 80267128 */ void atan2sX_Z() const;
/* 80267150 */ void atan2sY_XZ() const;
};
//
// Forward References:
//
extern "C" extern f32 Zero__4cXyz[3];
extern "C" extern u8 BaseX__4cXyz[12];
extern "C" extern u8 BaseY__4cXyz[12];
extern "C" extern u8 BaseZ__4cXyz[12];
extern "C" void __pl__4cXyzCFRC3Vec();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void __ml__4cXyzCFf();
extern "C" void __ml__4cXyzCFRC3Vec();
extern "C" void __dv__4cXyzCFf();
extern "C" void getCrossProduct__4cXyzCFRC3Vec();
extern "C" void outprod__4cXyzCFRC3Vec();
extern "C" void norm__4cXyzCFv();
extern "C" void normZP__4cXyzCFv();
extern "C" void normZC__4cXyzCFv();
extern "C" void normalize__4cXyzFv();
extern "C" void normalizeZP__4cXyzFv();
extern "C" void normalizeRS__4cXyzFv();
extern "C" bool __eq__4cXyzCFRC3Vec();
extern "C" bool __ne__4cXyzCFRC3Vec();
extern "C" void isZero__4cXyzCFv();
extern "C" void atan2sX_Z__4cXyzCFv();
extern "C" void atan2sY_XZ__4cXyzCFv();
extern "C" void __sinit_c_xyz_cpp();
extern "C" extern f32 Zero__4cXyz[3];
extern "C" extern u8 BaseX__4cXyz[12];
extern "C" extern u8 BaseY__4cXyz[12];
extern "C" extern u8 BaseZ__4cXyz[12];
//
// External References:
//
void cM_atan2s(f32, f32);
extern "C" extern u32 __float_nan;
extern "C" extern u32 __float_epsilon;
extern "C" void __dt__4cXyzFv();
extern "C" void cM_atan2s__Fff();
extern "C" void PSVECAdd();
extern "C" void PSVECSubtract();
extern "C" void PSVECScale();
extern "C" void PSVECNormalize();
extern "C" void PSVECSquareMag();
extern "C" void PSVECCrossProduct();
extern "C" void __register_global_object();
extern "C" extern u32 __float_nan;
extern "C" extern u32 __float_epsilon;
//
// Declarations:
//
/* 80266AE4-80266B34 0050+00 s=0 e=103 z=300 None .text __pl__4cXyzCFRC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::operator+(Vec const& param_0) const {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/__pl__4cXyzCFRC3Vec.s"
}
#pragma pop
/* 80266B34-80266B84 0050+00 s=0 e=196 z=1082 None .text __mi__4cXyzCFRC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::operator-(Vec const& param_0) const {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/__mi__4cXyzCFRC3Vec.s"
}
#pragma pop
/* 80266B84-80266BD0 004C+00 s=1 e=99 z=158 None .text __ml__4cXyzCFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::operator*(f32 param_0) const {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/__ml__4cXyzCFf.s"
}
#pragma pop
/* 80266BD0-80266C18 0048+00 s=0 e=7 z=0 None .text __ml__4cXyzCFRC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::operator*(Vec const& param_0) const {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/__ml__4cXyzCFRC3Vec.s"
}
#pragma pop
/* ############################################################################################## */
/* 80455070-80455074 0004+00 s=3 e=0 z=0 None .sdata2 @2201 */
SECTION_SDATA2 static u32 lit_2201 = 0x3F800000;
/* 80266C18-80266C6C 0054+00 s=0 e=3 z=12 None .text __dv__4cXyzCFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::operator/(f32 param_0) const {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/__dv__4cXyzCFf.s"
}
#pragma pop
/* 80266C6C-80266CBC 0050+00 s=1 e=0 z=0 None .text getCrossProduct__4cXyzCFRC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::getCrossProduct(Vec const& param_0) const {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/getCrossProduct__4cXyzCFRC3Vec.s"
}
#pragma pop
/* 80266CBC-80266CE4 0028+00 s=0 e=7 z=6 None .text outprod__4cXyzCFRC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::outprod(Vec const& param_0) const {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/outprod__4cXyzCFRC3Vec.s"
}
#pragma pop
/* 80266CE4-80266D30 004C+00 s=0 e=10 z=1 None .text norm__4cXyzCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::norm() const {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/norm__4cXyzCFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80430CE8-80430CF4 000C+00 s=1 e=0 z=0 None .bss @2450 */
static u8 lit_2450[12];
/* 80430CF4-80430D00 000C+00 s=3 e=50 z=42 None .bss Zero__4cXyz */
f32 Zero__4cXyz[3];
/* 80455074-80455078 0004+00 s=4 e=0 z=0 None .sdata2 @2288 */
SECTION_SDATA2 static u32 lit_2288 = 0x2EAFEBFF;
/* 80266D30-80266DC4 0094+00 s=1 e=4 z=0 None .text normZP__4cXyzCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::normZP() const {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/normZP__4cXyzCFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 8039A868-8039A878 000C+04 s=1 e=0 z=0 None .rodata @2299 */
SECTION_RODATA static u8 const lit_2299[12 + 4 /* padding */] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
/* padding */
0x00, 0x00, 0x00, 0x00,
};
/* 80455078-8045507C 0004+00 s=1 e=0 z=0 None .sdata2 @2325 */
SECTION_SDATA2 static u32 lit_2325 = 0x3FA00000;
/* 8045507C-80455080 0004+00 s=1 e=0 z=0 None .sdata2 @2326 */
SECTION_SDATA2 static u32 lit_2326 = 0x49742400;
/* 80455080-80455084 0004+00 s=3 e=0 z=0 None .sdata2 @2327 */
SECTION_SDATA2 static u8 lit_2327[4] = {
0x00, 0x00, 0x00, 0x00,
};
/* 80266DC4-80266EF4 0130+00 s=0 e=0 z=2 None .text normZC__4cXyzCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::normZC() const {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/normZC__4cXyzCFv.s"
}
#pragma pop
/* 80266EF4-80266F48 0054+00 s=0 e=13 z=17 None .text normalize__4cXyzFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::normalize() {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/normalize__4cXyzFv.s"
}
#pragma pop
/* 80266F48-80266FDC 0094+00 s=0 e=19 z=59 None .text normalizeZP__4cXyzFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::normalizeZP() {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/normalizeZP__4cXyzFv.s"
}
#pragma pop
/* 80266FDC-8026702C 0050+00 s=0 e=2 z=3 None .text normalizeRS__4cXyzFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::normalizeRS() {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/normalizeRS__4cXyzFv.s"
}
#pragma pop
/* 8026702C-8026706C 0040+00 s=0 e=5 z=9 None .text __eq__4cXyzCFRC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool cXyz::operator==(Vec const& param_0) const {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/__eq__4cXyzCFRC3Vec.s"
}
#pragma pop
/* 8026706C-802670AC 0040+00 s=0 e=6 z=6 None .text __ne__4cXyzCFRC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool cXyz::operator!=(Vec const& param_0) const {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/__ne__4cXyzCFRC3Vec.s"
}
#pragma pop
/* ############################################################################################## */
/* 80455084-80455088 0004+00 s=1 e=0 z=0 None .sdata2 @2405 */
SECTION_SDATA2 static u32 lit_2405 = 0x42000000;
/* 802670AC-80267128 007C+00 s=0 e=4 z=7 None .text isZero__4cXyzCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::isZero() const {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/isZero__4cXyzCFv.s"
}
#pragma pop
/* 80267128-80267150 0028+00 s=0 e=81 z=85 None .text atan2sX_Z__4cXyzCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::atan2sX_Z() const {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/atan2sX_Z__4cXyzCFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80455088-80455090 0008+00 s=1 e=0 z=0 None .sdata2 @2446 */
SECTION_SDATA2 static u8 lit_2446[8] = {
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80455090-80455098 0008+00 s=1 e=0 z=0 None .sdata2 @2447 */
SECTION_SDATA2 static u8 lit_2447[8] = {
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80455098-804550A0 0008+00 s=1 e=0 z=0 None .sdata2 @2448 */
SECTION_SDATA2 static u8 lit_2448[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80267150-80267290 0140+00 s=0 e=21 z=33 None .text atan2sY_XZ__4cXyzCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::atan2sY_XZ() const {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/atan2sY_XZ__4cXyzCFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80430D00-80430D0C 000C+00 s=1 e=0 z=0 None .bss @2451 */
static u8 lit_2451[12];
/* 80430D0C-80430D18 000C+00 s=1 e=3 z=9 None .bss BaseX__4cXyz */
u8 BaseX__4cXyz[12];
/* 80430D18-80430D24 000C+00 s=1 e=0 z=0 None .bss @2452 */
static u8 lit_2452[12];
/* 80430D24-80430D30 000C+00 s=1 e=14 z=8 None .bss BaseY__4cXyz */
u8 BaseY__4cXyz[12];
/* 80430D30-80430D3C 000C+00 s=1 e=0 z=0 None .bss @2453 */
static u8 lit_2453[12];
/* 80430D3C-80430D48 000C+00 s=1 e=15 z=5 None .bss BaseZ__4cXyz */
u8 BaseZ__4cXyz[12];
/* 80430D48-80430D54 000C+00 s=1 e=0 z=0 None .bss @2454 */
static u8 lit_2454[12];
/* 80430D54-80430D60 000C+00 s=1 e=0 z=0 None .bss BaseXY__4cXyz */
static u8 BaseXY__4cXyz[12];
/* 80430D60-80430D6C 000C+00 s=1 e=0 z=0 None .bss @2455 */
static u8 lit_2455[12];
/* 80430D6C-80430D78 000C+00 s=1 e=0 z=0 None .bss BaseXZ__4cXyz */
static u8 BaseXZ__4cXyz[12];
/* 80430D78-80430D84 000C+00 s=1 e=0 z=0 None .bss @2456 */
static u8 lit_2456[12];
/* 80430D84-80430D90 000C+00 s=1 e=0 z=0 None .bss BaseYZ__4cXyz */
static u8 BaseYZ__4cXyz[12];
/* 80430D90-80430D9C 000C+00 s=1 e=0 z=0 None .bss @2457 */
static u8 lit_2457[12];
/* 80430D9C-80430DA8 000C+00 s=1 e=0 z=0 None .bss BaseXYZ__4cXyz */
static u8 BaseXYZ__4cXyz[12];
/* 80267290-802673F4 0164+00 s=0 e=1 z=0 None .text __sinit_c_xyz_cpp */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void __sinit_c_xyz_cpp() {
nofralloc
#include "asm/SSystem/SComponent/c_xyz/__sinit_c_xyz_cpp.s"
}
#pragma pop