mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-24 23:21:31 -04:00
d_bg_s_movebg_actor OK (#23)
This commit is contained in:
@@ -330,6 +330,7 @@ LIBS = [
|
||||
Object(NonMatching, "d/d_com_inf_game.cpp"),
|
||||
Object(NonMatching, "d/d_save.cpp"),
|
||||
Object(NonMatching, "d/d_save_init.cpp"),
|
||||
Object(Matching, "d/d_bg_s_movebg_actor.cpp"),
|
||||
|
||||
Object(NonMatching, "d/actor/d_a_itembase_static.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_item_static.cpp"),
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define C_BG_S_POLY_INFO_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "global.h"
|
||||
|
||||
class cBgW;
|
||||
class cBgS_PolyInfo {
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
#ifndef C_BG_W_H
|
||||
#define C_BG_W_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
|
||||
class cBgW_BgId {
|
||||
private:
|
||||
/* 0x0 */ u16 m_id;
|
||||
/* 0x0 */ int m_id;
|
||||
/* 0x4 vtable */
|
||||
|
||||
public:
|
||||
void Release();
|
||||
bool ChkUsed() const;
|
||||
void Regist(int);
|
||||
|
||||
virtual ~cBgW_BgId() {}
|
||||
@@ -19,10 +19,99 @@ public:
|
||||
void Ct() { m_id = 0x100; }
|
||||
|
||||
u16 GetId() const { return m_id; }
|
||||
bool ChkUsed() const {
|
||||
if (m_id >= 0 && m_id < 0x100) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
bool cBgW_CheckBGround(float a1);
|
||||
bool cBgW_CheckBRoof(float a1);
|
||||
bool cBgW_CheckBWall(float a1);
|
||||
class cBgW_TriElm;
|
||||
class cBgW_RwgElm;
|
||||
class cBgW_BlkElm;
|
||||
class cBgW_GrpElm;
|
||||
class cBgW_NodeTree;
|
||||
class cBgD_t;
|
||||
class cBgS_LinChk;
|
||||
class cBgS_GndChk;
|
||||
class cBgS_ShdwDraw;
|
||||
class cBgS_PolyPassChk;
|
||||
class cBgS_GrpPassChk;
|
||||
|
||||
class cBgW : public cBgW_BgId {
|
||||
public:
|
||||
enum Flags_e {
|
||||
MOVE_BG_e = 0x1,
|
||||
NO_VTX_TBL_e = 0x10,
|
||||
GLOBAL_e = 0x20,
|
||||
LOCK_e = 0x80,
|
||||
};
|
||||
|
||||
cBgW();
|
||||
|
||||
void FreeArea();
|
||||
void GlobalVtx();
|
||||
void SetVtx();
|
||||
|
||||
void SetTri();
|
||||
void BlckConnect(u16*, int*, int);
|
||||
void MakeBlckTransMinMax(cXyz*, cXyz*);
|
||||
void MakeBlckMinMax(int, cXyz*, cXyz*);
|
||||
void MakeBlckBnd(int, cXyz*, cXyz*);
|
||||
void MakeNodeTreeRp(int);
|
||||
void MakeNodeTreeGrpRp(int);
|
||||
void MakeNodeTree();
|
||||
void ChkMemoryError();
|
||||
bool Set(cBgD_t*, u32, f32(*)[3][4]);
|
||||
void RwgLineCheck(u16, cBgS_LinChk*);
|
||||
void LineCheckRp(cBgS_LinChk*, int);
|
||||
void LineCheckGrpRp(cBgS_LinChk*, int, int);
|
||||
void RwgGroundCheckCommon(f32, u16, cBgS_GndChk*);
|
||||
void RwgGroundCheckGnd(u16, cBgS_GndChk*);
|
||||
void RwgGroundCheckWall(u16, cBgS_GndChk*);
|
||||
void GroundCrossRp(cBgS_GndChk*, int);
|
||||
void GroundCrossGrpRp(cBgS_GndChk*, int, int);
|
||||
void CopyOldMtx();
|
||||
void Move();
|
||||
void RwgShdwDraw(int, cBgS_ShdwDraw*);
|
||||
void ShdwDrawRp(cBgS_ShdwDraw*, int);
|
||||
void ShdwDrawGrpRp(cBgS_ShdwDraw*, int);
|
||||
void GetTrans(cXyz*) const;
|
||||
void GetTriPnt(int, cXyz*, cXyz*, cXyz*) const;
|
||||
void GetTopUnder(f32*, f32*) const;
|
||||
|
||||
virtual ~cBgW();
|
||||
virtual void GetGrpToRoomIndex(int) const;
|
||||
virtual void CalcPlane();
|
||||
virtual void ClassifyPlane();
|
||||
virtual void ChkPolyThrough(int, cBgS_PolyPassChk*);
|
||||
virtual void ChkShdwDrawThrough(int, cBgS_PolyPassChk*);
|
||||
virtual void ChkGrpThrough(int, cBgS_GrpPassChk*, int);
|
||||
|
||||
/* 0x08 */ Mtx* mpModelMtx;
|
||||
/* 0x0C */ Mtx mOldMtx;
|
||||
/* 0x3C */ Mtx mCurMtx;
|
||||
/* 0x6C */ u8 mFlags;
|
||||
/* 0x6D */ u8 mbNeedsFullTransform;
|
||||
/* 0x6E */ u8 field_0x6E[0x74 - 0x6E];
|
||||
/* 0x74 */ u8 mMoveCounter;
|
||||
/* 0x75 */ u8 mWallCorrectPriority;
|
||||
/* 0x76 */ u8 field_0x76[0x78 - 0x76];
|
||||
/* 0x78 */ int mIgnorePlaneType;
|
||||
/* 0x7C */ cXyz mTransVel;
|
||||
/* 0x88 */ cBgW_TriElm* mpTriElm;
|
||||
/* 0x8C */ cBgW_RwgElm* mpRwg;
|
||||
/* 0x90 */ cXyz* mpVtxTbl;
|
||||
/* 0x94 */ cBgD_t* mpBgDt;
|
||||
/* 0x98 */ cBgW_BlkElm* mpBlk;
|
||||
/* 0x9C */ cBgW_GrpElm* mpGrp;
|
||||
/* 0xA0 */ cBgW_NodeTree* mpNodeTree;
|
||||
/* 0xA4 */ int mRootGrpIdx;
|
||||
};
|
||||
|
||||
bool cBgW_CheckBGround(f32 a1);
|
||||
bool cBgW_CheckBRoof(f32 a1);
|
||||
bool cBgW_CheckBWall(f32 a1);
|
||||
|
||||
#endif /* C_BG_W_H */
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "d/d_drawlist.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "d/d_bg_w.h"
|
||||
|
||||
class mDoExt_MtxCalcOldFrame;
|
||||
class daPy_matAnm_c;
|
||||
@@ -242,11 +243,6 @@ struct MagicArmorAuraEntry {
|
||||
|
||||
class daPy_anmIndex_c;
|
||||
|
||||
class dBgW {
|
||||
public:
|
||||
enum PushPullLabel {};
|
||||
};
|
||||
|
||||
class daPy_lk_c : public daPy_py_c {
|
||||
public:
|
||||
enum HEAP_TYPE {};
|
||||
|
||||
+39
-35
@@ -1,9 +1,10 @@
|
||||
#ifndef D_BG_D_BG_S_H
|
||||
#define D_BG_D_BG_S_H
|
||||
|
||||
#include "global.h"
|
||||
#include "SSystem/SComponent/c_sxyz.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "d/d_bg_w.h"
|
||||
#include "global.h"
|
||||
|
||||
class cBgS_LinChk;
|
||||
class cBgS_GndChk;
|
||||
@@ -12,7 +13,6 @@ class cM3dGPla;
|
||||
class cBgS_ShdwDraw;
|
||||
class dBgW;
|
||||
class fopAc_ac_c;
|
||||
class dBgW_Base;
|
||||
class dBgS_Acch;
|
||||
class dBgS_RoofChk;
|
||||
class dBgS_SplGrpChk;
|
||||
@@ -20,19 +20,19 @@ class dBgS_SphChk;
|
||||
|
||||
class cBgS_ChkElm {
|
||||
public:
|
||||
/* 0x00 */ dBgW_Base* m_bgw_base_ptr;
|
||||
/* 0x00 */ cBgW* m_bgw_base_ptr;
|
||||
/* 0x04 */ bool m_used;
|
||||
/* 0x08 */ u32 m_actor_id;
|
||||
/* 0x0C */ fopAc_ac_c* m_actor_ptr;
|
||||
/* 0x10 vtable */
|
||||
|
||||
public:
|
||||
cBgS_ChkElm() { this->Init(); }
|
||||
cBgS_ChkElm() { Init(); }
|
||||
void Init();
|
||||
void Release();
|
||||
|
||||
virtual ~cBgS_ChkElm() {}
|
||||
virtual void Regist2(dBgW_Base*, unsigned int, void*);
|
||||
virtual void Regist2(cBgW*, u32, void*);
|
||||
|
||||
bool ChkUsed() const { return m_used; }
|
||||
}; // Size: 0x14
|
||||
@@ -55,7 +55,7 @@ public:
|
||||
f32 GroundCross(cBgS_GndChk*);
|
||||
static void* ConvDzb(void*);
|
||||
fopAc_ac_c* GetActorPointer(int) const;
|
||||
dBgW_Base* GetBgWPointer(cBgS_PolyInfo&) const;
|
||||
cBgW* GetBgWPointer(cBgS_PolyInfo&) const;
|
||||
bool ChkPolySafe(cBgS_PolyInfo&);
|
||||
void GetTriGrp(int, int) const;
|
||||
void GetGrpToRoomId(int, int) const;
|
||||
@@ -76,43 +76,47 @@ class dBgS : public cBgS {
|
||||
public:
|
||||
dBgS() {}
|
||||
~dBgS() {}
|
||||
|
||||
void Ct();
|
||||
void Dt();
|
||||
void ClrMoveFlag();
|
||||
void Move();
|
||||
bool Regist(dBgW_Base*, fopAc_ac_c*);
|
||||
bool ChkMoveBG(cBgS_PolyInfo const&);
|
||||
bool ChkMoveBG_NoDABg(cBgS_PolyInfo const&);
|
||||
s32 GetExitId(cBgS_PolyInfo const&);
|
||||
s32 GetPolyColor(cBgS_PolyInfo const&);
|
||||
BOOL GetHorseNoEntry(cBgS_PolyInfo const&);
|
||||
int GetSpecialCode(cBgS_PolyInfo const&);
|
||||
int GetMagnetCode(cBgS_PolyInfo const&);
|
||||
int GetMonkeyBarsCode(cBgS_PolyInfo const&);
|
||||
u32 GetUnderwaterRoofCode(cBgS_PolyInfo const&);
|
||||
s32 GetWallCode(cBgS_PolyInfo const&);
|
||||
int GetPolyAtt0(cBgS_PolyInfo const&);
|
||||
int GetPolyAtt1(cBgS_PolyInfo const&);
|
||||
int GetGroundCode(cBgS_PolyInfo const&);
|
||||
s32 GetCamMoveBG(cBgS_PolyInfo const&);
|
||||
s32 GetRoomCamId(cBgS_PolyInfo const&);
|
||||
s32 GetRoomPathId(cBgS_PolyInfo const&);
|
||||
s32 GetRoomPathPntNo(cBgS_PolyInfo const&);
|
||||
u8 GetGrpSoundId(cBgS_PolyInfo const&);
|
||||
u32 ChkGrpInf(cBgS_PolyInfo const&, u32);
|
||||
s32 GetRoomId(cBgS_PolyInfo const&);
|
||||
bool GetPolyAttackThrough(cBgS_PolyInfo const&);
|
||||
u32 ChkPolyHSStick(cBgS_PolyInfo const&);
|
||||
bool Regist(cBgW*, fopAc_ac_c*);
|
||||
bool ChkMoveBG(cBgS_PolyInfo&);
|
||||
bool ChkMoveBG_NoDABg(cBgS_PolyInfo&);
|
||||
int GetPolyId0(int, int, int, u32, u32);
|
||||
int GetPolyCamId(int, int);
|
||||
int GetMtrlSndId(cBgS_PolyInfo&);
|
||||
int GetExitId(cBgS_PolyInfo&);
|
||||
int GetPolyColor(cBgS_PolyInfo&);
|
||||
int GetGrpRoomInfId(cBgS_PolyInfo&);
|
||||
u8 GetGrpSoundId(cBgS_PolyInfo&);
|
||||
u32 ChkGrpInf(cBgS_PolyInfo&, u32);
|
||||
int GetPolyId1(int, int, int, u32, u32);
|
||||
void GetLinkNo(cBgS_PolyInfo&);
|
||||
int GetWallCode(cBgS_PolyInfo&);
|
||||
int GetSpecialCode(cBgS_PolyInfo&);
|
||||
void GetAttributeCodeDirect(cBgS_PolyInfo&);
|
||||
void GetAttributeCode(cBgS_PolyInfo&);
|
||||
void GetGroundCode(cBgS_PolyInfo&);
|
||||
void GetPolyId2(int, int, int, u32, u32);
|
||||
int GetCamMoveBG(cBgS_PolyInfo&);
|
||||
int GetRoomCamId(cBgS_PolyInfo&);
|
||||
int GetRoomPathId(cBgS_PolyInfo&);
|
||||
int GetRoomPathPntNo(cBgS_PolyInfo&);
|
||||
int GetRoomId(cBgS_PolyInfo&);
|
||||
u32 ChkPolyHSStick(cBgS_PolyInfo&);
|
||||
void LineCrossNonMoveBG(cBgS_LinChk*);
|
||||
void WallCorrect(dBgS_Acch*);
|
||||
void WallCorrectSort(dBgS_Acch*);
|
||||
f32 RoofChk(dBgS_RoofChk*);
|
||||
bool SplGrpChk(dBgS_SplGrpChk*);
|
||||
bool SphChk(dBgS_SphChk*, void*);
|
||||
void MoveBgCrrPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*, bool, bool);
|
||||
void MoveBgTransPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*);
|
||||
void MoveBgMatrixCrrPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*);
|
||||
void RideCallBack(cBgS_PolyInfo const&, fopAc_ac_c*);
|
||||
void ArrowStickCallBack(cBgS_PolyInfo const&, fopAc_ac_c*, cXyz&);
|
||||
void WallCrrPos(dBgS_CrrPos*);
|
||||
void MoveBgCrrPos(cBgS_PolyInfo&, bool, cXyz*, csXyz*, csXyz*);
|
||||
void MoveBgTransPos(cBgS_PolyInfo&, bool, cXyz*, csXyz*, csXyz*);
|
||||
void MoveBgMatrixCrrPos(cBgS_PolyInfo&, bool, cXyz*, csXyz*, csXyz*);
|
||||
void RideCallBack(cBgS_PolyInfo&, fopAc_ac_c*);
|
||||
void PushPullCallBack(cBgS_PolyInfo&, fopAc_ac_c*, short, dBgW::PushPullLabel);
|
||||
|
||||
bool WaterChk(dBgS_SplGrpChk* chk) { return SplGrpChk(chk); }
|
||||
}; // Size: 0x1404
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
#ifndef D_BG_S_MOVEBG_ACTOR_H
|
||||
#define D_BG_S_MOVEBG_ACTOR_H
|
||||
|
||||
#include "SSystem/SComponent/c_bg_s_poly_info.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
class dBgW;
|
||||
typedef void (*MoveBGActor_SetFunc)(dBgW*, void*, cBgS_PolyInfo&, bool, cXyz*, csXyz*,
|
||||
csXyz*);
|
||||
|
||||
class dBgS_MoveBgActor : public fopAc_ac_c {
|
||||
public:
|
||||
/* 0x290 */ dBgW* mpBgW;
|
||||
/* 0x294 */ Mtx mBgMtx;
|
||||
|
||||
dBgS_MoveBgActor();
|
||||
int MoveBGCreateHeap();
|
||||
int MoveBGCreate(char const*, int, MoveBGActor_SetFunc, u32);
|
||||
int MoveBGDelete();
|
||||
int MoveBGExecute();
|
||||
|
||||
int MoveBGDraw() { return Draw(); }
|
||||
|
||||
virtual int CreateHeap() { return 1; }
|
||||
virtual int Create() { return 1; }
|
||||
virtual int Execute(Mtx**) { return 1; }
|
||||
virtual int Draw() { return 1; }
|
||||
virtual int Delete() { return 1; }
|
||||
virtual int IsDelete() { return 1; }
|
||||
virtual int ToFore() { return 1; }
|
||||
virtual int ToBack() { return 1; }
|
||||
|
||||
static const char* m_name;
|
||||
static int m_dzb_id;
|
||||
static MoveBGActor_SetFunc m_set_func;
|
||||
};
|
||||
|
||||
#endif /* D_BG_S_MOVEBG_ACTOR_H */
|
||||
@@ -0,0 +1,64 @@
|
||||
#ifndef D_BG_W_H
|
||||
#define D_BG_W_H
|
||||
|
||||
#include "SSystem/SComponent/c_bg_w.h"
|
||||
|
||||
class dBgS_Acch;
|
||||
class cM3dGPla;
|
||||
class dBgS_RoofChk;
|
||||
class dBgS_SplGrpChk;
|
||||
class dBgS_SphChk;
|
||||
class cM3dGTri;
|
||||
class dBgS_CrrPos;
|
||||
|
||||
class dBgW;
|
||||
typedef void (*dBgW_CrrFunc)(dBgW*, void*, cBgS_PolyInfo&, bool, cXyz*, csXyz*, csXyz*);
|
||||
|
||||
class dBgW : public cBgW {
|
||||
public:
|
||||
enum PushPullLabel {};
|
||||
|
||||
dBgW();
|
||||
|
||||
void Move();
|
||||
void positionWallCorrect(dBgS_Acch*, f32, cM3dGPla&, cXyz*, f32);
|
||||
void RwgWallCorrect(dBgS_Acch*, u16);
|
||||
void WallCorrectRp(dBgS_Acch*, int);
|
||||
void WallCorrectGrpRp(dBgS_Acch*, int, int);
|
||||
void RwgRoofChk(u16, dBgS_RoofChk*);
|
||||
void RoofChkRp(dBgS_RoofChk*, int);
|
||||
void RoofChkGrpRp(dBgS_RoofChk*, int, int);
|
||||
void RwgSplGrpChk(u16, dBgS_SplGrpChk*);
|
||||
void SplGrpChkRp(dBgS_SplGrpChk*, int);
|
||||
void SplGrpChkGrpRp(dBgS_SplGrpChk*, int, int);
|
||||
void RwgSphChk(u16, dBgS_SphChk*, void*);
|
||||
void SphChkRp(dBgS_SphChk*, void*, int);
|
||||
void SphChkGrpRp(dBgS_SphChk*, void*, int, int);
|
||||
void positionWallCrrPos(cM3dGTri&, dBgS_CrrPos*, cXyz*, f32, f32);
|
||||
void RwgWallCrrPos(u16, dBgS_CrrPos*);
|
||||
void WallCrrPosRp(dBgS_CrrPos*, int);
|
||||
void WallCrrPosGrpRp(dBgS_CrrPos*, int, int);
|
||||
void WallCrrPos(dBgS_CrrPos*);
|
||||
void ChangeAttributeCodeByPathPntNo(int, u32);
|
||||
|
||||
virtual ~dBgW() {}
|
||||
virtual void ChkPolyThrough(int, cBgS_PolyPassChk*);
|
||||
virtual void ChkShdwDrawThrough(int, cBgS_PolyPassChk*);
|
||||
virtual void ChkGrpThrough(int, cBgS_GrpPassChk*, int);
|
||||
virtual void CrrPos(cBgS_PolyInfo&, void*, bool, cXyz*, csXyz*, csXyz*);
|
||||
virtual void TransPos(cBgS_PolyInfo&, void*, bool, cXyz*, csXyz*, csXyz*);
|
||||
virtual void MatrixCrrPos(cBgS_PolyInfo&, void*, bool, cXyz*, csXyz*, csXyz*);
|
||||
|
||||
void SetCrrFunc(dBgW_CrrFunc func) { m_crr_func = func; }
|
||||
|
||||
/* 0xA8 */ dBgW_CrrFunc m_crr_func;
|
||||
/* 0xAC */ s16 mOldRotY;
|
||||
/* 0xAE */ s16 mRotYDelta;
|
||||
/* 0xB0 */ void* mpRideCb;
|
||||
/* 0xB4 */ void* mpPushPullCb;
|
||||
/* 0xB8 */ s16 mRoomNo;
|
||||
/* 0xBA */ u8 mFlag;
|
||||
/* 0xBB */ u8 mRoomNo2;
|
||||
};
|
||||
|
||||
#endif /* D_BG_W_H */
|
||||
@@ -3,76 +3,102 @@
|
||||
// Translation Unit: d_bg_s_movebg_actor.cpp
|
||||
//
|
||||
|
||||
#include "d_bg_s_movebg_actor.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
#include "d/d_bg_w.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "m_Do/m_Do_mtx.h"
|
||||
|
||||
/* 800A56B8-800A56FC .text __ct__16dBgS_MoveBgActorFv */
|
||||
dBgS_MoveBgActor::dBgS_MoveBgActor() {
|
||||
/* Nonmatching */
|
||||
mpBgW = NULL;
|
||||
}
|
||||
|
||||
/* 800A56FC-800A571C .text CheckCreateHeap__FP10fopAc_ac_c */
|
||||
void CheckCreateHeap(fopAc_ac_c*) {
|
||||
/* Nonmatching */
|
||||
static int CheckCreateHeap(fopAc_ac_c* i_actor) {
|
||||
return static_cast<dBgS_MoveBgActor*>(i_actor)->MoveBGCreateHeap();
|
||||
}
|
||||
|
||||
const char* dBgS_MoveBgActor::m_name;
|
||||
|
||||
int dBgS_MoveBgActor::m_dzb_id;
|
||||
|
||||
MoveBGActor_SetFunc dBgS_MoveBgActor::m_set_func;
|
||||
|
||||
/* 800A571C-800A57F4 .text MoveBGCreateHeap__16dBgS_MoveBgActorFv */
|
||||
void dBgS_MoveBgActor::MoveBGCreateHeap() {
|
||||
/* Nonmatching */
|
||||
int dBgS_MoveBgActor::MoveBGCreateHeap() {
|
||||
if (!CreateHeap()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
mpBgW = new dBgW();
|
||||
if (mpBgW != NULL) {
|
||||
cBgD_t* res = (cBgD_t*)dComIfG_getObjectRes(m_name, m_dzb_id);
|
||||
if (!mpBgW->Set(res, cBgW::MOVE_BG_e, &mBgMtx)) {
|
||||
if (m_set_func != NULL) {
|
||||
mpBgW->SetCrrFunc(m_set_func);
|
||||
}
|
||||
} else {
|
||||
goto RET; // probably fake match, clean up later
|
||||
}
|
||||
} else {
|
||||
RET:
|
||||
mpBgW = NULL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 800A57F4-800A58F4 .text MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvR13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUl */
|
||||
void dBgS_MoveBgActor::MoveBGCreate(const char*, int, void (*)(dBgW*, void*, cBgS_PolyInfo&, bool, cXyz*, csXyz*, csXyz*), unsigned long) {
|
||||
/* Nonmatching */
|
||||
/* 800A57F4-800A58F4 .text
|
||||
* MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvR13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUl */
|
||||
int dBgS_MoveBgActor::MoveBGCreate(const char* i_arcName, int i_dzb_id,
|
||||
MoveBGActor_SetFunc i_setFunc, u32 i_heapSize) {
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
mDoMtx_stack_c::scaleM(mScale.x, mScale.y, mScale.z);
|
||||
MTXCopy(mDoMtx_stack_c::get(), mBgMtx);
|
||||
|
||||
m_name = i_arcName;
|
||||
m_dzb_id = i_dzb_id;
|
||||
m_set_func = i_setFunc;
|
||||
|
||||
if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, i_heapSize)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
if (dComIfG_Bgsp()->Regist(mpBgW, this)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
// return Create() ? cPhs_COMPLEATE_e : cPhs_ERROR_e; // using enums here changes code gen
|
||||
return Create() ? 4 : 5;
|
||||
}
|
||||
|
||||
/* 800A58F4-800A5980 .text MoveBGDelete__16dBgS_MoveBgActorFv */
|
||||
void dBgS_MoveBgActor::MoveBGDelete() {
|
||||
/* Nonmatching */
|
||||
int dBgS_MoveBgActor::MoveBGDelete() {
|
||||
int ret = Delete();
|
||||
|
||||
if (mpBgW != NULL && mpBgW->ChkUsed()) {
|
||||
dComIfG_Bgsp()->Release(mpBgW);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 800A5980-800A5A3C .text MoveBGExecute__16dBgS_MoveBgActorFv */
|
||||
void dBgS_MoveBgActor::MoveBGExecute() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
int dBgS_MoveBgActor::MoveBGExecute() {
|
||||
Mtx* new_mtx = NULL;
|
||||
|
||||
/* 800A5A3C-800A5A44 .text CreateHeap__16dBgS_MoveBgActorFv */
|
||||
void dBgS_MoveBgActor::CreateHeap() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
int ret = Execute(&new_mtx);
|
||||
if (new_mtx == NULL) {
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
mDoMtx_stack_c::scaleM(mScale.x, mScale.y, mScale.z);
|
||||
MTXCopy(mDoMtx_stack_c::get(), mBgMtx);
|
||||
} else {
|
||||
MTXCopy(*new_mtx, mBgMtx);
|
||||
}
|
||||
|
||||
/* 800A5A44-800A5A4C .text Create__16dBgS_MoveBgActorFv */
|
||||
void dBgS_MoveBgActor::Create() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
mpBgW->Move();
|
||||
|
||||
/* 800A5A4C-800A5A54 .text Delete__16dBgS_MoveBgActorFv */
|
||||
void dBgS_MoveBgActor::Delete() {
|
||||
/* Nonmatching */
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 800A5A54-800A5A5C .text Execute__16dBgS_MoveBgActorFPPA3_A4_f */
|
||||
void dBgS_MoveBgActor::Execute(float(**)[3][4]) {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 800A5A5C-800A5A64 .text Draw__16dBgS_MoveBgActorFv */
|
||||
void dBgS_MoveBgActor::Draw() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 800A5A64-800A5A6C .text IsDelete__16dBgS_MoveBgActorFv */
|
||||
void dBgS_MoveBgActor::IsDelete() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 800A5A6C-800A5A74 .text ToFore__16dBgS_MoveBgActorFv */
|
||||
void dBgS_MoveBgActor::ToFore() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 800A5A74-800A5A7C .text ToBack__16dBgS_MoveBgActorFv */
|
||||
void dBgS_MoveBgActor::ToBack() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user