mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-08 12:17:12 -04:00
Merge pull request #545 from SuperDude88/main
daRaceItem_c 100%, not OK
This commit is contained in:
@@ -1,24 +1,31 @@
|
||||
#ifndef D_A_RACE_ITEM_H
|
||||
#define D_A_RACE_ITEM_H
|
||||
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "d/actor/d_a_itembase.h"
|
||||
|
||||
class daRaceItem_c : public fopAc_ac_c {
|
||||
class daRaceItem_c : public daItemBase_c {
|
||||
public:
|
||||
inline BOOL draw();
|
||||
inline BOOL execute();
|
||||
void setListStart() {}
|
||||
|
||||
void set_mtx();
|
||||
BOOL Delete();
|
||||
s32 create();
|
||||
void CreateInit();
|
||||
BOOL CreateInit();
|
||||
void checkGet();
|
||||
inline BOOL execute();
|
||||
void setListStart() {}
|
||||
|
||||
// race_item_static functions
|
||||
void raceItemForceGet();
|
||||
void raceItemGet();
|
||||
void normalItemGet();
|
||||
BOOL startOffsetPos();
|
||||
BOOL endOffsetPos(f32, cXyz*, f32, f32, csXyz*);
|
||||
BOOL checkOffsetPos();
|
||||
void set_mtx(cXyz*);
|
||||
public:
|
||||
/* 0x000 */ daItemBase_c parent;
|
||||
/* 0x63C */ u8 m63C[0x648 - 0x63C];
|
||||
/* 0x63C */ s32 field_0x63C;
|
||||
/* 0x640 */ u32 field_0x640;
|
||||
/* 0x644 */ u8 field_0x644;
|
||||
/* 0x645 */ u8 field_0x645;
|
||||
};
|
||||
|
||||
#endif /* D_A_RACE_ITEM_H */
|
||||
|
||||
@@ -361,6 +361,16 @@ public:
|
||||
void setItemRupeeCount(s32 count) { mItemRupeeCount += count; }
|
||||
void setMessageCountNumber(s16 num) { mMsgCountNumber = num; }
|
||||
|
||||
s16 getMiniGameRupee() { return mMiniGameRupee; }
|
||||
void plusMiniGameRupee(s16 count) {
|
||||
if(mMiniGameRupee + count > 0) {
|
||||
mMiniGameRupee += count;
|
||||
}
|
||||
else {
|
||||
mMiniGameRupee = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void setLkDemoAnmArchive(JKRArchive* i_arc) { mpLkDArc = i_arc; }
|
||||
void setStatus(u16 status) { mStatus = status; }
|
||||
void onStatus(u16 status) { mStatus |= status; }
|
||||
@@ -647,7 +657,8 @@ public:
|
||||
/* 0x4A28 */ u32 mPlayerStatus[2][2];
|
||||
/* 0x4A38 */ u8 field_0x4A38[0x4A3A - 0x4A38];
|
||||
/* 0x4A3A */ u8 mMiniGameType;
|
||||
/* 0x4A3B */ u8 field_0x4A3B[0x4A40 - 0x4A3B];
|
||||
/* 0x4A3C */ s16 mMiniGameRupee;
|
||||
/* 0x4A3D */ u8 field_0x4A3E[0x4A40 - 0x4A3E];
|
||||
/* 0x4A40 */ __d_timer_info_c mTimerInfo;
|
||||
/* 0x4A54 */ dDlst_window_c* mCurrentWindow;
|
||||
/* 0x4A58 */ view_class* mCurrentView;
|
||||
@@ -2089,6 +2100,14 @@ inline void dComIfGp_setRStatusForce(u8 status) {
|
||||
g_dComIfG_gameInfo.play.setRStatusForce(status);
|
||||
}
|
||||
|
||||
inline s16 dComIfGp_getMiniGameRupee() {
|
||||
return g_dComIfG_gameInfo.play.getMiniGameRupee();
|
||||
}
|
||||
|
||||
inline void dComIfGp_plusMiniGameRupee(s16 count) {
|
||||
g_dComIfG_gameInfo.play.plusMiniGameRupee(count);
|
||||
}
|
||||
|
||||
inline s32 dComIfGp_getWindowNum() { return g_dComIfG_gameInfo.play.getWindowNum(); }
|
||||
inline void dComIfGp_setWindowNum(u8 num) { g_dComIfG_gameInfo.play.setWindowNum(num); }
|
||||
inline dDlst_window_c * dComIfGp_getWindow(int idx) { return g_dComIfG_gameInfo.play.getWindow(idx); }
|
||||
|
||||
+245
-33
@@ -4,64 +4,276 @@
|
||||
//
|
||||
|
||||
#include "d/actor/d_a_race_item.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/actor/d_a_sea.h"
|
||||
#include "d/d_item_data.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
#include "m_Do/m_Do_mtx.h"
|
||||
|
||||
static dCcD_SrcCyl l_cyl_src = {
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0xFFFFFFFF, // Tg damage types
|
||||
3,
|
||||
0x19,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
4,
|
||||
0,
|
||||
|
||||
// Cylinder
|
||||
0.0, // X
|
||||
0.0, // Y
|
||||
0.0, // Z
|
||||
0.0, // Radius
|
||||
0.0, // Height
|
||||
};
|
||||
|
||||
/* 00000078-000000F8 .text set_mtx__12daRaceItem_cFv */
|
||||
void daRaceItem_c::set_mtx() {
|
||||
/* Nonmatching */
|
||||
mpModel->setBaseScale(mScale);
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::YrotM(current.angle.y);
|
||||
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
/* 000000F8-0000012C .text Delete__12daRaceItem_cFv */
|
||||
BOOL daRaceItem_c::Delete() {
|
||||
/* Nonmatching */
|
||||
DeleteBase(dItem_data::field_item_res[m_itemNo].mArc);
|
||||
}
|
||||
|
||||
/* 0000012C-00000318 .text create__12daRaceItem_cFv */
|
||||
s32 daRaceItem_c::create() {
|
||||
/* Nonmatching */
|
||||
fopAcM_SetupActor(this, daRaceItem_c);
|
||||
|
||||
m_itemNo = fopAcM_GetParam(this) & 0xFF;
|
||||
mPickupFlag = fopAcM_GetParam(this) >> 8 & 0x7F;
|
||||
|
||||
if(fopAcM_isItem(this, mPickupFlag) && mPickupFlag != 0x7F) {
|
||||
setLoadError();
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
else {
|
||||
s32 phase_state = dComIfG_resLoad(&mPhs, dItem_data::getFieldArc(m_itemNo));
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
u32 heap_size = dItem_data::getHeapSize(m_itemNo);
|
||||
if (!fopAcM_entrySolidHeap(this, &CheckFieldItemCreateHeap, heap_size)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
CreateInit();
|
||||
}
|
||||
|
||||
return phase_state;
|
||||
}
|
||||
}
|
||||
|
||||
/* 00000540-000006A4 .text CreateInit__12daRaceItem_cFv */
|
||||
void daRaceItem_c::CreateInit() {
|
||||
/* Nonmatching */
|
||||
BOOL daRaceItem_c::CreateInit() {
|
||||
set_mtx();
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
|
||||
mStts.Init(0, 0xFF, this);
|
||||
mCyl.Set(l_cyl_src);
|
||||
mCyl.SetStts(&mStts);
|
||||
f32 height = getHeight();
|
||||
f32 radius = getR();
|
||||
if (mScale.x > 1.0f) {
|
||||
height *= mScale.x;
|
||||
radius *= mScale.x;
|
||||
}
|
||||
mCyl.SetR(radius);
|
||||
mCyl.SetH(height);
|
||||
|
||||
mAcchCir.SetWall(30.0f, 30.0f);
|
||||
mAcch.Set(¤t.pos, &next.pos, this, 1, &mAcchCir, &speed, 0, 0);
|
||||
mAcch.ClrWaterNone();
|
||||
mAcch.ClrRoofNone();
|
||||
|
||||
field_0x640 = 0;
|
||||
field_0x644 = fopAcM_GetParam(this) >> 0xF & 0xF;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 000006A4-000006F0 .text checkGet__12daRaceItem_cFv */
|
||||
void daRaceItem_c::checkGet() {
|
||||
/* Nonmatching */
|
||||
if(field_0x644 == 1 && mCyl.ChkCoHit()) {
|
||||
normalItemGet();
|
||||
}
|
||||
}
|
||||
|
||||
/* 000006F0-0000071C .text daRaceItem_Draw__FP12daRaceItem_c */
|
||||
static BOOL daRaceItem_Draw(daRaceItem_c*) {
|
||||
/* Nonmatching */
|
||||
static BOOL daRaceItem_Draw(daRaceItem_c* i_this) {
|
||||
return i_this->DrawBase();
|
||||
}
|
||||
|
||||
/* 0000071C-0000073C .text daRaceItem_Execute__FP12daRaceItem_c */
|
||||
static BOOL daRaceItem_Execute(daRaceItem_c*) {
|
||||
/* Nonmatching */
|
||||
static BOOL daRaceItem_Execute(daRaceItem_c* i_this) {
|
||||
return i_this->execute();
|
||||
}
|
||||
|
||||
/* 0000073C-00000C44 .text execute__12daRaceItem_cFv */
|
||||
BOOL daRaceItem_c::execute() {
|
||||
/* Nonmatching */
|
||||
field_0x634++;
|
||||
animPlay(1.0f, 1.0f, 1.0f, 1.0f, 1.0f);
|
||||
mEyePos = current.pos;
|
||||
mEyePos.y += mScale.x * dItem_data::getH(m_itemNo) / 2.0f;
|
||||
|
||||
daPy_lk_c* player;
|
||||
cXyz headPos;
|
||||
switch(field_0x640) {
|
||||
case 0:
|
||||
checkGet();
|
||||
|
||||
s16 spin = 0xFFFF / daItemBase_c::m_data.mNumFramesPerFullSpin;
|
||||
fopAcM_addAngleY(this, current.angle.y + spin, spin);
|
||||
mCyl.SetC(current.pos);
|
||||
dComIfG_Ccsp()->Set(&mCyl);
|
||||
|
||||
break;
|
||||
case 1:
|
||||
player = daPy_getPlayerLinkActorClass();
|
||||
headPos = player->getHeadTopPos();
|
||||
headPos.y += 15.0f;
|
||||
current.pos = headPos;
|
||||
current.angle.z = 0;
|
||||
current.angle.x = 0;
|
||||
shape_angle.z = 0;
|
||||
shape_angle.x = 0;
|
||||
mScale.setall(1.0f);
|
||||
|
||||
field_0x63C = 0xD;
|
||||
|
||||
speed.set(0.0f, 23.0f, 0.0f);
|
||||
mGravity = -6.0f;
|
||||
|
||||
mCyl.ClrTgHit();
|
||||
mCyl.ClrCoHit();
|
||||
mCyl.OffCoSPrmBit(0x1);
|
||||
mCyl.OffTgSPrmBit(0x1);
|
||||
|
||||
field_0x645 &= 0xFE;
|
||||
field_0x640 = 2;
|
||||
case 2:
|
||||
field_0x63C -= 1;
|
||||
|
||||
player = daPy_getPlayerLinkActorClass();
|
||||
headPos = player->getHeadTopPos();
|
||||
headPos.y += 15.0f;
|
||||
current.pos.x = headPos.x;
|
||||
current.pos.z = headPos.z;
|
||||
fopAcM_posMoveF(this, 0);
|
||||
|
||||
if(current.pos.y < headPos.y) {
|
||||
current.pos.y = headPos.y;
|
||||
}
|
||||
|
||||
if(field_0x63C < 0) {
|
||||
fopAcM_delete(this);
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
case 3:
|
||||
field_0x640 = 4;
|
||||
case 4:
|
||||
checkGet();
|
||||
|
||||
fopAcM_posMoveF(this, mStts.GetCCMoveP());
|
||||
mAcch.CrrPos(*dComIfG_Bgsp());
|
||||
|
||||
if(!(field_0x645 & 1) && !fopAcM_checkHookCarryNow(this)) { // looks like !checkOffsetPos() but that isn't an inline
|
||||
if(mAcch.ChkWaterIn()) {
|
||||
fopAcM_seStart(this, JA_SE_OBJ_FALL_WATER_S, 0);
|
||||
fopAcM_delete(this);
|
||||
}
|
||||
|
||||
if(daSea_ChkArea(current.pos.x, current.pos.z)) {
|
||||
f32 wave = daSea_calcWave(current.pos.x, current.pos.z);
|
||||
if(wave != 0.0f && current.pos.y - wave < 0.0f) {
|
||||
fopAcM_delete(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(current.pos.y < -5000.0f) {
|
||||
fopAcM_delete(this);
|
||||
}
|
||||
|
||||
mCyl.SetC(current.pos);
|
||||
dComIfG_Ccsp()->Set(&mCyl);
|
||||
}
|
||||
|
||||
if(mCyl.ChkTgHit() && field_0x644 == 1) {
|
||||
cCcD_Obj* hitObj = mCyl.GetTgHitObj();
|
||||
if (hitObj) {
|
||||
u32 atType = hitObj->GetAtType();
|
||||
if (atType & AT_TYPE_BOOMERANG) {
|
||||
field_0x645 |= 1;
|
||||
} else if (atType & AT_TYPE_HOOKSHOT) {
|
||||
cXyz pos(0.0f, dItem_data::getH(m_itemNo) / 2.0f, 0.0f);
|
||||
daPy_getPlayerActorClass()->setHookshotCarryOffset(fopAcM_GetID(this), &pos);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(field_0x645 & 1) {
|
||||
fopAc_ac_c* boomerang = (fopAc_ac_c*)fopAcM_SearchByName(PROC_BOOMERANG);
|
||||
if(boomerang) {
|
||||
current.pos = boomerang->current.pos;
|
||||
}
|
||||
else {
|
||||
field_0x645 &= 0xFE;
|
||||
}
|
||||
}
|
||||
|
||||
if(!checkOffsetPos()) {
|
||||
mScale.setall(1.0f);
|
||||
}
|
||||
|
||||
set_mtx();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 00000C44-00000C4C .text daRaceItem_IsDelete__FP12daRaceItem_c */
|
||||
static BOOL daRaceItem_IsDelete(daRaceItem_c*) {
|
||||
/* Nonmatching */
|
||||
static bool daRaceItem_IsDelete(daRaceItem_c*) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 00000C4C-00000C6C .text daRaceItem_Delete__FP12daRaceItem_c */
|
||||
static BOOL daRaceItem_Delete(daRaceItem_c*) {
|
||||
/* Nonmatching */
|
||||
static BOOL daRaceItem_Delete(daRaceItem_c* i_this) {
|
||||
return i_this->Delete();
|
||||
}
|
||||
|
||||
/* 00000C6C-00000C8C .text daRaceItem_Create__FP10fopAc_ac_c */
|
||||
static s32 daRaceItem_Create(fopAc_ac_c*) {
|
||||
/* Nonmatching */
|
||||
static int daRaceItem_Create(fopAc_ac_c* i_this) {
|
||||
return static_cast<daRaceItem_c*>(i_this)->create();
|
||||
}
|
||||
|
||||
/* 00000CA8-00000CAC .text setListStart__12daRaceItem_cFv */
|
||||
void daRaceItem_c::setListStart() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
static actor_method_class l_daRaceItem_Method = {
|
||||
(process_method_func)daRaceItem_Create,
|
||||
(process_method_func)daRaceItem_Delete,
|
||||
(process_method_func)daRaceItem_Execute,
|
||||
(process_method_func)daRaceItem_IsDelete,
|
||||
(process_method_func)daRaceItem_Draw,
|
||||
};
|
||||
|
||||
extern actor_process_profile_definition g_profile_RACEITEM = {
|
||||
fpcLy_CURRENT_e,
|
||||
7,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_RACEITEM,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(daRaceItem_c),
|
||||
0,
|
||||
0,
|
||||
&g_fopAc_Method.base,
|
||||
0x00FD,
|
||||
&l_daRaceItem_Method,
|
||||
0x000C4100,
|
||||
fopAc_ACTOR_e,
|
||||
fopAc_CULLBOX_0_e,
|
||||
};
|
||||
|
||||
+120
-20
@@ -3,41 +3,141 @@
|
||||
// Translation Unit: d_a_race_item_static.cpp
|
||||
//
|
||||
|
||||
#include "d/actor/d_a_race_item_static.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "d/actor/d_a_race_item.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_item.h"
|
||||
#include "d/d_item_data.h"
|
||||
#include "m_Do/m_Do_mtx.h"
|
||||
|
||||
/* 80068A58-80068AA4 .text raceItemForceGet__12daRaceItem_cFv */
|
||||
void daRaceItem_c::raceItemForceGet() {
|
||||
/* Nonmatching */
|
||||
field_0x640 = 1;
|
||||
switch(field_0x644) {
|
||||
case 0:
|
||||
raceItemGet();
|
||||
break;
|
||||
case 1:
|
||||
normalItemGet();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80068AA4-80068D48 .text raceItemGet__12daRaceItem_cFv */
|
||||
void daRaceItem_c::raceItemGet() {
|
||||
/* Nonmatching */
|
||||
switch(m_itemNo) {
|
||||
case GREEN_RUPEE:
|
||||
mDoAud_seStart(JA_SE_LUPY_GET, 0, 0, 0);
|
||||
dComIfGp_plusMiniGameRupee(1);
|
||||
break;
|
||||
case BLUE_RUPEE:
|
||||
mDoAud_seStart(JA_SE_BLUE_LUPY_GET, 0, 0, 0);
|
||||
dComIfGp_plusMiniGameRupee(5);
|
||||
break;
|
||||
case YELLOW_RUPEE:
|
||||
mDoAud_seStart(JA_SE_LUPY_GET, 0, 0, 0);
|
||||
dComIfGp_plusMiniGameRupee(10);
|
||||
break;
|
||||
case RED_RUPEE:
|
||||
mDoAud_seStart(JA_SE_RED_LUPY_GET, 0, 0, 0);
|
||||
dComIfGp_plusMiniGameRupee(20);
|
||||
break;
|
||||
case PURPLE_RUPEE:
|
||||
mDoAud_seStart(JA_SE_LUPY_GET, 0, 0, 0);
|
||||
dComIfGp_plusMiniGameRupee(50);
|
||||
break;
|
||||
case ORANGE_RUPEE:
|
||||
mDoAud_seStart(JA_SE_LUPY_GET, 0, 0, 0);
|
||||
dComIfGp_plusMiniGameRupee(100);
|
||||
break;
|
||||
case SILVER_RUPEE:
|
||||
mDoAud_seStart(JA_SE_LUPY_GET, 0, 0, 0);
|
||||
dComIfGp_plusMiniGameRupee(200);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80068D48-80068FD0 .text normalItemGet__12daRaceItem_cFv */
|
||||
void daRaceItem_c::normalItemGet() {
|
||||
/* Nonmatching */
|
||||
field_0x640 = 1;
|
||||
execItemGet(m_itemNo);
|
||||
if(mPickupFlag != 0x7F) {
|
||||
dComIfGs_onItem(mPickupFlag, fopAcM_GetHomeRoomNo(this));
|
||||
}
|
||||
|
||||
switch(m_itemNo) {
|
||||
case GREEN_RUPEE:
|
||||
mDoAud_seStart(JA_SE_LUPY_GET, 0, 0, 0);
|
||||
break;
|
||||
case BLUE_RUPEE:
|
||||
mDoAud_seStart(JA_SE_BLUE_LUPY_GET, 0, 0, 0);
|
||||
break;
|
||||
case YELLOW_RUPEE:
|
||||
mDoAud_seStart(JA_SE_RED_LUPY_GET, 0, 0, 0);
|
||||
break;
|
||||
case RED_RUPEE:
|
||||
mDoAud_seStart(JA_SE_RED_LUPY_GET, 0, 0, 0);
|
||||
break;
|
||||
case PURPLE_RUPEE:
|
||||
mDoAud_seStart(JA_SE_RED_LUPY_GET, 0, 0, 0);
|
||||
break;
|
||||
case ORANGE_RUPEE:
|
||||
mDoAud_seStart(JA_SE_RED_LUPY_GET, 0, 0, 0);
|
||||
break;
|
||||
case S_MAGIC:
|
||||
mDoAud_seStart(JA_SE_RED_LUPY_GET, 0, 0, 0);
|
||||
break;
|
||||
case L_MAGIC:
|
||||
mDoAud_seStart(JA_SE_MAGIC_POT_GET_S, 0, 0, 0);
|
||||
break;
|
||||
case BOMB_5:
|
||||
case BOMB_10:
|
||||
case BOMB_20:
|
||||
case BOMB_30:
|
||||
case ARROW_10:
|
||||
case ARROW_20:
|
||||
case ARROW_30:
|
||||
mDoAud_seStart(JA_SE_MAGIC_POT_GET_L, 0, 0, 0);
|
||||
break;
|
||||
case SILVER_RUPEE:
|
||||
mDoAud_seStart(JA_SE_CONSUMP_ITEM_GET, 0, 0, 0);
|
||||
break;
|
||||
case TRIPLE_HEART:
|
||||
mDoAud_seStart(JA_SE_HEART_PIECE, 0, 0, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80068FD0-80068FE0 .text startOffsetPos__12daRaceItem_cFv */
|
||||
void daRaceItem_c::startOffsetPos() {
|
||||
/* Nonmatching */
|
||||
BOOL daRaceItem_c::startOffsetPos() {
|
||||
field_0x640 = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80068FE0-8006903C .text endOffsetPos__12daRaceItem_cFfP4cXyzffP5csXyz */
|
||||
void daRaceItem_c::endOffsetPos(float, cXyz*, float, float, csXyz*) {
|
||||
/* Nonmatching */
|
||||
BOOL daRaceItem_c::endOffsetPos(f32 param_1, cXyz* param_2, f32 param_3, f32 param_4, csXyz* param_5) {
|
||||
if(param_5) {
|
||||
current.angle = *param_5;
|
||||
}
|
||||
if(param_2) {
|
||||
mScale = *param_2;
|
||||
}
|
||||
|
||||
mGravity = param_1;
|
||||
speedF = param_4;
|
||||
speed.y = param_3;
|
||||
field_0x640 = 3;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 8006903C-80069064 .text checkOffsetPos__12daRaceItem_cFv */
|
||||
void daRaceItem_c::checkOffsetPos() {
|
||||
/* Nonmatching */
|
||||
BOOL daRaceItem_c::checkOffsetPos() {
|
||||
BOOL ret = true;
|
||||
if(field_0x645 & 0x1 || fopAcM_checkHookCarryNow(this)) {
|
||||
ret = false;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 80069064-800690E4 .text set_mtx__12daRaceItem_cFP4cXyz */
|
||||
void daRaceItem_c::set_mtx(cXyz*) {
|
||||
/* Nonmatching */
|
||||
void daRaceItem_c::set_mtx(cXyz* param_1) {
|
||||
mpModel->setBaseScale(mScale);
|
||||
mDoMtx_stack_c::transS(*param_1);
|
||||
mDoMtx_stack_c::YrotM(current.angle.y);
|
||||
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user