mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-18 06:15:20 -04:00
J3duclip, fop_actor_mng and related stuff (#131)
* J3DUClipper sinit * sincosTable_ etc * decompile JMATrigonometric sinit * f_op_actor_mng * move f_op_actor_mng and parts of mDo_ext * J3DSys sinit * f_op_scene_req * failed matching attempt for decodeSZS__9JKRDecompFPUcPUcUlUl * mX -> x * fix mCull and fopAcM_prm_class members * fix a few function parameters * move missing NON_MATCHING * remove some unneeded data * turns out that data was not unused * remove unused asm * readd asm deleted by accident
This commit is contained in:
+2
-13
@@ -753,10 +753,6 @@ struct JMath {
|
||||
static u8 sincosTable_[65536];
|
||||
};
|
||||
|
||||
struct JKRFileLoader {
|
||||
/* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*);
|
||||
};
|
||||
|
||||
struct JASKernel {
|
||||
/* 80290B08 */ void getAramHeap();
|
||||
};
|
||||
@@ -796,12 +792,6 @@ struct J3DTevBlock {
|
||||
/* 80110E80 */ void setTevColor(u32, J3DGXColorS10 const*);
|
||||
};
|
||||
|
||||
struct J3DSys {
|
||||
/* 8031073C */ void reinitGX();
|
||||
|
||||
static u8 mCurrentMtx[48];
|
||||
};
|
||||
|
||||
struct J3DShape {
|
||||
/* 80315300 */ void loadPreDrawSetting() const;
|
||||
|
||||
@@ -3854,7 +3844,6 @@ extern "C" f32 Zero__4cXyz[3];
|
||||
extern "C" u8 BaseX__4cXyz[12];
|
||||
extern "C" u8 BaseY__4cXyz[12];
|
||||
extern "C" u8 BaseZ__4cXyz[12];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
extern "C" u8 mCurrentMtx__6J3DSys[48];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" extern u32 g_whiteColor;
|
||||
@@ -17982,7 +17971,7 @@ bool daAlink_c::procServiceWaitInit() {
|
||||
commonProcInit(SERVICE_WAIT);
|
||||
setSingleAnimeBase(0x90);
|
||||
mNormalSpeed = 0.0f;
|
||||
mNext.mAngle.mY = mCollisionRot.mY;
|
||||
mNext.mAngle.y = mCollisionRot.y;
|
||||
field_0x2f98 = 4;
|
||||
return true;
|
||||
}
|
||||
@@ -36001,7 +35990,7 @@ void daPy_py_c::setSumouLoseHeadUp() {
|
||||
|
||||
/* 80141874-8014187C 13C1B4 0008+00 1/0 0/0 0/0 .text getGiantPuzzleAimAngle__9daPy_py_cCFv */
|
||||
s16 daPy_py_c::getGiantPuzzleAimAngle() const {
|
||||
return mCollisionRot.mY;
|
||||
return mCollisionRot.y;
|
||||
}
|
||||
|
||||
/* 8014187C-80141880 13C1BC 0004+00 1/0 0/0 0/0 .text setGoronSideMove__9daPy_py_cFP10fopAc_ac_c
|
||||
|
||||
@@ -38,10 +38,6 @@ struct JMath {
|
||||
static u8 sincosTable_[65536];
|
||||
};
|
||||
|
||||
struct J3DSys {
|
||||
/* 8031073C */ void reinitGX();
|
||||
};
|
||||
|
||||
struct J3DShape {
|
||||
static u8 sOldVcdVatCmd[4];
|
||||
};
|
||||
@@ -174,7 +170,6 @@ extern "C" extern void* __vt__18J3DAnmTransformKey[5];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" extern u32 __float_nan;
|
||||
extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
|
||||
|
||||
@@ -193,7 +193,6 @@ extern "C" u8 dist_table__12dAttention_c[6552];
|
||||
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
extern "C" extern u32 __float_nan;
|
||||
extern "C" extern u32 __float_max;
|
||||
extern "C" extern u8 struct_80450D64[4];
|
||||
|
||||
@@ -180,10 +180,6 @@ struct J3DUClipper {
|
||||
/* 80273A44 */ void clip(f32 const (*)[4], Vec*, Vec*) const;
|
||||
};
|
||||
|
||||
struct J3DSys {
|
||||
/* 8031073C */ void reinitGX();
|
||||
};
|
||||
|
||||
struct J3DShape {
|
||||
/* 80315300 */ void loadPreDrawSetting() const;
|
||||
|
||||
@@ -435,7 +431,6 @@ extern "C" u8 mClipper__14mDoLib_clipper[92];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_env_light[4880];
|
||||
extern "C" extern u8 g_envHIO[68];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" u8 mBackColor__13mDoGph_gInf_c[4];
|
||||
extern "C" extern u8 g_clearColor[4];
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
//
|
||||
|
||||
#include "d/d_resorce.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
+1
-1
@@ -1862,7 +1862,7 @@ static asm void dStage_getName(s16 param_0, s8 param_1) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dStage_getName2(s16 param_0, s8 param_1) {
|
||||
asm const char* dStage_getName2(s16 param_0, s8 param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/d_stage/dStage_getName2__FsSc.s"
|
||||
}
|
||||
|
||||
+773
-593
File diff suppressed because it is too large
Load Diff
+111
-172
@@ -3,65 +3,11 @@
|
||||
// Translation Unit: f_op/f_op_scene_req
|
||||
//
|
||||
|
||||
// #include "f_op/f_op_scene_req.h"
|
||||
#include "f_op/f_op_scene_req.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct scene_request_class {};
|
||||
|
||||
struct scene_class {};
|
||||
|
||||
struct request_of_phase_process_class {};
|
||||
|
||||
struct process_node_class {};
|
||||
|
||||
struct node_create_request_method_class {};
|
||||
|
||||
struct node_create_request {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void fopScnRq_phase_ClearOverlap__FP19scene_request_class();
|
||||
extern "C" static void fopScnRq_phase_Execute__FP19scene_request_class();
|
||||
extern "C" static void fopScnRq_phase_IsDoingOverlap__FP19scene_request_class();
|
||||
extern "C" static void fopScnRq_phase_IsDoneOverlap__FP19scene_request_class();
|
||||
extern "C" static void fopScnRq_phase_Done__FP19scene_request_class();
|
||||
extern "C" static void fopScnRq_Execute__FP19scene_request_class();
|
||||
extern "C" static void fopScnRq_PostMethod__FPvP19scene_request_class();
|
||||
extern "C" static void fopScnRq_Cancel__FP19scene_request_class();
|
||||
extern "C" static void fopScnRq_FadeRequest__FsUs();
|
||||
extern "C" void fopScnRq_Request__FiP11scene_classsPvsUs();
|
||||
extern "C" void fopScnRq_ReRequest__FUisPv();
|
||||
extern "C" void fopScnRq_Handler__Fv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void fopOvlpM_ToldAboutID__FUi();
|
||||
extern "C" void fopOvlpM_IsDone__Fv();
|
||||
extern "C" void fopOvlpM_IsDoingReq__Fv();
|
||||
extern "C" void fopOvlpM_ClearOfReq__Fv();
|
||||
extern "C" void fopOvlpM_Request__FsUs();
|
||||
extern "C" void fopOvlpM_Cancel__Fv();
|
||||
extern "C" void fopScnPause_Enable__FP11scene_class();
|
||||
extern "C" void fopScnPause_Disable__FP11scene_class();
|
||||
extern "C" void fpcEx_SearchByID__FUi();
|
||||
extern "C" void fpcNdRq_Execute__FP19node_create_request();
|
||||
extern "C" void fpcNdRq_Delete__FP19node_create_request();
|
||||
extern "C" void fpcNdRq_Handler__Fv();
|
||||
extern "C" void fpcNdRq_Request__FUliP18process_node_classsPvP32node_create_request_method_class();
|
||||
extern "C" void fpcNdRq_ReRequest__FUisPv();
|
||||
extern "C" void cPhs_Set__FP30request_of_phase_process_classPPFPv_i();
|
||||
extern "C" void cPhs_Do__FP30request_of_phase_process_classPv();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _restgpr_26();
|
||||
#include "f_op/f_op_overlap_mng.h"
|
||||
#include "f_pc/f_pc_executor.h"
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
@@ -69,170 +15,163 @@ extern "C" void _restgpr_26();
|
||||
|
||||
/* 8001EE34-8001EE64 019774 0030+00 1/0 0/0 0/0 .text
|
||||
* fopScnRq_phase_ClearOverlap__FP19scene_request_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void fopScnRq_phase_ClearOverlap(scene_request_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_scene_req/fopScnRq_phase_ClearOverlap__FP19scene_request_class.s"
|
||||
static cPhs__Step fopScnRq_phase_ClearOverlap(scene_request_class* param_0) {
|
||||
if (fopOvlpM_ClearOfReq() == 1) {
|
||||
return cPhs_UNK_2;
|
||||
} else {
|
||||
return cPhs_ZERO_e;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8001EE64-8001EE84 0197A4 0020+00 2/0 0/0 0/0 .text
|
||||
* fopScnRq_phase_Execute__FP19scene_request_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void fopScnRq_phase_Execute(scene_request_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_scene_req/fopScnRq_phase_Execute__FP19scene_request_class.s"
|
||||
static cPhs__Step fopScnRq_phase_Execute(scene_request_class* param_0) {
|
||||
return (cPhs__Step)fpcNdRq_Execute(¶m_0->mCrtReq);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8001EE84-8001EEB4 0197C4 0030+00 1/0 0/0 0/0 .text
|
||||
* fopScnRq_phase_IsDoingOverlap__FP19scene_request_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void fopScnRq_phase_IsDoingOverlap(scene_request_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_scene_req/fopScnRq_phase_IsDoingOverlap__FP19scene_request_class.s"
|
||||
static cPhs__Step fopScnRq_phase_IsDoingOverlap(scene_request_class* param_0) {
|
||||
if (fopOvlpM_IsDoingReq() == 1) {
|
||||
return cPhs_UNK_2;
|
||||
} else {
|
||||
return cPhs_ZERO_e;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8001EEB4-8001EEE4 0197F4 0030+00 1/0 0/0 0/0 .text
|
||||
* fopScnRq_phase_IsDoneOverlap__FP19scene_request_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void fopScnRq_phase_IsDoneOverlap(scene_request_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_scene_req/fopScnRq_phase_IsDoneOverlap__FP19scene_request_class.s"
|
||||
static cPhs__Step fopScnRq_phase_IsDoneOverlap(scene_request_class* param_0) {
|
||||
if (fopOvlpM_IsDone() == 1) {
|
||||
return cPhs_UNK_2;
|
||||
} else {
|
||||
return cPhs_ZERO_e;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450CE0-80450CE8 0001E0 0004+04 2/2 0/0 0/0 .sbss l_fopScnRq_IsUsingOfOverlap */
|
||||
static u8 l_fopScnRq_IsUsingOfOverlap[4 + 4 /* padding */];
|
||||
static s32 l_fopScnRq_IsUsingOfOverlap;
|
||||
|
||||
/* 8001EEE4-8001EF24 019824 0040+00 2/0 0/0 0/0 .text fopScnRq_phase_Done__FP19scene_request_class
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void fopScnRq_phase_Done(scene_request_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_scene_req/fopScnRq_phase_Done__FP19scene_request_class.s"
|
||||
static cPhs__Step fopScnRq_phase_Done(scene_request_class* pScnRq) {
|
||||
if (pScnRq->mCrtReq.mParameter != 1) {
|
||||
fopScnPause_Disable((scene_class*)fpcEx_SearchByID(pScnRq->mCrtReq.mCreatingID));
|
||||
}
|
||||
l_fopScnRq_IsUsingOfOverlap = 0;
|
||||
return cPhs_UNK_2;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8001EF24-8001EF6C 019864 0048+00 1/0 0/0 0/0 .text fopScnRq_Execute__FP19scene_request_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void fopScnRq_Execute(scene_request_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_scene_req/fopScnRq_Execute__FP19scene_request_class.s"
|
||||
static void fopScnRq_Execute(scene_request_class* pScnRq) {
|
||||
int tmp = cPhs_Do(&pScnRq->mReqPhsProcCls, pScnRq);
|
||||
switch (tmp) {
|
||||
case 2: {
|
||||
fopScnRq_Execute(pScnRq);
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8001EF6C-8001EFB0 0198AC 0044+00 1/0 0/0 0/0 .text
|
||||
* fopScnRq_PostMethod__FPvP19scene_request_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void fopScnRq_PostMethod(void* param_0, scene_request_class* param_1) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_scene_req/fopScnRq_PostMethod__FPvP19scene_request_class.s"
|
||||
static int fopScnRq_PostMethod(void* param_1, scene_request_class* pScnRq) {
|
||||
if (pScnRq->mFadeRequest) {
|
||||
fopScnPause_Enable((scene_class*)param_1);
|
||||
fopOvlpM_ToldAboutID(((scene_class*)param_1)->field_0x04);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8001EFB0-8001EFF0 0198F0 0040+00 1/0 0/0 0/0 .text fopScnRq_Cancel__FP19scene_request_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void fopScnRq_Cancel(scene_request_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_scene_req/fopScnRq_Cancel__FP19scene_request_class.s"
|
||||
static int fopScnRq_Cancel(scene_request_class* pScnRq) {
|
||||
if (pScnRq->mFadeRequest && !fopOvlpM_Cancel()) {
|
||||
return 0;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8001EFF0-8001F034 019930 0044+00 1/1 0/0 0/0 .text fopScnRq_FadeRequest__FsUs */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void fopScnRq_FadeRequest(s16 param_0, u16 param_1) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_scene_req/fopScnRq_FadeRequest__FsUs.s"
|
||||
static scene_request_class* fopScnRq_FadeRequest(s16 param_1, u16 param_2) {
|
||||
request_base_class* tmp = NULL;
|
||||
|
||||
if (l_fopScnRq_IsUsingOfOverlap == 0 && (tmp = fopOvlpM_Request(param_1, param_2), tmp != 0)) {
|
||||
l_fopScnRq_IsUsingOfOverlap = 1;
|
||||
}
|
||||
|
||||
return (scene_request_class*)tmp;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A38C8-803A38D8 -00001 0010+00 1/1 0/0 0/0 .data submethod$2274 */
|
||||
SECTION_DATA static void* submethod[4] = {
|
||||
(void*)fopScnRq_Execute__FP19scene_request_class,
|
||||
(void*)fopScnRq_Cancel__FP19scene_request_class,
|
||||
(void*)NULL,
|
||||
(void*)fopScnRq_PostMethod__FPvP19scene_request_class,
|
||||
static node_create_request_method_class submethod = {
|
||||
(process_method_func)fopScnRq_Execute,
|
||||
(process_method_func)fopScnRq_Cancel,
|
||||
NULL,
|
||||
(process_method_func)fopScnRq_PostMethod,
|
||||
};
|
||||
|
||||
/* 803A38D8-803A38F8 -00001 0020+00 0/1 0/0 0/0 .data noFadeFase$2275 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* noFadeFase[8] = {
|
||||
(void*)fopScnRq_phase_Execute__FP19scene_request_class,
|
||||
(void*)fopScnRq_phase_Done__FP19scene_request_class,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
static cPhs__Handler noFadeFase[8] = {
|
||||
(cPhs__Handler)fopScnRq_phase_Execute,
|
||||
(cPhs__Handler)fopScnRq_phase_Done,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 803A38F8-803A3918 -00001 0020+00 0/1 0/0 0/0 .data fadeFase$2276 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* fadeFase[8] = {
|
||||
(void*)fopScnRq_phase_IsDoingOverlap__FP19scene_request_class,
|
||||
(void*)fopScnRq_phase_IsDoneOverlap__FP19scene_request_class,
|
||||
(void*)fopScnRq_phase_Execute__FP19scene_request_class,
|
||||
(void*)fopScnRq_phase_ClearOverlap__FP19scene_request_class,
|
||||
(void*)fopScnRq_phase_IsDoneOverlap__FP19scene_request_class,
|
||||
(void*)fopScnRq_phase_Done__FP19scene_request_class,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
static cPhs__Handler fadeFase[8] = {
|
||||
(cPhs__Handler)fopScnRq_phase_IsDoingOverlap,
|
||||
(cPhs__Handler)fopScnRq_phase_IsDoneOverlap,
|
||||
(cPhs__Handler)fopScnRq_phase_Execute,
|
||||
(cPhs__Handler)fopScnRq_phase_ClearOverlap,
|
||||
(cPhs__Handler)fopScnRq_phase_IsDoneOverlap,
|
||||
(cPhs__Handler)fopScnRq_phase_Done,
|
||||
NULL,
|
||||
NULL,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 8001F034-8001F0FC 019974 00C8+00 0/0 3/3 0/0 .text fopScnRq_Request__FiP11scene_classsPvsUs */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void fopScnRq_Request(int param_0, scene_class* param_1, s16 param_2, void* param_3,
|
||||
s16 param_4, u16 param_5) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_scene_req/fopScnRq_Request__FiP11scene_classsPvsUs.s"
|
||||
s32 fopScnRq_Request(int param_1, scene_class* param_2, s16 param_3, void* param_4, s16 param_5,
|
||||
u16 param_6) {
|
||||
s32 ret;
|
||||
int tmp = 0;
|
||||
cPhs__Handler* phase_handler_table;
|
||||
phase_handler_table = noFadeFase;
|
||||
scene_request_class* pScnReq = (scene_request_class*)fpcNdRq_Request(
|
||||
sizeof(scene_request_class), param_1, (process_node_class*)param_2, param_3, param_4,
|
||||
&submethod);
|
||||
|
||||
if (!pScnReq) {
|
||||
ret = -1;
|
||||
} else {
|
||||
if (param_5 != 0x7fff) {
|
||||
phase_handler_table = fadeFase;
|
||||
tmp = (int)fopScnRq_FadeRequest(param_5, param_6);
|
||||
if (!tmp) {
|
||||
fpcNdRq_Delete(&pScnReq->mCrtReq);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
pScnReq->mFadeRequest = tmp;
|
||||
cPhs_Set(&pScnReq->mReqPhsProcCls, phase_handler_table);
|
||||
ret = pScnReq->mCrtReq.mRequestId;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8001F0FC-8001F11C 019A3C 0020+00 0/0 1/1 0/0 .text fopScnRq_ReRequest__FUisPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void fopScnRq_ReRequest(unsigned int param_0, s16 param_1, void* param_2) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_scene_req/fopScnRq_ReRequest__FUisPv.s"
|
||||
s32 fopScnRq_ReRequest(unsigned int param_1, s16 param_2, void* param_3) {
|
||||
return fpcNdRq_ReRequest(param_1, param_2, param_3);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8001F11C-8001F13C 019A5C 0020+00 0/0 1/1 0/0 .text fopScnRq_Handler__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void fopScnRq_Handler() {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_scene_req/fopScnRq_Handler__Fv.s"
|
||||
void fopScnRq_Handler(void) {
|
||||
fpcNdRq_Handler();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
+138
-204
@@ -4,7 +4,12 @@
|
||||
//
|
||||
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "JSystem/JKernel/JKRArchive.h"
|
||||
#include "JSystem/JKernel/JKRAssertHeap.h"
|
||||
#include "JSystem/JKernel/JKRExpHeap.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
@@ -18,16 +23,6 @@ struct mDoExt_morf_c {
|
||||
/* 8000FBC0 */ void frameUpdate();
|
||||
};
|
||||
|
||||
struct cXyz {
|
||||
/* 80009184 */ ~cXyz();
|
||||
/* 800125DC */ cXyz();
|
||||
/* 80266AE4 */ void operator+(Vec const&) const;
|
||||
/* 80266B34 */ void operator-(Vec const&) const;
|
||||
/* 80266B84 */ void operator*(f32) const;
|
||||
/* 80266CBC */ void outprod(Vec const&) const;
|
||||
/* 80266F48 */ void normalizeZP();
|
||||
};
|
||||
|
||||
struct mDoExt_invisibleModel {
|
||||
/* 8000E53C */ void create(J3DModel*, u8);
|
||||
/* 8000E6C8 */ void entryJoint(cXyz*);
|
||||
@@ -230,19 +225,6 @@ struct JUTCacheFont {
|
||||
/* 802DD188 */ JUTCacheFont(ResFONT const*, u32, JKRHeap*);
|
||||
};
|
||||
|
||||
struct JKRFileLoader {
|
||||
/* 802D4308 */ void removeResource(void*, JKRFileLoader*);
|
||||
};
|
||||
|
||||
struct JKRAssertHeap {
|
||||
/* 802D1368 */ void create(JKRHeap*);
|
||||
};
|
||||
|
||||
struct JKRArchive {
|
||||
/* 802D5B38 */ void getGlbResource(u32, char const*, JKRArchive*);
|
||||
/* 802D6770 */ void findIdResource(u16) const;
|
||||
};
|
||||
|
||||
struct J3DZMode {};
|
||||
|
||||
struct J3DVertexBuffer {
|
||||
@@ -2405,314 +2387,265 @@ asm void mDoExt_setupStageTexture(J3DModelData* param_0) {
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450C20-80450C24 000120 0004+00 2/1 0/0 0/0 .sbss AssertHeap */
|
||||
static u8 AssertHeap[4];
|
||||
static JKRAssertHeap* AssertHeap;
|
||||
|
||||
/* 8000ECC0-8000ECE4 009600 0024+00 0/0 1/1 0/0 .text mDoExt_createAssertHeap__FP7JKRHeap
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_createAssertHeap(JKRHeap* param_0) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_createAssertHeap__FP7JKRHeap.s"
|
||||
JKRAssertHeap* mDoExt_createAssertHeap(JKRHeap* param_0) {
|
||||
return AssertHeap = JKRAssertHeap::create(param_0);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000ECE4-8000ECEC -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getAssertHeap__Fv */
|
||||
u32 mDoExt_getAssertHeap() {
|
||||
return *(u32*)(&AssertHeap);
|
||||
JKRAssertHeap* mDoExt_getAssertHeap() {
|
||||
return AssertHeap;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450C24-80450C28 000124 0004+00 2/1 0/0 0/0 .sbss DbPrintHeap */
|
||||
static u8 DbPrintHeap[4];
|
||||
static JKRExpHeap* DbPrintHeap;
|
||||
|
||||
/* 8000ECEC-8000ED14 00962C 0028+00 0/0 1/1 0/0 .text mDoExt_createDbPrintHeap__FUlP7JKRHeap */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_createDbPrintHeap(u32 param_0, JKRHeap* param_1) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_createDbPrintHeap__FUlP7JKRHeap.s"
|
||||
JKRExpHeap* mDoExt_createDbPrintHeap(u32 param_0, JKRHeap* param_1) {
|
||||
return DbPrintHeap = JKRExpHeap::create(param_0, param_1, true);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000ED14-8000ED1C -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getDbPrintHeap__Fv */
|
||||
u32 mDoExt_getDbPrintHeap() {
|
||||
return *(u32*)(&DbPrintHeap);
|
||||
JKRExpHeap* mDoExt_getDbPrintHeap() {
|
||||
return DbPrintHeap;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450C28-80450C2C 000128 0004+00 2/1 3/3 0/0 .sbss gameHeap */
|
||||
extern u8 gameHeap[4];
|
||||
u8 gameHeap[4];
|
||||
JKRExpHeap* gameHeap;
|
||||
|
||||
/* 8000ED1C-8000ED50 00965C 0034+00 0/0 1/1 0/0 .text mDoExt_createGameHeap__FUlP7JKRHeap
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_createGameHeap(u32 param_0, JKRHeap* param_1) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_createGameHeap__FUlP7JKRHeap.s"
|
||||
JKRExpHeap* mDoExt_createGameHeap(u32 param_0, JKRHeap* param_1) {
|
||||
gameHeap = JKRExpHeap::create(param_0, param_1, true);
|
||||
gameHeap->field_0x6c = 1;
|
||||
return gameHeap;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000ED50-8000ED58 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getGameHeap__Fv */
|
||||
u32 mDoExt_getGameHeap() {
|
||||
return *(u32*)(&gameHeap);
|
||||
JKRHeap* mDoExt_getGameHeap() {
|
||||
return gameHeap;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450C2C-80450C30 00012C 0004+00 2/1 3/3 0/0 .sbss zeldaHeap */
|
||||
extern u8 zeldaHeap[4];
|
||||
u8 zeldaHeap[4];
|
||||
JKRExpHeap* zeldaHeap;
|
||||
|
||||
/* 8000ED58-8000ED80 009698 0028+00 0/0 1/1 0/0 .text mDoExt_createZeldaHeap__FUlP7JKRHeap */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_createZeldaHeap(u32 param_0, JKRHeap* param_1) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_createZeldaHeap__FUlP7JKRHeap.s"
|
||||
JKRExpHeap* mDoExt_createZeldaHeap(u32 param_0, JKRHeap* param_1) {
|
||||
return zeldaHeap = JKRExpHeap::create(param_0, param_1, true);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000ED80-8000ED88 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getZeldaHeap__Fv */
|
||||
u32 mDoExt_getZeldaHeap() {
|
||||
return *(u32*)(&zeldaHeap);
|
||||
JKRExpHeap* mDoExt_getZeldaHeap() {
|
||||
return zeldaHeap;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450C30-80450C34 000130 0004+00 2/1 1/1 0/0 .sbss commandHeap */
|
||||
extern u8 commandHeap[4];
|
||||
u8 commandHeap[4];
|
||||
JKRExpHeap* commandHeap;
|
||||
|
||||
/* 8000ED88-8000EDB0 0096C8 0028+00 0/0 1/1 0/0 .text mDoExt_createCommandHeap__FUlP7JKRHeap */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_createCommandHeap(u32 param_0, JKRHeap* param_1) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_createCommandHeap__FUlP7JKRHeap.s"
|
||||
JKRExpHeap* mDoExt_createCommandHeap(u32 param_0, JKRHeap* param_1) {
|
||||
return commandHeap = JKRExpHeap::create(param_0, param_1, true);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000EDB0-8000EDB8 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getCommandHeap__Fv */
|
||||
u32 mDoExt_getCommandHeap() {
|
||||
return *(u32*)(&commandHeap);
|
||||
JKRExpHeap* mDoExt_getCommandHeap() {
|
||||
return commandHeap;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450C34-80450C38 000134 0004+00 3/1 5/5 0/0 .sbss archiveHeap */
|
||||
extern u8 archiveHeap[4];
|
||||
u8 archiveHeap[4];
|
||||
JKRExpHeap* archiveHeap;
|
||||
|
||||
/* 8000EDB8-8000EDEC 0096F8 0034+00 0/0 1/1 0/0 .text mDoExt_createArchiveHeap__FUlP7JKRHeap */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_createArchiveHeap(u32 param_0, JKRHeap* param_1) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_createArchiveHeap__FUlP7JKRHeap.s"
|
||||
JKRExpHeap* mDoExt_createArchiveHeap(u32 param_0, JKRHeap* param_1) {
|
||||
archiveHeap = JKRExpHeap::create(param_0, param_1, true);
|
||||
archiveHeap->field_0x6c = 1;
|
||||
return archiveHeap;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000EDEC-8000EDF4 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getArchiveHeap__Fv */
|
||||
u32 mDoExt_getArchiveHeap() {
|
||||
return *(u32*)(&archiveHeap);
|
||||
JKRExpHeap* mDoExt_getArchiveHeap() {
|
||||
return archiveHeap;
|
||||
}
|
||||
|
||||
/* 8000EDF4-8000EDFC -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getArchiveHeapPtr__Fv */
|
||||
u32 mDoExt_getArchiveHeapPtr() {
|
||||
return *(u32*)(&archiveHeap);
|
||||
JKRExpHeap* mDoExt_getArchiveHeapPtr() {
|
||||
return archiveHeap;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450C38-80450C3C 000138 0004+00 2/1 0/0 0/0 .sbss j2dHeap */
|
||||
static u8 j2dHeap[4];
|
||||
static JKRExpHeap* j2dHeap;
|
||||
|
||||
/* 8000EDFC-8000EE30 00973C 0034+00 0/0 1/1 0/0 .text mDoExt_createJ2dHeap__FUlP7JKRHeap
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_createJ2dHeap(u32 param_0, JKRHeap* param_1) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_createJ2dHeap__FUlP7JKRHeap.s"
|
||||
JKRExpHeap* mDoExt_createJ2dHeap(u32 param_0, JKRHeap* param_1) {
|
||||
j2dHeap = JKRExpHeap::create(param_0, param_1, true);
|
||||
j2dHeap->field_0x6c = 1;
|
||||
return j2dHeap;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000EE30-8000EE38 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getJ2dHeap__Fv */
|
||||
u32 mDoExt_getJ2dHeap() {
|
||||
return *(u32*)(&j2dHeap);
|
||||
JKRExpHeap* mDoExt_getJ2dHeap() {
|
||||
return j2dHeap;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450C3C-80450C40 00013C 0004+00 1/0 0/0 0/0 .sbss HostIOHeap */
|
||||
static u8 HostIOHeap[4];
|
||||
static JKRExpHeap* HostIOHeap;
|
||||
|
||||
/* 8000EE38-8000EE40 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getHostIOHeap__Fv */
|
||||
u32 mDoExt_getHostIOHeap() {
|
||||
return *(u32*)(&HostIOHeap);
|
||||
JKRExpHeap* mDoExt_getHostIOHeap() {
|
||||
return HostIOHeap;
|
||||
}
|
||||
|
||||
/* 8000EE40-8000EED8 009780 0098+00 3/3 0/0 0/0 .text mDoExt_createSolidHeap__FUlP7JKRHeapUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void mDoExt_createSolidHeap(u32 param_0, JKRHeap* param_1, u32 param_2) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_createSolidHeap__FUlP7JKRHeapUl.s"
|
||||
static JKRSolidHeap* mDoExt_createSolidHeap(u32 pSize, JKRHeap* pHeap, u32 pAlignment) {
|
||||
if (pHeap == NULL) {
|
||||
pHeap = JKRHeap::getCurrentHeap();
|
||||
}
|
||||
JKRSolidHeap* createdHeap;
|
||||
if (pSize == 0 || pSize == 0xFFFFFFFF) {
|
||||
createdHeap = JKRSolidHeap::create(0xFFFFFFFFFF, pHeap, false);
|
||||
} else {
|
||||
pSize = ALIGN_NEXT(pSize, 0x10);
|
||||
pSize += 0x80;
|
||||
if (0x10 < pAlignment) {
|
||||
pSize = (pAlignment - 0x10 + pSize);
|
||||
}
|
||||
createdHeap = JKRSolidHeap::create(pSize, pHeap, false);
|
||||
}
|
||||
if (createdHeap != NULL) {
|
||||
createdHeap->setErrorFlag(true);
|
||||
}
|
||||
return createdHeap;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000EED8-8000EF20 009818 0048+00 0/0 2/2 0/0 .text mDoExt_createSolidHeapFromGame__FUlUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_createSolidHeapFromGame(u32 param_0, u32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGame__FUlUl.s"
|
||||
JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32 pSize, u32 pAlignment) {
|
||||
return mDoExt_createSolidHeap(pSize, mDoExt_getGameHeap(), pAlignment);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000EF20-8000EF68 009860 0048+00 0/0 1/1 0/0 .text mDoExt_createSolidHeapFromSystem__FUlUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_createSolidHeapFromSystem(u32 param_0, u32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromSystem__FUlUl.s"
|
||||
JKRSolidHeap* mDoExt_createSolidHeapFromSystem(u32 pSize, u32 pAlignment) {
|
||||
return mDoExt_createSolidHeap(pSize, mDoExt_getZeldaHeap(), pAlignment);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000EF68-8000EFBC 0098A8 0054+00 2/2 0/0 0/0 .text
|
||||
* mDoExt_createSolidHeapToCurrent__FPP7JKRHeapUlP7JKRHeapUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void mDoExt_createSolidHeapToCurrent(JKRHeap** param_0, u32 param_1, JKRHeap* param_2,
|
||||
u32 param_3) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_createSolidHeapToCurrent__FPP7JKRHeapUlP7JKRHeapUl.s"
|
||||
static JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap** pOutHeap, u32 pSize,
|
||||
JKRHeap* pParentHeap, u32 pAlignment) {
|
||||
if (pOutHeap != NULL) {
|
||||
*pOutHeap = JKRHeap::getCurrentHeap();
|
||||
}
|
||||
JKRSolidHeap* resultHeap = mDoExt_createSolidHeap(pSize, pParentHeap, pAlignment);
|
||||
if (resultHeap != NULL) {
|
||||
mDoExt_setCurrentHeap(resultHeap);
|
||||
}
|
||||
return resultHeap;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450C40-80450C44 000140 0004+00 2/2 0/0 0/0 .sbss mDoExt_SaveCurrentHeap */
|
||||
static u8 mDoExt_SaveCurrentHeap[4];
|
||||
static JKRHeap* mDoExt_SaveCurrentHeap;
|
||||
|
||||
/* 8000EFBC-8000EFF4 0098FC 0038+00 1/1 3/3 0/0 .text
|
||||
* mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_createSolidHeapToCurrent(u32 param_0, JKRHeap* param_1, u32 param_2) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl.s"
|
||||
JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32 pSize, JKRHeap* pParentHeap, u32 pAlignment) {
|
||||
return mDoExt_createSolidHeapToCurrent(&mDoExt_SaveCurrentHeap, pSize, pParentHeap, pAlignment);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000EFF4-8000F044 009934 0050+00 0/0 2/2 0/0 .text
|
||||
* mDoExt_createSolidHeapFromGameToCurrent__FPP7JKRHeapUlUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_createSolidHeapFromGameToCurrent(JKRHeap** param_0, u32 param_1, u32 param_2) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGameToCurrent__FPP7JKRHeapUlUl.s"
|
||||
JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(JKRHeap** pOutHeap, u32 pSize,
|
||||
u32 pAlignment) {
|
||||
return mDoExt_createSolidHeapToCurrent(pOutHeap, pSize, mDoExt_getGameHeap(), pAlignment);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000F044-8000F08C 009984 0048+00 0/0 7/7 0/0 .text
|
||||
* mDoExt_createSolidHeapFromGameToCurrent__FUlUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_createSolidHeapFromGameToCurrent(u32 param_0, u32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGameToCurrent__FUlUl.s"
|
||||
JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32 pSize, u32 pAlignment) {
|
||||
return mDoExt_createSolidHeapToCurrent(pSize, mDoExt_getGameHeap(), pAlignment);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803740FC-803740FC 00075C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_8037411F =
|
||||
"親ヒープがExpでないのでアジャストできません %08x %08x\n";
|
||||
SECTION_DEAD static char const* const stringBase_80374156 = "adjustSize失敗 %08x\n";
|
||||
#pragma pop
|
||||
// #pragma push
|
||||
// #pragma force_active on
|
||||
// SECTION_DEAD static char const* const stringBase_8037411F =
|
||||
// "親ヒープがExpでないのでアジャストできません %08x %08x\n";
|
||||
// SECTION_DEAD static char const* const stringBase_80374156 = "adjustSize失敗 %08x\n";
|
||||
// #pragma pop
|
||||
|
||||
/* 8000F08C-8000F158 0099CC 00CC+00 1/1 11/11 0/0 .text mDoExt_adjustSolidHeap__FP12JKRSolidHeap
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_adjustSolidHeap(JKRSolidHeap* param_0) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_adjustSolidHeap__FP12JKRSolidHeap.s"
|
||||
u32 mDoExt_adjustSolidHeap(JKRSolidHeap* pHeap) {
|
||||
if (pHeap == NULL) {
|
||||
return -1;
|
||||
}
|
||||
JKRHeap* parentHeap = pHeap->getParent();
|
||||
if (parentHeap == NULL || parentHeap->getHeapType() != 'EXPH') {
|
||||
OSReport_Error("親ヒープがExpでないのでアジャストできません %08x %08x\n", pHeap,
|
||||
parentHeap);
|
||||
return -1;
|
||||
} else {
|
||||
s32 result = pHeap->adjustSize();
|
||||
if (result < 0) {
|
||||
OSReport_Error("adjustSize失敗 %08x\n", pHeap);
|
||||
return -1;
|
||||
} else {
|
||||
// this probably indicates that 0x80 is some constant, maybe from a sizeof(JKRSolidHeap)
|
||||
// with alignment?
|
||||
if (result >= (u32)0x80) {
|
||||
result -= 0x80;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000F158-8000F18C 009A98 0034+00 0/0 1/1 0/0 .text
|
||||
* mDoExt_adjustSolidHeapToSystem__FP12JKRSolidHeap */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_adjustSolidHeapToSystem(JKRSolidHeap* param_0) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_adjustSolidHeapToSystem__FP12JKRSolidHeap.s"
|
||||
u32 mDoExt_adjustSolidHeapToSystem(JKRSolidHeap* pHeap) {
|
||||
u32 result = mDoExt_adjustSolidHeap(pHeap);
|
||||
mDoExt_restoreCurrentHeap();
|
||||
return result;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000F18C-8000F1AC 009ACC 0020+00 0/0 13/13 0/0 .text mDoExt_destroySolidHeap__FP12JKRSolidHeap
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_destroySolidHeap(JKRSolidHeap* param_0) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_destroySolidHeap__FP12JKRSolidHeap.s"
|
||||
void mDoExt_destroySolidHeap(JKRSolidHeap* pHeap) {
|
||||
pHeap->destroy();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000F1AC-8000F1CC 009AEC 0020+00 0/0 7/7 0/0 .text mDoExt_destroyExpHeap__FP10JKRExpHeap */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_destroyExpHeap(JKRExpHeap* param_0) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_destroyExpHeap__FP10JKRExpHeap.s"
|
||||
void mDoExt_destroyExpHeap(JKRExpHeap* pHeap) {
|
||||
pHeap->destroy();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000F1CC-8000F1EC 009B0C 0020+00 1/1 78/78 2/2 .text mDoExt_setCurrentHeap__FP7JKRHeap
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_setCurrentHeap(JKRHeap* param_0) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_setCurrentHeap__FP7JKRHeap.s"
|
||||
JKRHeap* mDoExt_setCurrentHeap(JKRHeap* pHeap) {
|
||||
return pHeap->becomeCurrentHeap();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000F1EC-8000F1F4 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getCurrentHeap__Fv */
|
||||
u32 mDoExt_getCurrentHeap() {
|
||||
return *(u32*)(&JKRHeap::sCurrentHeap);
|
||||
JKRHeap* mDoExt_getCurrentHeap() {
|
||||
return JKRHeap::getCurrentHeap();
|
||||
}
|
||||
|
||||
/* 8000F1F4-8000F220 009B34 002C+00 1/1 9/9 0/0 .text mDoExt_restoreCurrentHeap__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_restoreCurrentHeap() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_restoreCurrentHeap__Fv.s"
|
||||
void mDoExt_restoreCurrentHeap() {
|
||||
mDoExt_SaveCurrentHeap->becomeCurrentHeap();
|
||||
mDoExt_SaveCurrentHeap = NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8000F220-8000F26C 009B60 004C+00 0/0 1/1 0/0 .text mDoExt_resIDToIndex__FP10JKRArchiveUs */
|
||||
#pragma push
|
||||
@@ -3221,7 +3154,8 @@ asm void mDoExt_3Dline_c::init(u16 param_0, int param_1, int param_2) {
|
||||
#pragma pop
|
||||
|
||||
/* 800125DC-800125E0 00CF1C 0004+00 1/1 9/9 0/0 .text __ct__4cXyzFv */
|
||||
cXyz::cXyz() {
|
||||
// cXyz::cXyz() {
|
||||
extern "C" void __ct__4cXyzFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
|
||||
+2
-57
@@ -11,32 +11,16 @@
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct mDoLib_clipper {
|
||||
/* 8001528C */ void setup(f32, f32, f32, f32);
|
||||
|
||||
static u8 mClipper[92];
|
||||
static f32 mSystemFar;
|
||||
static f32 mFovyRate;
|
||||
};
|
||||
|
||||
struct _GXTlutObj {};
|
||||
|
||||
struct _GXTexObj {};
|
||||
|
||||
struct Vec {};
|
||||
|
||||
struct ResTIMG {};
|
||||
|
||||
struct JMath {
|
||||
static u8 sincosTable_[65536];
|
||||
};
|
||||
|
||||
struct J3DUClipper {
|
||||
/* 80015590 */ ~J3DUClipper();
|
||||
/* 80273778 */ void init();
|
||||
/* 8027378C */ void calcViewFrustum();
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
@@ -95,12 +79,8 @@ asm void mDoLib_setResTimgObj(ResTIMG const* param_0, _GXTexObj* param_1, u32 pa
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803DD8D8-803DD8E4 00A5F8 000C+00 1/1 0/0 0/0 .bss @3727 */
|
||||
static u8 lit_3727[12];
|
||||
|
||||
/* 803DD8E4-803DD940 00A604 005C+00 2/2 5/5 5/5 .bss mClipper__14mDoLib_clipper */
|
||||
u8 mDoLib_clipper::mClipper[92];
|
||||
J3DUClipper mDoLib_clipper::mClipper;
|
||||
|
||||
/* 80450C70-80450C74 000170 0004+00 1/1 2/2 4/4 .sbss mSystemFar__14mDoLib_clipper */
|
||||
f32 mDoLib_clipper::mSystemFar;
|
||||
@@ -173,39 +153,4 @@ asm void mDoLib_pos2camera(Vec* param_0, Vec* param_1) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_lib/mDoLib_pos2camera__FP3VecP3Vec.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A3498-803A34A8 0005B8 000C+04 2/2 0/0 0/0 .data __vt__11J3DUClipper */
|
||||
SECTION_DATA extern void* __vt__11J3DUClipper[3 + 1 /* padding */] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__11J3DUClipperFv,
|
||||
/* padding */
|
||||
NULL,
|
||||
};
|
||||
|
||||
/* 80015544-80015590 00FE84 004C+00 0/0 1/0 0/0 .text __sinit_m_Do_lib_cpp */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void __sinit_m_Do_lib_cpp() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_lib/__sinit_m_Do_lib_cpp.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80015544, __sinit_m_Do_lib_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 80015590-800155D8 00FED0 0048+00 2/1 0/0 0/0 .text __dt__11J3DUClipperFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DUClipper::~J3DUClipper() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_lib/__dt__11J3DUClipperFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#pragma pop
|
||||
Reference in New Issue
Block a user