d_camera work (#2226)

This commit is contained in:
Caroline Madsen
2024-10-27 00:35:25 -04:00
committed by GitHub
parent 606178dc88
commit f5e80cf9fd
29 changed files with 1858 additions and 2121 deletions
+12 -12
View File
@@ -264,13 +264,13 @@ cSGlobe::cSGlobe(const cXyz& xyz) {
cSGlobe& cSGlobe::Formal() {
if (mRadius < 0.0f) {
mRadius = -mRadius;
mAzimuth = -mAzimuth;
mInclination.Val(mInclination.Inv());
mInclination = -mInclination;
mAzimuth.Val(mAzimuth.Inv());
}
if (mAzimuth.Val() < -0x4000 || 0x4000 < mAzimuth.Val()) {
mAzimuth = cSAngle((s16)-0x8000) - mAzimuth;
mInclination.Val(mInclination.Inv());
if (mInclination.Val() < -0x4000 || 0x4000 < mInclination.Val()) {
mInclination = cSAngle((s16)-0x8000) - mInclination;
mAzimuth.Val(mAzimuth.Inv());
}
return *this;
@@ -279,24 +279,24 @@ cSGlobe& cSGlobe::Formal() {
/* 8027196C-802719A4 0038+00 s=1 e=0 z=0 None .text Val__7cSGlobeFRC7cSGlobe */
void cSGlobe::Val(const cSGlobe& other) {
mRadius = other.mRadius;
mAzimuth = other.mAzimuth;
mInclination = other.mInclination;
mAzimuth = other.mAzimuth;
Formal();
}
/* 802719A4-80271A08 0064+00 s=2 e=3 z=0 None .text Val__7cSGlobeFfss */
void cSGlobe::Val(f32 f, s16 s1, s16 s2) {
mRadius = f;
mAzimuth = cSAngle(s1);
mInclination = cSAngle(s2);
mInclination = cSAngle(s1);
mAzimuth = cSAngle(s2);
Formal();
}
/* 80271A08-80271A70 0068+00 s=1 e=11 z=0 None .text Val__7cSGlobeFfRC7cSAngleRC7cSAngle */
void cSGlobe::Val(f32 f, const cSAngle& a1, const cSAngle& a2) {
mRadius = f;
mAzimuth = cSAngle(a1.Val());
mInclination = cSAngle(a2.Val());
mInclination = cSAngle(a1.Val());
mAzimuth = cSAngle(a2.Val());
Formal();
}
@@ -316,12 +316,12 @@ cXyz cSGlobe::Xyz() const {
/* 80271AF4-80271B30 003C+00 s=1 e=0 z=0 None .text Polar__7cSGlobeCFP7cSPolar */
void cSGlobe::Polar(cSPolar* csp) const {
csp->Val(mRadius, 0x4000 - mAzimuth.Val(), mInclination.Val());
csp->Val(mRadius, 0x4000 - mInclination.Val(), mAzimuth.Val());
}
/* 80271B30-80271B7C 004C+00 s=0 e=3 z=0 None .text Norm__7cSGlobeCFv */
cXyz cSGlobe::Norm() const {
cSGlobe glob(1.0f, mAzimuth, mInclination);
cSGlobe glob(1.0f, mInclination, mAzimuth);
return glob.Xyz();
}
+6 -6
View File
@@ -20,7 +20,7 @@ void cBgS_LinChk::ct() {
field_0x40 = start_end;
SetActorPid(UINT32_MAX);
field_0x4c = 0;
mStts = 0;
mFrontFlag = 1;
mBackFlag = 0;
}
@@ -30,13 +30,13 @@ void cBgS_LinChk::Set2(cXyz const* startPos, cXyz const* endPos, unsigned int ac
mLin.SetStartEnd(*startPos, *endPos);
field_0x40 = *endPos;
SetActorPid(actorPid);
field_0x4c &= ~0x10;
mStts &= ~STTS_HIT;
ClearPi();
}
/* 80267F40-80267F80 262880 0040+00 0/0 1/1 0/0 .text PreCalc__11cBgS_LinChkFv */
void cBgS_LinChk::PreCalc() {
mPreWallChk = !(field_0x4c & 0x40000000);
mPreGroundChk = !(field_0x4c & 0x80000000);
mPreRoofChk = !(field_0x4c & 0x20000000);
}
mPreWallChk = !(mStts & STTS_WALL_OFF);
mPreGroundChk = !(mStts & STTS_GROUND_OFF);
mPreRoofChk = !(mStts & STTS_ROOF_OFF);
}
+1 -1
View File
@@ -4735,7 +4735,7 @@ extern "C" f32 getSearchBallScale__9daAlink_cCFv(daAlink_c* this_) {
}
/* 800D079C-800D07A4 0CB0DC 0008+00 1/0 0/0 0/0 .text checkFastShotTime__9daAlink_cFv */
extern "C" s16 checkFastShotTime__9daAlink_cFv(daAlink_c* this_) {
extern "C" int checkFastShotTime__9daAlink_cFv(daAlink_c* this_) {
return this_->mFastShotTime;
}
+1575 -1240
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -267,7 +267,7 @@ void dCcMassS_Mng::SetCam(cM3dGCps const& cps) {
}
/* 80085EB0-80085EB8 0807F0 0008+00 0/0 1/1 0/0 .text GetResultCam__12dCcMassS_MngCFv */
u8 dCcMassS_Mng::GetResultCam() const {
u32 dCcMassS_Mng::GetResultCam() const {
return mResultCam;
}
+3 -2
View File
@@ -4,6 +4,7 @@
*/
#include "d/d_com_inf_actor.h"
#include "dolphin/types.h"
/* ############################################################################################## */
/* 80450610-80450618 000090 0008+00 0/0 1/1 0/0 .sdata g_dComIfAc_gameInfo */
@@ -14,5 +15,5 @@ dComIfAc_info_c g_dComIfAc_gameInfo = {
/* 80450618-80450620 000098 0004+04 0/0 2/2 7/7 .sdata g_dComIfGoat_gameInfo */
dComIfGoat_info_c g_dComIfGoat_gameInfo = {
0, // field_0x0
};
NULL, // field_0x0
};
+3 -3
View File
@@ -155,10 +155,10 @@ static int dEvDt_Next_Stage(int index, int wipe_type) {
point = stgInfo->mStart;
roomNo = (s8)stgInfo->mRoom;
layer = dStage_sclsInfo_getSceneLayer(stgInfo);
wipe = (s8)stgInfo->mWipe;
wipe = dStage_sclsInfo_getWipe(stgInfo);
wipe_time = dStage_sclsInfo_getWipeTime(stgInfo);
if (stgInfo->mWipe == 15) {
if (wipe == 15) {
wipe = 0;
}
@@ -1285,4 +1285,4 @@ BOOL dEvDtBase_c::advanceCutLocal(dEvDtStaff_c* p_staff) {
}
p_staff->field_0x40 = false;
return FALSE;
}
}
+5 -423
View File
@@ -22,394 +22,6 @@
#include "global.h"
#include "m_Do/m_Do_Reset.h"
//
// Forward References:
//
extern "C" void set__18dStage_nextStage_cFPCcScsScScUc();
extern "C" static void dStage_SetErrorRoom__Fv();
extern "C" static void dStage_SetErrorStage__Fv();
extern "C" void dStage_GetKeepDoorInfo__Fv();
extern "C" static void dStage_isBossStage__FP11dStage_dt_c();
extern "C" static void dStage_KeepDoorInfoInit__FP11dStage_dt_c();
extern "C" static void dStage_KeepDoorInfoProc__FP11dStage_dt_cP16stage_tgsc_class();
extern "C" void dStage_GetRoomKeepDoorInfo__Fv();
extern "C" static void dStage_initRoomKeepDoorInfo__Fv();
extern "C" static void dStage_RoomKeepDoorInfoProc__FP11dStage_dt_cP16stage_tgsc_class();
extern "C" static void dStage_RoomKeepDoorInit__FP11dStage_dt_cPviPv();
extern "C" void set__19dStage_startStage_cFPCcScsSc();
extern "C" void init__20dStage_roomControl_cFv();
extern "C" void initZone__20dStage_roomControl_cFv();
extern "C" void getStatusRoomDt__20dStage_roomControl_cFi();
extern "C" void getMemoryBlock__20dStage_roomControl_cFi();
extern "C" void setStayNo__20dStage_roomControl_cFi();
extern "C" void setNextStayNo__20dStage_roomControl_cFi();
extern "C" static void stayRoomCheck__FiPUci();
extern "C" static void createRoomScene__Fi();
extern "C" void checkRoomDisp__20dStage_roomControl_cCFi();
extern "C" void loadRoom__20dStage_roomControl_cFiPUcb();
extern "C" void zoneCountCheck__20dStage_roomControl_cCFi();
extern "C" void getStagInfo__16dStage_stageDt_cCFv();
extern "C" void createMemoryBlock__20dStage_roomControl_cFiUl();
extern "C" void destroyMemoryBlock__20dStage_roomControl_cFv();
extern "C" void setArcBank__20dStage_roomControl_cFiPCc();
extern "C" void getArcBank__20dStage_roomControl_cFi();
extern "C" void resetArchiveBank__20dStage_roomControl_cFi();
extern "C" void create__Q220dStage_roomControl_c9roomDzs_cFUc();
extern "C" void remove__Q220dStage_roomControl_c9roomDzs_cFv();
extern "C" void add__Q220dStage_roomControl_c9roomDzs_cFUcUc();
extern "C" void init__16dStage_stageDt_cFv();
extern "C" void initFileList2__15dStage_roomDt_cFv();
extern "C" void init__15dStage_roomDt_cFv();
extern "C" static void dStage_roomInit__Fi();
extern "C" void SetTimePass__20dStage_roomControl_cFi();
extern "C" void getRoom__16dStage_stageDt_cCFv();
extern "C" void dStage_searchName__FPCc();
extern "C" static void dStage_getName__FsSc();
extern "C" void dStage_getName2__FsSc();
extern "C" static void dStage_actorCreate__FP22stage_actor_data_classP16fopAcM_prm_class();
extern "C" static void dStage_cameraCreate__FP24stage_camera2_data_classii();
extern "C" void getPlayer__15dStage_roomDt_cCFv();
extern "C" void getPlayer__16dStage_stageDt_cCFv();
extern "C" static void dStage_playerInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_cameraInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_RoomCameraInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_arrowInit__FP11dStage_dt_cPviPv();
extern "C" void getMapInfo2__15dStage_roomDt_cCFi();
extern "C" void getMapInfoBase__15dStage_roomDt_cCFv();
extern "C" void getMapInfo2__16dStage_stageDt_cCFi();
extern "C" void getMapInfoBase__16dStage_stageDt_cCFv();
extern "C" static void dStage_paletteInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_pselectInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_envrInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_filiInfo2Init__FP11dStage_dt_cPviPv();
extern "C" static void dStage_fieldMapFiliInfo2Init__FP11dStage_dt_cPviPv();
extern "C" static void dStage_filiInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_vrboxInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_vrboxcolInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_plightInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_lgtvInfoInit__FP11dStage_dt_cPviPv();
extern "C" void dStage_stagInfo_GetParticleNo__FP21stage_stag_info_classi();
extern "C" static void dStage_stagInfoInit__FP11dStage_dt_cPviPv();
extern "C" void resetOldMulti__16dStage_stageDt_cFv();
extern "C" static void dStage_sclsInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_actorCommonLayerInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_tgscCommonLayerInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_actorInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_actorInit_always__FP11dStage_dt_cPviPv();
extern "C" static void dStage_tgscInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_doorInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_roomReadInit__FP11dStage_dt_cPviPv();
extern "C" void dStage_roomRead_dt_c_GetReverbStage__FR14roomRead_classi();
extern "C" static void dStage_ppntInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_pathInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_rppnInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_rpatInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_soundInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_soundInfoInitCL__FP11dStage_dt_cPviPv();
extern "C" static void dStage_setLayerTagName__FP9FuncTableii();
extern "C" static void dStage_dt_c_decode__FPvP11dStage_dt_cP9FuncTablei();
extern "C" static void dStage_stEventInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_mapEventInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_floorInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_memaInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_mecoInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_stageKeepTresureInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_fieldMapTresureInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_dt_c_offsetToPtr__FPv();
extern "C" static void dStage_mapPathInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_mapPathInitCommonLayer__FP11dStage_dt_cPviPv();
extern "C" static void dStage_fieldMapMapPathInit__FP11dStage_dt_cPviPv();
extern "C" static void readMult__FP11dStage_dt_cP14dStage_Multi_cb();
extern "C" static void dStage_multInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_lbnkInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_roomTresureInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_layerTresureInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_dmapInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_stageDrtgInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_roomDrtgInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dStage_elstInfoInit__FP11dStage_dt_cPviPv();
extern "C" static void dKankyo_create__Fv();
extern "C" static void layerMemoryInfoLoader__FPvP11dStage_dt_ci();
extern "C" static void dStage_dt_c_stageInitLoader__FPvP11dStage_dt_c();
extern "C" static void layerTableLoader__FPvP11dStage_dt_ci();
extern "C" void getElst__16dStage_stageDt_cFv();
extern "C" static void layerActorLoader__FPvP11dStage_dt_ci();
extern "C" static void dStage_dt_c_stageLoader__FPvP11dStage_dt_c();
extern "C" void dStage_dt_c_roomLoader__FPvP11dStage_dt_ci();
extern "C" void dStage_dt_c_roomReLoader__FPvP11dStage_dt_ci();
extern "C" void dStage_dt_c_fieldMapLoader__FPvP11dStage_dt_c();
extern "C" void dStage_infoCreate__Fv();
extern "C" void dStage_Create__Fv();
extern "C" void dStage_Delete__Fv();
extern "C" void setOldMulti__16dStage_stageDt_cFv();
extern "C" void dStage_RoomCheck__FP11cBgS_GndChk();
extern "C" void dStage_changeSceneExitId__FR13cBgS_PolyInfofUlScs();
extern "C" void dStage_changeScene__FifUlScsi();
extern "C" void getSclsInfo__15dStage_roomDt_cCFv();
extern "C" void getSclsInfo__16dStage_stageDt_cCFv();
extern "C" void dStage_changeScene4Event__FiScibfUlsi();
extern "C" void dStage_restartRoom__FUlUli();
extern "C" void setCamera__15dStage_roomDt_cFP18stage_camera_class();
extern "C" void getCamera__15dStage_roomDt_cCFv();
extern "C" void setArrow__15dStage_roomDt_cFP17stage_arrow_class();
extern "C" void getArrow__15dStage_roomDt_cCFv();
extern "C" void setPlayer__15dStage_roomDt_cFP17stage_actor_class();
extern "C" void setPlayerNum__15dStage_roomDt_cFUs();
extern "C" void getPlayerNum__15dStage_roomDt_cCFv();
extern "C" void setRoom__15dStage_roomDt_cFP14roomRead_class();
extern "C" void getRoom__15dStage_roomDt_cCFv();
extern "C" void setMapInfo__15dStage_roomDt_cFP20stage_map_info_class();
extern "C" void getMapInfo__15dStage_roomDt_cCFv();
extern "C" void setMapInfoBase__15dStage_roomDt_cFP26stage_map_info_dummy_class();
extern "C" void setPaletteInfo__15dStage_roomDt_cFP24stage_palette_info_class();
extern "C" void getPaletteInfo__15dStage_roomDt_cCFv();
extern "C" void setPselectInfo__15dStage_roomDt_cFP24stage_pselect_info_class();
extern "C" void getPselectInfo__15dStage_roomDt_cCFv();
extern "C" void setEnvrInfo__15dStage_roomDt_cFP21stage_envr_info_class();
extern "C" void getEnvrInfo__15dStage_roomDt_cCFv();
extern "C" void setVrboxInfo__15dStage_roomDt_cFP22stage_vrbox_info_class();
extern "C" void getVrboxInfo__15dStage_roomDt_cCFv();
extern "C" void setVrboxcolInfo__15dStage_roomDt_cFP25stage_vrboxcol_info_class();
extern "C" void getVrboxcolInfo__15dStage_roomDt_cCFv();
extern "C" void setPlightInfo__15dStage_roomDt_cFP23stage_plight_info_class();
extern "C" void getPlightInfo__15dStage_roomDt_cCFv();
extern "C" void setPaletteNumInfo__15dStage_roomDt_cFi();
extern "C" void getPaletteNumInfo__15dStage_roomDt_cCFv();
extern "C" void setPselectNumInfo__15dStage_roomDt_cFi();
extern "C" void getPselectNumInfo__15dStage_roomDt_cCFv();
extern "C" void setEnvrNumInfo__15dStage_roomDt_cFi();
extern "C" void getEnvrNumInfo__15dStage_roomDt_cCFv();
extern "C" void setVrboxNumInfo__15dStage_roomDt_cFi();
extern "C" void getVrboxNumInfo__15dStage_roomDt_cCFv();
extern "C" void setVrboxcolNumInfo__15dStage_roomDt_cFi();
extern "C" void getVrboxcolNumInfo__15dStage_roomDt_cCFv();
extern "C" void setPlightNumInfo__15dStage_roomDt_cFi();
extern "C" void getPlightNumInfo__15dStage_roomDt_cCFv();
extern "C" void setLightVecInfo__15dStage_roomDt_cFP30stage_pure_lightvec_info_class();
extern "C" void getLightVecInfo__15dStage_roomDt_cCFv();
extern "C" void setLightVecInfoNum__15dStage_roomDt_cFi();
extern "C" void getLightVecInfoNum__15dStage_roomDt_cCFv();
extern "C" void setStagInfo__15dStage_roomDt_cFP21stage_stag_info_class();
extern "C" void getStagInfo__15dStage_roomDt_cCFv();
extern "C" void setSclsInfo__15dStage_roomDt_cFP27stage_scls_info_dummy_class();
extern "C" void setPntInfo__15dStage_roomDt_cFP13dStage_dPnt_c();
extern "C" void getPntInf__15dStage_roomDt_cCFv();
extern "C" void setPathInfo__15dStage_roomDt_cFP14dStage_dPath_c();
extern "C" void getPathInf__15dStage_roomDt_cCFv();
extern "C" void setPnt2Info__15dStage_roomDt_cFP13dStage_dPnt_c();
extern "C" void getPnt2Inf__15dStage_roomDt_cCFv();
extern "C" void setPath2Info__15dStage_roomDt_cFP14dStage_dPath_c();
extern "C" void getPath2Inf__15dStage_roomDt_cCFv();
extern "C" void setSoundInf__15dStage_roomDt_cFP18dStage_SoundInfo_c();
extern "C" void getSoundInf__15dStage_roomDt_cCFv();
extern "C" void setSoundInfCL__15dStage_roomDt_cFP18dStage_SoundInfo_c();
extern "C" void getSoundInfCL__15dStage_roomDt_cCFv();
extern "C" void setMapEventInfo__15dStage_roomDt_cFP21dStage_MapEventInfo_c();
extern "C" void getMapEventInfo__15dStage_roomDt_cCFv();
extern "C" void setFileList2Info__15dStage_roomDt_cFP21dStage_FileList2_dt_c();
extern "C" void getFileList2Info__15dStage_roomDt_cCFv();
extern "C" void setFileListInfo__15dStage_roomDt_cFP20dStage_FileList_dt_c();
extern "C" void setFloorInfo__15dStage_roomDt_cFP18dStage_FloorInfo_c();
extern "C" void getFloorInfo__15dStage_roomDt_cCFv();
extern "C" void setMemoryConfig__15dStage_roomDt_cFP21dStage_MemoryConfig_c();
extern "C" void getMemoryConfig__15dStage_roomDt_cCFv();
extern "C" void setMemoryMap__15dStage_roomDt_cFP18dStage_MemoryMap_c();
extern "C" void getMemoryMap__15dStage_roomDt_cCFv();
extern "C" void setMulti__15dStage_roomDt_cFP14dStage_Multi_c();
extern "C" void getMulti__15dStage_roomDt_cCFv();
extern "C" void setOldMulti__15dStage_roomDt_cFv();
extern "C" void resetOldMulti__15dStage_roomDt_cFv();
extern "C" void getOldMulti__15dStage_roomDt_cCFv();
extern "C" void setLbnk__15dStage_roomDt_cFP13dStage_Lbnk_c();
extern "C" void getLbnk__15dStage_roomDt_cCFv();
extern "C" void setTresure__15dStage_roomDt_cFP19stage_tresure_class();
extern "C" void getTresure__15dStage_roomDt_cCFv();
extern "C" void setDMap__15dStage_roomDt_cFP13dStage_DMap_c();
extern "C" bool getDMap__15dStage_roomDt_cCFv();
extern "C" void setDrTg__15dStage_roomDt_cFP16stage_tgsc_class();
extern "C" void getDrTg__15dStage_roomDt_cCFv();
extern "C" void setDoor__15dStage_roomDt_cFP16stage_tgsc_class();
extern "C" void getDoor__15dStage_roomDt_cCFv();
extern "C" void setMapPath__15dStage_roomDt_cFPv();
extern "C" void getMapPath__15dStage_roomDt_cFv();
extern "C" void setElst__15dStage_roomDt_cFP13dStage_Elst_c();
extern "C" void getElst__15dStage_roomDt_cFv();
extern "C" void setCamera__16dStage_stageDt_cFP18stage_camera_class();
extern "C" void getCamera__16dStage_stageDt_cCFv();
extern "C" void setArrow__16dStage_stageDt_cFP17stage_arrow_class();
extern "C" void getArrow__16dStage_stageDt_cCFv();
extern "C" void setPlayer__16dStage_stageDt_cFP17stage_actor_class();
extern "C" void setPlayerNum__16dStage_stageDt_cFUs();
extern "C" void getPlayerNum__16dStage_stageDt_cCFv();
extern "C" void setRoom__16dStage_stageDt_cFP14roomRead_class();
extern "C" void setMapInfo__16dStage_stageDt_cFP20stage_map_info_class();
extern "C" void getMapInfo__16dStage_stageDt_cCFv();
extern "C" void setMapInfoBase__16dStage_stageDt_cFP26stage_map_info_dummy_class();
extern "C" void setPaletteInfo__16dStage_stageDt_cFP24stage_palette_info_class();
extern "C" void getPaletteInfo__16dStage_stageDt_cCFv();
extern "C" void setPselectInfo__16dStage_stageDt_cFP24stage_pselect_info_class();
extern "C" void getPselectInfo__16dStage_stageDt_cCFv();
extern "C" void setEnvrInfo__16dStage_stageDt_cFP21stage_envr_info_class();
extern "C" void getEnvrInfo__16dStage_stageDt_cCFv();
extern "C" void setVrboxInfo__16dStage_stageDt_cFP22stage_vrbox_info_class();
extern "C" void getVrboxInfo__16dStage_stageDt_cCFv();
extern "C" void setVrboxcolInfo__16dStage_stageDt_cFP25stage_vrboxcol_info_class();
extern "C" void getVrboxcolInfo__16dStage_stageDt_cCFv();
extern "C" void setPlightInfo__16dStage_stageDt_cFP23stage_plight_info_class();
extern "C" void getPlightInfo__16dStage_stageDt_cCFv();
extern "C" void setPaletteNumInfo__16dStage_stageDt_cFi();
extern "C" void getPaletteNumInfo__16dStage_stageDt_cCFv();
extern "C" void setPselectNumInfo__16dStage_stageDt_cFi();
extern "C" void getPselectNumInfo__16dStage_stageDt_cCFv();
extern "C" void setEnvrNumInfo__16dStage_stageDt_cFi();
extern "C" void getEnvrNumInfo__16dStage_stageDt_cCFv();
extern "C" void setVrboxNumInfo__16dStage_stageDt_cFi();
extern "C" void getVrboxNumInfo__16dStage_stageDt_cCFv();
extern "C" void setVrboxcolNumInfo__16dStage_stageDt_cFi();
extern "C" void getVrboxcolNumInfo__16dStage_stageDt_cCFv();
extern "C" void setLightVecInfo__16dStage_stageDt_cFP30stage_pure_lightvec_info_class();
extern "C" void getLightVecInfo__16dStage_stageDt_cCFv();
extern "C" void setLightVecInfoNum__16dStage_stageDt_cFi();
extern "C" void getLightVecInfoNum__16dStage_stageDt_cCFv();
extern "C" void setPlightNumInfo__16dStage_stageDt_cFi();
extern "C" void getPlightNumInfo__16dStage_stageDt_cCFv();
extern "C" void setStagInfo__16dStage_stageDt_cFP21stage_stag_info_class();
extern "C" void setSclsInfo__16dStage_stageDt_cFP27stage_scls_info_dummy_class();
extern "C" void setPntInfo__16dStage_stageDt_cFP13dStage_dPnt_c();
extern "C" void getPntInf__16dStage_stageDt_cCFv();
extern "C" void setPathInfo__16dStage_stageDt_cFP14dStage_dPath_c();
extern "C" void getPathInf__16dStage_stageDt_cCFv();
extern "C" void setPnt2Info__16dStage_stageDt_cFP13dStage_dPnt_c();
extern "C" void getPnt2Inf__16dStage_stageDt_cCFv();
extern "C" void setPath2Info__16dStage_stageDt_cFP14dStage_dPath_c();
extern "C" void getPath2Inf__16dStage_stageDt_cCFv();
extern "C" void setSoundInf__16dStage_stageDt_cFP18dStage_SoundInfo_c();
extern "C" void getSoundInf__16dStage_stageDt_cCFv();
extern "C" void setSoundInfCL__16dStage_stageDt_cFP18dStage_SoundInfo_c();
extern "C" void getSoundInfCL__16dStage_stageDt_cCFv();
extern "C" void setMapEventInfo__16dStage_stageDt_cFP21dStage_MapEventInfo_c();
extern "C" void getMapEventInfo__16dStage_stageDt_cCFv();
extern "C" void setFileList2Info__16dStage_stageDt_cFP21dStage_FileList2_dt_c();
extern "C" void getFileList2Info__16dStage_stageDt_cCFv();
extern "C" void setFileListInfo__16dStage_stageDt_cFP20dStage_FileList_dt_c();
extern "C" void getFileListInfo__16dStage_stageDt_cCFv();
extern "C" void setFloorInfo__16dStage_stageDt_cFP18dStage_FloorInfo_c();
extern "C" void getFloorInfo__16dStage_stageDt_cCFv();
extern "C" void setMemoryConfig__16dStage_stageDt_cFP21dStage_MemoryConfig_c();
extern "C" void getMemoryConfig__16dStage_stageDt_cCFv();
extern "C" void setMemoryMap__16dStage_stageDt_cFP18dStage_MemoryMap_c();
extern "C" void getMemoryMap__16dStage_stageDt_cCFv();
extern "C" void setMulti__16dStage_stageDt_cFP14dStage_Multi_c();
extern "C" void getMulti__16dStage_stageDt_cCFv();
extern "C" void getOldMulti__16dStage_stageDt_cCFv();
extern "C" void setLbnk__16dStage_stageDt_cFP13dStage_Lbnk_c();
extern "C" void getLbnk__16dStage_stageDt_cCFv();
extern "C" void setTresure__16dStage_stageDt_cFP19stage_tresure_class();
extern "C" void getTresure__16dStage_stageDt_cCFv();
extern "C" void setDMap__16dStage_stageDt_cFP13dStage_DMap_c();
extern "C" void getDMap__16dStage_stageDt_cCFv();
extern "C" void setDrTg__16dStage_stageDt_cFP16stage_tgsc_class();
extern "C" void getDrTg__16dStage_stageDt_cCFv();
extern "C" void setDoor__16dStage_stageDt_cFP16stage_tgsc_class();
extern "C" void getDoor__16dStage_stageDt_cCFv();
extern "C" void setMapPath__16dStage_stageDt_cFPv();
extern "C" bool getMapPath__16dStage_stageDt_cFv();
extern "C" void setElst__16dStage_stageDt_cFP13dStage_Elst_c();
extern "C" void __sinit_d_stage_cpp();
extern "C" void func_80028328();
extern "C" void __dt__19dStage_roomStatus_cFv();
extern "C" void __ct__19dStage_roomStatus_cFv();
extern "C" void __dt__19dStage_KeepDoorInfoFv();
extern "C" void __dt__21stage_tgsc_data_classFv();
extern "C" void __ct__21stage_tgsc_data_classFv();
extern "C" extern char const* const d_d_stage__stringBase0;
extern "C" u8 mMemoryBlock__20dStage_roomControl_c[76];
extern "C" u8 mArcBank__20dStage_roomControl_c[320];
extern "C" u8 mStatus__20dStage_roomControl_c[65792];
extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */];
extern "C" u8 mProcID__20dStage_roomControl_c[4];
extern "C" u8 mArcBankName__20dStage_roomControl_c[4];
extern "C" u8 mArcBankData__20dStage_roomControl_c[4];
extern "C" u8 m_roomDzs__20dStage_roomControl_c[8];
//
// External References:
//
extern "C" JKRHeap* mDoExt_getArchiveHeap__Fv();
extern "C" void mDoExt_destroyExpHeap__FP10JKRExpHeap(JKRExpHeap*);
extern "C" void __ct__11J3DLightObjFv();
extern "C" void getFileListInfo__15dStage_roomDt_cCFv();
extern "C" void fopAcM_FastCreate__FsPFPv_iPvPv();
extern "C" void fopAcM_CreateAppend__Fv();
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
extern "C" void fopCamM_Create__FisPv();
extern "C" void fopScnM_SearchByID__FUi();
extern "C" void fopScnM_CreateReq__FssUsUl();
extern "C" void fopKyM_fastCreate__FsiP4cXyzP4cXyzPFPv_i();
extern "C" void fopMsgM_Create__FsPFPv_iPv();
extern "C" void fpcLy_CurrentLayer__Fv();
extern "C" void fpcSCtRq_Request__FP11layer_classsPFPvPv_iPvPv();
extern "C" void getLayerNo__14dComIfG_play_cFi();
extern "C" void dComIfGp_setNextStage__FPCcsScScfUliScsii();
extern "C" void dComIfG_getStageRes__FPCc();
extern "C" void dComIfG_getOldStageRes__FPCc();
extern "C" void check__7daSus_cFScRC4cXyz();
extern "C" void execute__7daSus_cFv();
extern "C" void dLib_getExpandSizeFromAramArchive__FP14JKRAramArchivePCc();
extern "C" void init__12dSv_danBit_cFSc();
extern "C" void clearRoomSwitch__13dSv_zoneBit_cFv();
extern "C" void clearRoomItem__13dSv_zoneBit_cFv();
extern "C" void getSave__10dSv_info_cFi();
extern "C" void putSave__10dSv_info_cFi();
extern "C" void initZone__10dSv_info_cFv();
extern "C" void isActor__10dSv_info_cCFii();
extern "C" void syncRes__14dRes_control_cFPCcP11dRes_info_ci();
extern "C" void deleteRes__14dRes_control_cFPCcP11dRes_info_ci();
extern "C" void getResInfo__14dRes_control_cFPCcP11dRes_info_ci();
extern "C" void setPointer__8dMpath_cFPQ211dDrawPath_c10room_classPScPSc();
extern "C" void setPointer__8dMpath_cFScPvi();
extern "C" void create__16dEvent_manager_cFv();
extern "C" void remove__16dEvent_manager_cFv();
extern "C" void GetExitId__4dBgSFRC13cBgS_PolyInfo();
extern "C" void GetRoomId__4dBgSFRC13cBgS_PolyInfo();
extern "C" void addData__7dTres_cFPQ27dTres_c10list_classSc();
extern "C" void dKy_set_nexttime__Ff();
extern "C" void init__12dSvBit_HIO_cFv();
extern "C" void memalignB__3cMlFiUl();
extern "C" void alloc__7JKRHeapFUliP7JKRHeap();
extern "C" void alloc__7JKRHeapFUli();
extern "C" void free__7JKRHeapFPvP7JKRHeap();
extern "C" void free__7JKRHeapFPv();
extern "C" void* __nwa__FUlP7JKRHeapi();
extern "C" void __dl__FPv();
extern "C" void __dla__FPv();
extern "C" void create__10JKRExpHeapFUlP7JKRHeapb();
extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo();
extern "C" void __register_global_object();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void _savegpr_24();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_24();
extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern J3DLightInfo const j3dDefaultLightInfo;
extern "C" extern dSvBit_HIO_c g_save_bit_HIO;
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
//
// Declarations:
//
void dStage_nextStage_c::set(const char* i_stage, s8 i_roomId, s16 i_point, s8 i_layer, s8 i_wipe,
u8 i_speed) {
if (!enabled) {
@@ -1692,15 +1304,6 @@ char* dStage_roomControl_c::getArcBank(int i_bank) {
return mArcBank[i_bank];
}
/* ############################################################################################## */
/* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80378AEF = "";
SECTION_DEAD static char const* const stringBase_80378AF0 =
"Bank[%d] : %s.arc Sync Read Error !!\n";
#pragma pop
/* 80024954-80024A34 01F294 00E0+00 0/0 2/2 0/2 .text resetArchiveBank__20dStage_roomControl_cFi
*/
bool dStage_roomControl_c::resetArchiveBank(int i_bank) {
@@ -1811,8 +1414,8 @@ void dStage_stageDt_c::init() {
mDrTg = NULL;
mDoor = NULL;
mElst = NULL;
field_0x56 = 0;
field_0x58 = 0;
mWorldRollAngleX = 0;
mWorldRollDirAngleY = 0;
}
void dStage_roomDt_c::initFileList2() {
@@ -3074,13 +2677,6 @@ int dStage_changeSceneExitId(cBgS_PolyInfo& param_0, f32 speed, u32 mode, s8 roo
return dStage_changeScene(dComIfG_Bgsp().GetExitId(param_0), speed, mode, roomNo, angle, -1);
}
/* ############################################################################################## */
/* 80451C94-80451C98 000294 0004+00 2/2 0/0 0/0 .sdata2 @5315 */
SECTION_SDATA2 static f32 lit_5315 = 15.0f;
/* 80451C98-80451CA0 000298 0008+00 2/2 0/0 0/0 .sdata2 @5317 */
SECTION_SDATA2 static f64 lit_5317 = 4503601774854144.0 /* cast s32 to float */;
/* 80027170-800272E0 021AB0 0170+00 1/1 10/10 63/63 .text dStage_changeScene__FifUlScsi
*/
int dStage_changeScene(int i_exitId, f32 speed, u32 mode, s8 room_no, s16 angle, int param_5) {
@@ -3132,16 +2728,8 @@ stage_scls_info_dummy_class* dStage_stageDt_c::getSclsInfo() const {
return mSclsInfo;
}
/* ############################################################################################## */
/* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80378B8F = "%s: %d: シーンリストがありません。\n";
SECTION_DEAD static char const* const stringBase_80378BB3 = "d_stage.cpp";
#pragma pop
/* 800272F0-800274B0 021C30 01C0+00 0/0 1/1 0/0 .text dStage_changeScene4Event__FiScibfUlsi */
#ifdef NONMATCHING
// NONMATCHING regalloc
int dStage_changeScene4Event(int i_exitId, s8 room_no, int i_wipe, bool param_3, f32 speed,
u32 mode, s16 angle, int param_7) {
stage_scls_info_dummy_class* scls;
@@ -3189,17 +2777,11 @@ int dStage_changeScene4Event(int i_exitId, s8 room_no, int i_wipe, bool param_3,
dKy_set_nexttime(15.0f * timeH);
}
dComIfGp_setNextStage(scls_info->mStage, scls_info->mStart, (s8)scls_info->mRoom, (s8)layer,
dComIfGp_setNextStage(scls_info->mStage, scls_info->mStart, (s8)scls_info->mRoom, layer,
speed, mode, 1, wipe == 15 ? 0 : wipe, angle, param_3 ? 1 : 0,
wipe_time);
return 1;
}
#else
int dStage_changeScene4Event(int param_0, s8 param_1, int param_2, bool param_3, f32 param_4,
u32 param_5, s16 param_6, int param_7) {
// NONMATCHING
}
#endif
/* 800274B0-80027524 021DF0 0074+00 0/0 1/1 0/0 .text dStage_restartRoom__FUlUli */
void dStage_restartRoom(u32 roomParam, u32 mode, int param_2) {
@@ -3921,4 +3503,4 @@ void dStage_stageDt_c::setElst(dStage_Elst_c* i_Elst) {
static u8 pad_80450D7C[4];
#pragma pop
/* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+42 -353
View File
@@ -22,253 +22,6 @@
#define MAKE_ITEM_PARAMS(itemNo, itemBitNo, param_2, param_3) \
((itemNo & 0xFF) << 0 | (itemBitNo & 0xFF) << 0x8 | param_2 << 0x10 | (param_3 & 0xF) << 0x18)
//
// Forward References:
//
extern "C" void fopAcM_FastCreate__FsPFPv_iPvPv();
extern "C" void fopAcM_setStageLayer__FPv();
extern "C" void fopAcM_setRoomLayer__FPvi();
extern "C" void fopAcM_SearchByID__FUiPP10fopAc_ac_c();
extern "C" void fopAcM_SearchByName__FsPP10fopAc_ac_c();
extern "C" void fopAcM_CreateAppend__Fv();
extern "C" static void createAppend__FUsUlPC4cXyziPC5csXyzPC4cXyzScUi();
extern "C" void fopAcM_Log__FPC10fopAc_ac_cPCc();
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
extern "C" void fopAcM_delete__FUi();
extern "C" void fopAcM_create__FsUsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i();
extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc();
extern "C" void fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv();
extern "C" void fopAcM_fastCreate__FPCcUlPC4cXyziPC5csXyzPC4cXyzPFPv_iPv();
extern "C" void fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i();
extern "C" void fopAcM_createChildFromOffset__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i();
extern "C" void fopAcM_DeleteHeap__FP10fopAc_ac_c();
extern "C" void fopAcM_callCallback__FP10fopAc_ac_cPFP10fopAc_ac_c_iP7JKRHeap();
extern "C" void fopAcM_entrySolidHeap___FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void fopAcM_SetMin__FP10fopAc_ac_cfff();
extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
extern "C" void fopAcM_setCullSizeSphere__FP10fopAc_ac_cffff();
extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
extern "C" void fopAcM_addAngleY__FP10fopAc_ac_css();
extern "C" void fopAcM_calcSpeed__FP10fopAc_ac_c();
extern "C" void fopAcM_posMove__FP10fopAc_ac_cPC4cXyz();
extern "C" void fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz();
extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void fopAcM_searchActorAngleX__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void fopAcM_searchActorDistance2__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void fopAcM_rollPlayerCrash__FPC10fopAc_ac_cfUlffif();
extern "C" void fopAcM_checkCullingBox__FPA4_fffffff();
extern "C" void fopAcM_cullingCheck__FPC10fopAc_ac_c();
extern "C" void event_second_actor__FUs();
extern "C" void fopAcM_orderTalkEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs();
extern "C" void fopAcM_orderTalkItemBtnEvent__FUsP10fopAc_ac_cP10fopAc_ac_cUsUs();
extern "C" void fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs();
extern "C" void fopAcM_orderDoorEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs();
extern "C" void fopAcM_orderCatchEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs();
extern "C" void fopAcM_orderOtherEvent__FP10fopAc_ac_cPCcUsUsUs();
extern "C" void fopAcM_orderOtherEvent__FP10fopAc_ac_cP10fopAc_ac_cPCcUsUsUs();
extern "C" void fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs();
extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs();
extern "C" void fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs();
extern "C" void fopAcM_orderMapToolAutoNextEvent__FP10fopAc_ac_cUcsUsUsUs();
extern "C" void fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs();
extern "C" void fopAcM_orderItemEvent__FP10fopAc_ac_cUsUs();
extern "C" void fopAcM_orderTreasureEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs();
extern "C" void fopAcM_getTalkEventPartner__FPC10fopAc_ac_c();
extern "C" void fopAcM_getItemEventPartner__FPC10fopAc_ac_c();
extern "C" void fopAcM_getEventPartner__FPC10fopAc_ac_c();
extern "C" void fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz();
extern "C" void fopAcM_createItemForTrBoxDemo__FPC4cXyziiiPC5csXyzPC4cXyz();
extern "C" void fopAcM_getItemNoFromTableNo__FUc();
extern "C" void fopAcM_createItemFromEnemyID__FUcPC4cXyziiPC5csXyzPC4cXyzPfPf();
extern "C" void fopAcM_createItemFromTable__FPC4cXyziiiPC5csXyziPC4cXyzPfPfb();
extern "C" void fopAcM_createDemoItem__FPC4cXyziiPC5csXyziPC4cXyzUc();
extern "C" void fopAcM_createItemForBoss__FPC4cXyziiPC5csXyzPC4cXyzffi();
extern "C" void fopAcM_createItemForMidBoss__FPC4cXyziiPC5csXyzPC4cXyzii();
extern "C" void fopAcM_createItemForDirectGet__FPC4cXyziiPC5csXyzPC4cXyzff();
extern "C" void fopAcM_createItemForSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff();
extern "C" void fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi();
extern "C" void fopAcM_fastCreateItem2__FPC4cXyziiiiPC5csXyzPC4cXyz();
extern "C" void fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i();
extern "C" void fopAcM_createBokkuri__FUsPC4cXyziiiPC4cXyzii();
extern "C" void fopAcM_createWarpHole__FPC4cXyzPC5csXyziUcUcUc();
extern "C" void enemySearchJugge__FPvPv();
extern "C" void fopAcM_myRoomSearchEnemy__FSc();
extern "C" void fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc();
extern "C" void fopAcM_setCarryNow__FP10fopAc_ac_ci();
extern "C" void fopAcM_cancelCarryNow__FP10fopAc_ac_c();
extern "C" void fopAcM_otoCheck__FPC10fopAc_ac_cf();
extern "C" void fopAcM_otherBgCheck__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void fopAcM_wayBgCheck__FPC10fopAc_ac_cff();
extern "C" void fopAcM_plAngleCheck__FPC10fopAc_ac_cs();
extern "C" void fopAcM_effSmokeSet1__FPUlPUlPC4cXyzPC5csXyzfPC12dKy_tevstr_ci();
extern "C" void fopAcM_effHamonSet__FPUlPC4cXyzff();
extern "C" void fopAcM_carryOffRevise__FP10fopAc_ac_c();
extern "C" static void vectle_calc__FPC10DOUBLE_POSP4cXyz();
extern "C" static void get_vectle_calc__FPC4cXyzPC4cXyzP4cXyz();
extern "C" void fopAcM_setEffectMtx__FPC10fopAc_ac_cPC12J3DModelData();
extern "C" void fopAcM_getProcNameString__FPC10fopAc_ac_c();
extern "C" void fopAcM_findObjectCB__FPC10fopAc_ac_cPv();
extern "C" void fopAcM_searchFromName__FPCcUlUl();
extern "C" void fopAcM_findObject4EventCB__FP10fopAc_ac_cPv();
extern "C" void fopAcM_searchFromName4Event__FPCcs();
extern "C" void fopAcM_getWaterY__FPC4cXyzPf();
extern "C" void fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz();
extern "C" void fopAcM_getWaterStream__FPC4cXyzRC13cBgS_PolyInfoP4cXyzPii();
extern "C" void fopAcM_getPolygonAngle__FRC13cBgS_PolyInfos();
extern "C" void __dt__8cM3dGPlaFv();
extern "C" void fopAcM_getPolygonAngle__FPC8cM3dGPlas();
extern "C" void lineCheck__11fopAcM_lc_cFPC4cXyzPC4cXyzPC10fopAc_ac_c();
extern "C" void gndCheck__11fopAcM_gc_cFPC4cXyz();
extern "C" void roofCheck__11fopAcM_rc_cFPC4cXyz();
extern "C" void waterCheck__11fopAcM_wt_cFPC4cXyz();
extern "C" void fopAcM_initManager__Fv();
extern "C" void __sinit_f_op_actor_mng_cpp();
extern "C" void __dt__11dBgS_WtrChkFv();
extern "C" void __dt__15dBgS_ObjRoofChkFv();
extern "C" void __dt__14dBgS_ObjGndChkFv();
extern "C" void __dt__5l_HIOFv();
extern "C" static void func_8001E0D4();
extern "C" static void func_8001E0DC();
extern "C" static void func_8001E0E4();
extern "C" static void func_8001E0EC();
extern "C" static void func_8001E0F4();
extern "C" static void func_8001E0FC();
extern "C" static void func_8001E104();
extern "C" static void func_8001E10C();
extern "C" static void func_8001E114();
extern "C" void onFrollCrashFlg__9daPy_py_cFUci();
extern "C" int checkWolfDash__9daPy_py_cCFv();
extern "C" int checkFrontRoll__9daPy_py_cCFv();
extern "C" u32 checkHorseRide__9daPy_py_cCFv();
extern "C" s32 getGrabActorID__9daPy_py_cCFv();
extern "C" extern char const* const f_op_f_op_actor_mng__stringBase0;
extern "C" u8 mLineCheck__11fopAcM_lc_c[112];
extern "C" u8 mGndCheck__11fopAcM_gc_c[84];
extern "C" u8 mRoofCheck__11fopAcM_rc_c[80];
extern "C" u8 mWaterCheck__11fopAcM_wt_c[84 + 4 /* padding */];
extern "C" f32 mGroundY__11fopAcM_gc_c;
extern "C" f32 mRoofY__11fopAcM_rc_c;
extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */];
//
// External References:
//
extern "C" void mDoMtx_YrotS__FPA4_fs();
extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
extern "C" void fopScnM_SearchByID__FUi();
extern "C" void fpcBs_Is_JustOfType__Fii();
extern "C" void fpcEx_IsExist__FUi();
extern "C" void fpcLy_CurrentLayer__Fv();
extern "C" void fpcM_Delete__FPv();
extern "C" void fpcM_IsCreating__FUi();
extern "C" void fpcM_FastCreate__FsPFPv_iPvPv();
extern "C" void fpcM_JudgeInLayer__FUiPFPvPv_PvPv();
extern "C" void fpcPi_Change__FP22process_priority_classUiUsUs();
extern "C" void fpcSch_JudgeForPName__FPvPv();
extern "C" void fpcSch_JudgeByID__FPvPv();
extern "C" void fpcSCtRq_Request__FP11layer_classsPFPvPv_iPvPv();
extern "C" void dStage_searchName__FPCc();
extern "C" void dStage_getName2__FsSc();
extern "C" void checkArea__13daTagStream_cFPC4cXyz();
extern "C" void onActor__10dSv_info_cFii();
extern "C" void order__14dEvt_control_cFUsUsUsUsPvPvsUc();
extern "C" void convPId__14dEvt_control_cFUi();
extern "C" void searchMapEventData__14dEvt_control_cFUcl();
extern "C" void setGtItm__14dEvt_control_cFUc();
extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc();
extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc();
extern "C" void getEventPrio__16dEvent_manager_cFP10fopAc_ac_cs();
extern "C" void getEmitter__Q213dPa_control_c7level_cFUl();
extern "C" void
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void
setSimpleFoot__13dPa_control_cFUlPUlR13cBgS_PolyInfoPC4cXyzPC12dKy_tevstr_ciPC5csXyzPC4cXyzP18dPa_levelEcallBackScPC4cXyz();
extern "C" void dPath_GetPolyRoomPathVec__FRC13cBgS_PolyInfoP4cXyzPi();
extern "C" void LineCross__4cBgSFP11cBgS_LinChk();
extern "C" void GroundCross__4cBgSFP11cBgS_GndChk();
extern "C" void ChkPolySafe__4cBgSFRC13cBgS_PolyInfo();
extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla();
extern "C" void GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo();
extern "C" void RoofChk__4dBgSFP12dBgS_RoofChk();
extern "C" void SplGrpChk__4dBgSFP14dBgS_SplGrpChk();
extern "C" void __ct__11dBgS_GndChkFv();
extern "C" void __dt__11dBgS_GndChkFv();
extern "C" void __ct__11dBgS_LinChkFv();
extern "C" void __dt__11dBgS_LinChkFv();
extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c();
extern "C" void __ct__14dBgS_ObjLinChkFv();
extern "C" void __dt__14dBgS_ObjLinChkFv();
extern "C" void Set__14dBgS_SplGrpChkFR4cXyzf();
extern "C" void __dt__14dBgS_SplGrpChkFv();
extern "C" void SetObj__16dBgS_PolyPassChkFv();
extern "C" void __ct__12dBgS_RoofChkFv();
extern "C" void __dt__12dBgS_RoofChkFv();
extern "C" void __ct__11dBgS_WtrChkFv();
extern "C" void isHeart__FUc();
extern "C" void check_itemno__Fi();
extern "C" void dCam_getCamera__Fv();
extern "C" void dKy_Sound_get__Fv();
extern "C" void memalignB__3cMlFiUl();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void normalizeZP__4cXyzFv();
extern "C" void atan2sX_Z__4cXyzCFv();
extern "C" void __ct__5csXyzFsss();
extern "C" void cM_atan2s__Fff();
extern "C" void cM_rndF__Ff();
extern "C" void cM_rndFX__Ff();
extern "C" void SetPos__11cBgS_GndChkFPC4cXyz();
extern "C" void cLib_memSet__FPviUl();
extern "C" void cLib_chaseAngleS__FPsss();
extern "C" void cLib_targetAngleY__FPC3VecPC3Vec();
extern "C" void MtxPosition__FP4cXyzP4cXyz();
extern "C" void calcViewFrustum__11J3DUClipperFv();
extern "C" void clip__11J3DUClipperCFPA4_Cf3Vecf();
extern "C" void clip__11J3DUClipperCFPA4_CfP3VecP3Vec();
extern "C" void getFreeSize__7JKRHeapFv();
extern "C" void __dl__FPv();
extern "C" void setEffectMtx__13J3DTexMtxInfoFPA4_f();
extern "C" void __register_global_object();
extern "C" void _savegpr_19();
extern "C" void _savegpr_21();
extern "C" void _savegpr_23();
extern "C" void _savegpr_24();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_29();
extern "C" void _restgpr_19();
extern "C" void _restgpr_21();
extern "C" void _restgpr_23();
extern "C" void _restgpr_24();
extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_29();
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mStatus__20dStage_roomControl_c[65792];
extern "C" f32 Zero__4cXyz[3];
extern "C" u8 BaseY__4cXyz[12];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" f32 mSystemFar__14mDoLib_clipper;
extern "C" u8 mProcID__20dStage_roomControl_c[4];
extern "C" void* mClipper__14mDoLib_clipper;
extern "C" u8 m_top__13daTagStream_c[4];
extern "C" u8 mData__12dEnemyItem_c[4 + 4 /* padding */];
extern "C" u8 Zero__5csXyz[4];
extern "C" extern u8 data_80451164[4];
//
// Declarations:
//
/* 800198A4-800198C4 0141E4 0020+00 0/0 1/1 0/0 .text fopAcM_FastCreate__FsPFPv_iPvPv */
void* fopAcM_FastCreate(s16 i_procName, FastCreateReqFunc i_createFunc, void* i_createData,
void* i_data) {
@@ -792,15 +545,6 @@ s16 fopAcM_searchActorAngleY(const fopAc_ac_c* i_actorA, const fopAc_ac_c* i_act
return cLib_targetAngleY(fopAcM_GetPosition_p(i_actorA), fopAcM_GetPosition_p(i_actorB));
}
/* ############################################################################################## */
/* 80451C04-80451C08 000204 0004+00 13/13 0/0 0/0 .sdata2 @4645 */
SECTION_SDATA2 static u8 lit_4645[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 8001A738-8001A79C 015078 0064+00 0/0 0/0 13/13 .text
* fopAcM_searchActorAngleX__FPC10fopAc_ac_cPC10fopAc_ac_c */
s16 fopAcM_searchActorAngleX(const fopAc_ac_c* i_actorA, const fopAc_ac_c* i_actorB) {
@@ -821,25 +565,13 @@ s32 fopAcM_seenActorAngleY(const fopAc_ac_c* i_actorA, const fopAc_ac_c* i_actor
return abs((s16)(target_angle - i_actorA->shape_angle.y));
}
/* ############################################################################################## */
/* 80451C08-80451C10 000208 0008+00 3/3 0/0 0/0 .sdata2 @4745 */
SECTION_SDATA2 static f64 lit_4745 = 0.5;
/* 80451C10-80451C18 000210 0008+00 3/3 0/0 0/0 .sdata2 @4746 */
SECTION_SDATA2 static f64 lit_4746 = 3.0;
/* 80451C18-80451C20 000218 0008+00 4/4 0/0 0/0 .sdata2 @4747 */
SECTION_SDATA2 static u8 lit_4747[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
inline f32 local_sqrtf(f32 mag) {
if (mag > FLOAT_LABEL(lit_4645)) {
if (mag > 0.0f) {
f64 tmpd = __frsqrte(mag);
tmpd = DOUBLE_LABEL(lit_4745) * tmpd * (DOUBLE_LABEL(lit_4746) - tmpd * tmpd * mag);
tmpd = DOUBLE_LABEL(lit_4745) * tmpd * (DOUBLE_LABEL(lit_4746) - tmpd * tmpd * mag);
return DOUBLE_LABEL(lit_4745) * tmpd * (DOUBLE_LABEL(lit_4746) - tmpd * tmpd * mag) * mag;
} else if (mag < DOUBLE_LABEL(lit_4747)) {
tmpd = 0.5 * tmpd * (3.0f - tmpd * tmpd * mag);
tmpd = 0.5 * tmpd * (3.0f - tmpd * tmpd * mag);
return 0.5 * tmpd * (3.0f - tmpd * tmpd * mag) * mag;
} else if (mag < 0.0) {
return NAN;
} else if (fpclassify(mag) == 1) {
return NAN;
@@ -1020,8 +752,7 @@ static cull_sphere l_cullSizeSphere[] = {
};
/* 8001ACEC-8001B058 01562C 036C+00 0/0 1/1 1/1 .text fopAcM_cullingCheck__FPC10fopAc_ac_c */
// some stack / extra instructions regarding mDoLib_clipper::clip
#ifdef NONMATCHING
// NONMATCHING some stack / extra instructions regarding mDoLib_clipper::clip
s32 fopAcM_cullingCheck(fopAc_ac_c const* i_actor) {
MtxP mtx_p;
if (fopAcM_GetMtx(i_actor) == NULL) {
@@ -1056,11 +787,11 @@ s32 fopAcM_cullingCheck(fopAc_ac_c const* i_actor) {
if (fopAcM_getCullSizeFar(i_actor) > 0.0f) {
mDoLib_clipper::changeFar(cullsize_far * mDoLib_clipper::getFar());
u32 ret = mDoLib_clipper::clip(mtx_p, &box->mMax, &box->mMin);
u32 ret = mDoLib_clipper::clip(mtx_p, &box->max, &box->min);
mDoLib_clipper::resetFar();
return ret;
} else {
return mDoLib_clipper::clip(mtx_p, &box->mMax, &box->mMin);
return mDoLib_clipper::clip(mtx_p, &box->max, &box->min);
}
}
} else {
@@ -1069,22 +800,22 @@ s32 fopAcM_cullingCheck(fopAc_ac_c const* i_actor) {
mDoLib_clipper::changeFar(cullsize_far * mDoLib_clipper::getFar());
f32 radius = fopAcM_getCullSizeSphereR(i_actor);
const Vec* center_p = fopAcM_getCullSizeSphereCenter(i_actor);
const Vec& center_p = fopAcM_getCullSizeSphereCenter(i_actor);
Vec center;
center.x = center_p->x;
center.y = center_p->y;
center.z = center_p->z;
center.x = center_p.x;
center.y = center_p.y;
center.z = center_p.z;
u32 ret = mDoLib_clipper::clip(mtx_p, center, radius);
mDoLib_clipper::resetFar();
return ret;
} else {
f32 radius = fopAcM_getCullSizeSphereR(i_actor);
const Vec* center_p = fopAcM_getCullSizeSphereCenter(i_actor);
const Vec& center_p = fopAcM_getCullSizeSphereCenter(i_actor);
Vec center;
center.x = center_p->x;
center.y = center_p->y;
center.z = center_p->z;
center.x = center_p.x;
center.y = center_p.y;
center.z = center_p.z;
return mDoLib_clipper::clip(mtx_p, center, radius);
}
} else {
@@ -1092,20 +823,15 @@ s32 fopAcM_cullingCheck(fopAc_ac_c const* i_actor) {
if (fopAcM_getCullSizeFar(i_actor) > 0.0f) {
mDoLib_clipper::changeFar(cullsize_far * mDoLib_clipper::getFar());
u32 ret = mDoLib_clipper::clip(mtx_p, sphere->mCenter, sphere->mRadius);
u32 ret = mDoLib_clipper::clip(mtx_p, sphere->center, sphere->radius);
mDoLib_clipper::resetFar();
return ret;
} else {
return mDoLib_clipper::clip(mtx_p, sphere->mCenter, sphere->mRadius);
return mDoLib_clipper::clip(mtx_p, sphere->center, sphere->radius);
}
}
}
}
#else
s32 fopAcM_cullingCheck(fopAc_ac_c const* param_0) {
// NONMATCHING
}
#endif
/* 8001B058-8001B068 015998 0010+00 5/5 0/0 0/0 .text event_second_actor__FUs */
void* event_second_actor(u16) {
@@ -1541,7 +1267,6 @@ s32 fopAcM_createItemFromEnemyID(u8 i_enemyID, cXyz const* i_pos, int i_itemBitN
speedF, speedY, false);
}
/* 8001BF64-8001C078 0168A4 0114+00 1/1 0/0 11/11 .text
* fopAcM_createItemFromTable__FPC4cXyziiiPC5csXyziPC4cXyzPfPfb */
s32 fopAcM_createItemFromTable(cXyz const* i_pos, int i_tableNo, int i_itemBitNo, int i_roomNo,
@@ -1585,7 +1310,6 @@ s32 fopAcM_createItemFromTable(cXyz const* i_pos, int i_tableNo, int i_itemBitNo
return fopAcM_GetID(ac);
}
/* 8001C078-8001C0D4 0169B8 005C+00 2/2 0/0 0/0 .text
* fopAcM_createDemoItem__FPC4cXyziiPC5csXyziPC4cXyzUc */
s32 fopAcM_createDemoItem(const cXyz* i_pos, int i_itemNo, int i_itemBitNo, const csXyz* i_angle,
@@ -1759,16 +1483,6 @@ void* fopAcM_fastCreateItem2(const cXyz* i_pos, int i_itemNo, int i_itemBitNo, i
}
}
/* ############################################################################################## */
/* 80451C30-80451C34 000230 0004+00 1/1 0/0 0/0 .sdata2 @5808 */
SECTION_SDATA2 static f32 lit_5808 = 2.0f;
/* 80451C34-80451C38 000234 0004+00 1/1 0/0 0/0 .sdata2 @5809 */
SECTION_SDATA2 static f32 lit_5809 = 8192.0f;
/* 80451C38-80451C3C 000238 0004+00 4/4 0/0 0/0 .sdata2 @5810 */
SECTION_SDATA2 static f32 lit_5810 = 1.0f;
/* 8001C5B0-8001C870 016EF0 02C0+00 3/3 0/0 4/4 .text
* fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i */
void* fopAcM_fastCreateItem(const cXyz* i_pos, int i_itemNo, int i_roomNo, const csXyz* i_angle,
@@ -1788,7 +1502,7 @@ void* fopAcM_fastCreateItem(const cXyz* i_pos, int i_itemNo, int i_roomNo, const
u32 params = MAKE_ITEM_PARAMS(item_no, item_bit_no, 0xFF, param_9);
if (p_speedF != NULL && isHeart(i_itemNo)) {
*p_speedF = lit_5808 * *p_speedF;
*p_speedF = 2.0f * *p_speedF;
}
switch (i_itemNo) {
@@ -1824,18 +1538,18 @@ void* fopAcM_fastCreateItem(const cXyz* i_pos, int i_itemNo, int i_roomNo, const
angle = csXyz::Zero;
}
angle.z = 0xFF;
angle.y += (s16)cM_rndFX(lit_5809);
angle.y += (s16)cM_rndFX(0x2000);
fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(
PROC_ITEM, params, i_pos, i_roomNo, &angle, i_scale, -1, i_createFunc, NULL);
if (actor != NULL) {
if (p_speedF != NULL) {
actor->speedF = *p_speedF * (lit_5810 + cM_rndFX(0.3f));
actor->speedF = *p_speedF * (1.0f + cM_rndFX(0.3f));
}
if (p_speedY != NULL) {
actor->speed.y = *p_speedY * (lit_5810 + cM_rndFX(0.2f));
actor->speed.y = *p_speedY * (1.0f + cM_rndFX(0.2f));
}
}
}
@@ -1871,7 +1585,7 @@ s32 fopAcM_createBokkuri(u16 i_enemyNo, const cXyz* i_pos, int param_3, int para
csXyz angle(0, 0, 0);
if (param_6 != NULL) {
angle.y = param_6->atan2sX_Z();
angle.y += static_cast<s16>(2048.0f * cM_rndFX(FLOAT_LABEL(/* 1.0f */ lit_5810)));
angle.y += static_cast<s16>(2048.0f * cM_rndFX(1.0f));
param_8 = 1;
}
u32 actorParams = 0;
@@ -1984,11 +1698,6 @@ s32 fopAcM_otoCheck(fopAc_ac_c const* i_actor, f32 param_1) {
return 0;
}
/* ############################################################################################## */
/* 80451C48-80451C4C 000248 0004+00 2/2 0/0 0/0 .sdata2 @6035 */
SECTION_SDATA2 static f32 lit_6035 = 100.0f;
/* 8001CDFC-8001CED0 01773C 00D4+00 0/0 0/0 49/49 .text
* fopAcM_otherBgCheck__FPC10fopAc_ac_cPC10fopAc_ac_c */
s32 fopAcM_otherBgCheck(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) {
@@ -1997,7 +1706,7 @@ s32 fopAcM_otherBgCheck(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) {
cXyz end;
end = param_1->current.pos;
end.y += lit_6035;
end.y += 100.0f;
start = param_0->current.pos;
start.y = param_0->eyePos.y;
@@ -2022,7 +1731,7 @@ s32 fopAcM_wayBgCheck(fopAc_ac_c const* param_0, f32 param_1, f32 param_2) {
start.y += param_2;
mDoMtx_YrotS((MtxP)calc_mtx, param_0->shape_angle.y);
offset.x = FLOAT_LABEL(lit_4645);
offset.x = 0.0f;
offset.y = 50.0f;
offset.z = param_1;
@@ -2090,35 +1799,21 @@ f32 fopAcM_gc_c::mGroundY;
* fopAcM_effSmokeSet1__FPUlPUlPC4cXyzPC5csXyzfPC12dKy_tevstr_ci */
void fopAcM_effSmokeSet1(u32* param_0, u32* param_1, cXyz const* param_2, csXyz const* param_3,
f32 param_4, dKy_tevstr_c const* param_5, int param_6) {
cXyz p2;
f32 z = param_2->z;
f32 y = FLOAT_LABEL(lit_6035) + param_2->y;
p2.x = param_2->x;
p2.y = y;
p2.z = z;
cXyz p2(param_2->x, param_2->y + 100.0f, param_2->z);
if (fopAcM_gc_c::gndCheck(&p2)) {
p2.y = fopAcM_gc_c::getGroundY();
cXyz stack_18;
stack_18.x = param_4;
stack_18.y = param_4;
stack_18.z = param_4;
cXyz stack_18(param_4, param_4, param_4);
*param_0 =
dComIfGp_particle_setSimpleFoot(*param_0, param_1, *fopAcM_gc_c::getGroundCheck(), &p2,
param_5, param_6, param_3, &stack_18, NULL, 0xff, NULL);
}
}
/* ############################################################################################## */
/* 80451C50-80451C54 000250 0004+00 1/1 0/0 0/0 .sdata2 hamon_name$6107 */
SECTION_SDATA2 static u16 hamon_name[2] = {
0x01B2,
0x01B3,
};
/* 8001D10C-8001D1F4 017A4C 00E8+00 0/0 1/1 41/41 .text fopAcM_effHamonSet__FPUlPC4cXyzff
*/
void fopAcM_effHamonSet(u32* param_0, cXyz const* param_1, f32 param_2, f32 emitRate) {
cXyz tmp(param_2, param_2, param_2);
static u16 const hamon_name[2] = {0x01B2, 0x01B3};
for (int i = 0; i < 2; i++) {
*param_0 = dComIfGp_particle_set(*param_0, hamon_name[i], param_1, NULL, &tmp);
@@ -2131,7 +1826,6 @@ void fopAcM_effHamonSet(u32* param_0, cXyz const* param_1, f32 param_2, f32 emit
}
}
/* 8001D1F4-8001D1FC 017B34 0008+00 0/0 0/0 7/7 .text fopAcM_riverStream__FP4cXyzPsPff */
s32 fopAcM_riverStream(cXyz* param_0, s16* param_1, f32* param_2, f32 param_3) {
return 0;
@@ -2149,7 +1843,7 @@ s32 fopAcM_carryOffRevise(fopAc_ac_c* param_0) {
start.y = param_0->current.pos.y;
mDoMtx_YrotS((MtxP)calc_mtx, player->shape_angle.y);
offset.x = FLOAT_LABEL(lit_4645);
offset.x = 0.0f;
offset.y = param_0->current.pos.y - player->current.pos.y;
offset.z = 150.0f;
@@ -2162,7 +1856,7 @@ s32 fopAcM_carryOffRevise(fopAc_ac_c* param_0) {
param_0->current.pos.x = player->current.pos.x;
param_0->current.pos.z = player->current.pos.z;
param_0->old.pos = param_0->current.pos;
param_0->speedF = FLOAT_LABEL(lit_4645);
param_0->speedF = 0.0f;
return 1;
}
@@ -2173,15 +1867,14 @@ s32 fopAcM_carryOffRevise(fopAc_ac_c* param_0) {
*/
static void vectle_calc(const DOUBLE_POS* pDpos, cXyz* pOut) {
f64 len = sqrt(pDpos->x * pDpos->x + pDpos->y * pDpos->y + pDpos->z * pDpos->z);
if (DOUBLE_LABEL(/* 0.0 */ lit_4747) != len) {
if (len != 0.0) {
pOut->x = pDpos->x / len;
pOut->y = pDpos->y / len;
pOut->z = pDpos->z / len;
} else {
f32 tmp0 = FLOAT_LABEL(/* 0.0f */ lit_4645); // temp not needed when data is moved
pOut->x = tmp0;
pOut->y = tmp0;
pOut->z = tmp0;
pOut->x = 0.0f;
pOut->y = 0.0f;
pOut->z = 0.0f;
}
}
@@ -2194,15 +1887,6 @@ static void get_vectle_calc(const cXyz* pXyzA, const cXyz* pXyzB, cXyz* pOut) {
vectle_calc(&dPos, pOut);
}
/* ############################################################################################## */
/* 80378898-803788C8 004EF8 0030+00 1/1 0/0 0/0 .rodata mtx_adj$6195 */
SECTION_RODATA static Mtx const mtx_adj = {
{0.5f, 0.0f, 0.0f, 0.5f},
{0.0f, -0.5f, 0.0f, 0.5f},
{0.0f, 0.0f, 1.0f, 0.0f},
};
COMPILER_STRIP_GATE(0x80378898, &mtx_adj);
/* 8001D42C-8001D5A4 017D6C 0178+00 0/0 3/3 40/40 .text
* fopAcM_setEffectMtx__FPC10fopAc_ac_cPC12J3DModelData */
void fopAcM_setEffectMtx(const fopAc_ac_c* i_actor, const J3DModelData* modelData) {
@@ -2216,6 +1900,11 @@ void fopAcM_setEffectMtx(const fopAc_ac_c* i_actor, const J3DModelData* modelDat
Mtx mtx;
C_MTXLookAt(mtx, &cXyz::Zero, &cXyz::BaseY, &half);
mDoMtx_stack_c::scaleS(1.0, 1.0, 1.0);
static Mtx const mtx_adj = {
{0.5f, 0.0f, 0.0f, 0.5f},
{0.0f, -0.5f, 0.0f, 0.5f},
{0.0f, 0.0f, 1.0f, 0.0f},
};
mDoMtx_stack_c::concat(mtx_adj);
mDoMtx_stack_c::concat(mtx);
MtxP currentMtx = mDoMtx_stack_c::get();
@@ -2240,7 +1929,6 @@ void fopAcM_setEffectMtx(const fopAc_ac_c* i_actor, const J3DModelData* modelDat
}
}
/* 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* i_actor) {
const char* name = dStage_getName2(i_actor->mBase.mBsTypeId, i_actor->subtype);
@@ -2420,10 +2108,11 @@ s16 fopAcM_getPolygonAngle(cM3dGPla const* p_plane, s16 param_1) {
}
f32 cos = cM_scos(p_plane->mNormal.atan2sX_Z() - param_1);
return cM_atan2s(JMAFastSqrt(p_plane->mNormal.x * p_plane->mNormal.x + p_plane->mNormal.z * p_plane->mNormal.z) * cos, p_plane->mNormal.y);
f32 xz = JMAFastSqrt(p_plane->mNormal.x * p_plane->mNormal.x + p_plane->mNormal.z * p_plane->mNormal.z);
xz *= cos;
return cM_atan2s(xz, p_plane->mNormal.y);
}
/* 8001DC68-8001DCBC 0185A8 0054+00 0/0 5/5 21/21 .text
* lineCheck__11fopAcM_lc_cFPC4cXyzPC4cXyzPC10fopAc_ac_c */
bool fopAcM_lc_c::lineCheck(cXyz const* i_start, cXyz const* i_end, fopAc_ac_c const* i_actor) {
+6 -7
View File
@@ -219,11 +219,10 @@ void mDoMtx_lookAt(Mtx mtx, Vec const* param_1, Vec const* param_2, s16 param_3)
/* 8000C710-8000C8D0 007050 01C0+00 0/0 10/10 1/1 .text mDoMtx_lookAt__FPA4_fPC3VecPC3VecPC3Vecs
*/
void mDoMtx_lookAt(Mtx mtx, Vec const* param_1, Vec const* param_2, Vec const* param_3,
s16 param_4) {
cXyz local_4c(*(cXyz*)param_1);
cXyz local_58(*(cXyz*)param_2);
cXyz local_64(*(cXyz*)param_3);
void mDoMtx_lookAt(Mtx mtx, Vec const* i_eye, Vec const* i_center, Vec const* i_up, s16 i_bank) {
cXyz local_4c(*(cXyz*)i_eye);
cXyz local_58(*(cXyz*)i_center);
cXyz local_64(*(cXyz*)i_up);
cXyz local_70 = local_4c - local_58;
if (!local_70.normalizeRS()) {
local_58.z += 1.0f;
@@ -233,14 +232,14 @@ void mDoMtx_lookAt(Mtx mtx, Vec const* param_1, Vec const* param_2, Vec const* p
}
C_MTXLookAt(mtx, &local_4c, &local_64, &local_58);
Mtx local_40;
mDoMtx_ZrotS(local_40, param_4);
mDoMtx_ZrotS(local_40, i_bank);
mDoMtx_concat(local_40, mtx, mtx);
JGeometry::TVec3<f32> local_7c;
local_7c.set(0.0f, mtx[1][1], mtx[2][1]);
if (local_7c.isZero()) {
local_58.y += 1.0f;
C_MTXLookAt(mtx, &local_4c, &local_64, &local_58);
mDoMtx_ZrotS(local_40, param_4);
mDoMtx_ZrotS(local_40, i_bank);
mDoMtx_concat(local_40, mtx, mtx);
}
}