This commit is contained in:
TakaRikka
2021-12-04 05:10:59 -08:00
parent 70eabb12bd
commit fd9c4cafc4
39 changed files with 3888 additions and 2361 deletions
+1527 -1733
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -232,7 +232,7 @@ void daPy_boomerangMove_c::initOffset(cXyz const* param_0) {
/* ############################################################################################## */
/* 80451018-8045101C 000518 0004+00 2/2 33/32 103/103 .sbss m_midnaActor__9daPy_py_c */
u8 daPy_py_c::m_midnaActor[4];
daMidna_c* daPy_py_c::m_midnaActor;
/* 8045101C-80451020 -00001 0004+00 1/1 1/1 1/1 .sbss None */
/* 8045101C 0002+00 data_8045101C m_dropAngleY__20daPy_boomerangMove_c */
@@ -304,7 +304,7 @@ asm void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daPy_py_c::setParamData(int param_0, int param_1, int param_2, int param_3) {
asm u32 daPy_py_c::setParamData(int param_0, int param_1, int param_2, int param_3) {
nofralloc
#include "asm/d/a/d_a_player/setParamData__9daPy_py_cFiiii.s"
}
@@ -574,9 +574,9 @@ J3DAnmBase* daPy_anmHeap_c::loadDataDemoRID(u16 pID, u16 pArcNo) {
}
/* 8015F168-8015F1A0 159AA8 0038+00 1/1 4/4 0/0 .text setAnimeHeap__14daPy_anmHeap_cFv */
void daPy_anmHeap_c::setAnimeHeap() {
JKRHeap* daPy_anmHeap_c::setAnimeHeap() {
mAnimeHeap->freeAll();
mDoExt_setCurrentHeap(mAnimeHeap);
return mDoExt_setCurrentHeap(mAnimeHeap);
}
/* ############################################################################################## */
+2 -6
View File
@@ -28,10 +28,6 @@ struct dSmplMdl_draw_c {
/* 80049058 */ void removeModel(J3DModelData*, int);
};
struct dPa_control_c {
/* 8004BACC */ dPa_control_c();
};
struct dMapInfo_n {
/* 8003EE5C */ void getMapPlayerPos();
};
@@ -2276,7 +2272,7 @@ cXyz dComIfGs_getWarpPlayerPos() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dComIfGs_getWarpPlayerPos() {
asm cXyz& dComIfGs_getWarpPlayerPos() {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_getWarpPlayerPos__Fv.s"
}
@@ -2287,7 +2283,7 @@ s16 dComIfGs_getWarpPlayerAngleY() {
return dComIfGs_getLastWarpMarkPlayerAngleY();
}
int dComIfGs_getWarpRoomNo() {
s8 dComIfGs_getWarpRoomNo() {
return dComIfGs_getLastWarpMarkRoomNo();
}
+1 -1
View File
@@ -628,7 +628,7 @@ bool dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2) {
asm BOOL dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2) {
nofralloc
#include "asm/d/event/d_event/compulsory__14dEvt_control_cFPvPCcUs.s"
}
+175 -79
View File
@@ -4,6 +4,7 @@
//
#include "d/event/d_event_data.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@@ -18,45 +19,6 @@ struct mDoGph_gInf_c {
static f32 mFadeRate;
};
struct dVibration_c {
/* 8006FA24 */ void StartShock(int, int, cXyz);
/* 8006FB10 */ void StartQuake(int, int, cXyz);
/* 8006FC0C */ void StartQuake(u8 const*, int, int, cXyz);
/* 8006FD94 */ void StopQuake(int);
};
struct dMsgObject_c {
/* 8023806C */ void demoMessageGroup();
};
struct dEvt_control_c {
/* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int);
/* 80042958 */ void setSkipZev(void*, char*);
/* 80043278 */ void getStageEventDt();
/* 800432EC */ void convPId(unsigned int);
/* 8004331C */ void getStbDemoData(char*);
/* 800434D8 */ void searchMapEventData(u8);
/* 8004365C */ void setPt2(void*);
/* 8004368C */ void setPtT(void*);
/* 800436BC */ void setPtI(void*);
/* 800436F4 */ void setPtD(void*);
};
struct dEvent_manager_c {
/* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int);
/* 80047D4C */ void getIsAddvance(int);
/* 80047F5C */ void getMyNowCutName(int);
/* 800480EC */ void getMySubstanceP(int, char const*, int);
/* 80048144 */ void getMySubstanceNum(int, char const*);
/* 8004817C */ void cutEnd(int);
};
struct dDlst_list_c {
/* 800568D8 */ void wipeIn(f32);
static f32 mWipeRate;
};
struct dDemo_c {
/* 80039B6C */ void start(u8 const*, cXyz*, f32);
/* 80039CF8 */ void end();
@@ -75,8 +37,6 @@ struct Z2SeqMgr {
/* 802AFE18 */ void bgmStreamPlay();
};
struct JAISoundID {};
struct Z2SeMgr {
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
@@ -189,7 +149,6 @@ extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" f32 mFadeRate__13mDoGph_gInf_c;
extern "C" extern u8 struct_80450BE4[4];
extern "C" u8 m_control__7dDemo_c[4];
@@ -316,14 +275,116 @@ SECTION_SDATA2 static f32 lit_4265 = 15.0f;
SECTION_SDATA2 static f64 lit_4267 = 4503601774854144.0 /* cast s32 to float */;
/* 80043A14-80043D60 03E354 034C+00 1/1 0/0 0/0 .text dEvDt_Next_Stage__Fii */
// bunch of issues with sclsInfo section. regalloc for the rest
#ifdef NONMATCHING
static int dEvDt_Next_Stage(int index, int wipe_type) {
char* stage;
s16 point;
s8 roomNo;
s8 layer;
u32 mode = 0; // uvar8 - retail
s8 wipe = wipe_type; // ivar10
int noVisit = true;
int wipe_time = 0; // bvar9
f32 speed = FLOAT_LABEL(lit_4264); // dvar12
bool setHour = false; // bvar2
f32 hour = speed; // set to 0.0f dvar13
int* p_id = dComIfGp_evmng_getMyIntegerP(index, "ID");
if (p_id != NULL) {
int id = *p_id;
s8 room_no = dComIfGp_roomControl_getStayNo();
stage_scls_info_dummy_class* info;
if (room_no == -1) {
info = dComIfGp_getStageSclsInfo();
} else {
info = dComIfGp_roomControl_getStatusRoomDt(room_no)->mRoomDt.getSclsInfo();
}
if (info != NULL && id >= 0 && id < info->numEntries) {
stage = info->mEntries[id].mStage;
point = info->mEntries[id].mStart;
roomNo = info->mEntries[id].mRoom;
layer = dStage_sclsInfo_getSceneLayer(&info->mEntries[id]);
wipe = dStage_sclsInfo_getWipe(&info->mEntries[id]);
wipe_time = dStage_sclsInfo_getWipeTime(&info->mEntries[id]);
if (wipe == 15) {
wipe = 0;
}
s8 timeH = dStage_sclsInfo_getTimeH(&info->mEntries[id]);
if (timeH >= 0 && timeH <= 23) {
setHour = true;
hour = timeH;
}
}
}
char* stageP = dComIfGp_evmng_getMyStringP(index, "Stage");
if (stageP != NULL) {
stage = stageP;
}
int* pointP = dComIfGp_evmng_getMyIntegerP(index, "StartCode");
if (pointP != NULL) {
point = *pointP;
}
int* roomP = dComIfGp_evmng_getMyIntegerP(index, "RoomNo");
if (roomP != NULL) {
roomNo = *roomP;
}
int* layerP = dComIfGp_evmng_getMyIntegerP(index, "Layer");
if (layerP != NULL) {
layer = *layerP;
}
int* wipeP = dComIfGp_evmng_getMyIntegerP(index, "Wipe");
if (wipeP != NULL) {
wipe = *wipeP;
}
int* modeP = dComIfGp_evmng_getMyIntegerP(index, "Mode");
if (modeP != NULL) {
mode = *modeP;
}
f32* speedP = dComIfGp_evmng_getMyFloatP(index, "Speed");
if (speedP != NULL) {
speed = *speedP;
}
f32* hourP = dComIfGp_evmng_getMyFloatP(index, "Hour");
if (hourP != NULL) {
hour = *hourP;
setHour = true;
}
int* noVisitP = dComIfGp_evmng_getMyIntegerP(index, "NoVisit");
if (noVisitP != NULL) {
noVisit = false;
}
if (stage != NULL && point != -1) {
if (setHour) {
dKy_set_nexttime(15.0f * hour);
}
dComIfGp_setNextStage(stage, point, roomNo, layer, speed, mode, 1, wipe, 0, noVisit, wipe_time);
}
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dEvDt_Next_Stage(int param_0, int param_1) {
static asm int dEvDt_Next_Stage(int param_0, int param_1) {
nofralloc
#include "asm/d/event/d_event_data/dEvDt_Next_Stage__Fii.s"
}
#pragma pop
#endif
/* 80043D60-80043DC8 03E6A0 0068+00 3/3 0/0 0/0 .text flagCheck__11dEvDtFlag_cFi */
#pragma push
@@ -447,25 +508,28 @@ asm void dEvDtStaff_c::specialProc() {
}
#pragma pop
/* 80044134-80044170 03EA74 003C+00 0/0 1/1 0/0 .text init__12dEvDtStaff_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvDtStaff_c::init() {
nofralloc
#include "asm/d/event/d_event_data/init__12dEvDtStaff_cFv.s"
inline dEvent_manager_c& dComIfGp_getEventManager() {
return g_dComIfG_gameInfo.play.getEvtManager();
}
/* 80044134-80044170 03EA74 003C+00 0/0 1/1 0/0 .text init__12dEvDtStaff_cFv */
void dEvDtStaff_c::init() {
mCurrentCut = mStartCut;
field_0x40 = true;
field_0x41 = false;
field_0x3c = -1;
if (mType == TYPE_CAMERA) {
dComIfGp_getEventManager().setCameraPlay(1);
}
}
#pragma pop
/* 80044170-80044190 03EAB0 0020+00 1/1 0/0 0/0 .text advanceCut__12dEvDtStaff_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvDtStaff_c::advanceCut(int param_0) {
nofralloc
#include "asm/d/event/d_event_data/advanceCut__12dEvDtStaff_cFi.s"
void dEvDtStaff_c::advanceCut(int cut) {
mCurrentCut = cut;
field_0x40 = true;
field_0x41 = false;
field_0x3c = -1;
}
#pragma pop
/* ############################################################################################## */
/* 80379DD0-80379DD0 006430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -676,34 +740,66 @@ asm void dEvDtCut_c::startCheck() {
#pragma pop
/* 80046138-8004616C 040A78 0034+00 1/1 7/7 0/0 .text init__11dEvDtBase_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvDtBase_c::init() {
nofralloc
#include "asm/d/event/d_event_data/init__11dEvDtBase_cFv.s"
int dEvDtBase_c::init() {
mHeaderP = NULL;
mEventP = NULL;
mStaffP = NULL;
mCutP = NULL;
mDataP = NULL;
mFDataP = NULL;
mIDataP = NULL;
mSDataP = NULL;
mRoomNo = -1;
return 0;
}
#pragma pop
/* 8004616C-8004628C 040AAC 0120+00 0/0 6/6 0/0 .text init__11dEvDtBase_cFPci */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvDtBase_c::init(char* param_0, int param_1) {
nofralloc
#include "asm/d/event/d_event_data/init__11dEvDtBase_cFPci.s"
int dEvDtBase_c::init(char* p_data, int roomNo) {
init();
if (p_data == NULL) {
return 0;
} else {
setHeaderP((event_binary_data_header*)p_data);
if (getEventNum() > 0) {
setEventP((dEvDtEvent_c*)(p_data + getEventTop()));
}
if (getStaffNum() > 0) {
setStaffP((dEvDtStaff_c*)(p_data + getStaffTop()));
}
if (getCutNum() > 0) {
setCutP((dEvDtCut_c*)(p_data + getCutTop()));
}
if (getDataNum() > 0) {
setDataP((dEvDtData_c*)(p_data + getDataTop()));
}
if (getFDataNum() > 0) {
setFDataP((f32*)(p_data + getFDataTop()));
}
if (getIDataNum() > 0) {
setIDataP((int*)(p_data + getIDataTop()));
}
if (getSDataNum() > 0) {
setSDataP((char*)(p_data + getSDataTop()));
}
mRoomNo = roomNo;
return getEventNum();
}
}
#pragma pop
/* 8004628C-800462FC 040BCC 0070+00 0/0 1/1 0/0 .text advanceCut__11dEvDtBase_cFP12dEvDtEvent_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvDtBase_c::advanceCut(dEvDtEvent_c* param_0) {
nofralloc
#include "asm/d/event/d_event_data/advanceCut__11dEvDtBase_cFP12dEvDtEvent_c.s"
void dEvDtBase_c::advanceCut(dEvDtEvent_c* p_event) {
for (int i = 0; i < p_event->getNStaff(); i++) {
advanceCutLocal(mStaffP + p_event->getStaff(i));
}
}
#pragma pop
/* 800462FC-800463DC 040C3C 00E0+00 1/1 0/0 0/0 .text
* advanceCutLocal__11dEvDtBase_cFP12dEvDtStaff_c */
+142 -59
View File
@@ -199,21 +199,21 @@ SECTION_DEAD static char const* const stringBase_8037A071 = "(!BAD DATA!)";
#pragma pop
/* 803A8270-803A82A8 -00001 0038+00 1/1 0/0 0/0 .data soecial_names$3966 */
SECTION_DATA static void* soecial_names[14] = {
(void*)&d_event_d_event_manager__stringBase0,
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x10),
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x1E),
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x2C),
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x3F),
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x50),
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x63),
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x6E),
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x7B),
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x89),
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x94),
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0xA3),
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0xB2),
(void*)(((char*)&d_event_d_event_manager__stringBase0) + 0xC3),
SECTION_DATA static char* soecial_names[14] = {
"NORMAL_COMEBACK",
"DEFAULT_START",
"SHUTTER_START",
"SHUTTER_START_STOP",
"BS_SHUTTER_START",
"BS_SHUTTER_START_B",
"KNOB_START",
"KNOB_START_B",
"FMASTER_START",
"FALL_START",
"CRAWLOUT_START",
"BOSSWARP_START",
"PORTALWARP_START",
"PORTALWARP_START_B",
};
/* 80046480-800465E8 040DC0 0168+00 1/1 0/0 0/0 .text getEventName__18dEvent_exception_cFv */
@@ -228,14 +228,23 @@ asm void dEvent_exception_c::getEventName() {
/* 800465E8-80046688 040F28 00A0+00 1/1 0/0 0/0 .text
* getSubstance__16dEvent_manager_cFP11dEvDtData_ci */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvent_manager_c::getSubstance(dEvDtData_c* param_0, int param_1) {
nofralloc
#include "asm/d/event/d_event_manager/getSubstance__16dEvent_manager_cFP11dEvDtData_ci.s"
void* dEvent_manager_c::getSubstance(dEvDtData_c* p_data, int type) {
if (p_data->getIndex() < 0 || p_data->getNumber() <= 0) {
return NULL;
} else {
switch(p_data->getType()) {
case dEvDtData_c::TYPE_FLOAT:
case dEvDtData_c::TYPE_VEC:
case 2:
return getBase().getFDataP(p_data->getIndex());
case dEvDtData_c::TYPE_INT:
return getBase().getIDataP(p_data->getIndex());
case dEvDtData_c::TYPE_STRING:
return getBase().getSDataP(p_data->getIndex());
}
return NULL;
}
}
#pragma pop
dEvent_manager_c::dEvent_manager_c() {
mDataLoaded = false;
@@ -264,18 +273,16 @@ int dEvent_manager_c::create() {
field_0x1b4 = 0;
field_0x1aa = -1;
field_0x1b8 = 0;
field_0x1b0 = -1;
mRoomNo = -1;
mDataLoaded = 0;
for (int i = 4; i <= 9; i++) {
mEventList[i].init();
}
char* res = (char*)dComIfG_getStageRes(data_80379F50);
mEventList[3].init(res, -1);
mEventList[10].init();
res = (char*)dComIfG_getObjectRes("Event", data_80379F50);
mEventList[1].init(res, -1);
mEventList[3].init((char*)dComIfG_getStageRes(data_80379F50), -1);
mEventList[10].init();
mEventList[1].init((char*)dComIfG_getObjectRes("Event", data_80379F50), -1);
mEventList[2].init();
return 1;
}
@@ -305,6 +312,35 @@ asm void dEvent_manager_c::demoInit() {
#pragma pop
/* 80046904-800469EC 041244 00E8+00 0/0 1/1 0/0 .text roomInit__16dEvent_manager_cFi */
// reversed reg alloc
#ifdef NONMATCHING
void dEvent_manager_c::roomInit(int roomNo) {
if (roomNo == -1) {
roomNo = dComIfGp_roomControl_getStayNo();
}
char arc_name[8];
strcpy(arc_name, dComIfG_getRoomArcName(roomNo));
char* data = (char*)dComIfG_getStageRes(arc_name, data_80379F50);
int tmp = -1;
for (int i = 4; i <= 9; i++) {
if (mEventList[i].getHeaderP() == NULL) {
tmp = i;
continue;
}
if (mEventList[i].roomNo() == roomNo) {
tmp = i;
break;
}
}
if (tmp != -1) {
mEventList[tmp].init(data, roomNo);
}
mRoomNo = roomNo;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -313,6 +349,7 @@ asm void dEvent_manager_c::roomInit(int param_0) {
#include "asm/d/event/d_event_manager/roomInit__16dEvent_manager_cFi.s"
}
#pragma pop
#endif
void dEvent_manager_c::roomFinish(int param_0) {
for (int i = 4; i <= 9; i++) {
@@ -369,19 +406,31 @@ static int allOffObjectCallBack(fopAc_ac_c* pActor, void* param_1) {
/* 80046CB8-80046DA0 0415F8 00E8+00 1/1 0/0 0/0 .text
* startProc__16dEvent_manager_cFP12dEvDtEvent_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvent_manager_c::startProc(dEvDtEvent_c* param_0) {
nofralloc
#include "asm/d/event/d_event_manager/startProc__16dEvent_manager_cFP12dEvDtEvent_c.s"
void dEvent_manager_c::startProc(dEvDtEvent_c* p_evnt) {
for (int i = 0; i < p_evnt->getNStaff(); i++) {
dEvDtStaff_c* staff = getBase().getStaffP(p_evnt->getStaff(i));
if (staff->getType() == dEvDtStaff_c::TYPE_DEFAULT) {
fopAc_ac_c* ac = specialCast(staff->getName(), 1);
if (ac == NULL) {
ac = fopAcM_searchFromName4Event(staff->getName(), -1);
}
if (ac != NULL) {
fopAcM_OnStatus(ac, 0x8000);
}
}
if (staff->getType() == dEvDtStaff_c::TYPE_ALL) {
issueStaff(staff->getName());
}
staff->init();
}
p_evnt->mEventState = 1;
mFlags.init();
}
#pragma pop
/* 80046DA0-80046DAC 0416E0 000C+00 2/2 0/0 0/0 .text
* closeProc__16dEvent_manager_cFP12dEvDtEvent_c */
void dEvent_manager_c::closeProc(dEvDtEvent_c* param_0) {
param_0->field_0xa4 = 2;
void dEvent_manager_c::closeProc(dEvDtEvent_c* p_evnt) {
p_evnt->mEventState = 2;
}
/* ############################################################################################## */
@@ -452,23 +501,21 @@ asm void dEvent_manager_c::Experts() {
/* 80047454-800474BC 041D94 0068+00 1/1 0/0 0/0 .text getEventData__16dEvent_manager_cFsi
*/
#ifdef NONMATCHING
dEvDtEvent_c* dEvent_manager_c::getEventData(s16 param_0, int param_1) {
dEvDtBase_c* baseptr;
dEvDtEvent_c* eventptr;
if (param_1 < 1 || param_1 > 12) {
eventptr = NULL;
dEvDtEvent_c* dEvent_manager_c::getEventData(s16 param_0, int idx) {
if (idx <= 0 || idx > 11) {
return NULL;
} else {
baseptr = &mEventList[param_1];
if (baseptr == NULL || baseptr->getHeaderP() == NULL) {
eventptr = NULL;
} else if (param_0 < 0 || baseptr->getEventNum() <= param_0) {
eventptr = NULL;
dEvDtBase_c* base = &mEventList[idx];
if (base == NULL || base->getHeaderP() == NULL) {
return NULL;
} else if (param_0 < 0 || param_0 >= base->getEventNum()) {
return NULL;
} else {
eventptr = baseptr->getEventP(param_1);
return base->getEventP(idx);
}
}
return eventptr;
return NULL;
}
#else
#pragma push
@@ -664,26 +711,62 @@ asm void dEvent_manager_c::getMyNowCutName(int param_0) {
}
#pragma pop
inline dEvt_control_c& dComIfGp_getEvent() {
return g_dComIfG_gameInfo.play.getEvent();
}
/* 80047FC8-800480EC 042908 0124+00 2/2 0/0 0/0 .text getMyDataP__16dEvent_manager_cFiPCci */
// instruction in wrong place
#ifdef NONMATCHING
dEvDtData_c* dEvent_manager_c::getMyDataP(int index, char const* name, int type) {
if (dComIfGp_getEvent().getMode() == 0) {
return NULL;
}
else if (index == -1) {
return NULL;
}
else if (field_0x1aa == -1) {
return NULL;
} else {
dEvDtCut_c* cut;
if (type != 0) {
cut = getBase().getCutStaffStartCutP(index);
} else {
cut = getBase().getCutStaffCurrentCutP(index);
}
int top = cut->getDataTop();
while (top != -1) {
dEvDtData_c* data = getBase().getDataP(index);
if (!strcmp(name, data->getName())) {
return data;
}
top = data->getNext();
}
return NULL;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvent_manager_c::getMyDataP(int param_0, char const* param_1, int param_2) {
asm dEvDtData_c* dEvent_manager_c::getMyDataP(int param_0, char const* param_1, int param_2) {
nofralloc
#include "asm/d/event/d_event_manager/getMyDataP__16dEvent_manager_cFiPCci.s"
}
#pragma pop
#endif
/* 800480EC-80048144 042A2C 0058+00 0/0 22/22 355/355 .text
* getMySubstanceP__16dEvent_manager_cFiPCci */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvent_manager_c::getMySubstanceP(int param_0, char const* param_1, int param_2) {
nofralloc
#include "asm/d/event/d_event_manager/getMySubstanceP__16dEvent_manager_cFiPCci.s"
void* dEvent_manager_c::getMySubstanceP(int index, char const* name, int type) {
dEvDtData_c* data = getMyDataP(index, name, 0);
if (data == NULL) {
return NULL;
}
return getSubstance(data, type);
}
#pragma pop
/* 80048144-8004817C 042A84 0038+00 0/0 12/12 0/0 .text getMySubstanceNum__16dEvent_manager_cFiPCc
*/
@@ -821,7 +904,7 @@ SECTION_DEAD static char const* const stringBase_8037A0DE = "SHUTTER_DOOR";
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvent_manager_c::specialCast(char const* param_0, int param_1) {
asm fopAc_ac_c* dEvent_manager_c::specialCast(char const* param_0, int param_1) {
nofralloc
#include "asm/d/event/d_event_manager/specialCast__16dEvent_manager_cFPCci.s"
}
+1 -7
View File
@@ -26,12 +26,6 @@ struct mDoGph_gInf_c {
static u8 m_bloom[20];
};
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 color_RGB_class {};
struct Z2SeMgr {
@@ -3152,7 +3146,7 @@ static asm void dKy_Indoor_check() {
#pragma pop
/* 801AC2E0-801AC2E8 1A6C20 0008+00 0/0 1/1 0/0 .text dKy_withwarp_capture_check__Fv */
bool dKy_withwarp_capture_check() {
BOOL dKy_withwarp_capture_check() {
return false;
}
+11 -100
View File
@@ -11,6 +11,7 @@
// Types:
//
struct mDoLib_clipper {
static u8 mClipper[92];
};
@@ -50,13 +51,6 @@ struct dPa_wbPcallBack_c {
struct JPADrawInfo {};
struct JPAResourceManager {
/* 80273E10 */ JPAResourceManager(void const*, JKRHeap*);
/* 80273EA8 */ void checkUserIndexDuplication(u16) const;
/* 80273EEC */ void swapTexture(ResTIMG const*, char const*);
/* 80273FCC */ void getResUserWork(u16) const;
};
struct JGeometry {
template <typename A1>
struct TVec3 {};
@@ -75,16 +69,6 @@ struct JPAEmitterManager {
/* 8027E354 */ void clearResourceManager(u8);
};
struct dPa_simpleEcallBack {
/* 8004ADF4 */ dPa_simpleEcallBack();
/* 8004AE1C */ void executeAfter(JPABaseEmitter*);
/* 8004AF94 */ void draw(JPABaseEmitter*);
/* 8004AF98 */ void create(JPAEmitterManager*, u16, u8);
/* 8004B064 */ void createEmitter(JPAEmitterManager*);
/* 8004B168 */ void set(cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&, _GXColor const&,
int, f32);
/* 8004FC08 */ ~dPa_simpleEcallBack();
};
struct dPa_simpleData_c {
/* 8004B024 */ ~dPa_simpleData_c();
@@ -205,82 +189,6 @@ struct dPa_followEcallBack {
struct cBgS_PolyInfo {};
struct dPa_control_c {
struct level_c {
struct emitter_c {
/* 8004B504 */ void onActive();
/* 8004B544 */ void entry(u32, u16, JPABaseEmitter*, dPa_levelEcallBack*);
/* 8004B5AC */ void cleanup();
/* 8004FBFC */ emitter_c();
};
/* 8004B688 */ level_c();
/* 8004B7A8 */ void execute();
/* 8004B6F8 */ void execute(dPa_control_c::level_c::emitter_c*);
/* 8004B808 */ void cleanup();
/* 8004B874 */ void get(u32);
/* 8004B8B4 */ void forceOnEventMove(u32);
/* 8004B8E8 */ void allForceOnEventMove();
/* 8004B918 */ void getEmitter(u32);
/* 8004B94C */ void entry(u16, JPABaseEmitter*, dPa_levelEcallBack*);
/* 8004BA40 */ void addTable(dPa_control_c::level_c::emitter_c*);
/* 8004BA74 */ void cutTable(dPa_control_c::level_c::emitter_c*);
};
/* 8004BACC */ dPa_control_c();
/* 8004BB70 */ void getRM_ID(u16);
/* 8004BB78 */ void createCommon(void const*);
/* 8004BCDC */ void createRoomScene();
/* 8004BDFC */ void readScene(u8, mDoDvdThd_toMainRam_c**);
/* 8004BEB0 */ void createScene(void const*);
/* 8004BF3C */ void removeRoomScene(bool);
/* 8004BFD4 */ void removeScene(bool);
/* 8004C054 */ void cleanup();
/* 8004C078 */ void calc3D();
/* 8004C0EC */ void calc2D();
/* 8004C134 */ void calcMenu();
/* 8004C188 */ void draw(JPADrawInfo*, u8);
/* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32);
/* 8004C838 */ void setWaterRipple(u32*, cBgS_PolyInfo&, cXyz const*, f32, dKy_tevstr_c const*,
cXyz const*, s8);
/* 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);
/* 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);
/* 8004CF90 */ void getPolyColor(cBgS_PolyInfo&, int, _GXColor*, _GXColor*, u8*, f32*);
/* 8004D6A4 */ void setPoly(u32, u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*,
csXyz const*, cXyz const*, int, dPa_levelEcallBack*, s8,
cXyz const*);
/* 8004D068 */ void setPoly(u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, csXyz const*,
cXyz const*, int, dPa_levelEcallBack*, s8, cXyz const*);
/* 8004D128 */ void newSimple(u16, u8, u32*);
/* 8004D1B8 */ void setSimple(u16, cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&,
_GXColor const&, int, f32);
/* 8004D23C */ void getSimple(u16);
/* 8004D770 */ void setStopContinue(u32);
/* 8004D7C4 */ void setSimpleFoot(u32, u32*, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*,
int, csXyz const*, cXyz const*, dPa_levelEcallBack*, s8,
cXyz const*);
/* 8004D988 */ void setCommonPoly(u32*, cBgS_PolyInfo*, cXyz const*, cXyz const*,
dKy_tevstr_c const*, u32, u32, csXyz const*, cXyz const*, s8);
static u8 mTsubo[64];
static u8 mLifeBall[24];
static u8 mWindViewMatrix[48];
static u8 mEmitterMng[4];
static u8 mWaterBubblePcallBack[4];
static u8 mFsenthPcallBack[4];
static u8 mLight8EcallBack[4];
static u8 mLight8PcallBack[4];
static u8 m_b_Light8EcallBack[4];
static u8 m_b_Light8PcallBack[4];
static u8 m_d_Light8EcallBack[4];
static u8 m_d_Light8PcallBack[4];
static u8 mParticleTracePCB[4 + 4 /* padding */];
};
struct dJntCol_c {
/* 80036C44 */ void getHitmarkPosAndAngle(cXyz const*, csXyz const*, cXyz*, csXyz*, int) const;
};
@@ -1628,7 +1536,7 @@ asm void dPa_control_c::level_c::allForceOnEventMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dPa_control_c::level_c::getEmitter(u32 param_0) {
asm dPa_control_c::level_c::emitter_c* dPa_control_c::level_c::getEmitter(u32 param_0) {
nofralloc
#include "asm/d/particle/d_particle/getEmitter__Q213dPa_control_c7level_cFUl.s"
}
@@ -2144,7 +2052,7 @@ static asm void dPa_kankyocolor_set(f32 param_0, JPABaseEmitter* param_1,
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dPa_control_c::set(u32 param_0, u8 param_1, u16 param_2, cXyz const* param_3,
asm u32 dPa_control_c::set(u32 param_0, u8 param_1, u16 param_2, cXyz const* param_3,
dKy_tevstr_c const* param_4, csXyz const* param_5, cXyz const* param_6,
u8 param_7, dPa_levelEcallBack* param_8, s8 param_9,
_GXColor const* param_10, _GXColor const* param_11,
@@ -2160,7 +2068,7 @@ asm void dPa_control_c::set(u32 param_0, u8 param_1, u16 param_2, cXyz const* pa
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dPa_control_c::setPoly(u32 param_0, u16 param_1, cBgS_PolyInfo& param_2,
asm u32 dPa_control_c::setPoly(u32 param_0, u16 param_1, cBgS_PolyInfo& param_2,
cXyz const* param_3, dKy_tevstr_c const* param_4,
csXyz const* param_5, cXyz const* param_6, int param_7,
dPa_levelEcallBack* param_8, s8 param_9, cXyz const* param_10) {
@@ -2379,7 +2287,8 @@ asm void dPa_particleTracePcallBack_c::execute(JPABaseEmitter* param_0, JPABaseP
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dPa_levelEcallBack::~dPa_levelEcallBack() {
// asm dPa_levelEcallBack::~dPa_levelEcallBack() {
extern "C" asm void __dt__18dPa_levelEcallBackFv() {
nofralloc
#include "asm/d/particle/d_particle/__dt__18dPa_levelEcallBackFv.s"
}
@@ -2415,7 +2324,8 @@ asm dPa_control_c::level_c::emitter_c::emitter_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dPa_simpleEcallBack::~dPa_simpleEcallBack() {
// asm dPa_simpleEcallBack::~dPa_simpleEcallBack() {
extern "C" asm void __dt__19dPa_simpleEcallBackFv() {
nofralloc
#include "asm/d/particle/d_particle/__dt__19dPa_simpleEcallBackFv.s"
}
@@ -2435,7 +2345,8 @@ asm dPa_particleTracePcallBack_c::~dPa_particleTracePcallBack_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dPa_hermiteEcallBack_c::~dPa_hermiteEcallBack_c() {
// asm dPa_hermiteEcallBack_c::~dPa_hermiteEcallBack_c() {
extern "C" asm void __dt__22dPa_hermiteEcallBack_cFv() {
nofralloc
#include "asm/d/particle/d_particle/__dt__22dPa_hermiteEcallBack_cFv.s"
}
@@ -2666,7 +2577,7 @@ asm dPa_setColorEcallBack::~dPa_setColorEcallBack() {
/* 80050368-8005036C 04ACA8 0004+00 10/0 0/0 0/0 .text
* execute__18JPAEmitterCallBackFP14JPABaseEmitter */
void JPAEmitterCallBack::execute(JPABaseEmitter* param_0) {
extern "C" void execute__18JPAEmitterCallBackFP14JPABaseEmitter() {
/* empty function */
}
+1 -1
View File
@@ -1948,7 +1948,7 @@ asm s32 fopAcM_findObject4EventCB(fopAc_ac_c* param_0, void* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm s32 fopAcM_searchFromName4Event(char const* param_0, s16 param_1) {
asm fopAc_ac_c* fopAcM_searchFromName4Event(char const* param_0, s16 param_1) {
nofralloc
#include "asm/f_op/f_op_actor_mng/fopAcM_searchFromName4Event__FPCcs.s"
}
+6 -33
View File
@@ -18,25 +18,6 @@
// Types:
//
struct mDoExt_morf_c {
/* 8000F950 */ mDoExt_morf_c();
/* 8000FAE8 */ ~mDoExt_morf_c();
/* 8000FB7C */ void setMorf(f32);
/* 8000FBC0 */ void frameUpdate();
};
struct mDoExt_invisibleModel {
/* 8000E53C */ void create(J3DModel*, u8);
/* 8000E6C8 */ void entryJoint(cXyz*);
/* 8000E7C0 */ void entryDL(cXyz*);
};
struct mDoExt_invJntPacket {
/* 8000E5F8 */ ~mDoExt_invJntPacket();
/* 8000E654 */ mDoExt_invJntPacket();
/* 80012220 */ void draw();
};
struct mDoExt_btpAnm {
/* 8000D54C */ void init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16);
/* 8000D5E8 */ void entry(J3DMaterialTable*, s16);
@@ -46,11 +27,6 @@ struct mDoExt_blkAnm {
/* 8000DA08 */ void init(J3DDeformData*, J3DAnmCluster*, int, int, f32, s16, s16);
};
struct mDoExt_MtxCalcOldFrame {
/* 8000F848 */ void initOldFrameMorf(f32, u16, u16);
/* 8000F8CC */ void decOldFrameMorfCounter();
};
struct mDoExt_MtxCalcAnmBlendTblOld {
/* 8000F4B0 */ void calc();
/* 80014EB0 */ ~mDoExt_MtxCalcAnmBlendTblOld();
@@ -203,12 +179,6 @@ struct JUTCacheFont {
/* 802DD188 */ JUTCacheFont(ResFONT const*, u32, JKRHeap*);
};
struct J3DMtxCalcNoAnmBase {
/* 8000FA8C */ ~J3DMtxCalcNoAnmBase();
};
template <typename A0, typename B0>
struct J3DMtxCalcNoAnm {};
/* J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> */
struct J3DMtxCalcNoAnm__template0 {
/* 8000FA20 */ void func_8000FA20(void* _this);
@@ -2518,7 +2488,8 @@ extern "C" asm void func_8000FA20(void* _this) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() {
// asm J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() {
extern "C" asm void __dt__19J3DMtxCalcNoAnmBaseFv() {
nofralloc
#include "asm/m_Do/m_Do_ext/__dt__19J3DMtxCalcNoAnmBaseFv.s"
}
@@ -2528,7 +2499,8 @@ asm J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm mDoExt_morf_c::~mDoExt_morf_c() {
// asm mDoExt_morf_c::~mDoExt_morf_c() {
extern "C" asm void __dt__13mDoExt_morf_cFv() {
nofralloc
#include "asm/m_Do/m_Do_ext/__dt__13mDoExt_morf_cFv.s"
}
@@ -2920,7 +2892,8 @@ asm void mDoExt_McaMorf2::stopZelAnime() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoExt_invJntPacket::draw() {
// asm void mDoExt_invJntPacket::draw() {
extern "C" asm void draw__19mDoExt_invJntPacketFv() {
nofralloc
#include "asm/m_Do/m_Do_ext/draw__19mDoExt_invJntPacketFv.s"
}