move remaining old progress (#186)

* move remaining old progress

* remove asm
This commit is contained in:
TakaRikka
2022-03-26 10:17:17 -07:00
committed by GitHub
parent d596658f89
commit 215421ba51
76 changed files with 387 additions and 1260 deletions
-1
View File
@@ -36,7 +36,6 @@ extern "C" void cM_atan2s__Fff();
extern "C" void cM_rndFX__Ff();
extern "C" void _savegpr_25();
extern "C" void _restgpr_25();
extern "C" extern u8 struct_80451124[4];
//
// Declarations:
-1
View File
@@ -253,7 +253,6 @@ static u8 g_preLoadHIO[4];
/* 80451124-80451128 -00001 0004+00 3/3 7/7 38/38 .sbss None */
/* 80451124 0001+00 data_80451124 None */
/* 80451125 0003+00 data_80451125 None */
extern s8 struct_80451124;
s8 struct_80451124;
s8 data_80451125;
+2 -2
View File
@@ -28,8 +28,8 @@ fapGm_HIO_c::fapGm_HIO_c()
mDisplayProcessID = false;
mMemBlockOff = false;
mColor.set(255, 255, 255, 255);
field_0xc = 0.9f;
field_0x10 = 0.6f;
mLROnValue = 0.9f;
mLROffValue = 0.6f;
mLetterTopColor.set(255, 150, 0, 255);
mLetterBottomColor.set(255, 120, 0, 255);
mLetterTopShadowColor.set(0, 0, 0, 255);
+2 -2
View File
@@ -6,20 +6,20 @@
#include "f_op/f_op_actor_mng.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JKernel/JKRSolidHeap.h"
#include "MSL_C/math.h"
#include "SSystem/SComponent/c_lib.h"
#include "SSystem/SComponent/c_malloc.h"
#include "dol2asm.h"
#include "global.h"
#include "MSL_C/math.h"
// #include "d/com/d_com_inf_game.h"
#include "JSystem/J3DGraphBase/J3DSys.h"
#include "JSystem/J3DU/J3DUClipper.h"
#include "MSL_C/math.h"
#include "SSystem/SComponent/c_math.h"
#include "d/d_stage.h"
#include "f_op/f_op_actor.h"
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_lib.h"
#include "MSL_C/math.h"
//
// Types:
+13 -25
View File
@@ -4,6 +4,8 @@
//
#include "f_op/f_op_camera.h"
#include "d/com/d_com_inf_game.h"
#include "d/s/d_s_play.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_draw_tag.h"
@@ -33,40 +35,26 @@ extern "C" void fpcMtd_Execute__FP20process_method_classPv();
extern "C" void fpcMtd_IsDelete__FP20process_method_classPv();
extern "C" void fpcMtd_Delete__FP20process_method_classPv();
extern "C" void fpcMtd_Create__FP20process_method_classPv();
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 struct_80451124[4];
//
// Declarations:
//
/* 8001E140-8001E180 018A80 0040+00 1/0 0/0 0/0 .text fopCam_Draw__FP12camera_class */
#if 0
// TODO: move dComIfG
static s32 fopCam_Draw(camera_class* pCamera) {
s32 tmp = 1;
s32 cam_proc = 1;
if (g_dComIfG_gameInfo.getPlay().isPauseFlag() == false) {
tmp = fpcLf_DrawMethod(pCamera->pMthd, pCamera);
if (!dComIfGp_isPauseFlag()) {
cam_proc = fpcLf_DrawMethod(pCamera->pMthd, pCamera);
}
return tmp;
return cam_proc;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm s32 fopCam_Draw(camera_class* param_0) {
nofralloc
#include "asm/f_op/f_op_camera/fopCam_Draw__FP12camera_class.s"
}
#pragma pop
#endif
/* 8001E180-8001E1C8 018AC0 0048+00 1/0 0/0 0/0 .text fopCam_Execute__FP12camera_class */
// Matches, but wrong registers
#ifdef NONMATCHING
static void fopCam_Execute(camera_class* pCamera) {
if (!g_dComIfG_gameInfo.getPlay().isPauseFlag() && !lbl_80451124) {
if (!dComIfGp_isPauseFlag() && dScnPly_c::isPause()) {
fpcMtd_Execute((process_method_class*)pCamera->pMthd, pCamera);
}
}
@@ -84,22 +72,22 @@ static asm void fopCam_Execute(camera_class* param_0) {
/* 8001E1C8-8001E21C 018B08 0054+00 1/0 0/0 0/0 .text fopCam_IsDelete__FP12camera_class
*/
int fopCam_IsDelete(camera_class* pCamera) {
int tmp = fpcMtd_IsDelete((process_method_class*)pCamera->pMthd, pCamera);
if (tmp == 1) {
int delete_stat = fpcMtd_IsDelete((process_method_class*)pCamera->pMthd, pCamera);
if (delete_stat == 1) {
fopDwTg_DrawQTo(&pCamera->pCreateTag);
}
return tmp;
return delete_stat;
}
/* 8001E21C-8001E270 018B5C 0054+00 1/0 0/0 0/0 .text fopCam_Delete__FP12camera_class */
int fopCam_Delete(camera_class* pCamera) {
int tmp = fpcMtd_Delete((process_method_class*)pCamera->pMthd, pCamera);
if (tmp == 1) {
int delete_stat = fpcMtd_Delete((process_method_class*)pCamera->pMthd, pCamera);
if (delete_stat == 1) {
fopDwTg_DrawQTo(&pCamera->pCreateTag);
}
return tmp;
return delete_stat;
}
/* 8001E270-8001E308 018BB0 0098+00 1/0 0/0 0/0 .text fopCam_Create__FPv */
+82 -142
View File
@@ -3,172 +3,112 @@
// Translation Unit: f_op/f_op_kankyo_mng
//
// #include "f_op/f_op_kankyo_mng.h"
#include "f_op/f_op_kankyo_mng.h"
#include "SSystem/SComponent/c_lib.h"
#include "SSystem/SComponent/c_malloc.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct layer_class {};
struct dPa_levelEcallBack {};
struct dKy_tevstr_c {};
struct csXyz {};
struct _GXColor {};
struct cXyz {};
struct dPa_control_c {
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
cXyz const*, f32);
};
struct cMl {
/* 80263228 */ void memalignB(int, u32);
};
//
// Forward References:
//
extern "C" static void fopKyM_CreateAppend__Fv();
extern "C" static void createAppend__FiP4cXyzP4cXyz();
extern "C" void fopKyM_Delete__FPv();
extern "C" static void fopKyM_Create__FsPFPv_iPv();
extern "C" void fopKyM_create__FsiP4cXyzP4cXyzPFPv_i();
extern "C" void fopKyM_fastCreate__FsiP4cXyzP4cXyzPFPv_i();
extern "C" void fopKyM_createWpillar__FPC4cXyzfi();
extern "C" void fopKyM_createMpillar__FPC4cXyzf();
//
// External References:
//
extern "C" void fpcLy_CurrentLayer__Fv();
extern "C" void fpcM_Delete__FPv();
extern "C" void fpcM_FastCreate__FsPFPv_iPvPv();
extern "C" void fpcSCtRq_Request__FP11layer_classsPFPvPv_iPvPv();
extern "C" void
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void memalignB__3cMlFiUl();
extern "C" void cLib_memSet__FPviUl();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern u8 g_dComIfG_gameInfo[122384];
//
// Declarations:
//
/* ############################################################################################## */
/* 80451C68-80451C70 000268 0004+04 2/2 0/0 0/0 .sdata2 @3713 */
SECTION_SDATA2 static f32 lit_3713[1 + 1 /* padding */] = {
1.0f,
/* padding */
0.0f,
};
/* 8001F660-8001F6B8 019FA0 0058+00 2/2 0/0 0/0 .text fopKyM_CreateAppend__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void fopKyM_CreateAppend() {
nofralloc
#include "asm/f_op/f_op_kankyo_mng/fopKyM_CreateAppend__Fv.s"
static fopKyM_prm_class* fopKyM_CreateAppend() {
fopKyM_prm_class* params =
static_cast<fopKyM_prm_class*>(cMl::memalignB(-4, sizeof(fopKyM_prm_class)));
if (params != NULL) {
cLib_memSet(params, 0, sizeof(fopKyM_prm_class));
params->field_0xc.set(1.0f, 1.0f, 1.0f);
}
return params;
}
#pragma pop
/* 8001F6B8-8001F748 019FF8 0090+00 2/2 0/0 0/0 .text createAppend__FiP4cXyzP4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void createAppend(int param_0, cXyz* param_1, cXyz* param_2) {
nofralloc
#include "asm/f_op/f_op_kankyo_mng/createAppend__FiP4cXyzP4cXyz.s"
static fopKyM_prm_class* createAppend(int param_0, cXyz* param_1, cXyz* param_2) {
fopKyM_prm_class* params = fopKyM_CreateAppend();
if (params == NULL) {
return NULL;
}
if (param_1 != NULL) {
params->field_0x0 = *param_1;
}
if (param_2 != NULL) {
params->field_0xc = *param_2;
}
params->field_0x18 = param_0;
return params;
}
#pragma pop
/* 8001F748-8001F768 01A088 0020+00 0/0 3/3 1/1 .text fopKyM_Delete__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void fopKyM_Delete(void* param_0) {
nofralloc
#include "asm/f_op/f_op_kankyo_mng/fopKyM_Delete__FPv.s"
void fopKyM_Delete(void* process) {
fpcM_Delete(process);
}
#pragma pop
/* 8001F768-8001F7B8 01A0A8 0050+00 2/2 0/0 0/0 .text fopKyM_Create__FsPFPv_iPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void fopKyM_Create(s16 param_0, int (*param_1)(void*), void* param_2) {
nofralloc
#include "asm/f_op/f_op_kankyo_mng/fopKyM_Create__FsPFPv_iPv.s"
static int fopKyM_Create(s16 procName, fopKyM_CreateFunc createFunc, void* process) {
return fpcM_Create(procName, createFunc, process);
}
#pragma pop
/* 8001F7B8-8001F818 01A0F8 0060+00 0/0 3/3 1/1 .text fopKyM_create__FsiP4cXyzP4cXyzPFPv_i */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void fopKyM_create(s16 param_0, int param_1, cXyz* param_2, cXyz* param_3,
int (*param_4)(void*)) {
nofralloc
#include "asm/f_op/f_op_kankyo_mng/fopKyM_create__FsiP4cXyzP4cXyzPFPv_i.s"
int fopKyM_create(s16 procName, int param_1, cXyz* param_2, cXyz* param_3,
fopKyM_CreateFunc createFunc) {
fopKyM_prm_class* params = createAppend(param_1, param_2, param_3);
if (params == NULL) {
return -1;
}
return fopKyM_Create(procName, createFunc, params);
}
#pragma pop
/* 8001F818-8001F87C 01A158 0064+00 0/0 1/1 0/0 .text fopKyM_fastCreate__FsiP4cXyzP4cXyzPFPv_i */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void fopKyM_fastCreate(s16 param_0, int param_1, cXyz* param_2, cXyz* param_3,
int (*param_4)(void*)) {
nofralloc
#include "asm/f_op/f_op_kankyo_mng/fopKyM_fastCreate__FsiP4cXyzP4cXyzPFPv_i.s"
base_process_class* fopKyM_fastCreate(s16 procName, int param_1, cXyz* param_2, cXyz* param_3,
fopKyM_CreateFunc createFunc) {
fopKyM_prm_class* params = createAppend(param_1, param_2, param_3);
if (params == NULL) {
return NULL;
}
return fpcM_FastCreate(procName, createFunc, NULL, params);
}
#pragma pop
/* 8001F87C-8001F90C 01A1BC 0090+00 0/0 6/6 37/37 .text fopKyM_createWpillar__FPC4cXyzfi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void fopKyM_createWpillar(cXyz const* param_0, f32 param_1, int param_2) {
nofralloc
#include "asm/f_op/f_op_kankyo_mng/fopKyM_createWpillar__FPC4cXyzfi.s"
}
#pragma pop
int fopKyM_createWpillar(cXyz const* param_0, f32 param_1, int param_2) {
fopKyM_prm_class* params = fopKyM_CreateAppend();
/* ############################################################################################## */
/* 804505C0-804505C8 000040 0004+04 1/1 0/0 0/0 .sdata m_name$3788 */
SECTION_SDATA static u8 m_name[4 + 4 /* padding */] = {
0x87,
0x57,
0x87,
0x58,
/* padding */
0x00,
0x00,
0x00,
0x00,
};
if (params == NULL) {
return -1;
}
params->field_0x0 = *param_0;
params->field_0xc.x = param_1;
params->field_0xc.y = param_1;
params->field_0xc.z = param_1;
params->field_0x18 = param_2;
return fopKyM_Create(PROC_WPILLAR, NULL, params);
}
/* 8001F90C-8001F9B4 01A24C 00A8+00 0/0 0/0 3/3 .text fopKyM_createMpillar__FPC4cXyzf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void fopKyM_createMpillar(cXyz const* param_0, f32 param_1) {
nofralloc
#include "asm/f_op/f_op_kankyo_mng/fopKyM_createMpillar__FPC4cXyzf.s"
int fopKyM_createMpillar(cXyz const* param_0, f32 param_1) {
static u16 m_name[2] = {
0x8757,
0x8758,
};
cXyz tmp;
tmp.x = param_1;
tmp.y = param_1;
tmp.z = param_1;
for (int i = 0; i < 2; i++) {
dComIfGp_particle_set(m_name[i], param_0, NULL, &tmp);
}
return -1;
}
#pragma pop
+31 -30
View File
@@ -4,6 +4,8 @@
//
#include "f_op/f_op_msg.h"
#include "d/msg/d_msg_class.h"
#include "d/s/d_s_play.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@@ -32,55 +34,54 @@ extern "C" void fpcMtd_Execute__FP20process_method_classPv();
extern "C" void fpcMtd_IsDelete__FP20process_method_classPv();
extern "C" void fpcMtd_Delete__FP20process_method_classPv();
extern "C" void fpcMtd_Create__FP20process_method_classPv();
extern "C" extern u8 struct_80451124[4];
//
// Declarations:
//
/* 8001F488-8001F4B0 019DC8 0028+00 1/0 0/0 0/0 .text fopMsg_Draw__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm int fopMsg_Draw(void* param_0) {
nofralloc
#include "asm/f_op/f_op_msg/fopMsg_Draw__FPv.s"
static int fopMsg_Draw(void* msg) {
msg_class* m = static_cast<msg_class*>(msg);
return fpcLf_DrawMethod(m->field_0xd8, msg);
}
#pragma pop
/* 8001F4B0-8001F4E8 019DF0 0038+00 1/0 0/0 0/0 .text fopMsg_Execute__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm int fopMsg_Execute(void* param_0) {
nofralloc
#include "asm/f_op/f_op_msg/fopMsg_Execute__FPv.s"
static int fopMsg_Execute(void* msg) {
msg_class* m = static_cast<msg_class*>(msg);
int stat = 1;
if (dScnPly_c::isPause()) {
stat = fpcMtd_Execute(&m->field_0xd8->mBase, msg);
}
return stat;
}
#pragma pop
/* 8001F4E8-8001F53C 019E28 0054+00 1/0 0/0 0/0 .text fopMsg_IsDelete__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm int fopMsg_IsDelete(void* param_0) {
nofralloc
#include "asm/f_op/f_op_msg/fopMsg_IsDelete__FPv.s"
static int fopMsg_IsDelete(void* msg) {
msg_class* m = static_cast<msg_class*>(msg);
int stat = fpcMtd_IsDelete(&m->field_0xd8->mBase, msg);
if (stat == 1) {
fopDwTg_DrawQTo(&m->field_0xc4);
}
return stat;
}
#pragma pop
/* 8001F53C-8001F588 019E7C 004C+00 1/0 0/0 0/0 .text fopMsg_Delete__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm int fopMsg_Delete(void* param_0) {
nofralloc
#include "asm/f_op/f_op_msg/fopMsg_Delete__FPv.s"
static int fopMsg_Delete(void* msg) {
msg_class* m = static_cast<msg_class*>(msg);
int stat = fpcMtd_Delete(&m->field_0xd8->mBase, msg);
fopDwTg_DrawQTo(&m->field_0xc4);
return stat;
}
#pragma pop
/* ############################################################################################## */
/* 80450CF0-80450CF8 0001F0 0004+04 1/1 0/0 0/0 .sbss fopMsg_MSG_TYPE */
static u8 fopMsg_MSG_TYPE[4 + 4 /* padding */];
static int fopMsg_MSG_TYPE;
/* 8001F588-8001F660 019EC8 00D8+00 1/0 0/0 0/0 .text fopMsg_Create__FPv */
#pragma push
+92 -145
View File
@@ -5,6 +5,9 @@
#include "f_op/f_op_msg_mng.h"
#include "JSystem/J2DGraph/J2DPane.h"
#include "SSystem/SComponent/c_malloc.h"
#include "d/com/d_com_inf_game.h"
#include "d/msg/d_msg_object.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@@ -12,42 +15,10 @@
// Types:
//
struct dStage_roomControl_c {
static u8 mProcID[4];
};
struct dMsgObject_c {
/* 80233D04 */ void setMessageIndex(u32, u32, bool);
/* 80233E70 */ void setMessageIndexDemo(u32, bool);
/* 80237A74 */ void setTalkPartner(fopAc_ac_c*);
/* 80238098 */ void endFlowGroup();
/* 8023826C */ void setTalkActor(fopAc_ac_c*);
};
struct dMeter2_c {
/* 8021F6EC */ void emphasisButtonDelete();
};
struct JMSMesgEntry_c {};
struct dMeter2Info_c {
/* 8021C250 */ void getString(u32, char*, JMSMesgEntry_c*);
};
struct cMl {
/* 80263228 */ void memalignB(int, u32);
};
struct JMath {
static u8 sincosTable_[65536];
};
struct J2DPicture {
/* 800202CC */ void setBlendRatio(f32, f32);
/* 80020338 */ void append(char const*, f32);
/* 80020368 */ void insert(char const*, u8, f32);
};
//
// Forward References:
//
@@ -104,11 +75,8 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_meter2_info[248];
extern "C" extern u8 g_MsgObject_HIO_c[1040];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u8 g_fpcNd_type[4 + 4 /* padding */];
extern "C" u8 mProcID__20dStage_roomControl_c[4];
//
@@ -116,44 +84,28 @@ extern "C" u8 mProcID__20dStage_roomControl_c[4];
//
/* 8001F9B4-8001FA24 01A2F4 0070+00 0/0 3/3 0/0 .text fopMsgM_setStageLayer__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void fopMsgM_setStageLayer(void* param_0) {
nofralloc
#include "asm/f_op/f_op_msg_mng/fopMsgM_setStageLayer__FPv.s"
s32 fopMsgM_setStageLayer(void* param_0) {
scene_class* scn = fopScnM_SearchByID(dStage_roomControl_c::getProcID());
int id = fopScnM_LayerID(scn);
return fpcM_ChangeLayerID(param_0, id);
}
#pragma pop
/* 8001FA24-8001FA44 01A364 0020+00 3/3 14/14 4/4 .text fopMsgM_SearchByID__FUi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm msg_class* fopMsgM_SearchByID(unsigned int param_0) {
nofralloc
#include "asm/f_op/f_op_msg_mng/fopMsgM_SearchByID__FUi.s"
msg_class* fopMsgM_SearchByID(unsigned int id) {
return (msg_class*)fpcEx_SearchByID(id);
}
#pragma pop
/* 8001FA44-8001FA4C 01A384 0008+00 0/0 2/2 0/0 .text fopMsgM_GetAppend__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void fopMsgM_GetAppend(void* param_0) {
nofralloc
#include "asm/f_op/f_op_msg_mng/fopMsgM_GetAppend__FPv.s"
fopMsg_prm_class* fopMsgM_GetAppend(void* msg) {
msg_class* m = static_cast<msg_class*>(msg);
return (fopMsg_prm_class*)m->field_0x0.mpUserData;
}
#pragma pop
/* 8001FA4C-8001FA6C 01A38C 0020+00 0/0 2/2 0/0 .text fopMsgM_Delete__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void fopMsgM_Delete(void* param_0) {
nofralloc
#include "asm/f_op/f_op_msg_mng/fopMsgM_Delete__FPv.s"
void fopMsgM_Delete(void* process) {
fpcM_Delete(process);
}
#pragma pop
/* ############################################################################################## */
/* 80451C70-80451C74 000270 0004+00 6/6 0/0 0/0 .sdata2 @3902 */
@@ -166,23 +118,47 @@ SECTION_SDATA2 static u8 lit_3902[4] = {
/* 8001FA6C-8001FB50 01A3AC 00E4+00 1/1 0/0 0/0 .text createAppend__FP10fopAc_ac_cP4cXyzPUlPUlUi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void createAppend(fopAc_ac_c* param_0, cXyz* param_1, u32* param_2, u32* param_3,
unsigned int param_4) {
nofralloc
#include "asm/f_op/f_op_msg_mng/createAppend__FP10fopAc_ac_cP4cXyzPUlPUlUi.s"
static fopMsg_prm_class* createAppend(fopAc_ac_c* param_0, cXyz* param_1, u32* param_2,
u32* param_3, unsigned int param_4) {
fopMsg_prm_class* params =
static_cast<fopMsg_prm_class*>(cMl::memalignB(-4, sizeof(fopMsg_prm_class)));
if (params == NULL) {
return NULL;
}
params->field_0x0 = param_0;
dMsgObject_setTalkActor(param_0);
if (param_2 != NULL) {
params->field_0x10 = *param_2;
}
if (param_3 != NULL) {
params->field_0x14 = *param_3;
}
if (param_1 != NULL) {
params->field_0x4 = *param_1;
} else {
f32 tmp_0 = FLOAT_LABEL(lit_3902);
cXyz tmp(tmp_0, tmp_0, tmp_0);
params->field_0x4 = tmp;
}
params->field_0x18 = param_4;
return params;
}
#pragma pop
/* 8001FB50-8001FC4C 01A490 00FC+00 1/1 0/0 0/0 .text createTimerAppend__FiUlUcUcffffUi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void createTimerAppend(int param_0, u32 param_1, u8 param_2, u8 param_3, f32 param_4,
f32 param_5, f32 param_6, f32 param_7, unsigned int param_8) {
static asm fopMsg_prm_timer* createTimerAppend(int param_0, u32 param_1, u8 param_2, u8 param_3,
f32 param_4, f32 param_5, f32 param_6, f32 param_7,
unsigned int param_8) {
nofralloc
#include "asm/f_op/f_op_msg_mng/createTimerAppend__FiUlUcUcffffUi.s"
}
@@ -190,34 +166,34 @@ static asm void createTimerAppend(int param_0, u32 param_1, u8 param_2, u8 param
/* 8001FC4C-8001FCC0 01A58C 0074+00 0/0 1/1 0/0 .text
* fopMsgM_create__FsP10fopAc_ac_cP4cXyzPUlPUlPFPv_i */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void fopMsgM_create(s16 param_0, fopAc_ac_c* param_1, cXyz* param_2, u32* param_3, u32* param_4,
int (*param_5)(void*)) {
nofralloc
#include "asm/f_op/f_op_msg_mng/fopMsgM_create__FsP10fopAc_ac_cP4cXyzPUlPUlPFPv_i.s"
s32 fopMsgM_create(s16 param_0, fopAc_ac_c* param_1, cXyz* param_2, u32* param_3, u32* param_4,
fopMsgCreateFunc createFunc) {
fopMsg_prm_class* params = createAppend(param_1, param_2, param_3, param_4, -1);
if (params == NULL) {
return -1;
}
return fpcSCtRq_Request(fpcLy_CurrentLayer(), param_0, (stdCreateFunc)createFunc, NULL, params);
}
#pragma pop
/* 8001FCC0-8001FD34 01A600 0074+00 0/0 2/2 0/0 .text fop_Timer_create__FsUcUlUcUcffffPFPv_i */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void fop_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3, u8 param_4, f32 param_5,
f32 param_6, f32 param_7, f32 param_8, int (*param_9)(void*)) {
nofralloc
#include "asm/f_op/f_op_msg_mng/fop_Timer_create__FsUcUlUcUcffffPFPv_i.s"
s32 fop_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3, u8 param_4, f32 param_5,
f32 param_6, f32 param_7, f32 param_8, fopMsgCreateFunc createFunc) {
fopMsg_prm_timer* timer_prm = createTimerAppend(param_1, param_2, param_3, param_4, param_5,
param_6, param_7, param_8, -1);
if (timer_prm == NULL) {
return -1;
}
return fpcSCtRq_Request(fpcLy_CurrentLayer(), param_0, (stdCreateFunc)createFunc, NULL,
timer_prm);
}
#pragma pop
/* ############################################################################################## */
/* 804505C8-804505D0 000048 0004+04 4/4 0/0 0/0 .sdata i_msgID */
SECTION_SDATA static u32 i_msgID[1 + 1 /* padding */] = {
0xFFFFFFFF,
/* padding */
0x00000000,
};
SECTION_SDATA static u32 i_msgID = 0xFFFFFFFF;
/* 8001FD34-8001FE84 01A674 0150+00 0/0 2/2 1/1 .text fopMsgM_messageSet__FUlP10fopAc_ac_cUl */
#pragma push
@@ -250,24 +226,15 @@ asm void fopMsgM_messageSetDemo(u32 param_0) {
#pragma pop
/* 800200C0-80020100 01AA00 0040+00 0/0 7/7 1/1 .text fopMsgM_messageGet__FPcUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void fopMsgM_messageGet(char* param_0, u32 param_1) {
nofralloc
#include "asm/f_op/f_op_msg_mng/fopMsgM_messageGet__FPcUl.s"
char* fopMsgM_messageGet(char* msg, u32 string_id) {
dMeter2Info_getString(string_id, msg, NULL);
return msg;
}
#pragma pop
/* 80020100-80020108 01AA40 0008+00 0/0 1/1 0/0 .text fopMsgM_setMessageID__FUi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void fopMsgM_setMessageID(unsigned int param_0) {
nofralloc
#include "asm/f_op/f_op_msg_mng/fopMsgM_setMessageID__FUi.s"
void fopMsgM_setMessageID(unsigned int msg_id) {
i_msgID = msg_id;
}
#pragma pop
/* 80020108-80020158 01AA48 0050+00 0/0 2/2 0/0 .text fopMsgM_Create__FsPFPv_iPv */
#pragma push
@@ -280,8 +247,8 @@ asm u32 fopMsgM_Create(s16 param_0, int (*param_1)(void*), void* param_2) {
#pragma pop
/* 80020158-80020160 -00001 0008+00 0/0 0/0 0/0 .text setAlpha__7J2DPaneFUc */
void J2DPane::setAlpha(u8 param_0) {
*(u8*)(((u8*)this) + 178) /* this->field_0xb2 */ = (u8)(param_0);
void J2DPane::setAlpha(u8 alpha) {
mAlpha = alpha;
}
/* ############################################################################################## */
@@ -327,52 +294,32 @@ asm void fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) {
#pragma pop
/* 800202CC-80020338 01AC0C 006C+00 0/0 2/0 0/0 .text setBlendRatio__10J2DPictureFff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPicture::setBlendRatio(f32 param_0, f32 param_1) {
nofralloc
#include "asm/f_op/f_op_msg_mng/setBlendRatio__10J2DPictureFff.s"
void J2DPicture::setBlendRatio(f32 param_0, f32 param_1) {
setBlendColorRatio(param_0, param_1);
setBlendAlphaRatio(param_0, param_1);
}
#pragma pop
/* 80020338-80020368 01AC78 0030+00 0/0 1/0 0/0 .text append__10J2DPictureFPCcf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPicture::append(char const* param_0, f32 param_1) {
nofralloc
#include "asm/f_op/f_op_msg_mng/append__10J2DPictureFPCcf.s"
void J2DPicture::append(char const* param_0, f32 param_1) {
insert(param_0, mTextureCount, param_1);
}
#pragma pop
/* 80020368-8002039C 01ACA8 0034+00 0/0 1/0 0/0 .text insert__10J2DPictureFPCcUcf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPicture::insert(char const* param_0, u8 param_1, f32 param_2) {
nofralloc
#include "asm/f_op/f_op_msg_mng/insert__10J2DPictureFPCcUcf.s"
void J2DPicture::insert(char const* param_0, u8 param_1, f32 param_2) {
insert(param_0, NULL, param_1, param_2);
}
#pragma pop
/* 8002039C-800203E0 01ACDC 0044+00 0/0 3/3 0/0 .text fopMsgM_createExpHeap__FUlP7JKRHeap
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JKRExpHeap* fopMsgM_createExpHeap(u32 param_0, JKRHeap* param_1) {
nofralloc
#include "asm/f_op/f_op_msg_mng/fopMsgM_createExpHeap__FUlP7JKRHeap.s"
JKRExpHeap* fopMsgM_createExpHeap(u32 param_0, JKRHeap* heap) {
if (heap == NULL) {
heap = mDoExt_getGameHeap();
}
return JKRExpHeap::create(param_0, heap, false);
}
#pragma pop
/* 800203E0-80020400 01AD20 0020+00 0/0 3/3 0/0 .text fopMsgM_destroyExpHeap__FP10JKRExpHeap */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void fopMsgM_destroyExpHeap(JKRExpHeap* param_0) {
nofralloc
#include "asm/f_op/f_op_msg_mng/fopMsgM_destroyExpHeap__FP10JKRExpHeap.s"
void fopMsgM_destroyExpHeap(JKRExpHeap* heap) {
heap->destroy();
}
#pragma pop
+13 -28
View File
@@ -6,6 +6,7 @@
#include "f_op/f_op_overlap.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_overlap_mng.h"
//
// Forward References:
@@ -34,44 +35,28 @@ extern "C" void cReq_Create__FP18request_base_classUc();
//
/* 8001E37C-8001E3A4 018CBC 0028+00 1/0 0/0 0/0 .text fopOvlp_Draw__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void fopOvlp_Draw(void* param_0) {
nofralloc
#include "asm/f_op/f_op_overlap/fopOvlp_Draw__FPv.s"
static s32 fopOvlp_Draw(void* ovlp) {
overlap_task_class* overlap = (overlap_task_class*)ovlp;
return fpcLf_DrawMethod(overlap->field_0xc0, ovlp);
}
#pragma pop
/* 8001E3A4-8001E3CC 018CE4 0028+00 1/0 0/0 0/0 .text fopOvlp_Execute__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void fopOvlp_Execute(void* param_0) {
nofralloc
#include "asm/f_op/f_op_overlap/fopOvlp_Execute__FPv.s"
static s32 fopOvlp_Execute(void* ovlp) {
overlap_task_class* overlap = (overlap_task_class*)ovlp;
return fpcMtd_Execute(&overlap->field_0xc0->mBase, ovlp);
}
#pragma pop
/* 8001E3CC-8001E3F4 018D0C 0028+00 1/0 0/0 0/0 .text fopOvlp_IsDelete__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void fopOvlp_IsDelete(void* param_0) {
nofralloc
#include "asm/f_op/f_op_overlap/fopOvlp_IsDelete__FPv.s"
static s32 fopOvlp_IsDelete(void* ovlp) {
overlap_task_class* overlap = (overlap_task_class*)ovlp;
return fpcMtd_IsDelete(&overlap->field_0xc0->mBase, ovlp);
}
#pragma pop
/* 8001E3F4-8001E41C 018D34 0028+00 1/0 0/0 0/0 .text fopOvlp_Delete__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void fopOvlp_Delete(void* param_0) {
nofralloc
#include "asm/f_op/f_op_overlap/fopOvlp_Delete__FPv.s"
static s32 fopOvlp_Delete(void* ovlp) {
overlap_task_class* overlap = (overlap_task_class*)ovlp;
return fpcMtd_Delete(&overlap->field_0xc0->mBase, ovlp);
}
#pragma pop
/* 8001E41C-8001E484 018D5C 0068+00 1/0 0/0 0/0 .text fopOvlp_Create__FPv */
#pragma push
+2 -2
View File
@@ -15,8 +15,8 @@
//
/* 8001ECB0-8001ECE0 0195F0 0030+00 0/0 7/7 1/1 .text fopScnM_SearchByID__FUi */
void* fopScnM_SearchByID(unsigned int id) {
return fopScnIt_Judge((fop_ScnItFunc)fpcSch_JudgeByID, &id);
scene_class* fopScnM_SearchByID(unsigned int id) {
return (scene_class*)fopScnIt_Judge((fop_ScnItFunc)fpcSch_JudgeByID, &id);
}
/* ############################################################################################## */
+33 -79
View File
@@ -7,40 +7,13 @@
#include "SSystem/SComponent/c_lib.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Forward References:
//
extern "C" void create__8mDoCPd_cFv();
extern "C" void read__8mDoCPd_cFv();
extern "C" void convert__8mDoCPd_cFP27interface_of_controller_padP10JUTGamePad();
extern "C" void LRlockCheck__8mDoCPd_cFP27interface_of_controller_pad();
extern "C" void recalibrate__8mDoCPd_cFv();
extern "C" u8 m_gamePad__8mDoCPd_c[16];
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
#include "f_ap/f_ap_game.h"
//
// External References:
//
extern "C" void mDoRst_resetCallBack__FiPv();
extern "C" void cLib_memSet__FPviUl();
extern "C" void* __nw__FUl();
extern "C" void __ct__10JUTGamePadFQ210JUTGamePad8EPadPort();
extern "C" void read__10JUTGamePadFv();
extern "C" void clearForReset__10JUTGamePadFv();
extern "C" void getGamePad__10JUTGamePadFi();
extern "C" void setEnabled__Q210JUTGamePad7CRumbleFUl();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern u8 g_HIO[64 + 4 /* padding */];
extern "C" extern s8 data_80450580;
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
extern "C" u8 sAnalogMode__10JUTGamePad[4];
extern "C" u8 sCallback__Q210JUTGamePad13C3ButtonReset[4];
extern "C" u8 sCallbackArg__Q210JUTGamePad13C3ButtonReset[4 + 4 /* padding */];
extern "C" extern bool struct_80451500;
//
// Declarations:
@@ -85,37 +58,32 @@ void mDoCPd_c::create() {
}
/* 80007A94-80007B7C 0023D4 00E8+00 0/0 1/1 0/0 .text read__8mDoCPd_cFv */
#ifdef NONMATCHING
void mDoCPd_c::read() {
JUTGamePad::read();
if (!mDoRst::isReset() && mDoRst::is3ButtonReset()) {
JUTGamePad* pad = JUTGamePad::getGamePad(mDoRst::get3ButtonResetPort());
if (!pad->isPushing3ButtonReset()) { // Make the rumble thing right
if (!pad->isPushing3ButtonReset()) {
mDoRst::off3ButtonReset();
}
}
for (int i = 0; i < 4; i++) {
if (m_gamePad[i] == NULL) {
cLib_memSet(m_gamePad[i], 0, 0x40);
JUTGamePad** pad = m_gamePad;
interface_of_controller_pad* interface = m_cpadInfo;
for (u32 i = 0; i < 4; i++) {
if (*pad == NULL) {
cLib_memSet(interface, 0, sizeof(interface_of_controller_pad));
} else {
convert(&m_cpadInfo[i], m_gamePad[i]);
LRlockCheck(&m_cpadInfo[i]);
convert(interface, *pad);
LRlockCheck(interface);
}
pad++;
interface++;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoCPd_c::read() {
nofralloc
#include "asm/m_Do/m_Do_controller_pad/read__8mDoCPd_cFv.s"
}
#pragma pop
#endif
/* 80007B7C-80007CD0 0024BC 0154+00 1/1 0/0 0/0 .text
* convert__8mDoCPd_cFP27interface_of_controller_padP10JUTGamePad */
@@ -141,44 +109,30 @@ void mDoCPd_c::convert(interface_of_controller_pad* pInterface, JUTGamePad* pPad
/* 80007CD0-80007D74 002610 00A4+00 1/1 0/0 0/0 .text
* LRlockCheck__8mDoCPd_cFP27interface_of_controller_pad */
#ifdef NONMATCHING
void mDoCPd_c::LRlockCheck(interface_of_controller_pad* controllerInterface) {
float temp_1 = controllerInterface->trigger_left; // not sure if temp is left or right
controllerInterface->field_0x3a = false;
controllerInterface->field_0x3c = false;
if (temp_1 <= g_HIO.float_global_1) { // controllerInterface->trigger_left) {
if (temp_1 < g_HIO.float_global_2) {
controllerInterface->field_0x39 = false;
void mDoCPd_c::LRlockCheck(interface_of_controller_pad* interface) {
f32 trig_left = interface->mTriggerLeft;
interface->mTrigLockL = false;
interface->mTrigLockR = false;
if (trig_left > fapGmHIO_getLROnValue()) {
if (interface->mHoldLockL != true) {
interface->mTrigLockL = true;
}
} else {
if (controllerInterface->field_0x39 == false) {
controllerInterface->field_0x3a = true;
interface->mHoldLockL = true;
} else if (trig_left < fapGmHIO_getLROffValue()) {
interface->mHoldLockL = false;
}
f32 trig_right = interface->mTriggerRight;
if (trig_right > fapGmHIO_getLROnValue()) {
if (interface->mHoldLockR != true) {
interface->mTrigLockR = true;
}
controllerInterface->field_0x39 = true;
interface->mHoldLockR = true;
} else if (trig_right < fapGmHIO_getLROffValue()) {
interface->mHoldLockR = false;
}
if (controllerInterface->trigger_right > g_HIO.float_global_1) {
if (controllerInterface->field_0x3b == false) {
controllerInterface->field_0x3c = true;
}
controllerInterface->field_0x3b = true;
return;
}
if (controllerInterface->trigger_right >= g_HIO.float_global_2) {
return;
}
controllerInterface->field_0x3b = false;
return;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoCPd_c::LRlockCheck(interface_of_controller_pad* param_0) {
nofralloc
#include "asm/m_Do/m_Do_controller_pad/LRlockCheck__8mDoCPd_cFP27interface_of_controller_pad.s"
}
#pragma pop
#endif
void mDoCPd_c::recalibrate(void) {
JUTGamePad::clearForReset();