mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-17 14:56:48 -04:00
Demo matches (#767)
This commit is contained in:
+36
-10
@@ -12,7 +12,12 @@
|
||||
#include "d/d_priority.h"
|
||||
#include "d/res/res_hha.h"
|
||||
|
||||
const dCcD_SrcCyl daObjHha_c::M_cyl_data = {
|
||||
#if VERSION == VERSION_DEMO
|
||||
dCcD_SrcCyl l_daObjHha_cyl_data =
|
||||
#else
|
||||
const dCcD_SrcCyl daObjHha_c::M_cyl_data =
|
||||
#endif
|
||||
{
|
||||
// dCcD_SrcGObjInf
|
||||
{
|
||||
/* Flags */ 0,
|
||||
@@ -42,6 +47,7 @@ const dCcD_SrcCyl daObjHha_c::M_cyl_data = {
|
||||
},
|
||||
};
|
||||
|
||||
#if VERSION > VERSION_DEMO
|
||||
const dCcD_SrcSph daObjHha_c::M_sph_data = {
|
||||
// dCcD_SrcGObjInf
|
||||
{
|
||||
@@ -70,6 +76,7 @@ const dCcD_SrcSph daObjHha_c::M_sph_data = {
|
||||
/* Radius */ 220.0f,
|
||||
},
|
||||
};
|
||||
#endif
|
||||
|
||||
const HHA_RES_FILE_ID l_daObjHha_bdl_idx_table[2] = {HHA_BDL_HHA1, HHA_BDL_HHA2};
|
||||
const HHA_RES_FILE_ID l_daObjHha_dzb_idx_table[2] = {HHA_DZB_HHA1, HHA_DZB_HHA2};
|
||||
@@ -88,16 +95,18 @@ void daObjHhaPart_c::init_data(float yPos, float yTar, u16 speed, u8 i, u8 isMid
|
||||
mDeltaY = (yTar - yPos) / speed;
|
||||
mPosDeltaDir = mPosTarget - mPos;
|
||||
mPosDeltaDir.normalizeRS();
|
||||
setExeProc(&daObjHhaPart_c::exe_normal);
|
||||
mCbExec = &daObjHhaPart_c::exe_normal;
|
||||
mCbDraw = &daObjHhaPart_c::draw_normal;
|
||||
mbMid = isMiddle;
|
||||
}
|
||||
|
||||
/* 00000170-00000224 .text set_mdl_area__14daObjHhaPart_cFPCci */
|
||||
BOOL daObjHhaPart_c::set_mdl_area(const char* arcname, int index) {
|
||||
BOOL ret = FALSE;
|
||||
J3DModelData* mdl_data = static_cast<J3DModelData*>(dComIfG_getObjectRes(arcname, index));
|
||||
JUT_ASSERT(0x1d9, mdl_data != NULL);
|
||||
J3DModelData* mdl_data;
|
||||
BOOL ret;
|
||||
ret = FALSE;
|
||||
mdl_data = static_cast<J3DModelData*>(dComIfG_getObjectRes(arcname, index));
|
||||
JUT_ASSERT(VERSION_SELECT(410, 473, 473, 473), mdl_data != NULL);
|
||||
if(mdl_data != NULL){
|
||||
mpModel = mDoExt_J3DModel__create(mdl_data, 0, 0x11020203);
|
||||
ret = TRUE;
|
||||
@@ -183,6 +192,9 @@ void daObjHhaSplash_c::create_s(u16 particleID, cXyz* pPos, float offsetY, float
|
||||
mPos += calcVec;
|
||||
mBasePos = mPos;
|
||||
mAngle = *pAngle;
|
||||
#if VERSION == VERSION_DEMO
|
||||
mpEmitter =
|
||||
#endif
|
||||
dComIfGp_particle_set(particleID, &mPos, &mAngle, NULL, 255, &mSplashCb);
|
||||
mbIsActive = true;
|
||||
}
|
||||
@@ -192,19 +204,19 @@ BOOL daObjHhaYgush_c::create_area(const char* arcname) {
|
||||
BOOL ret = FALSE;
|
||||
|
||||
J3DModelData* mdl_data = static_cast<J3DModelData*>(dComIfG_getObjectRes(arcname, HHA_BDL_YGSTP00));
|
||||
JUT_ASSERT(0x280, mdl_data != NULL);
|
||||
JUT_ASSERT(VERSION_SELECT(577, 640, 640, 640), mdl_data != NULL);
|
||||
|
||||
if(mdl_data != NULL){
|
||||
M_mdl = mDoExt_J3DModel__create(mdl_data, 0x80000, 0x11000222);
|
||||
JUT_ASSERT(0x289, M_mdl != NULL);
|
||||
JUT_ASSERT(VERSION_SELECT(586, 649, 649, 649), M_mdl != NULL);
|
||||
|
||||
if(M_mdl != NULL){
|
||||
J3DAnmTextureSRTKey* btk_data = static_cast<J3DAnmTextureSRTKey*>(dComIfG_getObjectRes(arcname, HHA_BTK_YGSTP00));
|
||||
JUT_ASSERT(0x290, btk_data != NULL);
|
||||
JUT_ASSERT(VERSION_SELECT(593, 656, 656, 656), btk_data != NULL);
|
||||
|
||||
if(mBtk.init(M_mdl->getModelData(), btk_data, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false, false) != false){
|
||||
J3DAnmTransform* bck_data = static_cast<J3DAnmTransform*>(dComIfG_getObjectRes(arcname, HHA_BCK_YGSTP00));
|
||||
JUT_ASSERT(0x295, bck_data != NULL);
|
||||
JUT_ASSERT(VERSION_SELECT(598, 661, 661, 661), bck_data != NULL);
|
||||
|
||||
if(mBck.init(M_mdl->getModelData(), bck_data, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false) != false){
|
||||
ret = TRUE;
|
||||
@@ -253,7 +265,7 @@ void daObjHhaYgush_c::draw() {
|
||||
}
|
||||
}
|
||||
|
||||
const char daObjHha_c::M_arcname[4] = "Hha";
|
||||
const char daObjHha_c::M_arcname[] = "Hha";
|
||||
|
||||
/* 00000C2C-00000C4C .text solidHeapCB__10daObjHha_cFP10fopAc_ac_c */
|
||||
int daObjHha_c::solidHeapCB(fopAc_ac_c* i_this) {
|
||||
@@ -365,7 +377,9 @@ cPhs_State daObjHha_c::_create() {
|
||||
/* 000018EC-000019EC .text _delete__10daObjHha_cFv */
|
||||
bool daObjHha_c::_delete() {
|
||||
int i;
|
||||
#if VERSION > VERSION_DEMO
|
||||
if(heap != NULL){
|
||||
#endif
|
||||
for(i = 0; i < 2; i++){
|
||||
cBgW* bgw = mPartA[i].mpBgw;
|
||||
if(bgw != NULL){
|
||||
@@ -379,11 +393,15 @@ bool daObjHha_c::_delete() {
|
||||
|
||||
if(toErase){
|
||||
dComIfG_Bgsp()->Release(bgw);
|
||||
#if VERSION > VERSION_DEMO
|
||||
mPartA[i].mpBgw = NULL;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
#if VERSION > VERSION_DEMO
|
||||
}
|
||||
#endif
|
||||
|
||||
for(i = 0; i < 2; i++){
|
||||
mSplashA[i].delete_s();
|
||||
@@ -429,9 +447,14 @@ void daObjHha_c::init_co() {
|
||||
|
||||
mCylStts.Init(0xff, 0xff, this);
|
||||
mCyl.SetStts(&mCylStts);
|
||||
#if VERSION == VERSION_DEMO
|
||||
mCyl.Set(l_daObjHha_cyl_data);
|
||||
#else
|
||||
mCyl.Set(M_cyl_data);
|
||||
#endif
|
||||
mCyl.SetC(center);
|
||||
|
||||
#if VERSION > VERSION_DEMO
|
||||
bool doSphInit = false;
|
||||
if(!check_sw() && mIsMiddle == 0){
|
||||
doSphInit = true;
|
||||
@@ -445,6 +468,7 @@ void daObjHha_c::init_co() {
|
||||
mSph.SetC(center);
|
||||
mSph.SetR(220.0f);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* 00001C64-00001E14 .text get_water_h__10daObjHha_cFv */
|
||||
@@ -638,10 +662,12 @@ bool daObjHha_c::_execute() {
|
||||
calcVec.y = get_water_h();
|
||||
mCyl.SetC(calcVec);
|
||||
dComIfG_Ccsp()->Set(&mCyl);
|
||||
#if VERSION > VERSION_DEMO
|
||||
bool isSphActive = (!check_sw() && mIsMiddle == 0);
|
||||
if(isSphActive){
|
||||
dComIfG_Ccsp()->Set(&mSph);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
||||
Reference in New Issue
Block a user