mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-09 20:10:37 -04:00
move remaining old progress (#186)
* move remaining old progress * remove asm
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user