Demo work and fakematch cleanup (#1034)

This commit is contained in:
LagoLunatic
2026-05-28 13:49:11 -04:00
committed by GitHub
parent a70388d63f
commit 8b46c357e4
50 changed files with 813 additions and 296 deletions
+10 -7
View File
@@ -132,7 +132,7 @@ BOOL daIball_c::createItem() {
itemBitNo = -1;
if (isLimitedItem(items[i])) {
itemBitNo = daIball_prm::getItemBitNo(this);
if ((itemBitNo == 0x1F || itemBitNo == 0xFF || itemBitNo == -1) || fopAcM_isItemForIb(itemBitNo, items[i], current.roomNo)) {
if ((itemBitNo == 0x1F || itemBitNo == 0xFF || itemBitNo == -1) || fopAcM_isItemForIb(itemBitNo, items[i], fopAcM_GetRoomNo(this))) {
itemBitNo = -1;
items[i] = dItemNo_YELLOW_RUPEE_e;
}
@@ -228,7 +228,7 @@ void daIball_c::mode_wait_init() {
void daIball_c::mode_wait() {
if (mAcch.ChkGroundLanding()) {
mPrevSpeedY *= m_data.mBounceSpeedMult;
if (mPrevSpeedY > gravity - 0.5f) {
if (mPrevSpeedY > fopAcM_GetGravity(this) - 0.5f) {
speedF = 0.0f;
} else {
speed.set(0.0f, -mPrevSpeedY, 0.0f);
@@ -337,7 +337,10 @@ void daIball_c::CreateInit() {
mpModel->calc();
dKy_plight_set(&mLight);
#if VERSION > VERSION_DEMO
setPointLight();
#endif
mLightFlickerMult = 1.0f;
regist(this);
@@ -420,17 +423,17 @@ cPhs_State daIball_c::_daIball_create() {
/* 800F489C-800F4B40 .text CreateHeap__9daIball_cFv */
BOOL daIball_c::CreateHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(m_arcname, ALWAYS_BDL_IB);
JUT_ASSERT(1135, modelData != NULL);
JUT_ASSERT(DEMO_SELECT(1133, 1135), modelData != NULL);
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000222);
if (!mpModel) { return FALSE; }
J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(m_arcname, ALWAYS_BCK_START);
JUT_ASSERT(1152, pbck != NULL);
JUT_ASSERT(DEMO_SELECT(1150, 1152), pbck != NULL);
int ret = mBckAnm.init(modelData, pbck, 1, J3DFrameCtrl::EMode_NONE);
if (!ret) { return FALSE; }
J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(m_arcname, ALWAYS_BTK_IB);
JUT_ASSERT(1164, pbtk != NULL);
JUT_ASSERT(DEMO_SELECT(1162, 1164), pbtk != NULL);
ret = mBtkAnm.init(modelData, pbtk, 1, J3DFrameCtrl::EMode_LOOP);
if (!ret) { return FALSE; }
@@ -441,7 +444,7 @@ BOOL daIball_c::CreateHeap() {
J3DAnmTevRegKey* pbrk;
for (int i = 0; i < (int)ARRAY_SIZE(mBrkAnm); i++) {
pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(m_arcname, brkIds[i]);
JUT_ASSERT(1182, pbrk != NULL);
JUT_ASSERT(DEMO_SELECT(1180, 1182), pbrk != NULL);
ret = mBrkAnm[i].init(modelData, pbrk, TRUE, J3DFrameCtrl::EMode_LOOP);
if (!ret) { return FALSE; }
}
@@ -486,7 +489,7 @@ dCcD_SrcCyl daIball_c::m_cyl_src = {
/* SrcObjAt Type */ 0,
/* SrcObjAt Atp */ 0,
/* SrcObjAt SPrm */ 0,
/* SrcObjTg Type */ ~(AT_TYPE_LIGHT),
/* SrcObjTg Type */ DEMO_SELECT(AT_TYPE_ALL, ~(AT_TYPE_LIGHT)),
/* SrcObjTg SPrm */ cCcD_TgSPrm_Set_e | cCcD_TgSPrm_IsOther_e,
/* SrcObjCo SPrm */ cCcD_CoSPrm_Set_e | cCcD_CoSPrm_IsOther_e | cCcD_CoSPrm_VsGrpAll_e,
/* SrcGObjAt Se */ 0,