mirror of
https://github.com/zeldaret/ss
synced 2026-08-30 01:10:06 -04:00
Fixes
This commit is contained in:
@@ -60,7 +60,7 @@ static dCcD_SrcCyl sSrcCyl1 = {
|
||||
/* mObjInf */
|
||||
{/* mObjAt */ {0, 0, {0, 0, 0}, 0, 0, 0, 0, 0, 0},
|
||||
/* mObjTg */
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_0x80000 | AT_TYPE_BELLOWS | AT_TYPE_BEETLE | AT_TYPE_WIND | AT_TYPE_0x8000),
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_GLITTERING_SPORES | AT_TYPE_BELLOWS | AT_TYPE_BEETLE | AT_TYPE_WIND | AT_TYPE_0x8000),
|
||||
0x4103,
|
||||
{0, 0x4, 0x407},
|
||||
0x0,
|
||||
|
||||
@@ -357,7 +357,7 @@ int dAcEremly_c::actorExecute() {
|
||||
} break;
|
||||
case 12: {
|
||||
if (!isState(StateID_Fly) && mAnimation != ANM_Swim && mAnimation != ANM_SwimDamage) {
|
||||
if (mSph.ChkTgHit() && mSph.ChkTgAtHitType(AT_TYPE_0x80000 | AT_TYPE_SLINGSHOT)) {
|
||||
if (mSph.ChkTgHit() && mSph.ChkTgAtHitType(AT_TYPE_GLITTERING_SPORES | AT_TYPE_SLINGSHOT)) {
|
||||
mAngle.y = getXZAngleToPlayer();
|
||||
mSpeed = -15.f;
|
||||
changeState(StateID_Stun);
|
||||
|
||||
@@ -91,7 +91,7 @@ static dCcD_SrcCyl sSrcCyl = {
|
||||
{
|
||||
/* mObjAt */ {AT_TYPE_PHYSICS, 0x10013, {0, 0, 0}, 4, 0, 0, 0, 0, 0},
|
||||
/* mObjTg */
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000), 0x2000111, {0, 0xF, 0x407}, 0, 0},
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000), 0x2000111, {0, 0xF, 0x407}, 0, 0},
|
||||
/* mObjCo*/ {0xE9},
|
||||
},
|
||||
{
|
||||
@@ -102,7 +102,7 @@ static dCcD_SrcSph sSrcSph = {
|
||||
{
|
||||
/* mObjAt */ {AT_TYPE_PHYSICS, 0x10003, {0, 0, 0}, 4, 0, 0, 0, 0, 0},
|
||||
/* mObjTg */
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000 | AT_TYPE_WIND),
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000 | AT_TYPE_WIND),
|
||||
0x2000111,
|
||||
{0, 0xF, 0x407},
|
||||
0,
|
||||
|
||||
@@ -12,7 +12,7 @@ dCcD_SrcSph dAcObjBirdSp_c::sCcSrc = {
|
||||
/* mObjInf */ {
|
||||
/* mObjAt */ {0, 2, {0, 0, 0}, 0, 0, 0, 0, 0, 0},
|
||||
// AT_TYPE_COMMON0 - AT_TYPE_WIND
|
||||
/* mObjTg */ {~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000), 0x00000105, {0, 00, 0x407}, 0, 0},
|
||||
/* mObjTg */ {~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000), 0x00000105, {0, 00, 0x407}, 0, 0},
|
||||
/* mObjCo */ {0x00004029}},
|
||||
/* mSphInf */ {1000.0f}
|
||||
};
|
||||
|
||||
@@ -35,7 +35,7 @@ static dCcD_SrcCyl sChairColData = {
|
||||
/* mObjInf */
|
||||
{/* mObjAt */ {0, 0, {0, 0, 0}, 0, 0, 0, 0, 0, 0},
|
||||
/* mObjTg */
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_0x80000 | AT_TYPE_BEETLE | AT_TYPE_WIND | AT_TYPE_0x8000),
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_GLITTERING_SPORES | AT_TYPE_BEETLE | AT_TYPE_WIND | AT_TYPE_0x8000),
|
||||
0x111,
|
||||
{0, 0x7, 0x407},
|
||||
0x0,
|
||||
|
||||
@@ -31,7 +31,7 @@ dCcD_SrcCps dAcODungeonShip_c::sCcSrc = {
|
||||
{
|
||||
|
||||
{0, 0x1003E, {0, 0, 0}, 0, 0, 0, 0, 0, 0},
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000 | AT_TYPE_WIND),
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000 | AT_TYPE_WIND),
|
||||
0x111,
|
||||
{0, 0, 0x407},
|
||||
0,
|
||||
|
||||
@@ -40,7 +40,7 @@ bool dAcOFlyingClawshotTarget_c::createHeap() {
|
||||
// clang-format off
|
||||
const cCcD_SrcGObj dAcOFlyingClawshotTarget_c::sColSrc = {
|
||||
/* mObjAt */ {0, 0, {0, 0, 0}, 0, 0, 0, 0, 0, 0},
|
||||
/* mObjTg */ {~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x1080111, {0, 6, 0x407}, 0, 0},
|
||||
/* mObjTg */ {~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x1080111, {0, 6, 0x407}, 0, 0},
|
||||
/* mObjCo */ {0x0}
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -29,7 +29,7 @@ STATE_DEFINE(dAcOGrave_c, Move);
|
||||
dCcD_SrcUnk dAcOGrave_c::sUnkSrc = {
|
||||
{/* mObjAt */ {0, 0, {0, 0, 0}, 0, 0, 0, 0, 0, 0},
|
||||
/* mObjTg */
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x111, {0, 6, 0x407}, 0, 0},
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x111, {0, 6, 0x407}, 0, 0},
|
||||
/* mObjCo */ {0}},
|
||||
{-65.0f, 0.0f, -25.0f, 65.0f, 156.0f, 25.0f},
|
||||
};
|
||||
|
||||
@@ -23,7 +23,7 @@ dCcD_SrcSph dAcOpinwheel_c::sSphSrc = {
|
||||
/* mObjInf */
|
||||
{/* mObjAt */ {0, 0, {0, 0, 0}, 0, 0, 0, 0, 0, 0},
|
||||
/* mObjTg */
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x111, {0, 6, 0x8}, 8, 0},
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x111, {0, 6, 0x8}, 8, 0},
|
||||
/* mObjCo */ {0xE9}},
|
||||
/* mSphInf */
|
||||
{50.f},
|
||||
|
||||
@@ -38,7 +38,7 @@ dCcD_SrcSph dAcOropeIgaiga_c::sSphSrc = {
|
||||
/* mObjInf */
|
||||
{/* mObjAt */ {AT_TYPE_DAMAGE, 0x1F, {0, 0, 0}, 1, 0, 0, 0, 0, 0},
|
||||
/* mObjTg */
|
||||
{~(AT_TYPE_WIND | AT_TYPE_0x8000 | AT_TYPE_0x80000 | AT_TYPE_BEETLE | AT_TYPE_BUGNET), 0x311, {0, 0, 0x407}, 0, 0},
|
||||
{~(AT_TYPE_WIND | AT_TYPE_0x8000 | AT_TYPE_GLITTERING_SPORES | AT_TYPE_BEETLE | AT_TYPE_BUGNET), 0x311, {0, 0, 0x407}, 0, 0},
|
||||
/* mObjCo */ {0xA9}},
|
||||
/* mSphInf */
|
||||
{20.f},
|
||||
|
||||
@@ -8,7 +8,7 @@ SPECIAL_ACTOR_PROFILE(OBJ_SPIKE, dAcOspike_c, fProfile::OBJ_SPIKE, 0x1D9, 0, 2);
|
||||
// clang-format off
|
||||
dCcD_SrcUnk dAcOspike_c::sCcSrc = {
|
||||
{{AT_TYPE_DAMAGE, 0x2003F, {0, 0, 0}, 1, 0, 0, 0, 0},
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x111, 0x0, 0x06, 0x407, 0, },
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x111, 0x0, 0x06, 0x407, 0, },
|
||||
{0}},
|
||||
{-1.0f, -246.0f, -472.0f, 73.0f, 255.0f, 482.0f}};
|
||||
// clang-format on
|
||||
|
||||
@@ -19,7 +19,7 @@ f32 dAcOtoD3StoneFigure_c::sHeight = 290.0f;
|
||||
|
||||
dCcD_SrcCyl dAcOtoD3StoneFigure_c::sCcSrc = {
|
||||
{{0, 0, {0, 0, 0}, 0, 0, 0, 0, 0, 0},
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000 | AT_TYPE_WIND),
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000 | AT_TYPE_WIND),
|
||||
0x1000111,
|
||||
{0, 0x06, 0x407},
|
||||
0,
|
||||
|
||||
@@ -11,7 +11,7 @@ SPECIAL_ACTOR_PROFILE(OBJ_TRIFORCE, dAcOtriforce_c, fProfile::OBJ_TRIFORCE, 0x15
|
||||
// clang-format off
|
||||
dCcD_SrcSph dAcOtriforce_c::sCcSrc = {
|
||||
{{0, 0, 0, 0, 0, 0, 0, 0, 0},
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x111, 0x0, 0x06, 0x407, 0, 0},
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x111, 0x0, 0x06, 0x407, 0, 0},
|
||||
{0xE9}},
|
||||
{150.0f}};
|
||||
// clang-format on
|
||||
|
||||
@@ -52,7 +52,7 @@ STATE_DEFINE(dAcOtubo_c, Rebirth);
|
||||
dCcD_SrcSph dAcOtubo_c::sSphSrc = {
|
||||
/* mObjInf */
|
||||
{/* mObjAt */ {AT_TYPE_PHYSICS, 0x12, {0, 0, 0}, 2, 0, 0, 0, 0, 0},
|
||||
/* mObjTg */ {~(AT_TYPE_BUGNET | AT_TYPE_0x80000 | AT_TYPE_0x8000), 0x801111, {0, 0xA, 0x40F}, 8, 0},
|
||||
/* mObjTg */ {~(AT_TYPE_BUGNET | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000), 0x801111, {0, 0xA, 0x40F}, 8, 0},
|
||||
/* mObjCo */ {0x1E9}},
|
||||
/* mSphInf */
|
||||
{30.f},
|
||||
|
||||
@@ -34,7 +34,7 @@ STATE_DEFINE(dAcOTumbleWeed_c, Slope);
|
||||
dCcD_SrcSph dAcOTumbleWeed_c::sSphSrc = {
|
||||
/* mObjInf */
|
||||
{/* mObjAt */ {0, 0, {0, 0, 0}, 0, 0, 0, 0, 0, 0},
|
||||
/* mObjTg */ {~(AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000), 0x111, {0, 8, 0x40F}, 0, 0},
|
||||
/* mObjTg */ {~(AT_TYPE_BEETLE | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000), 0x111, {0, 8, 0x40F}, 0, 0},
|
||||
/* mObjCo */ {0xE9}},
|
||||
/* mSphInf */
|
||||
{60.f},
|
||||
|
||||
@@ -15,7 +15,7 @@ dCcD_SrcCyl dAcOwarpHole_c::sCylSrc = {
|
||||
/* mObjInf */
|
||||
{/* mObjAt */ {0, 0, {0, 0, 0}, 0, 0, 0, 0, 0, 0},
|
||||
/* mObjTg */
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_0x80000 | AT_TYPE_BEETLE | AT_TYPE_WIND | AT_TYPE_0x8000), 0x111, {0, 0, 0x407}, 0, 0},
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_GLITTERING_SPORES | AT_TYPE_BEETLE | AT_TYPE_WIND | AT_TYPE_0x8000), 0x111, {0, 0, 0x407}, 0, 0},
|
||||
/* mObjCo */ {0x29}},
|
||||
/* mCylInf */
|
||||
{320.f, 300.f}
|
||||
|
||||
+15
-17
@@ -260,7 +260,7 @@ static const GlitteringSporeRupeeChance sSporeRupeeChances[] = {
|
||||
|
||||
static const dCcD_SrcCyl sSrcCyl = {
|
||||
{{0, 0, {0, 0, 0}, 0, 0, 0, 0, 0, 0},
|
||||
{~(AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x111, {0, 0x08, 0x407}, 0, 0},
|
||||
{~(AT_TYPE_BEETLE | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x111, {0, 0x08, 0x407}, 0, 0},
|
||||
{0xE9}},
|
||||
{40.0f, 60.0f}
|
||||
};
|
||||
@@ -988,7 +988,7 @@ int dAcItem_c::create() {
|
||||
if (isAnyTear()) {
|
||||
s32 type = getTearSubtype((ITEM_ID)mId);
|
||||
if (type == TEAR_MAX) {
|
||||
type = TEAR_0;
|
||||
type = TEAR_FARON;
|
||||
}
|
||||
dAcObjBase_c *forceSign =
|
||||
dAcObjBase_c::create(this, fProfile::OBJ_FORCE_SIGN, type & 0xFF, nullptr, nullptr, nullptr, nullptr, 0x3F);
|
||||
@@ -1299,7 +1299,7 @@ void dAcItem_c::initializeState_Wait() {
|
||||
mSpeed = 0.0f;
|
||||
mVelocity.y = 0.0f;
|
||||
}
|
||||
mpMdl->vt_0x10(dItemMdl_c::ITEM_MDL_UNK0x14_1);
|
||||
mpMdl->setDrawMode(dItemMdl_c::DrawMode_Put);
|
||||
field_0xD5B = 0;
|
||||
field_0xD38 = field_0xD3A = field_0xD3C = 0;
|
||||
fn_80253E20();
|
||||
@@ -1415,8 +1415,7 @@ void dAcItem_c::executeState_Wait() {
|
||||
return;
|
||||
}
|
||||
|
||||
// Glittering Spores?
|
||||
if (mCyl.ChkTgAtHitType(AT_TYPE_0x80000)) {
|
||||
if (mCyl.ChkTgAtHitType(AT_TYPE_GLITTERING_SPORES)) {
|
||||
if (isHeart()) {
|
||||
if (fn_8024A230()) {
|
||||
mVec3_c spawnPos(mPosition.x, mPosition.y + 30.0f, mPosition.z);
|
||||
@@ -1451,7 +1450,7 @@ void dAcItem_c::executeState_Wait() {
|
||||
}
|
||||
}
|
||||
setItemId(sSporeRupeeChances[i].itemId);
|
||||
mpMdl->vt_0x20(sSporeRupeeChances[i].itemId);
|
||||
mpMdl->changeItemId(sSporeRupeeChances[i].itemId);
|
||||
unsetHaveNoGravity();
|
||||
mVelocity.y = 10.0f;
|
||||
fn_80252A80();
|
||||
@@ -1653,10 +1652,9 @@ void dAcItem_c::executeState_Wait() {
|
||||
}
|
||||
}
|
||||
dir *= -40.0f;
|
||||
// TODO - for some reason the argument vector is at an entirely wrong stack position...
|
||||
// Fixing this wil probably fix the rest of the stack position issues in this function.
|
||||
mVec3_c efPos = offsetPos + dir;
|
||||
mEff_0x928.holdEffect(
|
||||
PARTICLE_RESOURCE_ID_MAPPING_821_, offsetPos + dir, nullptr, &scale, nullptr, nullptr
|
||||
PARTICLE_RESOURCE_ID_MAPPING_821_, efPos, nullptr, &scale, nullptr, nullptr
|
||||
);
|
||||
}
|
||||
makeLinkLookTowardItem();
|
||||
@@ -1678,7 +1676,7 @@ void dAcItem_c::finalizeState_Wait() {
|
||||
}
|
||||
|
||||
void dAcItem_c::initializeState_Carry() {
|
||||
mpMdl->vt_0x10(dItemMdl_c::ITEM_MDL_UNK0x14_1);
|
||||
mpMdl->setDrawMode(dItemMdl_c::DrawMode_Put);
|
||||
mSpeed = 0.0f;
|
||||
mVelocity.y = 0.0f;
|
||||
unsetHaveNoGravity();
|
||||
@@ -1738,7 +1736,7 @@ void dAcItem_c::finalizeState_Carry() {
|
||||
}
|
||||
|
||||
void dAcItem_c::initializeState_GetBeetle() {
|
||||
mpMdl->vt_0x10(dItemMdl_c::ITEM_MDL_UNK0x14_1);
|
||||
mpMdl->setDrawMode(dItemMdl_c::DrawMode_Put);
|
||||
setNotWaiting();
|
||||
field_0xD38 = field_0xD3A = field_0xD3C = 0;
|
||||
field_0xD0C = 0.0f;
|
||||
@@ -1821,7 +1819,7 @@ void dAcItem_c::finalizeState_WaitGet() {
|
||||
}
|
||||
|
||||
void dAcItem_c::initializeState_Get() {
|
||||
mpMdl->vt_0x10(dItemMdl_c::ITEM_MDL_UNK0x14_1);
|
||||
mpMdl->setDrawMode(dItemMdl_c::DrawMode_Put);
|
||||
performCollection();
|
||||
if (isAnyTear()) {
|
||||
mVec3_c tmp;
|
||||
@@ -1856,7 +1854,7 @@ void dAcItem_c::finalizeState_Get() {
|
||||
}
|
||||
|
||||
void dAcItem_c::initializeState_WaitGetDemo() {
|
||||
mpMdl->vt_0x10(dItemMdl_c::ITEM_MDL_UNK0x14_2);
|
||||
mpMdl->setDrawMode(dItemMdl_c::DrawMode_Get);
|
||||
setObjectProperty(OBJ_PROP_0x200);
|
||||
setNotWaiting();
|
||||
field_0xD38 = field_0xD3A = field_0xD3C = 0;
|
||||
@@ -1892,7 +1890,7 @@ void dAcItem_c::executeState_WaitGetDemo() {
|
||||
void dAcItem_c::finalizeState_WaitGetDemo() {}
|
||||
|
||||
void dAcItem_c::initializeState_WaitForcedGetDemo() {
|
||||
mpMdl->vt_0x10(dItemMdl_c::ITEM_MDL_UNK0x14_2);
|
||||
mpMdl->setDrawMode(dItemMdl_c::DrawMode_Get);
|
||||
setObjectProperty(OBJ_PROP_0x200);
|
||||
setNotWaiting();
|
||||
field_0xD38 = field_0xD3A = field_0xD3C = 0;
|
||||
@@ -1913,7 +1911,7 @@ void dAcItem_c::executeState_WaitForcedGetDemo() {
|
||||
void dAcItem_c::finalizeState_WaitForcedGetDemo() {}
|
||||
|
||||
void dAcItem_c::initializeState_GetDemo() {
|
||||
mpMdl->vt_0x10(dItemMdl_c::ITEM_MDL_UNK0x14_2);
|
||||
mpMdl->setDrawMode(dItemMdl_c::DrawMode_Get);
|
||||
switch (getItemId()) {
|
||||
case ITEM_FARON_GRASSHOPPER: sCollectionCurrentCount = getFaronGrasshooperCounter(); break;
|
||||
case ITEM_WOODLAND_RHINO_BEETLE: sCollectionCurrentCount = getWoodlandRhinoBeetleCounter(); break;
|
||||
@@ -2034,7 +2032,7 @@ void dAcItem_c::finalizeState_GetDemo() {
|
||||
}
|
||||
|
||||
void dAcItem_c::initializeState_WaitTBoxGetDemo() {
|
||||
mpMdl->vt_0x10(dItemMdl_c::ITEM_MDL_UNK0x14_2);
|
||||
mpMdl->setDrawMode(dItemMdl_c::DrawMode_Get);
|
||||
setNotWaiting();
|
||||
field_0xD38 = field_0xD3A = field_0xD3C = 0;
|
||||
setObjectProperty(OBJ_PROP_0x200);
|
||||
@@ -2052,7 +2050,7 @@ void dAcItem_c::executeState_WaitTBoxGetDemo() {
|
||||
void dAcItem_c::finalizeState_WaitTBoxGetDemo() {}
|
||||
|
||||
void dAcItem_c::initializeState_ResurgeWait() {
|
||||
mpMdl->vt_0x10(dItemMdl_c::ITEM_MDL_UNK0x14_1);
|
||||
mpMdl->setDrawMode(dItemMdl_c::DrawMode_Put);
|
||||
// TODO FPR swap
|
||||
mPosition = mPositionCopy;
|
||||
mRotation = mRotationCopy;
|
||||
|
||||
@@ -17,7 +17,7 @@ STATE_DEFINE(dAcArrow_c, Bound);
|
||||
cCcD_SrcGObj dAcArrow_c::sCcSrcInf = {
|
||||
{AT_TYPE_ARROW, 0x8BB, {0x15,0, 0}, 0, 0, 0, 0, 0, 0},
|
||||
{
|
||||
~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000 | AT_TYPE_ARROW | AT_TYPE_0x100 | AT_TYPE_WIND | AT_TYPE_SLINGSHOT),
|
||||
~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000 | AT_TYPE_ARROW | AT_TYPE_0x100 | AT_TYPE_WIND | AT_TYPE_SLINGSHOT),
|
||||
0x210, {0, 0, 0x407}, 0, 0
|
||||
},
|
||||
{0},
|
||||
|
||||
@@ -92,7 +92,7 @@ static char *const sOpenEventNames[] = {
|
||||
// TODO just copied from somewhere
|
||||
const cCcD_SrcGObj dAcTbox_c::sColSrc = {
|
||||
/* mObjAt */ {0, 0, {0, 0, 0}, 0, 0, 0, 0, 0, 0},
|
||||
/* mObjTg */ {~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000 | AT_TYPE_WIND), 0, {0, 0, 0x407}, 0, 0},
|
||||
/* mObjTg */ {~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000 | AT_TYPE_WIND), 0, {0, 0, 0x407}, 0, 0},
|
||||
/* mObjCo */ {0xE9}
|
||||
};
|
||||
// clang-format on
|
||||
@@ -1079,7 +1079,7 @@ int dAcTbox_c::create() {
|
||||
// clang-format off
|
||||
static const dCcD_SrcUnk s3 = {{
|
||||
/* mObjAt */ {0, 0, {0, 0, 0}, 0, 0, 0, 0, 0, 0},
|
||||
/* mObjTg */ {~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x1010111, {7, 0x407}, 0, 0},
|
||||
/* mObjTg */ {~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x1010111, {7, 0x407}, 0, 0},
|
||||
/* mObjCo */ {0x0}},
|
||||
{0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f},
|
||||
};
|
||||
@@ -1090,7 +1090,7 @@ int dAcTbox_c::create() {
|
||||
// clang-format off
|
||||
static const dCcD_SrcUnk s4 = {{
|
||||
/* mObjAt */ {0, 0, {0, 0, 0}, 0, 0, 0, 0, 0, 0},
|
||||
/* mObjTg */ {~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x1010111, {6, 0x407}, 0, 0},
|
||||
/* mObjTg */ {~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_GLITTERING_SPORES | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x1010111, {6, 0x407}, 0, 0},
|
||||
/* mObjCo */ {0x0}},
|
||||
{0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f},
|
||||
};
|
||||
|
||||
@@ -445,8 +445,8 @@ bool dItemMdlItem_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator)
|
||||
return true;
|
||||
}
|
||||
|
||||
void dItemMdlItem_c::vt_0x10(u8 arg) {
|
||||
field_0x14 = arg;
|
||||
void dItemMdlItem_c::setDrawMode(u8 arg) {
|
||||
mDrawMode = arg;
|
||||
}
|
||||
|
||||
void dItemMdlItem_c::setScale(const mVec3_c &scale) {
|
||||
@@ -458,15 +458,14 @@ void dItemMdlItem_c::setLocalMtx(const mMtx_c &mtx) {
|
||||
}
|
||||
|
||||
void dItemMdlItem_c::draw() {
|
||||
if (field_0x14 == ITEM_MDL_UNK0x14_2) {
|
||||
if (mDrawMode == DrawMode_Get) {
|
||||
mpItem->fn_8002ECD0(&mMdl, 6);
|
||||
} else {
|
||||
ITEM_MDL_UNK0x14_1:
|
||||
mpItem->fn_8002ECD0(&mMdl, 7);
|
||||
}
|
||||
}
|
||||
|
||||
void dItemMdlItem_c::vt_0x20(u16 itemId) {
|
||||
void dItemMdlItem_c::changeItemId(u16 itemId) {
|
||||
// no-op
|
||||
}
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ bool dItemMdlLightFruit_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *alloc
|
||||
if (!mdl1.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
if (!mMdl1.create(mdl1, allocator, 0x324)) {
|
||||
if (!mPutMdl.create(mdl1, allocator, 0x324)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -37,8 +37,8 @@ bool dItemMdlLightFruit_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *alloc
|
||||
if (!anmTexSrt1.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
TRY_CREATE(mAnmTexSrt1.create(mdl1, anmTexSrt1, allocator, nullptr, 1));
|
||||
mMdl1.setAnm(mAnmTexSrt1);
|
||||
TRY_CREATE(mPutAnmTexSrt.create(mdl1, anmTexSrt1, allocator, nullptr, 1));
|
||||
mPutMdl.setAnm(mPutAnmTexSrt);
|
||||
}
|
||||
|
||||
{
|
||||
@@ -55,7 +55,7 @@ bool dItemMdlLightFruit_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *alloc
|
||||
if (!mdl2.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
if (!mMdl2.create(mdl2, allocator, 0x324)) {
|
||||
if (!mGetMdl.create(mdl2, allocator, 0x324)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -63,55 +63,55 @@ bool dItemMdlLightFruit_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *alloc
|
||||
if (!anmTexSrt2.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
TRY_CREATE(mAnmTexSrt2.create(mdl2, anmTexSrt2, allocator, nullptr, 1));
|
||||
mMdl2.setAnm(mAnmTexSrt2);
|
||||
TRY_CREATE(mGetAnmTexSrt.create(mdl2, anmTexSrt2, allocator, nullptr, 1));
|
||||
mGetMdl.setAnm(mGetAnmTexSrt);
|
||||
}
|
||||
|
||||
mpItem = item;
|
||||
return true;
|
||||
}
|
||||
|
||||
void dItemMdlLightFruit_c::vt_0x10(u8 arg) {
|
||||
if (arg == ITEM_MDL_UNK0x14_3) {
|
||||
field_0x14 = ITEM_MDL_UNK0x14_1;
|
||||
void dItemMdlLightFruit_c::setDrawMode(u8 arg) {
|
||||
if (arg == DrawMode_Max) {
|
||||
mDrawMode = DrawMode_Put;
|
||||
} else {
|
||||
field_0x14 = arg;
|
||||
mDrawMode = arg;
|
||||
}
|
||||
}
|
||||
|
||||
void dItemMdlLightFruit_c::setScale(const mVec3_c &scale) {
|
||||
mMdl1.setScale(scale);
|
||||
mMdl2.setScale(scale);
|
||||
mPutMdl.setScale(scale);
|
||||
mGetMdl.setScale(scale);
|
||||
}
|
||||
|
||||
void dItemMdlLightFruit_c::setLocalMtx(const mMtx_c &mtx) {
|
||||
mMdl1.setLocalMtx(mtx);
|
||||
mMdl2.setLocalMtx(mtx);
|
||||
mPutMdl.setLocalMtx(mtx);
|
||||
mGetMdl.setLocalMtx(mtx);
|
||||
}
|
||||
|
||||
void dItemMdlLightFruit_c::draw() {
|
||||
switch (field_0x14) {
|
||||
case ITEM_MDL_UNK0x14_1:
|
||||
mAnmTexSrt1.play();
|
||||
mpItem->fn_8002ECD0(&mMdl1, 7);
|
||||
switch (mDrawMode) {
|
||||
case DrawMode_Put:
|
||||
mPutAnmTexSrt.play();
|
||||
mpItem->fn_8002ECD0(&mPutMdl, 7);
|
||||
break;
|
||||
case ITEM_MDL_UNK0x14_2:
|
||||
mAnmTexSrt2.play();
|
||||
mpItem->fn_8002ECD0(&mMdl2, 6);
|
||||
case DrawMode_Get:
|
||||
mGetAnmTexSrt.play();
|
||||
mpItem->fn_8002ECD0(&mGetMdl, 6);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void dItemMdlLightFruit_c::vt_0x20(u16 itemId) {
|
||||
void dItemMdlLightFruit_c::changeItemId(u16 itemId) {
|
||||
// no-op
|
||||
}
|
||||
|
||||
void dItemMdlLightFruit_c::setPriorityDraw() {
|
||||
mMdl1.setPriorityDraw(0x82, 0x7F);
|
||||
mMdl2.setPriorityDraw(0x82, 0x7F);
|
||||
mPutMdl.setPriorityDraw(0x82, 0x7F);
|
||||
mGetMdl.setPriorityDraw(0x82, 0x7F);
|
||||
}
|
||||
|
||||
void dItemMdlLightFruit_c::unsetPriorityDraw() {
|
||||
mMdl1.setPriorityDraw(0x7F, 0x7F);
|
||||
mMdl2.setPriorityDraw(0x7F, 0x7F);
|
||||
mPutMdl.setPriorityDraw(0x7F, 0x7F);
|
||||
mGetMdl.setPriorityDraw(0x7F, 0x7F);
|
||||
}
|
||||
|
||||
@@ -237,7 +237,7 @@ bool dItemMdlPut_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!mGetMdl.create(mdl0, allocator, 0x120)) {
|
||||
if (!mPutMdl.create(mdl0, allocator, 0x120)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -256,7 +256,7 @@ bool dItemMdlPut_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!mPutMdl.create(mdl1, allocator, 0x120)) {
|
||||
if (!mGetMdl.create(mdl1, allocator, 0x120)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -264,43 +264,43 @@ bool dItemMdlPut_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void dItemMdlPut_c::vt_0x10(u8 arg) {
|
||||
if (arg == ITEM_MDL_UNK0x14_3) {
|
||||
field_0x14 = ITEM_MDL_UNK0x14_1;
|
||||
void dItemMdlPut_c::setDrawMode(u8 arg) {
|
||||
if (arg == DrawMode_Max) {
|
||||
mDrawMode = DrawMode_Put;
|
||||
} else {
|
||||
field_0x14 = arg;
|
||||
mDrawMode = arg;
|
||||
}
|
||||
}
|
||||
|
||||
void dItemMdlPut_c::setScale(const mVec3_c &scale) {
|
||||
mGetMdl.setScale(scale);
|
||||
mPutMdl.setScale(scale);
|
||||
mGetMdl.setScale(scale);
|
||||
}
|
||||
|
||||
void dItemMdlPut_c::setLocalMtx(const mMtx_c &mtx) {
|
||||
mGetMdl.setLocalMtx(mtx);
|
||||
mPutMdl.setLocalMtx(mtx);
|
||||
mGetMdl.setLocalMtx(mtx);
|
||||
}
|
||||
|
||||
void dItemMdlPut_c::draw() {
|
||||
switch (field_0x14) {
|
||||
case ITEM_MDL_UNK0x14_1: mpItem->fn_8002ECD0(&mGetMdl, 7); break;
|
||||
case ITEM_MDL_UNK0x14_2: mpItem->fn_8002ECD0(&mPutMdl, 6); break;
|
||||
switch (mDrawMode) {
|
||||
case DrawMode_Put: mpItem->fn_8002ECD0(&mPutMdl, 7); break;
|
||||
case DrawMode_Get: mpItem->fn_8002ECD0(&mGetMdl, 6); break;
|
||||
}
|
||||
}
|
||||
|
||||
void dItemMdlPut_c::vt_0x20(u16 itemId) {
|
||||
void dItemMdlPut_c::changeItemId(u16 itemId) {
|
||||
// no-op
|
||||
}
|
||||
|
||||
void dItemMdlPut_c::setPriorityDraw() {
|
||||
mGetMdl.setPriorityDraw(0x82, 0x7F);
|
||||
mPutMdl.setPriorityDraw(0x82, 0x7F);
|
||||
mGetMdl.setPriorityDraw(0x82, 0x7F);
|
||||
}
|
||||
|
||||
void dItemMdlPut_c::unsetPriorityDraw() {
|
||||
mGetMdl.setPriorityDraw(0x7F, 0x7F);
|
||||
mPutMdl.setPriorityDraw(0x7F, 0x7F);
|
||||
mGetMdl.setPriorityDraw(0x7F, 0x7F);
|
||||
}
|
||||
|
||||
enum ShieldIdx {
|
||||
@@ -546,8 +546,8 @@ bool dItemMdlShield_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator
|
||||
return true;
|
||||
}
|
||||
|
||||
void dItemMdlShield_c::vt_0x10(u8 arg) {
|
||||
field_0x14 = arg;
|
||||
void dItemMdlShield_c::setDrawMode(u8 arg) {
|
||||
mDrawMode = arg;
|
||||
}
|
||||
|
||||
void dItemMdlShield_c::setScale(const mVec3_c &scale) {
|
||||
@@ -559,14 +559,14 @@ void dItemMdlShield_c::setLocalMtx(const mMtx_c &mtx) {
|
||||
}
|
||||
|
||||
void dItemMdlShield_c::draw() {
|
||||
if (field_0x14 == ITEM_MDL_UNK0x14_2) {
|
||||
if (mDrawMode == DrawMode_Get) {
|
||||
mpItem->fn_8002ECD0(&mMdl, 6);
|
||||
} else {
|
||||
mpItem->fn_8002ECD0(&mMdl, 7);
|
||||
}
|
||||
}
|
||||
|
||||
void dItemMdlShield_c::vt_0x20(u16 itemId) {
|
||||
void dItemMdlShield_c::changeItemId(u16 itemId) {
|
||||
// no-op
|
||||
}
|
||||
|
||||
@@ -806,8 +806,8 @@ bool dItemMdlBottle_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator
|
||||
return true;
|
||||
}
|
||||
|
||||
void dItemMdlBottle_c::vt_0x10(u8 arg) {
|
||||
field_0x14 = arg;
|
||||
void dItemMdlBottle_c::setDrawMode(u8 arg) {
|
||||
mDrawMode = arg;
|
||||
}
|
||||
|
||||
void dItemMdlBottle_c::setScale(const mVec3_c &scale) {
|
||||
@@ -823,18 +823,18 @@ void dItemMdlBottle_c::draw() {
|
||||
return;
|
||||
}
|
||||
|
||||
if (field_0x14 != ITEM_MDL_UNK0x14_1 || (mFlags & 0x1) == 0) {
|
||||
if (mDrawMode != DrawMode_Put || (mFlags & 0x1) == 0) {
|
||||
mMdl.play();
|
||||
}
|
||||
|
||||
if (field_0x14 == ITEM_MDL_UNK0x14_2) {
|
||||
if (mDrawMode == DrawMode_Get) {
|
||||
mpItem->fn_8002ECD0(&mMdl.getModel(), 6);
|
||||
} else {
|
||||
mpItem->fn_8002ECD0(&mMdl.getModel(), 7);
|
||||
}
|
||||
}
|
||||
|
||||
void dItemMdlBottle_c::vt_0x20(u16 itemId) {
|
||||
void dItemMdlBottle_c::changeItemId(u16 itemId) {
|
||||
// no-op
|
||||
}
|
||||
|
||||
@@ -882,7 +882,7 @@ bool dItemMdlTear_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator)
|
||||
if (!mdl1.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
if (!mMdl1.create(mdl1, allocator, 0x327)) {
|
||||
if (!mPutMdl.create(mdl1, allocator, 0x327)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -890,18 +890,18 @@ bool dItemMdlTear_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator)
|
||||
if (!anmTexSrt1.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
TRY_CREATE(mAnmTexSrt1.create(mdl1, anmTexSrt1, allocator, nullptr, 1));
|
||||
TRY_CREATE(mMdl1.setAnm(mAnmTexSrt1));
|
||||
TRY_CREATE(mPutAnmTexSrt.create(mdl1, anmTexSrt1, allocator, nullptr, 1));
|
||||
TRY_CREATE(mPutMdl.setAnm(mPutAnmTexSrt));
|
||||
|
||||
nw4r::g3d::ResAnmTexPat anmTexPat1 = res1.GetResAnmTexPat("Shizuku");
|
||||
if (!anmTexPat1.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
if (!mAnmTexPat1.create(mdl1, anmTexPat1, allocator, nullptr, 1)) {
|
||||
if (!mPutAnmTexPat.create(mdl1, anmTexPat1, allocator, nullptr, 1)) {
|
||||
return false;
|
||||
}
|
||||
TRY_CREATE(mMdl1.setAnm(mAnmTexPat1));
|
||||
mAnmTexPat1.setFrame(frame, 0);
|
||||
TRY_CREATE(mPutMdl.setAnm(mPutAnmTexPat));
|
||||
mPutAnmTexPat.setFrame(frame, 0);
|
||||
}
|
||||
|
||||
{
|
||||
@@ -918,7 +918,7 @@ bool dItemMdlTear_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator)
|
||||
if (!mdl2.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
if (!mMdl2.create(mdl2, allocator, 0x327)) {
|
||||
if (!mGetMdl.create(mdl2, allocator, 0x327)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -926,18 +926,18 @@ bool dItemMdlTear_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator)
|
||||
if (!anmTexSrt2.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
TRY_CREATE(mAnmTexSrt2.create(mdl2, anmTexSrt2, allocator, nullptr, 1));
|
||||
TRY_CREATE(mMdl2.setAnm(mAnmTexSrt2));
|
||||
TRY_CREATE(mGetAnmTexSrt.create(mdl2, anmTexSrt2, allocator, nullptr, 1));
|
||||
TRY_CREATE(mGetMdl.setAnm(mGetAnmTexSrt));
|
||||
|
||||
nw4r::g3d::ResAnmTexPat anmTexPat2 = res2.GetResAnmTexPat("Shizuku");
|
||||
if (!anmTexPat2.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
if (!mAnmTexPat2.create(mdl2, anmTexPat2, allocator, nullptr, 1)) {
|
||||
if (!mGetAnmTexPat.create(mdl2, anmTexPat2, allocator, nullptr, 1)) {
|
||||
return false;
|
||||
}
|
||||
TRY_CREATE(mMdl2.setAnm(mAnmTexPat2));
|
||||
mAnmTexPat2.setFrame(frame, 0);
|
||||
TRY_CREATE(mGetMdl.setAnm(mGetAnmTexPat));
|
||||
mGetAnmTexPat.setFrame(frame, 0);
|
||||
}
|
||||
|
||||
mpItem = item;
|
||||
@@ -945,49 +945,49 @@ bool dItemMdlTear_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator)
|
||||
return true;
|
||||
}
|
||||
|
||||
void dItemMdlTear_c::vt_0x10(u8 arg) {
|
||||
if (arg == ITEM_MDL_UNK0x14_3) {
|
||||
field_0x14 = ITEM_MDL_UNK0x14_1;
|
||||
void dItemMdlTear_c::setDrawMode(u8 arg) {
|
||||
if (arg == DrawMode_Max) {
|
||||
mDrawMode = DrawMode_Put;
|
||||
} else {
|
||||
field_0x14 = arg;
|
||||
mDrawMode = arg;
|
||||
}
|
||||
}
|
||||
|
||||
void dItemMdlTear_c::setScale(const mVec3_c &scale) {
|
||||
mMdl1.setScale(scale);
|
||||
mMdl2.setScale(scale);
|
||||
mPutMdl.setScale(scale);
|
||||
mGetMdl.setScale(scale);
|
||||
}
|
||||
|
||||
void dItemMdlTear_c::setLocalMtx(const mMtx_c &mtx) {
|
||||
mMdl1.setLocalMtx(mtx);
|
||||
mMdl2.setLocalMtx(mtx);
|
||||
mPutMdl.setLocalMtx(mtx);
|
||||
mGetMdl.setLocalMtx(mtx);
|
||||
}
|
||||
|
||||
void dItemMdlTear_c::draw() {
|
||||
switch (field_0x14) {
|
||||
case ITEM_MDL_UNK0x14_1:
|
||||
mAnmTexSrt1.play();
|
||||
mpItem->fn_8002ECD0(&mMdl1, 7);
|
||||
switch (mDrawMode) {
|
||||
case DrawMode_Put:
|
||||
mPutAnmTexSrt.play();
|
||||
mpItem->fn_8002ECD0(&mPutMdl, 7);
|
||||
break;
|
||||
case ITEM_MDL_UNK0x14_2:
|
||||
mAnmTexSrt2.play();
|
||||
mpItem->fn_8002ECD0(&mMdl2, 6);
|
||||
case DrawMode_Get:
|
||||
mGetAnmTexSrt.play();
|
||||
mpItem->fn_8002ECD0(&mGetMdl, 6);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void dItemMdlTear_c::vt_0x20(u16 itemId) {
|
||||
void dItemMdlTear_c::changeItemId(u16 itemId) {
|
||||
// no-op
|
||||
}
|
||||
|
||||
void dItemMdlTear_c::setPriorityDraw() {
|
||||
mMdl1.setPriorityDraw(0x82, 0x7F);
|
||||
mMdl2.setPriorityDraw(0x82, 0x7F);
|
||||
mPutMdl.setPriorityDraw(0x82, 0x7F);
|
||||
mGetMdl.setPriorityDraw(0x82, 0x7F);
|
||||
}
|
||||
|
||||
void dItemMdlTear_c::unsetPriorityDraw() {
|
||||
mMdl1.setPriorityDraw(0x7F, 0x7F);
|
||||
mMdl2.setPriorityDraw(0x7F, 0x7F);
|
||||
mPutMdl.setPriorityDraw(0x7F, 0x7F);
|
||||
mGetMdl.setPriorityDraw(0x7F, 0x7F);
|
||||
}
|
||||
|
||||
bool dItemMdlFirefly_c::isMdlForItemId(u16 itemId) {
|
||||
@@ -1024,8 +1024,8 @@ bool dItemMdlFirefly_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocato
|
||||
return true;
|
||||
}
|
||||
|
||||
void dItemMdlFirefly_c::vt_0x10(u8 arg) {
|
||||
field_0x14 = arg;
|
||||
void dItemMdlFirefly_c::setDrawMode(u8 arg) {
|
||||
mDrawMode = arg;
|
||||
}
|
||||
|
||||
void dItemMdlFirefly_c::setScale(const mVec3_c &scale) {
|
||||
@@ -1037,14 +1037,14 @@ void dItemMdlFirefly_c::setLocalMtx(const mMtx_c &mtx) {
|
||||
}
|
||||
|
||||
void dItemMdlFirefly_c::draw() {
|
||||
switch (field_0x14) {
|
||||
case ITEM_MDL_UNK0x14_1: mpItem->fn_8002ECD0(&mMdl, 7); break;
|
||||
case ITEM_MDL_UNK0x14_2: mpItem->fn_8002ECD0(&mMdl, 6); break;
|
||||
switch (mDrawMode) {
|
||||
case DrawMode_Put: mpItem->fn_8002ECD0(&mMdl, 7); break;
|
||||
case DrawMode_Get: mpItem->fn_8002ECD0(&mMdl, 6); break;
|
||||
}
|
||||
mAnmMatClr.play();
|
||||
}
|
||||
|
||||
void dItemMdlFirefly_c::vt_0x20(u16 itemId) {
|
||||
void dItemMdlFirefly_c::changeItemId(u16 itemId) {
|
||||
// no-op
|
||||
}
|
||||
|
||||
@@ -1298,8 +1298,8 @@ bool dItemMdlPotion_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator
|
||||
return true;
|
||||
}
|
||||
|
||||
void dItemMdlPotion_c::vt_0x10(u8 arg) {
|
||||
field_0x14 = arg;
|
||||
void dItemMdlPotion_c::setDrawMode(u8 arg) {
|
||||
mDrawMode = arg;
|
||||
}
|
||||
|
||||
void dItemMdlPotion_c::setScale(const mVec3_c &scale) {
|
||||
@@ -1313,13 +1313,13 @@ void dItemMdlPotion_c::setLocalMtx(const mMtx_c &mtx) {
|
||||
void dItemMdlPotion_c::draw() {
|
||||
mAnmChr.play();
|
||||
mAnmTexSrt.play();
|
||||
switch (field_0x14) {
|
||||
case ITEM_MDL_UNK0x14_1: mpItem->fn_8002ECD0(&mMdl, 7); break;
|
||||
case ITEM_MDL_UNK0x14_2: mpItem->fn_8002ECD0(&mMdl, 6); break;
|
||||
switch (mDrawMode) {
|
||||
case DrawMode_Put: mpItem->fn_8002ECD0(&mMdl, 7); break;
|
||||
case DrawMode_Get: mpItem->fn_8002ECD0(&mMdl, 6); break;
|
||||
}
|
||||
}
|
||||
|
||||
void dItemMdlPotion_c::vt_0x20(u16 itemId) {
|
||||
void dItemMdlPotion_c::changeItemId(u16 itemId) {
|
||||
// no-op
|
||||
}
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ bool dItemMdlRupee_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator)
|
||||
if (!mdl1.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
if (!mMdl1.create(mdl1, allocator, 0x123)) {
|
||||
if (!mPutMdl.create(mdl1, allocator, 0x123)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -63,11 +63,11 @@ bool dItemMdlRupee_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator)
|
||||
if (!anmTexPat1.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
if (!mAnmTexPat1.create(mdl1, anmTexPat1, allocator, nullptr, 1)) {
|
||||
if (!mPutAnmTexPat.create(mdl1, anmTexPat1, allocator, nullptr, 1)) {
|
||||
return false;
|
||||
}
|
||||
mMdl1.setAnm(mAnmTexPat1);
|
||||
mAnmTexPat1.setFrame(sMdlConfig[i].texPatFrame, 0);
|
||||
mPutMdl.setAnm(mPutAnmTexPat);
|
||||
mPutAnmTexPat.setFrame(sMdlConfig[i].texPatFrame, 0);
|
||||
}
|
||||
|
||||
{
|
||||
@@ -84,7 +84,7 @@ bool dItemMdlRupee_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator)
|
||||
if (!mdl2.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
if (!mMdl2.create(mdl2, allocator, 0x123)) {
|
||||
if (!mGetMdl.create(mdl2, allocator, 0x123)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -93,11 +93,11 @@ bool dItemMdlRupee_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator)
|
||||
return false;
|
||||
}
|
||||
anmTexPat2.Bind(res2);
|
||||
if (!mAnmTexPat2.create(mdl2, anmTexPat2, allocator, nullptr, 1)) {
|
||||
if (!mGetAnmTexPat.create(mdl2, anmTexPat2, allocator, nullptr, 1)) {
|
||||
return false;
|
||||
}
|
||||
mMdl2.setAnm(mAnmTexPat2);
|
||||
mAnmTexPat2.setFrame(sMdlConfig[i].texPatFrame, 0);
|
||||
mGetMdl.setAnm(mGetAnmTexPat);
|
||||
mGetAnmTexPat.setFrame(sMdlConfig[i].texPatFrame, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -105,32 +105,32 @@ bool dItemMdlRupee_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator)
|
||||
return true;
|
||||
}
|
||||
|
||||
void dItemMdlRupee_c::vt_0x10(u8 arg) {
|
||||
if (arg == ITEM_MDL_UNK0x14_3) {
|
||||
field_0x14 = ITEM_MDL_UNK0x14_1;
|
||||
void dItemMdlRupee_c::setDrawMode(u8 arg) {
|
||||
if (arg == DrawMode_Max) {
|
||||
mDrawMode = DrawMode_Put;
|
||||
} else {
|
||||
field_0x14 = arg;
|
||||
mDrawMode = arg;
|
||||
}
|
||||
}
|
||||
|
||||
void dItemMdlRupee_c::setScale(const mVec3_c &scale) {
|
||||
mMdl1.setScale(scale);
|
||||
mMdl2.setScale(scale);
|
||||
mPutMdl.setScale(scale);
|
||||
mGetMdl.setScale(scale);
|
||||
}
|
||||
|
||||
void dItemMdlRupee_c::setLocalMtx(const mMtx_c &mtx) {
|
||||
mMdl1.setLocalMtx(mtx);
|
||||
mMdl2.setLocalMtx(mtx);
|
||||
mPutMdl.setLocalMtx(mtx);
|
||||
mGetMdl.setLocalMtx(mtx);
|
||||
}
|
||||
|
||||
void dItemMdlRupee_c::draw() {
|
||||
switch (field_0x14) {
|
||||
case ITEM_MDL_UNK0x14_1: mpItem->fn_8002ECD0(&mMdl1, 7); break;
|
||||
case ITEM_MDL_UNK0x14_2: mpItem->fn_8002ECD0(&mMdl2, 6); break;
|
||||
switch (mDrawMode) {
|
||||
case DrawMode_Put: mpItem->fn_8002ECD0(&mPutMdl, 7); break;
|
||||
case DrawMode_Get: mpItem->fn_8002ECD0(&mGetMdl, 6); break;
|
||||
}
|
||||
}
|
||||
|
||||
void dItemMdlRupee_c::vt_0x20(u16 itemId) {
|
||||
void dItemMdlRupee_c::changeItemId(u16 itemId) {
|
||||
int i = 0;
|
||||
bool found = false;
|
||||
while (!found && i < ARRAY_LENGTH(sMdlConfig)) {
|
||||
@@ -142,17 +142,17 @@ void dItemMdlRupee_c::vt_0x20(u16 itemId) {
|
||||
}
|
||||
|
||||
if (found) {
|
||||
mAnmTexPat1.setFrame(sMdlConfig[i].texPatFrame, 0);
|
||||
mAnmTexPat2.setFrame(sMdlConfig[i].texPatFrame, 0);
|
||||
mPutAnmTexPat.setFrame(sMdlConfig[i].texPatFrame, 0);
|
||||
mGetAnmTexPat.setFrame(sMdlConfig[i].texPatFrame, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void dItemMdlRupee_c::setPriorityDraw() {
|
||||
mMdl1.setPriorityDraw(0x82, 0x7F);
|
||||
mMdl2.setPriorityDraw(0x82, 0x7F);
|
||||
mPutMdl.setPriorityDraw(0x82, 0x7F);
|
||||
mGetMdl.setPriorityDraw(0x82, 0x7F);
|
||||
}
|
||||
|
||||
void dItemMdlRupee_c::unsetPriorityDraw() {
|
||||
mMdl1.setPriorityDraw(0x7F, 0x7F);
|
||||
mMdl2.setPriorityDraw(0x7F, 0x7F);
|
||||
mPutMdl.setPriorityDraw(0x7F, 0x7F);
|
||||
mGetMdl.setPriorityDraw(0x7F, 0x7F);
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ bool dItemMdlStaminaFruit_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *all
|
||||
if (!mdl1.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
if (!mMdl1.create(mdl1, allocator, 0x324)) {
|
||||
if (!mPutMdl.create(mdl1, allocator, 0x324)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ bool dItemMdlStaminaFruit_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *all
|
||||
if (!mdl2.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
if (!mMdl2.create(mdl2, allocator, 0x324)) {
|
||||
if (!mGetMdl.create(mdl2, allocator, 0x324)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -48,62 +48,62 @@ bool dItemMdlStaminaFruit_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *all
|
||||
if (!anmTexSrt1.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
TRY_CREATE(mAnmTexSrt1.create(mdl1, anmTexSrt1, allocator, nullptr, 1));
|
||||
mMdl1.setAnm(mAnmTexSrt1);
|
||||
TRY_CREATE(mPutAnmTexSrt.create(mdl1, anmTexSrt1, allocator, nullptr, 1));
|
||||
mPutMdl.setAnm(mPutAnmTexSrt);
|
||||
|
||||
nw4r::g3d::ResAnmTexSrt anmTexSrt2 = res2.GetResAnmTexSrt("GutsLight");
|
||||
if (!anmTexSrt2.IsValid()) {
|
||||
return false;
|
||||
}
|
||||
TRY_CREATE(mAnmTexSrt2.create(mdl2, anmTexSrt2, allocator, nullptr, 1));
|
||||
mMdl2.setAnm(mAnmTexSrt2);
|
||||
TRY_CREATE(mGetAnmTexSrt.create(mdl2, anmTexSrt2, allocator, nullptr, 1));
|
||||
mGetMdl.setAnm(mGetAnmTexSrt);
|
||||
|
||||
mpItem = item;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void dItemMdlStaminaFruit_c::vt_0x10(u8 arg) {
|
||||
if (arg == ITEM_MDL_UNK0x14_3) {
|
||||
field_0x14 = ITEM_MDL_UNK0x14_1;
|
||||
void dItemMdlStaminaFruit_c::setDrawMode(u8 arg) {
|
||||
if (arg == DrawMode_Max) {
|
||||
mDrawMode = DrawMode_Put;
|
||||
} else {
|
||||
field_0x14 = arg;
|
||||
mDrawMode = arg;
|
||||
}
|
||||
}
|
||||
|
||||
void dItemMdlStaminaFruit_c::setScale(const mVec3_c &scale) {
|
||||
mMdl1.setScale(scale);
|
||||
mMdl2.setScale(scale);
|
||||
mPutMdl.setScale(scale);
|
||||
mGetMdl.setScale(scale);
|
||||
}
|
||||
|
||||
void dItemMdlStaminaFruit_c::setLocalMtx(const mMtx_c &mtx) {
|
||||
mMdl1.setLocalMtx(mtx);
|
||||
mMdl2.setLocalMtx(mtx);
|
||||
mPutMdl.setLocalMtx(mtx);
|
||||
mGetMdl.setLocalMtx(mtx);
|
||||
}
|
||||
|
||||
void dItemMdlStaminaFruit_c::draw() {
|
||||
switch (field_0x14) {
|
||||
case ITEM_MDL_UNK0x14_1:
|
||||
mAnmTexSrt1.play();
|
||||
mpItem->fn_8002ECD0(&mMdl1, 7);
|
||||
switch (mDrawMode) {
|
||||
case DrawMode_Put:
|
||||
mPutAnmTexSrt.play();
|
||||
mpItem->fn_8002ECD0(&mPutMdl, 7);
|
||||
break;
|
||||
case ITEM_MDL_UNK0x14_2:
|
||||
mAnmTexSrt2.play();
|
||||
mpItem->fn_8002ECD0(&mMdl2, 6);
|
||||
case DrawMode_Get:
|
||||
mGetAnmTexSrt.play();
|
||||
mpItem->fn_8002ECD0(&mGetMdl, 6);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void dItemMdlStaminaFruit_c::vt_0x20(u16 itemId) {
|
||||
void dItemMdlStaminaFruit_c::changeItemId(u16 itemId) {
|
||||
// no-op
|
||||
}
|
||||
|
||||
void dItemMdlStaminaFruit_c::setPriorityDraw() {
|
||||
mMdl1.setPriorityDraw(0x82, 0x7F);
|
||||
mMdl2.setPriorityDraw(0x82, 0x7F);
|
||||
mPutMdl.setPriorityDraw(0x82, 0x7F);
|
||||
mGetMdl.setPriorityDraw(0x82, 0x7F);
|
||||
}
|
||||
|
||||
void dItemMdlStaminaFruit_c::unsetPriorityDraw() {
|
||||
mMdl1.setPriorityDraw(0x7F, 0x7F);
|
||||
mMdl2.setPriorityDraw(0x7F, 0x7F);
|
||||
mPutMdl.setPriorityDraw(0x7F, 0x7F);
|
||||
mGetMdl.setPriorityDraw(0x7F, 0x7F);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user