move / fix bunch of stuff (#133)

* fix some class structures / d_event wip

* d_event wip

* move gamepad stuff

* move m_Do_main

* move d_bomb / partial m_Do_reset

* format

* remove asm

* add Z2SoundID enum

* move some Z2 classes

* fix

* move more Z2 stuff

* fix fopAc_ac_c more
This commit is contained in:
TakaRikka
2021-06-12 15:22:36 -07:00
committed by GitHub
parent 5be309a186
commit 4448c08ac0
132 changed files with 6755 additions and 3217 deletions
+1 -19
View File
@@ -12,8 +12,6 @@
// Types:
//
struct dKy_tevstr_c {};
struct fopEn_enemy_c {
/* 80019404 */ void initBallModel();
/* 800194FC */ void checkBallModelDraw();
@@ -51,20 +49,12 @@ struct dRes_control_c {
struct dPa_levelEcallBack {};
struct _GXColor {};
struct dPa_control_c {
/* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
_GXColor const*, cXyz const*, f32);
};
struct dEvt_info_c {
/* 80018C44 */ ~dEvt_info_c();
/* 800433F0 */ dEvt_info_c();
/* 800434CC */ void beforeProc();
};
struct dEvt_control_c {
/* 80042FA8 */ void moveApproval(void*);
};
@@ -96,14 +86,6 @@ struct J3DMaterialTable {
/* 8032FE70 */ void entryTevRegAnimator(J3DAnmTevRegKey*);
};
struct J3DLightObj {
/* 80018C0C */ J3DLightObj();
};
struct J3DLightInfo {
/* 803256C4 */ void operator=(J3DLightInfo const&);
};
//
// Forward References:
//
@@ -277,7 +259,7 @@ asm void fopAc_IsActor(void* param_0) {
/* ############################################################################################## */
/* 80450CBC-80450CC0 0001BC 0004+00 2/2 1/1 0/0 .sbss stopStatus__10fopAc_ac_c */
u8 fopAc_ac_c::stopStatus[4];
u32 fopAc_ac_c::stopStatus;
/* 80018D0C-80018DD8 01364C 00CC+00 1/0 0/0 0/0 .text fopAc_Draw__FPv */
#pragma push
+19 -15
View File
@@ -51,12 +51,8 @@ struct daPy_py_c {
struct dPa_levelEcallBack {};
struct dKy_tevstr_c {};
struct cBgS_PolyInfo {};
struct _GXColor {};
struct dPa_control_c {
struct level_c {
/* 8004B918 */ void getEmitter(u32);
@@ -526,6 +522,7 @@ void fopAcM_Log(fopAc_ac_c const* param_0, char const* param_1) {
/* 80019C7C-80019CB8 0145BC 003C+00 0/0 10/10 483/483 .text fopAcM_delete__FP10fopAc_ac_c
*/
void fopAcM_delete(fopAc_ac_c* pActor) {
// "Deleting Actor"
fopAcM_Log(pActor, "アクターの削除");
fpcM_Delete(pActor);
}
@@ -538,6 +535,7 @@ s32 fopAcM_delete(unsigned int pID) {
// original moves r3 -> r0, then r0 -> r31 for 0 check
// this generates r3 -> r31 with 0 check directly
if (searchResult != NULL) {
// "Deleting Actor"
fopAcM_Log(actor, "アクターの削除");
return fpcM_Delete(searchResult);
} else {
@@ -673,10 +671,11 @@ SECTION_DEAD static char const* const stringBase_8037890A = "アクターのヒ
/* 8001A138-8001A188 014A78 0050+00 0/0 1/1 1/1 .text fopAcM_DeleteHeap__FP10fopAc_ac_c
*/
void fopAcM_DeleteHeap(fopAc_ac_c* pActor) {
// "Destroying actor's heap"
fopAcM_Log(pActor, "アクターのヒープの破壊");
if (pActor->unk_0x0F0 != NULL) {
mDoExt_destroySolidHeap(pActor->unk_0x0F0);
pActor->unk_0x0F0 = NULL;
if (pActor->mHeap != NULL) {
mDoExt_destroySolidHeap(pActor->mHeap);
pActor->mHeap = NULL;
}
}
@@ -709,12 +708,14 @@ bool fopAcM_entrySolidHeap_(fopAc_ac_c* pActor, heapCallbackFunc pHeapCallback,
if (heap00 != NULL) {
bool status = fopAcM_callCallback(pActor, pHeapCallback, heap00) != 0;
if (!status) {
// "Entry for estimated heap size(%08x) failed. %08x[%s]\n"
OSReport_Error("見積もりヒープサイズ(%08x)で登録失敗しました。%08x[%s]\n",
pSize, heap00->getFreeSize(), procNameString);
mDoExt_destroySolidHeap(heap00);
heap00 = NULL;
}
} else {
// "Could not allocate estimated heap. %08x [%s]\n"
OSReport_Error("見積もりヒープが確保できませんでした。 %08x [%s]\n", pSize,
procNameString);
}
@@ -722,11 +723,13 @@ bool fopAcM_entrySolidHeap_(fopAc_ac_c* pActor, heapCallbackFunc pHeapCallback,
if (heap00 == NULL) {
heap00 = mDoExt_createSolidHeapFromGame(0xFFFFFFFF, 0x20);
if (heap00 == NULL) {
// "Failed to allocate maximum heap size. [%s]\n"
OSReport_Error("最大空きヒープサイズで確保失敗。[%s]\n", procNameString);
return false;
}
bool status = fopAcM_callCallback(pActor, pHeapCallback, heap00) != 0;
if (!status) {
// "Entry failed for maximum heap size. %08x[%s]\n"
OSReport_Error("最大空きヒープサイズで登録失敗。%08x[%s]\n", heap00->getFreeSize(),
procNameString);
mDoExt_destroySolidHeap(heap00);
@@ -738,7 +741,7 @@ bool fopAcM_entrySolidHeap_(fopAc_ac_c* pActor, heapCallbackFunc pHeapCallback,
}
if (lbl_80450CC8 == 0) {
mDoExt_adjustSolidHeap(heap00);
pActor->unk_0x0F0 = heap00;
pActor->mHeap = heap00;
return true;
} else {
JKRSolidHeap* heap = NULL;
@@ -753,6 +756,7 @@ bool fopAcM_entrySolidHeap_(fopAc_ac_c* pActor, heapCallbackFunc pHeapCallback,
heap00 = NULL;
bool status = fopAcM_callCallback(pActor, pHeapCallback, heap) != 0;
if (!status) {
// "Entry fails at exact size? (Bug)\n"
OSReport_Error("ぴったりサイズで、登録失敗?(バグ)\n");
mDoExt_destroySolidHeap(heap);
heap = NULL;
@@ -764,19 +768,20 @@ bool fopAcM_entrySolidHeap_(fopAc_ac_c* pActor, heapCallbackFunc pHeapCallback,
}
if (heap != NULL) {
mDoExt_adjustSolidHeap(heap);
pActor->unk_0x0F0 = heap;
pActor->mHeap = heap;
return true;
}
if (heap00 != NULL) {
mDoExt_adjustSolidHeap(heap00);
pActor->unk_0x0F0 = heap00;
pActor->mHeap = heap00;
return true;
}
OSReport_Error("ばぐばぐです\n");
OSReport_Error("緊急回避措置\n");
OSReport_Error("ばぐばぐです\n"); // "There's a big bug\n"
OSReport_Error("緊急回避措置\n"); // "Emergency action\n"
lbl_80450CC8 = 0;
}
}
// "fopAcM_entrySolidHeap didn't work [%s]\n"
OSReport_Error("fopAcM_entrySolidHeap だめでした [%s]\n", procNameString);
return false;
}
@@ -1664,8 +1669,7 @@ s32 fopAc_IsActor(void*);
/* 8001C9CC-8001CA1C 01730C 0050+00 1/1 0/0 0/0 .text enemySearchJugge__FPvPv */
void* enemySearchJugge(void* pActor, void* pData) {
if (pActor != NULL && fopAc_IsActor(pActor) &&
static_cast<fopAc_ac_c*>(pActor)->unk_0x496 == 2) {
if (pActor != NULL && fopAc_IsActor(pActor) && static_cast<fopAc_ac_c*>(pActor)->mGroup == 2) {
return pActor;
} else {
return NULL;
@@ -1913,7 +1917,7 @@ asm void fopAcM_setEffectMtx(fopAc_ac_c const* param_0, J3DModelData const* para
/* 8001D5A4-8001D5EC 017EE4 0048+00 1/1 0/0 0/0 .text fopAcM_getProcNameString__FPC10fopAc_ac_c */
static const char* fopAcM_getProcNameString(const fopAc_ac_c* pActor) {
const char* name = dStage_getName2(pActor->mBase.mBsTypeId, pActor->unk_0x499);
const char* name = dStage_getName2(pActor->mBase.mBsTypeId, pActor->mSubtype);
return name != NULL ? name : "UNKOWN";
}