mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-15 04:02:50 -04:00
Merge decomp/main into dusk
Merges 44 upstream commits from zeldaret/tp decomp/main. Conflict resolutions: - .github/workflows/build.yml: keep deleted (not needed for PC port) - README.md: keep PC port README - J3DAnimation.h: keep OFFSET_PTR macro + add upstream forward decl - J3DModelLoader.h: keep BE(u32) mBlockNum + add field_0x1c - d_com_inf_game.h: keep PC port inlines + add upstream declarations - global.h: keep MULTI_CHAR macro + add FABSF macro - JUTConsole.cpp: keep uintptr_t cast for 64-bit - JUTDbPrint.cpp: keep PC enter_() helper + add cstring include - JUTResFont.cpp: take upstream loop/struct improvements with BE types - JUTCacheFont.cpp: take upstream decomp fix - float.h: use upstream !PLATFORM_GCN guard - d_a_npc_bouS/theB.cpp: keep MULTI_CHAR() for PC portability - d_a_npc_henna.cpp: keep uintptr_t + use upstream var name - d_demo.cpp: keep near_/far_ field renames for PC - d_resorce.cpp: keep uintptr_t + fix var name to res - d_s_room.cpp, m_Do_graphic.cpp: keep dusk includes + add cstring - m_Do_main.cpp: keep JHIComPortManager + use JAS_GLOBAL_INSTANCE_INIT - angle_utils.h: remove redundant types.h include
This commit is contained in:
@@ -13,6 +13,19 @@
|
||||
#include "d/d_s_play.h"
|
||||
#include "f_op/f_op_camera_mng.h"
|
||||
#include "m_Do/m_Do_lib.h"
|
||||
#include <cstring>
|
||||
|
||||
class daObj_KatHIO_c : public JORReflexible {
|
||||
public:
|
||||
daObj_KatHIO_c();
|
||||
virtual ~daObj_KatHIO_c() {}
|
||||
|
||||
void genMessage(JORMContext* ctx);
|
||||
|
||||
s8 field_0x4;
|
||||
f32 mScaleFemale;
|
||||
f32 mScaleMale;
|
||||
};
|
||||
|
||||
static u8 hio_set;
|
||||
|
||||
@@ -24,6 +37,17 @@ daObj_KatHIO_c::daObj_KatHIO_c() {
|
||||
mScaleFemale = 1.0f;
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void daObj_KatHIO_c::genMessage(JORMContext* ctx) {
|
||||
// Golden Snail
|
||||
ctx->genLabel("黄金蟲(カタツムリ)", 0x80000001);
|
||||
// Model scale (male)
|
||||
ctx->genSlider("モデルスケール(オス)", &mScaleMale, 0.1f, 4.0f);
|
||||
// Model scale (female)
|
||||
ctx->genSlider("モデルスケール(メス)", &mScaleFemale, 0.1f, 4.0f);
|
||||
}
|
||||
#endif
|
||||
|
||||
static u8 const l_kat_itemno[2] = {
|
||||
fpcNm_ITEM_M_SNAIL,
|
||||
fpcNm_ITEM_F_SNAIL,
|
||||
@@ -83,7 +107,7 @@ static int useHeapInit(fopAc_ac_c* i_this) {
|
||||
return kat->CreateHeap();
|
||||
}
|
||||
|
||||
int daObjKAT_c::CreateHeap() {
|
||||
inline int daObjKAT_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("Kat", 9);
|
||||
JUT_ASSERT(0x136, modelData != NULL);
|
||||
mpMorfSO =
|
||||
@@ -139,12 +163,12 @@ int daObjKAT_c::CreateHeap() {
|
||||
|
||||
static int daObjKAT_Create(fopAc_ac_c* i_this) {
|
||||
daObjKAT_c* kat = (daObjKAT_c*)i_this;
|
||||
fpc_ProcID unused = fopAcM_GetID(i_this);
|
||||
fopAcM_RegisterCreateID(i_this, "Obj_KAT");
|
||||
return kat->create();
|
||||
}
|
||||
|
||||
static int daObjKAT_Delete(daObjKAT_c* i_this) {
|
||||
fpc_ProcID unused = fopAcM_GetID(i_this);
|
||||
fopAcM_RegisterDeleteID(i_this, "Obj_KAT");
|
||||
i_this->Delete();
|
||||
return 1;
|
||||
}
|
||||
@@ -233,7 +257,7 @@ void daObjKAT_c::WallWalk() {
|
||||
field_0x7c2.x = cM_atan2s(unkXyzP2->z, unkXyzP2->y);
|
||||
field_0x7f6 = cM_atan2s(unkXyzP2->x, unkXyzP2->z);
|
||||
} else {
|
||||
field_0x7e0 += (s16)0x100;
|
||||
ANGLE_ADD(field_0x7e0, 0x100);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -622,7 +646,7 @@ void daObjKAT_c::Z_BufferChk() {
|
||||
field_0x800 = ((near_ + far_ * near_ / projected.z) / (far_ - near_) + 1.0f) * 16777215.0f;
|
||||
}
|
||||
|
||||
int daObjKAT_c::Delete() {
|
||||
inline int daObjKAT_c::Delete() {
|
||||
dComIfG_resDelete(&mPhase, "Kat");
|
||||
if (field_0xa70 != 0) {
|
||||
hio_set = 0;
|
||||
@@ -693,16 +717,16 @@ bool daObjKAT_c::CreateChk() {
|
||||
return true;
|
||||
}
|
||||
|
||||
int daObjKAT_c::create() {
|
||||
inline int daObjKAT_c::create() {
|
||||
fopAcM_ct(this, daObjKAT_c);
|
||||
|
||||
s32 loadResult = dComIfG_resLoad(&mPhase, "Kat");
|
||||
if (loadResult == cPhs_COMPLEATE_e) {
|
||||
OS_REPORT("KAT PARAM: %x", fopAcM_GetParam(this));
|
||||
OS_REPORT("KAT PARAM %x\n", fopAcM_GetParam(this));
|
||||
field_0x808 = fopAcM_GetParam(this) & 0xf;
|
||||
if (field_0x808 == 2) {
|
||||
field_0x56c = 0;
|
||||
shape_angle.x += (s16)-0x2000;
|
||||
ANGLE_ADD(shape_angle.x, -0x2000);
|
||||
fopAcM_OnStatus(this, 0x4000);
|
||||
} else {
|
||||
mDraw = true;
|
||||
|
||||
Reference in New Issue
Block a user