d_camera 28% (#732)

* initial progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* fix outdated member names

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* fixed deprecated member references

* more progress

* more progress

* more progress

* fix deprecated member references

* more progress

* more progress

* more progress

* more progress

* more progress

* check in for review

* remove comment

* initial PR changes

* more PR changes

* more PR changes

* added anonymous struct as class member

* reverted changes to `stage_camera2_data_class`

* added `dCamera_event_data`, `dCamera_monitoring_things` and `dCamera_DMC_system` from debug maps

* more progress

* more progress

* realmatch for `camera_draw`

* PR changes

* fix broken merge

* formatting

* Reverted change to `camSphChkdata` that caused  `sph_chk_callback` match to regress

* Reverted change to `BG` struct that caused ctor and dtor match to regress
This commit is contained in:
Mattias Blum
2025-04-11 16:37:42 -04:00
committed by GitHub
parent 6aeaaef643
commit 5f287fcaee
30 changed files with 3330 additions and 564 deletions
+2588 -225
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -171,11 +171,11 @@ void dComIfG_play_c::itemInit() {
field_0x497a = 0;
mNowVibration = dComIfGs_getOptVibration();
daArrow_c::setKeepType(daArrow_c::TYPE_NORMAL);
mMesgCameraTagInfo = 0;
field_0x4984 = 0;
mMesgCamInfo.mID = 0;
mMesgCamInfo.mBasicID = 0;
for (int i = 0; i < ARRAY_SIZE(field_0x4988); i++) {
field_0x4988[i] = 0;
for (int i = 0; i < ARRAY_SIZE(mMesgCamInfo.mActor); i++) {
mMesgCamInfo.mActor[i] = 0;
}
}
+1 -1
View File
@@ -566,7 +566,7 @@ void dKyr_sun_move() {
cLib_addCalc(&pSunPkt->mSunAlpha, 1.0f, 0.5f, 0.1f, 0.01f);
if (pCamera != NULL) {
borderY = pCamera->mCamera.m5F8;
borderY = pCamera->mCamera.mTrimHeight;
}
cXyz projected;
+1 -1
View File
@@ -51,7 +51,7 @@ void dOvlpFd2_dlst_c::draw() {
GXEnd();
Mtx44 proj;
C_MTXPerspective(proj, 60.0f, g_HIO.field_0x0c * 1.33333333f, 100.0f, 100000.0f);
C_MTXPerspective(proj, 60.0f, fapGmHIO_getAspectRatio() * 1.33333333f, 100.0f, 100000.0f);
GXSetProjection(proj, GX_PERSPECTIVE);
GXInitTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), mDoGph_gInf_c::getFrameBufferTex(), 320, 240, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE);
+2 -2
View File
@@ -152,7 +152,7 @@ cPhs_State dScnName_c::create() {
field_0x2a0 = 160000.0f;
field_0x2a4 = 60.0f;
f32 aspect = dComIfGp_getWindow(0)->getViewPort()->mWidth / dComIfGp_getWindow(0)->getViewPort()->mHeight;
field_0x2a8 = aspect * g_HIO.field_0x0c;
field_0x2a8 = aspect * fapGmHIO_getAspectRatio();
field_0x2ac.x = 9377.0f;
field_0x2ac.y = 0.0;
field_0x2ac.z = 7644.0;
@@ -960,7 +960,7 @@ void dDlst_FLSEL_CLOTH_c::draw() {
Mtx44 mtx;
view_port_class* viewport = dComIfGp_getCurrentViewport();
f32 aspect = viewport->mWidth / viewport->mHeight;
C_MTXPerspective(mtx, 30.0f, aspect * g_HIO.field_0x0c, 1.0f, 100000.0f);
C_MTXPerspective(mtx, 30.0f, aspect * fapGmHIO_getAspectRatio(), 1.0f, 100000.0f);
GXSetProjection(mtx, GX_PERSPECTIVE);
cloth_c->draw(0.0f, (GXColor){0xe3, 0xff, 0xb3, 0xff}, (GXColor){0x00, 0x00, 0x00, 0x00}, 0);
dComIfGp_getCurrentGrafPort()->setPort();
+5 -5
View File
@@ -1315,10 +1315,10 @@ int dStage_cameraCreate(stage_camera2_data_class* i_cameraData, int i_cameraIdx,
i_cameraData = static_cast<stage_camera2_data_class*>(cMl::memalignB(-4, 0x18));
if (i_cameraData != NULL) {
i_cameraData->field_0x4 = 0.0f;
i_cameraData->field_0x8 = 0.0f;
i_cameraData->field_0x4 = 0.0f;
i_cameraData->field_0x0 = param_2;
i_cameraData->m04 = 0.0f;
i_cameraData->m08 = 0.0f;
i_cameraData->m04 = 0.0f;
i_cameraData->m00 = param_2;
fopCamM_Create(i_cameraIdx, PROC_CAMERA, i_cameraData);
}
@@ -1499,7 +1499,7 @@ int dStage_playerInit(dStage_dt_c* i_stage, void* i_data, int num, void* i_file)
int dStage_cameraInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
stage_camera_class* camera = (stage_camera_class*)((char*)i_data + 4);
i_stage->setCamera(camera);
dStage_cameraCreate(camera->m_entries, 0, 0);
dStage_cameraCreate(camera->mEntries, 0, 0);
return 1;
}