update some actors to use sizeof for mSize, endian swap J2DScreen related structs, add 64bit endian swapping

game appears to be hanging on fully initing some processes, so while there isnt an immediate crash, nothing seems to be happening
This commit is contained in:
CraftyBoss
2026-03-01 04:24:38 -08:00
committed by PJB3005
parent 5832f70384
commit 3e4b9bf59b
30 changed files with 364 additions and 282 deletions
+1 -1
View File
@@ -584,7 +584,7 @@ actor_process_profile_definition g_profile_CSTAF = {
fpcPi_CURRENT_e, // mListPrio
PROC_CSTAF, // mProcName
&g_fpcLf_Method.base, // sub_method
0x00000B38, // mSize
sizeof(daCstaF_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
+1 -1
View File
@@ -1220,7 +1220,7 @@ actor_process_profile_definition g_profile_CSTATUE = {
fpcPi_CURRENT_e, // mListPrio
PROC_CSTATUE, // mProcName
&g_fpcLf_Method.base, // sub_method
0x00000B2C, // mSize
sizeof(daCstatue_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
+14 -14
View File
@@ -273,18 +273,18 @@ static actor_method_class daObjHBombkoya_METHODS = {
};
actor_process_profile_definition g_profile_Obj_HBombkoya = {
fpcLy_CURRENT_e, // mLayerID
3, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_HBombkoya, // mProcName
&g_fpcLf_Method.base, // sub_method
0x000007C0, // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
675, // mPriority
&daObjHBombkoya_METHODS, // sub_method
0x00040100, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
fpcLy_CURRENT_e, // mLayerID
3, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_HBombkoya, // mProcName
&g_fpcLf_Method.base, // sub_method
sizeof(daObjHBombkoya_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
675, // mPriority
&daObjHBombkoya_METHODS, // sub_method
0x00040100, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
+1 -1
View File
@@ -261,7 +261,7 @@ actor_process_profile_definition g_profile_Obj_Ice_l = {
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_Ice_l, // mProcName
&g_fpcLf_Method.base, // sub_method
0x00000640, // mSize
sizeof(daObjIce_l_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
+2 -2
View File
@@ -367,8 +367,8 @@ actor_process_profile_definition g_profile_Obj_MagLiftRot = {
3, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_MagLiftRot, // mProcName
&g_fpcLf_Method.base, // sub_method
0x00000634, // mSize
&g_fpcLf_Method.base, // sub_method
sizeof(daMagLiftRot_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
+2 -2
View File
@@ -231,8 +231,8 @@ actor_process_profile_definition g_profile_Obj_Tornado = {
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_Tornado, // mProcName
&g_fpcLf_Method.base, // sub_method
0x00000770, // mSize
&g_fpcLf_Method.base, // sub_method
sizeof(daObjTrnd_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
+2 -2
View File
@@ -388,8 +388,8 @@ actor_process_profile_definition g_profile_Obj_Wchain = {
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_Wchain, // mProcName
&g_fpcLf_Method.base, // sub_method
0x000007BC, // mSize
&g_fpcLf_Method.base, // sub_method
sizeof(daObjWchain_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
+1 -1
View File
@@ -110,7 +110,7 @@ actor_process_profile_definition2 g_profile_SCENE_EXIT = {
fpcPi_CURRENT_e, // mListPrio
PROC_SCENE_EXIT, // mProcName
&g_fpcLf_Method.base, // sub_method
0x0000059C, // mSize
sizeof(daScex_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
+18 -1
View File
@@ -1071,7 +1071,7 @@ void dEvDtStaff_c::specialProcDirector() {
dStage_MapEvent_dt_c* mapEvent = dEvt_control_c::searchMapEventData(data->unk);
if (mapEvent != NULL) {
if (mapEvent->type == dStage_MapEvent_dt_TYPE_MAPTOOLCAMERA) {
data->unk2 = mapEvent->data.maptool.field_0x14;
data->unk2 = (s16)mapEvent->data.maptool.field_0x14;
} else {
data->unk2 = -1;
}
@@ -1553,11 +1553,28 @@ int dEvDtBase_c::init(char* i_data, int i_roomNo) {
}
if (getFDataNum() > 0) {
#if TARGET_PC
auto data = (f32*)(i_data + getFDataTop());
int num = getFDataNum();
for (int i = 0; i < num; i++)
be_swap(data[i]);
setFDataP(data);
#else
setFDataP((f32*)(i_data + getFDataTop()));
#endif
}
if (getIDataNum() > 0) {
#if TARGET_PC
// endian swap here
auto data = (int*)(i_data + getIDataTop());
int num = getIDataNum();
for (int i = 0; i < num; i++)
be_swap(data[i]);
setIDataP(data);
#else
setIDataP((int*)(i_data + getIDataTop()));
#endif
}
if (getSDataNum() > 0) {